@alfadocs/ui-kit-debug 1.89.0 → 1.90.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_chunks/{anamnesis-summary-rows-DjM_HkCS.js → anamnesis-summary-rows-fbEQwcuW.js} +661 -653
- package/dist/_chunks/anamnesis-summary-rows-fbEQwcuW.js.map +1 -0
- package/dist/_chunks/{balance-badge-cell-BHXJS8Ga.js → balance-badge-cell-C4FYwmrZ.js} +2 -2
- package/dist/_chunks/{balance-badge-cell-BHXJS8Ga.js.map → balance-badge-cell-C4FYwmrZ.js.map} +1 -1
- package/dist/_chunks/browser-D5CD3WOj.js +565 -0
- package/dist/_chunks/browser-D5CD3WOj.js.map +1 -0
- package/dist/_chunks/{calendar-appointment-editor-dialog-BuumJbcv.js → calendar-appointment-editor-dialog-C1v2MNE4.js} +2 -2
- package/dist/_chunks/{calendar-appointment-editor-dialog-BuumJbcv.js.map → calendar-appointment-editor-dialog-C1v2MNE4.js.map} +1 -1
- package/dist/_chunks/{data-table-BlONA1rP.js → data-table-B_IcS0Ke.js} +552 -551
- package/dist/_chunks/data-table-B_IcS0Ke.js.map +1 -0
- package/dist/_chunks/{file-manager-C9iJjDZt.js → file-manager-C9YOT-Dn.js} +2 -2
- package/dist/_chunks/{file-manager-C9iJjDZt.js.map → file-manager-C9YOT-Dn.js.map} +1 -1
- package/dist/_chunks/{heatmap-C2Rg-SV_.js → heatmap-HTz3Jvzy.js} +2 -2
- package/dist/_chunks/{heatmap-C2Rg-SV_.js.map → heatmap-HTz3Jvzy.js.map} +1 -1
- package/dist/_chunks/index-CpVcVNBu.js +2326 -0
- package/dist/_chunks/index-CpVcVNBu.js.map +1 -0
- package/dist/_chunks/{index.es-B8zMZ1wV.js → index.es-Beo-XicE.js} +2 -2
- package/dist/_chunks/{index.es-B8zMZ1wV.js.map → index.es-Beo-XicE.js.map} +1 -1
- package/dist/_chunks/jspdf.es.min-BW7y6yhl.js +9674 -0
- package/dist/_chunks/jspdf.es.min-BW7y6yhl.js.map +1 -0
- package/dist/_chunks/{patient-search-BPjP2__L.js → patient-search-CCOUZABE.js} +415 -406
- package/dist/_chunks/patient-search-CCOUZABE.js.map +1 -0
- package/dist/_chunks/purify.es-Lo4sC_pz.js +1483 -0
- package/dist/_chunks/purify.es-Lo4sC_pz.js.map +1 -0
- package/dist/agent-catalog.json +1 -1
- package/dist/components/data-table/index.js +1 -1
- package/dist/components/data-table/toolbar.d.ts.map +1 -1
- package/dist/components/data-table/xlsx-export.d.ts +13 -0
- package/dist/components/data-table/xlsx-export.d.ts.map +1 -0
- package/dist/components/file-manager/index.js +1 -1
- package/dist/components/heatmap/index.js +1 -1
- package/dist/components/patient-search/index.js +1 -1
- package/dist/components/patient-search/patient-search.d.ts +8 -0
- package/dist/components/patient-search/patient-search.d.ts.map +1 -1
- package/dist/components/patient-table/index.js +1 -1
- package/dist/index.js +7 -7
- package/dist/patterns/anamnesis/anamnesis-export-download.d.ts +1 -1
- package/dist/patterns/anamnesis/anamnesis-export-download.d.ts.map +1 -1
- package/dist/patterns/anamnesis/anamnesis-export.d.ts +3 -1
- package/dist/patterns/anamnesis/anamnesis-export.d.ts.map +1 -1
- package/dist/patterns/anamnesis/index.js +1 -1
- package/dist/patterns/calendar/index.js +1 -1
- package/dist/safe-html/index.js +6 -6
- package/package.json +5 -4
- package/dist/_chunks/anamnesis-summary-rows-DjM_HkCS.js.map +0 -1
- package/dist/_chunks/data-table-BlONA1rP.js.map +0 -1
- package/dist/_chunks/exceljs.min-D2MHbJsF.js +0 -23046
- package/dist/_chunks/exceljs.min-D2MHbJsF.js.map +0 -1
- package/dist/_chunks/jspdf.es.min-DaapWjR1.js +0 -10007
- package/dist/_chunks/jspdf.es.min-DaapWjR1.js.map +0 -1
- package/dist/_chunks/patient-search-BPjP2__L.js.map +0 -1
- package/dist/_chunks/purify.es-Cm3utOpm.js +0 -561
- package/dist/_chunks/purify.es-Cm3utOpm.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jspdf.es.min-BW7y6yhl.js","sources":["../../node_modules/@babel/runtime/helpers/esm/typeof.js","../../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../../node_modules/iobuffer/lib-esm/text.js","../../node_modules/iobuffer/lib-esm/IOBuffer.js","../../node_modules/pako/dist/pako.esm.mjs","../../node_modules/fast-png/lib-esm/helpers/crc.js","../../node_modules/fast-png/lib-esm/helpers/unfilter.js","../../node_modules/fast-png/lib-esm/helpers/applyUnfilter.js","../../node_modules/fast-png/lib-esm/helpers/decodeInterlaceAdam7.js","../../node_modules/fast-png/lib-esm/helpers/decodeInterlaceNull.js","../../node_modules/fast-png/lib-esm/helpers/signature.js","../../node_modules/fast-png/lib-esm/helpers/text.js","../../node_modules/fast-png/lib-esm/internalTypes.js","../../node_modules/fast-png/lib-esm/PngDecoder.js","../../node_modules/fast-png/lib-esm/types.js","../../node_modules/fast-png/lib-esm/index.js","../../node_modules/jspdf/dist/jspdf.es.min.js"],"sourcesContent":["function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nexport { _iterableToArrayLimit as default };","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableRest as default };","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","export function decode(bytes, encoding = 'utf8') {\n const decoder = new TextDecoder(encoding);\n return decoder.decode(bytes);\n}\nconst encoder = new TextEncoder();\nexport function encode(str) {\n return encoder.encode(str);\n}\n//# sourceMappingURL=text.js.map","import { decode, encode } from './text';\nconst defaultByteLength = 1024 * 8;\nconst hostBigEndian = (() => {\n const array = new Uint8Array(4);\n const view = new Uint32Array(array.buffer);\n return !((view[0] = 1) & array[0]);\n})();\nconst typedArrays = {\n int8: globalThis.Int8Array,\n uint8: globalThis.Uint8Array,\n int16: globalThis.Int16Array,\n uint16: globalThis.Uint16Array,\n int32: globalThis.Int32Array,\n uint32: globalThis.Uint32Array,\n uint64: globalThis.BigUint64Array,\n int64: globalThis.BigInt64Array,\n float32: globalThis.Float32Array,\n float64: globalThis.Float64Array,\n};\nexport class IOBuffer {\n /**\n * Reference to the internal ArrayBuffer object.\n */\n buffer;\n /**\n * Byte length of the internal ArrayBuffer.\n */\n byteLength;\n /**\n * Byte offset of the internal ArrayBuffer.\n */\n byteOffset;\n /**\n * Byte length of the internal ArrayBuffer.\n */\n length;\n /**\n * The current offset of the buffer's pointer.\n */\n offset;\n lastWrittenByte;\n littleEndian;\n _data;\n _mark;\n _marks;\n /**\n * Create a new IOBuffer.\n * @param data - The data to construct the IOBuffer with.\n * If data is a number, it will be the new buffer's length<br>\n * If data is `undefined`, the buffer will be initialized with a default length of 8Kb<br>\n * If data is an ArrayBuffer, SharedArrayBuffer, an ArrayBufferView (Typed Array), an IOBuffer instance,\n * or a Node.js Buffer, a view will be created over the underlying ArrayBuffer.\n * @param options - An object for the options.\n * @returns A new IOBuffer instance.\n */\n constructor(data = defaultByteLength, options = {}) {\n let dataIsGiven = false;\n if (typeof data === 'number') {\n data = new ArrayBuffer(data);\n }\n else {\n dataIsGiven = true;\n this.lastWrittenByte = data.byteLength;\n }\n const offset = options.offset ? options.offset >>> 0 : 0;\n const byteLength = data.byteLength - offset;\n let dvOffset = offset;\n if (ArrayBuffer.isView(data) || data instanceof IOBuffer) {\n if (data.byteLength !== data.buffer.byteLength) {\n dvOffset = data.byteOffset + offset;\n }\n data = data.buffer;\n }\n if (dataIsGiven) {\n this.lastWrittenByte = byteLength;\n }\n else {\n this.lastWrittenByte = 0;\n }\n this.buffer = data;\n this.length = byteLength;\n this.byteLength = byteLength;\n this.byteOffset = dvOffset;\n this.offset = 0;\n this.littleEndian = true;\n this._data = new DataView(this.buffer, dvOffset, byteLength);\n this._mark = 0;\n this._marks = [];\n }\n /**\n * Checks if the memory allocated to the buffer is sufficient to store more\n * bytes after the offset.\n * @param byteLength - The needed memory in bytes.\n * @returns `true` if there is sufficient space and `false` otherwise.\n */\n available(byteLength = 1) {\n return this.offset + byteLength <= this.length;\n }\n /**\n * Check if little-endian mode is used for reading and writing multi-byte\n * values.\n * @returns `true` if little-endian mode is used, `false` otherwise.\n */\n isLittleEndian() {\n return this.littleEndian;\n }\n /**\n * Set little-endian mode for reading and writing multi-byte values.\n * @returns This.\n */\n setLittleEndian() {\n this.littleEndian = true;\n return this;\n }\n /**\n * Check if big-endian mode is used for reading and writing multi-byte values.\n * @returns `true` if big-endian mode is used, `false` otherwise.\n */\n isBigEndian() {\n return !this.littleEndian;\n }\n /**\n * Switches to big-endian mode for reading and writing multi-byte values.\n * @returns This.\n */\n setBigEndian() {\n this.littleEndian = false;\n return this;\n }\n /**\n * Move the pointer n bytes forward.\n * @param n - Number of bytes to skip.\n * @returns This.\n */\n skip(n = 1) {\n this.offset += n;\n return this;\n }\n /**\n * Move the pointer n bytes backward.\n * @param n - Number of bytes to move back.\n * @returns This.\n */\n back(n = 1) {\n this.offset -= n;\n return this;\n }\n /**\n * Move the pointer to the given offset.\n * @param offset - The offset to move to.\n * @returns This.\n */\n seek(offset) {\n this.offset = offset;\n return this;\n }\n /**\n * Store the current pointer offset.\n * @see {@link IOBuffer#reset}\n * @returns This.\n */\n mark() {\n this._mark = this.offset;\n return this;\n }\n /**\n * Move the pointer back to the last pointer offset set by mark.\n * @see {@link IOBuffer#mark}\n * @returns This.\n */\n reset() {\n this.offset = this._mark;\n return this;\n }\n /**\n * Push the current pointer offset to the mark stack.\n * @see {@link IOBuffer#popMark}\n * @returns This.\n */\n pushMark() {\n this._marks.push(this.offset);\n return this;\n }\n /**\n * Pop the last pointer offset from the mark stack, and set the current\n * pointer offset to the popped value.\n * @see {@link IOBuffer#pushMark}\n * @returns This.\n */\n popMark() {\n const offset = this._marks.pop();\n if (offset === undefined) {\n throw new Error('Mark stack empty');\n }\n this.seek(offset);\n return this;\n }\n /**\n * Move the pointer offset back to 0.\n * @returns This.\n */\n rewind() {\n this.offset = 0;\n return this;\n }\n /**\n * Make sure the buffer has sufficient memory to write a given byteLength at\n * the current pointer offset.\n * If the buffer's memory is insufficient, this method will create a new\n * buffer (a copy) with a length that is twice (byteLength + current offset).\n * @param byteLength - The needed memory in bytes.\n * @returns This.\n */\n ensureAvailable(byteLength = 1) {\n if (!this.available(byteLength)) {\n const lengthNeeded = this.offset + byteLength;\n const newLength = lengthNeeded * 2;\n const newArray = new Uint8Array(newLength);\n newArray.set(new Uint8Array(this.buffer));\n this.buffer = newArray.buffer;\n this.length = newLength;\n this.byteLength = newLength;\n this._data = new DataView(this.buffer);\n }\n return this;\n }\n /**\n * Read a byte and return false if the byte's value is 0, or true otherwise.\n * Moves pointer forward by one byte.\n * @returns The read boolean.\n */\n readBoolean() {\n return this.readUint8() !== 0;\n }\n /**\n * Read a signed 8-bit integer and move pointer forward by 1 byte.\n * @returns The read byte.\n */\n readInt8() {\n return this._data.getInt8(this.offset++);\n }\n /**\n * Read an unsigned 8-bit integer and move pointer forward by 1 byte.\n * @returns The read byte.\n */\n readUint8() {\n return this._data.getUint8(this.offset++);\n }\n /**\n * Alias for {@link IOBuffer#readUint8}.\n * @returns The read byte.\n */\n readByte() {\n return this.readUint8();\n }\n /**\n * Read `n` bytes and move pointer forward by `n` bytes.\n * @param n - Number of bytes to read.\n * @returns The read bytes.\n */\n readBytes(n = 1) {\n return this.readArray(n, 'uint8');\n }\n /**\n * Creates an array of corresponding to the type `type` and size `size`.\n * For example type `uint8` will create a `Uint8Array`.\n * @param size - size of the resulting array\n * @param type - number type of elements to read\n * @returns The read array.\n */\n readArray(size, type) {\n const bytes = typedArrays[type].BYTES_PER_ELEMENT * size;\n const offset = this.byteOffset + this.offset;\n const slice = this.buffer.slice(offset, offset + bytes);\n if (this.littleEndian === hostBigEndian &&\n type !== 'uint8' &&\n type !== 'int8') {\n const slice = new Uint8Array(this.buffer.slice(offset, offset + bytes));\n slice.reverse();\n const returnArray = new typedArrays[type](slice.buffer);\n this.offset += bytes;\n returnArray.reverse();\n return returnArray;\n }\n const returnArray = new typedArrays[type](slice);\n this.offset += bytes;\n return returnArray;\n }\n /**\n * Read a 16-bit signed integer and move pointer forward by 2 bytes.\n * @returns The read value.\n */\n readInt16() {\n const value = this._data.getInt16(this.offset, this.littleEndian);\n this.offset += 2;\n return value;\n }\n /**\n * Read a 16-bit unsigned integer and move pointer forward by 2 bytes.\n * @returns The read value.\n */\n readUint16() {\n const value = this._data.getUint16(this.offset, this.littleEndian);\n this.offset += 2;\n return value;\n }\n /**\n * Read a 32-bit signed integer and move pointer forward by 4 bytes.\n * @returns The read value.\n */\n readInt32() {\n const value = this._data.getInt32(this.offset, this.littleEndian);\n this.offset += 4;\n return value;\n }\n /**\n * Read a 32-bit unsigned integer and move pointer forward by 4 bytes.\n * @returns The read value.\n */\n readUint32() {\n const value = this._data.getUint32(this.offset, this.littleEndian);\n this.offset += 4;\n return value;\n }\n /**\n * Read a 32-bit floating number and move pointer forward by 4 bytes.\n * @returns The read value.\n */\n readFloat32() {\n const value = this._data.getFloat32(this.offset, this.littleEndian);\n this.offset += 4;\n return value;\n }\n /**\n * Read a 64-bit floating number and move pointer forward by 8 bytes.\n * @returns The read value.\n */\n readFloat64() {\n const value = this._data.getFloat64(this.offset, this.littleEndian);\n this.offset += 8;\n return value;\n }\n /**\n * Read a 64-bit signed integer number and move pointer forward by 8 bytes.\n * @returns The read value.\n */\n readBigInt64() {\n const value = this._data.getBigInt64(this.offset, this.littleEndian);\n this.offset += 8;\n return value;\n }\n /**\n * Read a 64-bit unsigned integer number and move pointer forward by 8 bytes.\n * @returns The read value.\n */\n readBigUint64() {\n const value = this._data.getBigUint64(this.offset, this.littleEndian);\n this.offset += 8;\n return value;\n }\n /**\n * Read a 1-byte ASCII character and move pointer forward by 1 byte.\n * @returns The read character.\n */\n readChar() {\n // eslint-disable-next-line unicorn/prefer-code-point\n return String.fromCharCode(this.readInt8());\n }\n /**\n * Read `n` 1-byte ASCII characters and move pointer forward by `n` bytes.\n * @param n - Number of characters to read.\n * @returns The read characters.\n */\n readChars(n = 1) {\n let result = '';\n for (let i = 0; i < n; i++) {\n result += this.readChar();\n }\n return result;\n }\n /**\n * Read the next `n` bytes, return a UTF-8 decoded string and move pointer\n * forward by `n` bytes.\n * @param n - Number of bytes to read.\n * @returns The decoded string.\n */\n readUtf8(n = 1) {\n return decode(this.readBytes(n));\n }\n /**\n * Read the next `n` bytes, return a string decoded with `encoding` and move pointer\n * forward by `n` bytes.\n * If no encoding is passed, the function is equivalent to @see {@link IOBuffer#readUtf8}\n * @param n - Number of bytes to read.\n * @param encoding - The encoding to use. Default is 'utf8'.\n * @returns The decoded string.\n */\n decodeText(n = 1, encoding = 'utf8') {\n return decode(this.readBytes(n), encoding);\n }\n /**\n * Write 0xff if the passed value is truthy, 0x00 otherwise and move pointer\n * forward by 1 byte.\n * @param value - The value to write.\n * @returns This.\n */\n writeBoolean(value) {\n this.writeUint8(value ? 0xff : 0x00);\n return this;\n }\n /**\n * Write `value` as an 8-bit signed integer and move pointer forward by 1 byte.\n * @param value - The value to write.\n * @returns This.\n */\n writeInt8(value) {\n this.ensureAvailable(1);\n this._data.setInt8(this.offset++, value);\n this._updateLastWrittenByte();\n return this;\n }\n /**\n * Write `value` as an 8-bit unsigned integer and move pointer forward by 1\n * byte.\n * @param value - The value to write.\n * @returns This.\n */\n writeUint8(value) {\n this.ensureAvailable(1);\n this._data.setUint8(this.offset++, value);\n this._updateLastWrittenByte();\n return this;\n }\n /**\n * An alias for {@link IOBuffer#writeUint8}.\n * @param value - The value to write.\n * @returns This.\n */\n writeByte(value) {\n return this.writeUint8(value);\n }\n /**\n * Write all elements of `bytes` as uint8 values and move pointer forward by\n * `bytes.length` bytes.\n * @param bytes - The array of bytes to write.\n * @returns This.\n */\n writeBytes(bytes) {\n this.ensureAvailable(bytes.length);\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < bytes.length; i++) {\n this._data.setUint8(this.offset++, bytes[i]);\n }\n this._updateLastWrittenByte();\n return this;\n }\n /**\n * Write `value` as a 16-bit signed integer and move pointer forward by 2\n * bytes.\n * @param value - The value to write.\n * @returns This.\n */\n writeInt16(value) {\n this.ensureAvailable(2);\n this._data.setInt16(this.offset, value, this.littleEndian);\n this.offset += 2;\n this._updateLastWrittenByte();\n return this;\n }\n /**\n * Write `value` as a 16-bit unsigned integer and move pointer forward by 2\n * bytes.\n * @param value - The value to write.\n * @returns This.\n */\n writeUint16(value) {\n this.ensureAvailable(2);\n this._data.setUint16(this.offset, value, this.littleEndian);\n this.offset += 2;\n this._updateLastWrittenByte();\n return this;\n }\n /**\n * Write `value` as a 32-bit signed integer and move pointer forward by 4\n * bytes.\n * @param value - The value to write.\n * @returns This.\n */\n writeInt32(value) {\n this.ensureAvailable(4);\n this._data.setInt32(this.offset, value, this.littleEndian);\n this.offset += 4;\n this._updateLastWrittenByte();\n return this;\n }\n /**\n * Write `value` as a 32-bit unsigned integer and move pointer forward by 4\n * bytes.\n * @param value - The value to write.\n * @returns This.\n */\n writeUint32(value) {\n this.ensureAvailable(4);\n this._data.setUint32(this.offset, value, this.littleEndian);\n this.offset += 4;\n this._updateLastWrittenByte();\n return this;\n }\n /**\n * Write `value` as a 32-bit floating number and move pointer forward by 4\n * bytes.\n * @param value - The value to write.\n * @returns This.\n */\n writeFloat32(value) {\n this.ensureAvailable(4);\n this._data.setFloat32(this.offset, value, this.littleEndian);\n this.offset += 4;\n this._updateLastWrittenByte();\n return this;\n }\n /**\n * Write `value` as a 64-bit floating number and move pointer forward by 8\n * bytes.\n * @param value - The value to write.\n * @returns This.\n */\n writeFloat64(value) {\n this.ensureAvailable(8);\n this._data.setFloat64(this.offset, value, this.littleEndian);\n this.offset += 8;\n this._updateLastWrittenByte();\n return this;\n }\n /**\n * Write `value` as a 64-bit signed bigint and move pointer forward by 8\n * bytes.\n * @param value - The value to write.\n * @returns This.\n */\n writeBigInt64(value) {\n this.ensureAvailable(8);\n this._data.setBigInt64(this.offset, value, this.littleEndian);\n this.offset += 8;\n this._updateLastWrittenByte();\n return this;\n }\n /**\n * Write `value` as a 64-bit unsigned bigint and move pointer forward by 8\n * bytes.\n * @param value - The value to write.\n * @returns This.\n */\n writeBigUint64(value) {\n this.ensureAvailable(8);\n this._data.setBigUint64(this.offset, value, this.littleEndian);\n this.offset += 8;\n this._updateLastWrittenByte();\n return this;\n }\n /**\n * Write the charCode of `str`'s first character as an 8-bit unsigned integer\n * and move pointer forward by 1 byte.\n * @param str - The character to write.\n * @returns This.\n */\n writeChar(str) {\n // eslint-disable-next-line unicorn/prefer-code-point\n return this.writeUint8(str.charCodeAt(0));\n }\n /**\n * Write the charCodes of all `str`'s characters as 8-bit unsigned integers\n * and move pointer forward by `str.length` bytes.\n * @param str - The characters to write.\n * @returns This.\n */\n writeChars(str) {\n for (let i = 0; i < str.length; i++) {\n // eslint-disable-next-line unicorn/prefer-code-point\n this.writeUint8(str.charCodeAt(i));\n }\n return this;\n }\n /**\n * UTF-8 encode and write `str` to the current pointer offset and move pointer\n * forward according to the encoded length.\n * @param str - The string to write.\n * @returns This.\n */\n writeUtf8(str) {\n return this.writeBytes(encode(str));\n }\n /**\n * Export a Uint8Array view of the internal buffer.\n * The view starts at the byte offset and its length\n * is calculated to stop at the last written byte or the original length.\n * @returns A new Uint8Array view.\n */\n toArray() {\n return new Uint8Array(this.buffer, this.byteOffset, this.lastWrittenByte);\n }\n /**\n * Get the total number of bytes written so far, regardless of the current offset.\n * @returns - Total number of bytes.\n */\n getWrittenByteLength() {\n return this.lastWrittenByte - this.byteOffset;\n }\n /**\n * Update the last written byte offset\n * @private\n */\n _updateLastWrittenByte() {\n if (this.offset > this.lastWrittenByte) {\n this.lastWrittenByte = this.offset;\n }\n }\n}\n//# sourceMappingURL=IOBuffer.js.map","\n/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n/* eslint-disable space-unary-ops */\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n//const Z_FILTERED = 1;\n//const Z_HUFFMAN_ONLY = 2;\n//const Z_RLE = 3;\nconst Z_FIXED$1 = 4;\n//const Z_DEFAULT_STRATEGY = 0;\n\n/* Possible values of the data_type field (though see inflate()) */\nconst Z_BINARY = 0;\nconst Z_TEXT = 1;\n//const Z_ASCII = 1; // = Z_TEXT\nconst Z_UNKNOWN$1 = 2;\n\n/*============================================================================*/\n\n\nfunction zero$1(buf) { let len = buf.length; while (--len >= 0) { buf[len] = 0; } }\n\n// From zutil.h\n\nconst STORED_BLOCK = 0;\nconst STATIC_TREES = 1;\nconst DYN_TREES = 2;\n/* The three kinds of block type */\n\nconst MIN_MATCH$1 = 3;\nconst MAX_MATCH$1 = 258;\n/* The minimum and maximum match lengths */\n\n// From deflate.h\n/* ===========================================================================\n * Internal compression state.\n */\n\nconst LENGTH_CODES$1 = 29;\n/* number of length codes, not counting the special END_BLOCK code */\n\nconst LITERALS$1 = 256;\n/* number of literal bytes 0..255 */\n\nconst L_CODES$1 = LITERALS$1 + 1 + LENGTH_CODES$1;\n/* number of Literal or Length codes, including the END_BLOCK code */\n\nconst D_CODES$1 = 30;\n/* number of distance codes */\n\nconst BL_CODES$1 = 19;\n/* number of codes used to transfer the bit lengths */\n\nconst HEAP_SIZE$1 = 2 * L_CODES$1 + 1;\n/* maximum heap size */\n\nconst MAX_BITS$1 = 15;\n/* All codes must not exceed MAX_BITS bits */\n\nconst Buf_size = 16;\n/* size of bit buffer in bi_buf */\n\n\n/* ===========================================================================\n * Constants\n */\n\nconst MAX_BL_BITS = 7;\n/* Bit length codes must not exceed MAX_BL_BITS bits */\n\nconst END_BLOCK = 256;\n/* end of block literal code */\n\nconst REP_3_6 = 16;\n/* repeat previous bit length 3-6 times (2 bits of repeat count) */\n\nconst REPZ_3_10 = 17;\n/* repeat a zero length 3-10 times (3 bits of repeat count) */\n\nconst REPZ_11_138 = 18;\n/* repeat a zero length 11-138 times (7 bits of repeat count) */\n\n/* eslint-disable comma-spacing,array-bracket-spacing */\nconst extra_lbits = /* extra bits for each length code */\n new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]);\n\nconst extra_dbits = /* extra bits for each distance code */\n new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]);\n\nconst extra_blbits = /* extra bits for each bit length code */\n new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]);\n\nconst bl_order =\n new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);\n/* eslint-enable comma-spacing,array-bracket-spacing */\n\n/* The lengths of the bit length codes are sent in order of decreasing\n * probability, to avoid transmitting the lengths for unused bit length codes.\n */\n\n/* ===========================================================================\n * Local data. These are initialized only once.\n */\n\n// We pre-fill arrays with 0 to avoid uninitialized gaps\n\nconst DIST_CODE_LEN = 512; /* see definition of array dist_code below */\n\n// !!!! Use flat array instead of structure, Freq = i*2, Len = i*2+1\nconst static_ltree = new Array((L_CODES$1 + 2) * 2);\nzero$1(static_ltree);\n/* The static literal tree. Since the bit lengths are imposed, there is no\n * need for the L_CODES extra codes used during heap construction. However\n * The codes 286 and 287 are needed to build a canonical tree (see _tr_init\n * below).\n */\n\nconst static_dtree = new Array(D_CODES$1 * 2);\nzero$1(static_dtree);\n/* The static distance tree. (Actually a trivial tree since all codes use\n * 5 bits.)\n */\n\nconst _dist_code = new Array(DIST_CODE_LEN);\nzero$1(_dist_code);\n/* Distance codes. The first 256 values correspond to the distances\n * 3 .. 258, the last 256 values correspond to the top 8 bits of\n * the 15 bit distances.\n */\n\nconst _length_code = new Array(MAX_MATCH$1 - MIN_MATCH$1 + 1);\nzero$1(_length_code);\n/* length code for each normalized match length (0 == MIN_MATCH) */\n\nconst base_length = new Array(LENGTH_CODES$1);\nzero$1(base_length);\n/* First normalized length for each code (0 = MIN_MATCH) */\n\nconst base_dist = new Array(D_CODES$1);\nzero$1(base_dist);\n/* First normalized distance for each code (0 = distance of 1) */\n\n\nfunction StaticTreeDesc(static_tree, extra_bits, extra_base, elems, max_length) {\n\n this.static_tree = static_tree; /* static tree or NULL */\n this.extra_bits = extra_bits; /* extra bits for each code or NULL */\n this.extra_base = extra_base; /* base index for extra_bits */\n this.elems = elems; /* max number of elements in the tree */\n this.max_length = max_length; /* max bit length for the codes */\n\n // show if `static_tree` has data or dummy - needed for monomorphic objects\n this.has_stree = static_tree && static_tree.length;\n}\n\n\nlet static_l_desc;\nlet static_d_desc;\nlet static_bl_desc;\n\n\nfunction TreeDesc(dyn_tree, stat_desc) {\n this.dyn_tree = dyn_tree; /* the dynamic tree */\n this.max_code = 0; /* largest code with non zero frequency */\n this.stat_desc = stat_desc; /* the corresponding static tree */\n}\n\n\n\nconst d_code = (dist) => {\n\n return dist < 256 ? _dist_code[dist] : _dist_code[256 + (dist >>> 7)];\n};\n\n\n/* ===========================================================================\n * Output a short LSB first on the stream.\n * IN assertion: there is enough room in pendingBuf.\n */\nconst put_short = (s, w) => {\n// put_byte(s, (uch)((w) & 0xff));\n// put_byte(s, (uch)((ush)(w) >> 8));\n s.pending_buf[s.pending++] = (w) & 0xff;\n s.pending_buf[s.pending++] = (w >>> 8) & 0xff;\n};\n\n\n/* ===========================================================================\n * Send a value on a given number of bits.\n * IN assertion: length <= 16 and value fits in length bits.\n */\nconst send_bits = (s, value, length) => {\n\n if (s.bi_valid > (Buf_size - length)) {\n s.bi_buf |= (value << s.bi_valid) & 0xffff;\n put_short(s, s.bi_buf);\n s.bi_buf = value >> (Buf_size - s.bi_valid);\n s.bi_valid += length - Buf_size;\n } else {\n s.bi_buf |= (value << s.bi_valid) & 0xffff;\n s.bi_valid += length;\n }\n};\n\n\nconst send_code = (s, c, tree) => {\n\n send_bits(s, tree[c * 2]/*.Code*/, tree[c * 2 + 1]/*.Len*/);\n};\n\n\n/* ===========================================================================\n * Reverse the first len bits of a code, using straightforward code (a faster\n * method would use a table)\n * IN assertion: 1 <= len <= 15\n */\nconst bi_reverse = (code, len) => {\n\n let res = 0;\n do {\n res |= code & 1;\n code >>>= 1;\n res <<= 1;\n } while (--len > 0);\n return res >>> 1;\n};\n\n\n/* ===========================================================================\n * Flush the bit buffer, keeping at most 7 bits in it.\n */\nconst bi_flush = (s) => {\n\n if (s.bi_valid === 16) {\n put_short(s, s.bi_buf);\n s.bi_buf = 0;\n s.bi_valid = 0;\n\n } else if (s.bi_valid >= 8) {\n s.pending_buf[s.pending++] = s.bi_buf & 0xff;\n s.bi_buf >>= 8;\n s.bi_valid -= 8;\n }\n};\n\n\n/* ===========================================================================\n * Compute the optimal bit lengths for a tree and update the total bit length\n * for the current block.\n * IN assertion: the fields freq and dad are set, heap[heap_max] and\n * above are the tree nodes sorted by increasing frequency.\n * OUT assertions: the field len is set to the optimal bit length, the\n * array bl_count contains the frequencies for each bit length.\n * The length opt_len is updated; static_len is also updated if stree is\n * not null.\n */\nconst gen_bitlen = (s, desc) => {\n// deflate_state *s;\n// tree_desc *desc; /* the tree descriptor */\n\n const tree = desc.dyn_tree;\n const max_code = desc.max_code;\n const stree = desc.stat_desc.static_tree;\n const has_stree = desc.stat_desc.has_stree;\n const extra = desc.stat_desc.extra_bits;\n const base = desc.stat_desc.extra_base;\n const max_length = desc.stat_desc.max_length;\n let h; /* heap index */\n let n, m; /* iterate over the tree elements */\n let bits; /* bit length */\n let xbits; /* extra bits */\n let f; /* frequency */\n let overflow = 0; /* number of elements with bit length too large */\n\n for (bits = 0; bits <= MAX_BITS$1; bits++) {\n s.bl_count[bits] = 0;\n }\n\n /* In a first pass, compute the optimal bit lengths (which may\n * overflow in the case of the bit length tree).\n */\n tree[s.heap[s.heap_max] * 2 + 1]/*.Len*/ = 0; /* root of the heap */\n\n for (h = s.heap_max + 1; h < HEAP_SIZE$1; h++) {\n n = s.heap[h];\n bits = tree[tree[n * 2 + 1]/*.Dad*/ * 2 + 1]/*.Len*/ + 1;\n if (bits > max_length) {\n bits = max_length;\n overflow++;\n }\n tree[n * 2 + 1]/*.Len*/ = bits;\n /* We overwrite tree[n].Dad which is no longer needed */\n\n if (n > max_code) { continue; } /* not a leaf node */\n\n s.bl_count[bits]++;\n xbits = 0;\n if (n >= base) {\n xbits = extra[n - base];\n }\n f = tree[n * 2]/*.Freq*/;\n s.opt_len += f * (bits + xbits);\n if (has_stree) {\n s.static_len += f * (stree[n * 2 + 1]/*.Len*/ + xbits);\n }\n }\n if (overflow === 0) { return; }\n\n // Tracev((stderr,\"\\nbit length overflow\\n\"));\n /* This happens for example on obj2 and pic of the Calgary corpus */\n\n /* Find the first bit length which could increase: */\n do {\n bits = max_length - 1;\n while (s.bl_count[bits] === 0) { bits--; }\n s.bl_count[bits]--; /* move one leaf down the tree */\n s.bl_count[bits + 1] += 2; /* move one overflow item as its brother */\n s.bl_count[max_length]--;\n /* The brother of the overflow item also moves one step up,\n * but this does not affect bl_count[max_length]\n */\n overflow -= 2;\n } while (overflow > 0);\n\n /* Now recompute all bit lengths, scanning in increasing frequency.\n * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all\n * lengths instead of fixing only the wrong ones. This idea is taken\n * from 'ar' written by Haruhiko Okumura.)\n */\n for (bits = max_length; bits !== 0; bits--) {\n n = s.bl_count[bits];\n while (n !== 0) {\n m = s.heap[--h];\n if (m > max_code) { continue; }\n if (tree[m * 2 + 1]/*.Len*/ !== bits) {\n // Tracev((stderr,\"code %d bits %d->%d\\n\", m, tree[m].Len, bits));\n s.opt_len += (bits - tree[m * 2 + 1]/*.Len*/) * tree[m * 2]/*.Freq*/;\n tree[m * 2 + 1]/*.Len*/ = bits;\n }\n n--;\n }\n }\n};\n\n\n/* ===========================================================================\n * Generate the codes for a given tree and bit counts (which need not be\n * optimal).\n * IN assertion: the array bl_count contains the bit length statistics for\n * the given tree and the field len is set for all tree elements.\n * OUT assertion: the field code is set for all tree elements of non\n * zero code length.\n */\nconst gen_codes = (tree, max_code, bl_count) => {\n// ct_data *tree; /* the tree to decorate */\n// int max_code; /* largest code with non zero frequency */\n// ushf *bl_count; /* number of codes at each bit length */\n\n const next_code = new Array(MAX_BITS$1 + 1); /* next code value for each bit length */\n let code = 0; /* running code value */\n let bits; /* bit index */\n let n; /* code index */\n\n /* The distribution counts are first used to generate the code values\n * without bit reversal.\n */\n for (bits = 1; bits <= MAX_BITS$1; bits++) {\n code = (code + bl_count[bits - 1]) << 1;\n next_code[bits] = code;\n }\n /* Check that the bit counts in bl_count are consistent. The last code\n * must be all ones.\n */\n //Assert (code + bl_count[MAX_BITS]-1 == (1<<MAX_BITS)-1,\n // \"inconsistent bit counts\");\n //Tracev((stderr,\"\\ngen_codes: max_code %d \", max_code));\n\n for (n = 0; n <= max_code; n++) {\n let len = tree[n * 2 + 1]/*.Len*/;\n if (len === 0) { continue; }\n /* Now reverse the bits */\n tree[n * 2]/*.Code*/ = bi_reverse(next_code[len]++, len);\n\n //Tracecv(tree != static_ltree, (stderr,\"\\nn %3d %c l %2d c %4x (%x) \",\n // n, (isgraph(n) ? n : ' '), len, tree[n].Code, next_code[len]-1));\n }\n};\n\n\n/* ===========================================================================\n * Initialize the various 'constant' tables.\n */\nconst tr_static_init = () => {\n\n let n; /* iterates over tree elements */\n let bits; /* bit counter */\n let length; /* length value */\n let code; /* code value */\n let dist; /* distance index */\n const bl_count = new Array(MAX_BITS$1 + 1);\n /* number of codes at each bit length for an optimal tree */\n\n // do check in _tr_init()\n //if (static_init_done) return;\n\n /* For some embedded targets, global variables are not initialized: */\n/*#ifdef NO_INIT_GLOBAL_POINTERS\n static_l_desc.static_tree = static_ltree;\n static_l_desc.extra_bits = extra_lbits;\n static_d_desc.static_tree = static_dtree;\n static_d_desc.extra_bits = extra_dbits;\n static_bl_desc.extra_bits = extra_blbits;\n#endif*/\n\n /* Initialize the mapping length (0..255) -> length code (0..28) */\n length = 0;\n for (code = 0; code < LENGTH_CODES$1 - 1; code++) {\n base_length[code] = length;\n for (n = 0; n < (1 << extra_lbits[code]); n++) {\n _length_code[length++] = code;\n }\n }\n //Assert (length == 256, \"tr_static_init: length != 256\");\n /* Note that the length 255 (match length 258) can be represented\n * in two different ways: code 284 + 5 bits or code 285, so we\n * overwrite length_code[255] to use the best encoding:\n */\n _length_code[length - 1] = code;\n\n /* Initialize the mapping dist (0..32K) -> dist code (0..29) */\n dist = 0;\n for (code = 0; code < 16; code++) {\n base_dist[code] = dist;\n for (n = 0; n < (1 << extra_dbits[code]); n++) {\n _dist_code[dist++] = code;\n }\n }\n //Assert (dist == 256, \"tr_static_init: dist != 256\");\n dist >>= 7; /* from now on, all distances are divided by 128 */\n for (; code < D_CODES$1; code++) {\n base_dist[code] = dist << 7;\n for (n = 0; n < (1 << (extra_dbits[code] - 7)); n++) {\n _dist_code[256 + dist++] = code;\n }\n }\n //Assert (dist == 256, \"tr_static_init: 256+dist != 512\");\n\n /* Construct the codes of the static literal tree */\n for (bits = 0; bits <= MAX_BITS$1; bits++) {\n bl_count[bits] = 0;\n }\n\n n = 0;\n while (n <= 143) {\n static_ltree[n * 2 + 1]/*.Len*/ = 8;\n n++;\n bl_count[8]++;\n }\n while (n <= 255) {\n static_ltree[n * 2 + 1]/*.Len*/ = 9;\n n++;\n bl_count[9]++;\n }\n while (n <= 279) {\n static_ltree[n * 2 + 1]/*.Len*/ = 7;\n n++;\n bl_count[7]++;\n }\n while (n <= 287) {\n static_ltree[n * 2 + 1]/*.Len*/ = 8;\n n++;\n bl_count[8]++;\n }\n /* Codes 286 and 287 do not exist, but we must include them in the\n * tree construction to get a canonical Huffman tree (longest code\n * all ones)\n */\n gen_codes(static_ltree, L_CODES$1 + 1, bl_count);\n\n /* The static distance tree is trivial: */\n for (n = 0; n < D_CODES$1; n++) {\n static_dtree[n * 2 + 1]/*.Len*/ = 5;\n static_dtree[n * 2]/*.Code*/ = bi_reverse(n, 5);\n }\n\n // Now data ready and we can init static trees\n static_l_desc = new StaticTreeDesc(static_ltree, extra_lbits, LITERALS$1 + 1, L_CODES$1, MAX_BITS$1);\n static_d_desc = new StaticTreeDesc(static_dtree, extra_dbits, 0, D_CODES$1, MAX_BITS$1);\n static_bl_desc = new StaticTreeDesc(new Array(0), extra_blbits, 0, BL_CODES$1, MAX_BL_BITS);\n\n //static_init_done = true;\n};\n\n\n/* ===========================================================================\n * Initialize a new block.\n */\nconst init_block = (s) => {\n\n let n; /* iterates over tree elements */\n\n /* Initialize the trees. */\n for (n = 0; n < L_CODES$1; n++) { s.dyn_ltree[n * 2]/*.Freq*/ = 0; }\n for (n = 0; n < D_CODES$1; n++) { s.dyn_dtree[n * 2]/*.Freq*/ = 0; }\n for (n = 0; n < BL_CODES$1; n++) { s.bl_tree[n * 2]/*.Freq*/ = 0; }\n\n s.dyn_ltree[END_BLOCK * 2]/*.Freq*/ = 1;\n s.opt_len = s.static_len = 0;\n s.sym_next = s.matches = 0;\n};\n\n\n/* ===========================================================================\n * Flush the bit buffer and align the output on a byte boundary\n */\nconst bi_windup = (s) =>\n{\n if (s.bi_valid > 8) {\n put_short(s, s.bi_buf);\n } else if (s.bi_valid > 0) {\n //put_byte(s, (Byte)s->bi_buf);\n s.pending_buf[s.pending++] = s.bi_buf;\n }\n s.bi_buf = 0;\n s.bi_valid = 0;\n};\n\n/* ===========================================================================\n * Compares to subtrees, using the tree depth as tie breaker when\n * the subtrees have equal frequency. This minimizes the worst case length.\n */\nconst smaller = (tree, n, m, depth) => {\n\n const _n2 = n * 2;\n const _m2 = m * 2;\n return (tree[_n2]/*.Freq*/ < tree[_m2]/*.Freq*/ ||\n (tree[_n2]/*.Freq*/ === tree[_m2]/*.Freq*/ && depth[n] <= depth[m]));\n};\n\n/* ===========================================================================\n * Restore the heap property by moving down the tree starting at node k,\n * exchanging a node with the smallest of its two sons if necessary, stopping\n * when the heap property is re-established (each father smaller than its\n * two sons).\n */\nconst pqdownheap = (s, tree, k) => {\n// deflate_state *s;\n// ct_data *tree; /* the tree to restore */\n// int k; /* node to move down */\n\n const v = s.heap[k];\n let j = k << 1; /* left son of k */\n while (j <= s.heap_len) {\n /* Set j to the smallest of the two sons: */\n if (j < s.heap_len &&\n smaller(tree, s.heap[j + 1], s.heap[j], s.depth)) {\n j++;\n }\n /* Exit if v is smaller than both sons */\n if (smaller(tree, v, s.heap[j], s.depth)) { break; }\n\n /* Exchange v with the smallest son */\n s.heap[k] = s.heap[j];\n k = j;\n\n /* And continue down the tree, setting j to the left son of k */\n j <<= 1;\n }\n s.heap[k] = v;\n};\n\n\n// inlined manually\n// const SMALLEST = 1;\n\n/* ===========================================================================\n * Send the block data compressed using the given Huffman trees\n */\nconst compress_block = (s, ltree, dtree) => {\n// deflate_state *s;\n// const ct_data *ltree; /* literal tree */\n// const ct_data *dtree; /* distance tree */\n\n let dist; /* distance of matched string */\n let lc; /* match length or unmatched char (if dist == 0) */\n let sx = 0; /* running index in sym_buf */\n let code; /* the code to send */\n let extra; /* number of extra bits to send */\n\n if (s.sym_next !== 0) {\n do {\n dist = s.pending_buf[s.sym_buf + sx++] & 0xff;\n dist += (s.pending_buf[s.sym_buf + sx++] & 0xff) << 8;\n lc = s.pending_buf[s.sym_buf + sx++];\n if (dist === 0) {\n send_code(s, lc, ltree); /* send a literal byte */\n //Tracecv(isgraph(lc), (stderr,\" '%c' \", lc));\n } else {\n /* Here, lc is the match length - MIN_MATCH */\n code = _length_code[lc];\n send_code(s, code + LITERALS$1 + 1, ltree); /* send the length code */\n extra = extra_lbits[code];\n if (extra !== 0) {\n lc -= base_length[code];\n send_bits(s, lc, extra); /* send the extra length bits */\n }\n dist--; /* dist is now the match distance - 1 */\n code = d_code(dist);\n //Assert (code < D_CODES, \"bad d_code\");\n\n send_code(s, code, dtree); /* send the distance code */\n extra = extra_dbits[code];\n if (extra !== 0) {\n dist -= base_dist[code];\n send_bits(s, dist, extra); /* send the extra distance bits */\n }\n } /* literal or match pair ? */\n\n /* Check that the overlay between pending_buf and sym_buf is ok: */\n //Assert(s->pending < s->lit_bufsize + sx, \"pendingBuf overflow\");\n\n } while (sx < s.sym_next);\n }\n\n send_code(s, END_BLOCK, ltree);\n};\n\n\n/* ===========================================================================\n * Construct one Huffman tree and assigns the code bit strings and lengths.\n * Update the total bit length for the current block.\n * IN assertion: the field freq is set for all tree elements.\n * OUT assertions: the fields len and code are set to the optimal bit length\n * and corresponding code. The length opt_len is updated; static_len is\n * also updated if stree is not null. The field max_code is set.\n */\nconst build_tree = (s, desc) => {\n// deflate_state *s;\n// tree_desc *desc; /* the tree descriptor */\n\n const tree = desc.dyn_tree;\n const stree = desc.stat_desc.static_tree;\n const has_stree = desc.stat_desc.has_stree;\n const elems = desc.stat_desc.elems;\n let n, m; /* iterate over heap elements */\n let max_code = -1; /* largest code with non zero frequency */\n let node; /* new node being created */\n\n /* Construct the initial heap, with least frequent element in\n * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1].\n * heap[0] is not used.\n */\n s.heap_len = 0;\n s.heap_max = HEAP_SIZE$1;\n\n for (n = 0; n < elems; n++) {\n if (tree[n * 2]/*.Freq*/ !== 0) {\n s.heap[++s.heap_len] = max_code = n;\n s.depth[n] = 0;\n\n } else {\n tree[n * 2 + 1]/*.Len*/ = 0;\n }\n }\n\n /* The pkzip format requires that at least one distance code exists,\n * and that at least one bit should be sent even if there is only one\n * possible code. So to avoid special checks later on we force at least\n * two codes of non zero frequency.\n */\n while (s.heap_len < 2) {\n node = s.heap[++s.heap_len] = (max_code < 2 ? ++max_code : 0);\n tree[node * 2]/*.Freq*/ = 1;\n s.depth[node] = 0;\n s.opt_len--;\n\n if (has_stree) {\n s.static_len -= stree[node * 2 + 1]/*.Len*/;\n }\n /* node is 0 or 1 so it does not have extra bits */\n }\n desc.max_code = max_code;\n\n /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree,\n * establish sub-heaps of increasing lengths:\n */\n for (n = (s.heap_len >> 1/*int /2*/); n >= 1; n--) { pqdownheap(s, tree, n); }\n\n /* Construct the Huffman tree by repeatedly combining the least two\n * frequent nodes.\n */\n node = elems; /* next internal node of the tree */\n do {\n //pqremove(s, tree, n); /* n = node of least frequency */\n /*** pqremove ***/\n n = s.heap[1/*SMALLEST*/];\n s.heap[1/*SMALLEST*/] = s.heap[s.heap_len--];\n pqdownheap(s, tree, 1/*SMALLEST*/);\n /***/\n\n m = s.heap[1/*SMALLEST*/]; /* m = node of next least frequency */\n\n s.heap[--s.heap_max] = n; /* keep the nodes sorted by frequency */\n s.heap[--s.heap_max] = m;\n\n /* Create a new node father of n and m */\n tree[node * 2]/*.Freq*/ = tree[n * 2]/*.Freq*/ + tree[m * 2]/*.Freq*/;\n s.depth[node] = (s.depth[n] >= s.depth[m] ? s.depth[n] : s.depth[m]) + 1;\n tree[n * 2 + 1]/*.Dad*/ = tree[m * 2 + 1]/*.Dad*/ = node;\n\n /* and insert the new node in the heap */\n s.heap[1/*SMALLEST*/] = node++;\n pqdownheap(s, tree, 1/*SMALLEST*/);\n\n } while (s.heap_len >= 2);\n\n s.heap[--s.heap_max] = s.heap[1/*SMALLEST*/];\n\n /* At this point, the fields freq and dad are set. We can now\n * generate the bit lengths.\n */\n gen_bitlen(s, desc);\n\n /* The field len is now set, we can generate the bit codes */\n gen_codes(tree, max_code, s.bl_count);\n};\n\n\n/* ===========================================================================\n * Scan a literal or distance tree to determine the frequencies of the codes\n * in the bit length tree.\n */\nconst scan_tree = (s, tree, max_code) => {\n// deflate_state *s;\n// ct_data *tree; /* the tree to be scanned */\n// int max_code; /* and its largest code of non zero frequency */\n\n let n; /* iterates over all tree elements */\n let prevlen = -1; /* last emitted length */\n let curlen; /* length of current code */\n\n let nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */\n\n let count = 0; /* repeat count of the current code */\n let max_count = 7; /* max repeat count */\n let min_count = 4; /* min repeat count */\n\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n }\n tree[(max_code + 1) * 2 + 1]/*.Len*/ = 0xffff; /* guard */\n\n for (n = 0; n <= max_code; n++) {\n curlen = nextlen;\n nextlen = tree[(n + 1) * 2 + 1]/*.Len*/;\n\n if (++count < max_count && curlen === nextlen) {\n continue;\n\n } else if (count < min_count) {\n s.bl_tree[curlen * 2]/*.Freq*/ += count;\n\n } else if (curlen !== 0) {\n\n if (curlen !== prevlen) { s.bl_tree[curlen * 2]/*.Freq*/++; }\n s.bl_tree[REP_3_6 * 2]/*.Freq*/++;\n\n } else if (count <= 10) {\n s.bl_tree[REPZ_3_10 * 2]/*.Freq*/++;\n\n } else {\n s.bl_tree[REPZ_11_138 * 2]/*.Freq*/++;\n }\n\n count = 0;\n prevlen = curlen;\n\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n\n } else if (curlen === nextlen) {\n max_count = 6;\n min_count = 3;\n\n } else {\n max_count = 7;\n min_count = 4;\n }\n }\n};\n\n\n/* ===========================================================================\n * Send a literal or distance tree in compressed form, using the codes in\n * bl_tree.\n */\nconst send_tree = (s, tree, max_code) => {\n// deflate_state *s;\n// ct_data *tree; /* the tree to be scanned */\n// int max_code; /* and its largest code of non zero frequency */\n\n let n; /* iterates over all tree elements */\n let prevlen = -1; /* last emitted length */\n let curlen; /* length of current code */\n\n let nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */\n\n let count = 0; /* repeat count of the current code */\n let max_count = 7; /* max repeat count */\n let min_count = 4; /* min repeat count */\n\n /* tree[max_code+1].Len = -1; */ /* guard already set */\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n }\n\n for (n = 0; n <= max_code; n++) {\n curlen = nextlen;\n nextlen = tree[(n + 1) * 2 + 1]/*.Len*/;\n\n if (++count < max_count && curlen === nextlen) {\n continue;\n\n } else if (count < min_count) {\n do { send_code(s, curlen, s.bl_tree); } while (--count !== 0);\n\n } else if (curlen !== 0) {\n if (curlen !== prevlen) {\n send_code(s, curlen, s.bl_tree);\n count--;\n }\n //Assert(count >= 3 && count <= 6, \" 3_6?\");\n send_code(s, REP_3_6, s.bl_tree);\n send_bits(s, count - 3, 2);\n\n } else if (count <= 10) {\n send_code(s, REPZ_3_10, s.bl_tree);\n send_bits(s, count - 3, 3);\n\n } else {\n send_code(s, REPZ_11_138, s.bl_tree);\n send_bits(s, count - 11, 7);\n }\n\n count = 0;\n prevlen = curlen;\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n\n } else if (curlen === nextlen) {\n max_count = 6;\n min_count = 3;\n\n } else {\n max_count = 7;\n min_count = 4;\n }\n }\n};\n\n\n/* ===========================================================================\n * Construct the Huffman tree for the bit lengths and return the index in\n * bl_order of the last bit length code to send.\n */\nconst build_bl_tree = (s) => {\n\n let max_blindex; /* index of last bit length code of non zero freq */\n\n /* Determine the bit length frequencies for literal and distance trees */\n scan_tree(s, s.dyn_ltree, s.l_desc.max_code);\n scan_tree(s, s.dyn_dtree, s.d_desc.max_code);\n\n /* Build the bit length tree: */\n build_tree(s, s.bl_desc);\n /* opt_len now includes the length of the tree representations, except\n * the lengths of the bit lengths codes and the 5+5+4 bits for the counts.\n */\n\n /* Determine the number of bit length codes to send. The pkzip format\n * requires that at least 4 bit length codes be sent. (appnote.txt says\n * 3 but the actual value used is 4.)\n */\n for (max_blindex = BL_CODES$1 - 1; max_blindex >= 3; max_blindex--) {\n if (s.bl_tree[bl_order[max_blindex] * 2 + 1]/*.Len*/ !== 0) {\n break;\n }\n }\n /* Update opt_len to include the bit length tree and counts */\n s.opt_len += 3 * (max_blindex + 1) + 5 + 5 + 4;\n //Tracev((stderr, \"\\ndyn trees: dyn %ld, stat %ld\",\n // s->opt_len, s->static_len));\n\n return max_blindex;\n};\n\n\n/* ===========================================================================\n * Send the header for a block using dynamic Huffman trees: the counts, the\n * lengths of the bit length codes, the literal tree and the distance tree.\n * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.\n */\nconst send_all_trees = (s, lcodes, dcodes, blcodes) => {\n// deflate_state *s;\n// int lcodes, dcodes, blcodes; /* number of codes for each tree */\n\n let rank; /* index in bl_order */\n\n //Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, \"not enough codes\");\n //Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES,\n // \"too many codes\");\n //Tracev((stderr, \"\\nbl counts: \"));\n send_bits(s, lcodes - 257, 5); /* not +255 as stated in appnote.txt */\n send_bits(s, dcodes - 1, 5);\n send_bits(s, blcodes - 4, 4); /* not -3 as stated in appnote.txt */\n for (rank = 0; rank < blcodes; rank++) {\n //Tracev((stderr, \"\\nbl code %2d \", bl_order[rank]));\n send_bits(s, s.bl_tree[bl_order[rank] * 2 + 1]/*.Len*/, 3);\n }\n //Tracev((stderr, \"\\nbl tree: sent %ld\", s->bits_sent));\n\n send_tree(s, s.dyn_ltree, lcodes - 1); /* literal tree */\n //Tracev((stderr, \"\\nlit tree: sent %ld\", s->bits_sent));\n\n send_tree(s, s.dyn_dtree, dcodes - 1); /* distance tree */\n //Tracev((stderr, \"\\ndist tree: sent %ld\", s->bits_sent));\n};\n\n\n/* ===========================================================================\n * Check if the data type is TEXT or BINARY, using the following algorithm:\n * - TEXT if the two conditions below are satisfied:\n * a) There are no non-portable control characters belonging to the\n * \"block list\" (0..6, 14..25, 28..31).\n * b) There is at least one printable character belonging to the\n * \"allow list\" (9 {TAB}, 10 {LF}, 13 {CR}, 32..255).\n * - BINARY otherwise.\n * - The following partially-portable control characters form a\n * \"gray list\" that is ignored in this detection algorithm:\n * (7 {BEL}, 8 {BS}, 11 {VT}, 12 {FF}, 26 {SUB}, 27 {ESC}).\n * IN assertion: the fields Freq of dyn_ltree are set.\n */\nconst detect_data_type = (s) => {\n /* block_mask is the bit mask of block-listed bytes\n * set bits 0..6, 14..25, and 28..31\n * 0xf3ffc07f = binary 11110011111111111100000001111111\n */\n let block_mask = 0xf3ffc07f;\n let n;\n\n /* Check for non-textual (\"block-listed\") bytes. */\n for (n = 0; n <= 31; n++, block_mask >>>= 1) {\n if ((block_mask & 1) && (s.dyn_ltree[n * 2]/*.Freq*/ !== 0)) {\n return Z_BINARY;\n }\n }\n\n /* Check for textual (\"allow-listed\") bytes. */\n if (s.dyn_ltree[9 * 2]/*.Freq*/ !== 0 || s.dyn_ltree[10 * 2]/*.Freq*/ !== 0 ||\n s.dyn_ltree[13 * 2]/*.Freq*/ !== 0) {\n return Z_TEXT;\n }\n for (n = 32; n < LITERALS$1; n++) {\n if (s.dyn_ltree[n * 2]/*.Freq*/ !== 0) {\n return Z_TEXT;\n }\n }\n\n /* There are no \"block-listed\" or \"allow-listed\" bytes:\n * this stream either is empty or has tolerated (\"gray-listed\") bytes only.\n */\n return Z_BINARY;\n};\n\n\nlet static_init_done = false;\n\n/* ===========================================================================\n * Initialize the tree data structures for a new zlib stream.\n */\nconst _tr_init$1 = (s) =>\n{\n\n if (!static_init_done) {\n tr_static_init();\n static_init_done = true;\n }\n\n s.l_desc = new TreeDesc(s.dyn_ltree, static_l_desc);\n s.d_desc = new TreeDesc(s.dyn_dtree, static_d_desc);\n s.bl_desc = new TreeDesc(s.bl_tree, static_bl_desc);\n\n s.bi_buf = 0;\n s.bi_valid = 0;\n\n /* Initialize the first block of the first file: */\n init_block(s);\n};\n\n\n/* ===========================================================================\n * Send a stored block\n */\nconst _tr_stored_block$1 = (s, buf, stored_len, last) => {\n//DeflateState *s;\n//charf *buf; /* input block */\n//ulg stored_len; /* length of input block */\n//int last; /* one if this is the last block for a file */\n\n send_bits(s, (STORED_BLOCK << 1) + (last ? 1 : 0), 3); /* send block type */\n bi_windup(s); /* align on byte boundary */\n put_short(s, stored_len);\n put_short(s, ~stored_len);\n if (stored_len) {\n s.pending_buf.set(s.window.subarray(buf, buf + stored_len), s.pending);\n }\n s.pending += stored_len;\n};\n\n\n/* ===========================================================================\n * Send one empty static block to give enough lookahead for inflate.\n * This takes 10 bits, of which 7 may remain in the bit buffer.\n */\nconst _tr_align$1 = (s) => {\n send_bits(s, STATIC_TREES << 1, 3);\n send_code(s, END_BLOCK, static_ltree);\n bi_flush(s);\n};\n\n\n/* ===========================================================================\n * Determine the best encoding for the current block: dynamic trees, static\n * trees or store, and write out the encoded block.\n */\nconst _tr_flush_block$1 = (s, buf, stored_len, last) => {\n//DeflateState *s;\n//charf *buf; /* input block, or NULL if too old */\n//ulg stored_len; /* length of input block */\n//int last; /* one if this is the last block for a file */\n\n let opt_lenb, static_lenb; /* opt_len and static_len in bytes */\n let max_blindex = 0; /* index of last bit length code of non zero freq */\n\n /* Build the Huffman trees unless a stored block is forced */\n if (s.level > 0) {\n\n /* Check if the file is binary or text */\n if (s.strm.data_type === Z_UNKNOWN$1) {\n s.strm.data_type = detect_data_type(s);\n }\n\n /* Construct the literal and distance trees */\n build_tree(s, s.l_desc);\n // Tracev((stderr, \"\\nlit data: dyn %ld, stat %ld\", s->opt_len,\n // s->static_len));\n\n build_tree(s, s.d_desc);\n // Tracev((stderr, \"\\ndist data: dyn %ld, stat %ld\", s->opt_len,\n // s->static_len));\n /* At this point, opt_len and static_len are the total bit lengths of\n * the compressed block data, excluding the tree representations.\n */\n\n /* Build the bit length tree for the above two trees, and get the index\n * in bl_order of the last bit length code to send.\n */\n max_blindex = build_bl_tree(s);\n\n /* Determine the best encoding. Compute the block lengths in bytes. */\n opt_lenb = (s.opt_len + 3 + 7) >>> 3;\n static_lenb = (s.static_len + 3 + 7) >>> 3;\n\n // Tracev((stderr, \"\\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u \",\n // opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len,\n // s->sym_next / 3));\n\n if (static_lenb <= opt_lenb) { opt_lenb = static_lenb; }\n\n } else {\n // Assert(buf != (char*)0, \"lost buf\");\n opt_lenb = static_lenb = stored_len + 5; /* force a stored block */\n }\n\n if ((stored_len + 4 <= opt_lenb) && (buf !== -1)) {\n /* 4: two words for the lengths */\n\n /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.\n * Otherwise we can't have processed more than WSIZE input bytes since\n * the last block flush, because compression would have been\n * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to\n * transform a block into a stored block.\n */\n _tr_stored_block$1(s, buf, stored_len, last);\n\n } else if (s.strategy === Z_FIXED$1 || static_lenb === opt_lenb) {\n\n send_bits(s, (STATIC_TREES << 1) + (last ? 1 : 0), 3);\n compress_block(s, static_ltree, static_dtree);\n\n } else {\n send_bits(s, (DYN_TREES << 1) + (last ? 1 : 0), 3);\n send_all_trees(s, s.l_desc.max_code + 1, s.d_desc.max_code + 1, max_blindex + 1);\n compress_block(s, s.dyn_ltree, s.dyn_dtree);\n }\n // Assert (s->compressed_len == s->bits_sent, \"bad compressed size\");\n /* The above check is made mod 2^32, for files larger than 512 MB\n * and uLong implemented on 32 bits.\n */\n init_block(s);\n\n if (last) {\n bi_windup(s);\n }\n // Tracev((stderr,\"\\ncomprlen %lu(%lu) \", s->compressed_len>>3,\n // s->compressed_len-7*last));\n};\n\n/* ===========================================================================\n * Save the match info and tally the frequency counts. Return true if\n * the current block must be flushed.\n */\nconst _tr_tally$1 = (s, dist, lc) => {\n// deflate_state *s;\n// unsigned dist; /* distance of matched string */\n// unsigned lc; /* match length-MIN_MATCH or unmatched char (if dist==0) */\n\n s.pending_buf[s.sym_buf + s.sym_next++] = dist;\n s.pending_buf[s.sym_buf + s.sym_next++] = dist >> 8;\n s.pending_buf[s.sym_buf + s.sym_next++] = lc;\n if (dist === 0) {\n /* lc is the unmatched char */\n s.dyn_ltree[lc * 2]/*.Freq*/++;\n } else {\n s.matches++;\n /* Here, lc is the match length - MIN_MATCH */\n dist--; /* dist = match distance - 1 */\n //Assert((ush)dist < (ush)MAX_DIST(s) &&\n // (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&\n // (ush)d_code(dist) < (ush)D_CODES, \"_tr_tally: bad match\");\n\n s.dyn_ltree[(_length_code[lc] + LITERALS$1 + 1) * 2]/*.Freq*/++;\n s.dyn_dtree[d_code(dist) * 2]/*.Freq*/++;\n }\n\n return (s.sym_next === s.sym_end);\n};\n\nvar _tr_init_1 = _tr_init$1;\nvar _tr_stored_block_1 = _tr_stored_block$1;\nvar _tr_flush_block_1 = _tr_flush_block$1;\nvar _tr_tally_1 = _tr_tally$1;\nvar _tr_align_1 = _tr_align$1;\n\nvar trees = {\n\t_tr_init: _tr_init_1,\n\t_tr_stored_block: _tr_stored_block_1,\n\t_tr_flush_block: _tr_flush_block_1,\n\t_tr_tally: _tr_tally_1,\n\t_tr_align: _tr_align_1\n};\n\n// Note: adler32 takes 12% for level 0 and 2% for level 6.\n// It isn't worth it to make additional optimizations as in original.\n// Small size is preferable.\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nconst adler32 = (adler, buf, len, pos) => {\n let s1 = (adler & 0xffff) |0,\n s2 = ((adler >>> 16) & 0xffff) |0,\n n = 0;\n\n while (len !== 0) {\n // Set limit ~ twice less than 5552, to keep\n // s2 in 31-bits, because we force signed ints.\n // in other case %= will fail.\n n = len > 2000 ? 2000 : len;\n len -= n;\n\n do {\n s1 = (s1 + buf[pos++]) |0;\n s2 = (s2 + s1) |0;\n } while (--n);\n\n s1 %= 65521;\n s2 %= 65521;\n }\n\n return (s1 | (s2 << 16)) |0;\n};\n\n\nvar adler32_1 = adler32;\n\n// Note: we can't get significant speed boost here.\n// So write code to minimize size - no pregenerated tables\n// and array tools dependencies.\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n// Use ordinary array, since untyped makes no boost here\nconst makeTable = () => {\n let c, table = [];\n\n for (var n = 0; n < 256; n++) {\n c = n;\n for (var k = 0; k < 8; k++) {\n c = ((c & 1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1));\n }\n table[n] = c;\n }\n\n return table;\n};\n\n// Create table on load. Just 255 signed longs. Not a problem.\nconst crcTable = new Uint32Array(makeTable());\n\n\nconst crc32 = (crc, buf, len, pos) => {\n const t = crcTable;\n const end = pos + len;\n\n crc ^= -1;\n\n for (let i = pos; i < end; i++) {\n crc = (crc >>> 8) ^ t[(crc ^ buf[i]) & 0xFF];\n }\n\n return (crc ^ (-1)); // >>> 0;\n};\n\n\nvar crc32_1 = crc32;\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nvar messages = {\n 2: 'need dictionary', /* Z_NEED_DICT 2 */\n 1: 'stream end', /* Z_STREAM_END 1 */\n 0: '', /* Z_OK 0 */\n '-1': 'file error', /* Z_ERRNO (-1) */\n '-2': 'stream error', /* Z_STREAM_ERROR (-2) */\n '-3': 'data error', /* Z_DATA_ERROR (-3) */\n '-4': 'insufficient memory', /* Z_MEM_ERROR (-4) */\n '-5': 'buffer error', /* Z_BUF_ERROR (-5) */\n '-6': 'incompatible version' /* Z_VERSION_ERROR (-6) */\n};\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nvar constants$2 = {\n\n /* Allowed flush values; see deflate() and inflate() below for details */\n Z_NO_FLUSH: 0,\n Z_PARTIAL_FLUSH: 1,\n Z_SYNC_FLUSH: 2,\n Z_FULL_FLUSH: 3,\n Z_FINISH: 4,\n Z_BLOCK: 5,\n Z_TREES: 6,\n\n /* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\n Z_OK: 0,\n Z_STREAM_END: 1,\n Z_NEED_DICT: 2,\n Z_ERRNO: -1,\n Z_STREAM_ERROR: -2,\n Z_DATA_ERROR: -3,\n Z_MEM_ERROR: -4,\n Z_BUF_ERROR: -5,\n //Z_VERSION_ERROR: -6,\n\n /* compression levels */\n Z_NO_COMPRESSION: 0,\n Z_BEST_SPEED: 1,\n Z_BEST_COMPRESSION: 9,\n Z_DEFAULT_COMPRESSION: -1,\n\n\n Z_FILTERED: 1,\n Z_HUFFMAN_ONLY: 2,\n Z_RLE: 3,\n Z_FIXED: 4,\n Z_DEFAULT_STRATEGY: 0,\n\n /* Possible values of the data_type field (though see inflate()) */\n Z_BINARY: 0,\n Z_TEXT: 1,\n //Z_ASCII: 1, // = Z_TEXT (deprecated)\n Z_UNKNOWN: 2,\n\n /* The deflate compression method */\n Z_DEFLATED: 8\n //Z_NULL: null // Use -1 or null inline, depending on var type\n};\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nconst { _tr_init, _tr_stored_block, _tr_flush_block, _tr_tally, _tr_align } = trees;\n\n\n\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\nconst {\n Z_NO_FLUSH: Z_NO_FLUSH$2, Z_PARTIAL_FLUSH, Z_FULL_FLUSH: Z_FULL_FLUSH$1, Z_FINISH: Z_FINISH$3, Z_BLOCK: Z_BLOCK$1,\n Z_OK: Z_OK$3, Z_STREAM_END: Z_STREAM_END$3, Z_STREAM_ERROR: Z_STREAM_ERROR$2, Z_DATA_ERROR: Z_DATA_ERROR$2, Z_BUF_ERROR: Z_BUF_ERROR$1,\n Z_DEFAULT_COMPRESSION: Z_DEFAULT_COMPRESSION$1,\n Z_FILTERED, Z_HUFFMAN_ONLY, Z_RLE, Z_FIXED, Z_DEFAULT_STRATEGY: Z_DEFAULT_STRATEGY$1,\n Z_UNKNOWN,\n Z_DEFLATED: Z_DEFLATED$2\n} = constants$2;\n\n/*============================================================================*/\n\n\nconst MAX_MEM_LEVEL = 9;\n/* Maximum value for memLevel in deflateInit2 */\nconst MAX_WBITS$1 = 15;\n/* 32K LZ77 window */\nconst DEF_MEM_LEVEL = 8;\n\n\nconst LENGTH_CODES = 29;\n/* number of length codes, not counting the special END_BLOCK code */\nconst LITERALS = 256;\n/* number of literal bytes 0..255 */\nconst L_CODES = LITERALS + 1 + LENGTH_CODES;\n/* number of Literal or Length codes, including the END_BLOCK code */\nconst D_CODES = 30;\n/* number of distance codes */\nconst BL_CODES = 19;\n/* number of codes used to transfer the bit lengths */\nconst HEAP_SIZE = 2 * L_CODES + 1;\n/* maximum heap size */\nconst MAX_BITS = 15;\n/* All codes must not exceed MAX_BITS bits */\n\nconst MIN_MATCH = 3;\nconst MAX_MATCH = 258;\nconst MIN_LOOKAHEAD = (MAX_MATCH + MIN_MATCH + 1);\n\nconst PRESET_DICT = 0x20;\n\nconst INIT_STATE = 42; /* zlib header -> BUSY_STATE */\n//#ifdef GZIP\nconst GZIP_STATE = 57; /* gzip header -> BUSY_STATE | EXTRA_STATE */\n//#endif\nconst EXTRA_STATE = 69; /* gzip extra block -> NAME_STATE */\nconst NAME_STATE = 73; /* gzip file name -> COMMENT_STATE */\nconst COMMENT_STATE = 91; /* gzip comment -> HCRC_STATE */\nconst HCRC_STATE = 103; /* gzip header CRC -> BUSY_STATE */\nconst BUSY_STATE = 113; /* deflate -> FINISH_STATE */\nconst FINISH_STATE = 666; /* stream complete */\n\nconst BS_NEED_MORE = 1; /* block not completed, need more input or more output */\nconst BS_BLOCK_DONE = 2; /* block flush performed */\nconst BS_FINISH_STARTED = 3; /* finish started, need only more output at next deflate */\nconst BS_FINISH_DONE = 4; /* finish done, accept no more input or output */\n\nconst OS_CODE = 0x03; // Unix :) . Don't detect, use this default.\n\nconst err = (strm, errorCode) => {\n strm.msg = messages[errorCode];\n return errorCode;\n};\n\nconst rank = (f) => {\n return ((f) * 2) - ((f) > 4 ? 9 : 0);\n};\n\nconst zero = (buf) => {\n let len = buf.length; while (--len >= 0) { buf[len] = 0; }\n};\n\n/* ===========================================================================\n * Slide the hash table when sliding the window down (could be avoided with 32\n * bit values at the expense of memory usage). We slide even when level == 0 to\n * keep the hash table consistent if we switch back to level > 0 later.\n */\nconst slide_hash = (s) => {\n let n, m;\n let p;\n let wsize = s.w_size;\n\n n = s.hash_size;\n p = n;\n do {\n m = s.head[--p];\n s.head[p] = (m >= wsize ? m - wsize : 0);\n } while (--n);\n n = wsize;\n//#ifndef FASTEST\n p = n;\n do {\n m = s.prev[--p];\n s.prev[p] = (m >= wsize ? m - wsize : 0);\n /* If n is not on any hash chain, prev[n] is garbage but\n * its value will never be used.\n */\n } while (--n);\n//#endif\n};\n\n/* eslint-disable new-cap */\nlet HASH_ZLIB = (s, prev, data) => ((prev << s.hash_shift) ^ data) & s.hash_mask;\n// This hash causes less collisions, https://github.com/nodeca/pako/issues/135\n// But breaks binary compatibility\n//let HASH_FAST = (s, prev, data) => ((prev << 8) + (prev >> 8) + (data << 4)) & s.hash_mask;\nlet HASH = HASH_ZLIB;\n\n\n/* =========================================================================\n * Flush as much pending output as possible. All deflate() output, except for\n * some deflate_stored() output, goes through this function so some\n * applications may wish to modify it to avoid allocating a large\n * strm->next_out buffer and copying into it. (See also read_buf()).\n */\nconst flush_pending = (strm) => {\n const s = strm.state;\n\n //_tr_flush_bits(s);\n let len = s.pending;\n if (len > strm.avail_out) {\n len = strm.avail_out;\n }\n if (len === 0) { return; }\n\n strm.output.set(s.pending_buf.subarray(s.pending_out, s.pending_out + len), strm.next_out);\n strm.next_out += len;\n s.pending_out += len;\n strm.total_out += len;\n strm.avail_out -= len;\n s.pending -= len;\n if (s.pending === 0) {\n s.pending_out = 0;\n }\n};\n\n\nconst flush_block_only = (s, last) => {\n _tr_flush_block(s, (s.block_start >= 0 ? s.block_start : -1), s.strstart - s.block_start, last);\n s.block_start = s.strstart;\n flush_pending(s.strm);\n};\n\n\nconst put_byte = (s, b) => {\n s.pending_buf[s.pending++] = b;\n};\n\n\n/* =========================================================================\n * Put a short in the pending buffer. The 16-bit value is put in MSB order.\n * IN assertion: the stream state is correct and there is enough room in\n * pending_buf.\n */\nconst putShortMSB = (s, b) => {\n\n // put_byte(s, (Byte)(b >> 8));\n// put_byte(s, (Byte)(b & 0xff));\n s.pending_buf[s.pending++] = (b >>> 8) & 0xff;\n s.pending_buf[s.pending++] = b & 0xff;\n};\n\n\n/* ===========================================================================\n * Read a new buffer from the current input stream, update the adler32\n * and total number of bytes read. All deflate() input goes through\n * this function so some applications may wish to modify it to avoid\n * allocating a large strm->input buffer and copying from it.\n * (See also flush_pending()).\n */\nconst read_buf = (strm, buf, start, size) => {\n\n let len = strm.avail_in;\n\n if (len > size) { len = size; }\n if (len === 0) { return 0; }\n\n strm.avail_in -= len;\n\n // zmemcpy(buf, strm->next_in, len);\n buf.set(strm.input.subarray(strm.next_in, strm.next_in + len), start);\n if (strm.state.wrap === 1) {\n strm.adler = adler32_1(strm.adler, buf, len, start);\n }\n\n else if (strm.state.wrap === 2) {\n strm.adler = crc32_1(strm.adler, buf, len, start);\n }\n\n strm.next_in += len;\n strm.total_in += len;\n\n return len;\n};\n\n\n/* ===========================================================================\n * Set match_start to the longest match starting at the given string and\n * return its length. Matches shorter or equal to prev_length are discarded,\n * in which case the result is equal to prev_length and match_start is\n * garbage.\n * IN assertions: cur_match is the head of the hash chain for the current\n * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1\n * OUT assertion: the match length is not greater than s->lookahead.\n */\nconst longest_match = (s, cur_match) => {\n\n let chain_length = s.max_chain_length; /* max hash chain length */\n let scan = s.strstart; /* current string */\n let match; /* matched string */\n let len; /* length of current match */\n let best_len = s.prev_length; /* best match length so far */\n let nice_match = s.nice_match; /* stop if match long enough */\n const limit = (s.strstart > (s.w_size - MIN_LOOKAHEAD)) ?\n s.strstart - (s.w_size - MIN_LOOKAHEAD) : 0/*NIL*/;\n\n const _win = s.window; // shortcut\n\n const wmask = s.w_mask;\n const prev = s.prev;\n\n /* Stop when cur_match becomes <= limit. To simplify the code,\n * we prevent matches with the string of window index 0.\n */\n\n const strend = s.strstart + MAX_MATCH;\n let scan_end1 = _win[scan + best_len - 1];\n let scan_end = _win[scan + best_len];\n\n /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.\n * It is easy to get rid of this optimization if necessary.\n */\n // Assert(s->hash_bits >= 8 && MAX_MATCH == 258, \"Code too clever\");\n\n /* Do not waste too much time if we already have a good match: */\n if (s.prev_length >= s.good_match) {\n chain_length >>= 2;\n }\n /* Do not look for matches beyond the end of the input. This is necessary\n * to make deflate deterministic.\n */\n if (nice_match > s.lookahead) { nice_match = s.lookahead; }\n\n // Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, \"need lookahead\");\n\n do {\n // Assert(cur_match < s->strstart, \"no future\");\n match = cur_match;\n\n /* Skip to next match if the match length cannot increase\n * or if the match length is less than 2. Note that the checks below\n * for insufficient lookahead only occur occasionally for performance\n * reasons. Therefore uninitialized memory will be accessed, and\n * conditional jumps will be made that depend on those values.\n * However the length of the match is limited to the lookahead, so\n * the output of deflate is not affected by the uninitialized values.\n */\n\n if (_win[match + best_len] !== scan_end ||\n _win[match + best_len - 1] !== scan_end1 ||\n _win[match] !== _win[scan] ||\n _win[++match] !== _win[scan + 1]) {\n continue;\n }\n\n /* The check at best_len-1 can be removed because it will be made\n * again later. (This heuristic is not always a win.)\n * It is not necessary to compare scan[2] and match[2] since they\n * are always equal when the other bytes match, given that\n * the hash keys are equal and that HASH_BITS >= 8.\n */\n scan += 2;\n match++;\n // Assert(*scan == *match, \"match[2]?\");\n\n /* We check for insufficient lookahead only every 8th comparison;\n * the 256th check will be made at strstart+258.\n */\n do {\n /*jshint noempty:false*/\n } while (_win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n scan < strend);\n\n // Assert(scan <= s->window+(unsigned)(s->window_size-1), \"wild scan\");\n\n len = MAX_MATCH - (strend - scan);\n scan = strend - MAX_MATCH;\n\n if (len > best_len) {\n s.match_start = cur_match;\n best_len = len;\n if (len >= nice_match) {\n break;\n }\n scan_end1 = _win[scan + best_len - 1];\n scan_end = _win[scan + best_len];\n }\n } while ((cur_match = prev[cur_match & wmask]) > limit && --chain_length !== 0);\n\n if (best_len <= s.lookahead) {\n return best_len;\n }\n return s.lookahead;\n};\n\n\n/* ===========================================================================\n * Fill the window when the lookahead becomes insufficient.\n * Updates strstart and lookahead.\n *\n * IN assertion: lookahead < MIN_LOOKAHEAD\n * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD\n * At least one byte has been read, or avail_in == 0; reads are\n * performed for at least two bytes (required for the zip translate_eol\n * option -- not supported here).\n */\nconst fill_window = (s) => {\n\n const _w_size = s.w_size;\n let n, more, str;\n\n //Assert(s->lookahead < MIN_LOOKAHEAD, \"already enough lookahead\");\n\n do {\n more = s.window_size - s.lookahead - s.strstart;\n\n // JS ints have 32 bit, block below not needed\n /* Deal with !@#$% 64K limit: */\n //if (sizeof(int) <= 2) {\n // if (more == 0 && s->strstart == 0 && s->lookahead == 0) {\n // more = wsize;\n //\n // } else if (more == (unsigned)(-1)) {\n // /* Very unlikely, but possible on 16 bit machine if\n // * strstart == 0 && lookahead == 1 (input done a byte at time)\n // */\n // more--;\n // }\n //}\n\n\n /* If the window is almost full and there is insufficient lookahead,\n * move the upper half to the lower one to make room in the upper half.\n */\n if (s.strstart >= _w_size + (_w_size - MIN_LOOKAHEAD)) {\n\n s.window.set(s.window.subarray(_w_size, _w_size + _w_size - more), 0);\n s.match_start -= _w_size;\n s.strstart -= _w_size;\n /* we now have strstart >= MAX_DIST */\n s.block_start -= _w_size;\n if (s.insert > s.strstart) {\n s.insert = s.strstart;\n }\n slide_hash(s);\n more += _w_size;\n }\n if (s.strm.avail_in === 0) {\n break;\n }\n\n /* If there was no sliding:\n * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&\n * more == window_size - lookahead - strstart\n * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1)\n * => more >= window_size - 2*WSIZE + 2\n * In the BIG_MEM or MMAP case (not yet supported),\n * window_size == input_size + MIN_LOOKAHEAD &&\n * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD.\n * Otherwise, window_size == 2*WSIZE so more >= 2.\n * If there was sliding, more >= WSIZE. So in all cases, more >= 2.\n */\n //Assert(more >= 2, \"more < 2\");\n n = read_buf(s.strm, s.window, s.strstart + s.lookahead, more);\n s.lookahead += n;\n\n /* Initialize the hash value now that we have some input: */\n if (s.lookahead + s.insert >= MIN_MATCH) {\n str = s.strstart - s.insert;\n s.ins_h = s.window[str];\n\n /* UPDATE_HASH(s, s->ins_h, s->window[str + 1]); */\n s.ins_h = HASH(s, s.ins_h, s.window[str + 1]);\n//#if MIN_MATCH != 3\n// Call update_hash() MIN_MATCH-3 more times\n//#endif\n while (s.insert) {\n /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */\n s.ins_h = HASH(s, s.ins_h, s.window[str + MIN_MATCH - 1]);\n\n s.prev[str & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = str;\n str++;\n s.insert--;\n if (s.lookahead + s.insert < MIN_MATCH) {\n break;\n }\n }\n }\n /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage,\n * but this is not important since only literal bytes will be emitted.\n */\n\n } while (s.lookahead < MIN_LOOKAHEAD && s.strm.avail_in !== 0);\n\n /* If the WIN_INIT bytes after the end of the current data have never been\n * written, then zero those bytes in order to avoid memory check reports of\n * the use of uninitialized (or uninitialised as Julian writes) bytes by\n * the longest match routines. Update the high water mark for the next\n * time through here. WIN_INIT is set to MAX_MATCH since the longest match\n * routines allow scanning to strstart + MAX_MATCH, ignoring lookahead.\n */\n// if (s.high_water < s.window_size) {\n// const curr = s.strstart + s.lookahead;\n// let init = 0;\n//\n// if (s.high_water < curr) {\n// /* Previous high water mark below current data -- zero WIN_INIT\n// * bytes or up to end of window, whichever is less.\n// */\n// init = s.window_size - curr;\n// if (init > WIN_INIT)\n// init = WIN_INIT;\n// zmemzero(s->window + curr, (unsigned)init);\n// s->high_water = curr + init;\n// }\n// else if (s->high_water < (ulg)curr + WIN_INIT) {\n// /* High water mark at or above current data, but below current data\n// * plus WIN_INIT -- zero out to current data plus WIN_INIT, or up\n// * to end of window, whichever is less.\n// */\n// init = (ulg)curr + WIN_INIT - s->high_water;\n// if (init > s->window_size - s->high_water)\n// init = s->window_size - s->high_water;\n// zmemzero(s->window + s->high_water, (unsigned)init);\n// s->high_water += init;\n// }\n// }\n//\n// Assert((ulg)s->strstart <= s->window_size - MIN_LOOKAHEAD,\n// \"not enough room for search\");\n};\n\n/* ===========================================================================\n * Copy without compression as much as possible from the input stream, return\n * the current block state.\n *\n * In case deflateParams() is used to later switch to a non-zero compression\n * level, s->matches (otherwise unused when storing) keeps track of the number\n * of hash table slides to perform. If s->matches is 1, then one hash table\n * slide will be done when switching. If s->matches is 2, the maximum value\n * allowed here, then the hash table will be cleared, since two or more slides\n * is the same as a clear.\n *\n * deflate_stored() is written to minimize the number of times an input byte is\n * copied. It is most efficient with large input and output buffers, which\n * maximizes the opportunites to have a single copy from next_in to next_out.\n */\nconst deflate_stored = (s, flush) => {\n\n /* Smallest worthy block size when not flushing or finishing. By default\n * this is 32K. This can be as small as 507 bytes for memLevel == 1. For\n * large input and output buffers, the stored block size will be larger.\n */\n let min_block = s.pending_buf_size - 5 > s.w_size ? s.w_size : s.pending_buf_size - 5;\n\n /* Copy as many min_block or larger stored blocks directly to next_out as\n * possible. If flushing, copy the remaining available input to next_out as\n * stored blocks, if there is enough space.\n */\n let len, left, have, last = 0;\n let used = s.strm.avail_in;\n do {\n /* Set len to the maximum size block that we can copy directly with the\n * available input data and output space. Set left to how much of that\n * would be copied from what's left in the window.\n */\n len = 65535/* MAX_STORED */; /* maximum deflate stored block length */\n have = (s.bi_valid + 42) >> 3; /* number of header bytes */\n if (s.strm.avail_out < have) { /* need room for header */\n break;\n }\n /* maximum stored block length that will fit in avail_out: */\n have = s.strm.avail_out - have;\n left = s.strstart - s.block_start; /* bytes left in window */\n if (len > left + s.strm.avail_in) {\n len = left + s.strm.avail_in; /* limit len to the input */\n }\n if (len > have) {\n len = have; /* limit len to the output */\n }\n\n /* If the stored block would be less than min_block in length, or if\n * unable to copy all of the available input when flushing, then try\n * copying to the window and the pending buffer instead. Also don't\n * write an empty block when flushing -- deflate() does that.\n */\n if (len < min_block && ((len === 0 && flush !== Z_FINISH$3) ||\n flush === Z_NO_FLUSH$2 ||\n len !== left + s.strm.avail_in)) {\n break;\n }\n\n /* Make a dummy stored block in pending to get the header bytes,\n * including any pending bits. This also updates the debugging counts.\n */\n last = flush === Z_FINISH$3 && len === left + s.strm.avail_in ? 1 : 0;\n _tr_stored_block(s, 0, 0, last);\n\n /* Replace the lengths in the dummy stored block with len. */\n s.pending_buf[s.pending - 4] = len;\n s.pending_buf[s.pending - 3] = len >> 8;\n s.pending_buf[s.pending - 2] = ~len;\n s.pending_buf[s.pending - 1] = ~len >> 8;\n\n /* Write the stored block header bytes. */\n flush_pending(s.strm);\n\n//#ifdef ZLIB_DEBUG\n// /* Update debugging counts for the data about to be copied. */\n// s->compressed_len += len << 3;\n// s->bits_sent += len << 3;\n//#endif\n\n /* Copy uncompressed bytes from the window to next_out. */\n if (left) {\n if (left > len) {\n left = len;\n }\n //zmemcpy(s->strm->next_out, s->window + s->block_start, left);\n s.strm.output.set(s.window.subarray(s.block_start, s.block_start + left), s.strm.next_out);\n s.strm.next_out += left;\n s.strm.avail_out -= left;\n s.strm.total_out += left;\n s.block_start += left;\n len -= left;\n }\n\n /* Copy uncompressed bytes directly from next_in to next_out, updating\n * the check value.\n */\n if (len) {\n read_buf(s.strm, s.strm.output, s.strm.next_out, len);\n s.strm.next_out += len;\n s.strm.avail_out -= len;\n s.strm.total_out += len;\n }\n } while (last === 0);\n\n /* Update the sliding window with the last s->w_size bytes of the copied\n * data, or append all of the copied data to the existing window if less\n * than s->w_size bytes were copied. Also update the number of bytes to\n * insert in the hash tables, in the event that deflateParams() switches to\n * a non-zero compression level.\n */\n used -= s.strm.avail_in; /* number of input bytes directly copied */\n if (used) {\n /* If any input was used, then no unused input remains in the window,\n * therefore s->block_start == s->strstart.\n */\n if (used >= s.w_size) { /* supplant the previous history */\n s.matches = 2; /* clear hash */\n //zmemcpy(s->window, s->strm->next_in - s->w_size, s->w_size);\n s.window.set(s.strm.input.subarray(s.strm.next_in - s.w_size, s.strm.next_in), 0);\n s.strstart = s.w_size;\n s.insert = s.strstart;\n }\n else {\n if (s.window_size - s.strstart <= used) {\n /* Slide the window down. */\n s.strstart -= s.w_size;\n //zmemcpy(s->window, s->window + s->w_size, s->strstart);\n s.window.set(s.window.subarray(s.w_size, s.w_size + s.strstart), 0);\n if (s.matches < 2) {\n s.matches++; /* add a pending slide_hash() */\n }\n if (s.insert > s.strstart) {\n s.insert = s.strstart;\n }\n }\n //zmemcpy(s->window + s->strstart, s->strm->next_in - used, used);\n s.window.set(s.strm.input.subarray(s.strm.next_in - used, s.strm.next_in), s.strstart);\n s.strstart += used;\n s.insert += used > s.w_size - s.insert ? s.w_size - s.insert : used;\n }\n s.block_start = s.strstart;\n }\n if (s.high_water < s.strstart) {\n s.high_water = s.strstart;\n }\n\n /* If the last block was written to next_out, then done. */\n if (last) {\n return BS_FINISH_DONE;\n }\n\n /* If flushing and all input has been consumed, then done. */\n if (flush !== Z_NO_FLUSH$2 && flush !== Z_FINISH$3 &&\n s.strm.avail_in === 0 && s.strstart === s.block_start) {\n return BS_BLOCK_DONE;\n }\n\n /* Fill the window with any remaining input. */\n have = s.window_size - s.strstart;\n if (s.strm.avail_in > have && s.block_start >= s.w_size) {\n /* Slide the window down. */\n s.block_start -= s.w_size;\n s.strstart -= s.w_size;\n //zmemcpy(s->window, s->window + s->w_size, s->strstart);\n s.window.set(s.window.subarray(s.w_size, s.w_size + s.strstart), 0);\n if (s.matches < 2) {\n s.matches++; /* add a pending slide_hash() */\n }\n have += s.w_size; /* more space now */\n if (s.insert > s.strstart) {\n s.insert = s.strstart;\n }\n }\n if (have > s.strm.avail_in) {\n have = s.strm.avail_in;\n }\n if (have) {\n read_buf(s.strm, s.window, s.strstart, have);\n s.strstart += have;\n s.insert += have > s.w_size - s.insert ? s.w_size - s.insert : have;\n }\n if (s.high_water < s.strstart) {\n s.high_water = s.strstart;\n }\n\n /* There was not enough avail_out to write a complete worthy or flushed\n * stored block to next_out. Write a stored block to pending instead, if we\n * have enough input for a worthy block, or if flushing and there is enough\n * room for the remaining input as a stored block in the pending buffer.\n */\n have = (s.bi_valid + 42) >> 3; /* number of header bytes */\n /* maximum stored block length that will fit in pending: */\n have = s.pending_buf_size - have > 65535/* MAX_STORED */ ? 65535/* MAX_STORED */ : s.pending_buf_size - have;\n min_block = have > s.w_size ? s.w_size : have;\n left = s.strstart - s.block_start;\n if (left >= min_block ||\n ((left || flush === Z_FINISH$3) && flush !== Z_NO_FLUSH$2 &&\n s.strm.avail_in === 0 && left <= have)) {\n len = left > have ? have : left;\n last = flush === Z_FINISH$3 && s.strm.avail_in === 0 &&\n len === left ? 1 : 0;\n _tr_stored_block(s, s.block_start, len, last);\n s.block_start += len;\n flush_pending(s.strm);\n }\n\n /* We've done all we can with the available input and output. */\n return last ? BS_FINISH_STARTED : BS_NEED_MORE;\n};\n\n\n/* ===========================================================================\n * Compress as much as possible from the input stream, return the current\n * block state.\n * This function does not perform lazy evaluation of matches and inserts\n * new strings in the dictionary only for unmatched strings or for short\n * matches. It is used only for the fast compression options.\n */\nconst deflate_fast = (s, flush) => {\n\n let hash_head; /* head of the hash chain */\n let bflush; /* set if current block must be flushed */\n\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the next match, plus MIN_MATCH bytes to insert the\n * string following the next match.\n */\n if (s.lookahead < MIN_LOOKAHEAD) {\n fill_window(s);\n if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH$2) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) {\n break; /* flush the current block */\n }\n }\n\n /* Insert the string window[strstart .. strstart+2] in the\n * dictionary, and set hash_head to the head of the hash chain:\n */\n hash_head = 0/*NIL*/;\n if (s.lookahead >= MIN_MATCH) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = HASH(s, s.ins_h, s.window[s.strstart + MIN_MATCH - 1]);\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n\n /* Find the longest match, discarding those <= prev_length.\n * At this point we have always match_length < MIN_MATCH\n */\n if (hash_head !== 0/*NIL*/ && ((s.strstart - hash_head) <= (s.w_size - MIN_LOOKAHEAD))) {\n /* To simplify the code, we prevent matches with the string\n * of window index 0 (in particular we have to avoid a match\n * of the string with itself at the start of the input file).\n */\n s.match_length = longest_match(s, hash_head);\n /* longest_match() sets match_start */\n }\n if (s.match_length >= MIN_MATCH) {\n // check_match(s, s.strstart, s.match_start, s.match_length); // for debug only\n\n /*** _tr_tally_dist(s, s.strstart - s.match_start,\n s.match_length - MIN_MATCH, bflush); ***/\n bflush = _tr_tally(s, s.strstart - s.match_start, s.match_length - MIN_MATCH);\n\n s.lookahead -= s.match_length;\n\n /* Insert new strings in the hash table only if the match length\n * is not too large. This saves time but degrades compression.\n */\n if (s.match_length <= s.max_lazy_match/*max_insert_length*/ && s.lookahead >= MIN_MATCH) {\n s.match_length--; /* string at strstart already in table */\n do {\n s.strstart++;\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = HASH(s, s.ins_h, s.window[s.strstart + MIN_MATCH - 1]);\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n /* strstart never exceeds WSIZE-MAX_MATCH, so there are\n * always MIN_MATCH bytes ahead.\n */\n } while (--s.match_length !== 0);\n s.strstart++;\n } else\n {\n s.strstart += s.match_length;\n s.match_length = 0;\n s.ins_h = s.window[s.strstart];\n /* UPDATE_HASH(s, s.ins_h, s.window[s.strstart+1]); */\n s.ins_h = HASH(s, s.ins_h, s.window[s.strstart + 1]);\n\n//#if MIN_MATCH != 3\n// Call UPDATE_HASH() MIN_MATCH-3 more times\n//#endif\n /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not\n * matter since it will be recomputed at next deflate call.\n */\n }\n } else {\n /* No match, output a literal byte */\n //Tracevv((stderr,\"%c\", s.window[s.strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = _tr_tally(s, 0, s.window[s.strstart]);\n\n s.lookahead--;\n s.strstart++;\n }\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = ((s.strstart < (MIN_MATCH - 1)) ? s.strstart : MIN_MATCH - 1);\n if (flush === Z_FINISH$3) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.sym_next) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n};\n\n/* ===========================================================================\n * Same as above, but achieves better compression. We use a lazy\n * evaluation for matches: a match is finally adopted only if there is\n * no better match at the next window position.\n */\nconst deflate_slow = (s, flush) => {\n\n let hash_head; /* head of hash chain */\n let bflush; /* set if current block must be flushed */\n\n let max_insert;\n\n /* Process the input block. */\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the next match, plus MIN_MATCH bytes to insert the\n * string following the next match.\n */\n if (s.lookahead < MIN_LOOKAHEAD) {\n fill_window(s);\n if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH$2) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) { break; } /* flush the current block */\n }\n\n /* Insert the string window[strstart .. strstart+2] in the\n * dictionary, and set hash_head to the head of the hash chain:\n */\n hash_head = 0/*NIL*/;\n if (s.lookahead >= MIN_MATCH) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = HASH(s, s.ins_h, s.window[s.strstart + MIN_MATCH - 1]);\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n\n /* Find the longest match, discarding those <= prev_length.\n */\n s.prev_length = s.match_length;\n s.prev_match = s.match_start;\n s.match_length = MIN_MATCH - 1;\n\n if (hash_head !== 0/*NIL*/ && s.prev_length < s.max_lazy_match &&\n s.strstart - hash_head <= (s.w_size - MIN_LOOKAHEAD)/*MAX_DIST(s)*/) {\n /* To simplify the code, we prevent matches with the string\n * of window index 0 (in particular we have to avoid a match\n * of the string with itself at the start of the input file).\n */\n s.match_length = longest_match(s, hash_head);\n /* longest_match() sets match_start */\n\n if (s.match_length <= 5 &&\n (s.strategy === Z_FILTERED || (s.match_length === MIN_MATCH && s.strstart - s.match_start > 4096/*TOO_FAR*/))) {\n\n /* If prev_match is also MIN_MATCH, match_start is garbage\n * but we will ignore the current match anyway.\n */\n s.match_length = MIN_MATCH - 1;\n }\n }\n /* If there was a match at the previous step and the current\n * match is not better, output the previous match:\n */\n if (s.prev_length >= MIN_MATCH && s.match_length <= s.prev_length) {\n max_insert = s.strstart + s.lookahead - MIN_MATCH;\n /* Do not insert strings in hash table beyond this. */\n\n //check_match(s, s.strstart-1, s.prev_match, s.prev_length);\n\n /***_tr_tally_dist(s, s.strstart - 1 - s.prev_match,\n s.prev_length - MIN_MATCH, bflush);***/\n bflush = _tr_tally(s, s.strstart - 1 - s.prev_match, s.prev_length - MIN_MATCH);\n /* Insert in hash table all strings up to the end of the match.\n * strstart-1 and strstart are already inserted. If there is not\n * enough lookahead, the last two strings are not inserted in\n * the hash table.\n */\n s.lookahead -= s.prev_length - 1;\n s.prev_length -= 2;\n do {\n if (++s.strstart <= max_insert) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = HASH(s, s.ins_h, s.window[s.strstart + MIN_MATCH - 1]);\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n } while (--s.prev_length !== 0);\n s.match_available = 0;\n s.match_length = MIN_MATCH - 1;\n s.strstart++;\n\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n\n } else if (s.match_available) {\n /* If there was no match at the previous position, output a\n * single literal. If there was a match but the current match\n * is longer, truncate the previous match to a single literal.\n */\n //Tracevv((stderr,\"%c\", s->window[s->strstart-1]));\n /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/\n bflush = _tr_tally(s, 0, s.window[s.strstart - 1]);\n\n if (bflush) {\n /*** FLUSH_BLOCK_ONLY(s, 0) ***/\n flush_block_only(s, false);\n /***/\n }\n s.strstart++;\n s.lookahead--;\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n } else {\n /* There is no previous match to compare with, wait for\n * the next step to decide.\n */\n s.match_available = 1;\n s.strstart++;\n s.lookahead--;\n }\n }\n //Assert (flush != Z_NO_FLUSH, \"no flush?\");\n if (s.match_available) {\n //Tracevv((stderr,\"%c\", s->window[s->strstart-1]));\n /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/\n bflush = _tr_tally(s, 0, s.window[s.strstart - 1]);\n\n s.match_available = 0;\n }\n s.insert = s.strstart < MIN_MATCH - 1 ? s.strstart : MIN_MATCH - 1;\n if (flush === Z_FINISH$3) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.sym_next) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n\n return BS_BLOCK_DONE;\n};\n\n\n/* ===========================================================================\n * For Z_RLE, simply look for runs of bytes, generate matches only of distance\n * one. Do not maintain a hash table. (It will be regenerated if this run of\n * deflate switches away from Z_RLE.)\n */\nconst deflate_rle = (s, flush) => {\n\n let bflush; /* set if current block must be flushed */\n let prev; /* byte at distance one to match */\n let scan, strend; /* scan goes up to strend for length of run */\n\n const _win = s.window;\n\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the longest run, plus one for the unrolled loop.\n */\n if (s.lookahead <= MAX_MATCH) {\n fill_window(s);\n if (s.lookahead <= MAX_MATCH && flush === Z_NO_FLUSH$2) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) { break; } /* flush the current block */\n }\n\n /* See how many times the previous byte repeats */\n s.match_length = 0;\n if (s.lookahead >= MIN_MATCH && s.strstart > 0) {\n scan = s.strstart - 1;\n prev = _win[scan];\n if (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan]) {\n strend = s.strstart + MAX_MATCH;\n do {\n /*jshint noempty:false*/\n } while (prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n scan < strend);\n s.match_length = MAX_MATCH - (strend - scan);\n if (s.match_length > s.lookahead) {\n s.match_length = s.lookahead;\n }\n }\n //Assert(scan <= s->window+(uInt)(s->window_size-1), \"wild scan\");\n }\n\n /* Emit match if have run of MIN_MATCH or longer, else emit literal */\n if (s.match_length >= MIN_MATCH) {\n //check_match(s, s.strstart, s.strstart - 1, s.match_length);\n\n /*** _tr_tally_dist(s, 1, s.match_length - MIN_MATCH, bflush); ***/\n bflush = _tr_tally(s, 1, s.match_length - MIN_MATCH);\n\n s.lookahead -= s.match_length;\n s.strstart += s.match_length;\n s.match_length = 0;\n } else {\n /* No match, output a literal byte */\n //Tracevv((stderr,\"%c\", s->window[s->strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = _tr_tally(s, 0, s.window[s.strstart]);\n\n s.lookahead--;\n s.strstart++;\n }\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = 0;\n if (flush === Z_FINISH$3) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.sym_next) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n};\n\n/* ===========================================================================\n * For Z_HUFFMAN_ONLY, do not look for matches. Do not maintain a hash table.\n * (It will be regenerated if this run of deflate switches away from Huffman.)\n */\nconst deflate_huff = (s, flush) => {\n\n let bflush; /* set if current block must be flushed */\n\n for (;;) {\n /* Make sure that we have a literal to write. */\n if (s.lookahead === 0) {\n fill_window(s);\n if (s.lookahead === 0) {\n if (flush === Z_NO_FLUSH$2) {\n return BS_NEED_MORE;\n }\n break; /* flush the current block */\n }\n }\n\n /* Output a literal byte */\n s.match_length = 0;\n //Tracevv((stderr,\"%c\", s->window[s->strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = _tr_tally(s, 0, s.window[s.strstart]);\n s.lookahead--;\n s.strstart++;\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = 0;\n if (flush === Z_FINISH$3) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.sym_next) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n};\n\n/* Values for max_lazy_match, good_match and max_chain_length, depending on\n * the desired pack level (0..9). The values given below have been tuned to\n * exclude worst case performance for pathological files. Better values may be\n * found for specific files.\n */\nfunction Config(good_length, max_lazy, nice_length, max_chain, func) {\n\n this.good_length = good_length;\n this.max_lazy = max_lazy;\n this.nice_length = nice_length;\n this.max_chain = max_chain;\n this.func = func;\n}\n\nconst configuration_table = [\n /* good lazy nice chain */\n new Config(0, 0, 0, 0, deflate_stored), /* 0 store only */\n new Config(4, 4, 8, 4, deflate_fast), /* 1 max speed, no lazy matches */\n new Config(4, 5, 16, 8, deflate_fast), /* 2 */\n new Config(4, 6, 32, 32, deflate_fast), /* 3 */\n\n new Config(4, 4, 16, 16, deflate_slow), /* 4 lazy matches */\n new Config(8, 16, 32, 32, deflate_slow), /* 5 */\n new Config(8, 16, 128, 128, deflate_slow), /* 6 */\n new Config(8, 32, 128, 256, deflate_slow), /* 7 */\n new Config(32, 128, 258, 1024, deflate_slow), /* 8 */\n new Config(32, 258, 258, 4096, deflate_slow) /* 9 max compression */\n];\n\n\n/* ===========================================================================\n * Initialize the \"longest match\" routines for a new zlib stream\n */\nconst lm_init = (s) => {\n\n s.window_size = 2 * s.w_size;\n\n /*** CLEAR_HASH(s); ***/\n zero(s.head); // Fill with NIL (= 0);\n\n /* Set the default configuration parameters:\n */\n s.max_lazy_match = configuration_table[s.level].max_lazy;\n s.good_match = configuration_table[s.level].good_length;\n s.nice_match = configuration_table[s.level].nice_length;\n s.max_chain_length = configuration_table[s.level].max_chain;\n\n s.strstart = 0;\n s.block_start = 0;\n s.lookahead = 0;\n s.insert = 0;\n s.match_length = s.prev_length = MIN_MATCH - 1;\n s.match_available = 0;\n s.ins_h = 0;\n};\n\n\nfunction DeflateState() {\n this.strm = null; /* pointer back to this zlib stream */\n this.status = 0; /* as the name implies */\n this.pending_buf = null; /* output still pending */\n this.pending_buf_size = 0; /* size of pending_buf */\n this.pending_out = 0; /* next pending byte to output to the stream */\n this.pending = 0; /* nb of bytes in the pending buffer */\n this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip */\n this.gzhead = null; /* gzip header information to write */\n this.gzindex = 0; /* where in extra, name, or comment */\n this.method = Z_DEFLATED$2; /* can only be DEFLATED */\n this.last_flush = -1; /* value of flush param for previous deflate call */\n\n this.w_size = 0; /* LZ77 window size (32K by default) */\n this.w_bits = 0; /* log2(w_size) (8..16) */\n this.w_mask = 0; /* w_size - 1 */\n\n this.window = null;\n /* Sliding window. Input bytes are read into the second half of the window,\n * and move to the first half later to keep a dictionary of at least wSize\n * bytes. With this organization, matches are limited to a distance of\n * wSize-MAX_MATCH bytes, but this ensures that IO is always\n * performed with a length multiple of the block size.\n */\n\n this.window_size = 0;\n /* Actual size of window: 2*wSize, except when the user input buffer\n * is directly used as sliding window.\n */\n\n this.prev = null;\n /* Link to older string with same hash index. To limit the size of this\n * array to 64K, this link is maintained only for the last 32K strings.\n * An index in this array is thus a window index modulo 32K.\n */\n\n this.head = null; /* Heads of the hash chains or NIL. */\n\n this.ins_h = 0; /* hash index of string to be inserted */\n this.hash_size = 0; /* number of elements in hash table */\n this.hash_bits = 0; /* log2(hash_size) */\n this.hash_mask = 0; /* hash_size-1 */\n\n this.hash_shift = 0;\n /* Number of bits by which ins_h must be shifted at each input\n * step. It must be such that after MIN_MATCH steps, the oldest\n * byte no longer takes part in the hash key, that is:\n * hash_shift * MIN_MATCH >= hash_bits\n */\n\n this.block_start = 0;\n /* Window position at the beginning of the current output block. Gets\n * negative when the window is moved backwards.\n */\n\n this.match_length = 0; /* length of best match */\n this.prev_match = 0; /* previous match */\n this.match_available = 0; /* set if previous match exists */\n this.strstart = 0; /* start of string to insert */\n this.match_start = 0; /* start of matching string */\n this.lookahead = 0; /* number of valid bytes ahead in window */\n\n this.prev_length = 0;\n /* Length of the best match at previous step. Matches not greater than this\n * are discarded. This is used in the lazy match evaluation.\n */\n\n this.max_chain_length = 0;\n /* To speed up deflation, hash chains are never searched beyond this\n * length. A higher limit improves compression ratio but degrades the\n * speed.\n */\n\n this.max_lazy_match = 0;\n /* Attempt to find a better match only when the current match is strictly\n * smaller than this value. This mechanism is used only for compression\n * levels >= 4.\n */\n // That's alias to max_lazy_match, don't use directly\n //this.max_insert_length = 0;\n /* Insert new strings in the hash table only if the match length is not\n * greater than this length. This saves time but degrades compression.\n * max_insert_length is used only for compression levels <= 3.\n */\n\n this.level = 0; /* compression level (1..9) */\n this.strategy = 0; /* favor or force Huffman coding*/\n\n this.good_match = 0;\n /* Use a faster search when the previous match is longer than this */\n\n this.nice_match = 0; /* Stop searching when current match exceeds this */\n\n /* used by trees.c: */\n\n /* Didn't use ct_data typedef below to suppress compiler warning */\n\n // struct ct_data_s dyn_ltree[HEAP_SIZE]; /* literal and length tree */\n // struct ct_data_s dyn_dtree[2*D_CODES+1]; /* distance tree */\n // struct ct_data_s bl_tree[2*BL_CODES+1]; /* Huffman tree for bit lengths */\n\n // Use flat array of DOUBLE size, with interleaved fata,\n // because JS does not support effective\n this.dyn_ltree = new Uint16Array(HEAP_SIZE * 2);\n this.dyn_dtree = new Uint16Array((2 * D_CODES + 1) * 2);\n this.bl_tree = new Uint16Array((2 * BL_CODES + 1) * 2);\n zero(this.dyn_ltree);\n zero(this.dyn_dtree);\n zero(this.bl_tree);\n\n this.l_desc = null; /* desc. for literal tree */\n this.d_desc = null; /* desc. for distance tree */\n this.bl_desc = null; /* desc. for bit length tree */\n\n //ush bl_count[MAX_BITS+1];\n this.bl_count = new Uint16Array(MAX_BITS + 1);\n /* number of codes at each bit length for an optimal tree */\n\n //int heap[2*L_CODES+1]; /* heap used to build the Huffman trees */\n this.heap = new Uint16Array(2 * L_CODES + 1); /* heap used to build the Huffman trees */\n zero(this.heap);\n\n this.heap_len = 0; /* number of elements in the heap */\n this.heap_max = 0; /* element of largest frequency */\n /* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used.\n * The same heap array is used to build all trees.\n */\n\n this.depth = new Uint16Array(2 * L_CODES + 1); //uch depth[2*L_CODES+1];\n zero(this.depth);\n /* Depth of each subtree used as tie breaker for trees of equal frequency\n */\n\n this.sym_buf = 0; /* buffer for distances and literals/lengths */\n\n this.lit_bufsize = 0;\n /* Size of match buffer for literals/lengths. There are 4 reasons for\n * limiting lit_bufsize to 64K:\n * - frequencies can be kept in 16 bit counters\n * - if compression is not successful for the first block, all input\n * data is still in the window so we can still emit a stored block even\n * when input comes from standard input. (This can also be done for\n * all blocks if lit_bufsize is not greater than 32K.)\n * - if compression is not successful for a file smaller than 64K, we can\n * even emit a stored file instead of a stored block (saving 5 bytes).\n * This is applicable only for zip (not gzip or zlib).\n * - creating new Huffman trees less frequently may not provide fast\n * adaptation to changes in the input data statistics. (Take for\n * example a binary file with poorly compressible code followed by\n * a highly compressible string table.) Smaller buffer sizes give\n * fast adaptation but have of course the overhead of transmitting\n * trees more frequently.\n * - I can't count above 4\n */\n\n this.sym_next = 0; /* running index in sym_buf */\n this.sym_end = 0; /* symbol table full when sym_next reaches this */\n\n this.opt_len = 0; /* bit length of current block with optimal trees */\n this.static_len = 0; /* bit length of current block with static trees */\n this.matches = 0; /* number of string matches in current block */\n this.insert = 0; /* bytes at end of window left to insert */\n\n\n this.bi_buf = 0;\n /* Output buffer. bits are inserted starting at the bottom (least\n * significant bits).\n */\n this.bi_valid = 0;\n /* Number of valid bits in bi_buf. All bits above the last valid bit\n * are always zero.\n */\n\n // Used for window memory init. We safely ignore it for JS. That makes\n // sense only for pointers and memory check tools.\n //this.high_water = 0;\n /* High water mark offset in window for initialized bytes -- bytes above\n * this are set to zero in order to avoid memory check warnings when\n * longest match routines access bytes past the input. This is then\n * updated to the new high water mark.\n */\n}\n\n\n/* =========================================================================\n * Check for a valid deflate stream state. Return 0 if ok, 1 if not.\n */\nconst deflateStateCheck = (strm) => {\n\n if (!strm) {\n return 1;\n }\n const s = strm.state;\n if (!s || s.strm !== strm || (s.status !== INIT_STATE &&\n//#ifdef GZIP\n s.status !== GZIP_STATE &&\n//#endif\n s.status !== EXTRA_STATE &&\n s.status !== NAME_STATE &&\n s.status !== COMMENT_STATE &&\n s.status !== HCRC_STATE &&\n s.status !== BUSY_STATE &&\n s.status !== FINISH_STATE)) {\n return 1;\n }\n return 0;\n};\n\n\nconst deflateResetKeep = (strm) => {\n\n if (deflateStateCheck(strm)) {\n return err(strm, Z_STREAM_ERROR$2);\n }\n\n strm.total_in = strm.total_out = 0;\n strm.data_type = Z_UNKNOWN;\n\n const s = strm.state;\n s.pending = 0;\n s.pending_out = 0;\n\n if (s.wrap < 0) {\n s.wrap = -s.wrap;\n /* was made negative by deflate(..., Z_FINISH); */\n }\n s.status =\n//#ifdef GZIP\n s.wrap === 2 ? GZIP_STATE :\n//#endif\n s.wrap ? INIT_STATE : BUSY_STATE;\n strm.adler = (s.wrap === 2) ?\n 0 // crc32(0, Z_NULL, 0)\n :\n 1; // adler32(0, Z_NULL, 0)\n s.last_flush = -2;\n _tr_init(s);\n return Z_OK$3;\n};\n\n\nconst deflateReset = (strm) => {\n\n const ret = deflateResetKeep(strm);\n if (ret === Z_OK$3) {\n lm_init(strm.state);\n }\n return ret;\n};\n\n\nconst deflateSetHeader = (strm, head) => {\n\n if (deflateStateCheck(strm) || strm.state.wrap !== 2) {\n return Z_STREAM_ERROR$2;\n }\n strm.state.gzhead = head;\n return Z_OK$3;\n};\n\n\nconst deflateInit2 = (strm, level, method, windowBits, memLevel, strategy) => {\n\n if (!strm) { // === Z_NULL\n return Z_STREAM_ERROR$2;\n }\n let wrap = 1;\n\n if (level === Z_DEFAULT_COMPRESSION$1) {\n level = 6;\n }\n\n if (windowBits < 0) { /* suppress zlib wrapper */\n wrap = 0;\n windowBits = -windowBits;\n }\n\n else if (windowBits > 15) {\n wrap = 2; /* write gzip wrapper instead */\n windowBits -= 16;\n }\n\n\n if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method !== Z_DEFLATED$2 ||\n windowBits < 8 || windowBits > 15 || level < 0 || level > 9 ||\n strategy < 0 || strategy > Z_FIXED || (windowBits === 8 && wrap !== 1)) {\n return err(strm, Z_STREAM_ERROR$2);\n }\n\n\n if (windowBits === 8) {\n windowBits = 9;\n }\n /* until 256-byte window bug fixed */\n\n const s = new DeflateState();\n\n strm.state = s;\n s.strm = strm;\n s.status = INIT_STATE; /* to pass state test in deflateReset() */\n\n s.wrap = wrap;\n s.gzhead = null;\n s.w_bits = windowBits;\n s.w_size = 1 << s.w_bits;\n s.w_mask = s.w_size - 1;\n\n s.hash_bits = memLevel + 7;\n s.hash_size = 1 << s.hash_bits;\n s.hash_mask = s.hash_size - 1;\n s.hash_shift = ~~((s.hash_bits + MIN_MATCH - 1) / MIN_MATCH);\n\n s.window = new Uint8Array(s.w_size * 2);\n s.head = new Uint16Array(s.hash_size);\n s.prev = new Uint16Array(s.w_size);\n\n // Don't need mem init magic for JS.\n //s.high_water = 0; /* nothing written to s->window yet */\n\n s.lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */\n\n /* We overlay pending_buf and sym_buf. This works since the average size\n * for length/distance pairs over any compressed block is assured to be 31\n * bits or less.\n *\n * Analysis: The longest fixed codes are a length code of 8 bits plus 5\n * extra bits, for lengths 131 to 257. The longest fixed distance codes are\n * 5 bits plus 13 extra bits, for distances 16385 to 32768. The longest\n * possible fixed-codes length/distance pair is then 31 bits total.\n *\n * sym_buf starts one-fourth of the way into pending_buf. So there are\n * three bytes in sym_buf for every four bytes in pending_buf. Each symbol\n * in sym_buf is three bytes -- two for the distance and one for the\n * literal/length. As each symbol is consumed, the pointer to the next\n * sym_buf value to read moves forward three bytes. From that symbol, up to\n * 31 bits are written to pending_buf. The closest the written pending_buf\n * bits gets to the next sym_buf symbol to read is just before the last\n * code is written. At that time, 31*(n-2) bits have been written, just\n * after 24*(n-2) bits have been consumed from sym_buf. sym_buf starts at\n * 8*n bits into pending_buf. (Note that the symbol buffer fills when n-1\n * symbols are written.) The closest the writing gets to what is unread is\n * then n+14 bits. Here n is lit_bufsize, which is 16384 by default, and\n * can range from 128 to 32768.\n *\n * Therefore, at a minimum, there are 142 bits of space between what is\n * written and what is read in the overlain buffers, so the symbols cannot\n * be overwritten by the compressed data. That space is actually 139 bits,\n * due to the three-bit fixed-code block header.\n *\n * That covers the case where either Z_FIXED is specified, forcing fixed\n * codes, or when the use of fixed codes is chosen, because that choice\n * results in a smaller compressed block than dynamic codes. That latter\n * condition then assures that the above analysis also covers all dynamic\n * blocks. A dynamic-code block will only be chosen to be emitted if it has\n * fewer bits than a fixed-code block would for the same set of symbols.\n * Therefore its average symbol length is assured to be less than 31. So\n * the compressed data for a dynamic block also cannot overwrite the\n * symbols from which it is being constructed.\n */\n\n s.pending_buf_size = s.lit_bufsize * 4;\n s.pending_buf = new Uint8Array(s.pending_buf_size);\n\n // It is offset from `s.pending_buf` (size is `s.lit_bufsize * 2`)\n //s->sym_buf = s->pending_buf + s->lit_bufsize;\n s.sym_buf = s.lit_bufsize;\n\n //s->sym_end = (s->lit_bufsize - 1) * 3;\n s.sym_end = (s.lit_bufsize - 1) * 3;\n /* We avoid equality with lit_bufsize*3 because of wraparound at 64K\n * on 16 bit machines and because stored blocks are restricted to\n * 64K-1 bytes.\n */\n\n s.level = level;\n s.strategy = strategy;\n s.method = method;\n\n return deflateReset(strm);\n};\n\nconst deflateInit = (strm, level) => {\n\n return deflateInit2(strm, level, Z_DEFLATED$2, MAX_WBITS$1, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY$1);\n};\n\n\n/* ========================================================================= */\nconst deflate$2 = (strm, flush) => {\n\n if (deflateStateCheck(strm) || flush > Z_BLOCK$1 || flush < 0) {\n return strm ? err(strm, Z_STREAM_ERROR$2) : Z_STREAM_ERROR$2;\n }\n\n const s = strm.state;\n\n if (!strm.output ||\n (strm.avail_in !== 0 && !strm.input) ||\n (s.status === FINISH_STATE && flush !== Z_FINISH$3)) {\n return err(strm, (strm.avail_out === 0) ? Z_BUF_ERROR$1 : Z_STREAM_ERROR$2);\n }\n\n const old_flush = s.last_flush;\n s.last_flush = flush;\n\n /* Flush as much pending output as possible */\n if (s.pending !== 0) {\n flush_pending(strm);\n if (strm.avail_out === 0) {\n /* Since avail_out is 0, deflate will be called again with\n * more output space, but possibly with both pending and\n * avail_in equal to zero. There won't be anything to do,\n * but this is not an error situation so make sure we\n * return OK instead of BUF_ERROR at next call of deflate:\n */\n s.last_flush = -1;\n return Z_OK$3;\n }\n\n /* Make sure there is something to do and avoid duplicate consecutive\n * flushes. For repeated and useless calls with Z_FINISH, we keep\n * returning Z_STREAM_END instead of Z_BUF_ERROR.\n */\n } else if (strm.avail_in === 0 && rank(flush) <= rank(old_flush) &&\n flush !== Z_FINISH$3) {\n return err(strm, Z_BUF_ERROR$1);\n }\n\n /* User must not provide more input after the first FINISH: */\n if (s.status === FINISH_STATE && strm.avail_in !== 0) {\n return err(strm, Z_BUF_ERROR$1);\n }\n\n /* Write the header */\n if (s.status === INIT_STATE && s.wrap === 0) {\n s.status = BUSY_STATE;\n }\n if (s.status === INIT_STATE) {\n /* zlib header */\n let header = (Z_DEFLATED$2 + ((s.w_bits - 8) << 4)) << 8;\n let level_flags = -1;\n\n if (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2) {\n level_flags = 0;\n } else if (s.level < 6) {\n level_flags = 1;\n } else if (s.level === 6) {\n level_flags = 2;\n } else {\n level_flags = 3;\n }\n header |= (level_flags << 6);\n if (s.strstart !== 0) { header |= PRESET_DICT; }\n header += 31 - (header % 31);\n\n putShortMSB(s, header);\n\n /* Save the adler32 of the preset dictionary: */\n if (s.strstart !== 0) {\n putShortMSB(s, strm.adler >>> 16);\n putShortMSB(s, strm.adler & 0xffff);\n }\n strm.adler = 1; // adler32(0L, Z_NULL, 0);\n s.status = BUSY_STATE;\n\n /* Compression must start with an empty pending buffer */\n flush_pending(strm);\n if (s.pending !== 0) {\n s.last_flush = -1;\n return Z_OK$3;\n }\n }\n//#ifdef GZIP\n if (s.status === GZIP_STATE) {\n /* gzip header */\n strm.adler = 0; //crc32(0L, Z_NULL, 0);\n put_byte(s, 31);\n put_byte(s, 139);\n put_byte(s, 8);\n if (!s.gzhead) { // s->gzhead == Z_NULL\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, s.level === 9 ? 2 :\n (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?\n 4 : 0));\n put_byte(s, OS_CODE);\n s.status = BUSY_STATE;\n\n /* Compression must start with an empty pending buffer */\n flush_pending(strm);\n if (s.pending !== 0) {\n s.last_flush = -1;\n return Z_OK$3;\n }\n }\n else {\n put_byte(s, (s.gzhead.text ? 1 : 0) +\n (s.gzhead.hcrc ? 2 : 0) +\n (!s.gzhead.extra ? 0 : 4) +\n (!s.gzhead.name ? 0 : 8) +\n (!s.gzhead.comment ? 0 : 16)\n );\n put_byte(s, s.gzhead.time & 0xff);\n put_byte(s, (s.gzhead.time >> 8) & 0xff);\n put_byte(s, (s.gzhead.time >> 16) & 0xff);\n put_byte(s, (s.gzhead.time >> 24) & 0xff);\n put_byte(s, s.level === 9 ? 2 :\n (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?\n 4 : 0));\n put_byte(s, s.gzhead.os & 0xff);\n if (s.gzhead.extra && s.gzhead.extra.length) {\n put_byte(s, s.gzhead.extra.length & 0xff);\n put_byte(s, (s.gzhead.extra.length >> 8) & 0xff);\n }\n if (s.gzhead.hcrc) {\n strm.adler = crc32_1(strm.adler, s.pending_buf, s.pending, 0);\n }\n s.gzindex = 0;\n s.status = EXTRA_STATE;\n }\n }\n if (s.status === EXTRA_STATE) {\n if (s.gzhead.extra/* != Z_NULL*/) {\n let beg = s.pending; /* start of bytes to update crc */\n let left = (s.gzhead.extra.length & 0xffff) - s.gzindex;\n while (s.pending + left > s.pending_buf_size) {\n let copy = s.pending_buf_size - s.pending;\n // zmemcpy(s.pending_buf + s.pending,\n // s.gzhead.extra + s.gzindex, copy);\n s.pending_buf.set(s.gzhead.extra.subarray(s.gzindex, s.gzindex + copy), s.pending);\n s.pending = s.pending_buf_size;\n //--- HCRC_UPDATE(beg) ---//\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32_1(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n //---//\n s.gzindex += copy;\n flush_pending(strm);\n if (s.pending !== 0) {\n s.last_flush = -1;\n return Z_OK$3;\n }\n beg = 0;\n left -= copy;\n }\n // JS specific: s.gzhead.extra may be TypedArray or Array for backward compatibility\n // TypedArray.slice and TypedArray.from don't exist in IE10-IE11\n let gzhead_extra = new Uint8Array(s.gzhead.extra);\n // zmemcpy(s->pending_buf + s->pending,\n // s->gzhead->extra + s->gzindex, left);\n s.pending_buf.set(gzhead_extra.subarray(s.gzindex, s.gzindex + left), s.pending);\n s.pending += left;\n //--- HCRC_UPDATE(beg) ---//\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32_1(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n //---//\n s.gzindex = 0;\n }\n s.status = NAME_STATE;\n }\n if (s.status === NAME_STATE) {\n if (s.gzhead.name/* != Z_NULL*/) {\n let beg = s.pending; /* start of bytes to update crc */\n let val;\n do {\n if (s.pending === s.pending_buf_size) {\n //--- HCRC_UPDATE(beg) ---//\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32_1(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n //---//\n flush_pending(strm);\n if (s.pending !== 0) {\n s.last_flush = -1;\n return Z_OK$3;\n }\n beg = 0;\n }\n // JS specific: little magic to add zero terminator to end of string\n if (s.gzindex < s.gzhead.name.length) {\n val = s.gzhead.name.charCodeAt(s.gzindex++) & 0xff;\n } else {\n val = 0;\n }\n put_byte(s, val);\n } while (val !== 0);\n //--- HCRC_UPDATE(beg) ---//\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32_1(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n //---//\n s.gzindex = 0;\n }\n s.status = COMMENT_STATE;\n }\n if (s.status === COMMENT_STATE) {\n if (s.gzhead.comment/* != Z_NULL*/) {\n let beg = s.pending; /* start of bytes to update crc */\n let val;\n do {\n if (s.pending === s.pending_buf_size) {\n //--- HCRC_UPDATE(beg) ---//\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32_1(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n //---//\n flush_pending(strm);\n if (s.pending !== 0) {\n s.last_flush = -1;\n return Z_OK$3;\n }\n beg = 0;\n }\n // JS specific: little magic to add zero terminator to end of string\n if (s.gzindex < s.gzhead.comment.length) {\n val = s.gzhead.comment.charCodeAt(s.gzindex++) & 0xff;\n } else {\n val = 0;\n }\n put_byte(s, val);\n } while (val !== 0);\n //--- HCRC_UPDATE(beg) ---//\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32_1(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n //---//\n }\n s.status = HCRC_STATE;\n }\n if (s.status === HCRC_STATE) {\n if (s.gzhead.hcrc) {\n if (s.pending + 2 > s.pending_buf_size) {\n flush_pending(strm);\n if (s.pending !== 0) {\n s.last_flush = -1;\n return Z_OK$3;\n }\n }\n put_byte(s, strm.adler & 0xff);\n put_byte(s, (strm.adler >> 8) & 0xff);\n strm.adler = 0; //crc32(0L, Z_NULL, 0);\n }\n s.status = BUSY_STATE;\n\n /* Compression must start with an empty pending buffer */\n flush_pending(strm);\n if (s.pending !== 0) {\n s.last_flush = -1;\n return Z_OK$3;\n }\n }\n//#endif\n\n /* Start a new block or continue the current one.\n */\n if (strm.avail_in !== 0 || s.lookahead !== 0 ||\n (flush !== Z_NO_FLUSH$2 && s.status !== FINISH_STATE)) {\n let bstate = s.level === 0 ? deflate_stored(s, flush) :\n s.strategy === Z_HUFFMAN_ONLY ? deflate_huff(s, flush) :\n s.strategy === Z_RLE ? deflate_rle(s, flush) :\n configuration_table[s.level].func(s, flush);\n\n if (bstate === BS_FINISH_STARTED || bstate === BS_FINISH_DONE) {\n s.status = FINISH_STATE;\n }\n if (bstate === BS_NEED_MORE || bstate === BS_FINISH_STARTED) {\n if (strm.avail_out === 0) {\n s.last_flush = -1;\n /* avoid BUF_ERROR next call, see above */\n }\n return Z_OK$3;\n /* If flush != Z_NO_FLUSH && avail_out == 0, the next call\n * of deflate should use the same flush parameter to make sure\n * that the flush is complete. So we don't have to output an\n * empty block here, this will be done at next call. This also\n * ensures that for a very small output buffer, we emit at most\n * one empty block.\n */\n }\n if (bstate === BS_BLOCK_DONE) {\n if (flush === Z_PARTIAL_FLUSH) {\n _tr_align(s);\n }\n else if (flush !== Z_BLOCK$1) { /* FULL_FLUSH or SYNC_FLUSH */\n\n _tr_stored_block(s, 0, 0, false);\n /* For a full flush, this empty block will be recognized\n * as a special marker by inflate_sync().\n */\n if (flush === Z_FULL_FLUSH$1) {\n /*** CLEAR_HASH(s); ***/ /* forget history */\n zero(s.head); // Fill with NIL (= 0);\n\n if (s.lookahead === 0) {\n s.strstart = 0;\n s.block_start = 0;\n s.insert = 0;\n }\n }\n }\n flush_pending(strm);\n if (strm.avail_out === 0) {\n s.last_flush = -1; /* avoid BUF_ERROR at next call, see above */\n return Z_OK$3;\n }\n }\n }\n\n if (flush !== Z_FINISH$3) { return Z_OK$3; }\n if (s.wrap <= 0) { return Z_STREAM_END$3; }\n\n /* Write the trailer */\n if (s.wrap === 2) {\n put_byte(s, strm.adler & 0xff);\n put_byte(s, (strm.adler >> 8) & 0xff);\n put_byte(s, (strm.adler >> 16) & 0xff);\n put_byte(s, (strm.adler >> 24) & 0xff);\n put_byte(s, strm.total_in & 0xff);\n put_byte(s, (strm.total_in >> 8) & 0xff);\n put_byte(s, (strm.total_in >> 16) & 0xff);\n put_byte(s, (strm.total_in >> 24) & 0xff);\n }\n else\n {\n putShortMSB(s, strm.adler >>> 16);\n putShortMSB(s, strm.adler & 0xffff);\n }\n\n flush_pending(strm);\n /* If avail_out is zero, the application will call deflate again\n * to flush the rest.\n */\n if (s.wrap > 0) { s.wrap = -s.wrap; }\n /* write the trailer only once! */\n return s.pending !== 0 ? Z_OK$3 : Z_STREAM_END$3;\n};\n\n\nconst deflateEnd = (strm) => {\n\n if (deflateStateCheck(strm)) {\n return Z_STREAM_ERROR$2;\n }\n\n const status = strm.state.status;\n\n strm.state = null;\n\n return status === BUSY_STATE ? err(strm, Z_DATA_ERROR$2) : Z_OK$3;\n};\n\n\n/* =========================================================================\n * Initializes the compression dictionary from the given byte\n * sequence without producing any compressed output.\n */\nconst deflateSetDictionary = (strm, dictionary) => {\n\n let dictLength = dictionary.length;\n\n if (deflateStateCheck(strm)) {\n return Z_STREAM_ERROR$2;\n }\n\n const s = strm.state;\n const wrap = s.wrap;\n\n if (wrap === 2 || (wrap === 1 && s.status !== INIT_STATE) || s.lookahead) {\n return Z_STREAM_ERROR$2;\n }\n\n /* when using zlib wrappers, compute Adler-32 for provided dictionary */\n if (wrap === 1) {\n /* adler32(strm->adler, dictionary, dictLength); */\n strm.adler = adler32_1(strm.adler, dictionary, dictLength, 0);\n }\n\n s.wrap = 0; /* avoid computing Adler-32 in read_buf */\n\n /* if dictionary would fill window, just replace the history */\n if (dictLength >= s.w_size) {\n if (wrap === 0) { /* already empty otherwise */\n /*** CLEAR_HASH(s); ***/\n zero(s.head); // Fill with NIL (= 0);\n s.strstart = 0;\n s.block_start = 0;\n s.insert = 0;\n }\n /* use the tail */\n // dictionary = dictionary.slice(dictLength - s.w_size);\n let tmpDict = new Uint8Array(s.w_size);\n tmpDict.set(dictionary.subarray(dictLength - s.w_size, dictLength), 0);\n dictionary = tmpDict;\n dictLength = s.w_size;\n }\n /* insert dictionary into window and hash */\n const avail = strm.avail_in;\n const next = strm.next_in;\n const input = strm.input;\n strm.avail_in = dictLength;\n strm.next_in = 0;\n strm.input = dictionary;\n fill_window(s);\n while (s.lookahead >= MIN_MATCH) {\n let str = s.strstart;\n let n = s.lookahead - (MIN_MATCH - 1);\n do {\n /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */\n s.ins_h = HASH(s, s.ins_h, s.window[str + MIN_MATCH - 1]);\n\n s.prev[str & s.w_mask] = s.head[s.ins_h];\n\n s.head[s.ins_h] = str;\n str++;\n } while (--n);\n s.strstart = str;\n s.lookahead = MIN_MATCH - 1;\n fill_window(s);\n }\n s.strstart += s.lookahead;\n s.block_start = s.strstart;\n s.insert = s.lookahead;\n s.lookahead = 0;\n s.match_length = s.prev_length = MIN_MATCH - 1;\n s.match_available = 0;\n strm.next_in = next;\n strm.input = input;\n strm.avail_in = avail;\n s.wrap = wrap;\n return Z_OK$3;\n};\n\n\nvar deflateInit_1 = deflateInit;\nvar deflateInit2_1 = deflateInit2;\nvar deflateReset_1 = deflateReset;\nvar deflateResetKeep_1 = deflateResetKeep;\nvar deflateSetHeader_1 = deflateSetHeader;\nvar deflate_2$1 = deflate$2;\nvar deflateEnd_1 = deflateEnd;\nvar deflateSetDictionary_1 = deflateSetDictionary;\nvar deflateInfo = 'pako deflate (from Nodeca project)';\n\n/* Not implemented\nmodule.exports.deflateBound = deflateBound;\nmodule.exports.deflateCopy = deflateCopy;\nmodule.exports.deflateGetDictionary = deflateGetDictionary;\nmodule.exports.deflateParams = deflateParams;\nmodule.exports.deflatePending = deflatePending;\nmodule.exports.deflatePrime = deflatePrime;\nmodule.exports.deflateTune = deflateTune;\n*/\n\nvar deflate_1$2 = {\n\tdeflateInit: deflateInit_1,\n\tdeflateInit2: deflateInit2_1,\n\tdeflateReset: deflateReset_1,\n\tdeflateResetKeep: deflateResetKeep_1,\n\tdeflateSetHeader: deflateSetHeader_1,\n\tdeflate: deflate_2$1,\n\tdeflateEnd: deflateEnd_1,\n\tdeflateSetDictionary: deflateSetDictionary_1,\n\tdeflateInfo: deflateInfo\n};\n\nconst _has = (obj, key) => {\n return Object.prototype.hasOwnProperty.call(obj, key);\n};\n\nvar assign = function (obj /*from1, from2, from3, ...*/) {\n const sources = Array.prototype.slice.call(arguments, 1);\n while (sources.length) {\n const source = sources.shift();\n if (!source) { continue; }\n\n if (typeof source !== 'object') {\n throw new TypeError(source + 'must be non-object');\n }\n\n for (const p in source) {\n if (_has(source, p)) {\n obj[p] = source[p];\n }\n }\n }\n\n return obj;\n};\n\n\n// Join array of chunks to single array.\nvar flattenChunks = (chunks) => {\n // calculate data length\n let len = 0;\n\n for (let i = 0, l = chunks.length; i < l; i++) {\n len += chunks[i].length;\n }\n\n // join chunks\n const result = new Uint8Array(len);\n\n for (let i = 0, pos = 0, l = chunks.length; i < l; i++) {\n let chunk = chunks[i];\n result.set(chunk, pos);\n pos += chunk.length;\n }\n\n return result;\n};\n\nvar common = {\n\tassign: assign,\n\tflattenChunks: flattenChunks\n};\n\n// String encode/decode helpers\n\n\n// Quick check if we can use fast array to bin string conversion\n//\n// - apply(Array) can fail on Android 2.2\n// - apply(Uint8Array) can fail on iOS 5.1 Safari\n//\nlet STR_APPLY_UIA_OK = true;\n\ntry { String.fromCharCode.apply(null, new Uint8Array(1)); } catch (__) { STR_APPLY_UIA_OK = false; }\n\n\n// Table with utf8 lengths (calculated by first byte of sequence)\n// Note, that 5 & 6-byte values and some 4-byte values can not be represented in JS,\n// because max possible codepoint is 0x10ffff\nconst _utf8len = new Uint8Array(256);\nfor (let q = 0; q < 256; q++) {\n _utf8len[q] = (q >= 252 ? 6 : q >= 248 ? 5 : q >= 240 ? 4 : q >= 224 ? 3 : q >= 192 ? 2 : 1);\n}\n_utf8len[254] = _utf8len[254] = 1; // Invalid sequence start\n\n\n// convert string to array (typed, when possible)\nvar string2buf = (str) => {\n if (typeof TextEncoder === 'function' && TextEncoder.prototype.encode) {\n return new TextEncoder().encode(str);\n }\n\n let buf, c, c2, m_pos, i, str_len = str.length, buf_len = 0;\n\n // count binary size\n for (m_pos = 0; m_pos < str_len; m_pos++) {\n c = str.charCodeAt(m_pos);\n if ((c & 0xfc00) === 0xd800 && (m_pos + 1 < str_len)) {\n c2 = str.charCodeAt(m_pos + 1);\n if ((c2 & 0xfc00) === 0xdc00) {\n c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\n m_pos++;\n }\n }\n buf_len += c < 0x80 ? 1 : c < 0x800 ? 2 : c < 0x10000 ? 3 : 4;\n }\n\n // allocate buffer\n buf = new Uint8Array(buf_len);\n\n // convert\n for (i = 0, m_pos = 0; i < buf_len; m_pos++) {\n c = str.charCodeAt(m_pos);\n if ((c & 0xfc00) === 0xd800 && (m_pos + 1 < str_len)) {\n c2 = str.charCodeAt(m_pos + 1);\n if ((c2 & 0xfc00) === 0xdc00) {\n c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\n m_pos++;\n }\n }\n if (c < 0x80) {\n /* one byte */\n buf[i++] = c;\n } else if (c < 0x800) {\n /* two bytes */\n buf[i++] = 0xC0 | (c >>> 6);\n buf[i++] = 0x80 | (c & 0x3f);\n } else if (c < 0x10000) {\n /* three bytes */\n buf[i++] = 0xE0 | (c >>> 12);\n buf[i++] = 0x80 | (c >>> 6 & 0x3f);\n buf[i++] = 0x80 | (c & 0x3f);\n } else {\n /* four bytes */\n buf[i++] = 0xf0 | (c >>> 18);\n buf[i++] = 0x80 | (c >>> 12 & 0x3f);\n buf[i++] = 0x80 | (c >>> 6 & 0x3f);\n buf[i++] = 0x80 | (c & 0x3f);\n }\n }\n\n return buf;\n};\n\n// Helper\nconst buf2binstring = (buf, len) => {\n // On Chrome, the arguments in a function call that are allowed is `65534`.\n // If the length of the buffer is smaller than that, we can use this optimization,\n // otherwise we will take a slower path.\n if (len < 65534) {\n if (buf.subarray && STR_APPLY_UIA_OK) {\n return String.fromCharCode.apply(null, buf.length === len ? buf : buf.subarray(0, len));\n }\n }\n\n let result = '';\n for (let i = 0; i < len; i++) {\n result += String.fromCharCode(buf[i]);\n }\n return result;\n};\n\n\n// convert array to string\nvar buf2string = (buf, max) => {\n const len = max || buf.length;\n\n if (typeof TextDecoder === 'function' && TextDecoder.prototype.decode) {\n return new TextDecoder().decode(buf.subarray(0, max));\n }\n\n let i, out;\n\n // Reserve max possible length (2 words per char)\n // NB: by unknown reasons, Array is significantly faster for\n // String.fromCharCode.apply than Uint16Array.\n const utf16buf = new Array(len * 2);\n\n for (out = 0, i = 0; i < len;) {\n let c = buf[i++];\n // quick process ascii\n if (c < 0x80) { utf16buf[out++] = c; continue; }\n\n let c_len = _utf8len[c];\n // skip 5 & 6 byte codes\n if (c_len > 4) { utf16buf[out++] = 0xfffd; i += c_len - 1; continue; }\n\n // apply mask on first byte\n c &= c_len === 2 ? 0x1f : c_len === 3 ? 0x0f : 0x07;\n // join the rest\n while (c_len > 1 && i < len) {\n c = (c << 6) | (buf[i++] & 0x3f);\n c_len--;\n }\n\n // terminated by end of string?\n if (c_len > 1) { utf16buf[out++] = 0xfffd; continue; }\n\n if (c < 0x10000) {\n utf16buf[out++] = c;\n } else {\n c -= 0x10000;\n utf16buf[out++] = 0xd800 | ((c >> 10) & 0x3ff);\n utf16buf[out++] = 0xdc00 | (c & 0x3ff);\n }\n }\n\n return buf2binstring(utf16buf, out);\n};\n\n\n// Calculate max possible position in utf8 buffer,\n// that will not break sequence. If that's not possible\n// - (very small limits) return max size as is.\n//\n// buf[] - utf8 bytes array\n// max - length limit (mandatory);\nvar utf8border = (buf, max) => {\n\n max = max || buf.length;\n if (max > buf.length) { max = buf.length; }\n\n // go back from last position, until start of sequence found\n let pos = max - 1;\n while (pos >= 0 && (buf[pos] & 0xC0) === 0x80) { pos--; }\n\n // Very small and broken sequence,\n // return max, because we should return something anyway.\n if (pos < 0) { return max; }\n\n // If we came to start of buffer - that means buffer is too small,\n // return max too.\n if (pos === 0) { return max; }\n\n return (pos + _utf8len[buf[pos]] > max) ? pos : max;\n};\n\nvar strings = {\n\tstring2buf: string2buf,\n\tbuf2string: buf2string,\n\tutf8border: utf8border\n};\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nfunction ZStream() {\n /* next input byte */\n this.input = null; // JS specific, because we have no pointers\n this.next_in = 0;\n /* number of bytes available at input */\n this.avail_in = 0;\n /* total number of input bytes read so far */\n this.total_in = 0;\n /* next output byte should be put there */\n this.output = null; // JS specific, because we have no pointers\n this.next_out = 0;\n /* remaining free space at output */\n this.avail_out = 0;\n /* total number of bytes output so far */\n this.total_out = 0;\n /* last error message, NULL if no error */\n this.msg = ''/*Z_NULL*/;\n /* not visible by applications */\n this.state = null;\n /* best guess about the data type: binary or text */\n this.data_type = 2/*Z_UNKNOWN*/;\n /* adler32 value of the uncompressed data */\n this.adler = 0;\n}\n\nvar zstream = ZStream;\n\nconst toString$1 = Object.prototype.toString;\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\nconst {\n Z_NO_FLUSH: Z_NO_FLUSH$1, Z_SYNC_FLUSH, Z_FULL_FLUSH, Z_FINISH: Z_FINISH$2,\n Z_OK: Z_OK$2, Z_STREAM_END: Z_STREAM_END$2,\n Z_DEFAULT_COMPRESSION,\n Z_DEFAULT_STRATEGY,\n Z_DEFLATED: Z_DEFLATED$1\n} = constants$2;\n\n/* ===========================================================================*/\n\n\n/**\n * class Deflate\n *\n * Generic JS-style wrapper for zlib calls. If you don't need\n * streaming behaviour - use more simple functions: [[deflate]],\n * [[deflateRaw]] and [[gzip]].\n **/\n\n/* internal\n * Deflate.chunks -> Array\n *\n * Chunks of output data, if [[Deflate#onData]] not overridden.\n **/\n\n/**\n * Deflate.result -> Uint8Array\n *\n * Compressed result, generated by default [[Deflate#onData]]\n * and [[Deflate#onEnd]] handlers. Filled after you push last chunk\n * (call [[Deflate#push]] with `Z_FINISH` / `true` param).\n **/\n\n/**\n * Deflate.err -> Number\n *\n * Error code after deflate finished. 0 (Z_OK) on success.\n * You will not need it in real life, because deflate errors\n * are possible only on wrong options or bad `onData` / `onEnd`\n * custom handlers.\n **/\n\n/**\n * Deflate.msg -> String\n *\n * Error message, if [[Deflate.err]] != 0\n **/\n\n\n/**\n * new Deflate(options)\n * - options (Object): zlib deflate options.\n *\n * Creates new deflator instance with specified params. Throws exception\n * on bad params. Supported options:\n *\n * - `level`\n * - `windowBits`\n * - `memLevel`\n * - `strategy`\n * - `dictionary`\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Additional options, for internal needs:\n *\n * - `chunkSize` - size of generated data chunks (16K by default)\n * - `raw` (Boolean) - do raw deflate\n * - `gzip` (Boolean) - create gzip wrapper\n * - `header` (Object) - custom header for gzip\n * - `text` (Boolean) - true if compressed data believed to be text\n * - `time` (Number) - modification time, unix timestamp\n * - `os` (Number) - operation system code\n * - `extra` (Array) - array of bytes with extra data (max 65536)\n * - `name` (String) - file name (binary string)\n * - `comment` (String) - comment (binary string)\n * - `hcrc` (Boolean) - true if header crc should be added\n *\n * ##### Example:\n *\n * ```javascript\n * const pako = require('pako')\n * , chunk1 = new Uint8Array([1,2,3,4,5,6,7,8,9])\n * , chunk2 = new Uint8Array([10,11,12,13,14,15,16,17,18,19]);\n *\n * const deflate = new pako.Deflate({ level: 3});\n *\n * deflate.push(chunk1, false);\n * deflate.push(chunk2, true); // true -> last chunk\n *\n * if (deflate.err) { throw new Error(deflate.err); }\n *\n * console.log(deflate.result);\n * ```\n **/\nfunction Deflate$1(options) {\n this.options = common.assign({\n level: Z_DEFAULT_COMPRESSION,\n method: Z_DEFLATED$1,\n chunkSize: 16384,\n windowBits: 15,\n memLevel: 8,\n strategy: Z_DEFAULT_STRATEGY\n }, options || {});\n\n let opt = this.options;\n\n if (opt.raw && (opt.windowBits > 0)) {\n opt.windowBits = -opt.windowBits;\n }\n\n else if (opt.gzip && (opt.windowBits > 0) && (opt.windowBits < 16)) {\n opt.windowBits += 16;\n }\n\n this.err = 0; // error code, if happens (0 = Z_OK)\n this.msg = ''; // error message\n this.ended = false; // used to avoid multiple onEnd() calls\n this.chunks = []; // chunks of compressed data\n\n this.strm = new zstream();\n this.strm.avail_out = 0;\n\n let status = deflate_1$2.deflateInit2(\n this.strm,\n opt.level,\n opt.method,\n opt.windowBits,\n opt.memLevel,\n opt.strategy\n );\n\n if (status !== Z_OK$2) {\n throw new Error(messages[status]);\n }\n\n if (opt.header) {\n deflate_1$2.deflateSetHeader(this.strm, opt.header);\n }\n\n if (opt.dictionary) {\n let dict;\n // Convert data if needed\n if (typeof opt.dictionary === 'string') {\n // If we need to compress text, change encoding to utf8.\n dict = strings.string2buf(opt.dictionary);\n } else if (toString$1.call(opt.dictionary) === '[object ArrayBuffer]') {\n dict = new Uint8Array(opt.dictionary);\n } else {\n dict = opt.dictionary;\n }\n\n status = deflate_1$2.deflateSetDictionary(this.strm, dict);\n\n if (status !== Z_OK$2) {\n throw new Error(messages[status]);\n }\n\n this._dict_set = true;\n }\n}\n\n/**\n * Deflate#push(data[, flush_mode]) -> Boolean\n * - data (Uint8Array|ArrayBuffer|String): input data. Strings will be\n * converted to utf8 byte sequence.\n * - flush_mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE modes.\n * See constants. Skipped or `false` means Z_NO_FLUSH, `true` means Z_FINISH.\n *\n * Sends input data to deflate pipe, generating [[Deflate#onData]] calls with\n * new compressed chunks. Returns `true` on success. The last data block must\n * have `flush_mode` Z_FINISH (or `true`). That will flush internal pending\n * buffers and call [[Deflate#onEnd]].\n *\n * On fail call [[Deflate#onEnd]] with error code and return false.\n *\n * ##### Example\n *\n * ```javascript\n * push(chunk, false); // push one of data chunks\n * ...\n * push(chunk, true); // push last chunk\n * ```\n **/\nDeflate$1.prototype.push = function (data, flush_mode) {\n const strm = this.strm;\n const chunkSize = this.options.chunkSize;\n let status, _flush_mode;\n\n if (this.ended) { return false; }\n\n if (flush_mode === ~~flush_mode) _flush_mode = flush_mode;\n else _flush_mode = flush_mode === true ? Z_FINISH$2 : Z_NO_FLUSH$1;\n\n // Convert data if needed\n if (typeof data === 'string') {\n // If we need to compress text, change encoding to utf8.\n strm.input = strings.string2buf(data);\n } else if (toString$1.call(data) === '[object ArrayBuffer]') {\n strm.input = new Uint8Array(data);\n } else {\n strm.input = data;\n }\n\n strm.next_in = 0;\n strm.avail_in = strm.input.length;\n\n for (;;) {\n if (strm.avail_out === 0) {\n strm.output = new Uint8Array(chunkSize);\n strm.next_out = 0;\n strm.avail_out = chunkSize;\n }\n\n // Make sure avail_out > 6 to avoid repeating markers\n if ((_flush_mode === Z_SYNC_FLUSH || _flush_mode === Z_FULL_FLUSH) && strm.avail_out <= 6) {\n this.onData(strm.output.subarray(0, strm.next_out));\n strm.avail_out = 0;\n continue;\n }\n\n status = deflate_1$2.deflate(strm, _flush_mode);\n\n // Ended => flush and finish\n if (status === Z_STREAM_END$2) {\n if (strm.next_out > 0) {\n this.onData(strm.output.subarray(0, strm.next_out));\n }\n status = deflate_1$2.deflateEnd(this.strm);\n this.onEnd(status);\n this.ended = true;\n return status === Z_OK$2;\n }\n\n // Flush if out buffer full\n if (strm.avail_out === 0) {\n this.onData(strm.output);\n continue;\n }\n\n // Flush if requested and has data\n if (_flush_mode > 0 && strm.next_out > 0) {\n this.onData(strm.output.subarray(0, strm.next_out));\n strm.avail_out = 0;\n continue;\n }\n\n if (strm.avail_in === 0) break;\n }\n\n return true;\n};\n\n\n/**\n * Deflate#onData(chunk) -> Void\n * - chunk (Uint8Array): output data.\n *\n * By default, stores data blocks in `chunks[]` property and glue\n * those in `onEnd`. Override this handler, if you need another behaviour.\n **/\nDeflate$1.prototype.onData = function (chunk) {\n this.chunks.push(chunk);\n};\n\n\n/**\n * Deflate#onEnd(status) -> Void\n * - status (Number): deflate status. 0 (Z_OK) on success,\n * other if not.\n *\n * Called once after you tell deflate that the input stream is\n * complete (Z_FINISH). By default - join collected chunks,\n * free memory and fill `results` / `err` properties.\n **/\nDeflate$1.prototype.onEnd = function (status) {\n // On success - join\n if (status === Z_OK$2) {\n this.result = common.flattenChunks(this.chunks);\n }\n this.chunks = [];\n this.err = status;\n this.msg = this.strm.msg;\n};\n\n\n/**\n * deflate(data[, options]) -> Uint8Array\n * - data (Uint8Array|ArrayBuffer|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * Compress `data` with deflate algorithm and `options`.\n *\n * Supported options are:\n *\n * - level\n * - windowBits\n * - memLevel\n * - strategy\n * - dictionary\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Sugar (options):\n *\n * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify\n * negative windowBits implicitly.\n *\n * ##### Example:\n *\n * ```javascript\n * const pako = require('pako')\n * const data = new Uint8Array([1,2,3,4,5,6,7,8,9]);\n *\n * console.log(pako.deflate(data));\n * ```\n **/\nfunction deflate$1(input, options) {\n const deflator = new Deflate$1(options);\n\n deflator.push(input, true);\n\n // That will never happens, if you don't cheat with options :)\n if (deflator.err) { throw deflator.msg || messages[deflator.err]; }\n\n return deflator.result;\n}\n\n\n/**\n * deflateRaw(data[, options]) -> Uint8Array\n * - data (Uint8Array|ArrayBuffer|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * The same as [[deflate]], but creates raw data, without wrapper\n * (header and adler32 crc).\n **/\nfunction deflateRaw$1(input, options) {\n options = options || {};\n options.raw = true;\n return deflate$1(input, options);\n}\n\n\n/**\n * gzip(data[, options]) -> Uint8Array\n * - data (Uint8Array|ArrayBuffer|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * The same as [[deflate]], but create gzip wrapper instead of\n * deflate one.\n **/\nfunction gzip$1(input, options) {\n options = options || {};\n options.gzip = true;\n return deflate$1(input, options);\n}\n\n\nvar Deflate_1$1 = Deflate$1;\nvar deflate_2 = deflate$1;\nvar deflateRaw_1$1 = deflateRaw$1;\nvar gzip_1$1 = gzip$1;\nvar constants$1 = constants$2;\n\nvar deflate_1$1 = {\n\tDeflate: Deflate_1$1,\n\tdeflate: deflate_2,\n\tdeflateRaw: deflateRaw_1$1,\n\tgzip: gzip_1$1,\n\tconstants: constants$1\n};\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n// See state defs from inflate.js\nconst BAD$1 = 16209; /* got a data error -- remain here until reset */\nconst TYPE$1 = 16191; /* i: waiting for type bits, including last-flag bit */\n\n/*\n Decode literal, length, and distance codes and write out the resulting\n literal and match bytes until either not enough input or output is\n available, an end-of-block is encountered, or a data error is encountered.\n When large enough input and output buffers are supplied to inflate(), for\n example, a 16K input buffer and a 64K output buffer, more than 95% of the\n inflate execution time is spent in this routine.\n\n Entry assumptions:\n\n state.mode === LEN\n strm.avail_in >= 6\n strm.avail_out >= 258\n start >= strm.avail_out\n state.bits < 8\n\n On return, state.mode is one of:\n\n LEN -- ran out of enough output space or enough available input\n TYPE -- reached end of block code, inflate() to interpret next block\n BAD -- error in block data\n\n Notes:\n\n - The maximum input bits used by a length/distance pair is 15 bits for the\n length code, 5 bits for the length extra, 15 bits for the distance code,\n and 13 bits for the distance extra. This totals 48 bits, or six bytes.\n Therefore if strm.avail_in >= 6, then there is enough input to avoid\n checking for available input while decoding.\n\n - The maximum bytes that a single length/distance pair can output is 258\n bytes, which is the maximum length that can be coded. inflate_fast()\n requires strm.avail_out >= 258 for each loop to avoid checking for\n output space.\n */\nvar inffast = function inflate_fast(strm, start) {\n let _in; /* local strm.input */\n let last; /* have enough input while in < last */\n let _out; /* local strm.output */\n let beg; /* inflate()'s initial strm.output */\n let end; /* while out < end, enough space available */\n//#ifdef INFLATE_STRICT\n let dmax; /* maximum distance from zlib header */\n//#endif\n let wsize; /* window size or zero if not using window */\n let whave; /* valid bytes in the window */\n let wnext; /* window write index */\n // Use `s_window` instead `window`, avoid conflict with instrumentation tools\n let s_window; /* allocated sliding window, if wsize != 0 */\n let hold; /* local strm.hold */\n let bits; /* local strm.bits */\n let lcode; /* local strm.lencode */\n let dcode; /* local strm.distcode */\n let lmask; /* mask for first level of length codes */\n let dmask; /* mask for first level of distance codes */\n let here; /* retrieved table entry */\n let op; /* code bits, operation, extra bits, or */\n /* window position, window bytes to copy */\n let len; /* match length, unused bytes */\n let dist; /* match distance */\n let from; /* where to copy match from */\n let from_source;\n\n\n let input, output; // JS specific, because we have no pointers\n\n /* copy state to local variables */\n const state = strm.state;\n //here = state.here;\n _in = strm.next_in;\n input = strm.input;\n last = _in + (strm.avail_in - 5);\n _out = strm.next_out;\n output = strm.output;\n beg = _out - (start - strm.avail_out);\n end = _out + (strm.avail_out - 257);\n//#ifdef INFLATE_STRICT\n dmax = state.dmax;\n//#endif\n wsize = state.wsize;\n whave = state.whave;\n wnext = state.wnext;\n s_window = state.window;\n hold = state.hold;\n bits = state.bits;\n lcode = state.lencode;\n dcode = state.distcode;\n lmask = (1 << state.lenbits) - 1;\n dmask = (1 << state.distbits) - 1;\n\n\n /* decode literals and length/distances until end-of-block or not enough\n input data or output space */\n\n top:\n do {\n if (bits < 15) {\n hold += input[_in++] << bits;\n bits += 8;\n hold += input[_in++] << bits;\n bits += 8;\n }\n\n here = lcode[hold & lmask];\n\n dolen:\n for (;;) { // Goto emulation\n op = here >>> 24/*here.bits*/;\n hold >>>= op;\n bits -= op;\n op = (here >>> 16) & 0xff/*here.op*/;\n if (op === 0) { /* literal */\n //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\n // \"inflate: literal '%c'\\n\" :\n // \"inflate: literal 0x%02x\\n\", here.val));\n output[_out++] = here & 0xffff/*here.val*/;\n }\n else if (op & 16) { /* length base */\n len = here & 0xffff/*here.val*/;\n op &= 15; /* number of extra bits */\n if (op) {\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n }\n len += hold & ((1 << op) - 1);\n hold >>>= op;\n bits -= op;\n }\n //Tracevv((stderr, \"inflate: length %u\\n\", len));\n if (bits < 15) {\n hold += input[_in++] << bits;\n bits += 8;\n hold += input[_in++] << bits;\n bits += 8;\n }\n here = dcode[hold & dmask];\n\n dodist:\n for (;;) { // goto emulation\n op = here >>> 24/*here.bits*/;\n hold >>>= op;\n bits -= op;\n op = (here >>> 16) & 0xff/*here.op*/;\n\n if (op & 16) { /* distance base */\n dist = here & 0xffff/*here.val*/;\n op &= 15; /* number of extra bits */\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n }\n }\n dist += hold & ((1 << op) - 1);\n//#ifdef INFLATE_STRICT\n if (dist > dmax) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD$1;\n break top;\n }\n//#endif\n hold >>>= op;\n bits -= op;\n //Tracevv((stderr, \"inflate: distance %u\\n\", dist));\n op = _out - beg; /* max distance in output */\n if (dist > op) { /* see if copy from window */\n op = dist - op; /* distance back in window */\n if (op > whave) {\n if (state.sane) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD$1;\n break top;\n }\n\n// (!) This block is disabled in zlib defaults,\n// don't enable it for binary compatibility\n//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\n// if (len <= op - whave) {\n// do {\n// output[_out++] = 0;\n// } while (--len);\n// continue top;\n// }\n// len -= op - whave;\n// do {\n// output[_out++] = 0;\n// } while (--op > whave);\n// if (op === 0) {\n// from = _out - dist;\n// do {\n// output[_out++] = output[from++];\n// } while (--len);\n// continue top;\n// }\n//#endif\n }\n from = 0; // window index\n from_source = s_window;\n if (wnext === 0) { /* very common case */\n from += wsize - op;\n if (op < len) { /* some from window */\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n else if (wnext < op) { /* wrap around window */\n from += wsize + wnext - op;\n op -= wnext;\n if (op < len) { /* some from end of window */\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = 0;\n if (wnext < len) { /* some from start of window */\n op = wnext;\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n }\n else { /* contiguous in window */\n from += wnext - op;\n if (op < len) { /* some from window */\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n while (len > 2) {\n output[_out++] = from_source[from++];\n output[_out++] = from_source[from++];\n output[_out++] = from_source[from++];\n len -= 3;\n }\n if (len) {\n output[_out++] = from_source[from++];\n if (len > 1) {\n output[_out++] = from_source[from++];\n }\n }\n }\n else {\n from = _out - dist; /* copy direct from output */\n do { /* minimum length is three */\n output[_out++] = output[from++];\n output[_out++] = output[from++];\n output[_out++] = output[from++];\n len -= 3;\n } while (len > 2);\n if (len) {\n output[_out++] = output[from++];\n if (len > 1) {\n output[_out++] = output[from++];\n }\n }\n }\n }\n else if ((op & 64) === 0) { /* 2nd level distance code */\n here = dcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];\n continue dodist;\n }\n else {\n strm.msg = 'invalid distance code';\n state.mode = BAD$1;\n break top;\n }\n\n break; // need to emulate goto via \"continue\"\n }\n }\n else if ((op & 64) === 0) { /* 2nd level length code */\n here = lcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];\n continue dolen;\n }\n else if (op & 32) { /* end-of-block */\n //Tracevv((stderr, \"inflate: end of block\\n\"));\n state.mode = TYPE$1;\n break top;\n }\n else {\n strm.msg = 'invalid literal/length code';\n state.mode = BAD$1;\n break top;\n }\n\n break; // need to emulate goto via \"continue\"\n }\n } while (_in < last && _out < end);\n\n /* return unused bytes (on entry, bits < 8, so in won't go too far back) */\n len = bits >> 3;\n _in -= len;\n bits -= len << 3;\n hold &= (1 << bits) - 1;\n\n /* update state and return */\n strm.next_in = _in;\n strm.next_out = _out;\n strm.avail_in = (_in < last ? 5 + (last - _in) : 5 - (_in - last));\n strm.avail_out = (_out < end ? 257 + (end - _out) : 257 - (_out - end));\n state.hold = hold;\n state.bits = bits;\n return;\n};\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nconst MAXBITS = 15;\nconst ENOUGH_LENS$1 = 852;\nconst ENOUGH_DISTS$1 = 592;\n//const ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS);\n\nconst CODES$1 = 0;\nconst LENS$1 = 1;\nconst DISTS$1 = 2;\n\nconst lbase = new Uint16Array([ /* Length codes 257..285 base */\n 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,\n 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0\n]);\n\nconst lext = new Uint8Array([ /* Length codes 257..285 extra */\n 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,\n 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78\n]);\n\nconst dbase = new Uint16Array([ /* Distance codes 0..29 base */\n 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,\n 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,\n 8193, 12289, 16385, 24577, 0, 0\n]);\n\nconst dext = new Uint8Array([ /* Distance codes 0..29 extra */\n 16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22,\n 23, 23, 24, 24, 25, 25, 26, 26, 27, 27,\n 28, 28, 29, 29, 64, 64\n]);\n\nconst inflate_table = (type, lens, lens_index, codes, table, table_index, work, opts) =>\n{\n const bits = opts.bits;\n //here = opts.here; /* table entry for duplication */\n\n let len = 0; /* a code's length in bits */\n let sym = 0; /* index of code symbols */\n let min = 0, max = 0; /* minimum and maximum code lengths */\n let root = 0; /* number of index bits for root table */\n let curr = 0; /* number of index bits for current table */\n let drop = 0; /* code bits to drop for sub-table */\n let left = 0; /* number of prefix codes available */\n let used = 0; /* code entries in table used */\n let huff = 0; /* Huffman code */\n let incr; /* for incrementing code, index */\n let fill; /* index for replicating entries */\n let low; /* low bits for current root entry */\n let mask; /* mask for low root bits */\n let next; /* next available space in table */\n let base = null; /* base value table to use */\n// let shoextra; /* extra bits table to use */\n let match; /* use base and extra for symbol >= match */\n const count = new Uint16Array(MAXBITS + 1); //[MAXBITS+1]; /* number of codes of each length */\n const offs = new Uint16Array(MAXBITS + 1); //[MAXBITS+1]; /* offsets in table for each length */\n let extra = null;\n\n let here_bits, here_op, here_val;\n\n /*\n Process a set of code lengths to create a canonical Huffman code. The\n code lengths are lens[0..codes-1]. Each length corresponds to the\n symbols 0..codes-1. The Huffman code is generated by first sorting the\n symbols by length from short to long, and retaining the symbol order\n for codes with equal lengths. Then the code starts with all zero bits\n for the first code of the shortest length, and the codes are integer\n increments for the same length, and zeros are appended as the length\n increases. For the deflate format, these bits are stored backwards\n from their more natural integer increment ordering, and so when the\n decoding tables are built in the large loop below, the integer codes\n are incremented backwards.\n\n This routine assumes, but does not check, that all of the entries in\n lens[] are in the range 0..MAXBITS. The caller must assure this.\n 1..MAXBITS is interpreted as that code length. zero means that that\n symbol does not occur in this code.\n\n The codes are sorted by computing a count of codes for each length,\n creating from that a table of starting indices for each length in the\n sorted table, and then entering the symbols in order in the sorted\n table. The sorted table is work[], with that space being provided by\n the caller.\n\n The length counts are used for other purposes as well, i.e. finding\n the minimum and maximum length codes, determining if there are any\n codes at all, checking for a valid set of lengths, and looking ahead\n at length counts to determine sub-table sizes when building the\n decoding tables.\n */\n\n /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */\n for (len = 0; len <= MAXBITS; len++) {\n count[len] = 0;\n }\n for (sym = 0; sym < codes; sym++) {\n count[lens[lens_index + sym]]++;\n }\n\n /* bound code lengths, force root to be within code lengths */\n root = bits;\n for (max = MAXBITS; max >= 1; max--) {\n if (count[max] !== 0) { break; }\n }\n if (root > max) {\n root = max;\n }\n if (max === 0) { /* no symbols to code at all */\n //table.op[opts.table_index] = 64; //here.op = (var char)64; /* invalid code marker */\n //table.bits[opts.table_index] = 1; //here.bits = (var char)1;\n //table.val[opts.table_index++] = 0; //here.val = (var short)0;\n table[table_index++] = (1 << 24) | (64 << 16) | 0;\n\n\n //table.op[opts.table_index] = 64;\n //table.bits[opts.table_index] = 1;\n //table.val[opts.table_index++] = 0;\n table[table_index++] = (1 << 24) | (64 << 16) | 0;\n\n opts.bits = 1;\n return 0; /* no symbols, but wait for decoding to report error */\n }\n for (min = 1; min < max; min++) {\n if (count[min] !== 0) { break; }\n }\n if (root < min) {\n root = min;\n }\n\n /* check for an over-subscribed or incomplete set of lengths */\n left = 1;\n for (len = 1; len <= MAXBITS; len++) {\n left <<= 1;\n left -= count[len];\n if (left < 0) {\n return -1;\n } /* over-subscribed */\n }\n if (left > 0 && (type === CODES$1 || max !== 1)) {\n return -1; /* incomplete set */\n }\n\n /* generate offsets into symbol table for each length for sorting */\n offs[1] = 0;\n for (len = 1; len < MAXBITS; len++) {\n offs[len + 1] = offs[len] + count[len];\n }\n\n /* sort symbols by length, by symbol order within each length */\n for (sym = 0; sym < codes; sym++) {\n if (lens[lens_index + sym] !== 0) {\n work[offs[lens[lens_index + sym]]++] = sym;\n }\n }\n\n /*\n Create and fill in decoding tables. In this loop, the table being\n filled is at next and has curr index bits. The code being used is huff\n with length len. That code is converted to an index by dropping drop\n bits off of the bottom. For codes where len is less than drop + curr,\n those top drop + curr - len bits are incremented through all values to\n fill the table with replicated entries.\n\n root is the number of index bits for the root table. When len exceeds\n root, sub-tables are created pointed to by the root entry with an index\n of the low root bits of huff. This is saved in low to check for when a\n new sub-table should be started. drop is zero when the root table is\n being filled, and drop is root when sub-tables are being filled.\n\n When a new sub-table is needed, it is necessary to look ahead in the\n code lengths to determine what size sub-table is needed. The length\n counts are used for this, and so count[] is decremented as codes are\n entered in the tables.\n\n used keeps track of how many table entries have been allocated from the\n provided *table space. It is checked for LENS and DIST tables against\n the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in\n the initial root table size constants. See the comments in inftrees.h\n for more information.\n\n sym increments through all symbols, and the loop terminates when\n all codes of length max, i.e. all codes, have been processed. This\n routine permits incomplete codes, so another loop after this one fills\n in the rest of the decoding tables with invalid code markers.\n */\n\n /* set up for code type */\n // poor man optimization - use if-else instead of switch,\n // to avoid deopts in old v8\n if (type === CODES$1) {\n base = extra = work; /* dummy value--not used */\n match = 20;\n\n } else if (type === LENS$1) {\n base = lbase;\n extra = lext;\n match = 257;\n\n } else { /* DISTS */\n base = dbase;\n extra = dext;\n match = 0;\n }\n\n /* initialize opts for loop */\n huff = 0; /* starting code */\n sym = 0; /* starting code symbol */\n len = min; /* starting code length */\n next = table_index; /* current table to fill in */\n curr = root; /* current table index bits */\n drop = 0; /* current bits to drop from code for index */\n low = -1; /* trigger new sub-table when len > root */\n used = 1 << root; /* use root table entries */\n mask = used - 1; /* mask for comparing low */\n\n /* check available table space */\n if ((type === LENS$1 && used > ENOUGH_LENS$1) ||\n (type === DISTS$1 && used > ENOUGH_DISTS$1)) {\n return 1;\n }\n\n /* process all codes and make table entries */\n for (;;) {\n /* create table entry */\n here_bits = len - drop;\n if (work[sym] + 1 < match) {\n here_op = 0;\n here_val = work[sym];\n }\n else if (work[sym] >= match) {\n here_op = extra[work[sym] - match];\n here_val = base[work[sym] - match];\n }\n else {\n here_op = 32 + 64; /* end of block */\n here_val = 0;\n }\n\n /* replicate for those indices with low len bits equal to huff */\n incr = 1 << (len - drop);\n fill = 1 << curr;\n min = fill; /* save offset to next table */\n do {\n fill -= incr;\n table[next + (huff >> drop) + fill] = (here_bits << 24) | (here_op << 16) | here_val |0;\n } while (fill !== 0);\n\n /* backwards increment the len-bit code huff */\n incr = 1 << (len - 1);\n while (huff & incr) {\n incr >>= 1;\n }\n if (incr !== 0) {\n huff &= incr - 1;\n huff += incr;\n } else {\n huff = 0;\n }\n\n /* go to next symbol, update count, len */\n sym++;\n if (--count[len] === 0) {\n if (len === max) { break; }\n len = lens[lens_index + work[sym]];\n }\n\n /* create new sub-table if needed */\n if (len > root && (huff & mask) !== low) {\n /* if first time, transition to sub-tables */\n if (drop === 0) {\n drop = root;\n }\n\n /* increment past last table */\n next += min; /* here min is 1 << curr */\n\n /* determine length of next table */\n curr = len - drop;\n left = 1 << curr;\n while (curr + drop < max) {\n left -= count[curr + drop];\n if (left <= 0) { break; }\n curr++;\n left <<= 1;\n }\n\n /* check for enough space */\n used += 1 << curr;\n if ((type === LENS$1 && used > ENOUGH_LENS$1) ||\n (type === DISTS$1 && used > ENOUGH_DISTS$1)) {\n return 1;\n }\n\n /* point entry in root table to sub-table */\n low = huff & mask;\n /*table.op[low] = curr;\n table.bits[low] = root;\n table.val[low] = next - opts.table_index;*/\n table[low] = (root << 24) | (curr << 16) | (next - table_index) |0;\n }\n }\n\n /* fill in remaining table entry if code is incomplete (guaranteed to have\n at most one remaining entry, since if the code is incomplete, the\n maximum code length that was allowed to get this far is one bit) */\n if (huff !== 0) {\n //table.op[next + huff] = 64; /* invalid code marker */\n //table.bits[next + huff] = len - drop;\n //table.val[next + huff] = 0;\n table[next + huff] = ((len - drop) << 24) | (64 << 16) |0;\n }\n\n /* set return parameters */\n //opts.table_index += used;\n opts.bits = root;\n return 0;\n};\n\n\nvar inftrees = inflate_table;\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n\n\n\n\n\nconst CODES = 0;\nconst LENS = 1;\nconst DISTS = 2;\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\nconst {\n Z_FINISH: Z_FINISH$1, Z_BLOCK, Z_TREES,\n Z_OK: Z_OK$1, Z_STREAM_END: Z_STREAM_END$1, Z_NEED_DICT: Z_NEED_DICT$1, Z_STREAM_ERROR: Z_STREAM_ERROR$1, Z_DATA_ERROR: Z_DATA_ERROR$1, Z_MEM_ERROR: Z_MEM_ERROR$1, Z_BUF_ERROR,\n Z_DEFLATED\n} = constants$2;\n\n\n/* STATES ====================================================================*/\n/* ===========================================================================*/\n\n\nconst HEAD = 16180; /* i: waiting for magic header */\nconst FLAGS = 16181; /* i: waiting for method and flags (gzip) */\nconst TIME = 16182; /* i: waiting for modification time (gzip) */\nconst OS = 16183; /* i: waiting for extra flags and operating system (gzip) */\nconst EXLEN = 16184; /* i: waiting for extra length (gzip) */\nconst EXTRA = 16185; /* i: waiting for extra bytes (gzip) */\nconst NAME = 16186; /* i: waiting for end of file name (gzip) */\nconst COMMENT = 16187; /* i: waiting for end of comment (gzip) */\nconst HCRC = 16188; /* i: waiting for header crc (gzip) */\nconst DICTID = 16189; /* i: waiting for dictionary check value */\nconst DICT = 16190; /* waiting for inflateSetDictionary() call */\nconst TYPE = 16191; /* i: waiting for type bits, including last-flag bit */\nconst TYPEDO = 16192; /* i: same, but skip check to exit inflate on new block */\nconst STORED = 16193; /* i: waiting for stored size (length and complement) */\nconst COPY_ = 16194; /* i/o: same as COPY below, but only first time in */\nconst COPY = 16195; /* i/o: waiting for input or output to copy stored block */\nconst TABLE = 16196; /* i: waiting for dynamic block table lengths */\nconst LENLENS = 16197; /* i: waiting for code length code lengths */\nconst CODELENS = 16198; /* i: waiting for length/lit and distance code lengths */\nconst LEN_ = 16199; /* i: same as LEN below, but only first time in */\nconst LEN = 16200; /* i: waiting for length/lit/eob code */\nconst LENEXT = 16201; /* i: waiting for length extra bits */\nconst DIST = 16202; /* i: waiting for distance code */\nconst DISTEXT = 16203; /* i: waiting for distance extra bits */\nconst MATCH = 16204; /* o: waiting for output space to copy string */\nconst LIT = 16205; /* o: waiting for output space to write literal */\nconst CHECK = 16206; /* i: waiting for 32-bit check value */\nconst LENGTH = 16207; /* i: waiting for 32-bit length (gzip) */\nconst DONE = 16208; /* finished check, done -- remain here until reset */\nconst BAD = 16209; /* got a data error -- remain here until reset */\nconst MEM = 16210; /* got an inflate() memory error -- remain here until reset */\nconst SYNC = 16211; /* looking for synchronization bytes to restart inflate() */\n\n/* ===========================================================================*/\n\n\n\nconst ENOUGH_LENS = 852;\nconst ENOUGH_DISTS = 592;\n//const ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS);\n\nconst MAX_WBITS = 15;\n/* 32K LZ77 window */\nconst DEF_WBITS = MAX_WBITS;\n\n\nconst zswap32 = (q) => {\n\n return (((q >>> 24) & 0xff) +\n ((q >>> 8) & 0xff00) +\n ((q & 0xff00) << 8) +\n ((q & 0xff) << 24));\n};\n\n\nfunction InflateState() {\n this.strm = null; /* pointer back to this zlib stream */\n this.mode = 0; /* current inflate mode */\n this.last = false; /* true if processing last block */\n this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip,\n bit 2 true to validate check value */\n this.havedict = false; /* true if dictionary provided */\n this.flags = 0; /* gzip header method and flags (0 if zlib), or\n -1 if raw or no header yet */\n this.dmax = 0; /* zlib header max distance (INFLATE_STRICT) */\n this.check = 0; /* protected copy of check value */\n this.total = 0; /* protected copy of output count */\n // TODO: may be {}\n this.head = null; /* where to save gzip header information */\n\n /* sliding window */\n this.wbits = 0; /* log base 2 of requested window size */\n this.wsize = 0; /* window size or zero if not using window */\n this.whave = 0; /* valid bytes in the window */\n this.wnext = 0; /* window write index */\n this.window = null; /* allocated sliding window, if needed */\n\n /* bit accumulator */\n this.hold = 0; /* input bit accumulator */\n this.bits = 0; /* number of bits in \"in\" */\n\n /* for string and stored block copying */\n this.length = 0; /* literal or length of data to copy */\n this.offset = 0; /* distance back to copy string from */\n\n /* for table and code decoding */\n this.extra = 0; /* extra bits needed */\n\n /* fixed and dynamic code tables */\n this.lencode = null; /* starting table for length/literal codes */\n this.distcode = null; /* starting table for distance codes */\n this.lenbits = 0; /* index bits for lencode */\n this.distbits = 0; /* index bits for distcode */\n\n /* dynamic table building */\n this.ncode = 0; /* number of code length code lengths */\n this.nlen = 0; /* number of length code lengths */\n this.ndist = 0; /* number of distance code lengths */\n this.have = 0; /* number of code lengths in lens[] */\n this.next = null; /* next available space in codes[] */\n\n this.lens = new Uint16Array(320); /* temporary storage for code lengths */\n this.work = new Uint16Array(288); /* work area for code table building */\n\n /*\n because we don't have pointers in js, we use lencode and distcode directly\n as buffers so we don't need codes\n */\n //this.codes = new Int32Array(ENOUGH); /* space for code tables */\n this.lendyn = null; /* dynamic table for length/literal codes (JS specific) */\n this.distdyn = null; /* dynamic table for distance codes (JS specific) */\n this.sane = 0; /* if false, allow invalid distance too far */\n this.back = 0; /* bits back of last unprocessed length/lit */\n this.was = 0; /* initial length of match */\n}\n\n\nconst inflateStateCheck = (strm) => {\n\n if (!strm) {\n return 1;\n }\n const state = strm.state;\n if (!state || state.strm !== strm ||\n state.mode < HEAD || state.mode > SYNC) {\n return 1;\n }\n return 0;\n};\n\n\nconst inflateResetKeep = (strm) => {\n\n if (inflateStateCheck(strm)) { return Z_STREAM_ERROR$1; }\n const state = strm.state;\n strm.total_in = strm.total_out = state.total = 0;\n strm.msg = ''; /*Z_NULL*/\n if (state.wrap) { /* to support ill-conceived Java test suite */\n strm.adler = state.wrap & 1;\n }\n state.mode = HEAD;\n state.last = 0;\n state.havedict = 0;\n state.flags = -1;\n state.dmax = 32768;\n state.head = null/*Z_NULL*/;\n state.hold = 0;\n state.bits = 0;\n //state.lencode = state.distcode = state.next = state.codes;\n state.lencode = state.lendyn = new Int32Array(ENOUGH_LENS);\n state.distcode = state.distdyn = new Int32Array(ENOUGH_DISTS);\n\n state.sane = 1;\n state.back = -1;\n //Tracev((stderr, \"inflate: reset\\n\"));\n return Z_OK$1;\n};\n\n\nconst inflateReset = (strm) => {\n\n if (inflateStateCheck(strm)) { return Z_STREAM_ERROR$1; }\n const state = strm.state;\n state.wsize = 0;\n state.whave = 0;\n state.wnext = 0;\n return inflateResetKeep(strm);\n\n};\n\n\nconst inflateReset2 = (strm, windowBits) => {\n let wrap;\n\n /* get the state */\n if (inflateStateCheck(strm)) { return Z_STREAM_ERROR$1; }\n const state = strm.state;\n\n /* extract wrap request from windowBits parameter */\n if (windowBits < 0) {\n wrap = 0;\n windowBits = -windowBits;\n }\n else {\n wrap = (windowBits >> 4) + 5;\n if (windowBits < 48) {\n windowBits &= 15;\n }\n }\n\n /* set number of window bits, free window if different */\n if (windowBits && (windowBits < 8 || windowBits > 15)) {\n return Z_STREAM_ERROR$1;\n }\n if (state.window !== null && state.wbits !== windowBits) {\n state.window = null;\n }\n\n /* update state and reset the rest of it */\n state.wrap = wrap;\n state.wbits = windowBits;\n return inflateReset(strm);\n};\n\n\nconst inflateInit2 = (strm, windowBits) => {\n\n if (!strm) { return Z_STREAM_ERROR$1; }\n //strm.msg = Z_NULL; /* in case we return an error */\n\n const state = new InflateState();\n\n //if (state === Z_NULL) return Z_MEM_ERROR;\n //Tracev((stderr, \"inflate: allocated\\n\"));\n strm.state = state;\n state.strm = strm;\n state.window = null/*Z_NULL*/;\n state.mode = HEAD; /* to pass state test in inflateReset2() */\n const ret = inflateReset2(strm, windowBits);\n if (ret !== Z_OK$1) {\n strm.state = null/*Z_NULL*/;\n }\n return ret;\n};\n\n\nconst inflateInit = (strm) => {\n\n return inflateInit2(strm, DEF_WBITS);\n};\n\n\n/*\n Return state with length and distance decoding tables and index sizes set to\n fixed code decoding. Normally this returns fixed tables from inffixed.h.\n If BUILDFIXED is defined, then instead this routine builds the tables the\n first time it's called, and returns those tables the first time and\n thereafter. This reduces the size of the code by about 2K bytes, in\n exchange for a little execution time. However, BUILDFIXED should not be\n used for threaded applications, since the rewriting of the tables and virgin\n may not be thread-safe.\n */\nlet virgin = true;\n\nlet lenfix, distfix; // We have no pointers in JS, so keep tables separate\n\n\nconst fixedtables = (state) => {\n\n /* build fixed huffman tables if first call (may not be thread safe) */\n if (virgin) {\n lenfix = new Int32Array(512);\n distfix = new Int32Array(32);\n\n /* literal/length table */\n let sym = 0;\n while (sym < 144) { state.lens[sym++] = 8; }\n while (sym < 256) { state.lens[sym++] = 9; }\n while (sym < 280) { state.lens[sym++] = 7; }\n while (sym < 288) { state.lens[sym++] = 8; }\n\n inftrees(LENS, state.lens, 0, 288, lenfix, 0, state.work, { bits: 9 });\n\n /* distance table */\n sym = 0;\n while (sym < 32) { state.lens[sym++] = 5; }\n\n inftrees(DISTS, state.lens, 0, 32, distfix, 0, state.work, { bits: 5 });\n\n /* do this just once */\n virgin = false;\n }\n\n state.lencode = lenfix;\n state.lenbits = 9;\n state.distcode = distfix;\n state.distbits = 5;\n};\n\n\n/*\n Update the window with the last wsize (normally 32K) bytes written before\n returning. If window does not exist yet, create it. This is only called\n when a window is already in use, or when output has been written during this\n inflate call, but the end of the deflate stream has not been reached yet.\n It is also called to create a window for dictionary data when a dictionary\n is loaded.\n\n Providing output buffers larger than 32K to inflate() should provide a speed\n advantage, since only the last 32K of output is copied to the sliding window\n upon return from inflate(), and since all distances after the first 32K of\n output will fall in the output data, making match copies simpler and faster.\n The advantage may be dependent on the size of the processor's data caches.\n */\nconst updatewindow = (strm, src, end, copy) => {\n\n let dist;\n const state = strm.state;\n\n /* if it hasn't been done already, allocate space for the window */\n if (state.window === null) {\n state.wsize = 1 << state.wbits;\n state.wnext = 0;\n state.whave = 0;\n\n state.window = new Uint8Array(state.wsize);\n }\n\n /* copy state->wsize or less output bytes into the circular window */\n if (copy >= state.wsize) {\n state.window.set(src.subarray(end - state.wsize, end), 0);\n state.wnext = 0;\n state.whave = state.wsize;\n }\n else {\n dist = state.wsize - state.wnext;\n if (dist > copy) {\n dist = copy;\n }\n //zmemcpy(state->window + state->wnext, end - copy, dist);\n state.window.set(src.subarray(end - copy, end - copy + dist), state.wnext);\n copy -= dist;\n if (copy) {\n //zmemcpy(state->window, end - copy, copy);\n state.window.set(src.subarray(end - copy, end), 0);\n state.wnext = copy;\n state.whave = state.wsize;\n }\n else {\n state.wnext += dist;\n if (state.wnext === state.wsize) { state.wnext = 0; }\n if (state.whave < state.wsize) { state.whave += dist; }\n }\n }\n return 0;\n};\n\n\nconst inflate$2 = (strm, flush) => {\n\n let state;\n let input, output; // input/output buffers\n let next; /* next input INDEX */\n let put; /* next output INDEX */\n let have, left; /* available input and output */\n let hold; /* bit buffer */\n let bits; /* bits in bit buffer */\n let _in, _out; /* save starting available input and output */\n let copy; /* number of stored or match bytes to copy */\n let from; /* where to copy match bytes from */\n let from_source;\n let here = 0; /* current decoding table entry */\n let here_bits, here_op, here_val; // paked \"here\" denormalized (JS specific)\n //let last; /* parent table entry */\n let last_bits, last_op, last_val; // paked \"last\" denormalized (JS specific)\n let len; /* length to copy for repeats, bits to drop */\n let ret; /* return code */\n const hbuf = new Uint8Array(4); /* buffer for gzip header crc calculation */\n let opts;\n\n let n; // temporary variable for NEED_BITS\n\n const order = /* permutation of code lengths */\n new Uint8Array([ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ]);\n\n\n if (inflateStateCheck(strm) || !strm.output ||\n (!strm.input && strm.avail_in !== 0)) {\n return Z_STREAM_ERROR$1;\n }\n\n state = strm.state;\n if (state.mode === TYPE) { state.mode = TYPEDO; } /* skip check */\n\n\n //--- LOAD() ---\n put = strm.next_out;\n output = strm.output;\n left = strm.avail_out;\n next = strm.next_in;\n input = strm.input;\n have = strm.avail_in;\n hold = state.hold;\n bits = state.bits;\n //---\n\n _in = have;\n _out = left;\n ret = Z_OK$1;\n\n inf_leave: // goto emulation\n for (;;) {\n switch (state.mode) {\n case HEAD:\n if (state.wrap === 0) {\n state.mode = TYPEDO;\n break;\n }\n //=== NEEDBITS(16);\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if ((state.wrap & 2) && hold === 0x8b1f) { /* gzip header */\n if (state.wbits === 0) {\n state.wbits = 15;\n }\n state.check = 0/*crc32(0L, Z_NULL, 0)*/;\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32_1(state.check, hbuf, 2, 0);\n //===//\n\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = FLAGS;\n break;\n }\n if (state.head) {\n state.head.done = false;\n }\n if (!(state.wrap & 1) || /* check if zlib header allowed */\n (((hold & 0xff)/*BITS(8)*/ << 8) + (hold >> 8)) % 31) {\n strm.msg = 'incorrect header check';\n state.mode = BAD;\n break;\n }\n if ((hold & 0x0f)/*BITS(4)*/ !== Z_DEFLATED) {\n strm.msg = 'unknown compression method';\n state.mode = BAD;\n break;\n }\n //--- DROPBITS(4) ---//\n hold >>>= 4;\n bits -= 4;\n //---//\n len = (hold & 0x0f)/*BITS(4)*/ + 8;\n if (state.wbits === 0) {\n state.wbits = len;\n }\n if (len > 15 || len > state.wbits) {\n strm.msg = 'invalid window size';\n state.mode = BAD;\n break;\n }\n\n // !!! pako patch. Force use `options.windowBits` if passed.\n // Required to always use max window size by default.\n state.dmax = 1 << state.wbits;\n //state.dmax = 1 << len;\n\n state.flags = 0; /* indicate zlib header */\n //Tracev((stderr, \"inflate: zlib header ok\\n\"));\n strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;\n state.mode = hold & 0x200 ? DICTID : TYPE;\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n break;\n case FLAGS:\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.flags = hold;\n if ((state.flags & 0xff) !== Z_DEFLATED) {\n strm.msg = 'unknown compression method';\n state.mode = BAD;\n break;\n }\n if (state.flags & 0xe000) {\n strm.msg = 'unknown header flags set';\n state.mode = BAD;\n break;\n }\n if (state.head) {\n state.head.text = ((hold >> 8) & 1);\n }\n if ((state.flags & 0x0200) && (state.wrap & 4)) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32_1(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = TIME;\n /* falls through */\n case TIME:\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (state.head) {\n state.head.time = hold;\n }\n if ((state.flags & 0x0200) && (state.wrap & 4)) {\n //=== CRC4(state.check, hold)\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n hbuf[2] = (hold >>> 16) & 0xff;\n hbuf[3] = (hold >>> 24) & 0xff;\n state.check = crc32_1(state.check, hbuf, 4, 0);\n //===\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = OS;\n /* falls through */\n case OS:\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (state.head) {\n state.head.xflags = (hold & 0xff);\n state.head.os = (hold >> 8);\n }\n if ((state.flags & 0x0200) && (state.wrap & 4)) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32_1(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = EXLEN;\n /* falls through */\n case EXLEN:\n if (state.flags & 0x0400) {\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.length = hold;\n if (state.head) {\n state.head.extra_len = hold;\n }\n if ((state.flags & 0x0200) && (state.wrap & 4)) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32_1(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n }\n else if (state.head) {\n state.head.extra = null/*Z_NULL*/;\n }\n state.mode = EXTRA;\n /* falls through */\n case EXTRA:\n if (state.flags & 0x0400) {\n copy = state.length;\n if (copy > have) { copy = have; }\n if (copy) {\n if (state.head) {\n len = state.head.extra_len - state.length;\n if (!state.head.extra) {\n // Use untyped array for more convenient processing later\n state.head.extra = new Uint8Array(state.head.extra_len);\n }\n state.head.extra.set(\n input.subarray(\n next,\n // extra field is limited to 65536 bytes\n // - no need for additional size check\n next + copy\n ),\n /*len + copy > state.head.extra_max - len ? state.head.extra_max : copy,*/\n len\n );\n //zmemcpy(state.head.extra + len, next,\n // len + copy > state.head.extra_max ?\n // state.head.extra_max - len : copy);\n }\n if ((state.flags & 0x0200) && (state.wrap & 4)) {\n state.check = crc32_1(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n state.length -= copy;\n }\n if (state.length) { break inf_leave; }\n }\n state.length = 0;\n state.mode = NAME;\n /* falls through */\n case NAME:\n if (state.flags & 0x0800) {\n if (have === 0) { break inf_leave; }\n copy = 0;\n do {\n // TODO: 2 or 1 bytes?\n len = input[next + copy++];\n /* use constant limit because in js we should not preallocate memory */\n if (state.head && len &&\n (state.length < 65536 /*state.head.name_max*/)) {\n state.head.name += String.fromCharCode(len);\n }\n } while (len && copy < have);\n\n if ((state.flags & 0x0200) && (state.wrap & 4)) {\n state.check = crc32_1(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n if (len) { break inf_leave; }\n }\n else if (state.head) {\n state.head.name = null;\n }\n state.length = 0;\n state.mode = COMMENT;\n /* falls through */\n case COMMENT:\n if (state.flags & 0x1000) {\n if (have === 0) { break inf_leave; }\n copy = 0;\n do {\n len = input[next + copy++];\n /* use constant limit because in js we should not preallocate memory */\n if (state.head && len &&\n (state.length < 65536 /*state.head.comm_max*/)) {\n state.head.comment += String.fromCharCode(len);\n }\n } while (len && copy < have);\n if ((state.flags & 0x0200) && (state.wrap & 4)) {\n state.check = crc32_1(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n if (len) { break inf_leave; }\n }\n else if (state.head) {\n state.head.comment = null;\n }\n state.mode = HCRC;\n /* falls through */\n case HCRC:\n if (state.flags & 0x0200) {\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if ((state.wrap & 4) && hold !== (state.check & 0xffff)) {\n strm.msg = 'header crc mismatch';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n }\n if (state.head) {\n state.head.hcrc = ((state.flags >> 9) & 1);\n state.head.done = true;\n }\n strm.adler = state.check = 0;\n state.mode = TYPE;\n break;\n case DICTID:\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n strm.adler = state.check = zswap32(hold);\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = DICT;\n /* falls through */\n case DICT:\n if (state.havedict === 0) {\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n return Z_NEED_DICT$1;\n }\n strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;\n state.mode = TYPE;\n /* falls through */\n case TYPE:\n if (flush === Z_BLOCK || flush === Z_TREES) { break inf_leave; }\n /* falls through */\n case TYPEDO:\n if (state.last) {\n //--- BYTEBITS() ---//\n hold >>>= bits & 7;\n bits -= bits & 7;\n //---//\n state.mode = CHECK;\n break;\n }\n //=== NEEDBITS(3); */\n while (bits < 3) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.last = (hold & 0x01)/*BITS(1)*/;\n //--- DROPBITS(1) ---//\n hold >>>= 1;\n bits -= 1;\n //---//\n\n switch ((hold & 0x03)/*BITS(2)*/) {\n case 0: /* stored block */\n //Tracev((stderr, \"inflate: stored block%s\\n\",\n // state.last ? \" (last)\" : \"\"));\n state.mode = STORED;\n break;\n case 1: /* fixed block */\n fixedtables(state);\n //Tracev((stderr, \"inflate: fixed codes block%s\\n\",\n // state.last ? \" (last)\" : \"\"));\n state.mode = LEN_; /* decode codes */\n if (flush === Z_TREES) {\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n break inf_leave;\n }\n break;\n case 2: /* dynamic block */\n //Tracev((stderr, \"inflate: dynamic codes block%s\\n\",\n // state.last ? \" (last)\" : \"\"));\n state.mode = TABLE;\n break;\n case 3:\n strm.msg = 'invalid block type';\n state.mode = BAD;\n }\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n break;\n case STORED:\n //--- BYTEBITS() ---// /* go to byte boundary */\n hold >>>= bits & 7;\n bits -= bits & 7;\n //---//\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if ((hold & 0xffff) !== ((hold >>> 16) ^ 0xffff)) {\n strm.msg = 'invalid stored block lengths';\n state.mode = BAD;\n break;\n }\n state.length = hold & 0xffff;\n //Tracev((stderr, \"inflate: stored length %u\\n\",\n // state.length));\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = COPY_;\n if (flush === Z_TREES) { break inf_leave; }\n /* falls through */\n case COPY_:\n state.mode = COPY;\n /* falls through */\n case COPY:\n copy = state.length;\n if (copy) {\n if (copy > have) { copy = have; }\n if (copy > left) { copy = left; }\n if (copy === 0) { break inf_leave; }\n //--- zmemcpy(put, next, copy); ---\n output.set(input.subarray(next, next + copy), put);\n //---//\n have -= copy;\n next += copy;\n left -= copy;\n put += copy;\n state.length -= copy;\n break;\n }\n //Tracev((stderr, \"inflate: stored end\\n\"));\n state.mode = TYPE;\n break;\n case TABLE:\n //=== NEEDBITS(14); */\n while (bits < 14) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.nlen = (hold & 0x1f)/*BITS(5)*/ + 257;\n //--- DROPBITS(5) ---//\n hold >>>= 5;\n bits -= 5;\n //---//\n state.ndist = (hold & 0x1f)/*BITS(5)*/ + 1;\n //--- DROPBITS(5) ---//\n hold >>>= 5;\n bits -= 5;\n //---//\n state.ncode = (hold & 0x0f)/*BITS(4)*/ + 4;\n //--- DROPBITS(4) ---//\n hold >>>= 4;\n bits -= 4;\n //---//\n//#ifndef PKZIP_BUG_WORKAROUND\n if (state.nlen > 286 || state.ndist > 30) {\n strm.msg = 'too many length or distance symbols';\n state.mode = BAD;\n break;\n }\n//#endif\n //Tracev((stderr, \"inflate: table sizes ok\\n\"));\n state.have = 0;\n state.mode = LENLENS;\n /* falls through */\n case LENLENS:\n while (state.have < state.ncode) {\n //=== NEEDBITS(3);\n while (bits < 3) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.lens[order[state.have++]] = (hold & 0x07);//BITS(3);\n //--- DROPBITS(3) ---//\n hold >>>= 3;\n bits -= 3;\n //---//\n }\n while (state.have < 19) {\n state.lens[order[state.have++]] = 0;\n }\n // We have separate tables & no pointers. 2 commented lines below not needed.\n //state.next = state.codes;\n //state.lencode = state.next;\n // Switch to use dynamic table\n state.lencode = state.lendyn;\n state.lenbits = 7;\n\n opts = { bits: state.lenbits };\n ret = inftrees(CODES, state.lens, 0, 19, state.lencode, 0, state.work, opts);\n state.lenbits = opts.bits;\n\n if (ret) {\n strm.msg = 'invalid code lengths set';\n state.mode = BAD;\n break;\n }\n //Tracev((stderr, \"inflate: code lengths ok\\n\"));\n state.have = 0;\n state.mode = CODELENS;\n /* falls through */\n case CODELENS:\n while (state.have < state.nlen + state.ndist) {\n for (;;) {\n here = state.lencode[hold & ((1 << state.lenbits) - 1)];/*BITS(state.lenbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if (here_val < 16) {\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.lens[state.have++] = here_val;\n }\n else {\n if (here_val === 16) {\n //=== NEEDBITS(here.bits + 2);\n n = here_bits + 2;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n if (state.have === 0) {\n strm.msg = 'invalid bit length repeat';\n state.mode = BAD;\n break;\n }\n len = state.lens[state.have - 1];\n copy = 3 + (hold & 0x03);//BITS(2);\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n }\n else if (here_val === 17) {\n //=== NEEDBITS(here.bits + 3);\n n = here_bits + 3;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n len = 0;\n copy = 3 + (hold & 0x07);//BITS(3);\n //--- DROPBITS(3) ---//\n hold >>>= 3;\n bits -= 3;\n //---//\n }\n else {\n //=== NEEDBITS(here.bits + 7);\n n = here_bits + 7;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n len = 0;\n copy = 11 + (hold & 0x7f);//BITS(7);\n //--- DROPBITS(7) ---//\n hold >>>= 7;\n bits -= 7;\n //---//\n }\n if (state.have + copy > state.nlen + state.ndist) {\n strm.msg = 'invalid bit length repeat';\n state.mode = BAD;\n break;\n }\n while (copy--) {\n state.lens[state.have++] = len;\n }\n }\n }\n\n /* handle error breaks in while */\n if (state.mode === BAD) { break; }\n\n /* check for end-of-block code (better have one) */\n if (state.lens[256] === 0) {\n strm.msg = 'invalid code -- missing end-of-block';\n state.mode = BAD;\n break;\n }\n\n /* build code tables -- note: do not change the lenbits or distbits\n values here (9 and 6) without reading the comments in inftrees.h\n concerning the ENOUGH constants, which depend on those values */\n state.lenbits = 9;\n\n opts = { bits: state.lenbits };\n ret = inftrees(LENS, state.lens, 0, state.nlen, state.lencode, 0, state.work, opts);\n // We have separate tables & no pointers. 2 commented lines below not needed.\n // state.next_index = opts.table_index;\n state.lenbits = opts.bits;\n // state.lencode = state.next;\n\n if (ret) {\n strm.msg = 'invalid literal/lengths set';\n state.mode = BAD;\n break;\n }\n\n state.distbits = 6;\n //state.distcode.copy(state.codes);\n // Switch to use dynamic table\n state.distcode = state.distdyn;\n opts = { bits: state.distbits };\n ret = inftrees(DISTS, state.lens, state.nlen, state.ndist, state.distcode, 0, state.work, opts);\n // We have separate tables & no pointers. 2 commented lines below not needed.\n // state.next_index = opts.table_index;\n state.distbits = opts.bits;\n // state.distcode = state.next;\n\n if (ret) {\n strm.msg = 'invalid distances set';\n state.mode = BAD;\n break;\n }\n //Tracev((stderr, 'inflate: codes ok\\n'));\n state.mode = LEN_;\n if (flush === Z_TREES) { break inf_leave; }\n /* falls through */\n case LEN_:\n state.mode = LEN;\n /* falls through */\n case LEN:\n if (have >= 6 && left >= 258) {\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n inffast(strm, _out);\n //--- LOAD() ---\n put = strm.next_out;\n output = strm.output;\n left = strm.avail_out;\n next = strm.next_in;\n input = strm.input;\n have = strm.avail_in;\n hold = state.hold;\n bits = state.bits;\n //---\n\n if (state.mode === TYPE) {\n state.back = -1;\n }\n break;\n }\n state.back = 0;\n for (;;) {\n here = state.lencode[hold & ((1 << state.lenbits) - 1)]; /*BITS(state.lenbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if (here_bits <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if (here_op && (here_op & 0xf0) === 0) {\n last_bits = here_bits;\n last_op = here_op;\n last_val = here_val;\n for (;;) {\n here = state.lencode[last_val +\n ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)];\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((last_bits + here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n //--- DROPBITS(last.bits) ---//\n hold >>>= last_bits;\n bits -= last_bits;\n //---//\n state.back += last_bits;\n }\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.back += here_bits;\n state.length = here_val;\n if (here_op === 0) {\n //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\n // \"inflate: literal '%c'\\n\" :\n // \"inflate: literal 0x%02x\\n\", here.val));\n state.mode = LIT;\n break;\n }\n if (here_op & 32) {\n //Tracevv((stderr, \"inflate: end of block\\n\"));\n state.back = -1;\n state.mode = TYPE;\n break;\n }\n if (here_op & 64) {\n strm.msg = 'invalid literal/length code';\n state.mode = BAD;\n break;\n }\n state.extra = here_op & 15;\n state.mode = LENEXT;\n /* falls through */\n case LENEXT:\n if (state.extra) {\n //=== NEEDBITS(state.extra);\n n = state.extra;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.length += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/;\n //--- DROPBITS(state.extra) ---//\n hold >>>= state.extra;\n bits -= state.extra;\n //---//\n state.back += state.extra;\n }\n //Tracevv((stderr, \"inflate: length %u\\n\", state.length));\n state.was = state.length;\n state.mode = DIST;\n /* falls through */\n case DIST:\n for (;;) {\n here = state.distcode[hold & ((1 << state.distbits) - 1)];/*BITS(state.distbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if ((here_op & 0xf0) === 0) {\n last_bits = here_bits;\n last_op = here_op;\n last_val = here_val;\n for (;;) {\n here = state.distcode[last_val +\n ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)];\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((last_bits + here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n //--- DROPBITS(last.bits) ---//\n hold >>>= last_bits;\n bits -= last_bits;\n //---//\n state.back += last_bits;\n }\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.back += here_bits;\n if (here_op & 64) {\n strm.msg = 'invalid distance code';\n state.mode = BAD;\n break;\n }\n state.offset = here_val;\n state.extra = (here_op) & 15;\n state.mode = DISTEXT;\n /* falls through */\n case DISTEXT:\n if (state.extra) {\n //=== NEEDBITS(state.extra);\n n = state.extra;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.offset += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/;\n //--- DROPBITS(state.extra) ---//\n hold >>>= state.extra;\n bits -= state.extra;\n //---//\n state.back += state.extra;\n }\n//#ifdef INFLATE_STRICT\n if (state.offset > state.dmax) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break;\n }\n//#endif\n //Tracevv((stderr, \"inflate: distance %u\\n\", state.offset));\n state.mode = MATCH;\n /* falls through */\n case MATCH:\n if (left === 0) { break inf_leave; }\n copy = _out - left;\n if (state.offset > copy) { /* copy from window */\n copy = state.offset - copy;\n if (copy > state.whave) {\n if (state.sane) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break;\n }\n// (!) This block is disabled in zlib defaults,\n// don't enable it for binary compatibility\n//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\n// Trace((stderr, \"inflate.c too far\\n\"));\n// copy -= state.whave;\n// if (copy > state.length) { copy = state.length; }\n// if (copy > left) { copy = left; }\n// left -= copy;\n// state.length -= copy;\n// do {\n// output[put++] = 0;\n// } while (--copy);\n// if (state.length === 0) { state.mode = LEN; }\n// break;\n//#endif\n }\n if (copy > state.wnext) {\n copy -= state.wnext;\n from = state.wsize - copy;\n }\n else {\n from = state.wnext - copy;\n }\n if (copy > state.length) { copy = state.length; }\n from_source = state.window;\n }\n else { /* copy from output */\n from_source = output;\n from = put - state.offset;\n copy = state.length;\n }\n if (copy > left) { copy = left; }\n left -= copy;\n state.length -= copy;\n do {\n output[put++] = from_source[from++];\n } while (--copy);\n if (state.length === 0) { state.mode = LEN; }\n break;\n case LIT:\n if (left === 0) { break inf_leave; }\n output[put++] = state.length;\n left--;\n state.mode = LEN;\n break;\n case CHECK:\n if (state.wrap) {\n //=== NEEDBITS(32);\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n // Use '|' instead of '+' to make sure that result is signed\n hold |= input[next++] << bits;\n bits += 8;\n }\n //===//\n _out -= left;\n strm.total_out += _out;\n state.total += _out;\n if ((state.wrap & 4) && _out) {\n strm.adler = state.check =\n /*UPDATE_CHECK(state.check, put - _out, _out);*/\n (state.flags ? crc32_1(state.check, output, _out, put - _out) : adler32_1(state.check, output, _out, put - _out));\n\n }\n _out = left;\n // NB: crc32 stored as signed 32-bit int, zswap32 returns signed too\n if ((state.wrap & 4) && (state.flags ? hold : zswap32(hold)) !== state.check) {\n strm.msg = 'incorrect data check';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n //Tracev((stderr, \"inflate: check matches trailer\\n\"));\n }\n state.mode = LENGTH;\n /* falls through */\n case LENGTH:\n if (state.wrap && state.flags) {\n //=== NEEDBITS(32);\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if ((state.wrap & 4) && hold !== (state.total & 0xffffffff)) {\n strm.msg = 'incorrect length check';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n //Tracev((stderr, \"inflate: length matches trailer\\n\"));\n }\n state.mode = DONE;\n /* falls through */\n case DONE:\n ret = Z_STREAM_END$1;\n break inf_leave;\n case BAD:\n ret = Z_DATA_ERROR$1;\n break inf_leave;\n case MEM:\n return Z_MEM_ERROR$1;\n case SYNC:\n /* falls through */\n default:\n return Z_STREAM_ERROR$1;\n }\n }\n\n // inf_leave <- here is real place for \"goto inf_leave\", emulated via \"break inf_leave\"\n\n /*\n Return from inflate(), updating the total counts and the check value.\n If there was no progress during the inflate() call, return a buffer\n error. Call updatewindow() to create and/or update the window state.\n Note: a memory error from inflate() is non-recoverable.\n */\n\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n\n if (state.wsize || (_out !== strm.avail_out && state.mode < BAD &&\n (state.mode < CHECK || flush !== Z_FINISH$1))) {\n if (updatewindow(strm, strm.output, strm.next_out, _out - strm.avail_out)) ;\n }\n _in -= strm.avail_in;\n _out -= strm.avail_out;\n strm.total_in += _in;\n strm.total_out += _out;\n state.total += _out;\n if ((state.wrap & 4) && _out) {\n strm.adler = state.check = /*UPDATE_CHECK(state.check, strm.next_out - _out, _out);*/\n (state.flags ? crc32_1(state.check, output, _out, strm.next_out - _out) : adler32_1(state.check, output, _out, strm.next_out - _out));\n }\n strm.data_type = state.bits + (state.last ? 64 : 0) +\n (state.mode === TYPE ? 128 : 0) +\n (state.mode === LEN_ || state.mode === COPY_ ? 256 : 0);\n if (((_in === 0 && _out === 0) || flush === Z_FINISH$1) && ret === Z_OK$1) {\n ret = Z_BUF_ERROR;\n }\n return ret;\n};\n\n\nconst inflateEnd = (strm) => {\n\n if (inflateStateCheck(strm)) {\n return Z_STREAM_ERROR$1;\n }\n\n let state = strm.state;\n if (state.window) {\n state.window = null;\n }\n strm.state = null;\n return Z_OK$1;\n};\n\n\nconst inflateGetHeader = (strm, head) => {\n\n /* check state */\n if (inflateStateCheck(strm)) { return Z_STREAM_ERROR$1; }\n const state = strm.state;\n if ((state.wrap & 2) === 0) { return Z_STREAM_ERROR$1; }\n\n /* save header structure */\n state.head = head;\n head.done = false;\n return Z_OK$1;\n};\n\n\nconst inflateSetDictionary = (strm, dictionary) => {\n const dictLength = dictionary.length;\n\n let state;\n let dictid;\n let ret;\n\n /* check state */\n if (inflateStateCheck(strm)) { return Z_STREAM_ERROR$1; }\n state = strm.state;\n\n if (state.wrap !== 0 && state.mode !== DICT) {\n return Z_STREAM_ERROR$1;\n }\n\n /* check for correct dictionary identifier */\n if (state.mode === DICT) {\n dictid = 1; /* adler32(0, null, 0)*/\n /* dictid = adler32(dictid, dictionary, dictLength); */\n dictid = adler32_1(dictid, dictionary, dictLength, 0);\n if (dictid !== state.check) {\n return Z_DATA_ERROR$1;\n }\n }\n /* copy dictionary to window using updatewindow(), which will amend the\n existing dictionary if appropriate */\n ret = updatewindow(strm, dictionary, dictLength, dictLength);\n if (ret) {\n state.mode = MEM;\n return Z_MEM_ERROR$1;\n }\n state.havedict = 1;\n // Tracev((stderr, \"inflate: dictionary set\\n\"));\n return Z_OK$1;\n};\n\n\nvar inflateReset_1 = inflateReset;\nvar inflateReset2_1 = inflateReset2;\nvar inflateResetKeep_1 = inflateResetKeep;\nvar inflateInit_1 = inflateInit;\nvar inflateInit2_1 = inflateInit2;\nvar inflate_2$1 = inflate$2;\nvar inflateEnd_1 = inflateEnd;\nvar inflateGetHeader_1 = inflateGetHeader;\nvar inflateSetDictionary_1 = inflateSetDictionary;\nvar inflateInfo = 'pako inflate (from Nodeca project)';\n\n/* Not implemented\nmodule.exports.inflateCodesUsed = inflateCodesUsed;\nmodule.exports.inflateCopy = inflateCopy;\nmodule.exports.inflateGetDictionary = inflateGetDictionary;\nmodule.exports.inflateMark = inflateMark;\nmodule.exports.inflatePrime = inflatePrime;\nmodule.exports.inflateSync = inflateSync;\nmodule.exports.inflateSyncPoint = inflateSyncPoint;\nmodule.exports.inflateUndermine = inflateUndermine;\nmodule.exports.inflateValidate = inflateValidate;\n*/\n\nvar inflate_1$2 = {\n\tinflateReset: inflateReset_1,\n\tinflateReset2: inflateReset2_1,\n\tinflateResetKeep: inflateResetKeep_1,\n\tinflateInit: inflateInit_1,\n\tinflateInit2: inflateInit2_1,\n\tinflate: inflate_2$1,\n\tinflateEnd: inflateEnd_1,\n\tinflateGetHeader: inflateGetHeader_1,\n\tinflateSetDictionary: inflateSetDictionary_1,\n\tinflateInfo: inflateInfo\n};\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nfunction GZheader() {\n /* true if compressed data believed to be text */\n this.text = 0;\n /* modification time */\n this.time = 0;\n /* extra flags (not used when writing a gzip file) */\n this.xflags = 0;\n /* operating system */\n this.os = 0;\n /* pointer to extra field or Z_NULL if none */\n this.extra = null;\n /* extra field length (valid if extra != Z_NULL) */\n this.extra_len = 0; // Actually, we don't need it in JS,\n // but leave for few code modifications\n\n //\n // Setup limits is not necessary because in js we should not preallocate memory\n // for inflate use constant limit in 65536 bytes\n //\n\n /* space at extra (only when reading header) */\n // this.extra_max = 0;\n /* pointer to zero-terminated file name or Z_NULL */\n this.name = '';\n /* space at name (only when reading header) */\n // this.name_max = 0;\n /* pointer to zero-terminated comment or Z_NULL */\n this.comment = '';\n /* space at comment (only when reading header) */\n // this.comm_max = 0;\n /* true if there was or will be a header crc */\n this.hcrc = 0;\n /* true when done reading gzip header (not used when writing a gzip file) */\n this.done = false;\n}\n\nvar gzheader = GZheader;\n\nconst toString = Object.prototype.toString;\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\nconst {\n Z_NO_FLUSH, Z_FINISH,\n Z_OK, Z_STREAM_END, Z_NEED_DICT, Z_STREAM_ERROR, Z_DATA_ERROR, Z_MEM_ERROR\n} = constants$2;\n\n/* ===========================================================================*/\n\n\n/**\n * class Inflate\n *\n * Generic JS-style wrapper for zlib calls. If you don't need\n * streaming behaviour - use more simple functions: [[inflate]]\n * and [[inflateRaw]].\n **/\n\n/* internal\n * inflate.chunks -> Array\n *\n * Chunks of output data, if [[Inflate#onData]] not overridden.\n **/\n\n/**\n * Inflate.result -> Uint8Array|String\n *\n * Uncompressed result, generated by default [[Inflate#onData]]\n * and [[Inflate#onEnd]] handlers. Filled after you push last chunk\n * (call [[Inflate#push]] with `Z_FINISH` / `true` param).\n **/\n\n/**\n * Inflate.err -> Number\n *\n * Error code after inflate finished. 0 (Z_OK) on success.\n * Should be checked if broken data possible.\n **/\n\n/**\n * Inflate.msg -> String\n *\n * Error message, if [[Inflate.err]] != 0\n **/\n\n\n/**\n * new Inflate(options)\n * - options (Object): zlib inflate options.\n *\n * Creates new inflator instance with specified params. Throws exception\n * on bad params. Supported options:\n *\n * - `windowBits`\n * - `dictionary`\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Additional options, for internal needs:\n *\n * - `chunkSize` - size of generated data chunks (16K by default)\n * - `raw` (Boolean) - do raw inflate\n * - `to` (String) - if equal to 'string', then result will be converted\n * from utf8 to utf16 (javascript) string. When string output requested,\n * chunk length can differ from `chunkSize`, depending on content.\n *\n * By default, when no options set, autodetect deflate/gzip data format via\n * wrapper header.\n *\n * ##### Example:\n *\n * ```javascript\n * const pako = require('pako')\n * const chunk1 = new Uint8Array([1,2,3,4,5,6,7,8,9])\n * const chunk2 = new Uint8Array([10,11,12,13,14,15,16,17,18,19]);\n *\n * const inflate = new pako.Inflate({ level: 3});\n *\n * inflate.push(chunk1, false);\n * inflate.push(chunk2, true); // true -> last chunk\n *\n * if (inflate.err) { throw new Error(inflate.err); }\n *\n * console.log(inflate.result);\n * ```\n **/\nfunction Inflate$1(options) {\n this.options = common.assign({\n chunkSize: 1024 * 64,\n windowBits: 15,\n to: ''\n }, options || {});\n\n const opt = this.options;\n\n // Force window size for `raw` data, if not set directly,\n // because we have no header for autodetect.\n if (opt.raw && (opt.windowBits >= 0) && (opt.windowBits < 16)) {\n opt.windowBits = -opt.windowBits;\n if (opt.windowBits === 0) { opt.windowBits = -15; }\n }\n\n // If `windowBits` not defined (and mode not raw) - set autodetect flag for gzip/deflate\n if ((opt.windowBits >= 0) && (opt.windowBits < 16) &&\n !(options && options.windowBits)) {\n opt.windowBits += 32;\n }\n\n // Gzip header has no info about windows size, we can do autodetect only\n // for deflate. So, if window size not set, force it to max when gzip possible\n if ((opt.windowBits > 15) && (opt.windowBits < 48)) {\n // bit 3 (16) -> gzipped data\n // bit 4 (32) -> autodetect gzip/deflate\n if ((opt.windowBits & 15) === 0) {\n opt.windowBits |= 15;\n }\n }\n\n this.err = 0; // error code, if happens (0 = Z_OK)\n this.msg = ''; // error message\n this.ended = false; // used to avoid multiple onEnd() calls\n this.chunks = []; // chunks of compressed data\n\n this.strm = new zstream();\n this.strm.avail_out = 0;\n\n let status = inflate_1$2.inflateInit2(\n this.strm,\n opt.windowBits\n );\n\n if (status !== Z_OK) {\n throw new Error(messages[status]);\n }\n\n this.header = new gzheader();\n\n inflate_1$2.inflateGetHeader(this.strm, this.header);\n\n // Setup dictionary\n if (opt.dictionary) {\n // Convert data if needed\n if (typeof opt.dictionary === 'string') {\n opt.dictionary = strings.string2buf(opt.dictionary);\n } else if (toString.call(opt.dictionary) === '[object ArrayBuffer]') {\n opt.dictionary = new Uint8Array(opt.dictionary);\n }\n if (opt.raw) { //In raw mode we need to set the dictionary early\n status = inflate_1$2.inflateSetDictionary(this.strm, opt.dictionary);\n if (status !== Z_OK) {\n throw new Error(messages[status]);\n }\n }\n }\n}\n\n/**\n * Inflate#push(data[, flush_mode]) -> Boolean\n * - data (Uint8Array|ArrayBuffer): input data\n * - flush_mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE\n * flush modes. See constants. Skipped or `false` means Z_NO_FLUSH,\n * `true` means Z_FINISH.\n *\n * Sends input data to inflate pipe, generating [[Inflate#onData]] calls with\n * new output chunks. Returns `true` on success. If end of stream detected,\n * [[Inflate#onEnd]] will be called.\n *\n * `flush_mode` is not needed for normal operation, because end of stream\n * detected automatically. You may try to use it for advanced things, but\n * this functionality was not tested.\n *\n * On fail call [[Inflate#onEnd]] with error code and return false.\n *\n * ##### Example\n *\n * ```javascript\n * push(chunk, false); // push one of data chunks\n * ...\n * push(chunk, true); // push last chunk\n * ```\n **/\nInflate$1.prototype.push = function (data, flush_mode) {\n const strm = this.strm;\n const chunkSize = this.options.chunkSize;\n const dictionary = this.options.dictionary;\n let status, _flush_mode, last_avail_out;\n\n if (this.ended) return false;\n\n if (flush_mode === ~~flush_mode) _flush_mode = flush_mode;\n else _flush_mode = flush_mode === true ? Z_FINISH : Z_NO_FLUSH;\n\n // Convert data if needed\n if (toString.call(data) === '[object ArrayBuffer]') {\n strm.input = new Uint8Array(data);\n } else {\n strm.input = data;\n }\n\n strm.next_in = 0;\n strm.avail_in = strm.input.length;\n\n for (;;) {\n if (strm.avail_out === 0) {\n strm.output = new Uint8Array(chunkSize);\n strm.next_out = 0;\n strm.avail_out = chunkSize;\n }\n\n status = inflate_1$2.inflate(strm, _flush_mode);\n\n if (status === Z_NEED_DICT && dictionary) {\n status = inflate_1$2.inflateSetDictionary(strm, dictionary);\n\n if (status === Z_OK) {\n status = inflate_1$2.inflate(strm, _flush_mode);\n } else if (status === Z_DATA_ERROR) {\n // Replace code with more verbose\n status = Z_NEED_DICT;\n }\n }\n\n // Skip snyc markers if more data follows and not raw mode\n while (strm.avail_in > 0 &&\n status === Z_STREAM_END &&\n strm.state.wrap > 0 &&\n data[strm.next_in] !== 0)\n {\n inflate_1$2.inflateReset(strm);\n status = inflate_1$2.inflate(strm, _flush_mode);\n }\n\n switch (status) {\n case Z_STREAM_ERROR:\n case Z_DATA_ERROR:\n case Z_NEED_DICT:\n case Z_MEM_ERROR:\n this.onEnd(status);\n this.ended = true;\n return false;\n }\n\n // Remember real `avail_out` value, because we may patch out buffer content\n // to align utf8 strings boundaries.\n last_avail_out = strm.avail_out;\n\n if (strm.next_out) {\n if (strm.avail_out === 0 || status === Z_STREAM_END) {\n\n if (this.options.to === 'string') {\n\n let next_out_utf8 = strings.utf8border(strm.output, strm.next_out);\n\n let tail = strm.next_out - next_out_utf8;\n let utf8str = strings.buf2string(strm.output, next_out_utf8);\n\n // move tail & realign counters\n strm.next_out = tail;\n strm.avail_out = chunkSize - tail;\n if (tail) strm.output.set(strm.output.subarray(next_out_utf8, next_out_utf8 + tail), 0);\n\n this.onData(utf8str);\n\n } else {\n this.onData(strm.output.length === strm.next_out ? strm.output : strm.output.subarray(0, strm.next_out));\n }\n }\n }\n\n // Must repeat iteration if out buffer is full\n if (status === Z_OK && last_avail_out === 0) continue;\n\n // Finalize if end of stream reached.\n if (status === Z_STREAM_END) {\n status = inflate_1$2.inflateEnd(this.strm);\n this.onEnd(status);\n this.ended = true;\n return true;\n }\n\n if (strm.avail_in === 0) break;\n }\n\n return true;\n};\n\n\n/**\n * Inflate#onData(chunk) -> Void\n * - chunk (Uint8Array|String): output data. When string output requested,\n * each chunk will be string.\n *\n * By default, stores data blocks in `chunks[]` property and glue\n * those in `onEnd`. Override this handler, if you need another behaviour.\n **/\nInflate$1.prototype.onData = function (chunk) {\n this.chunks.push(chunk);\n};\n\n\n/**\n * Inflate#onEnd(status) -> Void\n * - status (Number): inflate status. 0 (Z_OK) on success,\n * other if not.\n *\n * Called either after you tell inflate that the input stream is\n * complete (Z_FINISH). By default - join collected chunks,\n * free memory and fill `results` / `err` properties.\n **/\nInflate$1.prototype.onEnd = function (status) {\n // On success - join\n if (status === Z_OK) {\n if (this.options.to === 'string') {\n this.result = this.chunks.join('');\n } else {\n this.result = common.flattenChunks(this.chunks);\n }\n }\n this.chunks = [];\n this.err = status;\n this.msg = this.strm.msg;\n};\n\n\n/**\n * inflate(data[, options]) -> Uint8Array|String\n * - data (Uint8Array|ArrayBuffer): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * Decompress `data` with inflate/ungzip and `options`. Autodetect\n * format via wrapper header by default. That's why we don't provide\n * separate `ungzip` method.\n *\n * Supported options are:\n *\n * - windowBits\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information.\n *\n * Sugar (options):\n *\n * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify\n * negative windowBits implicitly.\n * - `to` (String) - if equal to 'string', then result will be converted\n * from utf8 to utf16 (javascript) string. When string output requested,\n * chunk length can differ from `chunkSize`, depending on content.\n *\n *\n * ##### Example:\n *\n * ```javascript\n * const pako = require('pako');\n * const input = pako.deflate(new Uint8Array([1,2,3,4,5,6,7,8,9]));\n * let output;\n *\n * try {\n * output = pako.inflate(input);\n * } catch (err) {\n * console.log(err);\n * }\n * ```\n **/\nfunction inflate$1(input, options) {\n const inflator = new Inflate$1(options);\n\n inflator.push(input);\n\n // That will never happens, if you don't cheat with options :)\n if (inflator.err) throw inflator.msg || messages[inflator.err];\n\n return inflator.result;\n}\n\n\n/**\n * inflateRaw(data[, options]) -> Uint8Array|String\n * - data (Uint8Array|ArrayBuffer): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * The same as [[inflate]], but creates raw data, without wrapper\n * (header and adler32 crc).\n **/\nfunction inflateRaw$1(input, options) {\n options = options || {};\n options.raw = true;\n return inflate$1(input, options);\n}\n\n\n/**\n * ungzip(data[, options]) -> Uint8Array|String\n * - data (Uint8Array|ArrayBuffer): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * Just shortcut to [[inflate]], because it autodetects format\n * by header.content. Done for convenience.\n **/\n\n\nvar Inflate_1$1 = Inflate$1;\nvar inflate_2 = inflate$1;\nvar inflateRaw_1$1 = inflateRaw$1;\nvar ungzip$1 = inflate$1;\nvar constants = constants$2;\n\nvar inflate_1$1 = {\n\tInflate: Inflate_1$1,\n\tinflate: inflate_2,\n\tinflateRaw: inflateRaw_1$1,\n\tungzip: ungzip$1,\n\tconstants: constants\n};\n\nconst { Deflate, deflate, deflateRaw, gzip } = deflate_1$1;\n\nconst { Inflate, inflate, inflateRaw, ungzip } = inflate_1$1;\n\n\n\nvar Deflate_1 = Deflate;\nvar deflate_1 = deflate;\nvar deflateRaw_1 = deflateRaw;\nvar gzip_1 = gzip;\nvar Inflate_1 = Inflate;\nvar inflate_1 = inflate;\nvar inflateRaw_1 = inflateRaw;\nvar ungzip_1 = ungzip;\nvar constants_1 = constants$2;\n\nvar pako = {\n\tDeflate: Deflate_1,\n\tdeflate: deflate_1,\n\tdeflateRaw: deflateRaw_1,\n\tgzip: gzip_1,\n\tInflate: Inflate_1,\n\tinflate: inflate_1,\n\tinflateRaw: inflateRaw_1,\n\tungzip: ungzip_1,\n\tconstants: constants_1\n};\n\nexport { Deflate_1 as Deflate, Inflate_1 as Inflate, constants_1 as constants, pako as default, deflate_1 as deflate, deflateRaw_1 as deflateRaw, gzip_1 as gzip, inflate_1 as inflate, inflateRaw_1 as inflateRaw, ungzip_1 as ungzip };\n","const crcTable = [];\nfor (let n = 0; n < 256; n++) {\n let c = n;\n for (let k = 0; k < 8; k++) {\n if (c & 1) {\n c = 0xedb88320 ^ (c >>> 1);\n }\n else {\n c = c >>> 1;\n }\n }\n crcTable[n] = c;\n}\nconst initialCrc = 0xffffffff;\nfunction updateCrc(currentCrc, data, length) {\n let c = currentCrc;\n for (let n = 0; n < length; n++) {\n c = crcTable[(c ^ data[n]) & 0xff] ^ (c >>> 8);\n }\n return c;\n}\nfunction crc(data, length) {\n return (updateCrc(initialCrc, data, length) ^ initialCrc) >>> 0;\n}\nexport function checkCrc(buffer, crcLength, chunkName) {\n const expectedCrc = buffer.readUint32();\n const actualCrc = crc(new Uint8Array(buffer.buffer, buffer.byteOffset + buffer.offset - crcLength - 4, crcLength), crcLength); // \"- 4\" because we already advanced by reading the CRC\n if (actualCrc !== expectedCrc) {\n throw new Error(`CRC mismatch for chunk ${chunkName}. Expected ${expectedCrc}, found ${actualCrc}`);\n }\n}\nexport function writeCrc(buffer, length) {\n buffer.writeUint32(crc(new Uint8Array(buffer.buffer, buffer.byteOffset + buffer.offset - length, length), length));\n}\n//# sourceMappingURL=crc.js.map","export function unfilterNone(currentLine, newLine, bytesPerLine) {\n for (let i = 0; i < bytesPerLine; i++) {\n newLine[i] = currentLine[i];\n }\n}\nexport function unfilterSub(currentLine, newLine, bytesPerLine, bytesPerPixel) {\n let i = 0;\n for (; i < bytesPerPixel; i++) {\n // just copy first bytes\n newLine[i] = currentLine[i];\n }\n for (; i < bytesPerLine; i++) {\n newLine[i] = (currentLine[i] + newLine[i - bytesPerPixel]) & 0xff;\n }\n}\nexport function unfilterUp(currentLine, newLine, prevLine, bytesPerLine) {\n let i = 0;\n if (prevLine.length === 0) {\n // just copy bytes for first line\n for (; i < bytesPerLine; i++) {\n newLine[i] = currentLine[i];\n }\n }\n else {\n for (; i < bytesPerLine; i++) {\n newLine[i] = (currentLine[i] + prevLine[i]) & 0xff;\n }\n }\n}\nexport function unfilterAverage(currentLine, newLine, prevLine, bytesPerLine, bytesPerPixel) {\n let i = 0;\n if (prevLine.length === 0) {\n for (; i < bytesPerPixel; i++) {\n newLine[i] = currentLine[i];\n }\n for (; i < bytesPerLine; i++) {\n newLine[i] = (currentLine[i] + (newLine[i - bytesPerPixel] >> 1)) & 0xff;\n }\n }\n else {\n for (; i < bytesPerPixel; i++) {\n newLine[i] = (currentLine[i] + (prevLine[i] >> 1)) & 0xff;\n }\n for (; i < bytesPerLine; i++) {\n newLine[i] =\n (currentLine[i] + ((newLine[i - bytesPerPixel] + prevLine[i]) >> 1)) &\n 0xff;\n }\n }\n}\nexport function unfilterPaeth(currentLine, newLine, prevLine, bytesPerLine, bytesPerPixel) {\n let i = 0;\n if (prevLine.length === 0) {\n for (; i < bytesPerPixel; i++) {\n newLine[i] = currentLine[i];\n }\n for (; i < bytesPerLine; i++) {\n newLine[i] = (currentLine[i] + newLine[i - bytesPerPixel]) & 0xff;\n }\n }\n else {\n for (; i < bytesPerPixel; i++) {\n newLine[i] = (currentLine[i] + prevLine[i]) & 0xff;\n }\n for (; i < bytesPerLine; i++) {\n newLine[i] =\n (currentLine[i] +\n paethPredictor(newLine[i - bytesPerPixel], prevLine[i], prevLine[i - bytesPerPixel])) &\n 0xff;\n }\n }\n}\nfunction paethPredictor(a, b, c) {\n const p = a + b - c;\n const pa = Math.abs(p - a);\n const pb = Math.abs(p - b);\n const pc = Math.abs(p - c);\n if (pa <= pb && pa <= pc)\n return a;\n else if (pb <= pc)\n return b;\n else\n return c;\n}\n//# sourceMappingURL=unfilter.js.map","import { unfilterAverage, unfilterNone, unfilterPaeth, unfilterSub, unfilterUp, } from './unfilter';\n/**\n * Apllies filter on scanline based on the filter type.\n * @param filterType - The filter type to apply.\n * @param currentLine - The current line of pixel data.\n * @param newLine - The new line of pixel data.\n * @param prevLine - The previous line of pixel data.\n * @param passLineBytes - The number of bytes in the pass line.\n * @param bytesPerPixel - The number of bytes per pixel.\n */\nexport function applyUnfilter(filterType, currentLine, newLine, prevLine, passLineBytes, bytesPerPixel) {\n switch (filterType) {\n case 0:\n unfilterNone(currentLine, newLine, passLineBytes);\n break;\n case 1:\n unfilterSub(currentLine, newLine, passLineBytes, bytesPerPixel);\n break;\n case 2:\n unfilterUp(currentLine, newLine, prevLine, passLineBytes);\n break;\n case 3:\n unfilterAverage(currentLine, newLine, prevLine, passLineBytes, bytesPerPixel);\n break;\n case 4:\n unfilterPaeth(currentLine, newLine, prevLine, passLineBytes, bytesPerPixel);\n break;\n default:\n throw new Error(`Unsupported filter: ${filterType}`);\n }\n}\n//# sourceMappingURL=applyUnfilter.js.map","import { applyUnfilter } from './applyUnfilter';\nconst uint16 = new Uint16Array([0x00ff]);\nconst uint8 = new Uint8Array(uint16.buffer);\nconst osIsLittleEndian = uint8[0] === 0xff;\n/**\n * Decodes the Adam7 interlaced PNG data.\n *\n * @param params - DecodeInterlaceNullParams\n * @returns - array of pixel data.\n */\nexport function decodeInterlaceAdam7(params) {\n const { data, width, height, channels, depth } = params;\n // Adam7 interlacing pattern\n const passes = [\n { x: 0, y: 0, xStep: 8, yStep: 8 }, // Pass 1\n { x: 4, y: 0, xStep: 8, yStep: 8 }, // Pass 2\n { x: 0, y: 4, xStep: 4, yStep: 8 }, // Pass 3\n { x: 2, y: 0, xStep: 4, yStep: 4 }, // Pass 4\n { x: 0, y: 2, xStep: 2, yStep: 4 }, // Pass 5\n { x: 1, y: 0, xStep: 2, yStep: 2 }, // Pass 6\n { x: 0, y: 1, xStep: 1, yStep: 2 }, // Pass 7\n ];\n const bytesPerPixel = Math.ceil(depth / 8) * channels;\n const resultData = new Uint8Array(height * width * bytesPerPixel);\n let offset = 0;\n // Process each pass\n for (let passIndex = 0; passIndex < 7; passIndex++) {\n const pass = passes[passIndex];\n // Calculate pass dimensions\n const passWidth = Math.ceil((width - pass.x) / pass.xStep);\n const passHeight = Math.ceil((height - pass.y) / pass.yStep);\n if (passWidth <= 0 || passHeight <= 0)\n continue;\n const passLineBytes = passWidth * bytesPerPixel;\n const prevLine = new Uint8Array(passLineBytes);\n // Process each scanline in this pass\n for (let y = 0; y < passHeight; y++) {\n // First byte is the filter type\n const filterType = data[offset++];\n const currentLine = data.subarray(offset, offset + passLineBytes);\n offset += passLineBytes;\n // Create a new line for the unfiltered data\n const newLine = new Uint8Array(passLineBytes);\n // Apply the appropriate unfilter\n applyUnfilter(filterType, currentLine, newLine, prevLine, passLineBytes, bytesPerPixel);\n prevLine.set(newLine);\n for (let x = 0; x < passWidth; x++) {\n const outputX = pass.x + x * pass.xStep;\n const outputY = pass.y + y * pass.yStep;\n if (outputX >= width || outputY >= height)\n continue;\n for (let i = 0; i < bytesPerPixel; i++) {\n resultData[(outputY * width + outputX) * bytesPerPixel + i] =\n newLine[x * bytesPerPixel + i];\n }\n }\n }\n }\n if (depth === 16) {\n const uint16Data = new Uint16Array(resultData.buffer);\n if (osIsLittleEndian) {\n for (let k = 0; k < uint16Data.length; k++) {\n // PNG is always big endian. Swap the bytes.\n uint16Data[k] = swap16(uint16Data[k]);\n }\n }\n return uint16Data;\n }\n else {\n return resultData;\n }\n}\nfunction swap16(val) {\n return ((val & 0xff) << 8) | ((val >> 8) & 0xff);\n}\n//# sourceMappingURL=decodeInterlaceAdam7.js.map","import { unfilterAverage, unfilterNone, unfilterPaeth, unfilterSub, unfilterUp, } from './unfilter';\nconst uint16 = new Uint16Array([0x00ff]);\nconst uint8 = new Uint8Array(uint16.buffer);\nconst osIsLittleEndian = uint8[0] === 0xff;\nconst empty = new Uint8Array(0);\nexport function decodeInterlaceNull(params) {\n const { data, width, height, channels, depth } = params;\n const bytesPerPixel = Math.ceil(depth / 8) * channels;\n const bytesPerLine = Math.ceil((depth / 8) * channels * width);\n const newData = new Uint8Array(height * bytesPerLine);\n let prevLine = empty;\n let offset = 0;\n let currentLine;\n let newLine;\n for (let i = 0; i < height; i++) {\n currentLine = data.subarray(offset + 1, offset + 1 + bytesPerLine);\n newLine = newData.subarray(i * bytesPerLine, (i + 1) * bytesPerLine);\n switch (data[offset]) {\n case 0:\n unfilterNone(currentLine, newLine, bytesPerLine);\n break;\n case 1:\n unfilterSub(currentLine, newLine, bytesPerLine, bytesPerPixel);\n break;\n case 2:\n unfilterUp(currentLine, newLine, prevLine, bytesPerLine);\n break;\n case 3:\n unfilterAverage(currentLine, newLine, prevLine, bytesPerLine, bytesPerPixel);\n break;\n case 4:\n unfilterPaeth(currentLine, newLine, prevLine, bytesPerLine, bytesPerPixel);\n break;\n default:\n throw new Error(`Unsupported filter: ${data[offset]}`);\n }\n prevLine = newLine;\n offset += bytesPerLine + 1;\n }\n if (depth === 16) {\n const uint16Data = new Uint16Array(newData.buffer);\n if (osIsLittleEndian) {\n for (let k = 0; k < uint16Data.length; k++) {\n // PNG is always big endian. Swap the bytes.\n uint16Data[k] = swap16(uint16Data[k]);\n }\n }\n return uint16Data;\n }\n else {\n return newData;\n }\n}\nfunction swap16(val) {\n return ((val & 0xff) << 8) | ((val >> 8) & 0xff);\n}\n//# sourceMappingURL=decodeInterlaceNull.js.map","// https://www.w3.org/TR/PNG/#5PNG-file-signature\nconst pngSignature = Uint8Array.of(137, 80, 78, 71, 13, 10, 26, 10);\nexport function writeSignature(buffer) {\n buffer.writeBytes(pngSignature);\n}\nexport function checkSignature(buffer) {\n if (!hasPngSignature(buffer.readBytes(pngSignature.length))) {\n throw new Error('wrong PNG signature');\n }\n}\nexport function hasPngSignature(array) {\n if (array.length < pngSignature.length) {\n return false;\n }\n for (let i = 0; i < pngSignature.length; i++) {\n if (array[i] !== pngSignature[i]) {\n return false;\n }\n }\n return true;\n}\n//# sourceMappingURL=signature.js.map","import { writeCrc } from './crc';\n// https://www.w3.org/TR/png/#11tEXt\nexport const textChunkName = 'tEXt';\nconst NULL = 0;\nconst latin1Decoder = new TextDecoder('latin1');\nfunction validateKeyword(keyword) {\n validateLatin1(keyword);\n if (keyword.length === 0 || keyword.length > 79) {\n throw new Error('keyword length must be between 1 and 79');\n }\n}\n// eslint-disable-next-line no-control-regex\nconst latin1Regex = /^[\\u0000-\\u00FF]*$/;\nfunction validateLatin1(text) {\n if (!latin1Regex.test(text)) {\n throw new Error('invalid latin1 text');\n }\n}\nexport function decodetEXt(text, buffer, length) {\n const keyword = readKeyword(buffer);\n text[keyword] = readLatin1(buffer, length - keyword.length - 1);\n}\nexport function encodetEXt(buffer, keyword, text) {\n validateKeyword(keyword);\n validateLatin1(text);\n const length = keyword.length + 1 /* NULL */ + text.length;\n buffer.writeUint32(length);\n buffer.writeChars(textChunkName);\n buffer.writeChars(keyword);\n buffer.writeByte(NULL);\n buffer.writeChars(text);\n writeCrc(buffer, length + 4);\n}\n// https://www.w3.org/TR/png/#11keywords\nexport function readKeyword(buffer) {\n buffer.mark();\n while (buffer.readByte() !== NULL) {\n /* advance */\n }\n const end = buffer.offset;\n buffer.reset();\n const keyword = latin1Decoder.decode(buffer.readBytes(end - buffer.offset - 1));\n // NULL\n buffer.skip(1);\n validateKeyword(keyword);\n return keyword;\n}\nexport function readLatin1(buffer, length) {\n return latin1Decoder.decode(buffer.readBytes(length));\n}\n//# sourceMappingURL=text.js.map","export const ColorType = {\n UNKNOWN: -1,\n GREYSCALE: 0,\n TRUECOLOUR: 2,\n INDEXED_COLOUR: 3,\n GREYSCALE_ALPHA: 4,\n TRUECOLOUR_ALPHA: 6,\n};\nexport const CompressionMethod = {\n UNKNOWN: -1,\n DEFLATE: 0,\n};\nexport const FilterMethod = {\n UNKNOWN: -1,\n ADAPTIVE: 0,\n};\nexport const InterlaceMethod = {\n UNKNOWN: -1,\n NO_INTERLACE: 0,\n ADAM7: 1,\n};\nexport const DisposeOpType = {\n NONE: 0,\n BACKGROUND: 1,\n PREVIOUS: 2,\n};\nexport const BlendOpType = {\n SOURCE: 0,\n OVER: 1,\n};\n//# sourceMappingURL=internalTypes.js.map","import { IOBuffer } from 'iobuffer';\nimport { inflate, Inflate as Inflator } from 'pako';\nimport { checkCrc } from './helpers/crc';\nimport { decodeInterlaceAdam7 } from './helpers/decodeInterlaceAdam7';\nimport { decodeInterlaceNull } from './helpers/decodeInterlaceNull';\nimport { checkSignature } from './helpers/signature';\nimport { decodetEXt, readKeyword, textChunkName } from './helpers/text';\nimport { ColorType, CompressionMethod, DisposeOpType, FilterMethod, InterlaceMethod, BlendOpType, } from './internalTypes';\nexport default class PngDecoder extends IOBuffer {\n _checkCrc;\n _inflator;\n _png;\n _apng;\n _end;\n _hasPalette;\n _palette;\n _hasTransparency;\n _transparency;\n _compressionMethod;\n _filterMethod;\n _interlaceMethod;\n _colorType;\n _isAnimated;\n _numberOfFrames;\n _numberOfPlays;\n _frames;\n _writingDataChunks;\n constructor(data, options = {}) {\n super(data);\n const { checkCrc = false } = options;\n this._checkCrc = checkCrc;\n this._inflator = new Inflator();\n this._png = {\n width: -1,\n height: -1,\n channels: -1,\n data: new Uint8Array(0),\n depth: 1,\n text: {},\n };\n this._apng = {\n width: -1,\n height: -1,\n channels: -1,\n depth: 1,\n numberOfFrames: 1,\n numberOfPlays: 0,\n text: {},\n frames: [],\n };\n this._end = false;\n this._hasPalette = false;\n this._palette = [];\n this._hasTransparency = false;\n this._transparency = new Uint16Array(0);\n this._compressionMethod = CompressionMethod.UNKNOWN;\n this._filterMethod = FilterMethod.UNKNOWN;\n this._interlaceMethod = InterlaceMethod.UNKNOWN;\n this._colorType = ColorType.UNKNOWN;\n this._isAnimated = false;\n this._numberOfFrames = 1;\n this._numberOfPlays = 0;\n this._frames = [];\n this._writingDataChunks = false;\n // PNG is always big endian\n // https://www.w3.org/TR/PNG/#7Integers-and-byte-order\n this.setBigEndian();\n }\n decode() {\n checkSignature(this);\n while (!this._end) {\n const length = this.readUint32();\n const type = this.readChars(4);\n this.decodeChunk(length, type);\n }\n this.decodeImage();\n return this._png;\n }\n decodeApng() {\n checkSignature(this);\n while (!this._end) {\n const length = this.readUint32();\n const type = this.readChars(4);\n this.decodeApngChunk(length, type);\n }\n this.decodeApngImage();\n return this._apng;\n }\n // https://www.w3.org/TR/PNG/#5Chunk-layout\n decodeChunk(length, type) {\n const offset = this.offset;\n switch (type) {\n // 11.2 Critical chunks\n case 'IHDR': // 11.2.2 IHDR Image header\n this.decodeIHDR();\n break;\n case 'PLTE': // 11.2.3 PLTE Palette\n this.decodePLTE(length);\n break;\n case 'IDAT': // 11.2.4 IDAT Image data\n this.decodeIDAT(length);\n break;\n case 'IEND': // 11.2.5 IEND Image trailer\n this._end = true;\n break;\n // 11.3 Ancillary chunks\n case 'tRNS': // 11.3.2.1 tRNS Transparency\n this.decodetRNS(length);\n break;\n case 'iCCP': // 11.3.3.3 iCCP Embedded ICC profile\n this.decodeiCCP(length);\n break;\n case textChunkName: // 11.3.4.3 tEXt Textual data\n decodetEXt(this._png.text, this, length);\n break;\n case 'pHYs': // 11.3.5.3 pHYs Physical pixel dimensions\n this.decodepHYs();\n break;\n default:\n this.skip(length);\n break;\n }\n if (this.offset - offset !== length) {\n throw new Error(`Length mismatch while decoding chunk ${type}`);\n }\n if (this._checkCrc) {\n checkCrc(this, length + 4, type);\n }\n else {\n this.skip(4);\n }\n }\n decodeApngChunk(length, type) {\n const offset = this.offset;\n if (type !== 'fdAT' && type !== 'IDAT' && this._writingDataChunks) {\n this.pushDataToFrame();\n }\n switch (type) {\n case 'acTL':\n this.decodeACTL();\n break;\n case 'fcTL':\n this.decodeFCTL();\n break;\n case 'fdAT':\n this.decodeFDAT(length);\n break;\n default:\n this.decodeChunk(length, type);\n this.offset = offset + length;\n break;\n }\n if (this.offset - offset !== length) {\n throw new Error(`Length mismatch while decoding chunk ${type}`);\n }\n if (this._checkCrc) {\n checkCrc(this, length + 4, type);\n }\n else {\n this.skip(4);\n }\n }\n // https://www.w3.org/TR/PNG/#11IHDR\n decodeIHDR() {\n const image = this._png;\n image.width = this.readUint32();\n image.height = this.readUint32();\n image.depth = checkBitDepth(this.readUint8());\n const colorType = this.readUint8();\n this._colorType = colorType;\n let channels;\n switch (colorType) {\n case ColorType.GREYSCALE:\n channels = 1;\n break;\n case ColorType.TRUECOLOUR:\n channels = 3;\n break;\n case ColorType.INDEXED_COLOUR:\n channels = 1;\n break;\n case ColorType.GREYSCALE_ALPHA:\n channels = 2;\n break;\n case ColorType.TRUECOLOUR_ALPHA:\n channels = 4;\n break;\n // Kept for exhaustiveness.\n // eslint-disable-next-line unicorn/no-useless-switch-case\n case ColorType.UNKNOWN:\n default:\n throw new Error(`Unknown color type: ${colorType}`);\n }\n this._png.channels = channels;\n this._compressionMethod = this.readUint8();\n if (this._compressionMethod !== CompressionMethod.DEFLATE) {\n throw new Error(`Unsupported compression method: ${this._compressionMethod}`);\n }\n this._filterMethod = this.readUint8();\n this._interlaceMethod = this.readUint8();\n }\n decodeACTL() {\n this._numberOfFrames = this.readUint32();\n this._numberOfPlays = this.readUint32();\n this._isAnimated = true;\n }\n decodeFCTL() {\n const image = {\n sequenceNumber: this.readUint32(),\n width: this.readUint32(),\n height: this.readUint32(),\n xOffset: this.readUint32(),\n yOffset: this.readUint32(),\n delayNumber: this.readUint16(),\n delayDenominator: this.readUint16(),\n disposeOp: this.readUint8(),\n blendOp: this.readUint8(),\n data: new Uint8Array(0),\n };\n this._frames.push(image);\n }\n // https://www.w3.org/TR/PNG/#11PLTE\n decodePLTE(length) {\n if (length % 3 !== 0) {\n throw new RangeError(`PLTE field length must be a multiple of 3. Got ${length}`);\n }\n const l = length / 3;\n this._hasPalette = true;\n const palette = [];\n this._palette = palette;\n for (let i = 0; i < l; i++) {\n palette.push([this.readUint8(), this.readUint8(), this.readUint8()]);\n }\n }\n // https://www.w3.org/TR/PNG/#11IDAT\n decodeIDAT(length) {\n this._writingDataChunks = true;\n const dataLength = length;\n const dataOffset = this.offset + this.byteOffset;\n this._inflator.push(new Uint8Array(this.buffer, dataOffset, dataLength));\n if (this._inflator.err) {\n throw new Error(`Error while decompressing the data: ${this._inflator.err}`);\n }\n this.skip(length);\n }\n decodeFDAT(length) {\n this._writingDataChunks = true;\n let dataLength = length;\n let dataOffset = this.offset + this.byteOffset;\n dataOffset += 4;\n dataLength -= 4;\n this._inflator.push(new Uint8Array(this.buffer, dataOffset, dataLength));\n if (this._inflator.err) {\n throw new Error(`Error while decompressing the data: ${this._inflator.err}`);\n }\n this.skip(length);\n }\n // https://www.w3.org/TR/PNG/#11tRNS\n decodetRNS(length) {\n switch (this._colorType) {\n case ColorType.GREYSCALE:\n case ColorType.TRUECOLOUR: {\n if (length % 2 !== 0) {\n throw new RangeError(`tRNS chunk length must be a multiple of 2. Got ${length}`);\n }\n if (length / 2 > this._png.width * this._png.height) {\n throw new Error(`tRNS chunk contains more alpha values than there are pixels (${length / 2} vs ${this._png.width * this._png.height})`);\n }\n this._hasTransparency = true;\n this._transparency = new Uint16Array(length / 2);\n for (let i = 0; i < length / 2; i++) {\n this._transparency[i] = this.readUint16();\n }\n break;\n }\n case ColorType.INDEXED_COLOUR: {\n if (length > this._palette.length) {\n throw new Error(`tRNS chunk contains more alpha values than there are palette colors (${length} vs ${this._palette.length})`);\n }\n let i = 0;\n for (; i < length; i++) {\n const alpha = this.readByte();\n this._palette[i].push(alpha);\n }\n for (; i < this._palette.length; i++) {\n this._palette[i].push(255);\n }\n break;\n }\n // Kept for exhaustiveness.\n /* eslint-disable unicorn/no-useless-switch-case */\n case ColorType.UNKNOWN:\n case ColorType.GREYSCALE_ALPHA:\n case ColorType.TRUECOLOUR_ALPHA:\n default: {\n throw new Error(`tRNS chunk is not supported for color type ${this._colorType}`);\n }\n /* eslint-enable unicorn/no-useless-switch-case */\n }\n }\n // https://www.w3.org/TR/PNG/#11iCCP\n decodeiCCP(length) {\n const name = readKeyword(this);\n const compressionMethod = this.readUint8();\n if (compressionMethod !== CompressionMethod.DEFLATE) {\n throw new Error(`Unsupported iCCP compression method: ${compressionMethod}`);\n }\n const compressedProfile = this.readBytes(length - name.length - 2);\n this._png.iccEmbeddedProfile = {\n name,\n profile: inflate(compressedProfile),\n };\n }\n // https://www.w3.org/TR/PNG/#11pHYs\n decodepHYs() {\n const ppuX = this.readUint32();\n const ppuY = this.readUint32();\n const unitSpecifier = this.readByte();\n this._png.resolution = { x: ppuX, y: ppuY, unit: unitSpecifier };\n }\n decodeApngImage() {\n this._apng.width = this._png.width;\n this._apng.height = this._png.height;\n this._apng.channels = this._png.channels;\n this._apng.depth = this._png.depth;\n this._apng.numberOfFrames = this._numberOfFrames;\n this._apng.numberOfPlays = this._numberOfPlays;\n this._apng.text = this._png.text;\n this._apng.resolution = this._png.resolution;\n for (let i = 0; i < this._numberOfFrames; i++) {\n const newFrame = {\n sequenceNumber: this._frames[i].sequenceNumber,\n delayNumber: this._frames[i].delayNumber,\n delayDenominator: this._frames[i].delayDenominator,\n data: this._apng.depth === 8\n ? new Uint8Array(this._apng.width * this._apng.height * this._apng.channels)\n : new Uint16Array(this._apng.width * this._apng.height * this._apng.channels),\n };\n const frame = this._frames.at(i);\n if (frame) {\n frame.data = decodeInterlaceNull({\n data: frame.data,\n width: frame.width,\n height: frame.height,\n channels: this._apng.channels,\n depth: this._apng.depth,\n });\n if (this._hasPalette) {\n this._apng.palette = this._palette;\n }\n if (this._hasTransparency) {\n this._apng.transparency = this._transparency;\n }\n if (i === 0 ||\n (frame.xOffset === 0 &&\n frame.yOffset === 0 &&\n frame.width === this._png.width &&\n frame.height === this._png.height)) {\n newFrame.data = frame.data;\n }\n else {\n const prevFrame = this._apng.frames.at(i - 1);\n this.disposeFrame(frame, prevFrame, newFrame);\n this.addFrameDataToCanvas(newFrame, frame);\n }\n this._apng.frames.push(newFrame);\n }\n }\n return this._apng;\n }\n disposeFrame(frame, prevFrame, imageFrame) {\n switch (frame.disposeOp) {\n case DisposeOpType.NONE:\n break;\n case DisposeOpType.BACKGROUND:\n for (let row = 0; row < this._png.height; row++) {\n for (let col = 0; col < this._png.width; col++) {\n const index = (row * frame.width + col) * this._png.channels;\n for (let channel = 0; channel < this._png.channels; channel++) {\n imageFrame.data[index + channel] = 0;\n }\n }\n }\n break;\n case DisposeOpType.PREVIOUS:\n imageFrame.data.set(prevFrame.data);\n break;\n default:\n throw new Error('Unknown disposeOp');\n }\n }\n addFrameDataToCanvas(imageFrame, frame) {\n const maxValue = 1 << this._png.depth;\n const calculatePixelIndices = (row, col) => {\n const index = ((row + frame.yOffset) * this._png.width + frame.xOffset + col) *\n this._png.channels;\n const frameIndex = (row * frame.width + col) * this._png.channels;\n return { index, frameIndex };\n };\n switch (frame.blendOp) {\n case BlendOpType.SOURCE:\n for (let row = 0; row < frame.height; row++) {\n for (let col = 0; col < frame.width; col++) {\n const { index, frameIndex } = calculatePixelIndices(row, col);\n for (let channel = 0; channel < this._png.channels; channel++) {\n imageFrame.data[index + channel] =\n frame.data[frameIndex + channel];\n }\n }\n }\n break;\n // https://www.w3.org/TR/png-3/#13Alpha-channel-processing\n case BlendOpType.OVER:\n for (let row = 0; row < frame.height; row++) {\n for (let col = 0; col < frame.width; col++) {\n const { index, frameIndex } = calculatePixelIndices(row, col);\n for (let channel = 0; channel < this._png.channels; channel++) {\n const sourceAlpha = frame.data[frameIndex + this._png.channels - 1] / maxValue;\n const foregroundValue = channel % (this._png.channels - 1) === 0\n ? 1\n : frame.data[frameIndex + channel];\n const value = Math.floor(sourceAlpha * foregroundValue +\n (1 - sourceAlpha) * imageFrame.data[index + channel]);\n imageFrame.data[index + channel] += value;\n }\n }\n }\n break;\n default:\n throw new Error('Unknown blendOp');\n }\n }\n decodeImage() {\n if (this._inflator.err) {\n throw new Error(`Error while decompressing the data: ${this._inflator.err}`);\n }\n const data = this._isAnimated\n ? (this._frames?.at(0)).data\n : this._inflator.result;\n if (this._filterMethod !== FilterMethod.ADAPTIVE) {\n throw new Error(`Filter method ${this._filterMethod} not supported`);\n }\n if (this._interlaceMethod === InterlaceMethod.NO_INTERLACE) {\n this._png.data = decodeInterlaceNull({\n data: data,\n width: this._png.width,\n height: this._png.height,\n channels: this._png.channels,\n depth: this._png.depth,\n });\n }\n else if (this._interlaceMethod === InterlaceMethod.ADAM7) {\n this._png.data = decodeInterlaceAdam7({\n data: data,\n width: this._png.width,\n height: this._png.height,\n channels: this._png.channels,\n depth: this._png.depth,\n });\n }\n else {\n throw new Error(`Interlace method ${this._interlaceMethod} not supported`);\n }\n if (this._hasPalette) {\n this._png.palette = this._palette;\n }\n if (this._hasTransparency) {\n this._png.transparency = this._transparency;\n }\n }\n pushDataToFrame() {\n const result = this._inflator.result;\n const lastFrame = this._frames.at(-1);\n if (lastFrame) {\n lastFrame.data = result;\n }\n else {\n this._frames.push({\n sequenceNumber: 0,\n width: this._png.width,\n height: this._png.height,\n xOffset: 0,\n yOffset: 0,\n delayNumber: 0,\n delayDenominator: 0,\n disposeOp: DisposeOpType.NONE,\n blendOp: BlendOpType.SOURCE,\n data: result,\n });\n }\n this._inflator = new Inflator();\n this._writingDataChunks = false;\n }\n}\nfunction checkBitDepth(value) {\n if (value !== 1 &&\n value !== 2 &&\n value !== 4 &&\n value !== 8 &&\n value !== 16) {\n throw new Error(`invalid bit depth: ${value}`);\n }\n return value;\n}\n//# sourceMappingURL=PngDecoder.js.map","export var ResolutionUnitSpecifier;\n(function (ResolutionUnitSpecifier) {\n /**\n * Unit is unknown\n */\n ResolutionUnitSpecifier[ResolutionUnitSpecifier[\"UNKNOWN\"] = 0] = \"UNKNOWN\";\n /**\n * Unit is the metre\n */\n ResolutionUnitSpecifier[ResolutionUnitSpecifier[\"METRE\"] = 1] = \"METRE\";\n})(ResolutionUnitSpecifier || (ResolutionUnitSpecifier = {}));\n//# sourceMappingURL=types.js.map","import PngDecoder from './PngDecoder';\nimport PngEncoder from './PngEncoder';\nexport { hasPngSignature } from './helpers/signature';\nexport * from './types';\nfunction decodePng(data, options) {\n const decoder = new PngDecoder(data, options);\n return decoder.decode();\n}\nfunction encodePng(png, options) {\n const encoder = new PngEncoder(png, options);\n return encoder.encode();\n}\nfunction decodeApng(data, options) {\n const decoder = new PngDecoder(data, options);\n return decoder.decodeApng();\n}\nexport { decodePng as decode, encodePng as encode, decodeApng };\nexport { convertIndexedToRgb } from './convertIndexedToRgb';\n//# sourceMappingURL=index.js.map","/** @license\n *\n * jsPDF - PDF Document creation from JavaScript\n * Version 4.2.1 Built on 2026-03-17T11:11:27.057Z\n * CommitID 00000000\n *\n * Copyright (c) 2010-2025 James Hall <james@parall.ax>, https://github.com/MrRio/jsPDF\n * 2015-2025 yWorks GmbH, http://www.yworks.com\n * 2015-2025 Lukas Holländer <lukas.hollaender@yworks.com>, https://github.com/HackbrettXXX\n * 2016-2018 Aras Abbasi <aras.abbasi@gmail.com>\n * 2010 Aaron Spike, https://github.com/acspike\n * 2012 Willow Systems Corporation, https://github.com/willowsystems\n * 2012 Pablo Hess, https://github.com/pablohess\n * 2012 Florian Jenett, https://github.com/fjenett\n * 2013 Warren Weckesser, https://github.com/warrenweckesser\n * 2013 Youssef Beddad, https://github.com/lifof\n * 2013 Lee Driscoll, https://github.com/lsdriscoll\n * 2013 Stefan Slonevskiy, https://github.com/stefslon\n * 2013 Jeremy Morel, https://github.com/jmorel\n * 2013 Christoph Hartmann, https://github.com/chris-rock\n * 2014 Juan Pablo Gaviria, https://github.com/juanpgaviria\n * 2014 James Makes, https://github.com/dollaruw\n * 2014 Diego Casorran, https://github.com/diegocr\n * 2014 Steven Spungin, https://github.com/Flamenco\n * 2014 Kenneth Glassey, https://github.com/Gavvers\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n *\n * Contributor(s):\n * siefkenj, ahwolf, rickygu, Midnith, saintclair, eaparango,\n * kim3er, mfo, alnorth, Flamenco\n */\n\nimport t from\"@babel/runtime/helpers/typeof\";import{zlibSync as e}from\"fflate\";import r from\"@babel/runtime/helpers/slicedToArray\";import{decode as n}from\"fast-png\";var i=function(){return\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this}();function a(){i.console&&\"function\"==typeof i.console.log&&i.console.log.apply(i.console,arguments)}var o={log:a,warn:function(t){i.console&&(\"function\"==typeof i.console.warn?i.console.warn.apply(i.console,arguments):a.call(null,arguments))},error:function(t){i.console&&(\"function\"==typeof i.console.error?i.console.error.apply(i.console,arguments):a(t))}};function s(t,e,r){var n=new XMLHttpRequest;n.open(\"GET\",t),n.responseType=\"blob\",n.onload=function(){l(n.response,e,r)},n.onerror=function(){o.error(\"could not download file\")},n.send()}function u(t){var e=new XMLHttpRequest;e.open(\"HEAD\",t,!1);try{e.send()}catch(r){}return e.status>=200&&e.status<=299}function c(t){try{t.dispatchEvent(new MouseEvent(\"click\"))}catch(r){var e=document.createEvent(\"MouseEvents\");e.initMouseEvent(\"click\",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),t.dispatchEvent(e)}}var l=i.saveAs||(\"object\"!==(\"undefined\"==typeof window?\"undefined\":t(window))||window!==i?function(){}:\"undefined\"!=typeof HTMLAnchorElement&&\"download\"in HTMLAnchorElement.prototype?function(t,e,r){var n=i.URL||i.webkitURL,a=document.createElement(\"a\");e=e||t.name||\"download\",a.download=e,a.rel=\"noopener\",\"string\"==typeof t?(a.href=t,a.origin!==location.origin?u(a.href)?s(t,e,r):c(a,a.target=\"_blank\"):c(a)):(a.href=n.createObjectURL(t),setTimeout(function(){n.revokeObjectURL(a.href)},4e4),setTimeout(function(){c(a)},0))}:\"msSaveOrOpenBlob\"in navigator?function(e,r,n){if(r=r||e.name||\"download\",\"string\"==typeof e)if(u(e))s(e,r,n);else{var i=document.createElement(\"a\");i.href=e,i.target=\"_blank\",setTimeout(function(){c(i)})}else navigator.msSaveOrOpenBlob(function(e,r){return void 0===r?r={autoBom:!1}:\"object\"!==t(r)&&(o.warn(\"Deprecated: Expected third argument to be a object\"),r={autoBom:!r}),r.autoBom&&/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(e.type)?new Blob([String.fromCharCode(65279),e],{type:e.type}):e}(e,n),r)}:function(e,r,n,a){if((a=a||open(\"\",\"_blank\"))&&(a.document.title=a.document.body.innerText=\"downloading...\"),\"string\"==typeof e)return s(e,r,n);var o=\"application/octet-stream\"===e.type,u=/constructor/i.test(i.HTMLElement)||i.safari,c=/CriOS\\/[\\d]+/.test(navigator.userAgent);if((c||o&&u)&&\"object\"===(\"undefined\"==typeof FileReader?\"undefined\":t(FileReader))){var l=new FileReader;l.onloadend=function(){var t=l.result;t=c?t:t.replace(/^data:[^;]*;/,\"data:attachment/file;\"),a?a.location.href=t:location=t,a=null},l.readAsDataURL(e)}else{var h=i.URL||i.webkitURL,f=h.createObjectURL(e);a?a.location=f:location.href=f,a=null,setTimeout(function(){h.revokeObjectURL(f)},4e4)}});\n/**\n * A class to parse color values\n * @author Stoyan Stefanov <sstoo@gmail.com>\n * {@link http://www.phpied.com/rgb-color-parser-in-javascript/}\n * @license Use it if you like it\n */function h(t){var e;t=t||\"\",this.ok=!1,\"#\"==t.charAt(0)&&(t=t.substr(1,6)),t={aliceblue:\"f0f8ff\",antiquewhite:\"faebd7\",aqua:\"00ffff\",aquamarine:\"7fffd4\",azure:\"f0ffff\",beige:\"f5f5dc\",bisque:\"ffe4c4\",black:\"000000\",blanchedalmond:\"ffebcd\",blue:\"0000ff\",blueviolet:\"8a2be2\",brown:\"a52a2a\",burlywood:\"deb887\",cadetblue:\"5f9ea0\",chartreuse:\"7fff00\",chocolate:\"d2691e\",coral:\"ff7f50\",cornflowerblue:\"6495ed\",cornsilk:\"fff8dc\",crimson:\"dc143c\",cyan:\"00ffff\",darkblue:\"00008b\",darkcyan:\"008b8b\",darkgoldenrod:\"b8860b\",darkgray:\"a9a9a9\",darkgreen:\"006400\",darkkhaki:\"bdb76b\",darkmagenta:\"8b008b\",darkolivegreen:\"556b2f\",darkorange:\"ff8c00\",darkorchid:\"9932cc\",darkred:\"8b0000\",darksalmon:\"e9967a\",darkseagreen:\"8fbc8f\",darkslateblue:\"483d8b\",darkslategray:\"2f4f4f\",darkturquoise:\"00ced1\",darkviolet:\"9400d3\",deeppink:\"ff1493\",deepskyblue:\"00bfff\",dimgray:\"696969\",dodgerblue:\"1e90ff\",feldspar:\"d19275\",firebrick:\"b22222\",floralwhite:\"fffaf0\",forestgreen:\"228b22\",fuchsia:\"ff00ff\",gainsboro:\"dcdcdc\",ghostwhite:\"f8f8ff\",gold:\"ffd700\",goldenrod:\"daa520\",gray:\"808080\",green:\"008000\",greenyellow:\"adff2f\",honeydew:\"f0fff0\",hotpink:\"ff69b4\",indianred:\"cd5c5c\",indigo:\"4b0082\",ivory:\"fffff0\",khaki:\"f0e68c\",lavender:\"e6e6fa\",lavenderblush:\"fff0f5\",lawngreen:\"7cfc00\",lemonchiffon:\"fffacd\",lightblue:\"add8e6\",lightcoral:\"f08080\",lightcyan:\"e0ffff\",lightgoldenrodyellow:\"fafad2\",lightgrey:\"d3d3d3\",lightgreen:\"90ee90\",lightpink:\"ffb6c1\",lightsalmon:\"ffa07a\",lightseagreen:\"20b2aa\",lightskyblue:\"87cefa\",lightslateblue:\"8470ff\",lightslategray:\"778899\",lightsteelblue:\"b0c4de\",lightyellow:\"ffffe0\",lime:\"00ff00\",limegreen:\"32cd32\",linen:\"faf0e6\",magenta:\"ff00ff\",maroon:\"800000\",mediumaquamarine:\"66cdaa\",mediumblue:\"0000cd\",mediumorchid:\"ba55d3\",mediumpurple:\"9370d8\",mediumseagreen:\"3cb371\",mediumslateblue:\"7b68ee\",mediumspringgreen:\"00fa9a\",mediumturquoise:\"48d1cc\",mediumvioletred:\"c71585\",midnightblue:\"191970\",mintcream:\"f5fffa\",mistyrose:\"ffe4e1\",moccasin:\"ffe4b5\",navajowhite:\"ffdead\",navy:\"000080\",oldlace:\"fdf5e6\",olive:\"808000\",olivedrab:\"6b8e23\",orange:\"ffa500\",orangered:\"ff4500\",orchid:\"da70d6\",palegoldenrod:\"eee8aa\",palegreen:\"98fb98\",paleturquoise:\"afeeee\",palevioletred:\"d87093\",papayawhip:\"ffefd5\",peachpuff:\"ffdab9\",peru:\"cd853f\",pink:\"ffc0cb\",plum:\"dda0dd\",powderblue:\"b0e0e6\",purple:\"800080\",red:\"ff0000\",rosybrown:\"bc8f8f\",royalblue:\"4169e1\",saddlebrown:\"8b4513\",salmon:\"fa8072\",sandybrown:\"f4a460\",seagreen:\"2e8b57\",seashell:\"fff5ee\",sienna:\"a0522d\",silver:\"c0c0c0\",skyblue:\"87ceeb\",slateblue:\"6a5acd\",slategray:\"708090\",snow:\"fffafa\",springgreen:\"00ff7f\",steelblue:\"4682b4\",tan:\"d2b48c\",teal:\"008080\",thistle:\"d8bfd8\",tomato:\"ff6347\",turquoise:\"40e0d0\",violet:\"ee82ee\",violetred:\"d02090\",wheat:\"f5deb3\",white:\"ffffff\",whitesmoke:\"f5f5f5\",yellow:\"ffff00\",yellowgreen:\"9acd32\"}[t=(t=t.replace(/ /g,\"\")).toLowerCase()]||t;for(var r=[{re:/^rgb\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,example:[\"rgb(123, 234, 45)\",\"rgb(255,234,245)\"],process:function(t){return[parseInt(t[1]),parseInt(t[2]),parseInt(t[3])]}},{re:/^(\\w{2})(\\w{2})(\\w{2})$/,example:[\"#00ff00\",\"336699\"],process:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]}},{re:/^(\\w{1})(\\w{1})(\\w{1})$/,example:[\"#fb0\",\"f0f\"],process:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)]}}],n=0;n<r.length;n++){var i=r[n].re,a=r[n].process,o=i.exec(t);o&&(e=a(o),this.r=e[0],this.g=e[1],this.b=e[2],this.ok=!0)}this.r=this.r<0||isNaN(this.r)?0:this.r>255?255:this.r,this.g=this.g<0||isNaN(this.g)?0:this.g>255?255:this.g,this.b=this.b<0||isNaN(this.b)?0:this.b>255?255:this.b,this.toRGB=function(){return\"rgb(\"+this.r+\", \"+this.g+\", \"+this.b+\")\"},this.toHex=function(){var t=this.r.toString(16),e=this.g.toString(16),r=this.b.toString(16);return 1==t.length&&(t=\"0\"+t),1==e.length&&(e=\"0\"+e),1==r.length&&(r=\"0\"+r),\"#\"+t+e+r}}var f=i.atob.bind(i),d=i.btoa.bind(i);\n/**\n * @license\n * Joseph Myers does not specify a particular license for his work.\n *\n * Author: Joseph Myers\n * Accessed from: http://www.myersdaily.org/joseph/javascript/md5.js\n *\n * Modified by: Owen Leong\n */\nfunction p(t,e){var r=t[0],n=t[1],i=t[2],a=t[3];r=m(r,n,i,a,e[0],7,-680876936),a=m(a,r,n,i,e[1],12,-389564586),i=m(i,a,r,n,e[2],17,606105819),n=m(n,i,a,r,e[3],22,-1044525330),r=m(r,n,i,a,e[4],7,-176418897),a=m(a,r,n,i,e[5],12,1200080426),i=m(i,a,r,n,e[6],17,-1473231341),n=m(n,i,a,r,e[7],22,-45705983),r=m(r,n,i,a,e[8],7,1770035416),a=m(a,r,n,i,e[9],12,-1958414417),i=m(i,a,r,n,e[10],17,-42063),n=m(n,i,a,r,e[11],22,-1990404162),r=m(r,n,i,a,e[12],7,1804603682),a=m(a,r,n,i,e[13],12,-40341101),i=m(i,a,r,n,e[14],17,-1502002290),r=v(r,n=m(n,i,a,r,e[15],22,1236535329),i,a,e[1],5,-165796510),a=v(a,r,n,i,e[6],9,-1069501632),i=v(i,a,r,n,e[11],14,643717713),n=v(n,i,a,r,e[0],20,-373897302),r=v(r,n,i,a,e[5],5,-701558691),a=v(a,r,n,i,e[10],9,38016083),i=v(i,a,r,n,e[15],14,-660478335),n=v(n,i,a,r,e[4],20,-405537848),r=v(r,n,i,a,e[9],5,568446438),a=v(a,r,n,i,e[14],9,-1019803690),i=v(i,a,r,n,e[3],14,-187363961),n=v(n,i,a,r,e[8],20,1163531501),r=v(r,n,i,a,e[13],5,-1444681467),a=v(a,r,n,i,e[2],9,-51403784),i=v(i,a,r,n,e[7],14,1735328473),r=b(r,n=v(n,i,a,r,e[12],20,-1926607734),i,a,e[5],4,-378558),a=b(a,r,n,i,e[8],11,-2022574463),i=b(i,a,r,n,e[11],16,1839030562),n=b(n,i,a,r,e[14],23,-35309556),r=b(r,n,i,a,e[1],4,-1530992060),a=b(a,r,n,i,e[4],11,1272893353),i=b(i,a,r,n,e[7],16,-155497632),n=b(n,i,a,r,e[10],23,-1094730640),r=b(r,n,i,a,e[13],4,681279174),a=b(a,r,n,i,e[0],11,-358537222),i=b(i,a,r,n,e[3],16,-722521979),n=b(n,i,a,r,e[6],23,76029189),r=b(r,n,i,a,e[9],4,-640364487),a=b(a,r,n,i,e[12],11,-421815835),i=b(i,a,r,n,e[15],16,530742520),r=y(r,n=b(n,i,a,r,e[2],23,-995338651),i,a,e[0],6,-198630844),a=y(a,r,n,i,e[7],10,1126891415),i=y(i,a,r,n,e[14],15,-1416354905),n=y(n,i,a,r,e[5],21,-57434055),r=y(r,n,i,a,e[12],6,1700485571),a=y(a,r,n,i,e[3],10,-1894986606),i=y(i,a,r,n,e[10],15,-1051523),n=y(n,i,a,r,e[1],21,-2054922799),r=y(r,n,i,a,e[8],6,1873313359),a=y(a,r,n,i,e[15],10,-30611744),i=y(i,a,r,n,e[6],15,-1560198380),n=y(n,i,a,r,e[13],21,1309151649),r=y(r,n,i,a,e[4],6,-145523070),a=y(a,r,n,i,e[11],10,-1120210379),i=y(i,a,r,n,e[2],15,718787259),n=y(n,i,a,r,e[9],21,-343485551),t[0]=P(r,t[0]),t[1]=P(n,t[1]),t[2]=P(i,t[2]),t[3]=P(a,t[3])}function g(t,e,r,n,i,a){return e=P(P(e,t),P(n,a)),P(e<<i|e>>>32-i,r)}function m(t,e,r,n,i,a,o){return g(e&r|~e&n,t,e,i,a,o)}function v(t,e,r,n,i,a,o){return g(e&n|r&~n,t,e,i,a,o)}function b(t,e,r,n,i,a,o){return g(e^r^n,t,e,i,a,o)}function y(t,e,r,n,i,a,o){return g(r^(e|~n),t,e,i,a,o)}function w(t){var e,r=t.length,n=[1732584193,-271733879,-1732584194,271733878];for(e=64;e<=t.length;e+=64)p(n,N(t.substring(e-64,e)));t=t.substring(e-64);var i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(e=0;e<t.length;e++)i[e>>2]|=t.charCodeAt(e)<<(e%4<<3);if(i[e>>2]|=128<<(e%4<<3),e>55)for(p(n,i),e=0;e<16;e++)i[e]=0;return i[14]=8*r,p(n,i),n}function N(t){var e,r=[];for(e=0;e<64;e+=4)r[e>>2]=t.charCodeAt(e)+(t.charCodeAt(e+1)<<8)+(t.charCodeAt(e+2)<<16)+(t.charCodeAt(e+3)<<24);return r}var L=\"0123456789abcdef\".split(\"\");function x(t){for(var e=\"\",r=0;r<4;r++)e+=L[t>>8*r+4&15]+L[t>>8*r&15];return e}function A(t){return String.fromCharCode(255&t,(65280&t)>>8,(16711680&t)>>16,(4278190080&t)>>24)}function S(t){return w(t).map(A).join(\"\")}var _=\"5d41402abc4b2a76b9719d911017c592\"!=function(t){for(var e=0;e<t.length;e++)t[e]=x(t[e]);return t.join(\"\")}(w(\"hello\"));function P(t,e){if(_){var r=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(r>>16)<<16|65535&r}return t+e&4294967295}\n/**\n * @license\n * FPDF is released under a permissive license: there is no usage restriction.\n * You may embed it freely in your application (commercial or not), with or\n * without modifications.\n *\n * Reference: http://www.fpdf.org/en/script/script37.php\n */function k(t,e){var r,n,i,a;if(t!==r){for(var o=(i=t,a=1+(256/t.length|0),new Array(a+1).join(i)),s=[],u=0;u<256;u++)s[u]=u;var c=0;for(u=0;u<256;u++){var l=s[u];c=(c+l+o.charCodeAt(u))%256,s[u]=s[c],s[c]=l}r=t,n=s}else s=n;var h=e.length,f=0,d=0,p=\"\";for(u=0;u<h;u++)d=(d+(l=s[f=(f+1)%256]))%256,s[f]=s[d],s[d]=l,o=s[(s[f]+s[d])%256],p+=String.fromCharCode(e.charCodeAt(u)^o);return p}\n/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n * Author: Owen Leong (@owenl131)\n * Date: 15 Oct 2020\n * References:\n * https://www.cs.cmu.edu/~dst/Adobe/Gallery/anon21jul01-pdf-encryption.txt\n * https://github.com/foliojs/pdfkit/blob/master/lib/security.js\n * http://www.fpdf.org/en/script/script37.php\n */var F={print:4,modify:8,copy:16,\"annot-forms\":32};function I(t,e,r,n){this.v=1,this.r=2;var i=192;t.forEach(function(t){if(void 0!==F.perm)throw new Error(\"Invalid permission: \"+t);i+=F[t]}),this.padding=\"(¿N^NuAd\\0NVÿú\u0001\\b..\\0¶Ðh>/\\f©þdSiz\";var a=(e+this.padding).substr(0,32),o=(r+this.padding).substr(0,32);this.O=this.processOwnerPassword(a,o),this.P=-(1+(255^i)),this.encryptionKey=S(a+this.O+this.lsbFirstWord(this.P)+this.hexToBytes(n)).substr(0,5),this.U=k(this.encryptionKey,this.padding)}function C(t){if(/[^\\u0000-\\u00ff]/.test(t))throw new Error(\"Invalid PDF Name Object: \"+t+\", Only accept ASCII characters.\");for(var e=\"\",r=t.length,n=0;n<r;n++){var i=t.charCodeAt(n);e+=i<33||35===i||37===i||40===i||41===i||47===i||60===i||62===i||91===i||93===i||123===i||125===i||i>126?\"#\"+(\"0\"+i.toString(16)).slice(-2):t[n]}return e}function j(e){if(\"object\"!==t(e))throw new Error(\"Invalid Context passed to initialize PubSub (jsPDF-module)\");var r={};this.subscribe=function(t,e,n){if(n=n||!1,\"string\"!=typeof t||\"function\"!=typeof e||\"boolean\"!=typeof n)throw new Error(\"Invalid arguments passed to PubSub.subscribe (jsPDF-module)\");r.hasOwnProperty(t)||(r[t]={});var i=Math.random().toString(35);return r[t][i]=[e,!!n],i},this.unsubscribe=function(t){for(var e in r)if(r[e][t])return delete r[e][t],0===Object.keys(r[e]).length&&delete r[e],!0;return!1},this.publish=function(t){if(r.hasOwnProperty(t)){var n=Array.prototype.slice.call(arguments,1),a=[];for(var s in r[t]){var u=r[t][s];try{u[0].apply(e,n)}catch(c){i.console&&o.error(\"jsPDF PubSub Error\",c.message,c)}u[1]&&a.push(s)}a.length&&a.forEach(this.unsubscribe)}},this.getTopics=function(){return r}}function O(t){if(!(this instanceof O))return new O(t);var e=\"opacity,stroke-opacity\".split(\",\");for(var r in t)t.hasOwnProperty(r)&&e.indexOf(r)>=0&&(this[r]=t[r]);this.id=\"\",this.objectNumber=-1}function B(t,e){this.gState=t,this.matrix=e,this.id=\"\",this.objectNumber=-1}function M(t,e,r,n,i){if(!(this instanceof M))return new M(t,e,r,n,i);this.type=\"axial\"===t?2:3,this.coords=e,this.colors=r,B.call(this,n,i)}function q(t,e,r,n,i){if(!(this instanceof q))return new q(t,e,r,n,i);this.boundingBox=t,this.xStep=e,this.yStep=r,this.stream=\"\",this.cloneIndex=0,B.call(this,n,i)}function E(e){var r,n=\"string\"==typeof arguments[0]?arguments[0]:\"p\",a=arguments[1],s=arguments[2],u=arguments[3],c=[],f=1,p=16,g=\"S\",m=null;\"object\"===t(e=e||{})&&(n=e.orientation,a=e.unit||a,s=e.format||s,u=e.compress||e.compressPdf||u,null!==(m=e.encryption||null)&&(m.userPassword=m.userPassword||\"\",m.ownerPassword=m.ownerPassword||\"\",m.userPermissions=m.userPermissions||[]),f=\"number\"==typeof e.userUnit?Math.abs(e.userUnit):1,void 0!==e.precision&&(r=e.precision),void 0!==e.floatPrecision&&(p=e.floatPrecision),g=e.defaultPathOperation||\"S\"),c=e.filters||(!0===u?[\"FlateEncode\"]:c),a=a||\"mm\",n=(\"\"+(n||\"P\")).toLowerCase();var v=e.putOnlyUsedFonts||!1,b={},y={internal:{},__private__:{}};y.__private__.PubSub=j;var w=\"1.3\",N=y.__private__.getPdfVersion=function(){return w};y.__private__.setPdfVersion=function(t){w=t};var L={a0:[2383.94,3370.39],a1:[1683.78,2383.94],a2:[1190.55,1683.78],a3:[841.89,1190.55],a4:[595.28,841.89],a5:[419.53,595.28],a6:[297.64,419.53],a7:[209.76,297.64],a8:[147.4,209.76],a9:[104.88,147.4],a10:[73.7,104.88],b0:[2834.65,4008.19],b1:[2004.09,2834.65],b2:[1417.32,2004.09],b3:[1000.63,1417.32],b4:[708.66,1000.63],b5:[498.9,708.66],b6:[354.33,498.9],b7:[249.45,354.33],b8:[175.75,249.45],b9:[124.72,175.75],b10:[87.87,124.72],c0:[2599.37,3676.54],c1:[1836.85,2599.37],c2:[1298.27,1836.85],c3:[918.43,1298.27],c4:[649.13,918.43],c5:[459.21,649.13],c6:[323.15,459.21],c7:[229.61,323.15],c8:[161.57,229.61],c9:[113.39,161.57],c10:[79.37,113.39],dl:[311.81,623.62],letter:[612,792],\"government-letter\":[576,756],legal:[612,1008],\"junior-legal\":[576,360],ledger:[1224,792],tabloid:[792,1224],\"credit-card\":[153,243]};y.__private__.getPageFormats=function(){return L};var x=y.__private__.getPageFormat=function(t){return L[t]};s=s||\"a4\";var A=\"compat\",S=\"advanced\",_=A;function P(){this.saveGraphicsState(),lt(new Wt(St,0,0,-St,0,Pr()*St).toString()+\" cm\"),this.setFontSize(this.getFontSize()/St),g=\"n\",_=S}function k(){this.restoreGraphicsState(),g=\"S\",_=A}var F=y.__private__.combineFontStyleAndFontWeight=function(t,e){if(\"bold\"==t&&\"normal\"==e||\"bold\"==t&&400==e||\"normal\"==t&&\"italic\"==e||\"bold\"==t&&\"italic\"==e)throw new Error(\"Invalid Combination of fontweight and fontstyle\");return e&&(t=400==e||\"normal\"===e?\"italic\"===t?\"italic\":\"normal\":700!=e&&\"bold\"!==e||\"normal\"!==t?(700==e?\"bold\":e)+\"\"+t:\"bold\"),t};y.advancedAPI=function(t){var e=_===A;return e&&P.call(this),\"function\"!=typeof t||(t(this),e&&k.call(this)),this},y.compatAPI=function(t){var e=_===S;return e&&k.call(this),\"function\"!=typeof t||(t(this),e&&P.call(this)),this},y.isAdvancedAPI=function(){return _===S};var B,R=function(t){if(_!==S)throw new Error(t+\" is only available in 'advanced' API mode. You need to call advancedAPI() first.\")},D=y.roundToPrecision=y.__private__.roundToPrecision=function(t,e){var n=r||e;if(isNaN(t)||isNaN(n))throw new Error(\"Invalid argument passed to jsPDF.roundToPrecision\");return t.toFixed(n).replace(/0+$/,\"\")};B=y.hpf=y.__private__.hpf=\"number\"==typeof p?function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.hpf\");return D(t,p)}:\"smart\"===p?function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.hpf\");return D(t,t>-1&&t<1?16:5)}:function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.hpf\");return D(t,16)};var T=y.f2=y.__private__.f2=function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.f2\");return D(t,2)},z=y.__private__.f3=function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.f3\");return D(t,3)},U=y.scale=y.__private__.scale=function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.scale\");return _===A?t*St:_===S?t:void 0},H=function(t){return U(function(t){return _===A?Pr()-t:_===S?t:void 0}(t))};y.__private__.setPrecision=y.setPrecision=function(t){\"number\"==typeof parseInt(t,10)&&(r=parseInt(t,10))};var W,V=\"00000000000000000000000000000000\",G=y.__private__.getFileId=function(){return V},Y=y.__private__.setFileId=function(t){return V=void 0!==t&&/^[a-fA-F0-9]{32}$/.test(t)?t.toUpperCase():V.split(\"\").map(function(){return\"ABCDEF0123456789\".charAt(Math.floor(16*Math.random()))}).join(\"\"),null!==m&&(Oe=new I(m.userPermissions,m.userPassword,m.ownerPassword,V)),V};y.setFileId=function(t){return Y(t),this},y.getFileId=function(){return G()};var J=y.__private__.convertDateToPDFDate=function(t){var e=t.getTimezoneOffset(),r=e<0?\"+\":\"-\",n=Math.floor(Math.abs(e/60)),i=Math.abs(e%60),a=[r,Q(n),\"'\",Q(i),\"'\"].join(\"\");return[\"D:\",t.getFullYear(),Q(t.getMonth()+1),Q(t.getDate()),Q(t.getHours()),Q(t.getMinutes()),Q(t.getSeconds()),a].join(\"\")},X=y.__private__.convertPDFDateToDate=function(t){var e=parseInt(t.substr(2,4),10),r=parseInt(t.substr(6,2),10)-1,n=parseInt(t.substr(8,2),10),i=parseInt(t.substr(10,2),10),a=parseInt(t.substr(12,2),10),o=parseInt(t.substr(14,2),10);return new Date(e,r,n,i,a,o,0)},K=y.__private__.setCreationDate=function(t){var e;if(void 0===t&&(t=new Date),t instanceof Date)e=J(t);else{if(!/^D:(20[0-2][0-9]|203[0-7]|19[7-9][0-9])(0[0-9]|1[0-2])([0-2][0-9]|3[0-1])(0[0-9]|1[0-9]|2[0-3])(0[0-9]|[1-5][0-9])(0[0-9]|[1-5][0-9])(\\+0[0-9]|\\+1[0-4]|-0[0-9]|-1[0-1])'(0[0-9]|[1-5][0-9])'?$/.test(t))throw new Error(\"Invalid argument passed to jsPDF.setCreationDate\");e=t}return W=e},Z=y.__private__.getCreationDate=function(t){var e=W;return\"jsDate\"===t&&(e=X(W)),e};y.setCreationDate=function(t){return K(t),this},y.getCreationDate=function(t){return Z(t)};var $,Q=y.__private__.padd2=function(t){return(\"0\"+parseInt(t)).slice(-2)},tt=y.__private__.padd2Hex=function(t){return(\"00\"+(t=t.toString())).substr(t.length)},et=0,rt=[],nt=[],it=0,at=[],ot=[],st=!1,ut=nt;y.__private__.setCustomOutputDestination=function(t){st=!0,ut=t};var ct=function(t){st||(ut=t)};y.__private__.resetCustomOutputDestination=function(){st=!1,ut=nt};var lt=y.__private__.out=function(t){return t=t.toString(),it+=t.length+1,ut.push(t),ut},ht=y.__private__.write=function(t){return lt(1===arguments.length?t.toString():Array.prototype.join.call(arguments,\" \"))},ft=y.__private__.getArrayBuffer=function(t){for(var e=t.length,r=new ArrayBuffer(e),n=new Uint8Array(r);e--;)n[e]=t.charCodeAt(e);return r},dt=[[\"Helvetica\",\"helvetica\",\"normal\",\"WinAnsiEncoding\"],[\"Helvetica-Bold\",\"helvetica\",\"bold\",\"WinAnsiEncoding\"],[\"Helvetica-Oblique\",\"helvetica\",\"italic\",\"WinAnsiEncoding\"],[\"Helvetica-BoldOblique\",\"helvetica\",\"bolditalic\",\"WinAnsiEncoding\"],[\"Courier\",\"courier\",\"normal\",\"WinAnsiEncoding\"],[\"Courier-Bold\",\"courier\",\"bold\",\"WinAnsiEncoding\"],[\"Courier-Oblique\",\"courier\",\"italic\",\"WinAnsiEncoding\"],[\"Courier-BoldOblique\",\"courier\",\"bolditalic\",\"WinAnsiEncoding\"],[\"Times-Roman\",\"times\",\"normal\",\"WinAnsiEncoding\"],[\"Times-Bold\",\"times\",\"bold\",\"WinAnsiEncoding\"],[\"Times-Italic\",\"times\",\"italic\",\"WinAnsiEncoding\"],[\"Times-BoldItalic\",\"times\",\"bolditalic\",\"WinAnsiEncoding\"],[\"ZapfDingbats\",\"zapfdingbats\",\"normal\",null],[\"Symbol\",\"symbol\",\"normal\",null]];y.__private__.getStandardFonts=function(){return dt};var pt=e.fontSize||16;y.__private__.setFontSize=y.setFontSize=function(t){return pt=_===S?t/St:t,this};var gt,mt=y.__private__.getFontSize=y.getFontSize=function(){return _===A?pt:pt*St},vt=e.R2L||!1;y.__private__.setR2L=y.setR2L=function(t){return vt=t,this},y.__private__.getR2L=y.getR2L=function(){return vt};var bt,yt=y.__private__.setZoomMode=function(t){if(/^(?:\\d+\\.\\d*|\\d*\\.\\d+|\\d+)%$/.test(t))gt=t;else if(isNaN(t)){if(-1===[void 0,null,\"fullwidth\",\"fullheight\",\"fullpage\",\"original\"].indexOf(t))throw new Error('zoom must be Integer (e.g. 2), a percentage Value (e.g. 300%) or fullwidth, fullheight, fullpage, original. \"'+t+'\" is not recognized.');gt=t}else gt=parseInt(t,10)};y.__private__.getZoomMode=function(){return gt};var wt,Nt=y.__private__.setPageMode=function(t){if(-1==[void 0,null,\"UseNone\",\"UseOutlines\",\"UseThumbs\",\"FullScreen\"].indexOf(t))throw new Error('Page mode must be one of UseNone, UseOutlines, UseThumbs, or FullScreen. \"'+t+'\" is not recognized.');bt=t};y.__private__.getPageMode=function(){return bt};var Lt=y.__private__.setLayoutMode=function(t){if(-1==[void 0,null,\"continuous\",\"single\",\"twoleft\",\"tworight\",\"two\"].indexOf(t))throw new Error('Layout mode must be one of continuous, single, twoleft, tworight. \"'+t+'\" is not recognized.');wt=t};y.__private__.getLayoutMode=function(){return wt},y.__private__.setDisplayMode=y.setDisplayMode=function(t,e,r){return yt(t),Lt(e),Nt(r),this};var xt={title:\"\",subject:\"\",author:\"\",keywords:\"\",creator:\"\"};y.__private__.getDocumentProperty=function(t){if(-1===Object.keys(xt).indexOf(t))throw new Error(\"Invalid argument passed to jsPDF.getDocumentProperty\");return xt[t]},y.__private__.getDocumentProperties=function(){return xt},y.__private__.setDocumentProperties=y.setProperties=y.setDocumentProperties=function(t){for(var e in xt)xt.hasOwnProperty(e)&&t[e]&&(xt[e]=t[e]);return this},y.__private__.setDocumentProperty=function(t,e){if(-1===Object.keys(xt).indexOf(t))throw new Error(\"Invalid arguments passed to jsPDF.setDocumentProperty\");return xt[t]=e};var At,St,_t,Pt,kt,Ft={},It={},Ct=[],jt={},Ot={},Bt={},Mt={},qt=null,Et=0,Rt=[],Dt=new j(y),Tt=e.hotfixes||[],zt={},Ut={},Ht=[],Wt=function t(e,r,n,i,a,o){if(!(this instanceof t))return new t(e,r,n,i,a,o);isNaN(e)&&(e=1),isNaN(r)&&(r=0),isNaN(n)&&(n=0),isNaN(i)&&(i=1),isNaN(a)&&(a=0),isNaN(o)&&(o=0),this._matrix=[e,r,n,i,a,o]};Object.defineProperty(Wt.prototype,\"sx\",{get:function(){return this._matrix[0]},set:function(t){this._matrix[0]=t}}),Object.defineProperty(Wt.prototype,\"shy\",{get:function(){return this._matrix[1]},set:function(t){this._matrix[1]=t}}),Object.defineProperty(Wt.prototype,\"shx\",{get:function(){return this._matrix[2]},set:function(t){this._matrix[2]=t}}),Object.defineProperty(Wt.prototype,\"sy\",{get:function(){return this._matrix[3]},set:function(t){this._matrix[3]=t}}),Object.defineProperty(Wt.prototype,\"tx\",{get:function(){return this._matrix[4]},set:function(t){this._matrix[4]=t}}),Object.defineProperty(Wt.prototype,\"ty\",{get:function(){return this._matrix[5]},set:function(t){this._matrix[5]=t}}),Object.defineProperty(Wt.prototype,\"a\",{get:function(){return this._matrix[0]},set:function(t){this._matrix[0]=t}}),Object.defineProperty(Wt.prototype,\"b\",{get:function(){return this._matrix[1]},set:function(t){this._matrix[1]=t}}),Object.defineProperty(Wt.prototype,\"c\",{get:function(){return this._matrix[2]},set:function(t){this._matrix[2]=t}}),Object.defineProperty(Wt.prototype,\"d\",{get:function(){return this._matrix[3]},set:function(t){this._matrix[3]=t}}),Object.defineProperty(Wt.prototype,\"e\",{get:function(){return this._matrix[4]},set:function(t){this._matrix[4]=t}}),Object.defineProperty(Wt.prototype,\"f\",{get:function(){return this._matrix[5]},set:function(t){this._matrix[5]=t}}),Object.defineProperty(Wt.prototype,\"rotation\",{get:function(){return Math.atan2(this.shx,this.sx)}}),Object.defineProperty(Wt.prototype,\"scaleX\",{get:function(){return this.decompose().scale.sx}}),Object.defineProperty(Wt.prototype,\"scaleY\",{get:function(){return this.decompose().scale.sy}}),Object.defineProperty(Wt.prototype,\"isIdentity\",{get:function(){return 1===this.sx&&0===this.shy&&0===this.shx&&1===this.sy&&0===this.tx&&0===this.ty}}),Wt.prototype.join=function(t){return[this.sx,this.shy,this.shx,this.sy,this.tx,this.ty].map(B).join(t)},Wt.prototype.multiply=function(t){var e=t.sx*this.sx+t.shy*this.shx,r=t.sx*this.shy+t.shy*this.sy,n=t.shx*this.sx+t.sy*this.shx,i=t.shx*this.shy+t.sy*this.sy,a=t.tx*this.sx+t.ty*this.shx+this.tx,o=t.tx*this.shy+t.ty*this.sy+this.ty;return new Wt(e,r,n,i,a,o)},Wt.prototype.decompose=function(){var t=this.sx,e=this.shy,r=this.shx,n=this.sy,i=this.tx,a=this.ty,o=Math.sqrt(t*t+e*e),s=(t/=o)*r+(e/=o)*n;r-=t*s,n-=e*s;var u=Math.sqrt(r*r+n*n);return s/=u,t*(n/=u)<e*(r/=u)&&(t=-t,e=-e,s=-s,o=-o),{scale:new Wt(o,0,0,u,0,0),translate:new Wt(1,0,0,1,i,a),rotate:new Wt(t,e,-e,t,0,0),skew:new Wt(1,0,s,1,0,0)}},Wt.prototype.toString=function(t){return this.join(\" \")},Wt.prototype.inversed=function(){var t=this.sx,e=this.shy,r=this.shx,n=this.sy,i=this.tx,a=this.ty,o=1/(t*n-e*r),s=n*o,u=-e*o,c=-r*o,l=t*o;return new Wt(s,u,c,l,-s*i-c*a,-u*i-l*a)},Wt.prototype.applyToPoint=function(t){var e=t.x*this.sx+t.y*this.shx+this.tx,r=t.x*this.shy+t.y*this.sy+this.ty;return new mr(e,r)},Wt.prototype.applyToRectangle=function(t){var e=this.applyToPoint(t),r=this.applyToPoint(new mr(t.x+t.w,t.y+t.h));return new vr(e.x,e.y,r.x-e.x,r.y-e.y)},Wt.prototype.clone=function(){var t=this.sx,e=this.shy,r=this.shx,n=this.sy,i=this.tx,a=this.ty;return new Wt(t,e,r,n,i,a)},y.Matrix=Wt;var Vt=y.matrixMult=function(t,e){return e.multiply(t)},Gt=new Wt(1,0,0,1,0,0);y.unitMatrix=y.identityMatrix=Gt;var Yt=function(t,e){if(!Ot[t]){var r=(e instanceof M?\"Sh\":\"P\")+(Object.keys(jt).length+1).toString(10);e.id=r,Ot[t]=r,jt[r]=e,Dt.publish(\"addPattern\",e)}};y.ShadingPattern=M,y.TilingPattern=q,y.addShadingPattern=function(t,e){return R(\"addShadingPattern()\"),Yt(t,e),this},y.beginTilingPattern=function(t){R(\"beginTilingPattern()\"),yr(t.boundingBox[0],t.boundingBox[1],t.boundingBox[2]-t.boundingBox[0],t.boundingBox[3]-t.boundingBox[1],t.matrix)},y.endTilingPattern=function(t,e){R(\"endTilingPattern()\"),e.stream=ot[$].join(\"\\n\"),Yt(t,e),Dt.publish(\"endTilingPattern\",e),Ht.pop().restore()};var Jt,Xt=y.__private__.newObject=function(){var t=Kt();return Zt(t,!0),t},Kt=y.__private__.newObjectDeferred=function(){return et++,rt[et]=function(){return it},et},Zt=function(t,e){return e=\"boolean\"==typeof e&&e,rt[t]=it,e&<(t+\" 0 obj\"),t},$t=y.__private__.newAdditionalObject=function(){var t={objId:Kt(),content:\"\"};return at.push(t),t},Qt=Kt(),te=Kt(),ee=y.__private__.decodeColorString=function(t){var e=t.split(\" \");if(2!==e.length||\"g\"!==e[1]&&\"G\"!==e[1])5!==e.length||\"k\"!==e[4]&&\"K\"!==e[4]||(e=[(1-e[0])*(1-e[3]),(1-e[1])*(1-e[3]),(1-e[2])*(1-e[3]),\"r\"]);else{var r=parseFloat(e[0]);e=[r,r,r,\"r\"]}for(var n=\"#\",i=0;i<3;i++)n+=(\"0\"+Math.floor(255*parseFloat(e[i])).toString(16)).slice(-2);return n},re=y.__private__.encodeColorString=function(e){var r;\"string\"==typeof e&&(e={ch1:e});var n=e.ch1,i=e.ch2,a=e.ch3,o=e.ch4,s=\"draw\"===e.pdfColorType?[\"G\",\"RG\",\"K\"]:[\"g\",\"rg\",\"k\"];if(\"string\"==typeof n&&\"#\"!==n.charAt(0)){var u=new h(n);if(u.ok)n=u.toHex();else if(!/^\\d*\\.?\\d*$/.test(n))throw new Error('Invalid color \"'+n+'\" passed to jsPDF.encodeColorString.')}if(\"string\"==typeof n&&/^#[0-9A-Fa-f]{3}$/.test(n)&&(n=\"#\"+n[1]+n[1]+n[2]+n[2]+n[3]+n[3]),\"string\"==typeof n&&/^#[0-9A-Fa-f]{6}$/.test(n)){var c=parseInt(n.substr(1),16);n=c>>16&255,i=c>>8&255,a=255&c}if(void 0===i||void 0===o&&n===i&&i===a)r=\"string\"==typeof n?n+\" \"+s[0]:2===e.precision?T(n/255)+\" \"+s[0]:z(n/255)+\" \"+s[0];else if(void 0===o||\"object\"===t(o)){if(o&&!isNaN(o.a)&&0===o.a)return[\"1.\",\"1.\",\"1.\",s[1]].join(\" \");r=\"string\"==typeof n?[n,i,a,s[1]].join(\" \"):2===e.precision?[T(n/255),T(i/255),T(a/255),s[1]].join(\" \"):[z(n/255),z(i/255),z(a/255),s[1]].join(\" \")}else r=\"string\"==typeof n?[n,i,a,o,s[2]].join(\" \"):2===e.precision?[T(n),T(i),T(a),T(o),s[2]].join(\" \"):[z(n),z(i),z(a),z(o),s[2]].join(\" \");return r},ne=y.__private__.getFilters=function(){return c},ie=y.__private__.putStream=function(t){var e=(t=t||{}).data||\"\",r=t.filters||ne(),n=t.alreadyAppliedFilters||[],i=t.addLength1||!1,a=e.length,o=t.objectId,s=function(t){return t};if(null!==m&&void 0===o)throw new Error(\"ObjectId must be passed to putStream for file encryption\");null!==m&&(s=Oe.encryptor(o,0));var u={};!0===r&&(r=[\"FlateEncode\"]);var c=t.additionalKeyValues||[],l=(u=void 0!==E.API.processDataByFilters?E.API.processDataByFilters(e,r):{data:e,reverseChain:[]}).reverseChain+(Array.isArray(n)?n.join(\" \"):n.toString());if(0!==u.data.length&&(c.push({key:\"Length\",value:u.data.length}),!0===i&&c.push({key:\"Length1\",value:a})),0!=l.length)if(l.split(\"/\").length-1==1)c.push({key:\"Filter\",value:l});else{c.push({key:\"Filter\",value:\"[\"+l+\"]\"});for(var h=0;h<c.length;h+=1)if(\"DecodeParms\"===c[h].key){for(var f=[],d=0;d<u.reverseChain.split(\"/\").length-1;d+=1)f.push(\"null\");f.push(c[h].value),c[h].value=\"[\"+f.join(\" \")+\"]\"}}lt(\"<<\");for(var p=0;p<c.length;p++)lt(\"/\"+c[p].key+\" \"+c[p].value);lt(\">>\"),0!==u.data.length&&(lt(\"stream\"),lt(s(u.data)),lt(\"endstream\"))},ae=y.__private__.putPage=function(t){var e=t.number,r=t.data,n=t.objId,i=t.contentsObjId;Zt(n,!0),lt(\"<</Type /Page\"),lt(\"/Parent \"+t.rootDictionaryObjId+\" 0 R\"),lt(\"/Resources \"+t.resourceDictionaryObjId+\" 0 R\"),lt(\"/MediaBox [\"+parseFloat(B(t.mediaBox.bottomLeftX))+\" \"+parseFloat(B(t.mediaBox.bottomLeftY))+\" \"+B(t.mediaBox.topRightX)+\" \"+B(t.mediaBox.topRightY)+\"]\"),null!==t.cropBox&<(\"/CropBox [\"+B(t.cropBox.bottomLeftX)+\" \"+B(t.cropBox.bottomLeftY)+\" \"+B(t.cropBox.topRightX)+\" \"+B(t.cropBox.topRightY)+\"]\"),null!==t.bleedBox&<(\"/BleedBox [\"+B(t.bleedBox.bottomLeftX)+\" \"+B(t.bleedBox.bottomLeftY)+\" \"+B(t.bleedBox.topRightX)+\" \"+B(t.bleedBox.topRightY)+\"]\"),null!==t.trimBox&<(\"/TrimBox [\"+B(t.trimBox.bottomLeftX)+\" \"+B(t.trimBox.bottomLeftY)+\" \"+B(t.trimBox.topRightX)+\" \"+B(t.trimBox.topRightY)+\"]\"),null!==t.artBox&<(\"/ArtBox [\"+B(t.artBox.bottomLeftX)+\" \"+B(t.artBox.bottomLeftY)+\" \"+B(t.artBox.topRightX)+\" \"+B(t.artBox.topRightY)+\"]\"),\"number\"==typeof t.userUnit&&1!==t.userUnit&<(\"/UserUnit \"+t.userUnit),Dt.publish(\"putPage\",{objId:n,pageContext:Rt[e],pageNumber:e,page:r}),lt(\"/Contents \"+i+\" 0 R\"),lt(\">>\"),lt(\"endobj\");var a=r.join(\"\\n\");return _===S&&(a+=\"\\nQ\"),Zt(i,!0),ie({data:a,filters:ne(),objectId:i}),lt(\"endobj\"),n},oe=y.__private__.putPages=function(){var t,e,r=[];for(t=1;t<=Et;t++)Rt[t].objId=Kt(),Rt[t].contentsObjId=Kt();for(t=1;t<=Et;t++)r.push(ae({number:t,data:ot[t],objId:Rt[t].objId,contentsObjId:Rt[t].contentsObjId,mediaBox:Rt[t].mediaBox,cropBox:Rt[t].cropBox,bleedBox:Rt[t].bleedBox,trimBox:Rt[t].trimBox,artBox:Rt[t].artBox,userUnit:Rt[t].userUnit,rootDictionaryObjId:Qt,resourceDictionaryObjId:te}));Zt(Qt,!0),lt(\"<</Type /Pages\");var n=\"/Kids [\";for(e=0;e<Et;e++)n+=r[e]+\" 0 R \";lt(n+\"]\"),lt(\"/Count \"+Et),lt(\">>\"),lt(\"endobj\"),Dt.publish(\"postPutPages\")},se=function(t){Dt.publish(\"putFont\",{font:t,out:lt,newObject:Xt,putStream:ie}),!0!==t.isAlreadyPutted&&(t.objectNumber=Xt(),lt(\"<<\"),lt(\"/Type /Font\"),lt(\"/BaseFont /\"+C(t.postScriptName)),lt(\"/Subtype /Type1\"),\"string\"==typeof t.encoding&<(\"/Encoding /\"+t.encoding),lt(\"/FirstChar 32\"),lt(\"/LastChar 255\"),lt(\">>\"),lt(\"endobj\"))},ue=function(t){t.objectNumber=Xt();var e=[];e.push({key:\"Type\",value:\"/XObject\"}),e.push({key:\"Subtype\",value:\"/Form\"}),e.push({key:\"BBox\",value:\"[\"+[B(t.x),B(t.y),B(t.x+t.width),B(t.y+t.height)].join(\" \")+\"]\"}),e.push({key:\"Matrix\",value:\"[\"+t.matrix.toString()+\"]\"});var r=t.pages[1].join(\"\\n\");ie({data:r,additionalKeyValues:e,objectId:t.objectNumber}),lt(\"endobj\")},ce=function(t,e){e||(e=21);var r=Xt(),n=function(t,e){var r,n=[],i=1/(e-1);for(r=0;r<1;r+=i)n.push(r);if(n.push(1),0!=t[0].offset){var a={offset:0,color:t[0].color};t.unshift(a)}if(1!=t[t.length-1].offset){var o={offset:1,color:t[t.length-1].color};t.push(o)}for(var s=\"\",u=0,c=0;c<n.length;c++){for(r=n[c];r>t[u+1].offset;)u++;var l=t[u].offset,h=(r-l)/(t[u+1].offset-l),f=t[u].color,d=t[u+1].color;s+=tt(Math.round((1-h)*f[0]+h*d[0]).toString(16))+tt(Math.round((1-h)*f[1]+h*d[1]).toString(16))+tt(Math.round((1-h)*f[2]+h*d[2]).toString(16))}return s.trim()}(t.colors,e),i=[];i.push({key:\"FunctionType\",value:\"0\"}),i.push({key:\"Domain\",value:\"[0.0 1.0]\"}),i.push({key:\"Size\",value:\"[\"+e+\"]\"}),i.push({key:\"BitsPerSample\",value:\"8\"}),i.push({key:\"Range\",value:\"[0.0 1.0 0.0 1.0 0.0 1.0]\"}),i.push({key:\"Decode\",value:\"[0.0 1.0 0.0 1.0 0.0 1.0]\"}),ie({data:n,additionalKeyValues:i,alreadyAppliedFilters:[\"/ASCIIHexDecode\"],objectId:r}),lt(\"endobj\"),t.objectNumber=Xt(),lt(\"<< /ShadingType \"+t.type),lt(\"/ColorSpace /DeviceRGB\");var a=\"/Coords [\"+B(parseFloat(t.coords[0]))+\" \"+B(parseFloat(t.coords[1]))+\" \";2===t.type?a+=B(parseFloat(t.coords[2]))+\" \"+B(parseFloat(t.coords[3])):a+=B(parseFloat(t.coords[2]))+\" \"+B(parseFloat(t.coords[3]))+\" \"+B(parseFloat(t.coords[4]))+\" \"+B(parseFloat(t.coords[5])),lt(a+=\"]\"),t.matrix&<(\"/Matrix [\"+t.matrix.toString()+\"]\"),lt(\"/Function \"+r+\" 0 R\"),lt(\"/Extend [true true]\"),lt(\">>\"),lt(\"endobj\")},le=function(t,e){var r=Kt(),n=Xt();e.push({resourcesOid:r,objectOid:n}),t.objectNumber=n;var i=[];i.push({key:\"Type\",value:\"/Pattern\"}),i.push({key:\"PatternType\",value:\"1\"}),i.push({key:\"PaintType\",value:\"1\"}),i.push({key:\"TilingType\",value:\"1\"}),i.push({key:\"BBox\",value:\"[\"+t.boundingBox.map(B).join(\" \")+\"]\"}),i.push({key:\"XStep\",value:B(t.xStep)}),i.push({key:\"YStep\",value:B(t.yStep)}),i.push({key:\"Resources\",value:r+\" 0 R\"}),t.matrix&&i.push({key:\"Matrix\",value:\"[\"+t.matrix.toString()+\"]\"}),ie({data:t.stream,additionalKeyValues:i,objectId:t.objectNumber}),lt(\"endobj\")},he=function(t){for(var e in t.objectNumber=Xt(),lt(\"<<\"),t)switch(e){case\"opacity\":lt(\"/ca \"+T(t[e]));break;case\"stroke-opacity\":lt(\"/CA \"+T(t[e]))}lt(\">>\"),lt(\"endobj\")},fe=function(t){Zt(t.resourcesOid,!0),lt(\"<<\"),lt(\"/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]\"),function(){for(var t in lt(\"/Font <<\"),Ft)Ft.hasOwnProperty(t)&&(!1===v||!0===v&&b.hasOwnProperty(t))&<(\"/\"+t+\" \"+Ft[t].objectNumber+\" 0 R\");lt(\">>\")}(),function(){if(Object.keys(jt).length>0){for(var t in lt(\"/Shading <<\"),jt)jt.hasOwnProperty(t)&&jt[t]instanceof M&&jt[t].objectNumber>=0&<(\"/\"+t+\" \"+jt[t].objectNumber+\" 0 R\");Dt.publish(\"putShadingPatternDict\"),lt(\">>\")}}(),function(t){if(Object.keys(jt).length>0){for(var e in lt(\"/Pattern <<\"),jt)jt.hasOwnProperty(e)&&jt[e]instanceof y.TilingPattern&&jt[e].objectNumber>=0&&jt[e].objectNumber<t&<(\"/\"+e+\" \"+jt[e].objectNumber+\" 0 R\");Dt.publish(\"putTilingPatternDict\"),lt(\">>\")}}(t.objectOid),function(){if(Object.keys(Bt).length>0){var t;for(t in lt(\"/ExtGState <<\"),Bt)Bt.hasOwnProperty(t)&&Bt[t].objectNumber>=0&<(\"/\"+t+\" \"+Bt[t].objectNumber+\" 0 R\");Dt.publish(\"putGStateDict\"),lt(\">>\")}}(),function(){for(var t in lt(\"/XObject <<\"),zt)zt.hasOwnProperty(t)&&zt[t].objectNumber>=0&<(\"/\"+t+\" \"+zt[t].objectNumber+\" 0 R\");Dt.publish(\"putXobjectDict\"),lt(\">>\")}(),lt(\">>\"),lt(\"endobj\")},de=function(t){It[t.fontName]=It[t.fontName]||{},It[t.fontName][t.fontStyle]=t.id},pe=function(t,e,r,n,i){var a={id:\"F\"+(Object.keys(Ft).length+1).toString(10),postScriptName:t,fontName:e,fontStyle:r,encoding:n,isStandardFont:i||!1,metadata:{}};return Dt.publish(\"addFont\",{font:a,instance:this}),Ft[a.id]=a,de(a),a.id},ge=y.__private__.pdfEscape=y.pdfEscape=function(t,e){return function(t,e){var r,n,i,a,o,s,u,c,l;if(i=(e=e||{}).sourceEncoding||\"Unicode\",o=e.outputEncoding,(e.autoencode||o)&&Ft[At].metadata&&Ft[At].metadata[i]&&Ft[At].metadata[i].encoding&&(a=Ft[At].metadata[i].encoding,!o&&Ft[At].encoding&&(o=Ft[At].encoding),!o&&a.codePages&&(o=a.codePages[0]),\"string\"==typeof o&&(o=a[o]),o)){for(u=!1,s=[],r=0,n=t.length;r<n;r++)(c=o[t.charCodeAt(r)])?s.push(String.fromCharCode(c)):s.push(t[r]),s[r].charCodeAt(0)>>8&&(u=!0);t=s.join(\"\")}for(r=t.length;void 0===u&&0!==r;)t.charCodeAt(r-1)>>8&&(u=!0),r--;if(!u)return t;for(s=e.noBOM?[]:[254,255],r=0,n=t.length;r<n;r++){if((l=(c=t.charCodeAt(r))>>8)>>8)throw new Error(\"Character at position \"+r+\" of string '\"+t+\"' exceeds 16bits. Cannot be encoded into UCS-2 BE\");s.push(l),s.push(c-(l<<8))}return String.fromCharCode.apply(void 0,s)}(t,e).replace(/\\\\/g,\"\\\\\\\\\").replace(/\\(/g,\"\\\\(\").replace(/\\)/g,\"\\\\)\")},me=y.__private__.beginPage=function(t){ot[++Et]=[],Rt[Et]={objId:0,contentsObjId:0,userUnit:Number(f),artBox:null,bleedBox:null,cropBox:null,trimBox:null,mediaBox:{bottomLeftX:0,bottomLeftY:0,topRightX:Number(t[0]),topRightY:Number(t[1])}},ye(Et),ct(ot[$])},ve=function(t,e){var r,i,a;switch(n=e||n,\"string\"==typeof t&&(r=x(t.toLowerCase()),Array.isArray(r)&&(i=r[0],a=r[1])),Array.isArray(t)&&(i=t[0]*St,a=t[1]*St),isNaN(i)&&(i=s[0],a=s[1]),(i>14400||a>14400)&&(o.warn(\"A page in a PDF can not be wider or taller than 14400 userUnit. jsPDF limits the width/height to 14400\"),i=Math.min(14400,i),a=Math.min(14400,a)),s=[i,a],n.substr(0,1)){case\"l\":a>i&&(s=[a,i]);break;case\"p\":i>a&&(s=[a,i])}me(s),Qe(Ze),lt(sr),0!==dr&<(dr+\" J\"),0!==pr&<(pr+\" j\"),Dt.publish(\"addPage\",{pageNumber:Et})},be=function(t){t>0&&t<=Et&&(ot.splice(t,1),Rt.splice(t,1),Et--,$>Et&&($=Et),this.setPage($))},ye=function(t){t>0&&t<=Et&&($=t)},we=y.__private__.getNumberOfPages=y.getNumberOfPages=function(){return ot.length-1},Ne=function(t,e,r){var n,i=void 0;return r=r||{},t=void 0!==t?t:Ft[At].fontName,e=void 0!==e?e:Ft[At].fontStyle,n=t.toLowerCase(),void 0!==It[n]&&void 0!==It[n][e]?i=It[n][e]:void 0!==It[t]&&void 0!==It[t][e]?i=It[t][e]:!1===r.disableWarning&&o.warn(\"Unable to look up font label for font '\"+t+\"', '\"+e+\"'. Refer to getFontList() for available fonts.\"),i||r.noFallback||null==(i=It.times[e])&&(i=It.times.normal),i},Le=y.__private__.putInfo=function(){var t=Xt(),e=function(t){return t};for(var r in null!==m&&(e=Oe.encryptor(t,0)),lt(\"<<\"),lt(\"/Producer (\"+ge(e(\"jsPDF \"+E.version))+\")\"),xt)xt.hasOwnProperty(r)&&xt[r]&<(\"/\"+r.substr(0,1).toUpperCase()+r.substr(1)+\" (\"+ge(e(xt[r]))+\")\");lt(\"/CreationDate (\"+ge(e(W))+\")\"),lt(\">>\"),lt(\"endobj\")},xe=y.__private__.putCatalog=function(t){var e=(t=t||{}).rootDictionaryObjId||Qt;switch(Xt(),lt(\"<<\"),lt(\"/Type /Catalog\"),lt(\"/Pages \"+e+\" 0 R\"),gt||(gt=\"fullwidth\"),gt){case\"fullwidth\":lt(\"/OpenAction [3 0 R /FitH null]\");break;case\"fullheight\":lt(\"/OpenAction [3 0 R /FitV null]\");break;case\"fullpage\":lt(\"/OpenAction [3 0 R /Fit]\");break;case\"original\":lt(\"/OpenAction [3 0 R /XYZ null null 1]\");break;default:var r=\"\"+gt;\"%\"===r.substr(r.length-1)&&(gt=parseInt(gt)/100),\"number\"==typeof gt&<(\"/OpenAction [3 0 R /XYZ null null \"+T(gt)+\"]\")}switch(wt||(wt=\"continuous\"),wt){case\"continuous\":lt(\"/PageLayout /OneColumn\");break;case\"single\":lt(\"/PageLayout /SinglePage\");break;case\"two\":case\"twoleft\":lt(\"/PageLayout /TwoColumnLeft\");break;case\"tworight\":lt(\"/PageLayout /TwoColumnRight\")}bt&<(\"/PageMode /\"+bt),Dt.publish(\"putCatalog\"),lt(\">>\"),lt(\"endobj\")},Ae=y.__private__.putTrailer=function(){lt(\"trailer\"),lt(\"<<\"),lt(\"/Size \"+(et+1)),lt(\"/Root \"+et+\" 0 R\"),lt(\"/Info \"+(et-1)+\" 0 R\"),null!==m&<(\"/Encrypt \"+Oe.oid+\" 0 R\"),lt(\"/ID [ <\"+V+\"> <\"+V+\"> ]\"),lt(\">>\")},Se=y.__private__.putHeader=function(){lt(\"%PDF-\"+w),lt(\"%ºß¬à\")},_e=y.__private__.putXRef=function(){var t=\"0000000000\";lt(\"xref\"),lt(\"0 \"+(et+1)),lt(\"0000000000 65535 f \");for(var e=1;e<=et;e++)\"function\"==typeof rt[e]?lt((t+rt[e]()).slice(-10)+\" 00000 n \"):void 0!==rt[e]?lt((t+rt[e]).slice(-10)+\" 00000 n \"):lt(\"0000000000 00000 n \")},Pe=y.__private__.buildDocument=function(){var t;et=0,it=0,nt=[],rt=[],at=[],Qt=Kt(),te=Kt(),ct(nt),Dt.publish(\"buildDocument\"),Se(),oe(),function(){Dt.publish(\"putAdditionalObjects\");for(var t=0;t<at.length;t++){var e=at[t];Zt(e.objId,!0),lt(e.content),lt(\"endobj\")}Dt.publish(\"postPutAdditionalObjects\")}(),t=[],function(){for(var t in Ft)Ft.hasOwnProperty(t)&&(!1===v||!0===v&&b.hasOwnProperty(t))&&se(Ft[t])}(),function(){var t;for(t in Bt)Bt.hasOwnProperty(t)&&he(Bt[t])}(),function(){for(var t in zt)zt.hasOwnProperty(t)&&ue(zt[t])}(),function(t){var e;for(e in jt)jt.hasOwnProperty(e)&&(jt[e]instanceof M?ce(jt[e]):jt[e]instanceof q&&le(jt[e],t))}(t),Dt.publish(\"putResources\"),t.forEach(fe),fe({resourcesOid:te,objectOid:Number.MAX_SAFE_INTEGER}),Dt.publish(\"postPutResources\"),null!==m&&(Oe.oid=Xt(),lt(\"<<\"),lt(\"/Filter /Standard\"),lt(\"/V \"+Oe.v),lt(\"/R \"+Oe.r),lt(\"/U <\"+Oe.toHexString(Oe.U)+\">\"),lt(\"/O <\"+Oe.toHexString(Oe.O)+\">\"),lt(\"/P \"+Oe.P),lt(\">>\"),lt(\"endobj\")),Le(),xe();var e=it;return _e(),Ae(),lt(\"startxref\"),lt(\"\"+e),lt(\"%%EOF\"),ct(ot[$]),nt.join(\"\\n\")},ke=y.__private__.getBlob=function(t){return new Blob([ft(t)],{type:\"application/pdf\"})},Fe=function(t){for(;t.firstChild;)t.removeChild(t.firstChild)},Ie=function(t){var e,r=t.document,n=r.documentElement,i=r.head,a=r.body;return i||(i=r.createElement(\"head\"),n.appendChild(i)),a||(a=r.createElement(\"body\"),n.appendChild(a)),Fe(i),Fe(a),(e=r.createElement(\"style\")).appendChild(r.createTextNode(\"html, body { padding: 0; margin: 0; } iframe { width: 100%; height: 100%; border: 0;}\")),i.appendChild(e),{document:r,body:a}},Ce=y.output=y.__private__.output=(Jt=function(t,e){switch(\"string\"==typeof(e=e||{})?e={filename:e}:e.filename=e.filename||\"generated.pdf\",t){case void 0:return Pe();case\"save\":y.save(e.filename);break;case\"arraybuffer\":return ft(Pe());case\"blob\":return ke(Pe());case\"bloburi\":case\"bloburl\":if(void 0!==i.URL&&\"function\"==typeof i.URL.createObjectURL)return i.URL&&i.URL.createObjectURL(ke(Pe()))||void 0;o.warn(\"bloburl is not supported by your system, because URL.createObjectURL is not supported by your browser.\");break;case\"datauristring\":case\"dataurlstring\":var r=\"\",n=Pe();try{r=d(n)}catch(L){r=d(unescape(encodeURIComponent(n)))}return\"data:application/pdf;filename=\"+encodeURIComponent(e.filename)+\";base64,\"+r;case\"pdfobjectnewwindow\":if(\"[object Window]\"===Object.prototype.toString.call(i)){var a=\"https://cdnjs.cloudflare.com/ajax/libs/pdfobject/2.1.1/pdfobject.min.js\",s=!e.pdfObjectUrl;s||(a=e.pdfObjectUrl);var u=i.open();if(null!==u){var c=Ie(u),l=c.document.createElement(\"script\"),h=this;l.src=a,s&&(l.integrity=\"sha512-4ze/a9/4jqu+tX9dfOqJYSvyYd5M6qum/3HpCLr+/Jqf0whc37VUbkpNGHR7/8pSnCFw47T1fmIpwBV7UySh3g==\",l.crossOrigin=\"anonymous\"),l.onload=function(){u.PDFObject.embed(h.output(\"dataurlstring\"),e)},c.body.appendChild(l)}return u}throw new Error(\"The option pdfobjectnewwindow just works in a browser-environment.\");case\"pdfjsnewwindow\":if(\"[object Window]\"===Object.prototype.toString.call(i)){var f=e.pdfJsUrl||\"examples/PDF.js/web/viewer.html\",p=i.open();if(null!==p){var g=Ie(p),m=g.document.createElement(\"iframe\"),v=-1===f.indexOf(\"?\")?\"?\":\"&\";h=this,m.id=\"pdfViewer\",m.width=\"500px\",m.height=\"400px\",m.src=f+v+\"file=&downloadName=\"+encodeURIComponent(e.filename),m.onload=function(){p.document.title=e.filename,m.contentWindow.PDFViewerApplication.open(h.output(\"bloburl\"))},g.body.appendChild(m)}return p}throw new Error(\"The option pdfjsnewwindow just works in a browser-environment.\");case\"dataurlnewwindow\":if(\"[object Window]\"!==Object.prototype.toString.call(i))throw new Error(\"The option dataurlnewwindow just works in a browser-environment.\");var b=i.open();if(null!==b){var w=Ie(b),N=w.document.createElement(\"iframe\");N.src=this.output(\"datauristring\",e),w.body.appendChild(N),b.document.title=e.filename}if(b||\"undefined\"==typeof safari)return b;break;case\"datauri\":case\"dataurl\":return i.document.location.href=this.output(\"datauristring\",e);default:return null}},Jt.foo=function(){try{return Jt.apply(this,arguments)}catch(r){var t=r.stack||\"\";~t.indexOf(\" at \")&&(t=t.split(\" at \")[1]);var e=\"Error in function \"+t.split(\"\\n\")[0].split(\"<\")[0]+\": \"+r.message;if(!i.console)throw new Error(e);i.console.error(e,r),i.alert&&alert(e)}},Jt.foo.bar=Jt,Jt.foo),je=function(t){return!0===Array.isArray(Tt)&&Tt.indexOf(t)>-1};switch(a){case\"pt\":St=1;break;case\"mm\":St=72/25.4;break;case\"cm\":St=72/2.54;break;case\"in\":St=72;break;case\"px\":St=1==je(\"px_scaling\")?.75:96/72;break;case\"pc\":case\"em\":St=12;break;case\"ex\":St=6;break;default:if(\"number\"!=typeof a)throw new Error(\"Invalid unit: \"+a);St=a}var Oe=null;K(),Y();var Be=y.__private__.getPageInfo=y.getPageInfo=function(t){if(isNaN(t)||t%1!=0)throw new Error(\"Invalid argument passed to jsPDF.getPageInfo\");return{objId:Rt[t].objId,pageNumber:t,pageContext:Rt[t]}},Me=y.__private__.getPageInfoByObjId=function(t){if(isNaN(t)||t%1!=0)throw new Error(\"Invalid argument passed to jsPDF.getPageInfoByObjId\");for(var e in Rt)if(Rt[e].objId===t)break;return Be(e)},qe=y.__private__.getCurrentPageInfo=y.getCurrentPageInfo=function(){return{objId:Rt[$].objId,pageNumber:$,pageContext:Rt[$]}};y.addPage=function(){return ve.apply(this,arguments),this},y.setPage=function(){return ye.apply(this,arguments),ct.call(this,ot[$]),this},y.insertPage=function(t){return this.addPage(),this.movePage($,t),this},y.movePage=function(t,e){var r,n;if(t>e){r=ot[t],n=Rt[t];for(var i=t;i>e;i--)ot[i]=ot[i-1],Rt[i]=Rt[i-1];ot[e]=r,Rt[e]=n,this.setPage(e)}else if(t<e){r=ot[t],n=Rt[t];for(var a=t;a<e;a++)ot[a]=ot[a+1],Rt[a]=Rt[a+1];ot[e]=r,Rt[e]=n,this.setPage(e)}return this},y.deletePage=function(){return be.apply(this,arguments),this},y.__private__.text=y.text=function(e,r,n,i,a){var o,s,u,c,l,h,f,d,p,g=(i=i||{}).scope||this;if(\"number\"==typeof e&&\"number\"==typeof r&&(\"string\"==typeof n||Array.isArray(n))){var m=n;n=r,r=e,e=m}if(arguments[3]instanceof Wt==0?(u=arguments[4],c=arguments[5],\"object\"===t(f=arguments[3])&&null!==f||(\"string\"==typeof u&&(c=u,u=null),\"string\"==typeof f&&(c=f,f=null),\"number\"==typeof f&&(u=f,f=null),i={flags:f,angle:u,align:c})):(R(\"The transform parameter of text() with a Matrix value\"),p=a),isNaN(r)||isNaN(n)||null==e)throw new Error(\"Invalid arguments passed to jsPDF.text\");if(0===e.length)return g;var v,y=\"\",w=\"number\"==typeof i.lineHeightFactor?i.lineHeightFactor:Ke,N=g.internal.scaleFactor;function L(t){return t=t.split(\"\\t\").join(Array(i.TabLen||9).join(\" \")),ge(t,f)}function x(t){for(var e,r=t.concat(),n=[],i=r.length;i--;)\"string\"==typeof(e=r.shift())?n.push(e):Array.isArray(t)&&(1===e.length||void 0===e[1]&&void 0===e[2])?n.push(e[0]):n.push([e[0],e[1],e[2]]);return n}function A(t,e){var r;if(\"string\"==typeof t)r=e(t)[0];else if(Array.isArray(t)){for(var n,i,a=t.concat(),o=[],s=a.length;s--;)\"string\"==typeof(n=a.shift())?o.push(e(n)[0]):Array.isArray(n)&&\"string\"==typeof n[0]&&(i=e(n[0],n[1],n[2]),o.push([i[0],i[1],i[2]]));r=o}return r}var P=!1,k=!0;if(\"string\"==typeof e)P=!0;else if(Array.isArray(e)){var F=e.concat();s=[];for(var I,C=F.length;C--;)(\"string\"!=typeof(I=F.shift())||Array.isArray(I)&&\"string\"!=typeof I[0])&&(k=!1);P=k}if(!1===P)throw new Error('Type of text must be string or Array. \"'+e+'\" is not recognized.');\"string\"==typeof e&&(e=e.match(/[\\r?\\n]/)?e.split(/\\r\\n|\\r|\\n/g):[e]);var j=pt/g.internal.scaleFactor,O=j*(w-1);switch(i.baseline){case\"bottom\":n-=O;break;case\"top\":n+=j-O;break;case\"hanging\":n+=j-2*O;break;case\"middle\":n+=j/2-O}if((h=i.maxWidth||0)>0&&(\"string\"==typeof e?e=g.splitTextToSize(e,h):\"[object Array]\"===Object.prototype.toString.call(e)&&(e=e.reduce(function(t,e){return t.concat(g.splitTextToSize(e,h))},[]))),o={text:e,x:r,y:n,options:i,mutex:{pdfEscape:ge,activeFontKey:At,fonts:Ft,activeFontSize:pt}},Dt.publish(\"preProcessText\",o),e=o.text,u=(i=o.options).angle,p instanceof Wt==0&&u&&\"number\"==typeof u){u*=Math.PI/180,0===i.rotationDirection&&(u=-u),_===S&&(u=-u);var M=Math.cos(u),q=Math.sin(u);p=new Wt(M,q,-q,M,0,0)}else u&&u instanceof Wt&&(p=u);_!==S||p||(p=Gt),void 0!==(l=i.charSpace||hr)&&(y+=B(U(l))+\" Tc\\n\",this.setCharSpace(this.getCharSpace()||0)),void 0!==(d=i.horizontalScale)&&(y+=B(100*d)+\" Tz\\n\"),i.lang;var E=-1,D=void 0!==i.renderingMode?i.renderingMode:i.stroke,T=g.internal.getCurrentPageInfo().pageContext;switch(D){case 0:case!1:case\"fill\":E=0;break;case 1:case!0:case\"stroke\":E=1;break;case 2:case\"fillThenStroke\":E=2;break;case 3:case\"invisible\":E=3;break;case 4:case\"fillAndAddForClipping\":E=4;break;case 5:case\"strokeAndAddPathForClipping\":E=5;break;case 6:case\"fillThenStrokeAndAddToPathForClipping\":E=6;break;case 7:case\"addToPathForClipping\":E=7}var z=void 0!==T.usedRenderingMode?T.usedRenderingMode:-1;-1!==E?y+=E+\" Tr\\n\":-1!==z&&(y+=\"0 Tr\\n\"),-1!==E&&(T.usedRenderingMode=E),c=i.align||\"left\";var H,W=pt*w,V=g.internal.pageSize.getWidth(),G=Ft[At];l=i.charSpace||hr,h=i.maxWidth||0,f=Object.assign({autoencode:!0,noBOM:!0},i.flags);var Y=[],J=function(t){return g.getStringUnitWidth(t,{font:G,charSpace:l,fontSize:pt,doKerning:!1})*pt/N};if(\"[object Array]\"===Object.prototype.toString.call(e)){var X;s=x(e),\"left\"!==c&&(H=s.map(J));var K,Z=0;if(\"right\"===c){r-=H[0],e=[],C=s.length;for(var $=0;$<C;$++)0===$?(K=nr(r),X=ir(n)):(K=U(Z-H[$]),X=-W),e.push([s[$],K,X]),Z=H[$]}else if(\"center\"===c){r-=H[0]/2,e=[],C=s.length;for(var Q=0;Q<C;Q++)0===Q?(K=nr(r),X=ir(n)):(K=U((Z-H[Q])/2),X=-W),e.push([s[Q],K,X]),Z=H[Q]}else if(\"left\"===c){e=[],C=s.length;for(var tt=0;tt<C;tt++)e.push(s[tt])}else if(\"justify\"===c&&\"Identity-H\"===G.encoding){e=[],C=s.length,h=0!==h?h:V;for(var et=0,rt=0;rt<C;rt++)if(X=0===rt?ir(n):-W,K=0===rt?nr(r):et,rt<C-1){var nt=U((h-H[rt])/(s[rt].split(\" \").length-1)),it=s[rt].split(\" \");e.push([it[0]+\" \",K,X]),et=0;for(var at=1;at<it.length;at++){var ot=(J(it[at-1]+\" \"+it[at])-J(it[at]))*N+nt;at==it.length-1?e.push([it[at],ot,0]):e.push([it[at]+\" \",ot,0]),et-=ot}}else e.push([s[rt],K,X]);e.push([\"\",et,0])}else{if(\"justify\"!==c)throw new Error('Unrecognized alignment option, use \"left\", \"center\", \"right\" or \"justify\".');for(e=[],C=s.length,h=0!==h?h:V,rt=0;rt<C;rt++){X=0===rt?ir(n):-W,K=0===rt?nr(r):0;var st=s[rt].split(\" \").length-1,ut=st>0?(h-H[rt])/st:0;rt<C-1?Y.push(B(U(ut))):Y.push(0),e.push([s[rt],K,X])}}}!0===(\"boolean\"==typeof i.R2L?i.R2L:vt)&&(e=A(e,function(t,e,r){return[t.split(\"\").reverse().join(\"\"),e,r]})),o={text:e,x:r,y:n,options:i,mutex:{pdfEscape:ge,activeFontKey:At,fonts:Ft,activeFontSize:pt}},Dt.publish(\"postProcessText\",o),e=o.text,v=o.mutex.isHex||!1;var ct=Ft[At].encoding;\"WinAnsiEncoding\"!==ct&&\"StandardEncoding\"!==ct||(e=A(e,function(t,e,r){return[L(t),e,r]})),s=x(e),e=[];for(var ht,ft,dt,gt=Array.isArray(s[0])?1:0,mt=\"\",bt=function(t,e,r){var n=\"\";return r instanceof Wt?(r=\"number\"==typeof i.angle?Vt(r,new Wt(1,0,0,1,t,e)):Vt(new Wt(1,0,0,1,t,e),r),_===S&&(r=Vt(new Wt(1,0,0,-1,0,0),r)),n=r.join(\" \")+\" Tm\\n\"):n=B(t)+\" \"+B(e)+\" Td\\n\",n},yt=0;yt<s.length;yt++){switch(mt=\"\",gt){case 1:dt=(v?\"<\":\"(\")+s[yt][0]+(v?\">\":\")\"),ht=parseFloat(s[yt][1]),ft=parseFloat(s[yt][2]);break;case 0:dt=(v?\"<\":\"(\")+s[yt]+(v?\">\":\")\"),ht=nr(r),ft=ir(n)}void 0!==Y&&void 0!==Y[yt]&&(mt=Y[yt]+\" Tw\\n\"),0===yt?e.push(mt+bt(ht,ft,p)+dt):0===gt?e.push(mt+dt):1===gt&&e.push(mt+bt(ht,ft,p)+dt)}e=0===gt?e.join(\" Tj\\nT* \"):e.join(\" Tj\\n\"),e+=\" Tj\\n\";var wt=\"BT\\n/\";return wt+=At+\" \"+pt+\" Tf\\n\",wt+=B(pt*w)+\" TL\\n\",wt+=cr+\"\\n\",wt+=y,wt+=e,lt(wt+=\"ET\"),b[At]=!0,g};var Ee=y.__private__.clip=y.clip=function(t){return lt(\"evenodd\"===t?\"W*\":\"W\"),this};y.clipEvenOdd=function(){return Ee(\"evenodd\")},y.__private__.discardPath=y.discardPath=function(){return lt(\"n\"),this};var Re=y.__private__.isValidStyle=function(t){var e=!1;return-1!==[void 0,null,\"S\",\"D\",\"F\",\"DF\",\"FD\",\"f\",\"f*\",\"B\",\"B*\",\"n\"].indexOf(t)&&(e=!0),e};y.__private__.setDefaultPathOperation=y.setDefaultPathOperation=function(t){return Re(t)&&(g=t),this};var De=y.__private__.getStyle=y.getStyle=function(t){var e=g;switch(t){case\"D\":case\"S\":e=\"S\";break;case\"F\":e=\"f\";break;case\"FD\":case\"DF\":e=\"B\";break;case\"f\":case\"f*\":case\"B\":case\"B*\":e=t}return e},Te=y.close=function(){return lt(\"h\"),this};y.stroke=function(){return lt(\"S\"),this},y.fill=function(t){return ze(\"f\",t),this},y.fillEvenOdd=function(t){return ze(\"f*\",t),this},y.fillStroke=function(t){return ze(\"B\",t),this},y.fillStrokeEvenOdd=function(t){return ze(\"B*\",t),this};var ze=function(e,r){\"object\"===t(r)?We(r,e):lt(e)},Ue=function(t){null===t||_===S&&void 0===t||(t=De(t),lt(t))};function He(t,e,r,n,i){var a=new q(e||this.boundingBox,r||this.xStep,n||this.yStep,this.gState,i||this.matrix);a.stream=this.stream;var o=t+\"$$\"+this.cloneIndex+++\"$$\";return Yt(o,a),a}var We=function(t,e){var r=Ot[t.key],n=jt[r];if(n instanceof M)lt(\"q\"),lt(Ve(e)),n.gState&&y.setGState(n.gState),lt(t.matrix.toString()+\" cm\"),lt(\"/\"+r+\" sh\"),lt(\"Q\");else if(n instanceof q){var i=new Wt(1,0,0,-1,0,Pr());t.matrix&&(i=i.multiply(t.matrix||Gt),r=He.call(n,t.key,t.boundingBox,t.xStep,t.yStep,i).id),lt(\"q\"),lt(\"/Pattern cs\"),lt(\"/\"+r+\" scn\"),n.gState&&y.setGState(n.gState),lt(e),lt(\"Q\")}},Ve=function(t){switch(t){case\"f\":case\"F\":case\"n\":return\"W n\";case\"f*\":return\"W* n\";case\"B\":case\"S\":return\"W S\";case\"B*\":return\"W* S\"}},Ge=y.moveTo=function(t,e){return lt(B(U(t))+\" \"+B(H(e))+\" m\"),this},Ye=y.lineTo=function(t,e){return lt(B(U(t))+\" \"+B(H(e))+\" l\"),this},Je=y.curveTo=function(t,e,r,n,i,a){return lt([B(U(t)),B(H(e)),B(U(r)),B(H(n)),B(U(i)),B(H(a)),\"c\"].join(\" \")),this};y.__private__.line=y.line=function(t,e,r,n,i){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||!Re(i))throw new Error(\"Invalid arguments passed to jsPDF.line\");return _===A?this.lines([[r-t,n-e]],t,e,[1,1],i||\"S\"):this.lines([[r-t,n-e]],t,e,[1,1]).stroke()},y.__private__.lines=y.lines=function(t,e,r,n,i,a){var o,s,u,c,l,h,f,d,p,g,m,v;if(\"number\"==typeof t&&(v=r,r=e,e=t,t=v),n=n||[1,1],a=a||!1,isNaN(e)||isNaN(r)||!Array.isArray(t)||!Array.isArray(n)||!Re(i)||\"boolean\"!=typeof a)throw new Error(\"Invalid arguments passed to jsPDF.lines\");for(Ge(e,r),o=n[0],s=n[1],c=t.length,g=e,m=r,u=0;u<c;u++)2===(l=t[u]).length?(g=l[0]*o+g,m=l[1]*s+m,Ye(g,m)):(h=l[0]*o+g,f=l[1]*s+m,d=l[2]*o+g,p=l[3]*s+m,g=l[4]*o+g,m=l[5]*s+m,Je(h,f,d,p,g,m));return a&&Te(),Ue(i),this},y.path=function(t){for(var e=0;e<t.length;e++){var r=t[e],n=r.c;switch(r.op){case\"m\":Ge(n[0],n[1]);break;case\"l\":Ye(n[0],n[1]);break;case\"c\":Je.apply(this,n);break;case\"h\":Te()}}return this},y.__private__.rect=y.rect=function(t,e,r,n,i){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||!Re(i))throw new Error(\"Invalid arguments passed to jsPDF.rect\");return _===A&&(n=-n),lt([B(U(t)),B(H(e)),B(U(r)),B(U(n)),\"re\"].join(\" \")),Ue(i),this},y.__private__.triangle=y.triangle=function(t,e,r,n,i,a,o){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||isNaN(i)||isNaN(a)||!Re(o))throw new Error(\"Invalid arguments passed to jsPDF.triangle\");return this.lines([[r-t,n-e],[i-r,a-n],[t-i,e-a]],t,e,[1,1],o,!0),this},y.__private__.roundedRect=y.roundedRect=function(t,e,r,n,i,a,o){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||isNaN(i)||isNaN(a)||!Re(o))throw new Error(\"Invalid arguments passed to jsPDF.roundedRect\");var s=4/3*(Math.SQRT2-1);return i=Math.min(i,.5*r),a=Math.min(a,.5*n),this.lines([[r-2*i,0],[i*s,0,i,a-a*s,i,a],[0,n-2*a],[0,a*s,-i*s,a,-i,a],[2*i-r,0],[-i*s,0,-i,-a*s,-i,-a],[0,2*a-n],[0,-a*s,i*s,-a,i,-a]],t+i,e,[1,1],o,!0),this},y.__private__.ellipse=y.ellipse=function(t,e,r,n,i){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||!Re(i))throw new Error(\"Invalid arguments passed to jsPDF.ellipse\");var a=4/3*(Math.SQRT2-1)*r,o=4/3*(Math.SQRT2-1)*n;return Ge(t+r,e),Je(t+r,e-o,t+a,e-n,t,e-n),Je(t-a,e-n,t-r,e-o,t-r,e),Je(t-r,e+o,t-a,e+n,t,e+n),Je(t+a,e+n,t+r,e+o,t+r,e),Ue(i),this},y.__private__.circle=y.circle=function(t,e,r,n){if(isNaN(t)||isNaN(e)||isNaN(r)||!Re(n))throw new Error(\"Invalid arguments passed to jsPDF.circle\");return this.ellipse(t,e,r,r,n)},y.setFont=function(t,e,r){return r&&(e=F(e,r)),At=Ne(t,e,{disableWarning:!1}),this};var Xe=y.__private__.getFont=y.getFont=function(){return Ft[Ne.apply(y,arguments)]};y.__private__.getFontList=y.getFontList=function(){var t,e,r={};for(t in It)if(It.hasOwnProperty(t))for(e in r[t]=[],It[t])It[t].hasOwnProperty(e)&&r[t].push(e);return r},y.addFont=function(t,e,r,n,i){var a=[\"StandardEncoding\",\"MacRomanEncoding\",\"Identity-H\",\"WinAnsiEncoding\"];return arguments[3]&&-1!==a.indexOf(arguments[3])?i=arguments[3]:arguments[3]&&-1==a.indexOf(arguments[3])&&(r=F(r,n)),pe.call(this,t,e,r,i=i||\"Identity-H\")};var Ke,Ze=e.lineWidth||.200025,$e=y.__private__.getLineWidth=y.getLineWidth=function(){return Ze},Qe=y.__private__.setLineWidth=y.setLineWidth=function(t){return Ze=t,lt(B(U(t))+\" w\"),this};y.__private__.setLineDash=E.API.setLineDash=E.API.setLineDashPattern=function(t,e){if(t=t||[],e=e||0,isNaN(e)||!Array.isArray(t))throw new Error(\"Invalid arguments passed to jsPDF.setLineDash\");return t=t.map(function(t){return B(U(t))}).join(\" \"),e=B(U(e)),lt(\"[\"+t+\"] \"+e+\" d\"),this};var tr=y.__private__.getLineHeight=y.getLineHeight=function(){return pt*Ke};y.__private__.getLineHeight=y.getLineHeight=function(){return pt*Ke};var er=y.__private__.setLineHeightFactor=y.setLineHeightFactor=function(t){return\"number\"==typeof(t=t||1.15)&&(Ke=t),this},rr=y.__private__.getLineHeightFactor=y.getLineHeightFactor=function(){return Ke};er(e.lineHeight);var nr=y.__private__.getHorizontalCoordinate=function(t){return U(t)},ir=y.__private__.getVerticalCoordinate=function(t){return _===S?t:Rt[$].mediaBox.topRightY-Rt[$].mediaBox.bottomLeftY-U(t)},ar=y.__private__.getHorizontalCoordinateString=y.getHorizontalCoordinateString=function(t){return B(nr(t))},or=y.__private__.getVerticalCoordinateString=y.getVerticalCoordinateString=function(t){return B(ir(t))},sr=e.strokeColor||\"0 G\";y.__private__.getStrokeColor=y.getDrawColor=function(){return ee(sr)},y.__private__.setStrokeColor=y.setDrawColor=function(t,e,r,n){return sr=re({ch1:t,ch2:e,ch3:r,ch4:n,pdfColorType:\"draw\",precision:2}),lt(sr),this};var ur=e.fillColor||\"0 g\";y.__private__.getFillColor=y.getFillColor=function(){return ee(ur)},y.__private__.setFillColor=y.setFillColor=function(t,e,r,n){return ur=re({ch1:t,ch2:e,ch3:r,ch4:n,pdfColorType:\"fill\",precision:2}),lt(ur),this};var cr=e.textColor||\"0 g\",lr=y.__private__.getTextColor=y.getTextColor=function(){return ee(cr)};y.__private__.setTextColor=y.setTextColor=function(t,e,r,n){return cr=re({ch1:t,ch2:e,ch3:r,ch4:n,pdfColorType:\"text\",precision:3}),this};var hr=e.charSpace,fr=y.__private__.getCharSpace=y.getCharSpace=function(){return parseFloat(hr||0)};y.__private__.setCharSpace=y.setCharSpace=function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.setCharSpace\");return hr=t,this};var dr=0;y.CapJoinStyles={0:0,butt:0,but:0,miter:0,1:1,round:1,rounded:1,circle:1,2:2,projecting:2,project:2,square:2,bevel:2},y.__private__.setLineCap=y.setLineCap=function(t){var e=y.CapJoinStyles[t];if(void 0===e)throw new Error(\"Line cap style of '\"+t+\"' is not recognized. See or extend .CapJoinStyles property for valid styles\");return dr=e,lt(e+\" J\"),this};var pr=0;y.__private__.setLineJoin=y.setLineJoin=function(t){var e=y.CapJoinStyles[t];if(void 0===e)throw new Error(\"Line join style of '\"+t+\"' is not recognized. See or extend .CapJoinStyles property for valid styles\");return pr=e,lt(e+\" j\"),this},y.__private__.setLineMiterLimit=y.__private__.setMiterLimit=y.setLineMiterLimit=y.setMiterLimit=function(t){if(t=t||0,isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.setLineMiterLimit\");return lt(B(U(t))+\" M\"),this},y.GState=O,y.setGState=function(t){(t=\"string\"==typeof t?Bt[Mt[t]]:gr(null,t)).equals(qt)||(lt(\"/\"+t.id+\" gs\"),qt=t)};var gr=function(t,e){if(!t||!Mt[t]){var r=!1;for(var n in Bt)if(Bt.hasOwnProperty(n)&&Bt[n].equals(e)){r=!0;break}if(r)e=Bt[n];else{var i=\"GS\"+(Object.keys(Bt).length+1).toString(10);Bt[i]=e,e.id=i}return t&&(Mt[t]=e.id),Dt.publish(\"addGState\",e),e}};y.addGState=function(t,e){return gr(t,e),this},y.saveGraphicsState=function(){return lt(\"q\"),Ct.push({key:At,size:pt,color:cr}),this},y.restoreGraphicsState=function(){lt(\"Q\");var t=Ct.pop();return At=t.key,pt=t.size,cr=t.color,qt=null,this},y.setCurrentTransformationMatrix=function(t){return lt(t.toString()+\" cm\"),this},y.comment=function(t){return lt(\"#\"+t),this};var mr=function(t,e){var r=t||0;Object.defineProperty(this,\"x\",{enumerable:!0,get:function(){return r},set:function(t){isNaN(t)||(r=parseFloat(t))}});var n=e||0;Object.defineProperty(this,\"y\",{enumerable:!0,get:function(){return n},set:function(t){isNaN(t)||(n=parseFloat(t))}});var i=\"pt\";return Object.defineProperty(this,\"type\",{enumerable:!0,get:function(){return i},set:function(t){i=t.toString()}}),this},vr=function(t,e,r,n){mr.call(this,t,e),this.type=\"rect\";var i=r||0;Object.defineProperty(this,\"w\",{enumerable:!0,get:function(){return i},set:function(t){isNaN(t)||(i=parseFloat(t))}});var a=n||0;return Object.defineProperty(this,\"h\",{enumerable:!0,get:function(){return a},set:function(t){isNaN(t)||(a=parseFloat(t))}}),this},br=function(){this.page=Et,this.currentPage=$,this.pages=ot.slice(0),this.pagesContext=Rt.slice(0),this.x=_t,this.y=Pt,this.matrix=kt,this.width=Nr($),this.height=xr($),this.outputDestination=ut,this.id=\"\",this.objectNumber=-1};br.prototype.restore=function(){Et=this.page,$=this.currentPage,Rt=this.pagesContext,ot=this.pages,_t=this.x,Pt=this.y,kt=this.matrix,Lr($,this.width),Ar($,this.height),ut=this.outputDestination};var yr=function(t,e,r,n,i){Ht.push(new br),Et=$=0,ot=[],_t=t,Pt=e,kt=i,me([r,n])};for(var wr in y.beginFormObject=function(t,e,r,n,i){return yr(t,e,r,n,i),this},y.endFormObject=function(t){return function(t){if(Ut[t])Ht.pop().restore();else{var e=new br,r=\"Xo\"+(Object.keys(zt).length+1).toString(10);e.id=r,Ut[t]=r,zt[r]=e,Dt.publish(\"addFormObject\",e),Ht.pop().restore()}}(t),this},y.doFormObject=function(t,e){var r=zt[Ut[t]];return lt(\"q\"),lt(e.toString()+\" cm\"),lt(\"/\"+r.id+\" Do\"),lt(\"Q\"),this},y.getFormObject=function(t){var e=zt[Ut[t]];return{x:e.x,y:e.y,width:e.width,height:e.height,matrix:e.matrix}},y.save=function(t,e){return t=t||\"generated.pdf\",(e=e||{}).returnPromise=e.returnPromise||!1,!1===e.returnPromise?(l(ke(Pe()),t),\"function\"==typeof l.unload&&i.setTimeout&&setTimeout(l.unload,911),this):new Promise(function(e,r){try{var n=l(ke(Pe()),t);\"function\"==typeof l.unload&&i.setTimeout&&setTimeout(l.unload,911),e(n)}catch(a){r(a.message)}})},E.API)E.API.hasOwnProperty(wr)&&(\"events\"===wr&&E.API.events.length?function(t,e){var r,n,i;for(i=e.length-1;-1!==i;i--)r=e[i][0],n=e[i][1],t.subscribe.apply(t,[r].concat(\"function\"==typeof n?[n]:n))}(Dt,E.API.events):y[wr]=E.API[wr]);function Nr(t){return Rt[t].mediaBox.topRightX-Rt[t].mediaBox.bottomLeftX}function Lr(t,e){Rt[t].mediaBox.topRightX=e+Rt[t].mediaBox.bottomLeftX}function xr(t){return Rt[t].mediaBox.topRightY-Rt[t].mediaBox.bottomLeftY}function Ar(t,e){Rt[t].mediaBox.topRightY=e+Rt[t].mediaBox.bottomLeftY}var Sr=y.getPageWidth=function(t){return Nr(t=t||$)/St},_r=y.setPageWidth=function(t,e){Lr(t,e*St)},Pr=y.getPageHeight=function(t){return xr(t=t||$)/St},kr=y.setPageHeight=function(t,e){Ar(t,e*St)};return y.internal={pdfEscape:ge,getStyle:De,getFont:Xe,getFontSize:mt,getCharSpace:fr,getTextColor:lr,getLineHeight:tr,getLineHeightFactor:rr,getLineWidth:$e,write:ht,getHorizontalCoordinate:nr,getVerticalCoordinate:ir,getCoordinateString:ar,getVerticalCoordinateString:or,collections:{},newObject:Xt,newAdditionalObject:$t,newObjectDeferred:Kt,newObjectDeferredBegin:Zt,getFilters:ne,putStream:ie,events:Dt,scaleFactor:St,pageSize:{getWidth:function(){return Sr($)},setWidth:function(t){_r($,t)},getHeight:function(){return Pr($)},setHeight:function(t){kr($,t)}},encryptionOptions:m,encryption:Oe,getEncryptor:function(t){return null!==m?Oe.encryptor(t,0):function(t){return t}},output:Ce,getNumberOfPages:we,get pages(){return ot},out:lt,f2:T,f3:z,getPageInfo:Be,getPageInfoByObjId:Me,getCurrentPageInfo:qe,getPDFVersion:N,Point:mr,Rectangle:vr,Matrix:Wt,hasHotfix:je},Object.defineProperty(y.internal.pageSize,\"width\",{get:function(){return Sr($)},set:function(t){_r($,t)},enumerable:!0,configurable:!0}),Object.defineProperty(y.internal.pageSize,\"height\",{get:function(){return Pr($)},set:function(t){kr($,t)},enumerable:!0,configurable:!0}),function(t){for(var e=0,r=dt.length;e<r;e++){var n=pe.call(this,t[e][0],t[e][1],t[e][2],dt[e][3],!0);!1===v&&(b[n]=!0);var i=t[e][0].split(\"-\");de({id:n,fontName:i[0],fontStyle:i[1]||\"\"})}Dt.publish(\"addFonts\",{fonts:Ft,dictionary:It})}.call(y,dt),At=\"F1\",ve(s,n),Dt.publish(\"initialized\"),y}I.prototype.lsbFirstWord=function(t){return String.fromCharCode(255&t,t>>8&255,t>>16&255,t>>24&255)},I.prototype.toHexString=function(t){return t.split(\"\").map(function(t){return(\"0\"+(255&t.charCodeAt(0)).toString(16)).slice(-2)}).join(\"\")},I.prototype.hexToBytes=function(t){for(var e=[],r=0;r<t.length;r+=2)e.push(String.fromCharCode(parseInt(t.substr(r,2),16)));return e.join(\"\")},I.prototype.processOwnerPassword=function(t,e){return k(S(e).substr(0,5),t)},I.prototype.encryptor=function(t,e){var r=S(this.encryptionKey+String.fromCharCode(255&t,t>>8&255,t>>16&255,255&e,e>>8&255)).substr(0,10);return function(t){return k(r,t)}},O.prototype.equals=function(e){var r,n=\"id,objectNumber,equals\";if(!e||t(e)!==t(this))return!1;var i=0;for(r in this)if(!(n.indexOf(r)>=0)){if(this.hasOwnProperty(r)&&!e.hasOwnProperty(r))return!1;if(this[r]!==e[r])return!1;i++}for(r in e)e.hasOwnProperty(r)&&n.indexOf(r)<0&&i--;return 0===i},E.API={events:[]},E.version=\"4.2.1\";var R=E.API,D=1,T=function(t){return t.replace(/\\\\/g,\"\\\\\\\\\").replace(/\\(/g,\"\\\\(\").replace(/\\)/g,\"\\\\)\")},z=function(t){return t.replace(/\\\\\\\\/g,\"\\\\\").replace(/\\\\\\(/g,\"(\").replace(/\\\\\\)/g,\")\")},U=function(t){return t.toString().replace(/#/g,\"#23\").replace(/[\\s\\n\\r()<>[\\]{}\\/%]/g,function(t){var e=t.charCodeAt(0).toString(16).toUpperCase();return\"#\"+(1===e.length?\"0\"+e:e)})},H=function(t){return t.toFixed(2)},W=function(t){return t.toFixed(5)};R.__acroform__={};var V=function(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t},G=function(t){return t*D},Y=function(t){var e=new lt,r=At.internal.getHeight(t)||0,n=At.internal.getWidth(t)||0;return e.BBox=[0,0,Number(H(n)),Number(H(r))],e},J=R.__acroform__.setBit=function(t,e){if(t=t||0,e=e||0,isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.setBit\");return t|1<<e},X=R.__acroform__.clearBit=function(t,e){if(t=t||0,e=e||0,isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.clearBit\");return t&~(1<<e)},K=R.__acroform__.getBit=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.getBit\");return t&1<<e?1:0},Z=R.__acroform__.getBitForPdf=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.getBitForPdf\");return K(t,e-1)},$=R.__acroform__.setBitForPdf=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.setBitForPdf\");return J(t,e-1)},Q=R.__acroform__.clearBitForPdf=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.clearBitForPdf\");return X(t,e-1)},tt=R.__acroform__.calculateCoordinates=function(t,e){var r=e.internal.getHorizontalCoordinate,n=e.internal.getVerticalCoordinate,i=t[0],a=t[1],o=t[2],s=t[3],u={};return u.lowerLeft_X=r(i)||0,u.lowerLeft_Y=n(a+s)||0,u.upperRight_X=r(i+o)||0,u.upperRight_Y=n(a)||0,[Number(H(u.lowerLeft_X)),Number(H(u.lowerLeft_Y)),Number(H(u.upperRight_X)),Number(H(u.upperRight_Y))]},et=function(t){if(t.appearanceStreamContent)return t.appearanceStreamContent;if(t.V||t.DV){var e=[],r=t._V||t.DV,n=rt(t,r),i=t.scope.internal.getFont(t.fontName,t.fontStyle).id;e.push(\"/Tx BMC\"),e.push(\"q\"),e.push(\"BT\"),e.push(t.scope.__private__.encodeColorString(t.color)),e.push(\"/\"+i+\" \"+H(n.fontSize)+\" Tf\"),e.push(\"1 0 0 1 0 0 Tm\"),e.push(n.text),e.push(\"ET\"),e.push(\"Q\"),e.push(\"EMC\");var a=Y(t);return a.scope=t.scope,a.stream=e.join(\"\\n\"),a}},rt=function(t,e){var r=0===t.fontSize?t.maxFontSize:t.fontSize,n={text:\"\",fontSize:\"\"},i=(e=\")\"==(e=\"(\"==e.substr(0,1)?e.substr(1):e).substr(e.length-1)?e.substr(0,e.length-1):e).split(\" \");i=t.multiline?i.map(function(t){return t.split(\"\\n\")}):i.map(function(t){return[t]});var a=r,o=At.internal.getHeight(t)||0;o=o<0?-o:o;var s=At.internal.getWidth(t)||0;s=s<0?-s:s;var u=function(e,r,n){if(e+1<i.length){var a=r+\" \"+i[e+1][0];return nt(a,t,n).width<=s-4}return!1};a++;t:for(;a>0;){e=\"\",a--;var c,l,h=nt(\"3\",t,a).height,f=t.multiline?o-a:(o-h)/2,d=f+=2,p=0,g=0,m=0;if(a<=0){e=\"(...) Tj\\n\",e+=\"% Width of Text: \"+nt(e,t,a=12).width+\", FieldWidth:\"+s+\"\\n\";break}for(var v=\"\",b=0,y=0;y<i.length;y++)if(i.hasOwnProperty(y)){var w=!1;if(1!==i[y].length&&m!==i[y].length-1){if((h+2)*(b+2)+2>o)continue t;v+=i[y][m],w=!0,g=y,y--}else{v=\" \"==(v+=i[y][m]+\" \").substr(v.length-1)?v.substr(0,v.length-1):v;var N=parseInt(y),L=u(N,v,a),x=y>=i.length-1;if(L&&!x){v+=\" \",m=0;continue}if(L||x){if(x)g=N;else if(t.multiline&&(h+2)*(b+2)+2>o)continue t}else{if(!t.multiline)continue t;if((h+2)*(b+2)+2>o)continue t;g=N}}for(var A=\"\",S=p;S<=g;S++){var _=i[S];if(t.multiline){if(S===g){A+=_[m]+\" \",m=(m+1)%_.length;continue}if(S===p){A+=_[_.length-1]+\" \";continue}}A+=_[0]+\" \"}switch(A=\" \"==A.substr(A.length-1)?A.substr(0,A.length-1):A,l=nt(A,t,a).width,t.textAlign){case\"right\":c=s-l-2;break;case\"center\":c=(s-l)/2;break;default:c=2}e+=H(c)+\" \"+H(d)+\" Td\\n\",e+=\"(\"+T(A)+\") Tj\\n\",e+=-H(c)+\" 0 Td\\n\",d=-(a+2),l=0,p=w?g:g+1,b++,v=\"\"}break}return n.text=e,n.fontSize=a,n},nt=function(t,e,r){var n=e.scope.internal.getFont(e.fontName,e.fontStyle),i=e.scope.getStringUnitWidth(t,{font:n,fontSize:parseFloat(r),charSpace:0})*parseFloat(r);return{height:e.scope.getStringUnitWidth(\"3\",{font:n,fontSize:parseFloat(r),charSpace:0})*parseFloat(r)*1.5,width:i}},it={fields:[],xForms:[],acroFormDictionaryRoot:null,printedOut:!1,internal:null,isInitialized:!1},at=function(t,e){var r={type:\"reference\",object:t};void 0===e.internal.getPageInfo(t.page).pageContext.annotations.find(function(t){return t.type===r.type&&t.object===r.object})&&e.internal.getPageInfo(t.page).pageContext.annotations.push(r)},ot=function(e,r){if(r.scope=e,void 0!==e.internal&&(void 0===e.internal.acroformPlugin||!1===e.internal.acroformPlugin.isInitialized)){if(ft.FieldNum=0,e.internal.acroformPlugin=JSON.parse(JSON.stringify(it)),e.internal.acroformPlugin.acroFormDictionaryRoot)throw new Error(\"Exception while creating AcroformDictionary\");D=e.internal.scaleFactor,e.internal.acroformPlugin.acroFormDictionaryRoot=new ht,e.internal.acroformPlugin.acroFormDictionaryRoot.scope=e,e.internal.acroformPlugin.acroFormDictionaryRoot._eventID=e.internal.events.subscribe(\"postPutResources\",function(){!function(t){t.internal.events.unsubscribe(t.internal.acroformPlugin.acroFormDictionaryRoot._eventID),delete t.internal.acroformPlugin.acroFormDictionaryRoot._eventID,t.internal.acroformPlugin.printedOut=!0}(e)}),e.internal.events.subscribe(\"buildDocument\",function(){!function(t){t.internal.acroformPlugin.acroFormDictionaryRoot.objId=void 0;var e=t.internal.acroformPlugin.acroFormDictionaryRoot.Fields;for(var r in e)if(e.hasOwnProperty(r)){var n=e[r];n.objId=void 0,n.hasAnnotation&&at(n,t)}}(e)}),e.internal.events.subscribe(\"putCatalog\",function(){!function(t){if(void 0===t.internal.acroformPlugin.acroFormDictionaryRoot)throw new Error(\"putCatalogCallback: Root missing.\");t.internal.write(\"/AcroForm \"+t.internal.acroformPlugin.acroFormDictionaryRoot.objId+\" 0 R\")}(e)}),e.internal.events.subscribe(\"postPutPages\",function(r){!function(e,r){var n=!e;for(var i in e||(r.internal.newObjectDeferredBegin(r.internal.acroformPlugin.acroFormDictionaryRoot.objId,!0),r.internal.acroformPlugin.acroFormDictionaryRoot.putStream()),e=e||r.internal.acroformPlugin.acroFormDictionaryRoot.Kids)if(e.hasOwnProperty(i)){var a=e[i],o=[],s=a.Rect;if(a.Rect&&(a.Rect=tt(a.Rect,r)),r.internal.newObjectDeferredBegin(a.objId,!0),a.DA=At.createDefaultAppearanceStream(a),\"object\"===t(a)&&\"function\"==typeof a.getKeyValueListForStream&&(o=a.getKeyValueListForStream()),a.Rect=s,a.hasAppearanceStream&&!a.appearanceStreamContent){var u=et(a);o.push({key:\"AP\",value:\"<</N \"+u+\">>\"}),r.internal.acroformPlugin.xForms.push(u)}if(a.appearanceStreamContent){var c=\"\";for(var l in a.appearanceStreamContent)if(a.appearanceStreamContent.hasOwnProperty(l)){var h=a.appearanceStreamContent[l];if(c+=\"/\"+l+\" \",c+=\"<<\",Object.keys(h).length>=1||Array.isArray(h)){for(var i in h)if(h.hasOwnProperty(i)){var f=h[i];\"function\"==typeof f&&(f=f.call(r,a)),c+=\"/\"+i+\" \"+f+\" \",r.internal.acroformPlugin.xForms.indexOf(f)>=0||r.internal.acroformPlugin.xForms.push(f)}}else\"function\"==typeof(f=h)&&(f=f.call(r,a)),c+=\"/\"+i+\" \"+f,r.internal.acroformPlugin.xForms.indexOf(f)>=0||r.internal.acroformPlugin.xForms.push(f);c+=\">>\"}o.push({key:\"AP\",value:\"<<\\n\"+c+\">>\"})}r.internal.putStream({additionalKeyValues:o,objectId:a.objId}),r.internal.out(\"endobj\")}n&&function(e,r){for(var n in e)if(e.hasOwnProperty(n)){var i=n,a=e[n];r.internal.newObjectDeferredBegin(a.objId,!0),\"object\"===t(a)&&\"function\"==typeof a.putStream&&a.putStream(),delete e[i]}}(r.internal.acroformPlugin.xForms,r)}(r,e)}),e.internal.acroformPlugin.isInitialized=!0}},st=R.__acroform__.arrayToPdfArray=function(e,r,n){var i=function(t){return t};if(Array.isArray(e)){for(var a=\"[\",o=0;o<e.length;o++)switch(0!==o&&(a+=\" \"),t(e[o])){case\"boolean\":case\"number\":case\"object\":a+=e[o].toString();break;case\"string\":\"/\"===e[o].substr(0,1)?a+=\"/\"+U(e[o].substr(1)):(void 0!==r&&n&&(i=n.internal.getEncryptor(r)),a+=\"(\"+T(i(e[o].toString()))+\")\")}return a+\"]\"}throw new Error(\"Invalid argument passed to jsPDF.__acroform__.arrayToPdfArray\")},ut=function(t,e,r){var n=function(t){return t};return void 0!==e&&r&&(n=r.internal.getEncryptor(e)),(t=t||\"\").toString(),\"(\"+T(n(t))+\")\"},ct=function(){this._objId=void 0,this._scope=void 0,Object.defineProperty(this,\"objId\",{get:function(){if(void 0===this._objId){if(void 0===this.scope)return;this._objId=this.scope.internal.newObjectDeferred()}return this._objId},set:function(t){this._objId=t}}),Object.defineProperty(this,\"scope\",{value:this._scope,writable:!0})};ct.prototype.toString=function(){return this.objId+\" 0 R\"},ct.prototype.putStream=function(){var t=this.getKeyValueListForStream();this.scope.internal.putStream({data:this.stream,additionalKeyValues:t,objectId:this.objId}),this.scope.internal.out(\"endobj\")},ct.prototype.getKeyValueListForStream=function(){var t=[],e=Object.getOwnPropertyNames(this).filter(function(t){return\"content\"!=t&&\"appearanceStreamContent\"!=t&&\"scope\"!=t&&\"objId\"!=t&&\"_\"!=t.substring(0,1)});for(var r in e)if(!1===Object.getOwnPropertyDescriptor(this,e[r]).configurable){var n=e[r],i=this[n];i&&(Array.isArray(i)?t.push({key:n,value:st(i,this.objId,this.scope)}):i instanceof ct?(i.scope=this.scope,t.push({key:n,value:i.objId+\" 0 R\"})):\"function\"!=typeof i&&t.push({key:n,value:i}))}return t};var lt=function(){ct.call(this),Object.defineProperty(this,\"Type\",{value:\"/XObject\",configurable:!1,writable:!0}),Object.defineProperty(this,\"Subtype\",{value:\"/Form\",configurable:!1,writable:!0}),Object.defineProperty(this,\"FormType\",{value:1,configurable:!1,writable:!0});var t,e=[];Object.defineProperty(this,\"BBox\",{configurable:!1,get:function(){return e},set:function(t){e=t}}),Object.defineProperty(this,\"Resources\",{value:\"2 0 R\",configurable:!1,writable:!0}),Object.defineProperty(this,\"stream\",{enumerable:!1,configurable:!0,set:function(e){t=e.trim()},get:function(){return t||null}})};V(lt,ct);var ht=function(){ct.call(this);var t,e=[];Object.defineProperty(this,\"Kids\",{enumerable:!1,configurable:!0,get:function(){return e.length>0?e:void 0}}),Object.defineProperty(this,\"Fields\",{enumerable:!1,configurable:!1,get:function(){return e}}),Object.defineProperty(this,\"DA\",{enumerable:!1,configurable:!1,get:function(){if(t){var e=function(t){return t};return this.scope&&(e=this.scope.internal.getEncryptor(this.objId)),\"(\"+T(e(t))+\")\"}},set:function(e){t=e}})};V(ht,ct);var ft=function t(){ct.call(this);var e=4;Object.defineProperty(this,\"F\",{enumerable:!1,configurable:!1,get:function(){return e},set:function(t){if(isNaN(t))throw new Error('Invalid value \"'+t+'\" for attribute F supplied.');e=t}}),Object.defineProperty(this,\"showWhenPrinted\",{enumerable:!0,configurable:!0,get:function(){return Boolean(Z(e,3))},set:function(t){!0===Boolean(t)?this.F=$(e,3):this.F=Q(e,3)}});var r=0;Object.defineProperty(this,\"Ff\",{enumerable:!1,configurable:!1,get:function(){return r},set:function(t){if(isNaN(t))throw new Error('Invalid value \"'+t+'\" for attribute Ff supplied.');r=t}});var n=[];Object.defineProperty(this,\"Rect\",{enumerable:!1,configurable:!1,get:function(){if(0!==n.length)return n},set:function(t){n=void 0!==t?t:[]}}),Object.defineProperty(this,\"x\",{enumerable:!0,configurable:!0,get:function(){return!n||isNaN(n[0])?0:n[0]},set:function(t){n[0]=t}}),Object.defineProperty(this,\"y\",{enumerable:!0,configurable:!0,get:function(){return!n||isNaN(n[1])?0:n[1]},set:function(t){n[1]=t}}),Object.defineProperty(this,\"width\",{enumerable:!0,configurable:!0,get:function(){return!n||isNaN(n[2])?0:n[2]},set:function(t){n[2]=t}}),Object.defineProperty(this,\"height\",{enumerable:!0,configurable:!0,get:function(){return!n||isNaN(n[3])?0:n[3]},set:function(t){n[3]=t}});var i=\"\";Object.defineProperty(this,\"FT\",{enumerable:!0,configurable:!1,get:function(){return i},set:function(t){switch(t){case\"/Btn\":case\"/Tx\":case\"/Ch\":case\"/Sig\":i=t;break;default:throw new Error('Invalid value \"'+t+'\" for attribute FT supplied.')}}});var a=null;Object.defineProperty(this,\"T\",{enumerable:!0,configurable:!1,get:function(){if(!a||a.length<1){if(this instanceof wt)return;a=\"FieldObject\"+t.FieldNum++}var e=function(t){return t};return this.scope&&(e=this.scope.internal.getEncryptor(this.objId)),\"(\"+T(e(a))+\")\"},set:function(t){a=t.toString()}}),Object.defineProperty(this,\"fieldName\",{configurable:!0,enumerable:!0,get:function(){return a},set:function(t){a=t}});var o=\"helvetica\";Object.defineProperty(this,\"fontName\",{enumerable:!0,configurable:!0,get:function(){return o},set:function(t){o=t}});var s=\"normal\";Object.defineProperty(this,\"fontStyle\",{enumerable:!0,configurable:!0,get:function(){return s},set:function(t){s=t}});var u=0;Object.defineProperty(this,\"fontSize\",{enumerable:!0,configurable:!0,get:function(){return u},set:function(t){u=t}});var c=void 0;Object.defineProperty(this,\"maxFontSize\",{enumerable:!0,configurable:!0,get:function(){return void 0===c?50/D:c},set:function(t){c=t}});var l=\"black\";Object.defineProperty(this,\"color\",{enumerable:!0,configurable:!0,get:function(){return l},set:function(t){l=t}});var h=\"/F1 0 Tf 0 g\";Object.defineProperty(this,\"DA\",{enumerable:!0,configurable:!1,get:function(){if(!(!h||this instanceof wt||this instanceof Lt))return ut(h,this.objId,this.scope)},set:function(t){t=t.toString(),h=t}});var f=null;Object.defineProperty(this,\"DV\",{enumerable:!1,configurable:!1,get:function(){if(f)return this instanceof vt==0?ut(f,this.objId,this.scope):f},set:function(t){t=t.toString(),f=this instanceof vt==0?\"(\"===t.substr(0,1)?z(t.substr(1,t.length-2)):z(t):t}}),Object.defineProperty(this,\"defaultValue\",{enumerable:!0,configurable:!0,get:function(){return this instanceof vt==1?z(f.substr(1,f.length-1)):f},set:function(t){t=t.toString(),f=this instanceof vt==1?\"/\"+U(t):t}});var d=null;Object.defineProperty(this,\"_V\",{enumerable:!1,configurable:!1,get:function(){if(d)return d},set:function(t){this.V=t}}),Object.defineProperty(this,\"V\",{enumerable:!1,configurable:!1,get:function(){if(d)return this instanceof vt==0?ut(d,this.objId,this.scope):d},set:function(t){t=t.toString(),d=this instanceof vt==0?\"(\"===t.substr(0,1)?z(t.substr(1,t.length-2)):z(t):t}}),Object.defineProperty(this,\"value\",{enumerable:!0,configurable:!0,get:function(){return this instanceof vt==1?z(d.substr(1,d.length-1)):d},set:function(t){t=t.toString(),d=this instanceof vt==1?\"/\"+U(t):t}}),Object.defineProperty(this,\"hasAnnotation\",{enumerable:!0,configurable:!0,get:function(){return this.Rect}}),Object.defineProperty(this,\"Type\",{enumerable:!0,configurable:!1,get:function(){return this.hasAnnotation?\"/Annot\":null}}),Object.defineProperty(this,\"Subtype\",{enumerable:!0,configurable:!1,get:function(){return this.hasAnnotation?\"/Widget\":null}});var p,g=!1;Object.defineProperty(this,\"hasAppearanceStream\",{enumerable:!0,configurable:!0,get:function(){return g},set:function(t){t=Boolean(t),g=t}}),Object.defineProperty(this,\"page\",{enumerable:!0,configurable:!0,get:function(){if(p)return p},set:function(t){p=t}}),Object.defineProperty(this,\"readOnly\",{enumerable:!0,configurable:!0,get:function(){return Boolean(Z(this.Ff,1))},set:function(t){!0===Boolean(t)?this.Ff=$(this.Ff,1):this.Ff=Q(this.Ff,1)}}),Object.defineProperty(this,\"required\",{enumerable:!0,configurable:!0,get:function(){return Boolean(Z(this.Ff,2))},set:function(t){!0===Boolean(t)?this.Ff=$(this.Ff,2):this.Ff=Q(this.Ff,2)}}),Object.defineProperty(this,\"noExport\",{enumerable:!0,configurable:!0,get:function(){return Boolean(Z(this.Ff,3))},set:function(t){!0===Boolean(t)?this.Ff=$(this.Ff,3):this.Ff=Q(this.Ff,3)}});var m=null;Object.defineProperty(this,\"Q\",{enumerable:!0,configurable:!1,get:function(){if(null!==m)return m},set:function(t){if(-1===[0,1,2].indexOf(t))throw new Error('Invalid value \"'+t+'\" for attribute Q supplied.');m=t}}),Object.defineProperty(this,\"textAlign\",{get:function(){var t;switch(m){case 0:default:t=\"left\";break;case 1:t=\"center\";break;case 2:t=\"right\"}return t},configurable:!0,enumerable:!0,set:function(t){switch(t){case\"right\":case 2:m=2;break;case\"center\":case 1:m=1;break;default:m=0}}})};V(ft,ct);var dt=function(){ft.call(this),this.FT=\"/Ch\",this.V=\"()\",this.fontName=\"zapfdingbats\";var t=0;Object.defineProperty(this,\"TI\",{enumerable:!0,configurable:!1,get:function(){return t},set:function(e){t=e}}),Object.defineProperty(this,\"topIndex\",{enumerable:!0,configurable:!0,get:function(){return t},set:function(e){t=e}});var e=[];Object.defineProperty(this,\"Opt\",{enumerable:!0,configurable:!1,get:function(){return st(e,this.objId,this.scope)},set:function(t){var r,n;n=[],\"string\"==typeof(r=t)&&(n=function(t,e,r){r||(r=1);for(var n,i=[];n=e.exec(t);)i.push(n[r]);return i}(r,/\\((.*?)\\)/g)),e=n}}),this.getOptions=function(){return e},this.setOptions=function(t){e=t,this.sort&&e.sort()},this.addOption=function(t){t=(t=t||\"\").toString(),e.push(t),this.sort&&e.sort()},this.removeOption=function(t,r){for(r=r||!1,t=(t=t||\"\").toString();-1!==e.indexOf(t)&&(e.splice(e.indexOf(t),1),!1!==r););},Object.defineProperty(this,\"combo\",{enumerable:!0,configurable:!0,get:function(){return Boolean(Z(this.Ff,18))},set:function(t){!0===Boolean(t)?this.Ff=$(this.Ff,18):this.Ff=Q(this.Ff,18)}}),Object.defineProperty(this,\"edit\",{enumerable:!0,configurable:!0,get:function(){return Boolean(Z(this.Ff,19))},set:function(t){!0===this.combo&&(!0===Boolean(t)?this.Ff=$(this.Ff,19):this.Ff=Q(this.Ff,19))}}),Object.defineProperty(this,\"sort\",{enumerable:!0,configurable:!0,get:function(){return Boolean(Z(this.Ff,20))},set:function(t){!0===Boolean(t)?(this.Ff=$(this.Ff,20),e.sort()):this.Ff=Q(this.Ff,20)}}),Object.defineProperty(this,\"multiSelect\",{enumerable:!0,configurable:!0,get:function(){return Boolean(Z(this.Ff,22))},set:function(t){!0===Boolean(t)?this.Ff=$(this.Ff,22):this.Ff=Q(this.Ff,22)}}),Object.defineProperty(this,\"doNotSpellCheck\",{enumerable:!0,configurable:!0,get:function(){return Boolean(Z(this.Ff,23))},set:function(t){!0===Boolean(t)?this.Ff=$(this.Ff,23):this.Ff=Q(this.Ff,23)}}),Object.defineProperty(this,\"commitOnSelChange\",{enumerable:!0,configurable:!0,get:function(){return Boolean(Z(this.Ff,27))},set:function(t){!0===Boolean(t)?this.Ff=$(this.Ff,27):this.Ff=Q(this.Ff,27)}}),this.hasAppearanceStream=!1};V(dt,ft);var pt=function(){dt.call(this),this.fontName=\"helvetica\",this.combo=!1};V(pt,dt);var gt=function(){pt.call(this),this.combo=!0};V(gt,pt);var mt=function(){gt.call(this),this.edit=!0};V(mt,gt);var vt=function(){ft.call(this),this.FT=\"/Btn\",Object.defineProperty(this,\"noToggleToOff\",{enumerable:!0,configurable:!0,get:function(){return Boolean(Z(this.Ff,15))},set:function(t){!0===Boolean(t)?this.Ff=$(this.Ff,15):this.Ff=Q(this.Ff,15)}}),Object.defineProperty(this,\"radio\",{enumerable:!0,configurable:!0,get:function(){return Boolean(Z(this.Ff,16))},set:function(t){!0===Boolean(t)?this.Ff=$(this.Ff,16):this.Ff=Q(this.Ff,16)}}),Object.defineProperty(this,\"pushButton\",{enumerable:!0,configurable:!0,get:function(){return Boolean(Z(this.Ff,17))},set:function(t){!0===Boolean(t)?this.Ff=$(this.Ff,17):this.Ff=Q(this.Ff,17)}}),Object.defineProperty(this,\"radioIsUnison\",{enumerable:!0,configurable:!0,get:function(){return Boolean(Z(this.Ff,26))},set:function(t){!0===Boolean(t)?this.Ff=$(this.Ff,26):this.Ff=Q(this.Ff,26)}});var e,r={};Object.defineProperty(this,\"MK\",{enumerable:!1,configurable:!1,get:function(){var t=function(t){return t};if(this.scope&&(t=this.scope.internal.getEncryptor(this.objId)),0!==Object.keys(r).length){var e,n=[];for(e in n.push(\"<<\"),r)n.push(\"/\"+e+\" (\"+T(t(r[e]))+\")\");return n.push(\">>\"),n.join(\"\\n\")}},set:function(e){\"object\"===t(e)&&(r=e)}}),Object.defineProperty(this,\"caption\",{enumerable:!0,configurable:!0,get:function(){return r.CA||\"\"},set:function(t){\"string\"==typeof t&&(r.CA=t)}}),Object.defineProperty(this,\"AS\",{enumerable:!1,configurable:!1,get:function(){return e},set:function(t){var r=null==t?\"\":t.toString();\"/\"===r.substr(0,1)&&(r=r.substr(1)),e=\"/\"+U(r)}}),Object.defineProperty(this,\"appearanceState\",{enumerable:!0,configurable:!0,get:function(){return e.substr(1,e.length-1)},set:function(t){e=\"/\"+U(t)}})};V(vt,ft);var bt=function(){vt.call(this),this.pushButton=!0};V(bt,vt);var yt=function(){vt.call(this),this.radio=!0,this.pushButton=!1;var t=[];Object.defineProperty(this,\"Kids\",{enumerable:!0,configurable:!1,get:function(){return t},set:function(e){t=void 0!==e?e:[]}})};V(yt,vt);var wt=function(){var e,r;ft.call(this),Object.defineProperty(this,\"Parent\",{enumerable:!1,configurable:!1,get:function(){return e},set:function(t){e=t}}),Object.defineProperty(this,\"optionName\",{enumerable:!1,configurable:!0,get:function(){return r},set:function(t){r=t}});var n,i={};Object.defineProperty(this,\"MK\",{enumerable:!1,configurable:!1,get:function(){var t=function(t){return t};this.scope&&(t=this.scope.internal.getEncryptor(this.objId));var e,r=[];for(e in r.push(\"<<\"),i)r.push(\"/\"+e+\" (\"+T(t(i[e]))+\")\");return r.push(\">>\"),r.join(\"\\n\")},set:function(e){\"object\"===t(e)&&(i=e)}}),Object.defineProperty(this,\"caption\",{enumerable:!0,configurable:!0,get:function(){return i.CA||\"\"},set:function(t){\"string\"==typeof t&&(i.CA=t)}}),Object.defineProperty(this,\"AS\",{enumerable:!1,configurable:!1,get:function(){return n},set:function(t){var e=null==t?\"\":t.toString();\"/\"===e.substr(0,1)&&(e=e.substr(1)),n=\"/\"+U(e)}}),Object.defineProperty(this,\"appearanceState\",{enumerable:!0,configurable:!0,get:function(){return n.substr(1,n.length-1)},set:function(t){var e=null==t?\"\":t.toString();\"/\"===e.substr(0,1)&&(e=e.substr(1)),n=\"/\"+U(e)}}),this.caption=\"l\",this.appearanceState=\"Off\",this._AppearanceType=At.RadioButton.Circle,this.appearanceStreamContent=this._AppearanceType.createAppearanceStream(this.optionName)};V(wt,ft),yt.prototype.setAppearance=function(t){if(!(\"createAppearanceStream\"in t)||!(\"getCA\"in t))throw new Error(\"Couldn't assign Appearance to RadioButton. Appearance was Invalid!\");for(var e in this.Kids)if(this.Kids.hasOwnProperty(e)){var r=this.Kids[e];r.appearanceStreamContent=t.createAppearanceStream(r.optionName),r.caption=t.getCA()}},yt.prototype.createOption=function(t){var e=new wt;return e.Parent=this,e.optionName=t,this.Kids.push(e),St.call(this.scope,e),e};var Nt=function(){vt.call(this),this.fontName=\"zapfdingbats\",this.caption=\"3\",this.appearanceState=\"On\",this.value=\"On\",this.textAlign=\"center\",this.appearanceStreamContent=At.CheckBox.createAppearanceStream()};V(Nt,vt);var Lt=function(){ft.call(this),this.FT=\"/Tx\",Object.defineProperty(this,\"multiline\",{enumerable:!0,configurable:!0,get:function(){return Boolean(Z(this.Ff,13))},set:function(t){!0===Boolean(t)?this.Ff=$(this.Ff,13):this.Ff=Q(this.Ff,13)}}),Object.defineProperty(this,\"fileSelect\",{enumerable:!0,configurable:!0,get:function(){return Boolean(Z(this.Ff,21))},set:function(t){!0===Boolean(t)?this.Ff=$(this.Ff,21):this.Ff=Q(this.Ff,21)}}),Object.defineProperty(this,\"doNotSpellCheck\",{enumerable:!0,configurable:!0,get:function(){return Boolean(Z(this.Ff,23))},set:function(t){!0===Boolean(t)?this.Ff=$(this.Ff,23):this.Ff=Q(this.Ff,23)}}),Object.defineProperty(this,\"doNotScroll\",{enumerable:!0,configurable:!0,get:function(){return Boolean(Z(this.Ff,24))},set:function(t){!0===Boolean(t)?this.Ff=$(this.Ff,24):this.Ff=Q(this.Ff,24)}}),Object.defineProperty(this,\"comb\",{enumerable:!0,configurable:!0,get:function(){return Boolean(Z(this.Ff,25))},set:function(t){!0===Boolean(t)?this.Ff=$(this.Ff,25):this.Ff=Q(this.Ff,25)}}),Object.defineProperty(this,\"richText\",{enumerable:!0,configurable:!0,get:function(){return Boolean(Z(this.Ff,26))},set:function(t){!0===Boolean(t)?this.Ff=$(this.Ff,26):this.Ff=Q(this.Ff,26)}});var t=null;Object.defineProperty(this,\"MaxLen\",{enumerable:!0,configurable:!1,get:function(){return t},set:function(e){t=e}}),Object.defineProperty(this,\"maxLength\",{enumerable:!0,configurable:!0,get:function(){return t},set:function(e){Number.isInteger(e)&&(t=e)}}),Object.defineProperty(this,\"hasAppearanceStream\",{enumerable:!0,configurable:!0,get:function(){return this.V||this.DV}})};V(Lt,ft);var xt=function(){Lt.call(this),Object.defineProperty(this,\"password\",{enumerable:!0,configurable:!0,get:function(){return Boolean(Z(this.Ff,14))},set:function(t){!0===Boolean(t)?this.Ff=$(this.Ff,14):this.Ff=Q(this.Ff,14)}}),this.password=!0};V(xt,Lt);var At={CheckBox:{createAppearanceStream:function(){return{N:{On:At.CheckBox.YesNormal},D:{On:At.CheckBox.YesPushDown,Off:At.CheckBox.OffPushDown}}},YesPushDown:function(t){var e=Y(t);e.scope=t.scope;var r=[],n=t.scope.internal.getFont(t.fontName,t.fontStyle).id,i=t.scope.__private__.encodeColorString(t.color),a=rt(t,t.caption);return r.push(\"0.749023 g\"),r.push(\"0 0 \"+H(At.internal.getWidth(t))+\" \"+H(At.internal.getHeight(t))+\" re\"),r.push(\"f\"),r.push(\"BMC\"),r.push(\"q\"),r.push(\"0 0 1 rg\"),r.push(\"/\"+n+\" \"+H(a.fontSize)+\" Tf \"+i),r.push(\"BT\"),r.push(a.text),r.push(\"ET\"),r.push(\"Q\"),r.push(\"EMC\"),e.stream=r.join(\"\\n\"),e},YesNormal:function(t){var e=Y(t);e.scope=t.scope;var r=t.scope.internal.getFont(t.fontName,t.fontStyle).id,n=t.scope.__private__.encodeColorString(t.color),i=[],a=At.internal.getHeight(t),o=At.internal.getWidth(t),s=rt(t,t.caption);return i.push(\"1 g\"),i.push(\"0 0 \"+H(o)+\" \"+H(a)+\" re\"),i.push(\"f\"),i.push(\"q\"),i.push(\"0 0 1 rg\"),i.push(\"0 0 \"+H(o-1)+\" \"+H(a-1)+\" re\"),i.push(\"W\"),i.push(\"n\"),i.push(\"0 g\"),i.push(\"BT\"),i.push(\"/\"+r+\" \"+H(s.fontSize)+\" Tf \"+n),i.push(s.text),i.push(\"ET\"),i.push(\"Q\"),e.stream=i.join(\"\\n\"),e},OffPushDown:function(t){var e=Y(t);e.scope=t.scope;var r=[];return r.push(\"0.749023 g\"),r.push(\"0 0 \"+H(At.internal.getWidth(t))+\" \"+H(At.internal.getHeight(t))+\" re\"),r.push(\"f\"),e.stream=r.join(\"\\n\"),e}},RadioButton:{Circle:{createAppearanceStream:function(t){var e={D:{Off:At.RadioButton.Circle.OffPushDown},N:{}};return e.N[t]=At.RadioButton.Circle.YesNormal,e.D[t]=At.RadioButton.Circle.YesPushDown,e},getCA:function(){return\"l\"},YesNormal:function(t){var e=Y(t);e.scope=t.scope;var r=[],n=At.internal.getWidth(t)<=At.internal.getHeight(t)?At.internal.getWidth(t)/4:At.internal.getHeight(t)/4;n=Number((.9*n).toFixed(5));var i=At.internal.Bezier_C,a=Number((n*i).toFixed(5));return r.push(\"q\"),r.push(\"1 0 0 1 \"+W(At.internal.getWidth(t)/2)+\" \"+W(At.internal.getHeight(t)/2)+\" cm\"),r.push(n+\" 0 m\"),r.push(n+\" \"+a+\" \"+a+\" \"+n+\" 0 \"+n+\" c\"),r.push(\"-\"+a+\" \"+n+\" -\"+n+\" \"+a+\" -\"+n+\" 0 c\"),r.push(\"-\"+n+\" -\"+a+\" -\"+a+\" -\"+n+\" 0 -\"+n+\" c\"),r.push(a+\" -\"+n+\" \"+n+\" -\"+a+\" \"+n+\" 0 c\"),r.push(\"f\"),r.push(\"Q\"),e.stream=r.join(\"\\n\"),e},YesPushDown:function(t){var e=Y(t);e.scope=t.scope;var r=[],n=At.internal.getWidth(t)<=At.internal.getHeight(t)?At.internal.getWidth(t)/4:At.internal.getHeight(t)/4;n=Number((.9*n).toFixed(5));var i=Number((2*n).toFixed(5)),a=Number((i*At.internal.Bezier_C).toFixed(5)),o=Number((n*At.internal.Bezier_C).toFixed(5));return r.push(\"0.749023 g\"),r.push(\"q\"),r.push(\"1 0 0 1 \"+W(At.internal.getWidth(t)/2)+\" \"+W(At.internal.getHeight(t)/2)+\" cm\"),r.push(i+\" 0 m\"),r.push(i+\" \"+a+\" \"+a+\" \"+i+\" 0 \"+i+\" c\"),r.push(\"-\"+a+\" \"+i+\" -\"+i+\" \"+a+\" -\"+i+\" 0 c\"),r.push(\"-\"+i+\" -\"+a+\" -\"+a+\" -\"+i+\" 0 -\"+i+\" c\"),r.push(a+\" -\"+i+\" \"+i+\" -\"+a+\" \"+i+\" 0 c\"),r.push(\"f\"),r.push(\"Q\"),r.push(\"0 g\"),r.push(\"q\"),r.push(\"1 0 0 1 \"+W(At.internal.getWidth(t)/2)+\" \"+W(At.internal.getHeight(t)/2)+\" cm\"),r.push(n+\" 0 m\"),r.push(n+\" \"+o+\" \"+o+\" \"+n+\" 0 \"+n+\" c\"),r.push(\"-\"+o+\" \"+n+\" -\"+n+\" \"+o+\" -\"+n+\" 0 c\"),r.push(\"-\"+n+\" -\"+o+\" -\"+o+\" -\"+n+\" 0 -\"+n+\" c\"),r.push(o+\" -\"+n+\" \"+n+\" -\"+o+\" \"+n+\" 0 c\"),r.push(\"f\"),r.push(\"Q\"),e.stream=r.join(\"\\n\"),e},OffPushDown:function(t){var e=Y(t);e.scope=t.scope;var r=[],n=At.internal.getWidth(t)<=At.internal.getHeight(t)?At.internal.getWidth(t)/4:At.internal.getHeight(t)/4;n=Number((.9*n).toFixed(5));var i=Number((2*n).toFixed(5)),a=Number((i*At.internal.Bezier_C).toFixed(5));return r.push(\"0.749023 g\"),r.push(\"q\"),r.push(\"1 0 0 1 \"+W(At.internal.getWidth(t)/2)+\" \"+W(At.internal.getHeight(t)/2)+\" cm\"),r.push(i+\" 0 m\"),r.push(i+\" \"+a+\" \"+a+\" \"+i+\" 0 \"+i+\" c\"),r.push(\"-\"+a+\" \"+i+\" -\"+i+\" \"+a+\" -\"+i+\" 0 c\"),r.push(\"-\"+i+\" -\"+a+\" -\"+a+\" -\"+i+\" 0 -\"+i+\" c\"),r.push(a+\" -\"+i+\" \"+i+\" -\"+a+\" \"+i+\" 0 c\"),r.push(\"f\"),r.push(\"Q\"),e.stream=r.join(\"\\n\"),e}},Cross:{createAppearanceStream:function(t){var e={D:{Off:At.RadioButton.Cross.OffPushDown},N:{}};return e.N[t]=At.RadioButton.Cross.YesNormal,e.D[t]=At.RadioButton.Cross.YesPushDown,e},getCA:function(){return\"8\"},YesNormal:function(t){var e=Y(t);e.scope=t.scope;var r=[],n=At.internal.calculateCross(t);return r.push(\"q\"),r.push(\"1 1 \"+H(At.internal.getWidth(t)-2)+\" \"+H(At.internal.getHeight(t)-2)+\" re\"),r.push(\"W\"),r.push(\"n\"),r.push(H(n.x1.x)+\" \"+H(n.x1.y)+\" m\"),r.push(H(n.x2.x)+\" \"+H(n.x2.y)+\" l\"),r.push(H(n.x4.x)+\" \"+H(n.x4.y)+\" m\"),r.push(H(n.x3.x)+\" \"+H(n.x3.y)+\" l\"),r.push(\"s\"),r.push(\"Q\"),e.stream=r.join(\"\\n\"),e},YesPushDown:function(t){var e=Y(t);e.scope=t.scope;var r=At.internal.calculateCross(t),n=[];return n.push(\"0.749023 g\"),n.push(\"0 0 \"+H(At.internal.getWidth(t))+\" \"+H(At.internal.getHeight(t))+\" re\"),n.push(\"f\"),n.push(\"q\"),n.push(\"1 1 \"+H(At.internal.getWidth(t)-2)+\" \"+H(At.internal.getHeight(t)-2)+\" re\"),n.push(\"W\"),n.push(\"n\"),n.push(H(r.x1.x)+\" \"+H(r.x1.y)+\" m\"),n.push(H(r.x2.x)+\" \"+H(r.x2.y)+\" l\"),n.push(H(r.x4.x)+\" \"+H(r.x4.y)+\" m\"),n.push(H(r.x3.x)+\" \"+H(r.x3.y)+\" l\"),n.push(\"s\"),n.push(\"Q\"),e.stream=n.join(\"\\n\"),e},OffPushDown:function(t){var e=Y(t);e.scope=t.scope;var r=[];return r.push(\"0.749023 g\"),r.push(\"0 0 \"+H(At.internal.getWidth(t))+\" \"+H(At.internal.getHeight(t))+\" re\"),r.push(\"f\"),e.stream=r.join(\"\\n\"),e}}},createDefaultAppearanceStream:function(t){var e=t.scope.internal.getFont(t.fontName,t.fontStyle).id,r=t.scope.__private__.encodeColorString(t.color);return\"/\"+e+\" \"+t.fontSize+\" Tf \"+r}};At.internal={Bezier_C:.551915024494,calculateCross:function(t){var e=At.internal.getWidth(t),r=At.internal.getHeight(t),n=Math.min(e,r);return{x1:{x:(e-n)/2,y:(r-n)/2+n},x2:{x:(e-n)/2+n,y:(r-n)/2},x3:{x:(e-n)/2,y:(r-n)/2},x4:{x:(e-n)/2+n,y:(r-n)/2+n}}}},At.internal.getWidth=function(e){var r=0;return\"object\"===t(e)&&(r=G(e.Rect[2])),r},At.internal.getHeight=function(e){var r=0;return\"object\"===t(e)&&(r=G(e.Rect[3])),r};var St=R.addField=function(t){if(ot(this,t),!(t instanceof ft))throw new Error(\"Invalid argument passed to jsPDF.addField.\");var e;return(e=t).scope.internal.acroformPlugin.printedOut&&(e.scope.internal.acroformPlugin.printedOut=!1,e.scope.internal.acroformPlugin.acroFormDictionaryRoot=null),e.scope.internal.acroformPlugin.acroFormDictionaryRoot.Fields.push(e),t.page=t.scope.internal.getCurrentPageInfo().pageNumber,this};R.AcroFormChoiceField=dt,R.AcroFormListBox=pt,R.AcroFormComboBox=gt,R.AcroFormEditBox=mt,R.AcroFormButton=vt,R.AcroFormPushButton=bt,R.AcroFormRadioButton=yt,R.AcroFormCheckBox=Nt,R.AcroFormTextField=Lt,R.AcroFormPasswordField=xt,R.AcroFormAppearance=At,R.AcroForm={ChoiceField:dt,ListBox:pt,ComboBox:gt,EditBox:mt,Button:vt,PushButton:bt,RadioButton:yt,CheckBox:Nt,TextField:Lt,PasswordField:xt,Appearance:At},E.AcroForm={ChoiceField:dt,ListBox:pt,ComboBox:gt,EditBox:mt,Button:vt,PushButton:bt,RadioButton:yt,CheckBox:Nt,TextField:Lt,PasswordField:xt,Appearance:At};var _t=E.AcroForm;function Pt(t){return t.reduce(function(t,e,r){return t[e]=r,t},{})}!function(e){var r=\"addImage_\";e.__addimage__={};var n=\"UNKNOWN\",i={PNG:[[137,80,78,71]],TIFF:[[77,77,0,42],[73,73,42,0]],JPEG:[[255,216,255,224,void 0,void 0,74,70,73,70,0],[255,216,255,225,void 0,void 0,69,120,105,102,0,0],[255,216,255,219],[255,216,255,238]],JPEG2000:[[0,0,0,12,106,80,32,32]],GIF87a:[[71,73,70,56,55,97]],GIF89a:[[71,73,70,56,57,97]],WEBP:[[82,73,70,70,void 0,void 0,void 0,void 0,87,69,66,80]],BMP:[[66,77],[66,65],[67,73],[67,80],[73,67],[80,84]]},a=e.__addimage__.getImageFileTypeByImageData=function(t,e){var r,a,o,s,u,c=n;if(\"RGBA\"===(e=e||n)||void 0!==t.data&&t.data instanceof Uint8ClampedArray&&\"height\"in t&&\"width\"in t)return\"RGBA\";if(A(t))for(u in i)for(o=i[u],r=0;r<o.length;r+=1){for(s=!0,a=0;a<o[r].length;a+=1)if(void 0!==o[r][a]&&o[r][a]!==t[a]){s=!1;break}if(!0===s){c=u;break}}else for(u in i)for(o=i[u],r=0;r<o.length;r+=1){for(s=!0,a=0;a<o[r].length;a+=1)if(void 0!==o[r][a]&&o[r][a]!==t.charCodeAt(a)){s=!1;break}if(!0===s){c=u;break}}return c===n&&e!==n&&(c=e),c},o=function t(e){for(var r=this.internal.write,n=this.internal.putStream,i=(0,this.internal.getFilters)();-1!==i.indexOf(\"FlateEncode\");)i.splice(i.indexOf(\"FlateEncode\"),1);e.objectId=this.internal.newObject();var a=[];if(a.push({key:\"Type\",value:\"/XObject\"}),a.push({key:\"Subtype\",value:\"/Image\"}),a.push({key:\"Width\",value:e.width}),a.push({key:\"Height\",value:e.height}),e.colorSpace===y.INDEXED?a.push({key:\"ColorSpace\",value:\"[/Indexed /DeviceRGB \"+(e.palette.length/3-1)+\" \"+(\"sMask\"in e&&void 0!==e.sMask?e.objectId+2:e.objectId+1)+\" 0 R]\"}):(a.push({key:\"ColorSpace\",value:\"/\"+e.colorSpace}),e.colorSpace===y.DEVICE_CMYK&&a.push({key:\"Decode\",value:\"[1 0 1 0 1 0 1 0]\"})),a.push({key:\"BitsPerComponent\",value:e.bitsPerComponent}),\"decodeParameters\"in e&&void 0!==e.decodeParameters&&a.push({key:\"DecodeParms\",value:\"<<\"+e.decodeParameters+\">>\"}),\"transparency\"in e&&Array.isArray(e.transparency)&&e.transparency.length>0){for(var o=\"\",s=0,u=e.transparency.length;s<u;s++)o+=e.transparency[s]+\" \"+e.transparency[s]+\" \";a.push({key:\"Mask\",value:\"[\"+o+\"]\"})}void 0!==e.sMask&&a.push({key:\"SMask\",value:e.objectId+1+\" 0 R\"});var c=void 0!==e.filter?[\"/\"+e.filter]:void 0;if(n({data:e.data,additionalKeyValues:a,alreadyAppliedFilters:c,objectId:e.objectId}),r(\"endobj\"),\"sMask\"in e&&void 0!==e.sMask){var l,h=null!==(l=e.sMaskBitsPerComponent)&&void 0!==l?l:e.bitsPerComponent,f={width:e.width,height:e.height,colorSpace:\"DeviceGray\",bitsPerComponent:h,data:e.sMask};\"filter\"in e&&(f.decodeParameters=\"/Predictor \".concat(e.predictor,\" /Colors 1 /BitsPerComponent \").concat(h,\" /Columns \").concat(e.width),f.filter=e.filter),t.call(this,f)}if(e.colorSpace===y.INDEXED){var d=this.internal.newObject();n({data:_(new Uint8Array(e.palette)),objectId:d}),r(\"endobj\")}},s=function(){var t=this.internal.collections[r+\"images\"];for(var e in t)o.call(this,t[e])},u=function(){var t,e=this.internal.collections[r+\"images\"],n=this.internal.write;for(var i in e)n(\"/I\"+(t=e[i]).index,t.objectId,\"0\",\"R\")},c=function(){this.internal.collections[r+\"images\"]||(this.internal.collections[r+\"images\"]={},this.internal.events.subscribe(\"putResources\",s),this.internal.events.subscribe(\"putXobjectDict\",u))},l=function(){var t=this.internal.collections[r+\"images\"];return c.call(this),t},h=function(){return Object.keys(this.internal.collections[r+\"images\"]).length},d=function(t){return\"function\"==typeof e[\"process\"+t.toUpperCase()]},p=function(e){return\"object\"===t(e)&&1===e.nodeType},g=function(t,r){if(\"IMG\"===t.nodeName&&t.hasAttribute(\"src\")){var n=\"\"+t.getAttribute(\"src\");if(0===n.indexOf(\"data:image/\"))return f(unescape(n).split(\"base64,\").pop());var i=e.loadFile(n,!0);if(void 0!==i)return i}if(\"CANVAS\"===t.nodeName){if(0===t.width||0===t.height)throw new Error(\"Given canvas must have data. Canvas width: \"+t.width+\", height: \"+t.height);var a;switch(r){case\"PNG\":a=\"image/png\";break;case\"WEBP\":a=\"image/webp\";break;default:a=\"image/jpeg\"}return f(t.toDataURL(a,1).split(\"base64,\").pop())}},m=function(t){var e=this.internal.collections[r+\"images\"];if(e)for(var n in e)if(t===e[n].alias)return e[n]},v=function(t,e,r){return t||e||(t=-96,e=-96),t<0&&(t=-1*r.width*72/t/this.internal.scaleFactor),e<0&&(e=-1*r.height*72/e/this.internal.scaleFactor),0===t&&(t=e*r.width/r.height),0===e&&(e=t*r.height/r.width),[t,e]},b=function(t,e,r,n,i,a){var o=v.call(this,r,n,i),s=this.internal.getCoordinateString,u=this.internal.getVerticalCoordinateString,c=l.call(this);if(r=o[0],n=o[1],c[i.index]=i,a){a*=Math.PI/180;var h=Math.cos(a),f=Math.sin(a),d=function(t){return t.toFixed(4)},p=[d(h),d(f),d(-1*f),d(h),0,0,\"cm\"]}this.internal.write(\"q\"),a?(this.internal.write([1,\"0\",\"0\",1,s(t),u(e+n),\"cm\"].join(\" \")),this.internal.write(p.join(\" \")),this.internal.write([s(r),\"0\",\"0\",s(n),\"0\",\"0\",\"cm\"].join(\" \"))):this.internal.write([s(r),\"0\",\"0\",s(n),s(t),u(e+n),\"cm\"].join(\" \")),this.isAdvancedAPI()&&this.internal.write([1,0,0,-1,0,0,\"cm\"].join(\" \")),this.internal.write(\"/I\"+i.index+\" Do\"),this.internal.write(\"Q\")},y=e.color_spaces={DEVICE_RGB:\"DeviceRGB\",DEVICE_GRAY:\"DeviceGray\",DEVICE_CMYK:\"DeviceCMYK\",CAL_GREY:\"CalGray\",CAL_RGB:\"CalRGB\",LAB:\"Lab\",ICC_BASED:\"ICCBased\",INDEXED:\"Indexed\",PATTERN:\"Pattern\",SEPARATION:\"Separation\",DEVICE_N:\"DeviceN\"};e.decode={DCT_DECODE:\"DCTDecode\",FLATE_DECODE:\"FlateDecode\",LZW_DECODE:\"LZWDecode\",JPX_DECODE:\"JPXDecode\",JBIG2_DECODE:\"JBIG2Decode\",ASCII85_DECODE:\"ASCII85Decode\",ASCII_HEX_DECODE:\"ASCIIHexDecode\",RUN_LENGTH_DECODE:\"RunLengthDecode\",CCITT_FAX_DECODE:\"CCITTFaxDecode\"};var w=e.image_compression={NONE:\"NONE\",FAST:\"FAST\",MEDIUM:\"MEDIUM\",SLOW:\"SLOW\"},N=e.__addimage__.sHashCode=function(t){var e,r,n=0;if(\"string\"==typeof t)for(r=t.length,e=0;e<r;e++)n=(n<<5)-n+t.charCodeAt(e),n|=0;else if(A(t))for(r=t.byteLength/2,e=0;e<r;e++)n=(n<<5)-n+t[e],n|=0;return n},L=e.__addimage__.validateStringAsBase64=function(t){(t=t||\"\").toString().trim();var e=!0;return 0===t.length&&(e=!1),t.length%4!=0&&(e=!1),!1===/^[A-Za-z0-9+/]+$/.test(t.substr(0,t.length-2))&&(e=!1),!1===/^[A-Za-z0-9/][A-Za-z0-9+/]|[A-Za-z0-9+/]=|==$/.test(t.substr(-2))&&(e=!1),e},x=e.__addimage__.extractImageFromDataUrl=function(t){if(null==t)return null;if(!(t=t.trim()).startsWith(\"data:\"))return null;var e=t.indexOf(\",\");return e<0?null:t.substring(0,e).trim().endsWith(\"base64\")?t.substring(e+1):null};e.__addimage__.isArrayBuffer=function(t){return t instanceof ArrayBuffer};var A=e.__addimage__.isArrayBufferView=function(t){return t instanceof Int8Array||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array||t instanceof Float64Array},S=e.__addimage__.binaryStringToUint8Array=function(t){for(var e=t.length,r=new Uint8Array(e),n=0;n<e;n++)r[n]=t.charCodeAt(n);return r},_=e.__addimage__.arrayBufferToBinaryString=function(t){for(var e=\"\",r=A(t)?t:new Uint8Array(t),n=0;n<r.length;n+=8192)e+=String.fromCharCode.apply(null,r.subarray(n,n+8192));return e};e.addImage=function(){var e,r,i,a,o,s,u,l,h;if(\"number\"==typeof arguments[1]?(r=n,i=arguments[1],a=arguments[2],o=arguments[3],s=arguments[4],u=arguments[5],l=arguments[6],h=arguments[7]):(r=arguments[1],i=arguments[2],a=arguments[3],o=arguments[4],s=arguments[5],u=arguments[6],l=arguments[7],h=arguments[8]),\"object\"===t(e=arguments[0])&&!p(e)&&\"imageData\"in e){var f=e;e=f.imageData,r=f.format||r||n,i=f.x||i||0,a=f.y||a||0,o=f.w||f.width||o,s=f.h||f.height||s,u=f.alias||u,l=f.compression||l,h=f.rotation||f.angle||h}var d=this.internal.getFilters();if(void 0===l&&-1!==d.indexOf(\"FlateEncode\")&&(l=\"SLOW\"),isNaN(i)||isNaN(a))throw new Error(\"Invalid coordinates passed to jsPDF.addImage\");c.call(this);var g=P.call(this,e,r,u,l);return b.call(this,i,a,o,s,g,h),this};var P=function(t,r,i,o){var s,u,c;if(\"string\"==typeof t&&a(t)===n){t=unescape(t);var l=k(t,!1);(\"\"!==l||void 0!==(l=e.loadFile(t,!0)))&&(t=l)}if(p(t)&&(t=g(t,r)),r=a(t,r),!d(r))throw new Error(\"addImage does not support files of type '\"+r+\"', please ensure that a plugin for '\"+r+\"' support is added.\");if((null==(c=i)||0===c.length)&&(i=function(t){return\"string\"==typeof t||A(t)?N(t):A(t.data)?N(t.data):null}(t)),(s=m.call(this,i))||(t instanceof Uint8Array||\"RGBA\"===r||(u=t,t=S(t)),s=this[\"process\"+r.toUpperCase()](t,h.call(this),i,function(t){return t&&\"string\"==typeof t&&(t=t.toUpperCase()),t in e.image_compression?t:w.NONE}(o),u)),!s)throw new Error(\"An unknown error occurred whilst processing the image.\");return s},k=e.__addimage__.convertBase64ToBinaryString=function(t,e){e=\"boolean\"!=typeof e||e;var r,n=\"\";if(\"string\"==typeof t){var i;r=null!==(i=x(t))&&void 0!==i?i:t;try{n=f(r)}catch(a){if(e)throw L(r)?new Error(\"atob-Error in jsPDF.convertBase64ToBinaryString \"+a.message):new Error(\"Supplied Data is not a valid base64-String jsPDF.convertBase64ToBinaryString \")}}return n};e.getImageProperties=function(t){var r,i,o=\"\";if(p(t)&&(t=g(t)),\"string\"==typeof t&&a(t)===n&&(\"\"===(o=k(t,!1))&&(o=e.loadFile(t)||\"\"),t=o),i=a(t),!d(i))throw new Error(\"addImage does not support files of type '\"+i+\"', please ensure that a plugin for '\"+i+\"' support is added.\");if(t instanceof Uint8Array||(t=S(t)),!(r=this[\"process\"+i.toUpperCase()](t)))throw new Error(\"An unknown error occurred whilst processing the image\");return r.fileType=i,r}}(E.API),\n/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e=function(t){if(void 0!==t&&\"\"!=t)return!0};E.API.events.push([\"addPage\",function(t){this.internal.getPageInfo(t.pageNumber).pageContext.annotations=[]}]),t.events.push([\"putPage\",function(t){for(var r,n,i,a=this.internal.getCoordinateString,o=this.internal.getVerticalCoordinateString,s=this.internal.getPageInfoByObjId(t.objId),u=t.pageContext.annotations,c=!1,l=0;l<u.length&&!c;l++)switch((r=u[l]).type){case\"link\":(e(r.options.url)||e(r.options.pageNumber))&&(c=!0);break;case\"reference\":case\"text\":case\"freetext\":c=!0}if(0!=c){this.internal.write(\"/Annots [\");for(var h=0;h<u.length;h++){r=u[h];var f=this.internal.pdfEscape,d=this.internal.getEncryptor(t.objId);switch(r.type){case\"reference\":this.internal.write(\" \"+r.object.objId+\" 0 R \");break;case\"text\":var p=this.internal.newAdditionalObject(),g=this.internal.newAdditionalObject(),m=this.internal.getEncryptor(p.objId),v=r.title||\"Note\";i=\"<</Type /Annot /Subtype /Text \"+(n=\"/Rect [\"+a(r.bounds.x)+\" \"+o(r.bounds.y+r.bounds.h)+\" \"+a(r.bounds.x+r.bounds.w)+\" \"+o(r.bounds.y)+\"] \")+\"/Contents (\"+f(m(r.contents))+\")\",i+=\" /Popup \"+g.objId+\" 0 R\",i+=\" /P \"+s.objId+\" 0 R\",i+=\" /T (\"+f(m(v))+\") >>\",p.content=i;var b=p.objId+\" 0 R\";i=\"<</Type /Annot /Subtype /Popup \"+(n=\"/Rect [\"+a(r.bounds.x+30)+\" \"+o(r.bounds.y+r.bounds.h)+\" \"+a(r.bounds.x+r.bounds.w+30)+\" \"+o(r.bounds.y)+\"] \")+\" /Parent \"+b,r.open&&(i+=\" /Open true\"),i+=\" >>\",g.content=i,this.internal.write(p.objId,\"0 R\",g.objId,\"0 R\");break;case\"freetext\":n=\"/Rect [\"+a(r.bounds.x)+\" \"+o(r.bounds.y)+\" \"+a(r.bounds.x+r.bounds.w)+\" \"+o(r.bounds.y+r.bounds.h)+\"] \";var y=\"font: Helvetica,sans-serif 12.0pt; text-align:left; color:#\"+(r.color||\"#000000\");i=\"<</Type /Annot /Subtype /FreeText \"+n+\"/Contents (\"+f(d(r.contents))+\")\",i+=\" /DS(\"+f(d(y))+\")\",i+=\" /Border [0 0 0]\",i+=\" >>\",this.internal.write(i);break;case\"link\":if(r.options.name){var w=this.annotations._nameMap[r.options.name];r.options.pageNumber=w.page,r.options.top=w.y}else r.options.top||(r.options.top=0);if(n=\"/Rect [\"+r.finalBounds.x+\" \"+r.finalBounds.y+\" \"+r.finalBounds.w+\" \"+r.finalBounds.h+\"] \",i=\"\",r.options.url)i=\"<</Type /Annot /Subtype /Link \"+n+\"/Border [0 0 0] /A <</S /URI /URI (\"+f(d(r.options.url))+\") >>\";else if(r.options.pageNumber)switch(i=\"<</Type /Annot /Subtype /Link \"+n+\"/Border [0 0 0] /Dest [\"+this.internal.getPageInfo(r.options.pageNumber).objId+\" 0 R\",r.options.magFactor=r.options.magFactor||\"XYZ\",r.options.magFactor){case\"Fit\":i+=\" /Fit]\";break;case\"FitH\":i+=\" /FitH \"+r.options.top+\"]\";break;case\"FitV\":r.options.left=r.options.left||0,i+=\" /FitV \"+r.options.left+\"]\";break;default:var N=o(r.options.top);r.options.left=r.options.left||0,void 0===r.options.zoom&&(r.options.zoom=0),i+=\" /XYZ \"+r.options.left+\" \"+N+\" \"+r.options.zoom+\"]\"}\"\"!=i&&(i+=\" >>\",this.internal.write(i))}}this.internal.write(\"]\")}}]),t.createAnnotation=function(t){var e=this.internal.getCurrentPageInfo();switch(t.type){case\"link\":this.link(t.bounds.x,t.bounds.y,t.bounds.w,t.bounds.h,t);break;case\"text\":case\"freetext\":e.pageContext.annotations.push(t)}},t.link=function(t,e,r,n,i){var a=this.internal.getCurrentPageInfo(),o=this.internal.getCoordinateString,s=this.internal.getVerticalCoordinateString;a.pageContext.annotations.push({finalBounds:{x:o(t),y:s(e),w:o(t+r),h:s(e+n)},options:i,type:\"link\"})},t.textWithLink=function(t,e,r,n){var i,a,o=this.getTextWidth(t),s=this.internal.getLineHeight()/this.internal.scaleFactor;if(void 0!==n.maxWidth){a=n.maxWidth;var u=this.splitTextToSize(t,a).length;i=Math.ceil(s*u)}else a=o,i=s;return this.text(t,e,r,n),r+=.2*s,\"center\"===n.align&&(e-=o/2),\"right\"===n.align&&(e-=o),this.link(e,r-s,a,i,n),o},t.getTextWidth=function(t){var e=this.internal.getFontSize();return this.getStringUnitWidth(t)*e/this.internal.scaleFactor}}(E.API),\n/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e={1569:[65152],1570:[65153,65154],1571:[65155,65156],1572:[65157,65158],1573:[65159,65160],1574:[65161,65162,65163,65164],1575:[65165,65166],1576:[65167,65168,65169,65170],1577:[65171,65172],1578:[65173,65174,65175,65176],1579:[65177,65178,65179,65180],1580:[65181,65182,65183,65184],1581:[65185,65186,65187,65188],1582:[65189,65190,65191,65192],1583:[65193,65194],1584:[65195,65196],1585:[65197,65198],1586:[65199,65200],1587:[65201,65202,65203,65204],1588:[65205,65206,65207,65208],1589:[65209,65210,65211,65212],1590:[65213,65214,65215,65216],1591:[65217,65218,65219,65220],1592:[65221,65222,65223,65224],1593:[65225,65226,65227,65228],1594:[65229,65230,65231,65232],1601:[65233,65234,65235,65236],1602:[65237,65238,65239,65240],1603:[65241,65242,65243,65244],1604:[65245,65246,65247,65248],1605:[65249,65250,65251,65252],1606:[65253,65254,65255,65256],1607:[65257,65258,65259,65260],1608:[65261,65262],1609:[65263,65264,64488,64489],1610:[65265,65266,65267,65268],1649:[64336,64337],1655:[64477],1657:[64358,64359,64360,64361],1658:[64350,64351,64352,64353],1659:[64338,64339,64340,64341],1662:[64342,64343,64344,64345],1663:[64354,64355,64356,64357],1664:[64346,64347,64348,64349],1667:[64374,64375,64376,64377],1668:[64370,64371,64372,64373],1670:[64378,64379,64380,64381],1671:[64382,64383,64384,64385],1672:[64392,64393],1676:[64388,64389],1677:[64386,64387],1678:[64390,64391],1681:[64396,64397],1688:[64394,64395],1700:[64362,64363,64364,64365],1702:[64366,64367,64368,64369],1705:[64398,64399,64400,64401],1709:[64467,64468,64469,64470],1711:[64402,64403,64404,64405],1713:[64410,64411,64412,64413],1715:[64406,64407,64408,64409],1722:[64414,64415],1723:[64416,64417,64418,64419],1726:[64426,64427,64428,64429],1728:[64420,64421],1729:[64422,64423,64424,64425],1733:[64480,64481],1734:[64473,64474],1735:[64471,64472],1736:[64475,64476],1737:[64482,64483],1739:[64478,64479],1740:[64508,64509,64510,64511],1744:[64484,64485,64486,64487],1746:[64430,64431],1747:[64432,64433]},r={65247:{65154:65269,65156:65271,65160:65273,65166:65275},65248:{65154:65270,65156:65272,65160:65274,65166:65276},65165:{65247:{65248:{65258:65010}}},1617:{1612:64606,1613:64607,1614:64608,1615:64609,1616:64610}},n={1612:64606,1613:64607,1614:64608,1615:64609,1616:64610},i=[1570,1571,1573,1575];t.__arabicParser__={};var a=t.__arabicParser__.isInArabicSubstitutionA=function(t){return void 0!==e[t.charCodeAt(0)]},o=t.__arabicParser__.isArabicLetter=function(t){return\"string\"==typeof t&&/^[\\u0600-\\u06FF\\u0750-\\u077F\\u08A0-\\u08FF\\uFB50-\\uFDFF\\uFE70-\\uFEFF]+$/.test(t)},s=t.__arabicParser__.isArabicEndLetter=function(t){return o(t)&&a(t)&&e[t.charCodeAt(0)].length<=2},u=t.__arabicParser__.isArabicAlfLetter=function(t){return o(t)&&i.indexOf(t.charCodeAt(0))>=0};t.__arabicParser__.arabicLetterHasIsolatedForm=function(t){return o(t)&&a(t)&&e[t.charCodeAt(0)].length>=1};var c=t.__arabicParser__.arabicLetterHasFinalForm=function(t){return o(t)&&a(t)&&e[t.charCodeAt(0)].length>=2};t.__arabicParser__.arabicLetterHasInitialForm=function(t){return o(t)&&a(t)&&e[t.charCodeAt(0)].length>=3};var l=t.__arabicParser__.arabicLetterHasMedialForm=function(t){return o(t)&&a(t)&&4==e[t.charCodeAt(0)].length},h=t.__arabicParser__.resolveLigatures=function(t){var e=0,n=r,i=\"\",a=0;for(e=0;e<t.length;e+=1)void 0!==n[t.charCodeAt(e)]?(a++,\"number\"==typeof(n=n[t.charCodeAt(e)])&&(i+=String.fromCharCode(n),n=r,a=0),e===t.length-1&&(n=r,i+=t.charAt(e-(a-1)),e-=a-1,a=0)):(n=r,i+=t.charAt(e-a),e-=a,a=0);return i};t.__arabicParser__.isArabicDiacritic=function(t){return void 0!==t&&void 0!==n[t.charCodeAt(0)]};var f=t.__arabicParser__.getCorrectForm=function(t,e,r){return o(t)?!1===a(t)?-1:!c(t)||!o(e)&&!o(r)||!o(r)&&s(e)||s(t)&&!o(e)||s(t)&&u(e)||s(t)&&s(e)?0:l(t)&&o(e)&&!s(e)&&o(r)&&c(r)?3:s(t)||!o(r)?1:2:-1},d=function(t){var r=0,n=0,i=0,a=\"\",s=\"\",u=\"\",c=(t=t||\"\").split(\"\\\\s+\"),l=[];for(r=0;r<c.length;r+=1){for(l.push(\"\"),n=0;n<c[r].length;n+=1)a=c[r][n],s=c[r][n-1],u=c[r][n+1],o(a)?(i=f(a,s,u),l[r]+=-1!==i?String.fromCharCode(e[a.charCodeAt(0)][i]):a):l[r]+=a;l[r]=h(l[r])}return l.join(\" \")},p=t.__arabicParser__.processArabic=t.processArabic=function(){var t,e=\"string\"==typeof arguments[0]?arguments[0]:arguments[0].text,r=[];if(Array.isArray(e)){var n=0;for(r=[],n=0;n<e.length;n+=1)Array.isArray(e[n])?r.push([d(e[n][0]),e[n][1],e[n][2]]):r.push([d(e[n])]);t=r}else t=d(e);return\"string\"==typeof arguments[0]?t:(arguments[0].text=t,arguments[0])};t.events.push([\"preProcessText\",p])}(E.API),E.API.autoPrint=function(t){var e;return(t=t||{}).variant=t.variant||\"non-conform\",\"javascript\"===t.variant?this.addJS(\"print({});\"):(this.internal.events.subscribe(\"postPutResources\",function(){e=this.internal.newObject(),this.internal.out(\"<<\"),this.internal.out(\"/S /Named\"),this.internal.out(\"/Type /Action\"),this.internal.out(\"/N /Print\"),this.internal.out(\">>\"),this.internal.out(\"endobj\")}),this.internal.events.subscribe(\"putCatalog\",function(){this.internal.out(\"/OpenAction \"+e+\" 0 R\")})),this},\n/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e=function(){var t=void 0;Object.defineProperty(this,\"pdf\",{get:function(){return t},set:function(e){t=e}});var e=150;Object.defineProperty(this,\"width\",{get:function(){return e},set:function(t){e=isNaN(t)||!1===Number.isInteger(t)||t<0?150:t,this.getContext(\"2d\").pageWrapXEnabled&&(this.getContext(\"2d\").pageWrapX=e+1)}});var r=300;Object.defineProperty(this,\"height\",{get:function(){return r},set:function(t){r=isNaN(t)||!1===Number.isInteger(t)||t<0?300:t,this.getContext(\"2d\").pageWrapYEnabled&&(this.getContext(\"2d\").pageWrapY=r+1)}});var n=[];Object.defineProperty(this,\"childNodes\",{get:function(){return n},set:function(t){n=t}});var i={};Object.defineProperty(this,\"style\",{get:function(){return i},set:function(t){i=t}}),Object.defineProperty(this,\"parentNode\",{})};e.prototype.getContext=function(t,e){var r;if(\"2d\"!==(t=t||\"2d\"))return null;for(r in e)this.pdf.context2d.hasOwnProperty(r)&&(this.pdf.context2d[r]=e[r]);return this.pdf.context2d._canvas=this,this.pdf.context2d},e.prototype.toDataURL=function(){throw new Error(\"toDataURL is not implemented.\")},t.events.push([\"initialized\",function(){this.canvas=new e,this.canvas.pdf=this}])}(E.API),function(e){var r={left:0,top:0,bottom:0,right:0},n=!1,i=function(){void 0===this.internal.__cell__&&(this.internal.__cell__={},this.internal.__cell__.padding=3,this.internal.__cell__.headerFunction=void 0,this.internal.__cell__.margins=Object.assign({},r),this.internal.__cell__.margins.width=this.getPageWidth(),a.call(this))},a=function(){this.internal.__cell__.lastCell=new o,this.internal.__cell__.pages=1},o=function(){var t=arguments[0];Object.defineProperty(this,\"x\",{enumerable:!0,get:function(){return t},set:function(e){t=e}});var e=arguments[1];Object.defineProperty(this,\"y\",{enumerable:!0,get:function(){return e},set:function(t){e=t}});var r=arguments[2];Object.defineProperty(this,\"width\",{enumerable:!0,get:function(){return r},set:function(t){r=t}});var n=arguments[3];Object.defineProperty(this,\"height\",{enumerable:!0,get:function(){return n},set:function(t){n=t}});var i=arguments[4];Object.defineProperty(this,\"text\",{enumerable:!0,get:function(){return i},set:function(t){i=t}});var a=arguments[5];Object.defineProperty(this,\"lineNumber\",{enumerable:!0,get:function(){return a},set:function(t){a=t}});var o=arguments[6];return Object.defineProperty(this,\"align\",{enumerable:!0,get:function(){return o},set:function(t){o=t}}),this};o.prototype.clone=function(){return new o(this.x,this.y,this.width,this.height,this.text,this.lineNumber,this.align)},o.prototype.toArray=function(){return[this.x,this.y,this.width,this.height,this.text,this.lineNumber,this.align]},e.setHeaderFunction=function(t){return i.call(this),this.internal.__cell__.headerFunction=\"function\"==typeof t?t:void 0,this},e.getTextDimensions=function(t,e){i.call(this);var r=(e=e||{}).fontSize||this.getFontSize(),n=e.font||this.getFont(),a=e.scaleFactor||this.internal.scaleFactor,o=0,s=0,u=0,c=this;if(!Array.isArray(t)&&\"string\"!=typeof t){if(\"number\"!=typeof t)throw new Error(\"getTextDimensions expects text-parameter to be of type String or type Number or an Array of Strings.\");t=String(t)}var l=e.maxWidth;l>0?\"string\"==typeof t?t=this.splitTextToSize(t,l):\"[object Array]\"===Object.prototype.toString.call(t)&&(t=t.reduce(function(t,e){return t.concat(c.splitTextToSize(e,l))},[])):t=Array.isArray(t)?t:[t];for(var h=0;h<t.length;h++)o<(u=this.getStringUnitWidth(t[h],{font:n})*r)&&(o=u);return 0!==o&&(s=t.length),{w:o/=a,h:Math.max((s*r*this.getLineHeightFactor()-r*(this.getLineHeightFactor()-1))/a,0)}},e.cellAddPage=function(){i.call(this),this.addPage();var t=this.internal.__cell__.margins||r;return this.internal.__cell__.lastCell=new o(t.left,t.top,void 0,void 0),this.internal.__cell__.pages+=1,this};var s=e.cell=function(){var t;t=arguments[0]instanceof o?arguments[0]:new o(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6]),i.call(this);var e=this.internal.__cell__.lastCell,a=this.internal.__cell__.padding,s=this.internal.__cell__.margins||r,u=this.internal.__cell__.tableHeaderRow,c=this.internal.__cell__.printHeaders;return void 0!==e.lineNumber&&(e.lineNumber===t.lineNumber?(t.x=(e.x||0)+(e.width||0),t.y=e.y||0):e.y+e.height+t.height+s.bottom>this.getPageHeight()?(this.cellAddPage(),t.y=s.top,c&&u&&(this.printHeaderRow(t.lineNumber,!0),t.y+=u[0].height)):t.y=e.y+e.height||t.y),void 0!==t.text[0]&&(this.rect(t.x,t.y,t.width,t.height,!0===n?\"FD\":void 0),\"right\"===t.align?this.text(t.text,t.x+t.width-a,t.y+a,{align:\"right\",baseline:\"top\"}):\"center\"===t.align?this.text(t.text,t.x+t.width/2,t.y+a,{align:\"center\",baseline:\"top\",maxWidth:t.width-a-a}):this.text(t.text,t.x+a,t.y+a,{align:\"left\",baseline:\"top\",maxWidth:t.width-a-a})),this.internal.__cell__.lastCell=t,this};e.table=function(e,n,c,l,h){if(i.call(this),!c)throw new Error(\"No data for PDF table.\");var f,d,p,g,m=[],v=[],b=[],y={},w={},N=[],L=[],x=(h=h||{}).autoSize||!1,A=!1!==h.printHeaders,S=h.css&&void 0!==h.css[\"font-size\"]?16*h.css[\"font-size\"]:h.fontSize||12,_=h.margins||Object.assign({width:this.getPageWidth()},r),P=\"number\"==typeof h.padding?h.padding:3,k=h.headerBackgroundColor||\"#c8c8c8\",F=h.headerTextColor||\"#000\";if(a.call(this),this.internal.__cell__.printHeaders=A,this.internal.__cell__.margins=_,this.internal.__cell__.table_font_size=S,this.internal.__cell__.padding=P,this.internal.__cell__.headerBackgroundColor=k,this.internal.__cell__.headerTextColor=F,this.setFontSize(S),null==l)v=m=Object.keys(c[0]),b=m.map(function(){return\"left\"});else if(Array.isArray(l)&&\"object\"===t(l[0]))for(m=l.map(function(t){return t.name}),v=l.map(function(t){return t.prompt||t.name||\"\"}),b=l.map(function(t){return t.align||\"left\"}),f=0;f<l.length;f+=1)w[l[f].name]=.7499990551181103*l[f].width;else Array.isArray(l)&&\"string\"==typeof l[0]&&(v=m=l,b=m.map(function(){return\"left\"}));if(x||Array.isArray(l)&&\"string\"==typeof l[0])for(f=0;f<m.length;f+=1){for(y[g=m[f]]=c.map(function(t){return t[g]}),this.setFont(void 0,\"bold\"),N.push(this.getTextDimensions(v[f],{fontSize:this.internal.__cell__.table_font_size,scaleFactor:this.internal.scaleFactor}).w),d=y[g],this.setFont(void 0,\"normal\"),p=0;p<d.length;p+=1)N.push(this.getTextDimensions(d[p],{fontSize:this.internal.__cell__.table_font_size,scaleFactor:this.internal.scaleFactor}).w);w[g]=Math.max.apply(null,N)+P+P,N=[]}if(A){var I={};for(f=0;f<m.length;f+=1)I[m[f]]={},I[m[f]].text=v[f],I[m[f]].align=b[f];var C=u.call(this,I,w);L=m.map(function(t){return new o(e,n,w[t],C,I[t].text,void 0,I[t].align)}),this.setTableHeaderRow(L),this.printHeaderRow(1,!1)}var j=l.reduce(function(t,e){return t[e.name]=e.align,t},{});for(f=0;f<c.length;f+=1){\"rowStart\"in h&&h.rowStart instanceof Function&&h.rowStart({row:f,data:c[f]},this);var O=u.call(this,c[f],w);for(p=0;p<m.length;p+=1){var B=c[f][m[p]];\"cellStart\"in h&&h.cellStart instanceof Function&&h.cellStart({row:f,col:p,data:B},this),s.call(this,new o(e,n,w[m[p]],O,B,f+2,j[m[p]]))}}return this.internal.__cell__.table_x=e,this.internal.__cell__.table_y=n,this};var u=function(t,e){var r=this.internal.__cell__.padding,n=this.internal.__cell__.table_font_size,i=this.internal.scaleFactor;return Object.keys(t).map(function(n){var i=t[n];return this.splitTextToSize(i.hasOwnProperty(\"text\")?i.text:i,e[n]-r-r)},this).map(function(t){return this.getLineHeightFactor()*t.length*n/i+r+r},this).reduce(function(t,e){return Math.max(t,e)},0)};e.setTableHeaderRow=function(t){i.call(this),this.internal.__cell__.tableHeaderRow=t},e.printHeaderRow=function(t,e){if(i.call(this),!this.internal.__cell__.tableHeaderRow)throw new Error(\"Property tableHeaderRow does not exist.\");var r;if(n=!0,\"function\"==typeof this.internal.__cell__.headerFunction){var a=this.internal.__cell__.headerFunction(this,this.internal.__cell__.pages);this.internal.__cell__.lastCell=new o(a[0],a[1],a[2],a[3],void 0,-1)}this.setFont(void 0,\"bold\");for(var u=[],c=0;c<this.internal.__cell__.tableHeaderRow.length;c+=1){r=this.internal.__cell__.tableHeaderRow[c].clone(),e&&(r.y=this.internal.__cell__.margins.top||0,u.push(r)),r.lineNumber=t;var l=this.getTextColor();this.setTextColor(this.internal.__cell__.headerTextColor),this.setFillColor(this.internal.__cell__.headerBackgroundColor),s.call(this,r),this.setTextColor(l)}u.length>0&&this.setTableHeaderRow(u),this.setFont(void 0,\"normal\"),n=!1}}(E.API);var kt={italic:[\"italic\",\"oblique\",\"normal\"],oblique:[\"oblique\",\"italic\",\"normal\"],normal:[\"normal\",\"oblique\",\"italic\"]},Ft=[\"ultra-condensed\",\"extra-condensed\",\"condensed\",\"semi-condensed\",\"normal\",\"semi-expanded\",\"expanded\",\"extra-expanded\",\"ultra-expanded\"],It=Pt(Ft),Ct=[100,200,300,400,500,600,700,800,900],jt=Pt(Ct);function Ot(t){var e=t.family.replace(/\"|'/g,\"\").toLowerCase(),r=function(t){return kt[t=t||\"normal\"]?t:\"normal\"}(t.style),n=function(t){return t?\"number\"==typeof t?t>=100&&t<=900&&t%100==0?t:400:/^\\d00$/.test(t)?parseInt(t):\"bold\"===t?700:400:400}(t.weight),i=function(t){return\"number\"==typeof It[t=t||\"normal\"]?t:\"normal\"}(t.stretch);return{family:e,style:r,weight:n,stretch:i,src:t.src||[],ref:t.ref||{name:e,style:[i,r,n].join(\" \")}}}function Bt(t,e,r,n){var i;for(i=r;i>=0&&i<e.length;i+=n)if(t[e[i]])return t[e[i]];for(i=r;i>=0&&i<e.length;i-=n)if(t[e[i]])return t[e[i]]}var Mt={\"sans-serif\":\"helvetica\",fixed:\"courier\",monospace:\"courier\",terminal:\"courier\",cursive:\"times\",fantasy:\"times\",serif:\"times\"},qt={caption:\"times\",icon:\"times\",menu:\"times\",\"message-box\":\"times\",\"small-caption\":\"times\",\"status-bar\":\"times\"};function Et(t){return[t.stretch,t.style,t.weight,t.family].join(\" \")}function Rt(t){return t.trimLeft()}function Dt(t,e){for(var r=0;r<t.length;){if(t.charAt(r)===e)return[t.substring(0,r),t.substring(r+1)];r+=1}return null}function Tt(t){var e=t.match(/^(-[a-z_]|[a-z_])[a-z0-9_-]*/i);return null===e?null:[e[0],t.substring(e[0].length)]}var zt,Ut,Ht,Wt,Vt,Gt=[\"times\"];function Yt(t,r,n,i,a){var o=4,s=Kt;switch(a){case E.API.image_compression.FAST:o=1,s=Xt;break;case E.API.image_compression.MEDIUM:o=6,s=Zt;break;case E.API.image_compression.SLOW:o=9,s=$t}t=function(t,e,r,n){for(var i,a=t.length/e,o=new Uint8Array(t.length+a),s=[Jt,Xt,Kt,Zt,$t],u=0;u<a;u+=1){var c=u*e,l=t.subarray(c,c+e);if(n)o.set(n(l,r,i),c+u);else{for(var h=s.length,f=[],d=0;d<h;d+=1)f[d]=s[d](l,r,i);var p=te(f.concat());o.set(f[p],c+u)}i=l}return o}(t,r,Math.ceil(n*i/8),s);var u=e(t,{level:o});return E.API.__addimage__.arrayBufferToBinaryString(u)}function Jt(t){var e=Array.apply([],t);return e.unshift(0),e}function Xt(t,e){var r=t.length,n=[];n[0]=1;for(var i=0;i<r;i+=1){var a=t[i-e]||0;n[i+1]=t[i]-a+256&255}return n}function Kt(t,e,r){var n=t.length,i=[];i[0]=2;for(var a=0;a<n;a+=1){var o=r&&r[a]||0;i[a+1]=t[a]-o+256&255}return i}function Zt(t,e,r){var n=t.length,i=[];i[0]=3;for(var a=0;a<n;a+=1){var o=t[a-e]||0,s=r&&r[a]||0;i[a+1]=t[a]+256-(o+s>>>1)&255}return i}function $t(t,e,r){var n=t.length,i=[];i[0]=4;for(var a=0;a<n;a+=1){var o=Qt(t[a-e]||0,r&&r[a]||0,r&&r[a-e]||0);i[a+1]=t[a]-o+256&255}return i}function Qt(t,e,r){if(t===e&&e===r)return t;var n=Math.abs(e-r),i=Math.abs(t-r),a=Math.abs(t+e-r-r);return n<=i&&n<=a?t:i<=a?e:r}function te(t){var e=t.map(function(t){return t.reduce(function(t,e){return t+Math.abs(e)},0)});return e.indexOf(Math.min.apply(null,e))}function ee(t,e,r){var n=e*r,i=Math.floor(n/8),a=16-(n-8*i+r),o=(1<<r)-1;return ne(t,i)>>a&o}function re(t,e,r,n){var i=r*n,a=Math.floor(i/8),o=16-(i-8*a+n),s=(1<<n)-1,u=(e&s)<<o;!function(t,e,r){if(e+1<t.byteLength)t.setUint16(e,r,!1);else{var n=r>>8&255;t.setUint8(e,n)}}\n/**\n * @license\n * (c) Dean McNamee <dean@gmail.com>, 2013.\n *\n * https://github.com/deanm/omggif\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n *\n * omggif is a JavaScript implementation of a GIF 89a encoder and decoder,\n * including animation and compression. It does not rely on any specific\n * underlying system, so should run in the browser, Node, or Plask.\n */(t,a,ne(t,a)&~(s<<o)&65535|u)}function ne(t,e){return e+1<t.byteLength?t.getUint16(e,!1):t.getUint8(e)<<8}function ie(t){var e=0;if(71!==t[e++]||73!==t[e++]||70!==t[e++]||56!==t[e++]||56!=(t[e++]+1&253)||97!==t[e++])throw new Error(\"Invalid GIF 87a/89a header.\");var r=t[e++]|t[e++]<<8,n=t[e++]|t[e++]<<8,i=t[e++],a=i>>7,o=1<<1+(7&i);t[e++],t[e++];var s=null,u=null;a&&(s=e,u=o,e+=3*o);var c=!0,l=[],h=0,f=null,d=0,p=null;for(this.width=r,this.height=n;c&&e<t.length;)switch(t[e++]){case 33:switch(t[e++]){case 255:if(11!==t[e]||78==t[e+1]&&69==t[e+2]&&84==t[e+3]&&83==t[e+4]&&67==t[e+5]&&65==t[e+6]&&80==t[e+7]&&69==t[e+8]&&50==t[e+9]&&46==t[e+10]&&48==t[e+11]&&3==t[e+12]&&1==t[e+13]&&0==t[e+16])e+=14,p=t[e++]|t[e++]<<8,e++;else for(e+=12;;){if(!((P=t[e++])>=0))throw Error(\"Invalid block size\");if(0===P)break;e+=P}break;case 249:if(4!==t[e++]||0!==t[e+4])throw new Error(\"Invalid graphics extension block.\");var g=t[e++];h=t[e++]|t[e++]<<8,f=t[e++],1&g||(f=null),d=g>>2&7,e++;break;case 254:for(;;){if(!((P=t[e++])>=0))throw Error(\"Invalid block size\");if(0===P)break;e+=P}break;default:throw new Error(\"Unknown graphic control label: 0x\"+t[e-1].toString(16))}break;case 44:var m=t[e++]|t[e++]<<8,v=t[e++]|t[e++]<<8,b=t[e++]|t[e++]<<8,y=t[e++]|t[e++]<<8,w=t[e++],N=w>>6&1,L=1<<1+(7&w),x=s,A=u,S=!1;w>>7&&(S=!0,x=e,A=L,e+=3*L);var _=e;for(e++;;){var P;if(!((P=t[e++])>=0))throw Error(\"Invalid block size\");if(0===P)break;e+=P}l.push({x:m,y:v,width:b,height:y,has_local_palette:S,palette_offset:x,palette_size:A,data_offset:_,data_length:e-_,transparent_index:f,interlaced:!!N,delay:h,disposal:d});break;case 59:c=!1;break;default:throw new Error(\"Unknown gif block: 0x\"+t[e-1].toString(16))}this.numFrames=function(){return l.length},this.loopCount=function(){return p},this.frameInfo=function(t){if(t<0||t>=l.length)throw new Error(\"Frame index out of range.\");return l[t]},this.decodeAndBlitFrameBGRA=function(e,n){var i=this.frameInfo(e),a=i.width*i.height;if(a>536870912)throw new Error(\"Image dimensions exceed 512MB, which is too large.\");var o=new Uint8Array(a);ae(t,i.data_offset,o,a);var s=i.palette_offset,u=i.transparent_index;null===u&&(u=256);var c=i.width,l=r-c,h=c,f=4*(i.y*r+i.x),d=4*((i.y+i.height)*r+i.x),p=f,g=4*l;!0===i.interlaced&&(g+=4*r*7);for(var m=8,v=0,b=o.length;v<b;++v){var y=o[v];if(0===h&&(h=c,(p+=g)>=d&&(g=4*l+4*r*(m-1),p=f+(c+l)*(m<<1),m>>=1)),y===u)p+=4;else{var w=t[s+3*y],N=t[s+3*y+1],L=t[s+3*y+2];n[p++]=L,n[p++]=N,n[p++]=w,n[p++]=255}--h}},this.decodeAndBlitFrameRGBA=function(e,n){var i=this.frameInfo(e),a=i.width*i.height;if(a>536870912)throw new Error(\"Image dimensions exceed 512MB, which is too large.\");var o=new Uint8Array(a);ae(t,i.data_offset,o,a);var s=i.palette_offset,u=i.transparent_index;null===u&&(u=256);var c=i.width,l=r-c,h=c,f=4*(i.y*r+i.x),d=4*((i.y+i.height)*r+i.x),p=f,g=4*l;!0===i.interlaced&&(g+=4*r*7);for(var m=8,v=0,b=o.length;v<b;++v){var y=o[v];if(0===h&&(h=c,(p+=g)>=d&&(g=4*l+4*r*(m-1),p=f+(c+l)*(m<<1),m>>=1)),y===u)p+=4;else{var w=t[s+3*y],N=t[s+3*y+1],L=t[s+3*y+2];n[p++]=w,n[p++]=N,n[p++]=L,n[p++]=255}--h}}}function ae(t,e,r,n){for(var i=t[e++],a=1<<i,s=a+1,u=s+1,c=i+1,l=(1<<c)-1,h=0,f=0,d=0,p=t[e++],g=new Int32Array(4096),m=null;;){for(;h<16&&0!==p;)f|=t[e++]<<h,h+=8,1===p?p=t[e++]:--p;if(h<c)break;var v=f&l;if(f>>=c,h-=c,v!==a){if(v===s)break;for(var b=v<u?v:m,y=0,w=b;w>a;)w=g[w]>>8,++y;var N=w;if(d+y+(b!==v?1:0)>n)return void o.log(\"Warning, gif stream longer than expected.\");r[d++]=N;var L=d+=y;for(b!==v&&(r[d++]=N),w=b;y--;)w=g[w],r[--L]=255&w,w>>=8;null!==m&&u<4096&&(g[u++]=m<<8|N,u>=l+1&&c<12&&(++c,l=l<<1|1)),m=v}else u=s+1,l=(1<<(c=i+1))-1,m=null}return d!==n&&o.log(\"Warning, gif stream shorter than expected.\"),r}\n/**\n * @license\n Copyright (c) 2008, Adobe Systems Incorporated\n All rights reserved.\n\n Redistribution and use in source and binary forms, with or without \n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright notice, \n this list of conditions and the following disclaimer.\n \n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the \n documentation and/or other materials provided with the distribution.\n \n * Neither the name of Adobe Systems Incorporated nor the names of its \n contributors may be used to endorse or promote products derived from \n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS\n IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\n THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR \n CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/function oe(t){var e,r,n,i,a,o=Math.floor,s=new Array(64),u=new Array(64),c=new Array(64),l=new Array(64),h=new Array(65535),f=new Array(65535),d=new Array(64),p=new Array(64),g=[],m=0,v=7,b=new Array(64),y=new Array(64),w=new Array(64),N=new Array(256),L=new Array(2048),x=[0,1,5,6,14,15,27,28,2,4,7,13,16,26,29,42,3,8,12,17,25,30,41,43,9,11,18,24,31,40,44,53,10,19,23,32,39,45,52,54,20,22,33,38,46,51,55,60,21,34,37,47,50,56,59,61,35,36,48,49,57,58,62,63],A=[0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0],S=[0,1,2,3,4,5,6,7,8,9,10,11],_=[0,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125],P=[1,2,3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,129,145,161,8,35,66,177,193,21,82,209,240,36,51,98,114,130,9,10,22,23,24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,225,226,227,228,229,230,231,232,233,234,241,242,243,244,245,246,247,248,249,250],k=[0,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0],F=[0,1,2,3,4,5,6,7,8,9,10,11],I=[0,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119],C=[0,1,2,3,17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,129,8,20,66,145,161,177,193,9,35,51,82,240,21,98,114,209,10,22,36,52,225,37,241,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,130,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,226,227,228,229,230,231,232,233,234,242,243,244,245,246,247,248,249,250];function j(t,e){for(var r=0,n=0,i=new Array,a=1;a<=16;a++){for(var o=1;o<=t[a];o++)i[e[n]]=[],i[e[n]][0]=r,i[e[n]][1]=a,n++,r++;r*=2}return i}function O(t){for(var e=t[0],r=t[1]-1;r>=0;)e&1<<r&&(m|=1<<v),r--,--v<0&&(255==m?(B(255),B(0)):B(m),v=7,m=0)}function B(t){g.push(t)}function M(t){B(t>>8&255),B(255&t)}function q(t,e,r,n,i){for(var a,o=i[0],s=i[240],u=function(t,e){var r,n,i,a,o,s,u,c,l,h,f=0;for(l=0;l<8;++l){r=t[f],n=t[f+1],i=t[f+2],a=t[f+3],o=t[f+4],s=t[f+5],u=t[f+6];var p=r+(c=t[f+7]),g=r-c,m=n+u,v=n-u,b=i+s,y=i-s,w=a+o,N=a-o,L=p+w,x=p-w,A=m+b,S=m-b;t[f]=L+A,t[f+4]=L-A;var _=.707106781*(S+x);t[f+2]=x+_,t[f+6]=x-_;var P=.382683433*((L=N+y)-(S=v+g)),k=.5411961*L+P,F=1.306562965*S+P,I=.707106781*(A=y+v),C=g+I,j=g-I;t[f+5]=j+k,t[f+3]=j-k,t[f+1]=C+F,t[f+7]=C-F,f+=8}for(f=0,l=0;l<8;++l){r=t[f],n=t[f+8],i=t[f+16],a=t[f+24],o=t[f+32],s=t[f+40],u=t[f+48];var O=r+(c=t[f+56]),B=r-c,M=n+u,q=n-u,E=i+s,R=i-s,D=a+o,T=a-o,z=O+D,U=O-D,H=M+E,W=M-E;t[f]=z+H,t[f+32]=z-H;var V=.707106781*(W+U);t[f+16]=U+V,t[f+48]=U-V;var G=.382683433*((z=T+R)-(W=q+B)),Y=.5411961*z+G,J=1.306562965*W+G,X=.707106781*(H=R+q),K=B+X,Z=B-X;t[f+40]=Z+Y,t[f+24]=Z-Y,t[f+8]=K+J,t[f+56]=K-J,f++}for(l=0;l<64;++l)h=t[l]*e[l],d[l]=h>0?h+.5|0:h-.5|0;return d}(t,e),c=0;c<64;++c)p[x[c]]=u[c];var l=p[0]-r;r=p[0],0==l?O(n[0]):(O(n[f[a=32767+l]]),O(h[a]));for(var g=63;g>0&&0==p[g];)g--;if(0==g)return O(o),r;for(var m,v=1;v<=g;){for(var b=v;0==p[v]&&v<=g;)++v;var y=v-b;if(y>=16){m=y>>4;for(var w=1;w<=m;++w)O(s);y&=15}a=32767+p[v],O(i[(y<<4)+f[a]]),O(h[a]),v++}return 63!=g&&O(o),r}function E(t){t=Math.min(Math.max(t,1),100),a!=t&&(function(t){for(var e=[16,11,10,16,24,40,51,61,12,12,14,19,26,58,60,55,14,13,16,24,40,57,69,56,14,17,22,29,51,87,80,62,18,22,37,56,68,109,103,77,24,35,55,64,81,104,113,92,49,64,78,87,103,121,120,101,72,92,95,98,112,100,103,99],r=0;r<64;r++){var n=o((e[r]*t+50)/100);n=Math.min(Math.max(n,1),255),s[x[r]]=n}for(var i=[17,18,24,47,99,99,99,99,18,21,26,66,99,99,99,99,24,26,56,99,99,99,99,99,47,66,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99],a=0;a<64;a++){var h=o((i[a]*t+50)/100);h=Math.min(Math.max(h,1),255),u[x[a]]=h}for(var f=[1,1.387039845,1.306562965,1.175875602,1,.785694958,.5411961,.275899379],d=0,p=0;p<8;p++)for(var g=0;g<8;g++)c[d]=1/(s[x[d]]*f[p]*f[g]*8),l[d]=1/(u[x[d]]*f[p]*f[g]*8),d++}(t<50?Math.floor(5e3/t):Math.floor(200-2*t)),a=t)}this.encode=function(t,a){a&&E(a),g=new Array,m=0,v=7,M(65496),M(65504),M(16),B(74),B(70),B(73),B(70),B(0),B(1),B(1),B(0),M(1),M(1),B(0),B(0),function(){M(65499),M(132),B(0);for(var t=0;t<64;t++)B(s[t]);B(1);for(var e=0;e<64;e++)B(u[e])}(),function(t,e){M(65472),M(17),B(8),M(e),M(t),B(3),B(1),B(17),B(0),B(2),B(17),B(1),B(3),B(17),B(1)}(t.width,t.height),function(){M(65476),M(418),B(0);for(var t=0;t<16;t++)B(A[t+1]);for(var e=0;e<=11;e++)B(S[e]);B(16);for(var r=0;r<16;r++)B(_[r+1]);for(var n=0;n<=161;n++)B(P[n]);B(1);for(var i=0;i<16;i++)B(k[i+1]);for(var a=0;a<=11;a++)B(F[a]);B(17);for(var o=0;o<16;o++)B(I[o+1]);for(var s=0;s<=161;s++)B(C[s])}(),M(65498),M(12),B(3),B(1),B(0),B(2),B(17),B(3),B(17),B(0),B(63),B(0);var o=0,h=0,f=0;m=0,v=7,this.encode.displayName=\"_encode_\";for(var d,p,N,x,j,R,D,T,z,U=t.data,H=t.width,W=t.height,V=4*H,G=0;G<W;){for(d=0;d<V;){for(j=V*G+d,D=-1,T=0,z=0;z<64;z++)R=j+(T=z>>3)*V+(D=4*(7&z)),G+T>=W&&(R-=V*(G+1+T-W)),d+D>=V&&(R-=d+D-V+4),p=U[R++],N=U[R++],x=U[R++],b[z]=(L[p]+L[N+256|0]+L[x+512|0]>>16)-128,y[z]=(L[p+768|0]+L[N+1024|0]+L[x+1280|0]>>16)-128,w[z]=(L[p+1280|0]+L[N+1536|0]+L[x+1792|0]>>16)-128;o=q(b,c,o,e,n),h=q(y,l,h,r,i),f=q(w,l,f,r,i),d+=32}G+=8}if(v>=0){var Y=[];Y[1]=v+1,Y[0]=(1<<v+1)-1,O(Y)}return M(65497),new Uint8Array(g)},t=t||50,function(){for(var t=String.fromCharCode,e=0;e<256;e++)N[e]=t(e)}(),e=j(A,S),r=j(k,F),n=j(_,P),i=j(I,C),function(){for(var t=1,e=2,r=1;r<=15;r++){for(var n=t;n<e;n++)f[32767+n]=r,h[32767+n]=[],h[32767+n][1]=r,h[32767+n][0]=n;for(var i=-(e-1);i<=-t;i++)f[32767+i]=r,h[32767+i]=[],h[32767+i][1]=r,h[32767+i][0]=e-1+i;t<<=1,e<<=1}}(),function(){for(var t=0;t<256;t++)L[t]=19595*t,L[t+256|0]=38470*t,L[t+512|0]=7471*t+32768,L[t+768|0]=-11059*t,L[t+1024|0]=-21709*t,L[t+1280|0]=32768*t+8421375,L[t+1536|0]=-27439*t,L[t+1792|0]=-5329*t}(),E(t)}\n/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */function se(t,e){if(this.pos=0,this.buffer=t,this.datav=new DataView(t.buffer),this.is_with_alpha=!!e,this.bottom_up=!0,this.flag=String.fromCharCode(this.buffer[0])+String.fromCharCode(this.buffer[1]),this.pos+=2,-1===[\"BM\",\"BA\",\"CI\",\"CP\",\"IC\",\"PT\"].indexOf(this.flag))throw new Error(\"Invalid BMP File\");this.parseHeader(),this.parseBGR()}function ue(t){function e(t){if(!t)throw Error(\"assert :P\")}function r(t,e,r){for(var n=0;4>n;n++)if(t[e+n]!=r.charCodeAt(n))return!0;return!1}function n(t,e,r,n,i){for(var a=0;a<i;a++)t[e+a]=r[n+a]}function i(t,e,r,n){for(var i=0;i<n;i++)t[e+i]=r}function a(t){return new Int32Array(t)}function o(t,e){for(var r=[],n=0;n<t;n++)r.push(new e);return r}function s(t,e){var r=[];return function t(r,n,i){for(var a=i[n],o=0;o<a&&(r.push(i.length>n+1?[]:new e),!(i.length<n+1));o++)t(r[o],n+1,i)}(r,0,t),r}var u=function(){var t=this;function u(t,e){for(var r=1<<e-1>>>0;t&r;)r>>>=1;return r?(t&r-1)+r:t}function c(t,r,n,i,a){e(!(i%n));do{t[r+(i-=n)]=a}while(0<i)}function l(t,r,n,i,o){if(e(2328>=o),512>=o)var s=a(512);else if(null==(s=a(o)))return 0;return function(t,r,n,i,o,s){var l,f,d=r,p=1<<n,g=a(16),m=a(16);for(e(0!=o),e(null!=i),e(null!=t),e(0<n),f=0;f<o;++f){if(15<i[f])return 0;++g[i[f]]}if(g[0]==o)return 0;for(m[1]=0,l=1;15>l;++l){if(g[l]>1<<l)return 0;m[l+1]=m[l]+g[l]}for(f=0;f<o;++f)l=i[f],0<i[f]&&(s[m[l]++]=f);if(1==m[15])return(i=new h).g=0,i.value=s[0],c(t,d,1,p,i),p;var v,b=-1,y=p-1,w=0,N=1,L=1,x=1<<n;for(f=0,l=1,o=2;l<=n;++l,o<<=1){if(N+=L<<=1,0>(L-=g[l]))return 0;for(;0<g[l];--g[l])(i=new h).g=l,i.value=s[f++],c(t,d+w,o,x,i),w=u(w,l)}for(l=n+1,o=2;15>=l;++l,o<<=1){if(N+=L<<=1,0>(L-=g[l]))return 0;for(;0<g[l];--g[l]){if(i=new h,(w&y)!=b){for(d+=x,v=1<<(b=l)-n;15>b&&!(0>=(v-=g[b]));)++b,v<<=1;p+=x=1<<(v=b-n),t[r+(b=w&y)].g=v+n,t[r+b].value=d-r-b}i.g=l-n,i.value=s[f++],c(t,d+(w>>n),o,x,i),w=u(w,l)}}return N!=2*m[15]-1?0:p}(t,r,n,i,o,s)}function h(){this.value=this.g=0}function f(){this.value=this.g=0}function d(){this.G=o(5,h),this.H=a(5),this.jc=this.Qb=this.qb=this.nd=0,this.pd=o(Er,f)}function p(t,r,n,i){e(null!=t),e(null!=r),e(2147483648>i),t.Ca=254,t.I=0,t.b=-8,t.Ka=0,t.oa=r,t.pa=n,t.Jd=r,t.Yc=n+i,t.Zc=4<=i?n+i-4+1:n,_(t)}function g(t,e){for(var r=0;0<e--;)r|=k(t,128)<<e;return r}function m(t,e){var r=g(t,e);return P(t)?-r:r}function v(t,r,n,i){var a,o=0;for(e(null!=t),e(null!=r),e(4294967288>i),t.Sb=i,t.Ra=0,t.u=0,t.h=0,4<i&&(i=4),a=0;a<i;++a)o+=r[n+a]<<8*a;t.Ra=o,t.bb=i,t.oa=r,t.pa=n}function b(t){for(;8<=t.u&&t.bb<t.Sb;)t.Ra>>>=8,t.Ra+=t.oa[t.pa+t.bb]<<Tr-8>>>0,++t.bb,t.u-=8;x(t)&&(t.h=1,t.u=0)}function y(t,r){if(e(0<=r),!t.h&&r<=Dr){var n=L(t)&Rr[r];return t.u+=r,b(t),n}return t.h=1,t.u=0}function w(){this.b=this.Ca=this.I=0,this.oa=[],this.pa=0,this.Jd=[],this.Yc=0,this.Zc=[],this.Ka=0}function N(){this.Ra=0,this.oa=[],this.h=this.u=this.bb=this.Sb=this.pa=0}function L(t){return t.Ra>>>(t.u&Tr-1)>>>0}function x(t){return e(t.bb<=t.Sb),t.h||t.bb==t.Sb&&t.u>Tr}function A(t,e){t.u=e,t.h=x(t)}function S(t){t.u>=zr&&(e(t.u>=zr),b(t))}function _(t){e(null!=t&&null!=t.oa),t.pa<t.Zc?(t.I=(t.oa[t.pa++]|t.I<<8)>>>0,t.b+=8):(e(null!=t&&null!=t.oa),t.pa<t.Yc?(t.b+=8,t.I=t.oa[t.pa++]|t.I<<8):t.Ka?t.b=0:(t.I<<=8,t.b+=8,t.Ka=1))}function P(t){return g(t,1)}function k(t,e){var r=t.Ca;0>t.b&&_(t);var n=t.b,i=r*e>>>8,a=(t.I>>>n>i)+0;for(a?(r-=i,t.I-=i+1<<n>>>0):r=i+1,n=r,i=0;256<=n;)i+=8,n>>=8;return n=7^i+Ur[n],t.b-=n,t.Ca=(r<<n)-1,a}function F(t,e,r){t[e+0]=r>>24&255,t[e+1]=r>>16&255,t[e+2]=r>>8&255,t[e+3]=255&r}function I(t,e){return t[e+0]|t[e+1]<<8}function C(t,e){return I(t,e)|t[e+2]<<16}function j(t,e){return I(t,e)|I(t,e+2)<<16}function O(t,r){var n=1<<r;return e(null!=t),e(0<r),t.X=a(n),null==t.X?0:(t.Mb=32-r,t.Xa=r,1)}function B(t,r){e(null!=t),e(null!=r),e(t.Xa==r.Xa),n(r.X,0,t.X,0,1<<r.Xa)}function M(){this.X=[],this.Xa=this.Mb=0}function q(t,r,n,i){e(null!=n),e(null!=i);var a=n[0],o=i[0];return 0==a&&(a=(t*o+r/2)/r),0==o&&(o=(r*a+t/2)/t),0>=a||0>=o?0:(n[0]=a,i[0]=o,1)}function E(t,e){return t+(1<<e)-1>>>e}function R(t,e){return((4278255360&t)+(4278255360&e)>>>0&4278255360)+((16711935&t)+(16711935&e)>>>0&16711935)>>>0}function D(e,r){t[r]=function(r,n,i,a,o,s,u){var c;for(c=0;c<o;++c){var l=t[e](s[u+c-1],i,a+c);s[u+c]=R(r[n+c],l)}}}function T(){this.ud=this.hd=this.jd=0}function z(t,e){return((4278124286&(t^e))>>>1)+(t&e)>>>0}function U(t){return 0<=t&&256>t?t:0>t?0:255<t?255:void 0}function H(t,e){return U(t+(t-e+.5>>1))}function W(t,e,r){return Math.abs(e-r)-Math.abs(t-r)}function V(t,e,r,n,i,a,o){for(n=a[o-1],r=0;r<i;++r)a[o+r]=n=R(t[e+r],n)}function G(t,e,r,n,i){var a;for(a=0;a<r;++a){var o=t[e+a],s=o>>8&255,u=16711935&(u=(u=16711935&o)+((s<<16)+s));n[i+a]=(4278255360&o)+u>>>0}}function Y(t,e){e.jd=255&t,e.hd=t>>8&255,e.ud=t>>16&255}function J(t,e,r,n,i,a){var o;for(o=0;o<n;++o){var s=e[r+o],u=s>>>8,c=s,l=255&(l=(l=s>>>16)+((t.jd<<24>>24)*(u<<24>>24)>>>5));c=255&(c=(c+=(t.hd<<24>>24)*(u<<24>>24)>>>5)+((t.ud<<24>>24)*(l<<24>>24)>>>5)),i[a+o]=(4278255360&s)+(l<<16)+c}}function X(e,r,n,i,a){t[r]=function(t,e,r,n,o,s,u,c,l){for(n=u;n<c;++n)for(u=0;u<l;++u)o[s++]=a(r[i(t[e++])])},t[e]=function(e,r,o,s,u,c,l){var h=8>>e.b,f=e.Ea,d=e.K[0],p=e.w;if(8>h)for(e=(1<<e.b)-1,p=(1<<h)-1;r<o;++r){var g,m=0;for(g=0;g<f;++g)g&e||(m=i(s[u++])),c[l++]=a(d[m&p]),m>>=h}else t[\"VP8LMapColor\"+n](s,u,d,p,c,l,r,o,f)}}function K(t,e,r,n,i){for(r=e+r;e<r;){var a=t[e++];n[i++]=a>>16&255,n[i++]=a>>8&255,n[i++]=255&a}}function Z(t,e,r,n,i){for(r=e+r;e<r;){var a=t[e++];n[i++]=a>>16&255,n[i++]=a>>8&255,n[i++]=255&a,n[i++]=a>>24&255}}function $(t,e,r,n,i){for(r=e+r;e<r;){var a=(o=t[e++])>>16&240|o>>12&15,o=240&o|o>>28&15;n[i++]=a,n[i++]=o}}function Q(t,e,r,n,i){for(r=e+r;e<r;){var a=(o=t[e++])>>16&248|o>>13&7,o=o>>5&224|o>>3&31;n[i++]=a,n[i++]=o}}function tt(t,e,r,n,i){for(r=e+r;e<r;){var a=t[e++];n[i++]=255&a,n[i++]=a>>8&255,n[i++]=a>>16&255}}function et(t,e,r,i,a,o){if(0==o)for(r=e+r;e<r;)F(i,((o=t[e++])[0]>>24|o[1]>>8&65280|o[2]<<8&16711680|o[3]<<24)>>>0),a+=32;else n(i,a,t,e,r)}function rt(e,r){t[r][0]=t[e+\"0\"],t[r][1]=t[e+\"1\"],t[r][2]=t[e+\"2\"],t[r][3]=t[e+\"3\"],t[r][4]=t[e+\"4\"],t[r][5]=t[e+\"5\"],t[r][6]=t[e+\"6\"],t[r][7]=t[e+\"7\"],t[r][8]=t[e+\"8\"],t[r][9]=t[e+\"9\"],t[r][10]=t[e+\"10\"],t[r][11]=t[e+\"11\"],t[r][12]=t[e+\"12\"],t[r][13]=t[e+\"13\"],t[r][14]=t[e+\"0\"],t[r][15]=t[e+\"0\"]}function nt(t){return t==Un||t==Hn||t==Wn||t==Vn}function it(){this.eb=[],this.size=this.A=this.fb=0}function at(){this.y=[],this.f=[],this.ea=[],this.F=[],this.Tc=this.Ed=this.Cd=this.Fd=this.lb=this.Db=this.Ab=this.fa=this.J=this.W=this.N=this.O=0}function ot(){this.Rd=this.height=this.width=this.S=0,this.f={},this.f.RGBA=new it,this.f.kb=new at,this.sd=null}function st(){this.width=[0],this.height=[0],this.Pd=[0],this.Qd=[0],this.format=[0]}function ut(){this.Id=this.fd=this.Md=this.hb=this.ib=this.da=this.bd=this.cd=this.j=this.v=this.Da=this.Sd=this.ob=0}function ct(t){return alert(\"todo:WebPSamplerProcessPlane\"),t.T}function lt(t,e){var r=t.T,i=e.ba.f.RGBA,a=i.eb,o=i.fb+t.ka*i.A,s=mi[e.ba.S],u=t.y,c=t.O,l=t.f,h=t.N,f=t.ea,d=t.W,p=e.cc,g=e.dc,m=e.Mc,v=e.Nc,b=t.ka,y=t.ka+t.T,w=t.U,N=w+1>>1;for(0==b?s(u,c,null,null,l,h,f,d,l,h,f,d,a,o,null,null,w):(s(e.ec,e.fc,u,c,p,g,m,v,l,h,f,d,a,o-i.A,a,o,w),++r);b+2<y;b+=2)p=l,g=h,m=f,v=d,h+=t.Rc,d+=t.Rc,o+=2*i.A,s(u,(c+=2*t.fa)-t.fa,u,c,p,g,m,v,l,h,f,d,a,o-i.A,a,o,w);return c+=t.fa,t.j+y<t.o?(n(e.ec,e.fc,u,c,w),n(e.cc,e.dc,l,h,N),n(e.Mc,e.Nc,f,d,N),r--):1&y||s(u,c,null,null,l,h,f,d,l,h,f,d,a,o+i.A,null,null,w),r}function ht(t,r,n){var i=t.F,a=[t.J];if(null!=i){var o=t.U,s=r.ba.S,u=s==Dn||s==Wn;r=r.ba.f.RGBA;var c=[0],l=t.ka;c[0]=t.T,t.Kb&&(0==l?--c[0]:(--l,a[0]-=t.width),t.j+t.ka+t.T==t.o&&(c[0]=t.o-t.j-l));var h=r.eb;l=r.fb+l*r.A,t=An(i,a[0],t.width,o,c,h,l+(u?0:3),r.A),e(n==c),t&&nt(s)&&Ln(h,l,u,o,c,r.A)}return 0}function ft(t){var e=t.ma,r=e.ba.S,n=11>r,i=r==qn||r==Rn||r==Dn||r==Tn||12==r||nt(r);if(e.memory=null,e.Ib=null,e.Jb=null,e.Nd=null,!Br(e.Oa,t,i?11:12))return 0;if(i&&nt(r)&&vr(),t.da)alert(\"todo:use_scaling\");else{if(n){if(e.Ib=ct,t.Kb){if(r=t.U+1>>1,e.memory=a(t.U+2*r),null==e.memory)return 0;e.ec=e.memory,e.fc=0,e.cc=e.ec,e.dc=e.fc+t.U,e.Mc=e.cc,e.Nc=e.dc+r,e.Ib=lt,vr()}}else alert(\"todo:EmitYUV\");i&&(e.Jb=ht,n&&gr())}if(n&&!Ii){for(t=0;256>t;++t)Ci[t]=89858*(t-128)+Si>>Ai,Bi[t]=-22014*(t-128)+Si,Oi[t]=-45773*(t-128),ji[t]=113618*(t-128)+Si>>Ai;for(t=_i;t<Pi;++t)e=76283*(t-16)+Si>>Ai,Mi[t-_i]=Vt(e,255),qi[t-_i]=Vt(e+8>>4,15);Ii=1}return 1}function dt(t){var r=t.ma,n=t.U,i=t.T;return e(!(1&t.ka)),0>=n||0>=i?0:(n=r.Ib(t,r),null!=r.Jb&&r.Jb(t,r,n),r.Dc+=n,1)}function pt(t){t.ma.memory=null}function gt(t,e,r,n){return 47!=y(t,8)?0:(e[0]=y(t,14)+1,r[0]=y(t,14)+1,n[0]=y(t,1),0!=y(t,3)?0:!t.h)}function mt(t,e){if(4>t)return t+1;var r=t-2>>1;return(2+(1&t)<<r)+y(e,r)+1}function vt(t,e){return 120<e?e-120:1<=(r=((r=Zn[e-1])>>4)*t+(8-(15&r)))?r:1;var r}function bt(t,e,r){var n=L(r),i=t[e+=255&n].g-8;return 0<i&&(A(r,r.u+8),n=L(r),e+=t[e].value,e+=n&(1<<i)-1),A(r,r.u+t[e].g),t[e].value}function yt(t,r,n){return n.g+=t.g,n.value+=t.value<<r>>>0,e(8>=n.g),t.g}function wt(t,r,n){var i=t.xc;return e((r=0==i?0:t.vc[t.md*(n>>i)+(r>>i)])<t.Wb),t.Ya[r]}function Nt(t,r,i,a){var o=t.ab,s=t.c*r,u=t.C;r=u+r;var c=i,l=a;for(a=t.Ta,i=t.Ua;0<o--;){var h=t.gc[o],f=u,d=r,p=c,g=l,m=(l=a,c=i,h.Ea);switch(e(f<d),e(d<=h.nc),h.hc){case 2:Vr(p,g,(d-f)*m,l,c);break;case 0:var v=f,b=d,y=l,w=c,N=(_=h).Ea;0==v&&(Hr(p,g,null,null,1,y,w),V(p,g+1,0,0,N-1,y,w+1),g+=N,w+=N,++v);for(var L=1<<_.b,x=L-1,A=E(N,_.b),S=_.K,_=_.w+(v>>_.b)*A;v<b;){var P=S,k=_,F=1;for(Wr(p,g,y,w-N,1,y,w);F<N;){var I=(F&~x)+L;I>N&&(I=N),(0,Kr[P[k++]>>8&15])(p,g+ +F,y,w+F-N,I-F,y,w+F),F=I}g+=N,w+=N,++v&x||(_+=A)}d!=h.nc&&n(l,c-m,l,c+(d-f-1)*m,m);break;case 1:for(m=p,b=g,N=(p=h.Ea)-(w=p&~(y=(g=1<<h.b)-1)),v=E(p,h.b),L=h.K,h=h.w+(f>>h.b)*v;f<d;){for(x=L,A=h,S=new T,_=b+w,P=b+p;b<_;)Y(x[A++],S),Zr(S,m,b,g,l,c),b+=g,c+=g;b<P&&(Y(x[A++],S),Zr(S,m,b,N,l,c),b+=N,c+=N),++f&y||(h+=v)}break;case 3:if(p==l&&g==c&&0<h.b){for(b=l,p=m=c+(d-f)*m-(w=(d-f)*E(h.Ea,h.b)),g=l,y=c,v=[],w=(N=w)-1;0<=w;--w)v[w]=g[y+w];for(w=N-1;0<=w;--w)b[p+w]=v[w];Gr(h,f,d,l,m,l,c)}else Gr(h,f,d,p,g,l,c)}c=a,l=i}l!=i&&n(a,i,c,l,s)}function Lt(t,r){var n=t.V,i=t.Ba+t.c*t.C,a=r-t.C;if(e(r<=t.l.o),e(16>=a),0<a){var o=t.l,s=t.Ta,u=t.Ua,c=o.width;if(Nt(t,a,n,i),a=u=[u],e((n=t.C)<(i=r)),e(o.v<o.va),i>o.o&&(i=o.o),n<o.j){var l=o.j-n;n=o.j,a[0]+=l*c}if(n>=i?n=0:(a[0]+=4*o.v,o.ka=n-o.j,o.U=o.va-o.v,o.T=i-n,n=1),n){if(u=u[0],11>(n=t.ca).S){var h=n.f.RGBA,f=(i=n.S,a=o.U,o=o.T,l=h.eb,h.A),d=o;for(h=h.fb+t.Ma*h.A;0<d--;){var p=s,g=u,m=a,v=l,b=h;switch(i){case Mn:$r(p,g,m,v,b);break;case qn:Qr(p,g,m,v,b);break;case Un:Qr(p,g,m,v,b),Ln(v,b,0,m,1,0);break;case En:rn(p,g,m,v,b);break;case Rn:et(p,g,m,v,b,1);break;case Hn:et(p,g,m,v,b,1),Ln(v,b,0,m,1,0);break;case Dn:et(p,g,m,v,b,0);break;case Wn:et(p,g,m,v,b,0),Ln(v,b,1,m,1,0);break;case Tn:tn(p,g,m,v,b);break;case Vn:tn(p,g,m,v,b),xn(v,b,m,1,0);break;case zn:en(p,g,m,v,b);break;default:e(0)}u+=c,h+=f}t.Ma+=o}else alert(\"todo:EmitRescaledRowsYUVA\");e(t.Ma<=n.height)}}t.C=r,e(t.C<=t.i)}function xt(t){var e;if(0<t.ua)return 0;for(e=0;e<t.Wb;++e){var r=t.Ya[e].G,n=t.Ya[e].H;if(0<r[1][n[1]+0].g||0<r[2][n[2]+0].g||0<r[3][n[3]+0].g)return 0}return 1}function At(t,r,n,i,a,o){if(0!=t.Z){var s=t.qd,u=t.rd;for(e(null!=gi[t.Z]);r<n;++r)gi[t.Z](s,u,i,a,i,a,o),s=i,u=a,a+=o;t.qd=s,t.rd=u}}function St(t,r){var n=t.l.ma,i=0==n.Z||1==n.Z?t.l.j:t.C;if(i=t.C<i?i:t.C,e(r<=t.l.o),r>i){var a=t.l.width,o=n.ca,s=n.tb+a*i,u=t.V,c=t.Ba+t.c*i,l=t.gc;e(1==t.ab),e(3==l[0].hc),Jr(l[0],i,r,u,c,o,s),At(n,i,r,o,s,a)}t.C=t.Ma=r}function _t(t,r,n,i,a,o,s){var u=t.$/i,c=t.$%i,l=t.m,h=t.s,f=n+t.$,d=f;a=n+i*a;var p=n+i*o,g=280+h.ua,m=t.Pb?u:16777216,v=0<h.ua?h.Wa:null,b=h.wc,y=f<p?wt(h,c,u):null;e(t.C<o),e(p<=a);var w=!1;t:for(;;){for(;w||f<p;){var N=0;if(u>=m){var _=f-n;e((m=t).Pb),m.wd=m.m,m.xd=_,0<m.s.ua&&B(m.s.Wa,m.s.vb),m=u+Qn}if(c&b||(y=wt(h,c,u)),e(null!=y),y.Qb&&(r[f]=y.qb,w=!0),!w)if(S(l),y.jc){N=l,_=r;var P=f,k=y.pd[L(N)&Er-1];e(y.jc),256>k.g?(A(N,N.u+k.g),_[P]=k.value,N=0):(A(N,N.u+k.g-256),e(256<=k.value),N=k.value),0==N&&(w=!0)}else N=bt(y.G[0],y.H[0],l);if(l.h)break;if(w||256>N){if(!w)if(y.nd)r[f]=(y.qb|N<<8)>>>0;else{if(S(l),w=bt(y.G[1],y.H[1],l),S(l),_=bt(y.G[2],y.H[2],l),P=bt(y.G[3],y.H[3],l),l.h)break;r[f]=(P<<24|w<<16|N<<8|_)>>>0}if(w=!1,++f,++c>=i&&(c=0,++u,null!=s&&u<=o&&!(u%16)&&s(t,u),null!=v))for(;d<f;)N=r[d++],v.X[(506832829*N&4294967295)>>>v.Mb]=N}else if(280>N){if(N=mt(N-256,l),_=bt(y.G[4],y.H[4],l),S(l),_=vt(i,_=mt(_,l)),l.h)break;if(f-n<_||a-f<N)break t;for(P=0;P<N;++P)r[f+P]=r[f+P-_];for(f+=N,c+=N;c>=i;)c-=i,++u,null!=s&&u<=o&&!(u%16)&&s(t,u);if(e(f<=a),c&b&&(y=wt(h,c,u)),null!=v)for(;d<f;)N=r[d++],v.X[(506832829*N&4294967295)>>>v.Mb]=N}else{if(!(N<g))break t;for(w=N-280,e(null!=v);d<f;)N=r[d++],v.X[(506832829*N&4294967295)>>>v.Mb]=N;N=f,e(!(w>>>(_=v).Xa)),r[N]=_.X[w],w=!0}w||e(l.h==x(l))}if(t.Pb&&l.h&&f<a)e(t.m.h),t.a=5,t.m=t.wd,t.$=t.xd,0<t.s.ua&&B(t.s.vb,t.s.Wa);else{if(l.h)break t;null!=s&&s(t,u>o?o:u),t.a=0,t.$=f-n}return 1}return t.a=3,0}function Pt(t){e(null!=t),t.vc=null,t.yc=null,t.Ya=null;var r=t.Wa;null!=r&&(r.X=null),t.vb=null,e(null!=t)}function kt(){var e=new ar;return null==e?null:(e.a=0,e.xb=pi,rt(\"Predictor\",\"VP8LPredictors\"),rt(\"Predictor\",\"VP8LPredictors_C\"),rt(\"PredictorAdd\",\"VP8LPredictorsAdd\"),rt(\"PredictorAdd\",\"VP8LPredictorsAdd_C\"),Vr=G,Zr=J,$r=K,Qr=Z,tn=$,en=Q,rn=tt,t.VP8LMapColor32b=Yr,t.VP8LMapColor8b=Xr,e)}function Ft(t,r,n,s,u){var c=1,f=[t],p=[r],g=s.m,m=s.s,v=null,b=0;t:for(;;){if(n)for(;c&&y(g,1);){var w=f,N=p,x=s,_=1,P=x.m,k=x.gc[x.ab],F=y(P,2);if(x.Oc&1<<F)c=0;else{switch(x.Oc|=1<<F,k.hc=F,k.Ea=w[0],k.nc=N[0],k.K=[null],++x.ab,e(4>=x.ab),F){case 0:case 1:k.b=y(P,3)+2,_=Ft(E(k.Ea,k.b),E(k.nc,k.b),0,x,k.K),k.K=k.K[0];break;case 3:var I,C=y(P,8)+1,j=16<C?0:4<C?1:2<C?2:3;if(w[0]=E(k.Ea,j),k.b=j,I=_=Ft(C,1,0,x,k.K)){var B,M=C,q=k,D=1<<(8>>q.b),T=a(D);if(null==T)I=0;else{var z=q.K[0],U=q.w;for(T[0]=q.K[0][0],B=1;B<1*M;++B)T[B]=R(z[U+B],T[B-1]);for(;B<4*D;++B)T[B]=0;q.K[0]=null,q.K[0]=T,I=1}}_=I;break;case 2:break;default:e(0)}c=_}}if(f=f[0],p=p[0],c&&y(g,1)&&!(c=1<=(b=y(g,4))&&11>=b)){s.a=3;break t}var H;if(H=c)e:{var W,V,G,Y=s,J=f,X=p,K=b,Z=n,$=Y.m,Q=Y.s,tt=[null],et=1,rt=0,nt=$n[K];r:for(;;){if(Z&&y($,1)){var it=y($,3)+2,at=E(J,it),ot=E(X,it),st=at*ot;if(!Ft(at,ot,0,Y,tt))break r;for(tt=tt[0],Q.xc=it,W=0;W<st;++W){var ut=tt[W]>>8&65535;tt[W]=ut,ut>=et&&(et=ut+1)}}if($.h)break r;for(V=0;5>V;++V){var ct=Jn[V];!V&&0<K&&(ct+=1<<K),rt<ct&&(rt=ct)}var lt=o(et*nt,h),ht=et,ft=o(ht,d);if(null==ft)var dt=null;else e(65536>=ht),dt=ft;var pt=a(rt);if(null==dt||null==pt||null==lt){Y.a=1;break r}var gt=lt;for(W=G=0;W<et;++W){var mt=dt[W],vt=mt.G,bt=mt.H,wt=0,Nt=1,Lt=0;for(V=0;5>V;++V){ct=Jn[V],vt[V]=gt,bt[V]=G,!V&&0<K&&(ct+=1<<K);n:{var xt,At=ct,St=Y,kt=pt,It=gt,Ct=G,jt=0,Ot=St.m,Bt=y(Ot,1);if(i(kt,0,0,At),Bt){var Mt=y(Ot,1)+1,qt=y(Ot,1),Et=y(Ot,0==qt?1:8);kt[Et]=1,2==Mt&&(kt[Et=y(Ot,8)]=1);var Rt=1}else{var Dt=a(19),Tt=y(Ot,4)+4;if(19<Tt){St.a=3;var zt=0;break n}for(xt=0;xt<Tt;++xt)Dt[Kn[xt]]=y(Ot,3);var Ut=void 0,Ht=void 0,Wt=St,Vt=Dt,Gt=At,Yt=kt,Jt=0,Xt=Wt.m,Kt=8,Zt=o(128,h);i:for(;l(Zt,0,7,Vt,19);){if(y(Xt,1)){var $t=2+2*y(Xt,3);if((Ut=2+y(Xt,$t))>Gt)break i}else Ut=Gt;for(Ht=0;Ht<Gt&&Ut--;){S(Xt);var Qt=Zt[0+(127&L(Xt))];A(Xt,Xt.u+Qt.g);var te=Qt.value;if(16>te)Yt[Ht++]=te,0!=te&&(Kt=te);else{var ee=16==te,re=te-16,ne=Yn[re],ie=y(Xt,Gn[re])+ne;if(Ht+ie>Gt)break i;for(var ae=ee?Kt:0;0<ie--;)Yt[Ht++]=ae}}Jt=1;break i}Jt||(Wt.a=3),Rt=Jt}(Rt=Rt&&!Ot.h)&&(jt=l(It,Ct,8,kt,At)),Rt&&0!=jt?zt=jt:(St.a=3,zt=0)}if(0==zt)break r;if(Nt&&1==Xn[V]&&(Nt=0==gt[G].g),wt+=gt[G].g,G+=zt,3>=V){var oe,se=pt[0];for(oe=1;oe<ct;++oe)pt[oe]>se&&(se=pt[oe]);Lt+=se}}if(mt.nd=Nt,mt.Qb=0,Nt&&(mt.qb=(vt[3][bt[3]+0].value<<24|vt[1][bt[1]+0].value<<16|vt[2][bt[2]+0].value)>>>0,0==wt&&256>vt[0][bt[0]+0].value&&(mt.Qb=1,mt.qb+=vt[0][bt[0]+0].value<<8)),mt.jc=!mt.Qb&&6>Lt,mt.jc){var ue,ce=mt;for(ue=0;ue<Er;++ue){var le=ue,he=ce.pd[le],fe=ce.G[0][ce.H[0]+le];256<=fe.value?(he.g=fe.g+256,he.value=fe.value):(he.g=0,he.value=0,le>>=yt(fe,8,he),le>>=yt(ce.G[1][ce.H[1]+le],16,he),le>>=yt(ce.G[2][ce.H[2]+le],0,he),yt(ce.G[3][ce.H[3]+le],24,he))}}}Q.vc=tt,Q.Wb=et,Q.Ya=dt,Q.yc=lt,H=1;break e}H=0}if(!(c=H)){s.a=3;break t}if(0<b){if(m.ua=1<<b,!O(m.Wa,b)){s.a=1,c=0;break t}}else m.ua=0;var de=s,pe=f,ge=p,me=de.s,ve=me.xc;if(de.c=pe,de.i=ge,me.md=E(pe,ve),me.wc=0==ve?-1:(1<<ve)-1,n){s.xb=di;break t}if(null==(v=a(f*p))){s.a=1,c=0;break t}c=(c=_t(s,v,0,f,p,p,null))&&!g.h;break t}return c?(null!=u?u[0]=v:(e(null==v),e(n)),s.$=0,n||Pt(m)):Pt(m),c}function It(t,r){var n=t.c*t.i,i=n+r+16*r;return e(t.c<=r),t.V=a(i),null==t.V?(t.Ta=null,t.Ua=0,t.a=1,0):(t.Ta=t.V,t.Ua=t.Ba+n+r,1)}function Ct(t,r){var n=t.C,i=r-n,a=t.V,o=t.Ba+t.c*n;for(e(r<=t.l.o);0<i;){var s=16<i?16:i,u=t.l.ma,c=t.l.width,l=c*s,h=u.ca,f=u.tb+c*n,d=t.Ta,p=t.Ua;Nt(t,s,a,o),Sn(d,p,h,f,l),At(u,n,n+s,h,f,c),i-=s,a+=s*t.c,n+=s}e(n==r),t.C=t.Ma=r}function jt(){this.ub=this.yd=this.td=this.Rb=0}function Ot(){this.Kd=this.Ld=this.Ud=this.Td=this.i=this.c=0}function Bt(){this.Fb=this.Bb=this.Cb=0,this.Zb=a(4),this.Lb=a(4)}function Mt(){this.Yb=function(){var t=[];return function t(e,r,n){for(var i=n[r],a=0;a<i&&(e.push(n.length>r+1?[]:0),!(n.length<r+1));a++)t(e[a],r+1,n)}(t,0,[3,11]),t}()}function qt(){this.jb=a(3),this.Wc=s([4,8],Mt),this.Xc=s([4,17],Mt)}function Et(){this.Pc=this.wb=this.Tb=this.zd=0,this.vd=new a(4),this.od=new a(4)}function Rt(){this.ld=this.La=this.dd=this.tc=0}function Dt(){this.Na=this.la=0}function Tt(){this.Sc=[0,0],this.Eb=[0,0],this.Qc=[0,0],this.ia=this.lc=0}function zt(){this.ad=a(384),this.Za=0,this.Ob=a(16),this.$b=this.Ad=this.ia=this.Gc=this.Hc=this.Dd=0}function Ut(){this.uc=this.M=this.Nb=0,this.wa=Array(new Rt),this.Y=0,this.ya=Array(new zt),this.aa=0,this.l=new Gt}function Ht(){this.y=a(16),this.f=a(8),this.ea=a(8)}function Wt(){this.cb=this.a=0,this.sc=\"\",this.m=new w,this.Od=new jt,this.Kc=new Ot,this.ed=new Et,this.Qa=new Bt,this.Ic=this.$c=this.Aa=0,this.D=new Ut,this.Xb=this.Va=this.Hb=this.zb=this.yb=this.Ub=this.za=0,this.Jc=o(8,w),this.ia=0,this.pb=o(4,Tt),this.Pa=new qt,this.Bd=this.kc=0,this.Ac=[],this.Bc=0,this.zc=[0,0,0,0],this.Gd=Array(new Ht),this.Hd=0,this.rb=Array(new Dt),this.sb=0,this.wa=Array(new Rt),this.Y=0,this.oc=[],this.pc=0,this.sa=[],this.ta=0,this.qa=[],this.ra=0,this.Ha=[],this.B=this.R=this.Ia=0,this.Ec=[],this.M=this.ja=this.Vb=this.Fc=0,this.ya=Array(new zt),this.L=this.aa=0,this.gd=s([4,2],Rt),this.ga=null,this.Fa=[],this.Cc=this.qc=this.P=0,this.Gb=[],this.Uc=0,this.mb=[],this.nb=0,this.rc=[],this.Ga=this.Vc=0}function Vt(t,e){return 0>t?0:t>e?e:t}function Gt(){this.T=this.U=this.ka=this.height=this.width=0,this.y=[],this.f=[],this.ea=[],this.Rc=this.fa=this.W=this.N=this.O=0,this.ma=\"void\",this.put=\"VP8IoPutHook\",this.ac=\"VP8IoSetupHook\",this.bc=\"VP8IoTeardownHook\",this.ha=this.Kb=0,this.data=[],this.hb=this.ib=this.da=this.o=this.j=this.va=this.v=this.Da=this.ob=this.w=0,this.F=[],this.J=0}function Yt(){var t=new Wt;return null!=t&&(t.a=0,t.sc=\"OK\",t.cb=0,t.Xb=0,ri||(ri=Zt)),t}function Jt(t,e,r){return 0==t.a&&(t.a=e,t.sc=r,t.cb=0),0}function Xt(t,e,r){return 3<=r&&157==t[e+0]&&1==t[e+1]&&42==t[e+2]}function Kt(t,r){if(null==t)return 0;if(t.a=0,t.sc=\"OK\",null==r)return Jt(t,2,\"null VP8Io passed to VP8GetHeaders()\");var n=r.data,a=r.w,o=r.ha;if(4>o)return Jt(t,7,\"Truncated header.\");var s=n[a+0]|n[a+1]<<8|n[a+2]<<16,u=t.Od;if(u.Rb=!(1&s),u.td=s>>1&7,u.yd=s>>4&1,u.ub=s>>5,3<u.td)return Jt(t,3,\"Incorrect keyframe parameters.\");if(!u.yd)return Jt(t,4,\"Frame not displayable.\");a+=3,o-=3;var c=t.Kc;if(u.Rb){if(7>o)return Jt(t,7,\"cannot parse picture header\");if(!Xt(n,a,o))return Jt(t,3,\"Bad code word\");c.c=16383&(n[a+4]<<8|n[a+3]),c.Td=n[a+4]>>6,c.i=16383&(n[a+6]<<8|n[a+5]),c.Ud=n[a+6]>>6,a+=7,o-=7,t.za=c.c+15>>4,t.Ub=c.i+15>>4,r.width=c.c,r.height=c.i,r.Da=0,r.j=0,r.v=0,r.va=r.width,r.o=r.height,r.da=0,r.ib=r.width,r.hb=r.height,r.U=r.width,r.T=r.height,i((s=t.Pa).jb,0,255,s.jb.length),e(null!=(s=t.Qa)),s.Cb=0,s.Bb=0,s.Fb=1,i(s.Zb,0,0,s.Zb.length),i(s.Lb,0,0,s.Lb)}if(u.ub>o)return Jt(t,7,\"bad partition length\");p(s=t.m,n,a,u.ub),a+=u.ub,o-=u.ub,u.Rb&&(c.Ld=P(s),c.Kd=P(s)),c=t.Qa;var l,h=t.Pa;if(e(null!=s),e(null!=c),c.Cb=P(s),c.Cb){if(c.Bb=P(s),P(s)){for(c.Fb=P(s),l=0;4>l;++l)c.Zb[l]=P(s)?m(s,7):0;for(l=0;4>l;++l)c.Lb[l]=P(s)?m(s,6):0}if(c.Bb)for(l=0;3>l;++l)h.jb[l]=P(s)?g(s,8):255}else c.Bb=0;if(s.Ka)return Jt(t,3,\"cannot parse segment header\");if((c=t.ed).zd=P(s),c.Tb=g(s,6),c.wb=g(s,3),c.Pc=P(s),c.Pc&&P(s)){for(h=0;4>h;++h)P(s)&&(c.vd[h]=m(s,6));for(h=0;4>h;++h)P(s)&&(c.od[h]=m(s,6))}if(t.L=0==c.Tb?0:c.zd?1:2,s.Ka)return Jt(t,3,\"cannot parse filter header\");var f=o;if(o=l=a,a=l+f,c=f,t.Xb=(1<<g(t.m,2))-1,f<3*(h=t.Xb))n=7;else{for(l+=3*h,c-=3*h,f=0;f<h;++f){var d=n[o+0]|n[o+1]<<8|n[o+2]<<16;d>c&&(d=c),p(t.Jc[+f],n,l,d),l+=d,c-=d,o+=3}p(t.Jc[+h],n,l,c),n=l<a?0:5}if(0!=n)return Jt(t,n,\"cannot parse partitions\");for(n=g(l=t.m,7),o=P(l)?m(l,4):0,a=P(l)?m(l,4):0,c=P(l)?m(l,4):0,h=P(l)?m(l,4):0,l=P(l)?m(l,4):0,f=t.Qa,d=0;4>d;++d){if(f.Cb){var v=f.Zb[d];f.Fb||(v+=n)}else{if(0<d){t.pb[d]=t.pb[0];continue}v=n}var b=t.pb[d];b.Sc[0]=ti[Vt(v+o,127)],b.Sc[1]=ei[Vt(v+0,127)],b.Eb[0]=2*ti[Vt(v+a,127)],b.Eb[1]=101581*ei[Vt(v+c,127)]>>16,8>b.Eb[1]&&(b.Eb[1]=8),b.Qc[0]=ti[Vt(v+h,117)],b.Qc[1]=ei[Vt(v+l,127)],b.lc=v+l}if(!u.Rb)return Jt(t,4,\"Not a key frame.\");for(P(s),u=t.Pa,n=0;4>n;++n){for(o=0;8>o;++o)for(a=0;3>a;++a)for(c=0;11>c;++c)h=k(s,ui[n][o][a][c])?g(s,8):oi[n][o][a][c],u.Wc[n][o].Yb[a][c]=h;for(o=0;17>o;++o)u.Xc[n][o]=u.Wc[n][ci[o]]}return t.kc=P(s),t.kc&&(t.Bd=g(s,8)),t.cb=1}function Zt(t,e,r,n,i,a,o){var s=e[i].Yb[r];for(r=0;16>i;++i){if(!k(t,s[r+0]))return i;for(;!k(t,s[r+1]);)if(s=e[++i].Yb[0],r=0,16==i)return 16;var u=e[i+1].Yb;if(k(t,s[r+2])){var c=t,l=0;if(k(c,(f=s)[(h=r)+3]))if(k(c,f[h+6])){for(s=0,h=2*(l=k(c,f[h+8]))+(f=k(c,f[h+9+l])),l=0,f=ni[h];f[s];++s)l+=l+k(c,f[s]);l+=3+(8<<h)}else k(c,f[h+7])?(l=7+2*k(c,165),l+=k(c,145)):l=5+k(c,159);else l=k(c,f[h+4])?3+k(c,f[h+5]):2;s=u[2]}else l=1,s=u[1];u=o+ii[i],0>(c=t).b&&_(c);var h,f=c.b,d=(h=c.Ca>>1)-(c.I>>f)>>31;--c.b,c.Ca+=d,c.Ca|=1,c.I-=(h+1&d)<<f,a[u]=((l^d)-d)*n[(0<i)+0]}return 16}function $t(t){var e=t.rb[t.sb-1];e.la=0,e.Na=0,i(t.zc,0,0,t.zc.length),t.ja=0}function Qt(t,e,r,n,i){i=t[e+r+32*n]+(i>>3),t[e+r+32*n]=-256&i?0>i?0:255:i}function te(t,e,r,n,i,a){Qt(t,e,0,r,n+i),Qt(t,e,1,r,n+a),Qt(t,e,2,r,n-a),Qt(t,e,3,r,n-i)}function ee(t){return(20091*t>>16)+t}function re(t,e,r,n){var i,o=0,s=a(16);for(i=0;4>i;++i){var u=t[e+0]+t[e+8],c=t[e+0]-t[e+8],l=(35468*t[e+4]>>16)-ee(t[e+12]),h=ee(t[e+4])+(35468*t[e+12]>>16);s[o+0]=u+h,s[o+1]=c+l,s[o+2]=c-l,s[o+3]=u-h,o+=4,e++}for(i=o=0;4>i;++i)u=(t=s[o+0]+4)+s[o+8],c=t-s[o+8],l=(35468*s[o+4]>>16)-ee(s[o+12]),Qt(r,n,0,0,u+(h=ee(s[o+4])+(35468*s[o+12]>>16))),Qt(r,n,1,0,c+l),Qt(r,n,2,0,c-l),Qt(r,n,3,0,u-h),o++,n+=32}function ne(t,e,r,n){var i=t[e+0]+4,a=35468*t[e+4]>>16,o=ee(t[e+4]),s=35468*t[e+1]>>16;te(r,n,0,i+o,t=ee(t[e+1]),s),te(r,n,1,i+a,t,s),te(r,n,2,i-a,t,s),te(r,n,3,i-o,t,s)}function ie(t,e,r,n,i){re(t,e,r,n),i&&re(t,e+16,r,n+4)}function ae(t,e,r,n){an(t,e+0,r,n,1),an(t,e+32,r,n+128,1)}function oe(t,e,r,n){var i;for(t=t[e+0]+4,i=0;4>i;++i)for(e=0;4>e;++e)Qt(r,n,e,i,t)}function se(t,e,r,n){t[e+0]&&un(t,e+0,r,n),t[e+16]&&un(t,e+16,r,n+4),t[e+32]&&un(t,e+32,r,n+128),t[e+48]&&un(t,e+48,r,n+128+4)}function ue(t,e,r,n){var i,o=a(16);for(i=0;4>i;++i){var s=t[e+0+i]+t[e+12+i],u=t[e+4+i]+t[e+8+i],c=t[e+4+i]-t[e+8+i],l=t[e+0+i]-t[e+12+i];o[0+i]=s+u,o[8+i]=s-u,o[4+i]=l+c,o[12+i]=l-c}for(i=0;4>i;++i)s=(t=o[0+4*i]+3)+o[3+4*i],u=o[1+4*i]+o[2+4*i],c=o[1+4*i]-o[2+4*i],l=t-o[3+4*i],r[n+0]=s+u>>3,r[n+16]=l+c>>3,r[n+32]=s-u>>3,r[n+48]=l-c>>3,n+=64}function ce(t,e,r){var n,i=e-32,a=On,o=255-t[i-1];for(n=0;n<r;++n){var s,u=a,c=o+t[e-1];for(s=0;s<r;++s)t[e+s]=u[c+t[i+s]];e+=32}}function le(t,e){ce(t,e,4)}function he(t,e){ce(t,e,8)}function fe(t,e){ce(t,e,16)}function de(t,e){var r;for(r=0;16>r;++r)n(t,e+32*r,t,e-32,16)}function pe(t,e){var r;for(r=16;0<r;--r)i(t,e,t[e-1],16),e+=32}function ge(t,e,r){var n;for(n=0;16>n;++n)i(e,r+32*n,t,16)}function me(t,e){var r,n=16;for(r=0;16>r;++r)n+=t[e-1+32*r]+t[e+r-32];ge(n>>5,t,e)}function ve(t,e){var r,n=8;for(r=0;16>r;++r)n+=t[e-1+32*r];ge(n>>4,t,e)}function be(t,e){var r,n=8;for(r=0;16>r;++r)n+=t[e+r-32];ge(n>>4,t,e)}function ye(t,e){ge(128,t,e)}function we(t,e,r){return t+2*e+r+2>>2}function Ne(t,e){var r,i=e-32;for(i=new Uint8Array([we(t[i-1],t[i+0],t[i+1]),we(t[i+0],t[i+1],t[i+2]),we(t[i+1],t[i+2],t[i+3]),we(t[i+2],t[i+3],t[i+4])]),r=0;4>r;++r)n(t,e+32*r,i,0,i.length)}function Le(t,e){var r=t[e-1],n=t[e-1+32],i=t[e-1+64],a=t[e-1+96];F(t,e+0,16843009*we(t[e-1-32],r,n)),F(t,e+32,16843009*we(r,n,i)),F(t,e+64,16843009*we(n,i,a)),F(t,e+96,16843009*we(i,a,a))}function xe(t,e){var r,n=4;for(r=0;4>r;++r)n+=t[e+r-32]+t[e-1+32*r];for(n>>=3,r=0;4>r;++r)i(t,e+32*r,n,4)}function Ae(t,e){var r=t[e-1+0],n=t[e-1+32],i=t[e-1+64],a=t[e-1-32],o=t[e+0-32],s=t[e+1-32],u=t[e+2-32],c=t[e+3-32];t[e+0+96]=we(n,i,t[e-1+96]),t[e+1+96]=t[e+0+64]=we(r,n,i),t[e+2+96]=t[e+1+64]=t[e+0+32]=we(a,r,n),t[e+3+96]=t[e+2+64]=t[e+1+32]=t[e+0+0]=we(o,a,r),t[e+3+64]=t[e+2+32]=t[e+1+0]=we(s,o,a),t[e+3+32]=t[e+2+0]=we(u,s,o),t[e+3+0]=we(c,u,s)}function Se(t,e){var r=t[e+1-32],n=t[e+2-32],i=t[e+3-32],a=t[e+4-32],o=t[e+5-32],s=t[e+6-32],u=t[e+7-32];t[e+0+0]=we(t[e+0-32],r,n),t[e+1+0]=t[e+0+32]=we(r,n,i),t[e+2+0]=t[e+1+32]=t[e+0+64]=we(n,i,a),t[e+3+0]=t[e+2+32]=t[e+1+64]=t[e+0+96]=we(i,a,o),t[e+3+32]=t[e+2+64]=t[e+1+96]=we(a,o,s),t[e+3+64]=t[e+2+96]=we(o,s,u),t[e+3+96]=we(s,u,u)}function _e(t,e){var r=t[e-1+0],n=t[e-1+32],i=t[e-1+64],a=t[e-1-32],o=t[e+0-32],s=t[e+1-32],u=t[e+2-32],c=t[e+3-32];t[e+0+0]=t[e+1+64]=a+o+1>>1,t[e+1+0]=t[e+2+64]=o+s+1>>1,t[e+2+0]=t[e+3+64]=s+u+1>>1,t[e+3+0]=u+c+1>>1,t[e+0+96]=we(i,n,r),t[e+0+64]=we(n,r,a),t[e+0+32]=t[e+1+96]=we(r,a,o),t[e+1+32]=t[e+2+96]=we(a,o,s),t[e+2+32]=t[e+3+96]=we(o,s,u),t[e+3+32]=we(s,u,c)}function Pe(t,e){var r=t[e+0-32],n=t[e+1-32],i=t[e+2-32],a=t[e+3-32],o=t[e+4-32],s=t[e+5-32],u=t[e+6-32],c=t[e+7-32];t[e+0+0]=r+n+1>>1,t[e+1+0]=t[e+0+64]=n+i+1>>1,t[e+2+0]=t[e+1+64]=i+a+1>>1,t[e+3+0]=t[e+2+64]=a+o+1>>1,t[e+0+32]=we(r,n,i),t[e+1+32]=t[e+0+96]=we(n,i,a),t[e+2+32]=t[e+1+96]=we(i,a,o),t[e+3+32]=t[e+2+96]=we(a,o,s),t[e+3+64]=we(o,s,u),t[e+3+96]=we(s,u,c)}function ke(t,e){var r=t[e-1+0],n=t[e-1+32],i=t[e-1+64],a=t[e-1+96];t[e+0+0]=r+n+1>>1,t[e+2+0]=t[e+0+32]=n+i+1>>1,t[e+2+32]=t[e+0+64]=i+a+1>>1,t[e+1+0]=we(r,n,i),t[e+3+0]=t[e+1+32]=we(n,i,a),t[e+3+32]=t[e+1+64]=we(i,a,a),t[e+3+64]=t[e+2+64]=t[e+0+96]=t[e+1+96]=t[e+2+96]=t[e+3+96]=a}function Fe(t,e){var r=t[e-1+0],n=t[e-1+32],i=t[e-1+64],a=t[e-1+96],o=t[e-1-32],s=t[e+0-32],u=t[e+1-32],c=t[e+2-32];t[e+0+0]=t[e+2+32]=r+o+1>>1,t[e+0+32]=t[e+2+64]=n+r+1>>1,t[e+0+64]=t[e+2+96]=i+n+1>>1,t[e+0+96]=a+i+1>>1,t[e+3+0]=we(s,u,c),t[e+2+0]=we(o,s,u),t[e+1+0]=t[e+3+32]=we(r,o,s),t[e+1+32]=t[e+3+64]=we(n,r,o),t[e+1+64]=t[e+3+96]=we(i,n,r),t[e+1+96]=we(a,i,n)}function Ie(t,e){var r;for(r=0;8>r;++r)n(t,e+32*r,t,e-32,8)}function Ce(t,e){var r;for(r=0;8>r;++r)i(t,e,t[e-1],8),e+=32}function je(t,e,r){var n;for(n=0;8>n;++n)i(e,r+32*n,t,8)}function Oe(t,e){var r,n=8;for(r=0;8>r;++r)n+=t[e+r-32]+t[e-1+32*r];je(n>>4,t,e)}function Be(t,e){var r,n=4;for(r=0;8>r;++r)n+=t[e+r-32];je(n>>3,t,e)}function Me(t,e){var r,n=4;for(r=0;8>r;++r)n+=t[e-1+32*r];je(n>>3,t,e)}function qe(t,e){je(128,t,e)}function Ee(t,e,r){var n=t[e-r],i=t[e+0],a=3*(i-n)+Cn[1020+t[e-2*r]-t[e+r]],o=jn[112+(a+4>>3)];t[e-r]=On[255+n+jn[112+(a+3>>3)]],t[e+0]=On[255+i-o]}function Re(t,e,r,n){var i=t[e+0],a=t[e+r];return Bn[255+t[e-2*r]-t[e-r]]>n||Bn[255+a-i]>n}function De(t,e,r,n){return 4*Bn[255+t[e-r]-t[e+0]]+Bn[255+t[e-2*r]-t[e+r]]<=n}function Te(t,e,r,n,i){var a=t[e-3*r],o=t[e-2*r],s=t[e-r],u=t[e+0],c=t[e+r],l=t[e+2*r],h=t[e+3*r];return 4*Bn[255+s-u]+Bn[255+o-c]>n?0:Bn[255+t[e-4*r]-a]<=i&&Bn[255+a-o]<=i&&Bn[255+o-s]<=i&&Bn[255+h-l]<=i&&Bn[255+l-c]<=i&&Bn[255+c-u]<=i}function ze(t,e,r,n){var i=2*n+1;for(n=0;16>n;++n)De(t,e+n,r,i)&&Ee(t,e+n,r)}function Ue(t,e,r,n){var i=2*n+1;for(n=0;16>n;++n)De(t,e+n*r,1,i)&&Ee(t,e+n*r,1)}function He(t,e,r,n){var i;for(i=3;0<i;--i)ze(t,e+=4*r,r,n)}function We(t,e,r,n){var i;for(i=3;0<i;--i)Ue(t,e+=4,r,n)}function Ve(t,e,r,n,i,a,o,s){for(a=2*a+1;0<i--;){if(Te(t,e,r,a,o))if(Re(t,e,r,s))Ee(t,e,r);else{var u=t,c=e,l=r,h=u[c-2*l],f=u[c-l],d=u[c+0],p=u[c+l],g=u[c+2*l],m=27*(b=Cn[1020+3*(d-f)+Cn[1020+h-p]])+63>>7,v=18*b+63>>7,b=9*b+63>>7;u[c-3*l]=On[255+u[c-3*l]+b],u[c-2*l]=On[255+h+v],u[c-l]=On[255+f+m],u[c+0]=On[255+d-m],u[c+l]=On[255+p-v],u[c+2*l]=On[255+g-b]}e+=n}}function Ge(t,e,r,n,i,a,o,s){for(a=2*a+1;0<i--;){if(Te(t,e,r,a,o))if(Re(t,e,r,s))Ee(t,e,r);else{var u=t,c=e,l=r,h=u[c-l],f=u[c+0],d=u[c+l],p=jn[112+(4+(g=3*(f-h))>>3)],g=jn[112+(g+3>>3)],m=p+1>>1;u[c-2*l]=On[255+u[c-2*l]+m],u[c-l]=On[255+h+g],u[c+0]=On[255+f-p],u[c+l]=On[255+d-m]}e+=n}}function Ye(t,e,r,n,i,a){Ve(t,e,r,1,16,n,i,a)}function Je(t,e,r,n,i,a){Ve(t,e,1,r,16,n,i,a)}function Xe(t,e,r,n,i,a){var o;for(o=3;0<o;--o)Ge(t,e+=4*r,r,1,16,n,i,a)}function Ke(t,e,r,n,i,a){var o;for(o=3;0<o;--o)Ge(t,e+=4,1,r,16,n,i,a)}function Ze(t,e,r,n,i,a,o,s){Ve(t,e,i,1,8,a,o,s),Ve(r,n,i,1,8,a,o,s)}function $e(t,e,r,n,i,a,o,s){Ve(t,e,1,i,8,a,o,s),Ve(r,n,1,i,8,a,o,s)}function Qe(t,e,r,n,i,a,o,s){Ge(t,e+4*i,i,1,8,a,o,s),Ge(r,n+4*i,i,1,8,a,o,s)}function tr(t,e,r,n,i,a,o,s){Ge(t,e+4,1,i,8,a,o,s),Ge(r,n+4,1,i,8,a,o,s)}function er(){this.ba=new ot,this.ec=[],this.cc=[],this.Mc=[],this.Dc=this.Nc=this.dc=this.fc=0,this.Oa=new ut,this.memory=0,this.Ib=\"OutputFunc\",this.Jb=\"OutputAlphaFunc\",this.Nd=\"OutputRowFunc\"}function rr(){this.data=[],this.offset=this.kd=this.ha=this.w=0,this.na=[],this.xa=this.gb=this.Ja=this.Sa=this.P=0}function nr(){this.nc=this.Ea=this.b=this.hc=0,this.K=[],this.w=0}function ir(){this.ua=0,this.Wa=new M,this.vb=new M,this.md=this.xc=this.wc=0,this.vc=[],this.Wb=0,this.Ya=new d,this.yc=new h}function ar(){this.xb=this.a=0,this.l=new Gt,this.ca=new ot,this.V=[],this.Ba=0,this.Ta=[],this.Ua=0,this.m=new N,this.Pb=0,this.wd=new N,this.Ma=this.$=this.C=this.i=this.c=this.xd=0,this.s=new ir,this.ab=0,this.gc=o(4,nr),this.Oc=0}function or(){this.Lc=this.Z=this.$a=this.i=this.c=0,this.l=new Gt,this.ic=0,this.ca=[],this.tb=0,this.qd=null,this.rd=0}function sr(t,e,r,n,i,a,o){for(t=null==t?0:t[e+0],e=0;e<o;++e)i[a+e]=t+r[n+e]&255,t=i[a+e]}function ur(t,e,r,n,i,a,o){var s;if(null==t)sr(null,null,r,n,i,a,o);else for(s=0;s<o;++s)i[a+s]=t[e+s]+r[n+s]&255}function cr(t,e,r,n,i,a,o){if(null==t)sr(null,null,r,n,i,a,o);else{var s,u=t[e+0],c=u,l=u;for(s=0;s<o;++s)c=l+(u=t[e+s])-c,l=r[n+s]+(-256&c?0>c?0:255:c)&255,c=u,i[a+s]=l}}function lr(t,r,i,o){var s=r.width,u=r.o;if(e(null!=t&&null!=r),0>i||0>=o||i+o>u)return null;if(!t.Cc){if(null==t.ga){var c;if(t.ga=new or,(c=null==t.ga)||(c=r.width*r.o,e(0==t.Gb.length),t.Gb=a(c),t.Uc=0,null==t.Gb?c=0:(t.mb=t.Gb,t.nb=t.Uc,t.rc=null,c=1),c=!c),!c){c=t.ga;var l=t.Fa,h=t.P,f=t.qc,d=t.mb,p=t.nb,g=h+1,m=f-1,b=c.l;if(e(null!=l&&null!=d&&null!=r),gi[0]=null,gi[1]=sr,gi[2]=ur,gi[3]=cr,c.ca=d,c.tb=p,c.c=r.width,c.i=r.height,e(0<c.c&&0<c.i),1>=f)r=0;else if(c.$a=3&l[h+0],c.Z=l[h+0]>>2&3,c.Lc=l[h+0]>>4&3,h=l[h+0]>>6&3,0>c.$a||1<c.$a||4<=c.Z||1<c.Lc||h)r=0;else if(b.put=dt,b.ac=ft,b.bc=pt,b.ma=c,b.width=r.width,b.height=r.height,b.Da=r.Da,b.v=r.v,b.va=r.va,b.j=r.j,b.o=r.o,c.$a)t:{e(1==c.$a),r=kt();e:for(;;){if(null==r){r=0;break t}if(e(null!=c),c.mc=r,r.c=c.c,r.i=c.i,r.l=c.l,r.l.ma=c,r.l.width=c.c,r.l.height=c.i,r.a=0,v(r.m,l,g,m),!Ft(c.c,c.i,1,r,null))break e;if(1==r.ab&&3==r.gc[0].hc&&xt(r.s)?(c.ic=1,l=r.c*r.i,r.Ta=null,r.Ua=0,r.V=a(l),r.Ba=0,null==r.V?(r.a=1,r=0):r=1):(c.ic=0,r=It(r,c.c)),!r)break e;r=1;break t}c.mc=null,r=0}else r=m>=c.c*c.i;c=!r}if(c)return null;1!=t.ga.Lc?t.Ga=0:o=u-i}e(null!=t.ga),e(i+o<=u);t:{if(r=(l=t.ga).c,u=l.l.o,0==l.$a){if(g=t.rc,m=t.Vc,b=t.Fa,h=t.P+1+i*r,f=t.mb,d=t.nb+i*r,e(h<=t.P+t.qc),0!=l.Z)for(e(null!=gi[l.Z]),c=0;c<o;++c)gi[l.Z](g,m,b,h,f,d,r),g=f,m=d,d+=r,h+=r;else for(c=0;c<o;++c)n(f,d,b,h,r),g=f,m=d,d+=r,h+=r;t.rc=g,t.Vc=m}else{if(e(null!=l.mc),r=i+o,e(null!=(c=l.mc)),e(r<=c.i),c.C>=r)r=1;else if(l.ic||gr(),l.ic){l=c.V,g=c.Ba,m=c.c;var y=c.i,w=(b=1,h=c.$/m,f=c.$%m,d=c.m,p=c.s,c.$),N=m*y,L=m*r,A=p.wc,_=w<L?wt(p,f,h):null;e(w<=N),e(r<=y),e(xt(p));e:for(;;){for(;!d.h&&w<L;){if(f&A||(_=wt(p,f,h)),e(null!=_),S(d),256>(y=bt(_.G[0],_.H[0],d)))l[g+w]=y,++w,++f>=m&&(f=0,++h<=r&&!(h%16)&&St(c,h));else{if(!(280>y)){b=0;break e}y=mt(y-256,d);var P,k=bt(_.G[4],_.H[4],d);if(S(d),!(w>=(k=vt(m,k=mt(k,d)))&&N-w>=y)){b=0;break e}for(P=0;P<y;++P)l[g+w+P]=l[g+w+P-k];for(w+=y,f+=y;f>=m;)f-=m,++h<=r&&!(h%16)&&St(c,h);w<L&&f&A&&(_=wt(p,f,h))}e(d.h==x(d))}St(c,h>r?r:h);break e}!b||d.h&&w<N?(b=0,c.a=d.h?5:3):c.$=w,r=b}else r=_t(c,c.V,c.Ba,c.c,c.i,r,Ct);if(!r){o=0;break t}}i+o>=u&&(t.Cc=1),o=1}if(!o)return null;if(t.Cc&&(null!=(o=t.ga)&&(o.mc=null),t.ga=null,0<t.Ga))return alert(\"todo:WebPDequantizeLevels\"),null}return t.nb+i*s}function hr(t,e,r,n,i,a){for(;0<i--;){var o,s=t,u=e+(r?1:0),c=t,l=e+(r?0:3);for(o=0;o<n;++o){var h=c[l+4*o];255!=h&&(h*=32897,s[u+4*o+0]=s[u+4*o+0]*h>>23,s[u+4*o+1]=s[u+4*o+1]*h>>23,s[u+4*o+2]=s[u+4*o+2]*h>>23)}e+=a}}function fr(t,e,r,n,i){for(;0<n--;){var a;for(a=0;a<r;++a){var o=t[e+2*a+0],s=15&(c=t[e+2*a+1]),u=4369*s,c=(240&c|c>>4)*u>>16;t[e+2*a+0]=(240&o|o>>4)*u>>16&240|(15&o|o<<4)*u>>16>>4&15,t[e+2*a+1]=240&c|s}e+=i}}function dr(t,e,r,n,i,a,o,s){var u,c,l=255;for(c=0;c<i;++c){for(u=0;u<n;++u){var h=t[e+u];a[o+4*u]=h,l&=h}e+=r,o+=s}return 255!=l}function pr(t,e,r,n,i){var a;for(a=0;a<i;++a)r[n+a]=t[e+a]>>8}function gr(){Ln=hr,xn=fr,An=dr,Sn=pr}function mr(r,n,i){t[r]=function(t,r,a,o,s,u,c,l,h,f,d,p,g,m,v,b,y){var w,N=y-1>>1,L=s[u+0]|c[l+0]<<16,x=h[f+0]|d[p+0]<<16;e(null!=t);var A=3*L+x+131074>>2;for(n(t[r+0],255&A,A>>16,g,m),null!=a&&(A=3*x+L+131074>>2,n(a[o+0],255&A,A>>16,v,b)),w=1;w<=N;++w){var S=s[u+w]|c[l+w]<<16,_=h[f+w]|d[p+w]<<16,P=L+S+x+_+524296,k=P+2*(S+x)>>3;A=k+L>>1,L=(P=P+2*(L+_)>>3)+S>>1,n(t[r+2*w-1],255&A,A>>16,g,m+(2*w-1)*i),n(t[r+2*w-0],255&L,L>>16,g,m+(2*w-0)*i),null!=a&&(A=P+x>>1,L=k+_>>1,n(a[o+2*w-1],255&A,A>>16,v,b+(2*w-1)*i),n(a[o+2*w+0],255&L,L>>16,v,b+(2*w+0)*i)),L=S,x=_}1&y||(A=3*L+x+131074>>2,n(t[r+y-1],255&A,A>>16,g,m+(y-1)*i),null!=a&&(A=3*x+L+131074>>2,n(a[o+y-1],255&A,A>>16,v,b+(y-1)*i)))}}function vr(){mi[Mn]=vi,mi[qn]=yi,mi[En]=bi,mi[Rn]=wi,mi[Dn]=Ni,mi[Tn]=Li,mi[zn]=xi,mi[Un]=yi,mi[Hn]=wi,mi[Wn]=Ni,mi[Vn]=Li}function br(t){return t&~Fi?0>t?0:255:t>>ki}function yr(t,e){return br((19077*t>>8)+(26149*e>>8)-14234)}function wr(t,e,r){return br((19077*t>>8)-(6419*e>>8)-(13320*r>>8)+8708)}function Nr(t,e){return br((19077*t>>8)+(33050*e>>8)-17685)}function Lr(t,e,r,n,i){n[i+0]=yr(t,r),n[i+1]=wr(t,e,r),n[i+2]=Nr(t,e)}function xr(t,e,r,n,i){n[i+0]=Nr(t,e),n[i+1]=wr(t,e,r),n[i+2]=yr(t,r)}function Ar(t,e,r,n,i){var a=wr(t,e,r);e=a<<3&224|Nr(t,e)>>3,n[i+0]=248&yr(t,r)|a>>5,n[i+1]=e}function Sr(t,e,r,n,i){var a=240&Nr(t,e)|15;n[i+0]=240&yr(t,r)|wr(t,e,r)>>4,n[i+1]=a}function _r(t,e,r,n,i){n[i+0]=255,Lr(t,e,r,n,i+1)}function Pr(t,e,r,n,i){xr(t,e,r,n,i),n[i+3]=255}function kr(t,e,r,n,i){Lr(t,e,r,n,i),n[i+3]=255}function Fr(e,r,n){t[e]=function(t,e,i,a,o,s,u,c,l){for(var h=c+(-2&l)*n;c!=h;)r(t[e+0],i[a+0],o[s+0],u,c),r(t[e+1],i[a+0],o[s+0],u,c+n),e+=2,++a,++s,c+=2*n;1&l&&r(t[e+0],i[a+0],o[s+0],u,c)}}function Ir(t,e,r){return 0==r?0==t?0==e?6:5:0==e?4:0:r}function Cr(t,e,r,n,i){switch(t>>>30){case 3:an(e,r,n,i,0);break;case 2:on(e,r,n,i);break;case 1:un(e,r,n,i)}}function jr(t,e){var r,a,o=e.M,s=e.Nb,u=t.oc,c=t.pc+40,l=t.oc,h=t.pc+584,f=t.oc,d=t.pc+600;for(r=0;16>r;++r)u[c+32*r-1]=129;for(r=0;8>r;++r)l[h+32*r-1]=129,f[d+32*r-1]=129;for(0<o?u[c-1-32]=l[h-1-32]=f[d-1-32]=129:(i(u,c-32-1,127,21),i(l,h-32-1,127,9),i(f,d-32-1,127,9)),a=0;a<t.za;++a){var p=e.ya[e.aa+a];if(0<a){for(r=-1;16>r;++r)n(u,c+32*r-4,u,c+32*r+12,4);for(r=-1;8>r;++r)n(l,h+32*r-4,l,h+32*r+4,4),n(f,d+32*r-4,f,d+32*r+4,4)}var g=t.Gd,m=t.Hd+a,v=p.ad,b=p.Hc;if(0<o&&(n(u,c-32,g[m].y,0,16),n(l,h-32,g[m].f,0,8),n(f,d-32,g[m].ea,0,8)),p.Za){var y=u,w=c-32+16;for(0<o&&(a>=t.za-1?i(y,w,g[m].y[15],4):n(y,w,g[m+1].y,0,4)),r=0;4>r;r++)y[w+128+r]=y[w+256+r]=y[w+384+r]=y[w+0+r];for(r=0;16>r;++r,b<<=2)y=u,w=c+Ei[r],hi[p.Ob[r]](y,w),Cr(b,v,16*+r,y,w)}else if(y=Ir(a,o,p.Ob[0]),li[y](u,c),0!=b)for(r=0;16>r;++r,b<<=2)Cr(b,v,16*+r,u,c+Ei[r]);for(r=p.Gc,y=Ir(a,o,p.Dd),fi[y](l,h),fi[y](f,d),b=v,y=l,w=h,255&(p=0|r)&&(170&p?sn(b,256,y,w):cn(b,256,y,w)),p=f,b=d,255&(r>>=8)&&(170&r?sn(v,320,p,b):cn(v,320,p,b)),o<t.Ub-1&&(n(g[m].y,0,u,c+480,16),n(g[m].f,0,l,h+224,8),n(g[m].ea,0,f,d+224,8)),r=8*s*t.B,g=t.sa,m=t.ta+16*a+16*s*t.R,v=t.qa,p=t.ra+8*a+r,b=t.Ha,y=t.Ia+8*a+r,r=0;16>r;++r)n(g,m+r*t.R,u,c+32*r,16);for(r=0;8>r;++r)n(v,p+r*t.B,l,h+32*r,8),n(b,y+r*t.B,f,d+32*r,8)}}function Or(t,n,i,a,o,s,u,c,l){var h=[0],f=[0],d=0,p=null!=l?l.kd:0,g=null!=l?l:new rr;if(null==t||12>i)return 7;g.data=t,g.w=n,g.ha=i,n=[n],i=[i],g.gb=[g.gb];t:{var m=n,b=i,y=g.gb;if(e(null!=t),e(null!=b),e(null!=y),y[0]=0,12<=b[0]&&!r(t,m[0],\"RIFF\")){if(r(t,m[0]+8,\"WEBP\")){y=3;break t}var w=j(t,m[0]+4);if(12>w||4294967286<w){y=3;break t}if(p&&w>b[0]-8){y=7;break t}y[0]=w,m[0]+=12,b[0]-=12}y=0}if(0!=y)return y;for(w=0<g.gb[0],i=i[0];;){t:{var L=t;b=n,y=i;var x=h,A=f,S=m=[0];if((k=d=[d])[0]=0,8>y[0])y=7;else{if(!r(L,b[0],\"VP8X\")){if(10!=j(L,b[0]+4)){y=3;break t}if(18>y[0]){y=7;break t}var _=j(L,b[0]+8),P=1+C(L,b[0]+12);if(2147483648<=P*(L=1+C(L,b[0]+15))){y=3;break t}null!=S&&(S[0]=_),null!=x&&(x[0]=P),null!=A&&(A[0]=L),b[0]+=18,y[0]-=18,k[0]=1}y=0}}if(d=d[0],m=m[0],0!=y)return y;if(b=!!(2&m),!w&&d)return 3;if(null!=s&&(s[0]=!!(16&m)),null!=u&&(u[0]=b),null!=c&&(c[0]=0),u=h[0],m=f[0],d&&b&&null==l){y=0;break}if(4>i){y=7;break}if(w&&d||!w&&!d&&!r(t,n[0],\"ALPH\")){i=[i],g.na=[g.na],g.P=[g.P],g.Sa=[g.Sa];t:{_=t,y=n,w=i;var k=g.gb;x=g.na,A=g.P,S=g.Sa,P=22,e(null!=_),e(null!=w),L=y[0];var F=w[0];for(e(null!=x),e(null!=S),x[0]=null,A[0]=null,S[0]=0;;){if(y[0]=L,w[0]=F,8>F){y=7;break t}var I=j(_,L+4);if(4294967286<I){y=3;break t}var O=8+I+1&-2;if(P+=O,0<k&&P>k){y=3;break t}if(!r(_,L,\"VP8 \")||!r(_,L,\"VP8L\")){y=0;break t}if(F[0]<O){y=7;break t}r(_,L,\"ALPH\")||(x[0]=_,A[0]=L+8,S[0]=I),L+=O,F-=O}}if(i=i[0],g.na=g.na[0],g.P=g.P[0],g.Sa=g.Sa[0],0!=y)break}i=[i],g.Ja=[g.Ja],g.xa=[g.xa];t:if(k=t,y=n,w=i,x=g.gb[0],A=g.Ja,S=g.xa,_=y[0],L=!r(k,_,\"VP8 \"),P=!r(k,_,\"VP8L\"),e(null!=k),e(null!=w),e(null!=A),e(null!=S),8>w[0])y=7;else{if(L||P){if(k=j(k,_+4),12<=x&&k>x-12){y=3;break t}if(p&&k>w[0]-8){y=7;break t}A[0]=k,y[0]+=8,w[0]-=8,S[0]=P}else S[0]=5<=w[0]&&47==k[_+0]&&!(k[_+4]>>5),A[0]=w[0];y=0}if(i=i[0],g.Ja=g.Ja[0],g.xa=g.xa[0],n=n[0],0!=y)break;if(4294967286<g.Ja)return 3;if(null==c||b||(c[0]=g.xa?2:1),u=[u],m=[m],g.xa){if(5>i){y=7;break}c=u,p=m,b=s,null==t||5>i?t=0:5<=i&&47==t[n+0]&&!(t[n+4]>>5)?(w=[0],k=[0],x=[0],v(A=new N,t,n,i),gt(A,w,k,x)?(null!=c&&(c[0]=w[0]),null!=p&&(p[0]=k[0]),null!=b&&(b[0]=x[0]),t=1):t=0):t=0}else{if(10>i){y=7;break}c=m,null==t||10>i||!Xt(t,n+3,i-3)?t=0:(p=t[n+0]|t[n+1]<<8|t[n+2]<<16,b=16383&(t[n+7]<<8|t[n+6]),t=16383&(t[n+9]<<8|t[n+8]),1&p||3<(p>>1&7)||!(p>>4&1)||p>>5>=g.Ja||!b||!t?t=0:(u&&(u[0]=b),c&&(c[0]=t),t=1))}if(!t)return 3;if(u=u[0],m=m[0],d&&(h[0]!=u||f[0]!=m))return 3;null!=l&&(l[0]=g,l.offset=n-l.w,e(4294967286>n-l.w),e(l.offset==l.ha-i));break}return 0==y||7==y&&d&&null==l?(null!=s&&(s[0]|=null!=g.na&&0<g.na.length),null!=a&&(a[0]=u),null!=o&&(o[0]=m),0):y}function Br(t,e,r){var n=e.width,i=e.height,a=0,o=0,s=n,u=i;if(e.Da=null!=t&&0<t.Da,e.Da&&(s=t.cd,u=t.bd,a=t.v,o=t.j,11>r||(a&=-2,o&=-2),0>a||0>o||0>=s||0>=u||a+s>n||o+u>i))return 0;if(e.v=a,e.j=o,e.va=a+s,e.o=o+u,e.U=s,e.T=u,e.da=null!=t&&0<t.da,e.da){if(!q(s,u,r=[t.ib],a=[t.hb]))return 0;e.ib=r[0],e.hb=a[0]}return e.ob=null!=t&&t.ob,e.Kb=null==t||!t.Sd,e.da&&(e.ob=e.ib<3*n/4&&e.hb<3*i/4,e.Kb=0),1}function Mr(t){if(null==t)return 2;if(11>t.S){var e=t.f.RGBA;e.fb+=(t.height-1)*e.A,e.A=-e.A}else e=t.f.kb,t=t.height,e.O+=(t-1)*e.fa,e.fa=-e.fa,e.N+=(t-1>>1)*e.Ab,e.Ab=-e.Ab,e.W+=(t-1>>1)*e.Db,e.Db=-e.Db,null!=e.F&&(e.J+=(t-1)*e.lb,e.lb=-e.lb);return 0}function qr(t,e,r,n){if(null==n||0>=t||0>=e)return 2;if(null!=r){if(r.Da){var i=r.cd,o=r.bd,s=-2&r.v,u=-2&r.j;if(0>s||0>u||0>=i||0>=o||s+i>t||u+o>e)return 2;t=i,e=o}if(r.da){if(!q(t,e,i=[r.ib],o=[r.hb]))return 2;t=i[0],e=o[0]}}n.width=t,n.height=e;t:{var c=n.width,l=n.height;if(t=n.S,0>=c||0>=l||!(t>=Mn&&13>t))t=2;else{if(0>=n.Rd&&null==n.sd){s=o=i=e=0;var h=(u=c*zi[t])*l;if(11>t||(o=(l+1)/2*(e=(c+1)/2),12==t&&(s=(i=c)*l)),null==(l=a(h+2*o+s))){t=1;break t}n.sd=l,11>t?((c=n.f.RGBA).eb=l,c.fb=0,c.A=u,c.size=h):((c=n.f.kb).y=l,c.O=0,c.fa=u,c.Fd=h,c.f=l,c.N=0+h,c.Ab=e,c.Cd=o,c.ea=l,c.W=0+h+o,c.Db=e,c.Ed=o,12==t&&(c.F=l,c.J=0+h+2*o),c.Tc=s,c.lb=i)}if(e=1,i=n.S,o=n.width,s=n.height,i>=Mn&&13>i)if(11>i)t=n.f.RGBA,e&=(u=Math.abs(t.A))*(s-1)+o<=t.size,e&=u>=o*zi[i],e&=null!=t.eb;else{t=n.f.kb,u=(o+1)/2,h=(s+1)/2,c=Math.abs(t.fa),l=Math.abs(t.Ab);var f=Math.abs(t.Db),d=Math.abs(t.lb),p=d*(s-1)+o;e&=c*(s-1)+o<=t.Fd,e&=l*(h-1)+u<=t.Cd,e=(e&=f*(h-1)+u<=t.Ed)&c>=o&l>=u&f>=u,e&=null!=t.y,e&=null!=t.f,e&=null!=t.ea,12==i&&(e&=d>=o,e&=p<=t.Tc,e&=null!=t.F)}else e=0;t=e?0:2}}return 0!=t||null!=r&&r.fd&&(t=Mr(n)),t}var Er=64,Rr=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535,131071,262143,524287,1048575,2097151,4194303,8388607,16777215],Dr=24,Tr=32,zr=8,Ur=[0,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7];D(\"Predictor0\",\"PredictorAdd0\"),t.Predictor0=function(){return 4278190080},t.Predictor1=function(t){return t},t.Predictor2=function(t,e,r){return e[r+0]},t.Predictor3=function(t,e,r){return e[r+1]},t.Predictor4=function(t,e,r){return e[r-1]},t.Predictor5=function(t,e,r){return z(z(t,e[r+1]),e[r+0])},t.Predictor6=function(t,e,r){return z(t,e[r-1])},t.Predictor7=function(t,e,r){return z(t,e[r+0])},t.Predictor8=function(t,e,r){return z(e[r-1],e[r+0])},t.Predictor9=function(t,e,r){return z(e[r+0],e[r+1])},t.Predictor10=function(t,e,r){return z(z(t,e[r-1]),z(e[r+0],e[r+1]))},t.Predictor11=function(t,e,r){var n=e[r+0];return 0>=W(n>>24&255,t>>24&255,(e=e[r-1])>>24&255)+W(n>>16&255,t>>16&255,e>>16&255)+W(n>>8&255,t>>8&255,e>>8&255)+W(255&n,255&t,255&e)?n:t},t.Predictor12=function(t,e,r){var n=e[r+0];return(U((t>>24&255)+(n>>24&255)-((e=e[r-1])>>24&255))<<24|U((t>>16&255)+(n>>16&255)-(e>>16&255))<<16|U((t>>8&255)+(n>>8&255)-(e>>8&255))<<8|U((255&t)+(255&n)-(255&e)))>>>0},t.Predictor13=function(t,e,r){var n=e[r-1];return(H((t=z(t,e[r+0]))>>24&255,n>>24&255)<<24|H(t>>16&255,n>>16&255)<<16|H(t>>8&255,n>>8&255)<<8|H(255&t,255&n))>>>0};var Hr=t.PredictorAdd0;t.PredictorAdd1=V,D(\"Predictor2\",\"PredictorAdd2\"),D(\"Predictor3\",\"PredictorAdd3\"),D(\"Predictor4\",\"PredictorAdd4\"),D(\"Predictor5\",\"PredictorAdd5\"),D(\"Predictor6\",\"PredictorAdd6\"),D(\"Predictor7\",\"PredictorAdd7\"),D(\"Predictor8\",\"PredictorAdd8\"),D(\"Predictor9\",\"PredictorAdd9\"),D(\"Predictor10\",\"PredictorAdd10\"),D(\"Predictor11\",\"PredictorAdd11\"),D(\"Predictor12\",\"PredictorAdd12\"),D(\"Predictor13\",\"PredictorAdd13\");var Wr=t.PredictorAdd2;X(\"ColorIndexInverseTransform\",\"MapARGB\",\"32b\",function(t){return t>>8&255},function(t){return t}),X(\"VP8LColorIndexInverseTransformAlpha\",\"MapAlpha\",\"8b\",function(t){return t},function(t){return t>>8&255});var Vr,Gr=t.ColorIndexInverseTransform,Yr=t.MapARGB,Jr=t.VP8LColorIndexInverseTransformAlpha,Xr=t.MapAlpha,Kr=t.VP8LPredictorsAdd=[];Kr.length=16,(t.VP8LPredictors=[]).length=16,(t.VP8LPredictorsAdd_C=[]).length=16,(t.VP8LPredictors_C=[]).length=16;var Zr,$r,Qr,tn,en,rn,nn,an,on,sn,un,cn,ln,hn,fn,dn,pn,gn,mn,vn,bn,yn,wn,Nn,Ln,xn,An,Sn,_n=a(511),Pn=a(2041),kn=a(225),Fn=a(767),In=0,Cn=Pn,jn=kn,On=Fn,Bn=_n,Mn=0,qn=1,En=2,Rn=3,Dn=4,Tn=5,zn=6,Un=7,Hn=8,Wn=9,Vn=10,Gn=[2,3,7],Yn=[3,3,11],Jn=[280,256,256,256,40],Xn=[0,1,1,1,0],Kn=[17,18,0,1,2,3,4,5,16,6,7,8,9,10,11,12,13,14,15],Zn=[24,7,23,25,40,6,39,41,22,26,38,42,56,5,55,57,21,27,54,58,37,43,72,4,71,73,20,28,53,59,70,74,36,44,88,69,75,52,60,3,87,89,19,29,86,90,35,45,68,76,85,91,51,61,104,2,103,105,18,30,102,106,34,46,84,92,67,77,101,107,50,62,120,1,119,121,83,93,17,31,100,108,66,78,118,122,33,47,117,123,49,63,99,109,82,94,0,116,124,65,79,16,32,98,110,48,115,125,81,95,64,114,126,97,111,80,113,127,96,112],$n=[2954,2956,2958,2962,2970,2986,3018,3082,3212,3468,3980,5004],Qn=8,ti=[4,5,6,7,8,9,10,10,11,12,13,14,15,16,17,17,18,19,20,20,21,21,22,22,23,23,24,25,25,26,27,28,29,30,31,32,33,34,35,36,37,37,38,39,40,41,42,43,44,45,46,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,76,77,78,79,80,81,82,83,84,85,86,87,88,89,91,93,95,96,98,100,101,102,104,106,108,110,112,114,116,118,122,124,126,128,130,132,134,136,138,140,143,145,148,151,154,157],ei=[4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,119,122,125,128,131,134,137,140,143,146,149,152,155,158,161,164,167,170,173,177,181,185,189,193,197,201,205,209,213,217,221,225,229,234,239,245,249,254,259,264,269,274,279,284],ri=null,ni=[[173,148,140,0],[176,155,140,135,0],[180,157,141,134,130,0],[254,254,243,230,196,177,153,140,133,130,129,0]],ii=[0,1,4,8,5,2,3,6,9,12,13,10,7,11,14,15],ai=[-0,1,-1,2,-2,3,4,6,-3,5,-4,-5,-6,7,-7,8,-8,-9],oi=[[[[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128]],[[253,136,254,255,228,219,128,128,128,128,128],[189,129,242,255,227,213,255,219,128,128,128],[106,126,227,252,214,209,255,255,128,128,128]],[[1,98,248,255,236,226,255,255,128,128,128],[181,133,238,254,221,234,255,154,128,128,128],[78,134,202,247,198,180,255,219,128,128,128]],[[1,185,249,255,243,255,128,128,128,128,128],[184,150,247,255,236,224,128,128,128,128,128],[77,110,216,255,236,230,128,128,128,128,128]],[[1,101,251,255,241,255,128,128,128,128,128],[170,139,241,252,236,209,255,255,128,128,128],[37,116,196,243,228,255,255,255,128,128,128]],[[1,204,254,255,245,255,128,128,128,128,128],[207,160,250,255,238,128,128,128,128,128,128],[102,103,231,255,211,171,128,128,128,128,128]],[[1,152,252,255,240,255,128,128,128,128,128],[177,135,243,255,234,225,128,128,128,128,128],[80,129,211,255,194,224,128,128,128,128,128]],[[1,1,255,128,128,128,128,128,128,128,128],[246,1,255,128,128,128,128,128,128,128,128],[255,128,128,128,128,128,128,128,128,128,128]]],[[[198,35,237,223,193,187,162,160,145,155,62],[131,45,198,221,172,176,220,157,252,221,1],[68,47,146,208,149,167,221,162,255,223,128]],[[1,149,241,255,221,224,255,255,128,128,128],[184,141,234,253,222,220,255,199,128,128,128],[81,99,181,242,176,190,249,202,255,255,128]],[[1,129,232,253,214,197,242,196,255,255,128],[99,121,210,250,201,198,255,202,128,128,128],[23,91,163,242,170,187,247,210,255,255,128]],[[1,200,246,255,234,255,128,128,128,128,128],[109,178,241,255,231,245,255,255,128,128,128],[44,130,201,253,205,192,255,255,128,128,128]],[[1,132,239,251,219,209,255,165,128,128,128],[94,136,225,251,218,190,255,255,128,128,128],[22,100,174,245,186,161,255,199,128,128,128]],[[1,182,249,255,232,235,128,128,128,128,128],[124,143,241,255,227,234,128,128,128,128,128],[35,77,181,251,193,211,255,205,128,128,128]],[[1,157,247,255,236,231,255,255,128,128,128],[121,141,235,255,225,227,255,255,128,128,128],[45,99,188,251,195,217,255,224,128,128,128]],[[1,1,251,255,213,255,128,128,128,128,128],[203,1,248,255,255,128,128,128,128,128,128],[137,1,177,255,224,255,128,128,128,128,128]]],[[[253,9,248,251,207,208,255,192,128,128,128],[175,13,224,243,193,185,249,198,255,255,128],[73,17,171,221,161,179,236,167,255,234,128]],[[1,95,247,253,212,183,255,255,128,128,128],[239,90,244,250,211,209,255,255,128,128,128],[155,77,195,248,188,195,255,255,128,128,128]],[[1,24,239,251,218,219,255,205,128,128,128],[201,51,219,255,196,186,128,128,128,128,128],[69,46,190,239,201,218,255,228,128,128,128]],[[1,191,251,255,255,128,128,128,128,128,128],[223,165,249,255,213,255,128,128,128,128,128],[141,124,248,255,255,128,128,128,128,128,128]],[[1,16,248,255,255,128,128,128,128,128,128],[190,36,230,255,236,255,128,128,128,128,128],[149,1,255,128,128,128,128,128,128,128,128]],[[1,226,255,128,128,128,128,128,128,128,128],[247,192,255,128,128,128,128,128,128,128,128],[240,128,255,128,128,128,128,128,128,128,128]],[[1,134,252,255,255,128,128,128,128,128,128],[213,62,250,255,255,128,128,128,128,128,128],[55,93,255,128,128,128,128,128,128,128,128]],[[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128]]],[[[202,24,213,235,186,191,220,160,240,175,255],[126,38,182,232,169,184,228,174,255,187,128],[61,46,138,219,151,178,240,170,255,216,128]],[[1,112,230,250,199,191,247,159,255,255,128],[166,109,228,252,211,215,255,174,128,128,128],[39,77,162,232,172,180,245,178,255,255,128]],[[1,52,220,246,198,199,249,220,255,255,128],[124,74,191,243,183,193,250,221,255,255,128],[24,71,130,219,154,170,243,182,255,255,128]],[[1,182,225,249,219,240,255,224,128,128,128],[149,150,226,252,216,205,255,171,128,128,128],[28,108,170,242,183,194,254,223,255,255,128]],[[1,81,230,252,204,203,255,192,128,128,128],[123,102,209,247,188,196,255,233,128,128,128],[20,95,153,243,164,173,255,203,128,128,128]],[[1,222,248,255,216,213,128,128,128,128,128],[168,175,246,252,235,205,255,255,128,128,128],[47,116,215,255,211,212,255,255,128,128,128]],[[1,121,236,253,212,214,255,255,128,128,128],[141,84,213,252,201,202,255,219,128,128,128],[42,80,160,240,162,185,255,205,128,128,128]],[[1,1,255,128,128,128,128,128,128,128,128],[244,1,255,128,128,128,128,128,128,128,128],[238,1,255,128,128,128,128,128,128,128,128]]]],si=[[[231,120,48,89,115,113,120,152,112],[152,179,64,126,170,118,46,70,95],[175,69,143,80,85,82,72,155,103],[56,58,10,171,218,189,17,13,152],[114,26,17,163,44,195,21,10,173],[121,24,80,195,26,62,44,64,85],[144,71,10,38,171,213,144,34,26],[170,46,55,19,136,160,33,206,71],[63,20,8,114,114,208,12,9,226],[81,40,11,96,182,84,29,16,36]],[[134,183,89,137,98,101,106,165,148],[72,187,100,130,157,111,32,75,80],[66,102,167,99,74,62,40,234,128],[41,53,9,178,241,141,26,8,107],[74,43,26,146,73,166,49,23,157],[65,38,105,160,51,52,31,115,128],[104,79,12,27,217,255,87,17,7],[87,68,71,44,114,51,15,186,23],[47,41,14,110,182,183,21,17,194],[66,45,25,102,197,189,23,18,22]],[[88,88,147,150,42,46,45,196,205],[43,97,183,117,85,38,35,179,61],[39,53,200,87,26,21,43,232,171],[56,34,51,104,114,102,29,93,77],[39,28,85,171,58,165,90,98,64],[34,22,116,206,23,34,43,166,73],[107,54,32,26,51,1,81,43,31],[68,25,106,22,64,171,36,225,114],[34,19,21,102,132,188,16,76,124],[62,18,78,95,85,57,50,48,51]],[[193,101,35,159,215,111,89,46,111],[60,148,31,172,219,228,21,18,111],[112,113,77,85,179,255,38,120,114],[40,42,1,196,245,209,10,25,109],[88,43,29,140,166,213,37,43,154],[61,63,30,155,67,45,68,1,209],[100,80,8,43,154,1,51,26,71],[142,78,78,16,255,128,34,197,171],[41,40,5,102,211,183,4,1,221],[51,50,17,168,209,192,23,25,82]],[[138,31,36,171,27,166,38,44,229],[67,87,58,169,82,115,26,59,179],[63,59,90,180,59,166,93,73,154],[40,40,21,116,143,209,34,39,175],[47,15,16,183,34,223,49,45,183],[46,17,33,183,6,98,15,32,183],[57,46,22,24,128,1,54,17,37],[65,32,73,115,28,128,23,128,205],[40,3,9,115,51,192,18,6,223],[87,37,9,115,59,77,64,21,47]],[[104,55,44,218,9,54,53,130,226],[64,90,70,205,40,41,23,26,57],[54,57,112,184,5,41,38,166,213],[30,34,26,133,152,116,10,32,134],[39,19,53,221,26,114,32,73,255],[31,9,65,234,2,15,1,118,73],[75,32,12,51,192,255,160,43,51],[88,31,35,67,102,85,55,186,85],[56,21,23,111,59,205,45,37,192],[55,38,70,124,73,102,1,34,98]],[[125,98,42,88,104,85,117,175,82],[95,84,53,89,128,100,113,101,45],[75,79,123,47,51,128,81,171,1],[57,17,5,71,102,57,53,41,49],[38,33,13,121,57,73,26,1,85],[41,10,67,138,77,110,90,47,114],[115,21,2,10,102,255,166,23,6],[101,29,16,10,85,128,101,196,26],[57,18,10,102,102,213,34,20,43],[117,20,15,36,163,128,68,1,26]],[[102,61,71,37,34,53,31,243,192],[69,60,71,38,73,119,28,222,37],[68,45,128,34,1,47,11,245,171],[62,17,19,70,146,85,55,62,70],[37,43,37,154,100,163,85,160,1],[63,9,92,136,28,64,32,201,85],[75,15,9,9,64,255,184,119,16],[86,6,28,5,64,255,25,248,1],[56,8,17,132,137,255,55,116,128],[58,15,20,82,135,57,26,121,40]],[[164,50,31,137,154,133,25,35,218],[51,103,44,131,131,123,31,6,158],[86,40,64,135,148,224,45,183,128],[22,26,17,131,240,154,14,1,209],[45,16,21,91,64,222,7,1,197],[56,21,39,155,60,138,23,102,213],[83,12,13,54,192,255,68,47,28],[85,26,85,85,128,128,32,146,171],[18,11,7,63,144,171,4,4,246],[35,27,10,146,174,171,12,26,128]],[[190,80,35,99,180,80,126,54,45],[85,126,47,87,176,51,41,20,32],[101,75,128,139,118,146,116,128,85],[56,41,15,176,236,85,37,9,62],[71,30,17,119,118,255,17,18,138],[101,38,60,138,55,70,43,26,142],[146,36,19,30,171,255,97,27,20],[138,45,61,62,219,1,81,188,64],[32,41,20,117,151,142,20,21,163],[112,19,12,61,195,128,48,4,24]]],ui=[[[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[176,246,255,255,255,255,255,255,255,255,255],[223,241,252,255,255,255,255,255,255,255,255],[249,253,253,255,255,255,255,255,255,255,255]],[[255,244,252,255,255,255,255,255,255,255,255],[234,254,254,255,255,255,255,255,255,255,255],[253,255,255,255,255,255,255,255,255,255,255]],[[255,246,254,255,255,255,255,255,255,255,255],[239,253,254,255,255,255,255,255,255,255,255],[254,255,254,255,255,255,255,255,255,255,255]],[[255,248,254,255,255,255,255,255,255,255,255],[251,255,254,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[251,254,254,255,255,255,255,255,255,255,255],[254,255,254,255,255,255,255,255,255,255,255]],[[255,254,253,255,254,255,255,255,255,255,255],[250,255,254,255,254,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[217,255,255,255,255,255,255,255,255,255,255],[225,252,241,253,255,255,254,255,255,255,255],[234,250,241,250,253,255,253,254,255,255,255]],[[255,254,255,255,255,255,255,255,255,255,255],[223,254,254,255,255,255,255,255,255,255,255],[238,253,254,254,255,255,255,255,255,255,255]],[[255,248,254,255,255,255,255,255,255,255,255],[249,254,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,255,255,255,255,255,255,255,255,255],[247,254,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[252,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,254,255,255,255,255,255,255,255,255],[253,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,253,255,255,255,255,255,255,255,255],[250,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[186,251,250,255,255,255,255,255,255,255,255],[234,251,244,254,255,255,255,255,255,255,255],[251,251,243,253,254,255,254,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[236,253,254,255,255,255,255,255,255,255,255],[251,253,253,254,254,255,255,255,255,255,255]],[[255,254,254,255,255,255,255,255,255,255,255],[254,254,254,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,255,255,255,255,255,255,255,255,255],[254,254,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[248,255,255,255,255,255,255,255,255,255,255],[250,254,252,254,255,255,255,255,255,255,255],[248,254,249,253,255,255,255,255,255,255,255]],[[255,253,253,255,255,255,255,255,255,255,255],[246,253,253,255,255,255,255,255,255,255,255],[252,254,251,254,254,255,255,255,255,255,255]],[[255,254,252,255,255,255,255,255,255,255,255],[248,254,253,255,255,255,255,255,255,255,255],[253,255,254,254,255,255,255,255,255,255,255]],[[255,251,254,255,255,255,255,255,255,255,255],[245,251,254,255,255,255,255,255,255,255,255],[253,253,254,255,255,255,255,255,255,255,255]],[[255,251,253,255,255,255,255,255,255,255,255],[252,253,254,255,255,255,255,255,255,255,255],[255,254,255,255,255,255,255,255,255,255,255]],[[255,252,255,255,255,255,255,255,255,255,255],[249,255,254,255,255,255,255,255,255,255,255],[255,255,254,255,255,255,255,255,255,255,255]],[[255,255,253,255,255,255,255,255,255,255,255],[250,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]]],ci=[0,1,2,3,6,4,5,6,6,6,6,6,6,6,6,7,0],li=[],hi=[],fi=[],di=1,pi=2,gi=[],mi=[];mr(\"UpsampleRgbLinePair\",Lr,3),mr(\"UpsampleBgrLinePair\",xr,3),mr(\"UpsampleRgbaLinePair\",kr,4),mr(\"UpsampleBgraLinePair\",Pr,4),mr(\"UpsampleArgbLinePair\",_r,4),mr(\"UpsampleRgba4444LinePair\",Sr,2),mr(\"UpsampleRgb565LinePair\",Ar,2);var vi=t.UpsampleRgbLinePair,bi=t.UpsampleBgrLinePair,yi=t.UpsampleRgbaLinePair,wi=t.UpsampleBgraLinePair,Ni=t.UpsampleArgbLinePair,Li=t.UpsampleRgba4444LinePair,xi=t.UpsampleRgb565LinePair,Ai=16,Si=1<<Ai-1,_i=-227,Pi=482,ki=6,Fi=(256<<ki)-1,Ii=0,Ci=a(256),ji=a(256),Oi=a(256),Bi=a(256),Mi=a(Pi-_i),qi=a(Pi-_i);Fr(\"YuvToRgbRow\",Lr,3),Fr(\"YuvToBgrRow\",xr,3),Fr(\"YuvToRgbaRow\",kr,4),Fr(\"YuvToBgraRow\",Pr,4),Fr(\"YuvToArgbRow\",_r,4),Fr(\"YuvToRgba4444Row\",Sr,2),Fr(\"YuvToRgb565Row\",Ar,2);var Ei=[0,4,8,12,128,132,136,140,256,260,264,268,384,388,392,396],Ri=[0,2,8],Di=[8,7,6,4,4,2,2,2,1,1,1,1],Ti=1;this.WebPDecodeRGBA=function(t,r,s,u,c){var l=qn,h=new er,f=new ot;h.ba=f,f.S=l,f.width=[f.width],f.height=[f.height];var d=f.width,p=f.height,g=new st;if(null==g||null==t)var m=2;else e(null!=g),m=Or(t,r,s,g.width,g.height,g.Pd,g.Qd,g.format,null);if(0!=m?d=0:(null!=d&&(d[0]=g.width[0]),null!=p&&(p[0]=g.height[0]),d=1),d){f.width=f.width[0],f.height=f.height[0],null!=u&&(u[0]=f.width),null!=c&&(c[0]=f.height);t:{if(u=new Gt,(c=new rr).data=t,c.w=r,c.ha=s,c.kd=1,r=[0],e(null!=c),(0==(t=Or(c.data,c.w,c.ha,null,null,null,r,null,c))||7==t)&&r[0]&&(t=4),0==(r=t)){if(e(null!=h),u.data=c.data,u.w=c.w+c.offset,u.ha=c.ha-c.offset,u.put=dt,u.ac=ft,u.bc=pt,u.ma=h,c.xa){if(null==(t=kt())){h=1;break t}if(function(t,r){var n=[0],i=[0],a=[0];e:for(;;){if(null==t)return 0;if(null==r)return t.a=2,0;if(t.l=r,t.a=0,v(t.m,r.data,r.w,r.ha),!gt(t.m,n,i,a)){t.a=3;break e}if(t.xb=pi,r.width=n[0],r.height=i[0],!Ft(n[0],i[0],1,t,null))break e;return 1}return e(0!=t.a),0}(t,u)){if(u=0==(r=qr(u.width,u.height,h.Oa,h.ba))){e:{u=t;r:for(;;){if(null==u){u=0;break e}if(e(null!=u.s.yc),e(null!=u.s.Ya),e(0<u.s.Wb),e(null!=(s=u.l)),e(null!=(c=s.ma)),0!=u.xb){if(u.ca=c.ba,u.tb=c.tb,e(null!=u.ca),!Br(c.Oa,s,Rn)){u.a=2;break r}if(!It(u,s.width))break r;if(s.da)break r;if((s.da||nt(u.ca.S))&&gr(),11>u.ca.S||(alert(\"todo:WebPInitConvertARGBToYUV\"),null!=u.ca.f.kb.F&&gr()),u.Pb&&0<u.s.ua&&null==u.s.vb.X&&!O(u.s.vb,u.s.Wa.Xa)){u.a=1;break r}u.xb=0}if(!_t(u,u.V,u.Ba,u.c,u.i,s.o,Lt))break r;c.Dc=u.Ma,u=1;break e}e(0!=u.a),u=0}u=!u}u&&(r=t.a)}else r=t.a}else{if(null==(t=new Yt)){h=1;break t}if(t.Fa=c.na,t.P=c.P,t.qc=c.Sa,Kt(t,u)){if(0==(r=qr(u.width,u.height,h.Oa,h.ba))){if(t.Aa=0,s=h.Oa,e(null!=(c=t)),null!=s){if(0<(d=0>(d=s.Md)?0:100<d?255:255*d/100)){for(p=g=0;4>p;++p)12>(m=c.pb[p]).lc&&(m.ia=d*Di[0>m.lc?0:m.lc]>>3),g|=m.ia;g&&(alert(\"todo:VP8InitRandom\"),c.ia=1)}c.Ga=s.Id,100<c.Ga?c.Ga=100:0>c.Ga&&(c.Ga=0)}(function(t,r){if(null==t)return 0;if(null==r)return Jt(t,2,\"NULL VP8Io parameter in VP8Decode().\");if(!t.cb&&!Kt(t,r))return 0;if(e(t.cb),null==r.ac||r.ac(r)){r.ob&&(t.L=0);var s=Ri[t.L];if(2==t.L?(t.yb=0,t.zb=0):(t.yb=r.v-s>>4,t.zb=r.j-s>>4,0>t.yb&&(t.yb=0),0>t.zb&&(t.zb=0)),t.Va=r.o+15+s>>4,t.Hb=r.va+15+s>>4,t.Hb>t.za&&(t.Hb=t.za),t.Va>t.Ub&&(t.Va=t.Ub),0<t.L){var u=t.ed;for(s=0;4>s;++s){var c;if(t.Qa.Cb){var l=t.Qa.Lb[s];t.Qa.Fb||(l+=u.Tb)}else l=u.Tb;for(c=0;1>=c;++c){var h=t.gd[s][c],f=l;if(u.Pc&&(f+=u.vd[0],c&&(f+=u.od[0])),0<(f=0>f?0:63<f?63:f)){var d=f;0<u.wb&&(d=4<u.wb?d>>2:d>>1)>9-u.wb&&(d=9-u.wb),1>d&&(d=1),h.dd=d,h.tc=2*f+d,h.ld=40<=f?2:15<=f?1:0}else h.tc=0;h.La=c}}}s=0}else Jt(t,6,\"Frame setup failed\"),s=t.a;if(s=0==s){if(s){t.$c=0,0<t.Aa||(t.Ic=Ti);e:{s=t.Ic,u=4*(d=t.za);var p=32*d,g=d+1,m=0<t.L?d*(0<t.Aa?2:1):0,v=(2==t.Aa?2:1)*d;if((h=u+832+(c=3*(16*s+Ri[t.L])/2*p)+(l=null!=t.Fa&&0<t.Fa.length?t.Kc.c*t.Kc.i:0))!=h)s=0;else{if(h>t.Vb){if(t.Vb=0,t.Ec=a(h),t.Fc=0,null==t.Ec){s=Jt(t,1,\"no memory during frame initialization.\");break e}t.Vb=h}h=t.Ec,f=t.Fc,t.Ac=h,t.Bc=f,f+=u,t.Gd=o(p,Ht),t.Hd=0,t.rb=o(g+1,Dt),t.sb=1,t.wa=m?o(m,Rt):null,t.Y=0,t.D.Nb=0,t.D.wa=t.wa,t.D.Y=t.Y,0<t.Aa&&(t.D.Y+=d),e(!0),t.oc=h,t.pc=f,f+=832,t.ya=o(v,zt),t.aa=0,t.D.ya=t.ya,t.D.aa=t.aa,2==t.Aa&&(t.D.aa+=d),t.R=16*d,t.B=8*d,d=(p=Ri[t.L])*t.R,p=p/2*t.B,t.sa=h,t.ta=f+d,t.qa=t.sa,t.ra=t.ta+16*s*t.R+p,t.Ha=t.qa,t.Ia=t.ra+8*s*t.B+p,t.$c=0,f+=c,t.mb=l?h:null,t.nb=l?f:null,e(f+l<=t.Fc+t.Vb),$t(t),i(t.Ac,t.Bc,0,u),s=1}}if(s){if(r.ka=0,r.y=t.sa,r.O=t.ta,r.f=t.qa,r.N=t.ra,r.ea=t.Ha,r.Vd=t.Ia,r.fa=t.R,r.Rc=t.B,r.F=null,r.J=0,!In){for(s=-255;255>=s;++s)_n[255+s]=0>s?-s:s;for(s=-1020;1020>=s;++s)Pn[1020+s]=-128>s?-128:127<s?127:s;for(s=-112;112>=s;++s)kn[112+s]=-16>s?-16:15<s?15:s;for(s=-255;510>=s;++s)Fn[255+s]=0>s?0:255<s?255:s;In=1}nn=ue,an=ie,sn=ae,un=oe,cn=se,on=ne,ln=Ye,hn=Je,fn=Ze,dn=$e,pn=Xe,gn=Ke,mn=Qe,vn=tr,bn=ze,yn=Ue,wn=He,Nn=We,hi[0]=xe,hi[1]=le,hi[2]=Ne,hi[3]=Le,hi[4]=Ae,hi[5]=_e,hi[6]=Se,hi[7]=Pe,hi[8]=Fe,hi[9]=ke,li[0]=me,li[1]=fe,li[2]=de,li[3]=pe,li[4]=ve,li[5]=be,li[6]=ye,fi[0]=Oe,fi[1]=he,fi[2]=Ie,fi[3]=Ce,fi[4]=Me,fi[5]=Be,fi[6]=qe,s=1}else s=0}s&&(s=function(t,r){for(t.M=0;t.M<t.Va;++t.M){var o,s=t.Jc[t.M&t.Xb],u=t.m,c=t;for(o=0;o<c.za;++o){var l=u,h=c,f=h.Ac,d=h.Bc+4*o,p=h.zc,g=h.ya[h.aa+o];if(h.Qa.Bb?g.$b=k(l,h.Pa.jb[0])?2+k(l,h.Pa.jb[2]):k(l,h.Pa.jb[1]):g.$b=0,h.kc&&(g.Ad=k(l,h.Bd)),g.Za=!k(l,145)+0,g.Za){var m=g.Ob,v=0;for(h=0;4>h;++h){var b,y=p[0+h];for(b=0;4>b;++b){y=si[f[d+b]][y];for(var w=ai[k(l,y[0])];0<w;)w=ai[2*w+k(l,y[w])];y=-w,f[d+b]=y}n(m,v,f,d,4),v+=4,p[0+h]=y}}else y=k(l,156)?k(l,128)?1:3:k(l,163)?2:0,g.Ob[0]=y,i(f,d,y,4),i(p,0,y,4);g.Dd=k(l,142)?k(l,114)?k(l,183)?1:3:2:0}if(c.m.Ka)return Jt(t,7,\"Premature end-of-partition0 encountered.\");for(;t.ja<t.za;++t.ja){if(c=s,l=(u=t).rb[u.sb-1],f=u.rb[u.sb+u.ja],o=u.ya[u.aa+u.ja],d=u.kc?o.Ad:0)l.la=f.la=0,o.Za||(l.Na=f.Na=0),o.Hc=0,o.Gc=0,o.ia=0;else{var N,L;if(l=f,f=c,d=u.Pa.Xc,p=u.ya[u.aa+u.ja],g=u.pb[p.$b],h=p.ad,m=0,v=u.rb[u.sb-1],y=b=0,i(h,m,0,384),p.Za)var x=0,A=d[3];else{w=a(16);var S=l.Na+v.Na;if(S=ri(f,d[1],S,g.Eb,0,w,0),l.Na=v.Na=(0<S)+0,1<S)nn(w,0,h,m);else{var _=w[0]+3>>3;for(w=0;256>w;w+=16)h[m+w]=_}x=1,A=d[0]}var P=15&l.la,F=15&v.la;for(w=0;4>w;++w){var I=1&F;for(_=L=0;4>_;++_)P=P>>1|(I=(S=ri(f,A,S=I+(1&P),g.Sc,x,h,m))>x)<<7,L=L<<2|(3<S?3:1<S?2:0!=h[m+0]),m+=16;P>>=4,F=F>>1|I<<7,b=(b<<8|L)>>>0}for(A=P,x=F>>4,N=0;4>N;N+=2){for(L=0,P=l.la>>4+N,F=v.la>>4+N,w=0;2>w;++w){for(I=1&F,_=0;2>_;++_)S=I+(1&P),P=P>>1|(I=0<(S=ri(f,d[2],S,g.Qc,0,h,m)))<<3,L=L<<2|(3<S?3:1<S?2:0!=h[m+0]),m+=16;P>>=2,F=F>>1|I<<5}y|=L<<4*N,A|=P<<4<<N,x|=(240&F)<<N}l.la=A,v.la=x,p.Hc=b,p.Gc=y,p.ia=43690&y?0:g.ia,d=!(b|y)}if(0<u.L&&(u.wa[u.Y+u.ja]=u.gd[o.$b][o.Za],u.wa[u.Y+u.ja].La|=!d),c.Ka)return Jt(t,7,\"Premature end-of-file encountered.\")}if($t(t),u=r,c=1,o=(s=t).D,l=0<s.L&&s.M>=s.zb&&s.M<=s.Va,0==s.Aa)e:{if(o.M=s.M,o.uc=l,jr(s,o),c=1,o=(L=s.D).Nb,l=(y=Ri[s.L])*s.R,f=y/2*s.B,w=16*o*s.R,_=8*o*s.B,d=s.sa,p=s.ta-l+w,g=s.qa,h=s.ra-f+_,m=s.Ha,v=s.Ia-f+_,F=0==(P=L.M),b=P>=s.Va-1,2==s.Aa&&jr(s,L),L.uc)for(I=(S=s).D.M,e(S.D.uc),L=S.yb;L<S.Hb;++L){x=L,A=I;var C=(j=(z=S).D).Nb;N=z.R;var j=j.wa[j.Y+x],O=z.sa,B=z.ta+16*C*N+16*x,M=j.dd,q=j.tc;if(0!=q)if(e(3<=q),1==z.L)0<x&&yn(O,B,N,q+4),j.La&&Nn(O,B,N,q),0<A&&bn(O,B,N,q+4),j.La&&wn(O,B,N,q);else{var E=z.B,R=z.qa,D=z.ra+8*C*E+8*x,T=z.Ha,z=z.Ia+8*C*E+8*x;C=j.ld,0<x&&(hn(O,B,N,q+4,M,C),dn(R,D,T,z,E,q+4,M,C)),j.La&&(gn(O,B,N,q,M,C),vn(R,D,T,z,E,q,M,C)),0<A&&(ln(O,B,N,q+4,M,C),fn(R,D,T,z,E,q+4,M,C)),j.La&&(pn(O,B,N,q,M,C),mn(R,D,T,z,E,q,M,C))}}if(s.ia&&alert(\"todo:DitherRow\"),null!=u.put){if(L=16*P,P=16*(P+1),F?(u.y=s.sa,u.O=s.ta+w,u.f=s.qa,u.N=s.ra+_,u.ea=s.Ha,u.W=s.Ia+_):(L-=y,u.y=d,u.O=p,u.f=g,u.N=h,u.ea=m,u.W=v),b||(P-=y),P>u.o&&(P=u.o),u.F=null,u.J=null,null!=s.Fa&&0<s.Fa.length&&L<P&&(u.J=lr(s,u,L,P-L),u.F=s.mb,null==u.F&&0==u.F.length)){c=Jt(s,3,\"Could not decode alpha data.\");break e}L<u.j&&(y=u.j-L,L=u.j,e(!(1&y)),u.O+=s.R*y,u.N+=s.B*(y>>1),u.W+=s.B*(y>>1),null!=u.F&&(u.J+=u.width*y)),L<P&&(u.O+=u.v,u.N+=u.v>>1,u.W+=u.v>>1,null!=u.F&&(u.J+=u.v),u.ka=L-u.j,u.U=u.va-u.v,u.T=P-L,c=u.put(u))}o+1!=s.Ic||b||(n(s.sa,s.ta-l,d,p+16*s.R,l),n(s.qa,s.ra-f,g,h+8*s.B,f),n(s.Ha,s.Ia-f,m,v+8*s.B,f))}if(!c)return Jt(t,6,\"Output aborted.\")}return 1}(t,r)),null!=r.bc&&r.bc(r),s&=1}return s?(t.cb=0,s):0})(t,u)||(r=t.a)}}else r=t.a}0==r&&null!=h.Oa&&h.Oa.fd&&(r=Mr(h.ba))}h=r}l=0!=h?null:11>l?f.f.RGBA.eb:f.f.kb.y}else l=null;return l};var zi=[3,4,3,4,4,2,2,4,4,4,2,1,1]};function c(t,e){for(var r=\"\",n=0;n<4;n++)r+=String.fromCharCode(t[e++]);return r}function l(t,e){return t[e+0]|t[e+1]<<8}function h(t,e){return(t[e+0]|t[e+1]<<8|t[e+2]<<16)>>>0}function f(t,e){return(t[e+0]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}new u;var d=[0],p=[0],g=[],m=new u,v=t,b=function(t,e){var r={},n=0,i=!1,a=0,o=0;if(r.frames=[],!\n/** @license\n * Copyright (c) 2017 Dominik Homberger\n 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:\n The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n 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.\n https://webpjs.appspot.com\n WebPRiffParser dominikhlbg@gmail.com\n */\nfunction(t,e){for(var r=0;r<4;r++)if(t[e+r]!=\"RIFF\".charCodeAt(r))return!0;return!1}(t,e)){for(f(t,e+=4),e+=8;e<t.length;){var s=c(t,e),u=f(t,e+=4);e+=4;var d=u+(1&u);switch(s){case\"VP8 \":case\"VP8L\":void 0===r.frames[n]&&(r.frames[n]={}),(m=r.frames[n]).src_off=i?o:e-8,m.src_size=a+u+8,n++,i&&(i=!1,a=0,o=0);break;case\"VP8X\":(m=r.header={}).feature_flags=t[e];var p=e+4;m.canvas_width=1+h(t,p),p+=3,m.canvas_height=1+h(t,p),p+=3;break;case\"ALPH\":i=!0,a=d+8,o=e-8;break;case\"ANIM\":(m=r.header).bgcolor=f(t,e),p=e+4,m.loop_count=l(t,p),p+=2;break;case\"ANMF\":var g,m;(m=r.frames[n]={}).offset_x=2*h(t,e),e+=3,m.offset_y=2*h(t,e),e+=3,m.width=1+h(t,e),e+=3,m.height=1+h(t,e),e+=3,m.duration=h(t,e),e+=3,g=t[e++],m.dispose=1&g,m.blend=g>>1&1}\"ANMF\"!=s&&(e+=d)}return r}}(v,0);b.response=v,b.rgbaoutput=!0,b.dataurl=!1;var y=b.header?b.header:null,w=b.frames?b.frames:null;if(y){y.loop_counter=y.loop_count,d=[y.canvas_height],p=[y.canvas_width];for(var N=0;N<w.length&&0!=w[N].blend;N++);}var L=w[0],x=m.WebPDecodeRGBA(v,L.src_off,L.src_size,p,d);L.rgba=x,L.imgwidth=p[0],L.imgheight=d[0];for(var A=0;A<p[0]*d[0]*4;A++)g[A]=x[A];return this.width=p,this.height=d,this.data=g,this}\n/** ====================================================================\n * @license\n * jsPDF XMP metadata plugin\n * Copyright (c) 2016 Jussi Utunen, u-jussi@suomi24.fi\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\nfunction ce(){var t,e=this.internal.__metadata__.metadata,r=unescape(encodeURIComponent(e));t=this.internal.__metadata__.rawXml?r:'<x:xmpmeta xmlns:x=\"adobe:ns:meta/\"><rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"><rdf:Description rdf:about=\"\" xmlns:jspdf=\"'+this.internal.__metadata__.namespaceUri+'\"><jspdf:metadata>'+r.replace(/&/g,\"&\").replace(/</g,\"<\").replace(/>/g,\">\").replace(/\"/g,\""\").replace(/'/g,\"'\")+\"</jspdf:metadata></rdf:Description></rdf:RDF></x:xmpmeta>\",this.internal.__metadata__.metadataObjectNumber=this.internal.newObject(),this.internal.write(\"<< /Type /Metadata /Subtype /XML /Length \"+t.length+\" >>\"),this.internal.write(\"stream\"),this.internal.write(t),this.internal.write(\"endstream\"),this.internal.write(\"endobj\")}function le(){this.internal.__metadata__.metadataObjectNumber&&this.internal.write(\"/Metadata \"+this.internal.__metadata__.metadataObjectNumber+\" 0 R\")}!function(e){var r,n,i,a,s,u,c,l,f,d=function(t){return t=t||{},this.isStrokeTransparent=t.isStrokeTransparent||!1,this.strokeOpacity=t.strokeOpacity||1,this.strokeStyle=t.strokeStyle||\"#000000\",this.fillStyle=t.fillStyle||\"#000000\",this.isFillTransparent=t.isFillTransparent||!1,this.fillOpacity=t.fillOpacity||1,this.font=t.font||\"10px sans-serif\",this.textBaseline=t.textBaseline||\"alphabetic\",this.textAlign=t.textAlign||\"left\",this.lineWidth=t.lineWidth||1,this.lineJoin=t.lineJoin||\"miter\",this.lineCap=t.lineCap||\"butt\",this.path=t.path||[],this.transform=void 0!==t.transform?t.transform.clone():new l,this.globalCompositeOperation=t.globalCompositeOperation||\"normal\",this.globalAlpha=t.globalAlpha||1,this.clip_path=t.clip_path||[],this.currentPoint=t.currentPoint||new u,this.miterLimit=t.miterLimit||10,this.lastPoint=t.lastPoint||new u,this.lineDashOffset=t.lineDashOffset||0,this.lineDash=t.lineDash||[],this.margin=t.margin||[0,0,0,0],this.prevPageLastElemOffset=t.prevPageLastElemOffset||0,this.ignoreClearRect=\"boolean\"!=typeof t.ignoreClearRect||t.ignoreClearRect,this};e.events.push([\"initialized\",function(){this.context2d=new p(this),r=this.internal.f2,n=this.internal.getCoordinateString,i=this.internal.getVerticalCoordinateString,a=this.internal.getHorizontalCoordinate,s=this.internal.getVerticalCoordinate,u=this.internal.Point,c=this.internal.Rectangle,l=this.internal.Matrix,f=new d}]);var p=function(t){Object.defineProperty(this,\"canvas\",{get:function(){return{parentNode:!1,style:!1}}});var e=t;Object.defineProperty(this,\"pdf\",{get:function(){return e}});var r=!1;Object.defineProperty(this,\"pageWrapXEnabled\",{get:function(){return r},set:function(t){r=Boolean(t)}});var n=!1;Object.defineProperty(this,\"pageWrapYEnabled\",{get:function(){return n},set:function(t){n=Boolean(t)}});var i=0;Object.defineProperty(this,\"posX\",{get:function(){return i},set:function(t){isNaN(t)||(i=t)}});var a=0;Object.defineProperty(this,\"posY\",{get:function(){return a},set:function(t){isNaN(t)||(a=t)}}),Object.defineProperty(this,\"margin\",{get:function(){return f.margin},set:function(t){var e;\"number\"==typeof t?e=[t,t,t,t]:((e=new Array(4))[0]=t[0],e[1]=t.length>=2?t[1]:e[0],e[2]=t.length>=3?t[2]:e[0],e[3]=t.length>=4?t[3]:e[1]),f.margin=e}});var o=!1;Object.defineProperty(this,\"autoPaging\",{get:function(){return o},set:function(t){o=t}});var s=0;Object.defineProperty(this,\"lastBreak\",{get:function(){return s},set:function(t){s=t}});var u=[];Object.defineProperty(this,\"pageBreaks\",{get:function(){return u},set:function(t){u=t}}),Object.defineProperty(this,\"ctx\",{get:function(){return f},set:function(t){t instanceof d&&(f=t)}}),Object.defineProperty(this,\"path\",{get:function(){return f.path},set:function(t){f.path=t}});var c=[];Object.defineProperty(this,\"ctxStack\",{get:function(){return c},set:function(t){c=t}}),Object.defineProperty(this,\"fillStyle\",{get:function(){return this.ctx.fillStyle},set:function(t){var e;e=g(t),this.ctx.fillStyle=e.style,this.ctx.isFillTransparent=0===e.a,this.ctx.fillOpacity=e.a,this.pdf.setFillColor(e.r,e.g,e.b,{a:e.a}),this.pdf.setTextColor(e.r,e.g,e.b,{a:e.a})}}),Object.defineProperty(this,\"strokeStyle\",{get:function(){return this.ctx.strokeStyle},set:function(t){var e=g(t);this.ctx.strokeStyle=e.style,this.ctx.isStrokeTransparent=0===e.a,this.ctx.strokeOpacity=e.a,0===e.a?this.pdf.setDrawColor(255,255,255):(e.a,this.pdf.setDrawColor(e.r,e.g,e.b))}}),Object.defineProperty(this,\"lineCap\",{get:function(){return this.ctx.lineCap},set:function(t){-1!==[\"butt\",\"round\",\"square\"].indexOf(t)&&(this.ctx.lineCap=t,this.pdf.setLineCap(t))}}),Object.defineProperty(this,\"lineWidth\",{get:function(){return this.ctx.lineWidth},set:function(t){isNaN(t)||(this.ctx.lineWidth=t,this.pdf.setLineWidth(t))}}),Object.defineProperty(this,\"lineJoin\",{get:function(){return this.ctx.lineJoin},set:function(t){-1!==[\"bevel\",\"round\",\"miter\"].indexOf(t)&&(this.ctx.lineJoin=t,this.pdf.setLineJoin(t))}}),Object.defineProperty(this,\"miterLimit\",{get:function(){return this.ctx.miterLimit},set:function(t){isNaN(t)||(this.ctx.miterLimit=t,this.pdf.setMiterLimit(t))}}),Object.defineProperty(this,\"textBaseline\",{get:function(){return this.ctx.textBaseline},set:function(t){this.ctx.textBaseline=t}}),Object.defineProperty(this,\"textAlign\",{get:function(){return this.ctx.textAlign},set:function(t){-1!==[\"right\",\"end\",\"center\",\"left\",\"start\"].indexOf(t)&&(this.ctx.textAlign=t)}});var l=null,h=null;var p=null;Object.defineProperty(this,\"fontFaces\",{get:function(){return p},set:function(t){l=null,h=null,p=t}}),Object.defineProperty(this,\"font\",{get:function(){return this.ctx.font},set:function(t){var e;if(this.ctx.font=t,null!==(e=/^\\s*(?=(?:(?:[-a-z]+\\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\\1|\\2|\\3)\\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx]))(?:\\s*\\/\\s*(normal|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx])))?\\s*([-_,\\\"\\'\\sa-z0-9]+?)\\s*$/i.exec(t))){var r=e[1];e[2];var n=e[3],i=e[4];e[5];var a=e[6],o=/^([.\\d]+)((?:%|in|[cem]m|ex|p[ctx]))$/i.exec(i)[2];i=\"px\"===o?Math.floor(parseFloat(i)*this.pdf.internal.scaleFactor):\"em\"===o?Math.floor(parseFloat(i)*this.pdf.getFontSize()):Math.floor(parseFloat(i)*this.pdf.internal.scaleFactor),this.pdf.setFontSize(i);var s=function(t){var e,r,n=[],i=t.trim();if(\"\"===i)return Gt;if(i in qt)return[qt[i]];for(;\"\"!==i;){switch(r=null,e=(i=Rt(i)).charAt(0)){case'\"':case\"'\":r=Dt(i.substring(1),e);break;default:r=Tt(i)}if(null===r)return Gt;if(n.push(r[0]),\"\"!==(i=Rt(r[1]))&&\",\"!==i.charAt(0))return Gt;i=i.replace(/^,/,\"\")}return n}(a);if(this.fontFaces){var u=function(t,e){var r=t.getFontList(),n=JSON.stringify(r);if(null===l||h!==n){var i=function(t){var e=[];return Object.keys(t).forEach(function(r){t[r].forEach(function(t){var n=null;switch(t){case\"bold\":n={family:r,weight:\"bold\"};break;case\"italic\":n={family:r,style:\"italic\"};break;case\"bolditalic\":n={family:r,weight:\"bold\",style:\"italic\"};break;case\"\":case\"normal\":n={family:r}}null!==n&&(n.ref={name:r,style:t},e.push(n))})}),e}(r);l=function(t){for(var e={},r=0;r<t.length;++r){var n=Ot(t[r]),i=n.family,a=n.stretch,o=n.style,s=n.weight;e[i]=e[i]||{},e[i][a]=e[i][a]||{},e[i][a][o]=e[i][a][o]||{},e[i][a][o][s]=n}return e}(i.concat(e)),h=n}return l}(this.pdf,this.fontFaces),c=s.map(function(t){return{family:t,stretch:\"normal\",weight:n,style:r}}),f=function(t,e,r){for(var n=(r=r||{}).defaultFontFamily||\"times\",i=Object.assign({},Mt,r.genericFontFamilies||{}),a=null,o=null,s=0;s<e.length;++s)if(i[(a=Ot(e[s])).family]&&(a.family=i[a.family]),t.hasOwnProperty(a.family)){o=t[a.family];break}if(!(o=o||t[n]))throw new Error(\"Could not find a font-family for the rule '\"+Et(a)+\"' and default family '\"+n+\"'.\");if(o=function(t,e){if(e[t])return e[t];var r=It[t],n=r<=It.normal?-1:1,i=Bt(e,Ft,r,n);if(!i)throw new Error(\"Could not find a matching font-stretch value for \"+t);return i}(a.stretch,o),o=function(t,e){if(e[t])return e[t];for(var r=kt[t],n=0;n<r.length;++n)if(e[r[n]])return e[r[n]];throw new Error(\"Could not find a matching font-style for \"+t)}(a.style,o),!(o=function(t,e){if(e[t])return e[t];if(400===t&&e[500])return e[500];if(500===t&&e[400])return e[400];var r=jt[t],n=Bt(e,Ct,r,t<400?-1:1);if(!n)throw new Error(\"Could not find a matching font-weight for value \"+t);return n}(a.weight,o)))throw new Error(\"Failed to resolve a font for the rule '\"+Et(a)+\"'.\");return o}(u,c);this.pdf.setFont(f.ref.name,f.ref.style)}else{var d=\"\";(\"bold\"===n||parseInt(n,10)>=700||\"bold\"===r)&&(d=\"bold\"),\"italic\"===r&&(d+=\"italic\"),0===d.length&&(d=\"normal\");for(var p=\"\",g={arial:\"Helvetica\",Arial:\"Helvetica\",verdana:\"Helvetica\",Verdana:\"Helvetica\",helvetica:\"Helvetica\",Helvetica:\"Helvetica\",\"sans-serif\":\"Helvetica\",fixed:\"Courier\",monospace:\"Courier\",terminal:\"Courier\",cursive:\"Times\",fantasy:\"Times\",serif:\"Times\"},m=0;m<s.length;m++){if(void 0!==this.pdf.internal.getFont(s[m],d,{noFallback:!0,disableWarning:!0})){p=s[m];break}if(\"bolditalic\"===d&&void 0!==this.pdf.internal.getFont(s[m],\"bold\",{noFallback:!0,disableWarning:!0}))p=s[m],d=\"bold\";else if(void 0!==this.pdf.internal.getFont(s[m],\"normal\",{noFallback:!0,disableWarning:!0})){p=s[m],d=\"normal\";break}}if(\"\"===p)for(var v=0;v<s.length;v++)if(g[s[v]]){p=g[s[v]];break}p=\"\"===p?\"Times\":p,this.pdf.setFont(p,d)}}}}),Object.defineProperty(this,\"globalCompositeOperation\",{get:function(){return this.ctx.globalCompositeOperation},set:function(t){this.ctx.globalCompositeOperation=t}}),Object.defineProperty(this,\"globalAlpha\",{get:function(){return this.ctx.globalAlpha},set:function(t){this.ctx.globalAlpha=t}}),Object.defineProperty(this,\"lineDashOffset\",{get:function(){return this.ctx.lineDashOffset},set:function(t){this.ctx.lineDashOffset=t,T.call(this)}}),Object.defineProperty(this,\"lineDash\",{get:function(){return this.ctx.lineDash},set:function(t){this.ctx.lineDash=t,T.call(this)}}),Object.defineProperty(this,\"ignoreClearRect\",{get:function(){return this.ctx.ignoreClearRect},set:function(t){this.ctx.ignoreClearRect=Boolean(t)}})};p.prototype.setLineDash=function(t){this.lineDash=t},p.prototype.getLineDash=function(){return this.lineDash.length%2?this.lineDash.concat(this.lineDash):this.lineDash.slice()},p.prototype.fill=function(){x.call(this,\"fill\",!1)},p.prototype.stroke=function(){x.call(this,\"stroke\",!1)},p.prototype.beginPath=function(){this.path=[{type:\"begin\"}]},p.prototype.moveTo=function(t,e){if(isNaN(t)||isNaN(e))throw o.error(\"jsPDF.context2d.moveTo: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.moveTo\");var r=this.ctx.transform.applyToPoint(new u(t,e));this.path.push({type:\"mt\",x:r.x,y:r.y}),this.ctx.lastPoint=new u(t,e)},p.prototype.closePath=function(){var e=new u(0,0),r=0;for(r=this.path.length-1;-1!==r;r--)if(\"begin\"===this.path[r].type&&\"object\"===t(this.path[r+1])&&\"number\"==typeof this.path[r+1].x){e=new u(this.path[r+1].x,this.path[r+1].y);break}this.path.push({type:\"close\"}),this.ctx.lastPoint=new u(e.x,e.y)},p.prototype.lineTo=function(t,e){if(isNaN(t)||isNaN(e))throw o.error(\"jsPDF.context2d.lineTo: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.lineTo\");var r=this.ctx.transform.applyToPoint(new u(t,e));this.path.push({type:\"lt\",x:r.x,y:r.y}),this.ctx.lastPoint=new u(r.x,r.y)},p.prototype.clip=function(){this.ctx.clip_path=JSON.parse(JSON.stringify(this.path)),x.call(this,null,!0)},p.prototype.quadraticCurveTo=function(t,e,r,n){if(isNaN(r)||isNaN(n)||isNaN(t)||isNaN(e))throw o.error(\"jsPDF.context2d.quadraticCurveTo: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.quadraticCurveTo\");var i=this.ctx.transform.applyToPoint(new u(r,n)),a=this.ctx.transform.applyToPoint(new u(t,e));this.path.push({type:\"qct\",x1:a.x,y1:a.y,x:i.x,y:i.y}),this.ctx.lastPoint=new u(i.x,i.y)},p.prototype.bezierCurveTo=function(t,e,r,n,i,a){if(isNaN(i)||isNaN(a)||isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n))throw o.error(\"jsPDF.context2d.bezierCurveTo: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.bezierCurveTo\");var s=this.ctx.transform.applyToPoint(new u(i,a)),c=this.ctx.transform.applyToPoint(new u(t,e)),l=this.ctx.transform.applyToPoint(new u(r,n));this.path.push({type:\"bct\",x1:c.x,y1:c.y,x2:l.x,y2:l.y,x:s.x,y:s.y}),this.ctx.lastPoint=new u(s.x,s.y)},p.prototype.arc=function(t,e,r,n,i,a){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||isNaN(i))throw o.error(\"jsPDF.context2d.arc: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.arc\");if(a=Boolean(a),!this.ctx.transform.isIdentity){var s=this.ctx.transform.applyToPoint(new u(t,e));t=s.x,e=s.y;var c=this.ctx.transform.applyToPoint(new u(0,r)),l=this.ctx.transform.applyToPoint(new u(0,0));r=Math.sqrt(Math.pow(c.x-l.x,2)+Math.pow(c.y-l.y,2))}Math.abs(i-n)>=2*Math.PI&&(n=0,i=2*Math.PI),this.path.push({type:\"arc\",x:t,y:e,radius:r,startAngle:n,endAngle:i,counterclockwise:a})},p.prototype.arcTo=function(t,e,r,n,i){throw new Error(\"arcTo not implemented.\")},p.prototype.rect=function(t,e,r,n){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n))throw o.error(\"jsPDF.context2d.rect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.rect\");this.moveTo(t,e),this.lineTo(t+r,e),this.lineTo(t+r,e+n),this.lineTo(t,e+n),this.lineTo(t,e),this.lineTo(t+r,e),this.lineTo(t,e)},p.prototype.fillRect=function(t,e,r,n){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n))throw o.error(\"jsPDF.context2d.fillRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.fillRect\");if(!m.call(this)){var i={};\"butt\"!==this.lineCap&&(i.lineCap=this.lineCap,this.lineCap=\"butt\"),\"miter\"!==this.lineJoin&&(i.lineJoin=this.lineJoin,this.lineJoin=\"miter\"),this.beginPath(),this.rect(t,e,r,n),this.fill(),i.hasOwnProperty(\"lineCap\")&&(this.lineCap=i.lineCap),i.hasOwnProperty(\"lineJoin\")&&(this.lineJoin=i.lineJoin)}},p.prototype.strokeRect=function(t,e,r,n){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n))throw o.error(\"jsPDF.context2d.strokeRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.strokeRect\");v.call(this)||(this.beginPath(),this.rect(t,e,r,n),this.stroke())},p.prototype.clearRect=function(t,e,r,n){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n))throw o.error(\"jsPDF.context2d.clearRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.clearRect\");this.ignoreClearRect||(this.fillStyle=\"#ffffff\",this.fillRect(t,e,r,n))},p.prototype.save=function(t){t=\"boolean\"!=typeof t||t;for(var e=this.pdf.internal.getCurrentPageInfo().pageNumber,r=0;r<this.pdf.internal.getNumberOfPages();r++)this.pdf.setPage(r+1),this.pdf.internal.out(\"q\");if(this.pdf.setPage(e),t){this.ctx.fontSize=this.pdf.internal.getFontSize();var n=new d(this.ctx);this.ctxStack.push(this.ctx),this.ctx=n}},p.prototype.restore=function(t){t=\"boolean\"!=typeof t||t;for(var e=this.pdf.internal.getCurrentPageInfo().pageNumber,r=0;r<this.pdf.internal.getNumberOfPages();r++)this.pdf.setPage(r+1),this.pdf.internal.out(\"Q\");this.pdf.setPage(e),t&&0!==this.ctxStack.length&&(this.ctx=this.ctxStack.pop(),this.fillStyle=this.ctx.fillStyle,this.strokeStyle=this.ctx.strokeStyle,this.font=this.ctx.font,this.lineCap=this.ctx.lineCap,this.lineWidth=this.ctx.lineWidth,this.lineJoin=this.ctx.lineJoin,this.lineDash=this.ctx.lineDash,this.lineDashOffset=this.ctx.lineDashOffset)},p.prototype.toDataURL=function(){throw new Error(\"toDataUrl not implemented.\")};var g=function(t){var e,r,n,i;if(!0===t.isCanvasGradient&&(t=t.getColor()),!t)return{r:0,g:0,b:0,a:0,style:t};if(/transparent|rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*0+\\s*\\)/.test(t))e=0,r=0,n=0,i=0;else{var a=/rgb\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\)/.exec(t);if(null!==a)e=parseInt(a[1]),r=parseInt(a[2]),n=parseInt(a[3]),i=1;else if(null!==(a=/rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*([\\d.]+)\\s*\\)/.exec(t)))e=parseInt(a[1]),r=parseInt(a[2]),n=parseInt(a[3]),i=parseFloat(a[4]);else{if(i=1,\"string\"==typeof t&&\"#\"!==t.charAt(0)){var o=new h(t);t=o.ok?o.toHex():\"#000000\"}4===t.length?(e=t.substring(1,2),e+=e,r=t.substring(2,3),r+=r,n=t.substring(3,4),n+=n):(e=t.substring(1,3),r=t.substring(3,5),n=t.substring(5,7)),e=parseInt(e,16),r=parseInt(r,16),n=parseInt(n,16)}}return{r:e,g:r,b:n,a:i,style:t}},m=function(){return this.ctx.isFillTransparent||0==this.globalAlpha},v=function(){return Boolean(this.ctx.isStrokeTransparent||0==this.globalAlpha)};p.prototype.fillText=function(t,e,r,n){if(isNaN(e)||isNaN(r)||\"string\"!=typeof t)throw o.error(\"jsPDF.context2d.fillText: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.fillText\");if(n=isNaN(n)?void 0:n,!m.call(this)){var i=E(this.ctx.transform.rotation),a=this.ctx.transform.scaleX;C.call(this,{text:t,x:e,y:r,scale:a,angle:i,align:this.textAlign,maxWidth:n})}},p.prototype.strokeText=function(t,e,r,n){if(isNaN(e)||isNaN(r)||\"string\"!=typeof t)throw o.error(\"jsPDF.context2d.strokeText: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.strokeText\");if(!v.call(this)){n=isNaN(n)?void 0:n;var i=E(this.ctx.transform.rotation),a=this.ctx.transform.scaleX;C.call(this,{text:t,x:e,y:r,scale:a,renderingMode:\"stroke\",angle:i,align:this.textAlign,maxWidth:n})}},p.prototype.measureText=function(t){if(\"string\"!=typeof t)throw o.error(\"jsPDF.context2d.measureText: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.measureText\");var e=this.pdf,r=this.pdf.internal.scaleFactor,n=e.internal.getFontSize(),i=e.getStringUnitWidth(t)*n/e.internal.scaleFactor;return new function(t){var e=(t=t||{}).width||0;return Object.defineProperty(this,\"width\",{get:function(){return e}}),this}({width:i*=Math.round(96*r/72*1e4)/1e4})},p.prototype.scale=function(t,e){if(isNaN(t)||isNaN(e))throw o.error(\"jsPDF.context2d.scale: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.scale\");var r=new l(t,0,0,e,0,0);this.ctx.transform=this.ctx.transform.multiply(r)},p.prototype.rotate=function(t){if(isNaN(t))throw o.error(\"jsPDF.context2d.rotate: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.rotate\");var e=new l(Math.cos(t),Math.sin(t),-Math.sin(t),Math.cos(t),0,0);this.ctx.transform=this.ctx.transform.multiply(e)},p.prototype.translate=function(t,e){if(isNaN(t)||isNaN(e))throw o.error(\"jsPDF.context2d.translate: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.translate\");var r=new l(1,0,0,1,t,e);this.ctx.transform=this.ctx.transform.multiply(r)},p.prototype.transform=function(t,e,r,n,i,a){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||isNaN(i)||isNaN(a))throw o.error(\"jsPDF.context2d.transform: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.transform\");var s=new l(t,e,r,n,i,a);this.ctx.transform=this.ctx.transform.multiply(s)},p.prototype.setTransform=function(t,e,r,n,i,a){t=isNaN(t)?1:t,e=isNaN(e)?0:e,r=isNaN(r)?0:r,n=isNaN(n)?1:n,i=isNaN(i)?0:i,a=isNaN(a)?0:a,this.ctx.transform=new l(t,e,r,n,i,a)};var b=function(){return this.margin[0]>0||this.margin[1]>0||this.margin[2]>0||this.margin[3]>0};p.prototype.drawImage=function(t,e,r,n,i,a,o,s,u){var h=this.pdf.getImageProperties(t),f=1,d=1,p=1,g=1;void 0!==n&&void 0!==s&&(p=s/n,g=u/i,f=h.width/n*s/n,d=h.height/i*u/i),void 0===a&&(a=e,o=r,e=0,r=0),void 0!==n&&void 0===s&&(s=n,u=i),void 0===n&&void 0===s&&(s=h.width,u=h.height);var m=this.ctx.transform.decompose(),v=E(m.rotate.shx),w=new l,x=(w=(w=(w=w.multiply(m.translate)).multiply(m.skew)).multiply(m.scale)).applyToRectangle(new c(a-e*p,o-r*g,n*f,i*d));if(this.autoPaging){for(var S,_=y.call(this,x),P=[],k=0;k<_.length;k+=1)-1===P.indexOf(_[k])&&P.push(_[k]);L(P);for(var F=P[0],I=P[P.length-1],C=F;C<I+1;C++){this.pdf.setPage(C);var j=this.pdf.internal.pageSize.width-this.margin[3]-this.margin[1],O=1===C?this.posY+this.margin[0]:this.margin[0],B=this.pdf.internal.pageSize.height-this.posY-this.margin[0]-this.margin[2],M=this.pdf.internal.pageSize.height-this.margin[0]-this.margin[2],q=1===C?0:B+(C-2)*M;if(0!==this.ctx.clip_path.length){var R=this.path;S=JSON.parse(JSON.stringify(this.ctx.clip_path)),this.path=N(S,this.posX+this.margin[3],-q+O+this.ctx.prevPageLastElemOffset),A.call(this,\"fill\",!0),this.path=R}var D=JSON.parse(JSON.stringify(x));D=N([D],this.posX+this.margin[3],-q+O+this.ctx.prevPageLastElemOffset)[0];var T=(C>F||C<I)&&b.call(this);T&&(this.pdf.saveGraphicsState(),this.pdf.rect(this.margin[3],this.margin[0],j,M,null).clip().discardPath()),this.pdf.addImage(t,\"JPEG\",D.x,D.y,D.w,D.h,null,null,v),T&&this.pdf.restoreGraphicsState()}}else this.pdf.addImage(t,\"JPEG\",x.x,x.y,x.w,x.h,null,null,v)};var y=function(t,e,r){var n=[];e=e||this.pdf.internal.pageSize.width,r=r||this.pdf.internal.pageSize.height-this.margin[0]-this.margin[2];var i=this.posY+this.ctx.prevPageLastElemOffset;switch(t.type){default:case\"mt\":case\"lt\":n.push(Math.floor((t.y+i)/r)+1);break;case\"arc\":n.push(Math.floor((t.y+i-t.radius)/r)+1),n.push(Math.floor((t.y+i+t.radius)/r)+1);break;case\"qct\":var a=R(this.ctx.lastPoint.x,this.ctx.lastPoint.y,t.x1,t.y1,t.x,t.y);n.push(Math.floor((a.y+i)/r)+1),n.push(Math.floor((a.y+a.h+i)/r)+1);break;case\"bct\":var o=D(this.ctx.lastPoint.x,this.ctx.lastPoint.y,t.x1,t.y1,t.x2,t.y2,t.x,t.y);n.push(Math.floor((o.y+i)/r)+1),n.push(Math.floor((o.y+o.h+i)/r)+1);break;case\"rect\":n.push(Math.floor((t.y+i)/r)+1),n.push(Math.floor((t.y+t.h+i)/r)+1)}for(var s=0;s<n.length;s+=1)for(;this.pdf.internal.getNumberOfPages()<n[s];)w.call(this);return n},w=function(){var t=this.fillStyle,e=this.strokeStyle,r=this.font,n=this.lineCap,i=this.lineWidth,a=this.lineJoin;this.pdf.addPage(),this.fillStyle=t,this.strokeStyle=e,this.font=r,this.lineCap=n,this.lineWidth=i,this.lineJoin=a},N=function(t,e,r){for(var n=0;n<t.length;n++)switch(t[n].type){case\"bct\":t[n].x2+=e,t[n].y2+=r;case\"qct\":t[n].x1+=e,t[n].y1+=r;default:t[n].x+=e,t[n].y+=r}return t},L=function(t){return t.sort(function(t,e){return t-e})},x=function(t,e){var r=this.fillStyle,n=this.strokeStyle,i=this.lineCap,a=this.lineWidth,o=Math.abs(a*this.ctx.transform.scaleX),s=this.lineJoin;if(this.autoPaging){for(var u,c,l=JSON.parse(JSON.stringify(this.path)),h=JSON.parse(JSON.stringify(this.path)),f=[],d=0;d<h.length;d++)if(void 0!==h[d].x)for(var p=y.call(this,h[d]),g=0;g<p.length;g+=1)-1===f.indexOf(p[g])&&f.push(p[g]);for(var m=0;m<f.length;m++)for(;this.pdf.internal.getNumberOfPages()<f[m];)w.call(this);L(f);for(var v=f[0],x=f[f.length-1],S=v;S<x+1;S++){this.pdf.setPage(S),this.fillStyle=r,this.strokeStyle=n,this.lineCap=i,this.lineWidth=o,this.lineJoin=s;var _=this.pdf.internal.pageSize.width-this.margin[3]-this.margin[1],P=1===S?this.posY+this.margin[0]:this.margin[0],k=this.pdf.internal.pageSize.height-this.posY-this.margin[0]-this.margin[2],F=this.pdf.internal.pageSize.height-this.margin[0]-this.margin[2],I=1===S?0:k+(S-2)*F;if(0!==this.ctx.clip_path.length){var C=this.path;u=JSON.parse(JSON.stringify(this.ctx.clip_path)),this.path=N(u,this.posX+this.margin[3],-I+P+this.ctx.prevPageLastElemOffset),A.call(this,t,!0),this.path=C}if(c=JSON.parse(JSON.stringify(l)),this.path=N(c,this.posX+this.margin[3],-I+P+this.ctx.prevPageLastElemOffset),!1===e||0===S){var j=(S>v||S<x)&&b.call(this);j&&(this.pdf.saveGraphicsState(),this.pdf.rect(this.margin[3],this.margin[0],_,F,null).clip().discardPath()),A.call(this,t,e),j&&this.pdf.restoreGraphicsState()}this.lineWidth=a}this.path=l}else this.lineWidth=o,A.call(this,t,e),this.lineWidth=a},A=function(t,e){if((\"stroke\"!==t||e||!v.call(this))&&(\"stroke\"===t||e||!m.call(this))){for(var r,n,i=[],a=this.path,o=0;o<a.length;o++){var s=a[o];switch(s.type){case\"begin\":i.push({begin:!0});break;case\"close\":i.push({close:!0});break;case\"mt\":i.push({start:s,deltas:[],abs:[]});break;case\"lt\":var u=i.length;if(a[o-1]&&!isNaN(a[o-1].x)&&(r=[s.x-a[o-1].x,s.y-a[o-1].y],u>0))for(;u>=0;u--)if(!0!==i[u-1].close&&!0!==i[u-1].begin){i[u-1].deltas.push(r),i[u-1].abs.push(s);break}break;case\"bct\":r=[s.x1-a[o-1].x,s.y1-a[o-1].y,s.x2-a[o-1].x,s.y2-a[o-1].y,s.x-a[o-1].x,s.y-a[o-1].y],i[i.length-1].deltas.push(r);break;case\"qct\":var c=a[o-1].x+2/3*(s.x1-a[o-1].x),l=a[o-1].y+2/3*(s.y1-a[o-1].y),h=s.x+2/3*(s.x1-s.x),f=s.y+2/3*(s.y1-s.y),d=s.x,p=s.y;r=[c-a[o-1].x,l-a[o-1].y,h-a[o-1].x,f-a[o-1].y,d-a[o-1].x,p-a[o-1].y],i[i.length-1].deltas.push(r);break;case\"arc\":i.push({deltas:[],abs:[],arc:!0}),Array.isArray(i[i.length-1].abs)&&i[i.length-1].abs.push(s)}}n=e?null:\"stroke\"===t?\"stroke\":\"fill\";for(var g=!1,b=0;b<i.length;b++)if(i[b].arc)for(var y=i[b].abs,w=0;w<y.length;w++){var N=y[w];\"arc\"===N.type?P.call(this,N.x,N.y,N.radius,N.startAngle,N.endAngle,N.counterclockwise,void 0,e,!g):j.call(this,N.x,N.y),g=!0}else if(!0===i[b].close)this.pdf.internal.out(\"h\"),g=!1;else if(!0!==i[b].begin){var L=i[b].start.x,x=i[b].start.y;O.call(this,i[b].deltas,L,x),g=!0}n&&k.call(this,n),e&&F.call(this)}},S=function(t){var e=this.pdf.internal.getFontSize()/this.pdf.internal.scaleFactor,r=e*(this.pdf.internal.getLineHeightFactor()-1);switch(this.ctx.textBaseline){case\"bottom\":return t-r;case\"top\":return t+e-r;case\"hanging\":return t+e-2*r;case\"middle\":return t+e/2-r;default:return t}},_=function(t){return t+this.pdf.internal.getFontSize()/this.pdf.internal.scaleFactor*(this.pdf.internal.getLineHeightFactor()-1)};p.prototype.createLinearGradient=function(){var t=function(){};return t.colorStops=[],t.addColorStop=function(t,e){this.colorStops.push([t,e])},t.getColor=function(){return 0===this.colorStops.length?\"#000000\":this.colorStops[0][1]},t.isCanvasGradient=!0,t},p.prototype.createPattern=function(){return this.createLinearGradient()},p.prototype.createRadialGradient=function(){return this.createLinearGradient()};var P=function(t,e,r,n,i,a,o,s,u){for(var c=M.call(this,r,n,i,a),l=0;l<c.length;l++){var h=c[l];0===l&&(u?I.call(this,h.x1+t,h.y1+e):j.call(this,h.x1+t,h.y1+e)),B.call(this,t,e,h.x2,h.y2,h.x3,h.y3,h.x4,h.y4)}s?F.call(this):k.call(this,o)},k=function(t){switch(t){case\"stroke\":this.pdf.internal.out(\"S\");break;case\"fill\":this.pdf.internal.out(\"f\")}},F=function(){this.pdf.clip(),this.pdf.discardPath()},I=function(t,e){this.pdf.internal.out(n(t)+\" \"+i(e)+\" m\")},C=function(t){var e;switch(t.align){case\"right\":case\"end\":e=\"right\";break;case\"center\":e=\"center\";break;default:e=\"left\"}var r,n,i,a=this.pdf.getTextDimensions(t.text),o=S.call(this,t.y),s=_.call(this,o)-a.h,h=this.ctx.transform.applyToPoint(new u(t.x,o));if(this.autoPaging){var f=this.ctx.transform.decompose(),d=new l;d=(d=(d=d.multiply(f.translate)).multiply(f.skew)).multiply(f.scale);for(var p=this.ctx.transform.applyToRectangle(new c(t.x,o,a.w,a.h)),g=d.applyToRectangle(new c(t.x,s,a.w,a.h)),m=y.call(this,g),v=[],w=0;w<m.length;w+=1)-1===v.indexOf(m[w])&&v.push(m[w]);L(v);for(var x=v[0],P=v[v.length-1],k=x;k<P+1;k++){this.pdf.setPage(k);var F=1===k?this.posY+this.margin[0]:this.margin[0],I=this.pdf.internal.pageSize.height-this.posY-this.margin[0]-this.margin[2],C=this.pdf.internal.pageSize.height-this.margin[2],j=C-this.margin[0],O=this.pdf.internal.pageSize.width-this.margin[1],B=O-this.margin[3],M=1===k?0:I+(k-2)*j;if(0!==this.ctx.clip_path.length){var q=this.path;r=JSON.parse(JSON.stringify(this.ctx.clip_path)),this.path=N(r,this.posX+this.margin[3],-1*M+F),A.call(this,\"fill\",!0),this.path=q}var E=N([JSON.parse(JSON.stringify(g))],this.posX+this.margin[3],-M+F+this.ctx.prevPageLastElemOffset)[0];t.scale>=.01&&(n=this.pdf.internal.getFontSize(),this.pdf.setFontSize(n*t.scale),i=this.lineWidth,this.lineWidth=i*t.scale);var R=\"text\"!==this.autoPaging;if(R||E.y+E.h<=C){if(R||E.y>=F&&E.x<=O){var D=R?t.text:this.pdf.splitTextToSize(t.text,t.maxWidth||O-E.x)[0],T=N([JSON.parse(JSON.stringify(p))],this.posX+this.margin[3],-M+F+this.ctx.prevPageLastElemOffset)[0],z=R&&(k>x||k<P)&&b.call(this);z&&(this.pdf.saveGraphicsState(),this.pdf.rect(this.margin[3],this.margin[0],B,j,null).clip().discardPath()),this.pdf.text(D,T.x,T.y,{angle:t.angle,align:e,renderingMode:t.renderingMode}),z&&this.pdf.restoreGraphicsState()}}else E.y<C&&(this.ctx.prevPageLastElemOffset+=C-E.y);t.scale>=.01&&(this.pdf.setFontSize(n),this.lineWidth=i)}}else t.scale>=.01&&(n=this.pdf.internal.getFontSize(),this.pdf.setFontSize(n*t.scale),i=this.lineWidth,this.lineWidth=i*t.scale),this.pdf.text(t.text,h.x+this.posX,h.y+this.posY,{angle:t.angle,align:e,renderingMode:t.renderingMode,maxWidth:t.maxWidth}),t.scale>=.01&&(this.pdf.setFontSize(n),this.lineWidth=i)},j=function(t,e,r,a){r=r||0,a=a||0,this.pdf.internal.out(n(t+r)+\" \"+i(e+a)+\" l\")},O=function(t,e,r){return this.pdf.lines(t,e,r,null,null)},B=function(t,e,n,i,o,u,c,l){this.pdf.internal.out([r(a(n+t)),r(s(i+e)),r(a(o+t)),r(s(u+e)),r(a(c+t)),r(s(l+e)),\"c\"].join(\" \"))},M=function(t,e,r,n){for(var i=2*Math.PI,a=Math.PI/2;e>r;)e-=i;var o=Math.abs(r-e);o<i&&n&&(o=i-o);for(var s=[],u=n?-1:1,c=e;o>1e-5;){var l=c+u*Math.min(o,a);s.push(q.call(this,t,c,l)),o-=Math.abs(l-c),c=l}return s},q=function(t,e,r){var n=(r-e)/2,i=t*Math.cos(n),a=t*Math.sin(n),o=i,s=-a,u=o*o+s*s,c=u+o*i+s*a,l=4/3*(Math.sqrt(2*u*c)-c)/(o*a-s*i),h=o-l*s,f=s+l*o,d=h,p=-f,g=n+e,m=Math.cos(g),v=Math.sin(g);return{x1:t*Math.cos(e),y1:t*Math.sin(e),x2:h*m-f*v,y2:h*v+f*m,x3:d*m-p*v,y3:d*v+p*m,x4:t*Math.cos(r),y4:t*Math.sin(r)}},E=function(t){return 180*t/Math.PI},R=function(t,e,r,n,i,a){var o=t+.5*(r-t),s=e+.5*(n-e),u=i+.5*(r-i),l=a+.5*(n-a),h=Math.min(t,i,o,u),f=Math.max(t,i,o,u),d=Math.min(e,a,s,l),p=Math.max(e,a,s,l);return new c(h,d,f-h,p-d)},D=function(t,e,r,n,i,a,o,s){var u,l,h,f,d,p,g,m,v,b,y,w,N,L,x=r-t,A=n-e,S=i-r,_=a-n,P=o-i,k=s-a;for(l=0;l<41;l++)v=(g=(h=t+(u=l/40)*x)+u*((d=r+u*S)-h))+u*(d+u*(i+u*P-d)-g),b=(m=(f=e+u*A)+u*((p=n+u*_)-f))+u*(p+u*(a+u*k-p)-m),0==l?(y=v,w=b,N=v,L=b):(y=Math.min(y,v),w=Math.min(w,b),N=Math.max(N,v),L=Math.max(L,b));return new c(Math.round(y),Math.round(w),Math.round(N-y),Math.round(L-w))},T=function(){if(this.prevLineDash||this.ctx.lineDash.length||this.ctx.lineDashOffset){var t,e,r=(t=this.ctx.lineDash,e=this.ctx.lineDashOffset,JSON.stringify({lineDash:t,lineDashOffset:e}));this.prevLineDash!==r&&(this.pdf.setLineDash(this.ctx.lineDash,this.ctx.lineDashOffset),this.prevLineDash=r)}}}(E.API),\n/**\n * @license\n * jsPDF filters PlugIn\n * Copyright (c) 2014 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var r=function(t){var e,r,n,i,a,o,s,u,c,l;for(/[^\\x00-\\xFF]/.test(t),r=[],n=0,i=(t+=e=\"\\0\\0\\0\\0\".slice(t.length%4||4)).length;i>n;n+=4)0!==(a=(t.charCodeAt(n)<<24)+(t.charCodeAt(n+1)<<16)+(t.charCodeAt(n+2)<<8)+t.charCodeAt(n+3))?(o=(a=((a=((a=((a=(a-(l=a%85))/85)-(c=a%85))/85)-(u=a%85))/85)-(s=a%85))/85)%85,r.push(o+33,s+33,u+33,c+33,l+33)):r.push(122);return function(t,e){for(var r=e;r>0;r--)t.pop()}(r,e.length),String.fromCharCode.apply(String,r)+\"~>\"},n=function(t){var e,r,n,i,a,o=String,s=\"length\",u=255,c=\"charCodeAt\",l=\"slice\",h=\"replace\";for(t[l](-2),t=t[l](0,-2)[h](/\\s/g,\"\")[h](\"z\",\"!!!!!\"),n=[],i=0,a=(t+=e=\"uuuuu\"[l](t[s]%5||5))[s];a>i;i+=5)r=52200625*(t[c](i)-33)+614125*(t[c](i+1)-33)+7225*(t[c](i+2)-33)+85*(t[c](i+3)-33)+(t[c](i+4)-33),n.push(u&r>>24,u&r>>16,u&r>>8,u&r);return function(t,e){for(var r=e;r>0;r--)t.pop()}(n,e[s]),o.fromCharCode.apply(o,n)},i=function(t){return t.split(\"\").map(function(t){return(\"0\"+t.charCodeAt().toString(16)).slice(-2)}).join(\"\")+\">\"},a=function(t){var e=new RegExp(/^([0-9A-Fa-f]{2})+$/);if(-1!==(t=t.replace(/\\s/g,\"\")).indexOf(\">\")&&(t=t.substr(0,t.indexOf(\">\"))),t.length%2&&(t+=\"0\"),!1===e.test(t))return\"\";for(var r=\"\",n=0;n<t.length;n+=2)r+=String.fromCharCode(\"0x\"+(t[n]+t[n+1]));return r},o=function(t){for(var r=new Uint8Array(t.length),n=t.length;n--;)r[n]=t.charCodeAt(n);return(r=e(r)).reduce(function(t,e){return t+String.fromCharCode(e)},\"\")};t.processDataByFilters=function(t,e){var s=0,u=t||\"\",c=[];for(\"string\"==typeof(e=e||[])&&(e=[e]),s=0;s<e.length;s+=1)switch(e[s]){case\"ASCII85Decode\":case\"/ASCII85Decode\":u=n(u),c.push(\"/ASCII85Encode\");break;case\"ASCII85Encode\":case\"/ASCII85Encode\":u=r(u),c.push(\"/ASCII85Decode\");break;case\"ASCIIHexDecode\":case\"/ASCIIHexDecode\":u=a(u),c.push(\"/ASCIIHexEncode\");break;case\"ASCIIHexEncode\":case\"/ASCIIHexEncode\":u=i(u),c.push(\"/ASCIIHexDecode\");break;case\"FlateEncode\":case\"/FlateEncode\":u=o(u),c.push(\"/FlateDecode\");break;default:throw new Error('The filter: \"'+e[s]+'\" is not implemented')}return{data:u,reverseChain:c.reverse().join(\" \")}}}(E.API),\n/**\n * @license\n * jsPDF fileloading PlugIn\n * Copyright (c) 2018 Aras Abbasi (aras.abbasi@gmail.com)\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){t.loadFile=function(t,e,r){return function(t,e,r){e=!1!==e,r=\"function\"==typeof r?r:function(){};var n=void 0;try{n=function(t,e,r){var n=new XMLHttpRequest,i=0,a=function(t){var e=t.length,r=[],n=String.fromCharCode;for(i=0;i<e;i+=1)r.push(n(255&t.charCodeAt(i)));return r.join(\"\")};if(n.open(\"GET\",t,!e),n.overrideMimeType(\"text/plain; charset=x-user-defined\"),!1===e&&(n.onload=function(){200===n.status?r(a(this.responseText)):r(void 0)}),n.send(null),e&&200===n.status)return a(n.responseText)}(t,e,r)}catch(i){}return n}(t,e,r)},t.allowFsRead=void 0,t.loadImageFile=t.loadFile}(E.API),function(e){function r(){return(i.html2canvas?Promise.resolve(i.html2canvas):import(\"html2canvas\")).catch(function(t){return Promise.reject(new Error(\"Could not load html2canvas: \"+t))}).then(function(t){return t.default?t.default:t})}function n(){return(i.DOMPurify?Promise.resolve(i.DOMPurify):import(\"dompurify\")).catch(function(t){return Promise.reject(new Error(\"Could not load dompurify: \"+t))}).then(function(t){return t.default?t.default:t})}var a=function(e){var r=t(e);return\"undefined\"===r?\"undefined\":\"string\"===r||e instanceof String?\"string\":\"number\"===r||e instanceof Number?\"number\":\"function\"===r||e instanceof Function?\"function\":e&&e.constructor===Array?\"array\":e&&1===e.nodeType?\"element\":\"object\"===r?\"object\":\"unknown\"},o=function(t,e){var r=document.createElement(t);for(var n in e.className&&(r.className=e.className),e.innerHTML&&e.dompurify&&(r.innerHTML=e.dompurify.sanitize(e.innerHTML)),e.style)r.style[n]=e.style[n];return r},s=function t(e,r){for(var n=3===e.nodeType?document.createTextNode(e.nodeValue):e.cloneNode(!1),i=e.firstChild;i;i=i.nextSibling)!0!==r&&1===i.nodeType&&\"SCRIPT\"===i.nodeName||n.appendChild(t(i,r));return 1===e.nodeType&&(\"CANVAS\"===e.nodeName?(n.width=e.width,n.height=e.height,n.getContext(\"2d\").drawImage(e,0,0)):\"TEXTAREA\"!==e.nodeName&&\"SELECT\"!==e.nodeName||(n.value=e.value),n.addEventListener(\"load\",function(){n.scrollTop=e.scrollTop,n.scrollLeft=e.scrollLeft},!0)),n},u=function t(e){var r=Object.assign(t.convert(Promise.resolve()),JSON.parse(JSON.stringify(t.template))),n=t.convert(Promise.resolve(),r);return(n=n.setProgress(1,t,1,[t])).set(e)};(u.prototype=Object.create(Promise.prototype)).constructor=u,u.convert=function(t,e){return t.__proto__=e||u.prototype,t},u.template={prop:{src:null,container:null,overlay:null,canvas:null,img:null,pdf:null,pageSize:null,callback:function(){}},progress:{val:0,state:null,n:0,stack:[]},opt:{filename:\"file.pdf\",margin:[0,0,0,0],enableLinks:!0,x:0,y:0,html2canvas:{},jsPDF:{},backgroundColor:\"transparent\"}},u.prototype.from=function(t,e){return this.then(function(){switch(e=e||function(t){switch(a(t)){case\"string\":return\"string\";case\"element\":return\"canvas\"===t.nodeName.toLowerCase()?\"canvas\":\"element\";default:return\"unknown\"}}(t),e){case\"string\":return this.then(n).then(function(e){return this.set({src:o(\"div\",{innerHTML:t,dompurify:e})})});case\"element\":return this.set({src:t});case\"canvas\":return this.set({canvas:t});case\"img\":return this.set({img:t});default:return this.error(\"Unknown source type.\")}})},u.prototype.to=function(t){switch(t){case\"container\":return this.toContainer();case\"canvas\":return this.toCanvas();case\"img\":return this.toImg();case\"pdf\":return this.toPdf();default:return this.error(\"Invalid target.\")}},u.prototype.toContainer=function(){return this.thenList([function(){return this.prop.src||this.error(\"Cannot duplicate - no source HTML.\")},function(){return this.prop.pageSize||this.setPageSize()}]).then(function(){var t={position:\"relative\",display:\"inline-block\",width:(\"number\"!=typeof this.opt.width||isNaN(this.opt.width)||\"number\"!=typeof this.opt.windowWidth||isNaN(this.opt.windowWidth)?Math.max(this.prop.src.clientWidth,this.prop.src.scrollWidth,this.prop.src.offsetWidth):this.opt.windowWidth)+\"px\",left:0,right:0,top:0,margin:\"auto\",backgroundColor:this.opt.backgroundColor},e=s(this.prop.src,this.opt.html2canvas.javascriptEnabled);\"BODY\"===e.tagName&&(t.height=Math.max(document.body.scrollHeight,document.body.offsetHeight,document.documentElement.clientHeight,document.documentElement.scrollHeight,document.documentElement.offsetHeight)+\"px\"),this.prop.overlay=o(\"div\",{className:\"html2pdf__overlay\",style:{position:\"fixed\",overflow:\"hidden\",zIndex:1e3,left:\"-100000px\",right:0,bottom:0,top:0}}),this.prop.container=o(\"div\",{className:\"html2pdf__container\",style:t}),this.prop.container.appendChild(e),this.prop.container.firstChild.appendChild(o(\"div\",{style:{clear:\"both\",border:\"0 none transparent\",margin:0,padding:0,height:0}})),this.prop.container.style.float=\"none\",this.prop.overlay.appendChild(this.prop.container),document.body.appendChild(this.prop.overlay),this.prop.container.firstChild.style.position=\"relative\",this.prop.container.height=Math.max(this.prop.container.firstChild.clientHeight,this.prop.container.firstChild.scrollHeight,this.prop.container.firstChild.offsetHeight)+\"px\"})},u.prototype.toCanvas=function(){var t=[function(){return document.body.contains(this.prop.container)||this.toContainer()}];return this.thenList(t).then(r).then(function(t){var e=Object.assign({},this.opt.html2canvas);return delete e.onrendered,t(this.prop.container,e)}).then(function(t){(this.opt.html2canvas.onrendered||function(){})(t),this.prop.canvas=t,document.body.removeChild(this.prop.overlay)})},u.prototype.toContext2d=function(){var t=[function(){return document.body.contains(this.prop.container)||this.toContainer()}];return this.thenList(t).then(r).then(function(t){var e=this.opt.jsPDF,r=this.opt.fontFaces,n=\"number\"!=typeof this.opt.width||isNaN(this.opt.width)||\"number\"!=typeof this.opt.windowWidth||isNaN(this.opt.windowWidth)?1:this.opt.width/this.opt.windowWidth,i=Object.assign({async:!0,allowTaint:!0,scale:n,scrollX:this.opt.scrollX||0,scrollY:this.opt.scrollY||0,backgroundColor:\"#ffffff\",imageTimeout:15e3,logging:!0,proxy:null,removeContainer:!0,foreignObjectRendering:!1,useCORS:!1},this.opt.html2canvas);if(delete i.onrendered,e.context2d.autoPaging=void 0===this.opt.autoPaging||this.opt.autoPaging,e.context2d.posX=this.opt.x,e.context2d.posY=this.opt.y,e.context2d.margin=this.opt.margin,e.context2d.fontFaces=r,r)for(var a=0;a<r.length;++a){var o=r[a],s=o.src.find(function(t){return\"truetype\"===t.format});s&&e.addFont(s.url,o.ref.name,o.ref.style)}return i.windowHeight=i.windowHeight||0,i.windowHeight=0==i.windowHeight?Math.max(this.prop.container.clientHeight,this.prop.container.scrollHeight,this.prop.container.offsetHeight):i.windowHeight,e.context2d.save(!0),t(this.prop.container,i)}).then(function(t){this.opt.jsPDF.context2d.restore(!0),(this.opt.html2canvas.onrendered||function(){})(t),this.prop.canvas=t,document.body.removeChild(this.prop.overlay)})},u.prototype.toImg=function(){return this.thenList([function(){return this.prop.canvas||this.toCanvas()}]).then(function(){var t=this.prop.canvas.toDataURL(\"image/\"+this.opt.image.type,this.opt.image.quality);this.prop.img=document.createElement(\"img\"),this.prop.img.src=t})},u.prototype.toPdf=function(){return this.thenList([function(){return this.toContext2d()}]).then(function(){this.prop.pdf=this.prop.pdf||this.opt.jsPDF})},u.prototype.output=function(t,e,r){return\"img\"===(r=r||\"pdf\").toLowerCase()||\"image\"===r.toLowerCase()?this.outputImg(t,e):this.outputPdf(t,e)},u.prototype.outputPdf=function(t,e){return this.thenList([function(){return this.prop.pdf||this.toPdf()}]).then(function(){return this.prop.pdf.output(t,e)})},u.prototype.outputImg=function(t){return this.thenList([function(){return this.prop.img||this.toImg()}]).then(function(){switch(t){case void 0:case\"img\":return this.prop.img;case\"datauristring\":case\"dataurlstring\":return this.prop.img.src;case\"datauri\":case\"dataurl\":return document.location.href=this.prop.img.src;default:throw'Image output type \"'+t+'\" is not supported.'}})},u.prototype.save=function(t){return this.thenList([function(){return this.prop.pdf||this.toPdf()}]).set(t?{filename:t}:null).then(function(){this.prop.pdf.save(this.opt.filename)})},u.prototype.doCallback=function(){return this.thenList([function(){return this.prop.pdf||this.toPdf()}]).then(function(){this.prop.callback(this.prop.pdf)})},u.prototype.set=function(t){if(\"object\"!==a(t))return this;var e=Object.keys(t||{}).map(function(e){if(e in u.template.prop)return function(){this.prop[e]=t[e]};switch(e){case\"margin\":return this.setMargin.bind(this,t.margin);case\"jsPDF\":return function(){return this.opt.jsPDF=t.jsPDF,this.setPageSize()};case\"pageSize\":return this.setPageSize.bind(this,t.pageSize);default:return function(){this.opt[e]=t[e]}}},this);return this.then(function(){return this.thenList(e)})},u.prototype.get=function(t,e){return this.then(function(){var r=t in u.template.prop?this.prop[t]:this.opt[t];return e?e(r):r})},u.prototype.setMargin=function(t){return this.then(function(){switch(a(t)){case\"number\":t=[t,t,t,t];case\"array\":if(2===t.length&&(t=[t[0],t[1],t[0],t[1]]),4===t.length)break;default:return this.error(\"Invalid margin array.\")}this.opt.margin=t}).then(this.setPageSize)},u.prototype.setPageSize=function(t){function e(t,e){return Math.floor(t*e/72*96)}return this.then(function(){(t=t||E.getPageSize(this.opt.jsPDF)).hasOwnProperty(\"inner\")||(t.inner={width:t.width-this.opt.margin[1]-this.opt.margin[3],height:t.height-this.opt.margin[0]-this.opt.margin[2]},t.inner.px={width:e(t.inner.width,t.k),height:e(t.inner.height,t.k)},t.inner.ratio=t.inner.height/t.inner.width),this.prop.pageSize=t})},u.prototype.setProgress=function(t,e,r,n){return null!=t&&(this.progress.val=t),null!=e&&(this.progress.state=e),null!=r&&(this.progress.n=r),null!=n&&(this.progress.stack=n),this.progress.ratio=this.progress.val/this.progress.state,this},u.prototype.updateProgress=function(t,e,r,n){return this.setProgress(t?this.progress.val+t:null,e||null,r?this.progress.n+r:null,n?this.progress.stack.concat(n):null)},u.prototype.then=function(t,e){var r=this;return this.thenCore(t,e,function(t,e){return r.updateProgress(null,null,1,[t]),Promise.prototype.then.call(this,function(e){return r.updateProgress(null,t),e}).then(t,e).then(function(t){return r.updateProgress(1),t})})},u.prototype.thenCore=function(t,e,r){r=r||Promise.prototype.then;var n=this;t&&(t=t.bind(n)),e&&(e=e.bind(n));var i=-1!==Promise.toString().indexOf(\"[native code]\")&&\"Promise\"===Promise.name?n:u.convert(Object.assign({},n),Promise.prototype),a=r.call(i,t,e);return u.convert(a,n.__proto__)},u.prototype.thenExternal=function(t,e){return Promise.prototype.then.call(this,t,e)},u.prototype.thenList=function(t){var e=this;return t.forEach(function(t){e=e.thenCore(t)}),e},u.prototype.catch=function(t){t&&(t=t.bind(this));var e=Promise.prototype.catch.call(this,t);return u.convert(e,this)},u.prototype.catchExternal=function(t){return Promise.prototype.catch.call(this,t)},u.prototype.error=function(t){return this.then(function(){throw new Error(t)})},u.prototype.using=u.prototype.set,u.prototype.saveAs=u.prototype.save,u.prototype.export=u.prototype.output,u.prototype.run=u.prototype.then,E.getPageSize=function(e,r,n){if(\"object\"===t(e)){var i=e;e=i.orientation,r=i.unit||r,n=i.format||n}r=r||\"mm\",n=n||\"a4\",e=(\"\"+(e||\"P\")).toLowerCase();var a,o=(\"\"+n).toLowerCase(),s={a0:[2383.94,3370.39],a1:[1683.78,2383.94],a2:[1190.55,1683.78],a3:[841.89,1190.55],a4:[595.28,841.89],a5:[419.53,595.28],a6:[297.64,419.53],a7:[209.76,297.64],a8:[147.4,209.76],a9:[104.88,147.4],a10:[73.7,104.88],b0:[2834.65,4008.19],b1:[2004.09,2834.65],b2:[1417.32,2004.09],b3:[1000.63,1417.32],b4:[708.66,1000.63],b5:[498.9,708.66],b6:[354.33,498.9],b7:[249.45,354.33],b8:[175.75,249.45],b9:[124.72,175.75],b10:[87.87,124.72],c0:[2599.37,3676.54],c1:[1836.85,2599.37],c2:[1298.27,1836.85],c3:[918.43,1298.27],c4:[649.13,918.43],c5:[459.21,649.13],c6:[323.15,459.21],c7:[229.61,323.15],c8:[161.57,229.61],c9:[113.39,161.57],c10:[79.37,113.39],dl:[311.81,623.62],letter:[612,792],\"government-letter\":[576,756],legal:[612,1008],\"junior-legal\":[576,360],ledger:[1224,792],tabloid:[792,1224],\"credit-card\":[153,243]};switch(r){case\"pt\":a=1;break;case\"mm\":a=72/25.4;break;case\"cm\":a=72/2.54;break;case\"in\":a=72;break;case\"px\":a=.75;break;case\"pc\":case\"em\":a=12;break;case\"ex\":a=6;break;default:throw\"Invalid unit: \"+r}var u,c=0,l=0;if(s.hasOwnProperty(o))c=s[o][1]/a,l=s[o][0]/a;else try{c=n[1],l=n[0]}catch(h){throw new Error(\"Invalid format: \"+n)}if(\"p\"===e||\"portrait\"===e)e=\"p\",l>c&&(u=l,l=c,c=u);else{if(\"l\"!==e&&\"landscape\"!==e)throw\"Invalid orientation: \"+e;e=\"l\",c>l&&(u=l,l=c,c=u)}return{width:l,height:c,unit:r,k:a,orientation:e}},e.html=function(t,e){(e=e||{}).callback=e.callback||function(){},e.html2canvas=e.html2canvas||{},e.html2canvas.canvas=e.html2canvas.canvas||this.canvas,e.jsPDF=e.jsPDF||this,e.fontFaces=e.fontFaces?e.fontFaces.map(Ot):null;var r=new u(e);return e.worker?r:r.from(t).doCallback()}}(E.API),E.API.addJS=function(t){var e,r,n=function(t){for(var e=\"\",r=0;r<t.length;r++){var n=t[r];if(\"(\"===n||\")\"===n){for(var i=0,a=r-1;a>=0&&\"\\\\\"===t[a];a--)i++;e+=i%2==0?\"\\\\\"+n:n}else e+=n}return e}(t);return this.internal.events.subscribe(\"postPutResources\",function(){e=this.internal.newObject(),this.internal.out(\"<<\"),this.internal.out(\"/Names [(EmbeddedJS) \"+(e+1)+\" 0 R]\"),this.internal.out(\">>\"),this.internal.out(\"endobj\"),r=this.internal.newObject(),this.internal.out(\"<<\"),this.internal.out(\"/S /JavaScript\"),this.internal.out(\"/JS (\"+n+\")\"),this.internal.out(\">>\"),this.internal.out(\"endobj\")}),this.internal.events.subscribe(\"putCatalog\",function(){void 0!==e&&void 0!==r&&this.internal.out(\"/Names <</JavaScript \"+e+\" 0 R>>\")}),this},\n/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e;t.events.push([\"postPutResources\",function(){var t=this,r=/^(\\d+) 0 obj$/;if(this.outline.root.children.length>0)for(var n=t.outline.render().split(/\\r\\n/),i=0;i<n.length;i++){var a=n[i],o=r.exec(a);if(null!=o){var s=o[1];t.internal.newObjectDeferredBegin(s,!1)}t.internal.write(a)}if(this.outline.createNamedDestinations){var u=this.internal.pages.length,c=[];for(i=0;i<u;i++){var l=t.internal.newObject();c.push(l);var h=t.internal.getPageInfo(i+1);t.internal.write(\"<< /D[\"+h.objId+\" 0 R /XYZ null null null]>> endobj\")}var f=t.internal.newObject();for(t.internal.write(\"<< /Names [ \"),i=0;i<c.length;i++)t.internal.write(\"(page_\"+(i+1)+\")\"+c[i]+\" 0 R\");t.internal.write(\" ] >>\",\"endobj\"),e=t.internal.newObject(),t.internal.write(\"<< /Dests \"+f+\" 0 R\"),t.internal.write(\">>\",\"endobj\")}}]),t.events.push([\"putCatalog\",function(){var t=this;t.outline.root.children.length>0&&(t.internal.write(\"/Outlines\",this.outline.makeRef(this.outline.root)),this.outline.createNamedDestinations&&t.internal.write(\"/Names \"+e+\" 0 R\"))}]),t.events.push([\"initialized\",function(){var t=this;t.outline={createNamedDestinations:!1,root:{children:[]}},t.outline.add=function(t,e,r){var n={title:e,options:r,children:[]};return null==t&&(t=this.root),t.children.push(n),n},t.outline.render=function(){return this.ctx={},this.ctx.val=\"\",this.ctx.pdf=t,this.genIds_r(this.root),this.renderRoot(this.root),this.renderItems(this.root),this.ctx.val},t.outline.genIds_r=function(e){e.id=t.internal.newObjectDeferred();for(var r=0;r<e.children.length;r++)this.genIds_r(e.children[r])},t.outline.renderRoot=function(t){this.objStart(t),this.line(\"/Type /Outlines\"),t.children.length>0&&(this.line(\"/First \"+this.makeRef(t.children[0])),this.line(\"/Last \"+this.makeRef(t.children[t.children.length-1]))),this.line(\"/Count \"+this.count_r({count:0},t)),this.objEnd()},t.outline.renderItems=function(e){for(var r=this.ctx.pdf.internal.getVerticalCoordinateString,n=0;n<e.children.length;n++){var i=e.children[n];this.objStart(i),this.line(\"/Title \"+this.makeString(i.title)),this.line(\"/Parent \"+this.makeRef(e)),n>0&&this.line(\"/Prev \"+this.makeRef(e.children[n-1])),n<e.children.length-1&&this.line(\"/Next \"+this.makeRef(e.children[n+1])),i.children.length>0&&(this.line(\"/First \"+this.makeRef(i.children[0])),this.line(\"/Last \"+this.makeRef(i.children[i.children.length-1])));var a=this.count=this.count_r({count:0},i);if(a>0&&this.line(\"/Count \"+a),i.options&&i.options.pageNumber){var o=t.internal.getPageInfo(i.options.pageNumber);this.line(\"/Dest [\"+o.objId+\" 0 R /XYZ 0 \"+r(0)+\" 0]\")}this.objEnd()}for(var s=0;s<e.children.length;s++)this.renderItems(e.children[s])},t.outline.line=function(t){this.ctx.val+=t+\"\\r\\n\"},t.outline.makeRef=function(t){return t.id+\" 0 R\"},t.outline.makeString=function(e){return\"(\"+t.internal.pdfEscape(e)+\")\"},t.outline.objStart=function(t){this.ctx.val+=\"\\r\\n\"+t.id+\" 0 obj\\r\\n<<\\r\\n\"},t.outline.objEnd=function(){this.ctx.val+=\">> \\r\\nendobj\\r\\n\"},t.outline.count_r=function(t,e){for(var r=0;r<e.children.length;r++)t.count++,this.count_r(t,e.children[r]);return t.count}}])}(E.API),\n/**\n * @license\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e=[192,193,194,195,196,197,198,199];t.processJPEG=function(t,r,n,i,a,o){var s,u=this.decode.DCT_DECODE,c=null;if(\"string\"==typeof t||this.__addimage__.isArrayBuffer(t)||this.__addimage__.isArrayBufferView(t)){switch(t=a||t,t=this.__addimage__.isArrayBuffer(t)?new Uint8Array(t):t,s=function(t){for(var r,n=256*t.charCodeAt(4)+t.charCodeAt(5),i=t.length,a={width:0,height:0,numcomponents:1},o=4;o<i;o+=2){if(o+=n,-1!==e.indexOf(t.charCodeAt(o+1))){r=256*t.charCodeAt(o+5)+t.charCodeAt(o+6),a={width:256*t.charCodeAt(o+7)+t.charCodeAt(o+8),height:r,numcomponents:t.charCodeAt(o+9)};break}n=256*t.charCodeAt(o+2)+t.charCodeAt(o+3)}return a}(t=this.__addimage__.isArrayBufferView(t)?this.__addimage__.arrayBufferToBinaryString(t):t),s.numcomponents){case 1:o=this.color_spaces.DEVICE_GRAY;break;case 4:o=this.color_spaces.DEVICE_CMYK;break;case 3:o=this.color_spaces.DEVICE_RGB}c={data:t,width:s.width,height:s.height,colorSpace:o,bitsPerComponent:8,filter:u,index:r,alias:n}}return c}}(E.API),E.API.processPNG=function(t,i,a,o){if(this.__addimage__.isArrayBuffer(t)&&(t=new Uint8Array(t)),this.__addimage__.isArrayBufferView(t)){var s,u=n(t,{checkCrc:!0}),c=u.width,l=u.height,h=u.channels,f=u.palette,d=u.depth;s=f&&1===h?function(t){for(var e=t.width,n=t.height,i=t.data,a=t.palette,o=t.depth,s=!1,u=[],c=[],l=void 0,h=!1,f=0,d=0;d<a.length;d++){var p=r(a[d],4),g=p[0],m=p[1],v=p[2],b=p[3];u.push(g,m,v),null!=b&&(0===b?(f++,c.length<1&&c.push(d)):b<255&&(h=!0))}if(h||f>1){s=!0,c=void 0;var y=e*n;l=new Uint8Array(y);for(var w=new DataView(i.buffer),N=0;N<y;N++){var L=ee(w,N,o),x=r(a[L],4)[3];l[N]=x}}else 0===f&&(c=void 0);return{colorSpace:\"Indexed\",colorsPerPixel:1,sMaskBitsPerComponent:s?8:void 0,colorBytes:i,alphaBytes:l,needSMask:s,palette:u,mask:c}}(u):2===h||4===h?function(t){for(var e=t.data,r=t.width,n=t.height,i=t.channels,a=t.depth,o=2===i?\"DeviceGray\":\"DeviceRGB\",s=i-1,u=r*n,c=s,l=u*c,h=1*u,f=Math.ceil(l*a/8),d=Math.ceil(h*a/8),p=new Uint8Array(f),g=new Uint8Array(d),m=new DataView(e.buffer),v=new DataView(p.buffer),b=new DataView(g.buffer),y=!1,w=0;w<u;w++){for(var N=w*i,L=0;L<c;L++)re(v,ee(m,N+L,a),w*c+L,a);var x=ee(m,N+c,a);x<(1<<a)-1&&(y=!0),re(b,x,1*w,a)}return{colorSpace:o,colorsPerPixel:s,sMaskBitsPerComponent:y?a:void 0,colorBytes:p,alphaBytes:g,needSMask:y}}(u):function(t){var e=t.data,r=1===t.channels?\"DeviceGray\":\"DeviceRGB\";return{colorSpace:r,colorsPerPixel:\"DeviceGray\"===r?1:3,colorBytes:e instanceof Uint16Array?function(t){for(var e=t.length,r=new Uint8Array(2*e),n=new DataView(r.buffer,r.byteOffset,r.byteLength),i=0;i<e;i++)n.setUint16(2*i,t[i],!1);return r}(e):e,needSMask:!1}}(u);var p,g,m,v=s,b=v.colorSpace,y=v.colorsPerPixel,w=v.sMaskBitsPerComponent,N=v.colorBytes,L=v.alphaBytes,x=v.needSMask,A=v.palette,S=v.mask,_=null;return o!==E.API.image_compression.NONE&&\"function\"==typeof e?(_=function(t){var e;switch(t){case E.API.image_compression.FAST:e=11;break;case E.API.image_compression.MEDIUM:e=13;break;case E.API.image_compression.SLOW:e=14;break;default:e=12}return e}(o),p=this.decode.FLATE_DECODE,g=\"/Predictor \".concat(_,\" /Colors \").concat(y,\" /BitsPerComponent \").concat(d,\" /Columns \").concat(c),t=Yt(N,Math.ceil(c*y*d/8),y,d,o),x&&(m=Yt(L,Math.ceil(c*w/8),1,w,o))):(p=void 0,g=void 0,t=N,x&&(m=L)),(this.__addimage__.isArrayBuffer(t)||this.__addimage__.isArrayBufferView(t))&&(t=this.__addimage__.arrayBufferToBinaryString(t)),(m&&this.__addimage__.isArrayBuffer(m)||this.__addimage__.isArrayBufferView(m))&&(m=this.__addimage__.arrayBufferToBinaryString(m)),{alias:a,data:t,index:i,filter:p,decodeParameters:g,transparency:S,palette:A,sMask:m,predictor:_,width:c,height:l,bitsPerComponent:d,sMaskBitsPerComponent:w,colorSpace:b}}},function(t){t.processGIF89A=function(e,r,n,i){var a=new ie(e),o=a.width,s=a.height,u=[];a.decodeAndBlitFrameRGBA(0,u);var c={data:u,width:o,height:s},l=new oe(100).encode(c,100);return t.processJPEG.call(this,l,r,n,i)},t.processGIF87A=t.processGIF89A}(E.API),se.prototype.parseHeader=function(){if(this.fileSize=this.datav.getUint32(this.pos,!0),this.pos+=4,this.reserved=this.datav.getUint32(this.pos,!0),this.pos+=4,this.offset=this.datav.getUint32(this.pos,!0),this.pos+=4,this.headerSize=this.datav.getUint32(this.pos,!0),this.pos+=4,this.width=this.datav.getUint32(this.pos,!0),this.pos+=4,this.height=this.datav.getInt32(this.pos,!0),this.pos+=4,this.planes=this.datav.getUint16(this.pos,!0),this.pos+=2,this.bitPP=this.datav.getUint16(this.pos,!0),this.pos+=2,this.compress=this.datav.getUint32(this.pos,!0),this.pos+=4,this.rawSize=this.datav.getUint32(this.pos,!0),this.pos+=4,this.hr=this.datav.getUint32(this.pos,!0),this.pos+=4,this.vr=this.datav.getUint32(this.pos,!0),this.pos+=4,this.colors=this.datav.getUint32(this.pos,!0),this.pos+=4,this.importantColors=this.datav.getUint32(this.pos,!0),this.pos+=4,16===this.bitPP&&this.is_with_alpha&&(this.bitPP=15),this.bitPP<15){var t=0===this.colors?1<<this.bitPP:this.colors;this.palette=new Array(t);for(var e=0;e<t;e++){var r=this.datav.getUint8(this.pos++,!0),n=this.datav.getUint8(this.pos++,!0),i=this.datav.getUint8(this.pos++,!0),a=this.datav.getUint8(this.pos++,!0);this.palette[e]={red:i,green:n,blue:r,quad:a}}}this.height<0&&(this.height*=-1,this.bottom_up=!1)},se.prototype.parseBGR=function(){this.pos=this.offset;var t=\"bit\"+this.bitPP,e=this.width*this.height*4;if(e>536870912)throw new Error(\"Image dimensions exceed 512MB, which is too large.\");this.data=new Uint8Array(e);try{this[t]()}catch(r){o.log(\"bit decode error:\"+r)}},se.prototype.bit1=function(){var t,e=Math.ceil(this.width/8),r=e%4;for(t=this.height-1;t>=0;t--){for(var n=this.bottom_up?t:this.height-1-t,i=0;i<e;i++)for(var a=this.datav.getUint8(this.pos++,!0),o=n*this.width*4+8*i*4,s=0;s<8&&8*i+s<this.width;s++){var u=this.palette[a>>7-s&1];this.data[o+4*s]=u.blue,this.data[o+4*s+1]=u.green,this.data[o+4*s+2]=u.red,this.data[o+4*s+3]=255}0!==r&&(this.pos+=4-r)}},se.prototype.bit4=function(){for(var t=Math.ceil(this.width/2),e=t%4,r=this.height-1;r>=0;r--){for(var n=this.bottom_up?r:this.height-1-r,i=0;i<t;i++){var a=this.datav.getUint8(this.pos++,!0),o=n*this.width*4+2*i*4,s=a>>4,u=15&a,c=this.palette[s];if(this.data[o]=c.blue,this.data[o+1]=c.green,this.data[o+2]=c.red,this.data[o+3]=255,2*i+1>=this.width)break;c=this.palette[u],this.data[o+4]=c.blue,this.data[o+4+1]=c.green,this.data[o+4+2]=c.red,this.data[o+4+3]=255}0!==e&&(this.pos+=4-e)}},se.prototype.bit8=function(){for(var t=this.width%4,e=this.height-1;e>=0;e--){for(var r=this.bottom_up?e:this.height-1-e,n=0;n<this.width;n++){var i=this.datav.getUint8(this.pos++,!0),a=r*this.width*4+4*n;if(i<this.palette.length){var o=this.palette[i];this.data[a]=o.red,this.data[a+1]=o.green,this.data[a+2]=o.blue,this.data[a+3]=255}else this.data[a]=255,this.data[a+1]=255,this.data[a+2]=255,this.data[a+3]=255}0!==t&&(this.pos+=4-t)}},se.prototype.bit15=function(){for(var t=this.width%3,e=parseInt(\"11111\",2),r=this.height-1;r>=0;r--){for(var n=this.bottom_up?r:this.height-1-r,i=0;i<this.width;i++){var a=this.datav.getUint16(this.pos,!0);this.pos+=2;var o=(a&e)/e*255|0,s=(a>>5&e)/e*255|0,u=(a>>10&e)/e*255|0,c=a>>15?255:0,l=n*this.width*4+4*i;this.data[l]=u,this.data[l+1]=s,this.data[l+2]=o,this.data[l+3]=c}this.pos+=t}},se.prototype.bit16=function(){for(var t=this.width%3,e=parseInt(\"11111\",2),r=parseInt(\"111111\",2),n=this.height-1;n>=0;n--){for(var i=this.bottom_up?n:this.height-1-n,a=0;a<this.width;a++){var o=this.datav.getUint16(this.pos,!0);this.pos+=2;var s=(o&e)/e*255|0,u=(o>>5&r)/r*255|0,c=(o>>11)/e*255|0,l=i*this.width*4+4*a;this.data[l]=c,this.data[l+1]=u,this.data[l+2]=s,this.data[l+3]=255}this.pos+=t}},se.prototype.bit24=function(){for(var t=this.height-1;t>=0;t--){for(var e=this.bottom_up?t:this.height-1-t,r=0;r<this.width;r++){var n=this.datav.getUint8(this.pos++,!0),i=this.datav.getUint8(this.pos++,!0),a=this.datav.getUint8(this.pos++,!0),o=e*this.width*4+4*r;this.data[o]=a,this.data[o+1]=i,this.data[o+2]=n,this.data[o+3]=255}this.pos+=this.width%4}},se.prototype.bit32=function(){for(var t=this.height-1;t>=0;t--)for(var e=this.bottom_up?t:this.height-1-t,r=0;r<this.width;r++){var n=this.datav.getUint8(this.pos++,!0),i=this.datav.getUint8(this.pos++,!0),a=this.datav.getUint8(this.pos++,!0),o=this.datav.getUint8(this.pos++,!0),s=e*this.width*4+4*r;this.data[s]=a,this.data[s+1]=i,this.data[s+2]=n,this.data[s+3]=o}},se.prototype.getData=function(){return this.data},\n/**\n * @license\n * Copyright (c) 2018 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){t.processBMP=function(e,r,n,i){var a=new se(e,!1),o=a.width,s=a.height,u={data:a.getData(),width:o,height:s},c=new oe(100).encode(u,100);return t.processJPEG.call(this,c,r,n,i)}}(E.API),ue.prototype.getData=function(){return this.data},\n/**\n * @license\n * Copyright (c) 2019 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){t.processWEBP=function(e,r,n,i){var a=new ue(e),o=a.width,s=a.height,u={data:a.getData(),width:o,height:s},c=new oe(100).encode(u,100);return t.processJPEG.call(this,c,r,n,i)}}(E.API),E.API.processRGBA=function(t,e,r){for(var n=t.data,i=n.length,a=new Uint8Array(i/4*3),o=new Uint8Array(i/4),s=0,u=0,c=0;c<i;c+=4){var l=n[c],h=n[c+1],f=n[c+2],d=n[c+3];a[s++]=l,a[s++]=h,a[s++]=f,o[u++]=d}var p=this.__addimage__.arrayBufferToBinaryString(a);return{alpha:this.__addimage__.arrayBufferToBinaryString(o),data:p,index:e,alias:r,colorSpace:\"DeviceRGB\",bitsPerComponent:8,width:t.width,height:t.height}},E.API.setLanguage=function(t){return void 0===this.internal.languageSettings&&(this.internal.languageSettings={},this.internal.languageSettings.isSubscribed=!1),void 0!=={af:\"Afrikaans\",sq:\"Albanian\",ar:\"Arabic (Standard)\",\"ar-DZ\":\"Arabic (Algeria)\",\"ar-BH\":\"Arabic (Bahrain)\",\"ar-EG\":\"Arabic (Egypt)\",\"ar-IQ\":\"Arabic (Iraq)\",\"ar-JO\":\"Arabic (Jordan)\",\"ar-KW\":\"Arabic (Kuwait)\",\"ar-LB\":\"Arabic (Lebanon)\",\"ar-LY\":\"Arabic (Libya)\",\"ar-MA\":\"Arabic (Morocco)\",\"ar-OM\":\"Arabic (Oman)\",\"ar-QA\":\"Arabic (Qatar)\",\"ar-SA\":\"Arabic (Saudi Arabia)\",\"ar-SY\":\"Arabic (Syria)\",\"ar-TN\":\"Arabic (Tunisia)\",\"ar-AE\":\"Arabic (U.A.E.)\",\"ar-YE\":\"Arabic (Yemen)\",an:\"Aragonese\",hy:\"Armenian\",as:\"Assamese\",ast:\"Asturian\",az:\"Azerbaijani\",eu:\"Basque\",be:\"Belarusian\",bn:\"Bengali\",bs:\"Bosnian\",br:\"Breton\",bg:\"Bulgarian\",my:\"Burmese\",ca:\"Catalan\",ch:\"Chamorro\",ce:\"Chechen\",zh:\"Chinese\",\"zh-HK\":\"Chinese (Hong Kong)\",\"zh-CN\":\"Chinese (PRC)\",\"zh-SG\":\"Chinese (Singapore)\",\"zh-TW\":\"Chinese (Taiwan)\",cv:\"Chuvash\",co:\"Corsican\",cr:\"Cree\",hr:\"Croatian\",cs:\"Czech\",da:\"Danish\",nl:\"Dutch (Standard)\",\"nl-BE\":\"Dutch (Belgian)\",en:\"English\",\"en-AU\":\"English (Australia)\",\"en-BZ\":\"English (Belize)\",\"en-CA\":\"English (Canada)\",\"en-IE\":\"English (Ireland)\",\"en-JM\":\"English (Jamaica)\",\"en-NZ\":\"English (New Zealand)\",\"en-PH\":\"English (Philippines)\",\"en-ZA\":\"English (South Africa)\",\"en-TT\":\"English (Trinidad & Tobago)\",\"en-GB\":\"English (United Kingdom)\",\"en-US\":\"English (United States)\",\"en-ZW\":\"English (Zimbabwe)\",eo:\"Esperanto\",et:\"Estonian\",fo:\"Faeroese\",fj:\"Fijian\",fi:\"Finnish\",fr:\"French (Standard)\",\"fr-BE\":\"French (Belgium)\",\"fr-CA\":\"French (Canada)\",\"fr-FR\":\"French (France)\",\"fr-LU\":\"French (Luxembourg)\",\"fr-MC\":\"French (Monaco)\",\"fr-CH\":\"French (Switzerland)\",fy:\"Frisian\",fur:\"Friulian\",gd:\"Gaelic (Scots)\",\"gd-IE\":\"Gaelic (Irish)\",gl:\"Galacian\",ka:\"Georgian\",de:\"German (Standard)\",\"de-AT\":\"German (Austria)\",\"de-DE\":\"German (Germany)\",\"de-LI\":\"German (Liechtenstein)\",\"de-LU\":\"German (Luxembourg)\",\"de-CH\":\"German (Switzerland)\",el:\"Greek\",gu:\"Gujurati\",ht:\"Haitian\",he:\"Hebrew\",hi:\"Hindi\",hu:\"Hungarian\",is:\"Icelandic\",id:\"Indonesian\",iu:\"Inuktitut\",ga:\"Irish\",it:\"Italian (Standard)\",\"it-CH\":\"Italian (Switzerland)\",ja:\"Japanese\",kn:\"Kannada\",ks:\"Kashmiri\",kk:\"Kazakh\",km:\"Khmer\",ky:\"Kirghiz\",tlh:\"Klingon\",ko:\"Korean\",\"ko-KP\":\"Korean (North Korea)\",\"ko-KR\":\"Korean (South Korea)\",la:\"Latin\",lv:\"Latvian\",lt:\"Lithuanian\",lb:\"Luxembourgish\",mk:\"North Macedonia\",ms:\"Malay\",ml:\"Malayalam\",mt:\"Maltese\",mi:\"Maori\",mr:\"Marathi\",mo:\"Moldavian\",nv:\"Navajo\",ng:\"Ndonga\",ne:\"Nepali\",no:\"Norwegian\",nb:\"Norwegian (Bokmal)\",nn:\"Norwegian (Nynorsk)\",oc:\"Occitan\",or:\"Oriya\",om:\"Oromo\",fa:\"Persian\",\"fa-IR\":\"Persian/Iran\",pl:\"Polish\",pt:\"Portuguese\",\"pt-BR\":\"Portuguese (Brazil)\",pa:\"Punjabi\",\"pa-IN\":\"Punjabi (India)\",\"pa-PK\":\"Punjabi (Pakistan)\",qu:\"Quechua\",rm:\"Rhaeto-Romanic\",ro:\"Romanian\",\"ro-MO\":\"Romanian (Moldavia)\",ru:\"Russian\",\"ru-MO\":\"Russian (Moldavia)\",sz:\"Sami (Lappish)\",sg:\"Sango\",sa:\"Sanskrit\",sc:\"Sardinian\",sd:\"Sindhi\",si:\"Singhalese\",sr:\"Serbian\",sk:\"Slovak\",sl:\"Slovenian\",so:\"Somani\",sb:\"Sorbian\",es:\"Spanish\",\"es-AR\":\"Spanish (Argentina)\",\"es-BO\":\"Spanish (Bolivia)\",\"es-CL\":\"Spanish (Chile)\",\"es-CO\":\"Spanish (Colombia)\",\"es-CR\":\"Spanish (Costa Rica)\",\"es-DO\":\"Spanish (Dominican Republic)\",\"es-EC\":\"Spanish (Ecuador)\",\"es-SV\":\"Spanish (El Salvador)\",\"es-GT\":\"Spanish (Guatemala)\",\"es-HN\":\"Spanish (Honduras)\",\"es-MX\":\"Spanish (Mexico)\",\"es-NI\":\"Spanish (Nicaragua)\",\"es-PA\":\"Spanish (Panama)\",\"es-PY\":\"Spanish (Paraguay)\",\"es-PE\":\"Spanish (Peru)\",\"es-PR\":\"Spanish (Puerto Rico)\",\"es-ES\":\"Spanish (Spain)\",\"es-UY\":\"Spanish (Uruguay)\",\"es-VE\":\"Spanish (Venezuela)\",sx:\"Sutu\",sw:\"Swahili\",sv:\"Swedish\",\"sv-FI\":\"Swedish (Finland)\",\"sv-SV\":\"Swedish (Sweden)\",ta:\"Tamil\",tt:\"Tatar\",te:\"Teluga\",th:\"Thai\",tig:\"Tigre\",ts:\"Tsonga\",tn:\"Tswana\",tr:\"Turkish\",tk:\"Turkmen\",uk:\"Ukrainian\",hsb:\"Upper Sorbian\",ur:\"Urdu\",ve:\"Venda\",vi:\"Vietnamese\",vo:\"Volapuk\",wa:\"Walloon\",cy:\"Welsh\",xh:\"Xhosa\",ji:\"Yiddish\",zu:\"Zulu\"}[t]&&(this.internal.languageSettings.languageCode=t,!1===this.internal.languageSettings.isSubscribed&&(this.internal.events.subscribe(\"putCatalog\",function(){this.internal.write(\"/Lang (\"+this.internal.languageSettings.languageCode+\")\")}),this.internal.languageSettings.isSubscribed=!0)),this},zt=E.API,Ut=zt.getCharWidthsArray=function(e,r){var n,i,a=(r=r||{}).font||this.internal.getFont(),o=r.fontSize||this.internal.getFontSize(),s=r.charSpace||this.internal.getCharSpace(),u=r.widths?r.widths:a.metadata.Unicode.widths,c=u.fof?u.fof:1,l=r.kerning?r.kerning:a.metadata.Unicode.kerning,h=l.fof?l.fof:1,f=!1!==r.doKerning,d=0,p=e.length,g=0,m=u[0]||c,v=[];for(n=0;n<p;n++)i=e.charCodeAt(n),\"function\"==typeof a.metadata.widthOfString?v.push((a.metadata.widthOfGlyph(a.metadata.characterToGlyph(i))+s*(1e3/o)||0)/1e3):(d=f&&\"object\"===t(l[i])&&!isNaN(parseInt(l[i][g],10))?l[i][g]/h:0,v.push((u[i]||m)/c+d)),g=i;return v},Ht=zt.getStringUnitWidth=function(t,e){var r=(e=e||{}).fontSize||this.internal.getFontSize(),n=e.font||this.internal.getFont(),i=e.charSpace||this.internal.getCharSpace();return zt.processArabic&&(t=zt.processArabic(t)),\"function\"==typeof n.metadata.widthOfString?n.metadata.widthOfString(t,r,i)/r:Ut.apply(this,arguments).reduce(function(t,e){return t+e},0)},Wt=function(t,e,r,n){for(var i=[],a=0,o=t.length,s=0;a!==o&&s+e[a]<r;)s+=e[a],a++;i.push(t.slice(0,a));var u=a;for(s=0;a!==o;)s+e[a]>n&&(i.push(t.slice(u,a)),s=0,u=a),s+=e[a],a++;return u!==a&&i.push(t.slice(u,a)),i},Vt=function(t,e,r){r||(r={});var n,i,a,o,s,u,c,l=[],h=[l],f=r.textIndent||0,d=0,p=0,g=t.split(\" \"),m=Ut.apply(this,[\" \",r])[0];if(u=-1===r.lineIndent?g[0].length+2:r.lineIndent||0){var v=Array(u).join(\" \"),b=[];g.map(function(t){(t=t.split(/\\s*\\n/)).length>1?b=b.concat(t.map(function(t,e){return(e&&t.length?\"\\n\":\"\")+t})):b.push(t[0])}),g=b,u=Ht.apply(this,[v,r])}for(a=0,o=g.length;a<o;a++){var y=0;if(n=g[a],u&&\"\\n\"==n[0]&&(n=n.substr(1),y=1),f+d+(p=(i=Ut.apply(this,[n,r])).reduce(function(t,e){return t+e},0))>e||y){if(p>e){for(s=Wt.apply(this,[n,i,e-(f+d),e]),l.push(s.shift()),l=[s.pop()];s.length;)h.push([s.shift()]);p=i.slice(n.length-(l[0]?l[0].length:0)).reduce(function(t,e){return t+e},0)}else l=[n];h.push(l),f=p+u,d=m}else l.push(n),f+=d+p,d=m}return c=u?function(t,e){return(e?v:\"\")+t.join(\" \")}:function(t){return t.join(\" \")},h.map(c)},zt.splitTextToSize=function(t,e,r){var n,i=(r=r||{}).fontSize||this.internal.getFontSize(),a=function(t){if(t.widths&&t.kerning)return{widths:t.widths,kerning:t.kerning};var e=this.internal.getFont(t.fontName,t.fontStyle),r=\"Unicode\";return e.metadata[r]?{widths:e.metadata[r].widths||{0:1},kerning:e.metadata[r].kerning||{}}:{font:e.metadata,fontSize:this.internal.getFontSize(),charSpace:this.internal.getCharSpace()}}.call(this,r);n=Array.isArray(t)?t:String(t).split(/\\r?\\n/);var o=1*this.internal.scaleFactor*e/i;a.textIndent=r.textIndent?1*r.textIndent*this.internal.scaleFactor/i:0,a.lineIndent=r.lineIndent;var s,u,c=[];for(s=0,u=n.length;s<u;s++)c=c.concat(Vt.apply(this,[n[s],o,a]));return c},function(e){e.__fontmetrics__=e.__fontmetrics__||{};for(var r=\"0123456789abcdef\",n=\"klmnopqrstuvwxyz\",i={},a={},o=0;o<16;o++)i[n[o]]=r[o],a[r[o]]=n[o];var s=function(t){return\"0x\"+parseInt(t,10).toString(16)},u=e.__fontmetrics__.compress=function(e){var r,n,i,o,c=[\"{\"];for(var l in e){if(r=e[l],isNaN(parseInt(l,10))?n=\"'\"+l+\"'\":(l=parseInt(l,10),n=(n=s(l).slice(2)).slice(0,-1)+a[n.slice(-1)]),\"number\"==typeof r)r<0?(i=s(r).slice(3),o=\"-\"):(i=s(r).slice(2),o=\"\"),i=o+i.slice(0,-1)+a[i.slice(-1)];else{if(\"object\"!==t(r))throw new Error(\"Don't know what to do with value type \"+t(r)+\".\");i=u(r)}c.push(n+i)}return c.push(\"}\"),c.join(\"\")},c=e.__fontmetrics__.uncompress=function(t){if(\"string\"!=typeof t)throw new Error(\"Invalid argument passed to uncompress.\");for(var e,r,n,a,o={},s=1,u=o,c=[],l=\"\",h=\"\",f=t.length-1,d=1;d<f;d+=1)\"'\"==(a=t[d])?e?(n=e.join(\"\"),e=void 0):e=[]:e?e.push(a):\"{\"==a?(c.push([u,n]),u={},n=void 0):\"}\"==a?((r=c.pop())[0][r[1]]=u,n=void 0,u=r[0]):\"-\"==a?s=-1:void 0===n?i.hasOwnProperty(a)?(l+=i[a],n=parseInt(l,16)*s,s=1,l=\"\"):l+=a:i.hasOwnProperty(a)?(h+=i[a],u[n]=parseInt(h,16)*s,s=1,n=void 0,h=\"\"):h+=a;return o},l={codePages:[\"WinAnsiEncoding\"],WinAnsiEncoding:c(\"{19m8n201n9q201o9r201s9l201t9m201u8m201w9n201x9o201y8o202k8q202l8r202m9p202q8p20aw8k203k8t203t8v203u9v2cq8s212m9t15m8w15n9w2dw9s16k8u16l9u17s9z17x8y17y9y}\")},h={Unicode:{Courier:l,\"Courier-Bold\":l,\"Courier-BoldOblique\":l,\"Courier-Oblique\":l,Helvetica:l,\"Helvetica-Bold\":l,\"Helvetica-BoldOblique\":l,\"Helvetica-Oblique\":l,\"Times-Roman\":l,\"Times-Bold\":l,\"Times-BoldItalic\":l,\"Times-Italic\":l}},f={Unicode:{\"Courier-Oblique\":c(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\"Times-BoldItalic\":c(\"{'widths'{k3o2q4ycx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2r202m2n2n3m2o3m2p5n202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5n4l4m4m4m4n4m4o4s4p4m4q4m4r4s4s4y4t2r4u3m4v4m4w3x4x5t4y4s4z4s5k3x5l4s5m4m5n3r5o3x5p4s5q4m5r5t5s4m5t3x5u3x5v2l5w1w5x2l5y3t5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q2l6r3m6s3r6t1w6u1w6v3m6w1w6x4y6y3r6z3m7k3m7l3m7m2r7n2r7o1w7p3r7q2w7r4m7s3m7t2w7u2r7v2n7w1q7x2n7y3t202l3mcl4mal2ram3man3mao3map3mar3mas2lat4uau1uav3maw3way4uaz2lbk2sbl3t'fof'6obo2lbp3tbq3mbr1tbs2lbu1ybv3mbz3mck4m202k3mcm4mcn4mco4mcp4mcq5ycr4mcs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz2w203k6o212m6o2dw2l2cq2l3t3m3u2l17s3x19m3m}'kerning'{cl{4qu5kt5qt5rs17ss5ts}201s{201ss}201t{cks4lscmscnscoscpscls2wu2yu201ts}201x{2wu2yu}2k{201ts}2w{4qx5kx5ou5qx5rs17su5tu}2x{17su5tu5ou}2y{4qx5kx5ou5qx5rs17ss5ts}'fof'-6ofn{17sw5tw5ou5qw5rs}7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qs}3v{17su5tu5os5qs}7p{17su5tu}ck{4qu5kt5qt5rs17ss5ts}4l{4qu5kt5qt5rs17ss5ts}cm{4qu5kt5qt5rs17ss5ts}cn{4qu5kt5qt5rs17ss5ts}co{4qu5kt5qt5rs17ss5ts}cp{4qu5kt5qt5rs17ss5ts}6l{4qu5ou5qw5rt17su5tu}5q{ckuclucmucnucoucpu4lu}5r{ckuclucmucnucoucpu4lu}7q{cksclscmscnscoscps4ls}6p{4qu5ou5qw5rt17sw5tw}ek{4qu5ou5qw5rt17su5tu}el{4qu5ou5qw5rt17su5tu}em{4qu5ou5qw5rt17su5tu}en{4qu5ou5qw5rt17su5tu}eo{4qu5ou5qw5rt17su5tu}ep{4qu5ou5qw5rt17su5tu}es{17ss5ts5qs4qu}et{4qu5ou5qw5rt17sw5tw}eu{4qu5ou5qw5rt17ss5ts}ev{17ss5ts5qs4qu}6z{17sw5tw5ou5qw5rs}fm{17sw5tw5ou5qw5rs}7n{201ts}fo{17sw5tw5ou5qw5rs}fp{17sw5tw5ou5qw5rs}fq{17sw5tw5ou5qw5rs}7r{cksclscmscnscoscps4ls}fs{17sw5tw5ou5qw5rs}ft{17su5tu}fu{17su5tu}fv{17su5tu}fw{17su5tu}fz{cksclscmscnscoscps4ls}}}\"),\"Helvetica-Bold\":c(\"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"),Courier:c(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\"Courier-BoldOblique\":c(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\"Times-Bold\":c(\"{'widths'{k3q2q5ncx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2l202m2n2n3m2o3m2p6o202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5x4l4s4m4m4n4s4o4s4p4m4q3x4r4y4s4y4t2r4u3m4v4y4w4m4x5y4y4s4z4y5k3x5l4y5m4s5n3r5o4m5p4s5q4s5r6o5s4s5t4s5u4m5v2l5w1w5x2l5y3u5z3m6k2l6l3m6m3r6n2w6o3r6p2w6q2l6r3m6s3r6t1w6u2l6v3r6w1w6x5n6y3r6z3m7k3r7l3r7m2w7n2r7o2l7p3r7q3m7r4s7s3m7t3m7u2w7v2r7w1q7x2r7y3o202l3mcl4sal2lam3man3mao3map3mar3mas2lat4uau1yav3maw3tay4uaz2lbk2sbl3t'fof'6obo2lbp3rbr1tbs2lbu2lbv3mbz3mck4s202k3mcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3rek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3m3u2l17s4s19m3m}'kerning'{cl{4qt5ks5ot5qy5rw17sv5tv}201t{cks4lscmscnscoscpscls4wv}2k{201ts}2w{4qu5ku7mu5os5qx5ru17su5tu}2x{17su5tu5ou5qs}2y{4qv5kv7mu5ot5qz5ru17su5tu}'fof'-6o7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qu}3v{17su5tu5os5qu}fu{17su5tu5ou5qu}7p{17su5tu5ou5qu}ck{4qt5ks5ot5qy5rw17sv5tv}4l{4qt5ks5ot5qy5rw17sv5tv}cm{4qt5ks5ot5qy5rw17sv5tv}cn{4qt5ks5ot5qy5rw17sv5tv}co{4qt5ks5ot5qy5rw17sv5tv}cp{4qt5ks5ot5qy5rw17sv5tv}6l{17st5tt5ou5qu}17s{ckuclucmucnucoucpu4lu4wu}5o{ckuclucmucnucoucpu4lu4wu}5q{ckzclzcmzcnzcozcpz4lz4wu}5r{ckxclxcmxcnxcoxcpx4lx4wu}5t{ckuclucmucnucoucpu4lu4wu}7q{ckuclucmucnucoucpu4lu}6p{17sw5tw5ou5qu}ek{17st5tt5qu}el{17st5tt5ou5qu}em{17st5tt5qu}en{17st5tt5qu}eo{17st5tt5qu}ep{17st5tt5ou5qu}es{17ss5ts5qu}et{17sw5tw5ou5qu}eu{17sw5tw5ou5qu}ev{17ss5ts5qu}6z{17sw5tw5ou5qu5rs}fm{17sw5tw5ou5qu5rs}fn{17sw5tw5ou5qu5rs}fo{17sw5tw5ou5qu5rs}fp{17sw5tw5ou5qu5rs}fq{17sw5tw5ou5qu5rs}7r{cktcltcmtcntcotcpt4lt5os}fs{17sw5tw5ou5qu5rs}ft{17su5tu5ou5qu}7m{5os}fv{17su5tu5ou5qu}fw{17su5tu5ou5qu}fz{cksclscmscnscoscps4ls}}}\"),Symbol:c(\"{'widths'{k3uaw4r19m3m2k1t2l2l202m2y2n3m2p5n202q6o3k3m2s2l2t2l2v3r2w1t3m3m2y1t2z1wbk2sbl3r'fof'6o3n3m3o3m3p3m3q3m3r3m3s3m3t3m3u1w3v1w3w3r3x3r3y3r3z2wbp3t3l3m5v2l5x2l5z3m2q4yfr3r7v3k7w1o7x3k}'kerning'{'fof'-6o}}\"),Helvetica:c(\"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\"),\"Helvetica-BoldOblique\":c(\"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"),ZapfDingbats:c(\"{'widths'{k4u2k1w'fof'6o}'kerning'{'fof'-6o}}\"),\"Courier-Bold\":c(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\"Times-Italic\":c(\"{'widths'{k3n2q4ycx2l201n3m201o5t201s2l201t2l201u2l201w3r201x3r201y3r2k1t2l2l202m2n2n3m2o3m2p5n202q5t2r1p2s2l2t2l2u3m2v4n2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w4n3x4n3y4n3z3m4k5w4l3x4m3x4n4m4o4s4p3x4q3x4r4s4s4s4t2l4u2w4v4m4w3r4x5n4y4m4z4s5k3x5l4s5m3x5n3m5o3r5p4s5q3x5r5n5s3x5t3r5u3r5v2r5w1w5x2r5y2u5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q1w6r3m6s3m6t1w6u1w6v2w6w1w6x4s6y3m6z3m7k3m7l3m7m2r7n2r7o1w7p3m7q2w7r4m7s2w7t2w7u2r7v2s7w1v7x2s7y3q202l3mcl3xal2ram3man3mao3map3mar3mas2lat4wau1vav3maw4nay4waz2lbk2sbl4n'fof'6obo2lbp3mbq3obr1tbs2lbu1zbv3mbz3mck3x202k3mcm3xcn3xco3xcp3xcq5tcr4mcs3xct3xcu3xcv3xcw2l2m2ucy2lcz2ldl4mdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr4nfs3mft3mfu3mfv3mfw3mfz2w203k6o212m6m2dw2l2cq2l3t3m3u2l17s3r19m3m}'kerning'{cl{5kt4qw}201s{201sw}201t{201tw2wy2yy6q-t}201x{2wy2yy}2k{201tw}2w{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}2x{17ss5ts5os}2y{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}'fof'-6o6t{17ss5ts5qs}7t{5os}3v{5qs}7p{17su5tu5qs}ck{5kt4qw}4l{5kt4qw}cm{5kt4qw}cn{5kt4qw}co{5kt4qw}cp{5kt4qw}6l{4qs5ks5ou5qw5ru17su5tu}17s{2ks}5q{ckvclvcmvcnvcovcpv4lv}5r{ckuclucmucnucoucpu4lu}5t{2ks}6p{4qs5ks5ou5qw5ru17su5tu}ek{4qs5ks5ou5qw5ru17su5tu}el{4qs5ks5ou5qw5ru17su5tu}em{4qs5ks5ou5qw5ru17su5tu}en{4qs5ks5ou5qw5ru17su5tu}eo{4qs5ks5ou5qw5ru17su5tu}ep{4qs5ks5ou5qw5ru17su5tu}es{5ks5qs4qs}et{4qs5ks5ou5qw5ru17su5tu}eu{4qs5ks5qw5ru17su5tu}ev{5ks5qs4qs}ex{17ss5ts5qs}6z{4qv5ks5ou5qw5ru17su5tu}fm{4qv5ks5ou5qw5ru17su5tu}fn{4qv5ks5ou5qw5ru17su5tu}fo{4qv5ks5ou5qw5ru17su5tu}fp{4qv5ks5ou5qw5ru17su5tu}fq{4qv5ks5ou5qw5ru17su5tu}7r{5os}fs{4qv5ks5ou5qw5ru17su5tu}ft{17su5tu5qs}fu{17su5tu5qs}fv{17su5tu5qs}fw{17su5tu5qs}}}\"),\"Times-Roman\":c(\"{'widths'{k3n2q4ycx2l201n3m201o6o201s2l201t2l201u2l201w2w201x2w201y2w2k1t2l2l202m2n2n3m2o3m2p5n202q6o2r1m2s2l2t2l2u3m2v3s2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v1w3w3s3x3s3y3s3z2w4k5w4l4s4m4m4n4m4o4s4p3x4q3r4r4s4s4s4t2l4u2r4v4s4w3x4x5t4y4s4z4s5k3r5l4s5m4m5n3r5o3x5p4s5q4s5r5y5s4s5t4s5u3x5v2l5w1w5x2l5y2z5z3m6k2l6l2w6m3m6n2w6o3m6p2w6q2l6r3m6s3m6t1w6u1w6v3m6w1w6x4y6y3m6z3m7k3m7l3m7m2l7n2r7o1w7p3m7q3m7r4s7s3m7t3m7u2w7v3k7w1o7x3k7y3q202l3mcl4sal2lam3man3mao3map3mar3mas2lat4wau1vav3maw3say4waz2lbk2sbl3s'fof'6obo2lbp3mbq2xbr1tbs2lbu1zbv3mbz2wck4s202k3mcm4scn4sco4scp4scq5tcr4mcs3xct3xcu3xcv3xcw2l2m2tcy2lcz2ldl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek2wel2wem2wen2weo2wep2weq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr3sfs3mft3mfu3mfv3mfw3mfz3m203k6o212m6m2dw2l2cq2l3t3m3u1w17s4s19m3m}'kerning'{cl{4qs5ku17sw5ou5qy5rw201ss5tw201ws}201s{201ss}201t{ckw4lwcmwcnwcowcpwclw4wu201ts}2k{201ts}2w{4qs5kw5os5qx5ru17sx5tx}2x{17sw5tw5ou5qu}2y{4qs5kw5os5qx5ru17sx5tx}'fof'-6o7t{ckuclucmucnucoucpu4lu5os5rs}3u{17su5tu5qs}3v{17su5tu5qs}7p{17sw5tw5qs}ck{4qs5ku17sw5ou5qy5rw201ss5tw201ws}4l{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cm{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cn{4qs5ku17sw5ou5qy5rw201ss5tw201ws}co{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cp{4qs5ku17sw5ou5qy5rw201ss5tw201ws}6l{17su5tu5os5qw5rs}17s{2ktclvcmvcnvcovcpv4lv4wuckv}5o{ckwclwcmwcnwcowcpw4lw4wu}5q{ckyclycmycnycoycpy4ly4wu5ms}5r{cktcltcmtcntcotcpt4lt4ws}5t{2ktclvcmvcnvcovcpv4lv4wuckv}7q{cksclscmscnscoscps4ls}6p{17su5tu5qw5rs}ek{5qs5rs}el{17su5tu5os5qw5rs}em{17su5tu5os5qs5rs}en{17su5qs5rs}eo{5qs5rs}ep{17su5tu5os5qw5rs}es{5qs}et{17su5tu5qw5rs}eu{17su5tu5qs5rs}ev{5qs}6z{17sv5tv5os5qx5rs}fm{5os5qt5rs}fn{17sv5tv5os5qx5rs}fo{17sv5tv5os5qx5rs}fp{5os5qt5rs}fq{5os5qt5rs}7r{ckuclucmucnucoucpu4lu5os}fs{17sv5tv5os5qx5rs}ft{17ss5ts5qs}fu{17sw5tw5qs}fv{17sw5tw5qs}fw{17ss5ts5qs}fz{ckuclucmucnucoucpu4lu5os5rs}}}\"),\"Helvetica-Oblique\":c(\"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\")}};e.events.push([\"addFont\",function(t){var e=t.font,r=f.Unicode[e.postScriptName];r&&(e.metadata.Unicode={},e.metadata.Unicode.widths=r.widths,e.metadata.Unicode.kerning=r.kerning);var n=h.Unicode[e.postScriptName];n&&(e.metadata.Unicode.encoding=n,e.encoding=n.codePages[0])}])}(E.API),\n/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e=function(t){for(var e=t.length,r=new Uint8Array(e),n=0;n<e;n++)r[n]=t.charCodeAt(n);return r};t.API.events.push([\"addFont\",function(r){var n=void 0,i=r.font,a=r.instance;if(!i.isStandardFont){if(void 0===a)throw new Error(\"Font does not exist in vFS, import fonts or remove declaration doc.addFont('\"+i.postScriptName+\"').\");if(\"string\"!=typeof(n=!1===a.existsFileInVFS(i.postScriptName)?a.loadFile(i.postScriptName):a.getFileFromVFS(i.postScriptName)))throw new Error(\"Font is not stored as string-data in vFS, import fonts or remove declaration doc.addFont('\"+i.postScriptName+\"').\");!function(r,n){n=/^\\x00\\x01\\x00\\x00/.test(n)?e(n):e(f(n)),r.metadata=t.API.TTFFont.open(n),r.metadata.Unicode=r.metadata.Unicode||{encoding:{},kerning:{},widths:[]},r.metadata.glyIdsUsed=[0]}(i,n)}}])}(E),E.API.addSvgAsImage=function(t,e,r,n,a,s,u,c){if(isNaN(e)||isNaN(r))throw o.error(\"jsPDF.addSvgAsImage: Invalid coordinates\",arguments),new Error(\"Invalid coordinates passed to jsPDF.addSvgAsImage\");if(isNaN(n)||isNaN(a))throw o.error(\"jsPDF.addSvgAsImage: Invalid measurements\",arguments),new Error(\"Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage\");var l=document.createElement(\"canvas\");l.width=n,l.height=a;var h=l.getContext(\"2d\");h.fillStyle=\"#fff\",h.fillRect(0,0,l.width,l.height);var f={ignoreMouse:!0,ignoreAnimation:!0,ignoreDimensions:!0},d=this;return(i.canvg?Promise.resolve(i.canvg):import(\"canvg\")).catch(function(t){return Promise.reject(new Error(\"Could not load canvg: \"+t))}).then(function(t){return t.default?t.default:t}).then(function(e){return e.fromString(h,t,f)},function(){return Promise.reject(new Error(\"Could not load canvg.\"))}).then(function(t){return t.render(f)}).then(function(){d.addImage(l.toDataURL(\"image/jpeg\",1),e,r,n,a,u,c)})},E.API.putTotalPages=function(t){var e,r=0;parseInt(this.internal.getFont().id.substr(1),10)<15?(e=new RegExp(t,\"g\"),r=this.internal.getNumberOfPages()):(e=new RegExp(this.pdfEscape16(t,this.internal.getFont()),\"g\"),r=this.pdfEscape16(this.internal.getNumberOfPages()+\"\",this.internal.getFont()));for(var n=1;n<=this.internal.getNumberOfPages();n++)for(var i=0;i<this.internal.pages[n].length;i++)this.internal.pages[n][i]=this.internal.pages[n][i].replace(e,r);return this},E.API.viewerPreferences=function(e,r){var n;e=e||{},r=r||!1;var i,a,o,s={HideToolbar:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideMenubar:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideWindowUI:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},FitWindow:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},CenterWindow:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},DisplayDocTitle:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.4},NonFullScreenPageMode:{defaultValue:\"UseNone\",value:\"UseNone\",type:\"name\",explicitSet:!1,valueSet:[\"UseNone\",\"UseOutlines\",\"UseThumbs\",\"UseOC\"],pdfVersion:1.3},Direction:{defaultValue:\"L2R\",value:\"L2R\",type:\"name\",explicitSet:!1,valueSet:[\"L2R\",\"R2L\"],pdfVersion:1.3},ViewArea:{defaultValue:\"CropBox\",value:\"CropBox\",type:\"name\",explicitSet:!1,valueSet:[\"MediaBox\",\"CropBox\",\"TrimBox\",\"BleedBox\",\"ArtBox\"],pdfVersion:1.4},ViewClip:{defaultValue:\"CropBox\",value:\"CropBox\",type:\"name\",explicitSet:!1,valueSet:[\"MediaBox\",\"CropBox\",\"TrimBox\",\"BleedBox\",\"ArtBox\"],pdfVersion:1.4},PrintArea:{defaultValue:\"CropBox\",value:\"CropBox\",type:\"name\",explicitSet:!1,valueSet:[\"MediaBox\",\"CropBox\",\"TrimBox\",\"BleedBox\",\"ArtBox\"],pdfVersion:1.4},PrintClip:{defaultValue:\"CropBox\",value:\"CropBox\",type:\"name\",explicitSet:!1,valueSet:[\"MediaBox\",\"CropBox\",\"TrimBox\",\"BleedBox\",\"ArtBox\"],pdfVersion:1.4},PrintScaling:{defaultValue:\"AppDefault\",value:\"AppDefault\",type:\"name\",explicitSet:!1,valueSet:[\"AppDefault\",\"None\"],pdfVersion:1.6},Duplex:{defaultValue:\"\",value:\"none\",type:\"name\",explicitSet:!1,valueSet:[\"Simplex\",\"DuplexFlipShortEdge\",\"DuplexFlipLongEdge\",\"none\"],pdfVersion:1.7},PickTrayByPDFSize:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.7},PrintPageRange:{defaultValue:\"\",value:\"\",type:\"array\",explicitSet:!1,valueSet:null,pdfVersion:1.7},NumCopies:{defaultValue:1,value:1,type:\"integer\",explicitSet:!1,valueSet:null,pdfVersion:1.7}},u=Object.keys(s),c=[],l=0,h=0,f=0;function d(t,e){var r,n=!1;for(r=0;r<t.length;r+=1)t[r]===e&&(n=!0);return n}if(void 0===this.internal.viewerpreferences&&(this.internal.viewerpreferences={},this.internal.viewerpreferences.configuration=JSON.parse(JSON.stringify(s)),this.internal.viewerpreferences.isSubscribed=!1),n=this.internal.viewerpreferences.configuration,\"reset\"===e||!0===r){var p=u.length;for(f=0;f<p;f+=1)n[u[f]].value=n[u[f]].defaultValue,n[u[f]].explicitSet=!1}if(\"object\"===t(e))for(a in e)if(o=e[a],d(u,a)&&void 0!==o){if(\"boolean\"===n[a].type&&\"boolean\"==typeof o)n[a].value=o;else if(\"name\"===n[a].type&&d(n[a].valueSet,o))n[a].value=o;else if(\"integer\"===n[a].type&&Number.isInteger(o))n[a].value=o;else if(\"array\"===n[a].type){for(l=0;l<o.length;l+=1)if(i=!0,1===o[l].length&&\"number\"==typeof o[l][0])c.push(String(o[l]-1));else if(o[l].length>1){for(h=0;h<o[l].length;h+=1)\"number\"!=typeof o[l][h]&&(i=!1);!0===i&&c.push([o[l][0]-1,o[l][1]-1].join(\" \"))}n[a].value=\"[\"+c.join(\" \")+\"]\"}else n[a].value=n[a].defaultValue;n[a].explicitSet=!0}return!1===this.internal.viewerpreferences.isSubscribed&&(this.internal.events.subscribe(\"putCatalog\",function(){var t,e=[];for(t in n)!0===n[t].explicitSet&&(\"name\"===n[t].type?e.push(\"/\"+t+\" /\"+n[t].value):e.push(\"/\"+t+\" \"+n[t].value));0!==e.length&&this.internal.write(\"/ViewerPreferences\\n<<\\n\"+e.join(\"\\n\")+\"\\n>>\")}),this.internal.viewerpreferences.isSubscribed=!0),this.internal.viewerpreferences.configuration=n,this},E.API.addMetadata=function(t,e){return void 0===this.internal.__metadata__&&(this.internal.__metadata__={metadata:t,namespaceUri:null!=e?e:\"http://jspdf.default.namespaceuri/\",rawXml:\"boolean\"==typeof e&&e},this.internal.events.subscribe(\"putCatalog\",le),this.internal.events.subscribe(\"postPutResources\",ce)),this},function(t){var e=t.API,r=e.pdfEscape16=function(t,e){for(var r,n=e.metadata.Unicode.widths,i=[\"\",\"0\",\"00\",\"000\",\"0000\"],a=[\"\"],o=0,s=t.length;o<s;++o){if(r=e.metadata.characterToGlyph(t.charCodeAt(o)),e.metadata.glyIdsUsed.push(r),e.metadata.toUnicode[r]=t.charCodeAt(o),-1==n.indexOf(r)&&(n.push(r),n.push([parseInt(e.metadata.widthOfGlyph(r),10)])),\"0\"==r)return a.join(\"\");r=r.toString(16),a.push(i[4-r.length],r)}return a.join(\"\")},n=function(t){var e,r,n,i,a,o,s;for(a=\"/CIDInit /ProcSet findresource begin\\n12 dict begin\\nbegincmap\\n/CIDSystemInfo <<\\n /Registry (Adobe)\\n /Ordering (UCS)\\n /Supplement 0\\n>> def\\n/CMapName /Adobe-Identity-UCS def\\n/CMapType 2 def\\n1 begincodespacerange\\n<0000><ffff>\\nendcodespacerange\",n=[],o=0,s=(r=Object.keys(t).sort(function(t,e){return t-e})).length;o<s;o++)e=r[o],n.length>=100&&(a+=\"\\n\"+n.length+\" beginbfchar\\n\"+n.join(\"\\n\")+\"\\nendbfchar\",n=[]),void 0!==t[e]&&null!==t[e]&&\"function\"==typeof t[e].toString&&(i=(\"0000\"+t[e].toString(16)).slice(-4),e=(\"0000\"+(+e).toString(16)).slice(-4),n.push(\"<\"+e+\"><\"+i+\">\"));return n.length&&(a+=\"\\n\"+n.length+\" beginbfchar\\n\"+n.join(\"\\n\")+\"\\nendbfchar\\n\"),a+\"endcmap\\nCMapName currentdict /CMap defineresource pop\\nend\\nend\"};e.events.push([\"putFont\",function(e){!function(e){var r=e.font,i=e.out,a=e.newObject,o=e.putStream;if(r.metadata instanceof t.API.TTFFont&&\"Identity-H\"===r.encoding){for(var s=r.metadata.Unicode.widths,u=r.metadata.subset.encode(r.metadata.glyIdsUsed,1),c=\"\",l=0;l<u.length;l++)c+=String.fromCharCode(u[l]);var h=a();o({data:c,addLength1:!0,objectId:h}),i(\"endobj\");var f=a();o({data:n(r.metadata.toUnicode),addLength1:!0,objectId:f}),i(\"endobj\");var d=a();i(\"<<\"),i(\"/Type /FontDescriptor\"),i(\"/FontName /\"+C(r.fontName)),i(\"/FontFile2 \"+h+\" 0 R\"),i(\"/FontBBox \"+t.API.PDFObject.convert(r.metadata.bbox)),i(\"/Flags \"+r.metadata.flags),i(\"/StemV \"+r.metadata.stemV),i(\"/ItalicAngle \"+r.metadata.italicAngle),i(\"/Ascent \"+r.metadata.ascender),i(\"/Descent \"+r.metadata.decender),i(\"/CapHeight \"+r.metadata.capHeight),i(\">>\"),i(\"endobj\");var p=a();i(\"<<\"),i(\"/Type /Font\"),i(\"/BaseFont /\"+C(r.fontName)),i(\"/FontDescriptor \"+d+\" 0 R\"),i(\"/W \"+t.API.PDFObject.convert(s)),i(\"/CIDToGIDMap /Identity\"),i(\"/DW 1000\"),i(\"/Subtype /CIDFontType2\"),i(\"/CIDSystemInfo\"),i(\"<<\"),i(\"/Supplement 0\"),i(\"/Registry (Adobe)\"),i(\"/Ordering (\"+r.encoding+\")\"),i(\">>\"),i(\">>\"),i(\"endobj\"),r.objectNumber=a(),i(\"<<\"),i(\"/Type /Font\"),i(\"/Subtype /Type0\"),i(\"/ToUnicode \"+f+\" 0 R\"),i(\"/BaseFont /\"+C(r.fontName)),i(\"/Encoding /\"+r.encoding),i(\"/DescendantFonts [\"+p+\" 0 R]\"),i(\">>\"),i(\"endobj\"),r.isAlreadyPutted=!0}}(e)}]),e.events.push([\"putFont\",function(e){!function(e){var r=e.font,i=e.out,a=e.newObject,o=e.putStream;if(r.metadata instanceof t.API.TTFFont&&\"WinAnsiEncoding\"===r.encoding){for(var s=r.metadata.rawData,u=\"\",c=0;c<s.length;c++)u+=String.fromCharCode(s[c]);var l=a();o({data:u,addLength1:!0,objectId:l}),i(\"endobj\");var h=a();o({data:n(r.metadata.toUnicode),addLength1:!0,objectId:h}),i(\"endobj\");var f=a();i(\"<<\"),i(\"/Descent \"+r.metadata.decender),i(\"/CapHeight \"+r.metadata.capHeight),i(\"/StemV \"+r.metadata.stemV),i(\"/Type /FontDescriptor\"),i(\"/FontFile2 \"+l+\" 0 R\"),i(\"/Flags 96\"),i(\"/FontBBox \"+t.API.PDFObject.convert(r.metadata.bbox)),i(\"/FontName /\"+C(r.fontName)),i(\"/ItalicAngle \"+r.metadata.italicAngle),i(\"/Ascent \"+r.metadata.ascender),i(\">>\"),i(\"endobj\"),r.objectNumber=a();for(var d=0;d<r.metadata.hmtx.widths.length;d++)r.metadata.hmtx.widths[d]=parseInt(r.metadata.hmtx.widths[d]*(1e3/r.metadata.head.unitsPerEm));i(\"<</Subtype/TrueType/Type/Font/ToUnicode \"+h+\" 0 R/BaseFont/\"+C(r.fontName)+\"/FontDescriptor \"+f+\" 0 R/Encoding/\"+r.encoding+\" /FirstChar 29 /LastChar 255 /Widths \"+t.API.PDFObject.convert(r.metadata.hmtx.widths)+\">>\"),i(\"endobj\"),r.isAlreadyPutted=!0}}(e)}]);var i=function(t){var e,n=t.text||\"\",i=t.x,a=t.y,o=t.options||{},s=t.mutex||{},u=s.pdfEscape,c=s.activeFontKey,l=s.fonts,h=c,f=\"\",d=0,p=\"\",g=l[h].encoding;if(\"Identity-H\"!==l[h].encoding)return{text:n,x:i,y:a,options:o,mutex:s};for(p=n,h=c,Array.isArray(n)&&(p=n[0]),d=0;d<p.length;d+=1)l[h].metadata.hasOwnProperty(\"cmap\")&&(e=l[h].metadata.cmap.unicode.codeMap[p[d].charCodeAt(0)]),e||p[d].charCodeAt(0)<256&&l[h].metadata.hasOwnProperty(\"Unicode\")?f+=p[d]:f+=\"\";var m=\"\";return parseInt(h.slice(1))<14||\"WinAnsiEncoding\"===g?m=u(f,h).split(\"\").map(function(t){return t.charCodeAt(0).toString(16)}).join(\"\"):\"Identity-H\"===g&&(m=r(f,l[h])),s.isHex=!0,{text:m,x:i,y:a,options:o,mutex:s}};e.events.push([\"postProcessText\",function(t){var e=t.text||\"\",r=[],n={text:e,x:t.x,y:t.y,options:t.options,mutex:t.mutex};if(Array.isArray(e)){var a=0;for(a=0;a<e.length;a+=1)Array.isArray(e[a])&&3===e[a].length?r.push([i(Object.assign({},n,{text:e[a][0]})).text,e[a][1],e[a][2]]):r.push(i(Object.assign({},n,{text:e[a]})).text);t.text=r}else t.text=i(Object.assign({},n,{text:e})).text}])}(E),\n/**\n * @license\n * jsPDF virtual FileSystem functionality\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e=function(){return void 0===this.internal.vFS&&(this.internal.vFS={}),!0};t.existsFileInVFS=function(t){return e.call(this),void 0!==this.internal.vFS[t]},t.addFileToVFS=function(t,r){return e.call(this),this.internal.vFS[t]=r,this},t.getFileFromVFS=function(t){return e.call(this),void 0!==this.internal.vFS[t]?this.internal.vFS[t]:null}}(E.API),\n/**\n * @license\n * Unicode Bidi Engine based on the work of Alex Shensis (@asthensis)\n * MIT License\n */\nfunction(t){t.__bidiEngine__=t.prototype.__bidiEngine__=function(t){var r,n,i,a,o,s,u,c=e,l=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],h=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],f={L:0,R:1,EN:2,AN:3,N:4,B:5,S:6},d={0:0,5:1,6:2,7:3,32:4,251:5,254:6,255:7},p=[\"(\",\")\",\"(\",\"<\",\">\",\"<\",\"[\",\"]\",\"[\",\"{\",\"}\",\"{\",\"«\",\"»\",\"«\",\"‹\",\"›\",\"‹\",\"⁅\",\"⁆\",\"⁅\",\"⁽\",\"⁾\",\"⁽\",\"₍\",\"₎\",\"₍\",\"≤\",\"≥\",\"≤\",\"〈\",\"〉\",\"〈\",\"﹙\",\"﹚\",\"﹙\",\"﹛\",\"﹜\",\"﹛\",\"﹝\",\"﹞\",\"﹝\",\"﹤\",\"﹥\",\"﹤\"],g=new RegExp(/^([1-4|9]|1[0-9]|2[0-9]|3[0168]|4[04589]|5[012]|7[78]|159|16[0-9]|17[0-2]|21[569]|22[03489]|250)$/),m=!1,v=0;this.__bidiEngine__={};var b=function(t){var e=t.charCodeAt(),r=e>>8,n=d[r];return void 0!==n?c[256*n+(255&e)]:252===r||253===r?\"AL\":g.test(r)?\"L\":8===r?\"R\":\"N\"},y=function(t){for(var e,r=0;r<t.length;r++){if(\"L\"===(e=b(t.charAt(r))))return!1;if(\"R\"===e)return!0}return!1},w=function(t,e,o,s){var u,c,l,h,f=e[s];switch(f){case\"L\":case\"R\":case\"LRE\":case\"RLE\":case\"LRO\":case\"RLO\":case\"PDF\":m=!1;break;case\"N\":case\"AN\":break;case\"EN\":m&&(f=\"AN\");break;case\"AL\":m=!0,f=\"R\";break;case\"WS\":case\"BN\":f=\"N\";break;case\"CS\":s<1||s+1>=e.length||\"EN\"!==(u=o[s-1])&&\"AN\"!==u||\"EN\"!==(c=e[s+1])&&\"AN\"!==c?f=\"N\":m&&(c=\"AN\"),f=c===u?c:\"N\";break;case\"ES\":f=\"EN\"===(u=s>0?o[s-1]:\"B\")&&s+1<e.length&&\"EN\"===e[s+1]?\"EN\":\"N\";break;case\"ET\":if(s>0&&\"EN\"===o[s-1]){f=\"EN\";break}if(m){f=\"N\";break}for(l=s+1,h=e.length;l<h&&\"ET\"===e[l];)l++;f=l<h&&\"EN\"===e[l]?\"EN\":\"N\";break;case\"NSM\":if(i&&!a){for(h=e.length,l=s+1;l<h&&\"NSM\"===e[l];)l++;if(l<h){var d=t[s],p=d>=1425&&d<=2303||64286===d;if(u=e[l],p&&(\"R\"===u||\"AL\"===u)){f=\"R\";break}}}f=s<1||\"B\"===(u=e[s-1])?\"N\":o[s-1];break;case\"B\":m=!1,r=!0,f=v;break;case\"S\":n=!0,f=\"N\"}return f},N=function(t,e,r){var n=t.split(\"\");return r&&L(n,r,{hiLevel:v}),n.reverse(),e&&e.reverse(),n.join(\"\")},L=function(t,e,i){var a,o,s,u,c,d=-1,p=t.length,g=0,y=[],N=v?h:l,L=[];for(m=!1,r=!1,n=!1,o=0;o<p;o++)L[o]=b(t[o]);for(s=0;s<p;s++){if(c=g,y[s]=w(t,L,y,s),a=240&(g=N[c][f[y[s]]]),g&=15,e[s]=u=N[g][5],a>0)if(16===a){for(o=d;o<s;o++)e[o]=1;d=-1}else d=-1;if(N[g][6])-1===d&&(d=s);else if(d>-1){for(o=d;o<s;o++)e[o]=u;d=-1}\"B\"===L[s]&&(e[s]=0),i.hiLevel|=u}n&&function(t,e,r){for(var n=0;n<r;n++)if(\"S\"===t[n]){e[n]=v;for(var i=n-1;i>=0&&\"WS\"===t[i];i--)e[i]=v}}(L,e,p)},x=function(t,e,n,i,a){if(!(a.hiLevel<t)){if(1===t&&1===v&&!r)return e.reverse(),void(n&&n.reverse());for(var o,s,u,c,l=e.length,h=0;h<l;){if(i[h]>=t){for(u=h+1;u<l&&i[u]>=t;)u++;for(c=h,s=u-1;c<s;c++,s--)o=e[c],e[c]=e[s],e[s]=o,n&&(o=n[c],n[c]=n[s],n[s]=o);h=u}h++}}},A=function(t,e,r){var n=t.split(\"\"),i={hiLevel:v};return r||(r=[]),L(n,r,i),function(t,e,r){if(0!==r.hiLevel&&u)for(var n,i=0;i<t.length;i++)1===e[i]&&(n=p.indexOf(t[i]))>=0&&(t[i]=p[n+1])}(n,r,i),x(2,n,e,r,i),x(1,n,e,r,i),n.join(\"\")};return this.__bidiEngine__.doBidiReorder=function(t,e,r){if(function(t,e){if(e)for(var r=0;r<t.length;r++)e[r]=r;void 0===a&&(a=y(t)),void 0===s&&(s=y(t))}(t,e),i||!o||s)if(i&&o&&a^s)v=a?1:0,t=N(t,e,r);else if(!i&&o&&s)v=a?1:0,t=A(t,e,r),t=N(t,e);else if(!i||a||o||s){if(i&&!o&&a^s)t=N(t,e),a?(v=0,t=A(t,e,r)):(v=1,t=A(t,e,r),t=N(t,e));else if(i&&a&&!o&&s)v=1,t=A(t,e,r),t=N(t,e);else if(!i&&!o&&a^s){var n=u;a?(v=1,t=A(t,e,r),v=0,u=!1,t=A(t,e,r),u=n):(v=0,t=A(t,e,r),t=N(t,e),v=1,u=!1,t=A(t,e,r),u=n,t=N(t,e))}}else v=0,t=A(t,e,r);else v=a?1:0,t=A(t,e,r);return t},this.__bidiEngine__.setOptions=function(t){t&&(i=t.isInputVisual,o=t.isOutputVisual,a=t.isInputRtl,s=t.isOutputRtl,u=t.isSymmetricSwapping)},this.__bidiEngine__.setOptions(t),this.__bidiEngine__};var e=[\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"S\",\"B\",\"S\",\"WS\",\"B\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"B\",\"B\",\"B\",\"S\",\"WS\",\"N\",\"N\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ES\",\"CS\",\"ES\",\"CS\",\"CS\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"CS\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"B\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"CS\",\"N\",\"ET\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"L\",\"N\",\"N\",\"BN\",\"N\",\"N\",\"ET\",\"ET\",\"EN\",\"EN\",\"N\",\"L\",\"N\",\"N\",\"N\",\"EN\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ET\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"R\",\"NSM\",\"R\",\"NSM\",\"NSM\",\"R\",\"NSM\",\"NSM\",\"R\",\"NSM\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"N\",\"N\",\"N\",\"N\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"N\",\"N\",\"AL\",\"ET\",\"ET\",\"AL\",\"CS\",\"AL\",\"N\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AL\",\"AL\",\"N\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"ET\",\"AN\",\"AN\",\"AL\",\"AL\",\"AL\",\"NSM\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AN\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AL\",\"AL\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"N\",\"AL\",\"AL\",\"NSM\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"N\",\"N\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AL\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"R\",\"R\",\"N\",\"N\",\"N\",\"N\",\"R\",\"N\",\"N\",\"N\",\"N\",\"N\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"BN\",\"BN\",\"BN\",\"L\",\"R\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"WS\",\"B\",\"LRE\",\"RLE\",\"PDF\",\"LRO\",\"RLO\",\"CS\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"CS\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"WS\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"N\",\"LRI\",\"RLI\",\"FSI\",\"PDI\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"EN\",\"L\",\"N\",\"N\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"ES\",\"ES\",\"N\",\"N\",\"N\",\"L\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"ES\",\"ES\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"R\",\"NSM\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"ES\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"N\",\"R\",\"N\",\"R\",\"R\",\"N\",\"R\",\"R\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"CS\",\"N\",\"CS\",\"N\",\"N\",\"CS\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ET\",\"N\",\"N\",\"ES\",\"ES\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"N\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"N\",\"N\",\"BN\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ES\",\"CS\",\"ES\",\"CS\",\"CS\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"CS\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\"],r=new t.__bidiEngine__({isInputVisual:!0});t.API.events.push([\"postProcessText\",function(t){var e=t.text;t.x,t.y;var n=t.options||{};t.mutex,n.lang;var i=[];if(n.isInputVisual=\"boolean\"!=typeof n.isInputVisual||n.isInputVisual,r.setOptions(n),\"[object Array]\"===Object.prototype.toString.call(e)){var a=0;for(i=[],a=0;a<e.length;a+=1)\"[object Array]\"===Object.prototype.toString.call(e[a])?i.push([r.doBidiReorder(e[a][0]),e[a][1],e[a][2]]):i.push([r.doBidiReorder(e[a])]);t.text=i}else t.text=r.doBidiReorder(e);r.setOptions({isInputVisual:!0})}])}(E),E.API.TTFFont=function(){function t(t){var e;if(this.rawData=t,e=this.contents=new fe(t),this.contents.pos=4,\"ttcf\"===e.readString(4))throw new Error(\"TTCF not supported.\");e.pos=0,this.parse(),this.subset=new Ce(this),this.registerTTF()}return t.open=function(e){return new t(e)},t.prototype.parse=function(){return this.directory=new de(this.contents),this.head=new me(this),this.name=new xe(this),this.cmap=new be(this),this.toUnicode={},this.hhea=new ye(this),this.maxp=new Ae(this),this.hmtx=new Se(this),this.post=new Ne(this),this.os2=new we(this),this.loca=new Ie(this),this.glyf=new Pe(this),this.ascender=this.os2.exists&&this.os2.ascender||this.hhea.ascender,this.decender=this.os2.exists&&this.os2.decender||this.hhea.decender,this.lineGap=this.os2.exists&&this.os2.lineGap||this.hhea.lineGap,this.bbox=[this.head.xMin,this.head.yMin,this.head.xMax,this.head.yMax]},t.prototype.registerTTF=function(){var t,e,r,n,i;if(this.scaleFactor=1e3/this.head.unitsPerEm,this.bbox=function(){var e,r,n,i;for(i=[],e=0,r=(n=this.bbox).length;e<r;e++)t=n[e],i.push(Math.round(t*this.scaleFactor));return i}.call(this),this.stemV=0,this.post.exists?(r=255&(n=this.post.italic_angle),32768&(e=n>>16)&&(e=-(1+(65535^e))),this.italicAngle=+(e+\".\"+r)):this.italicAngle=0,this.ascender=Math.round(this.ascender*this.scaleFactor),this.decender=Math.round(this.decender*this.scaleFactor),this.lineGap=Math.round(this.lineGap*this.scaleFactor),this.capHeight=this.os2.exists&&this.os2.capHeight||this.ascender,this.xHeight=this.os2.exists&&this.os2.xHeight||0,this.familyClass=(this.os2.exists&&this.os2.familyClass||0)>>8,this.isSerif=1===(i=this.familyClass)||2===i||3===i||4===i||5===i||7===i,this.isScript=10===this.familyClass,this.flags=0,this.post.isFixedPitch&&(this.flags|=1),this.isSerif&&(this.flags|=2),this.isScript&&(this.flags|=8),0!==this.italicAngle&&(this.flags|=64),this.flags|=32,!this.cmap.unicode)throw new Error(\"No unicode cmap for font\")},t.prototype.characterToGlyph=function(t){var e;return(null!=(e=this.cmap.unicode)?e.codeMap[t]:void 0)||0},t.prototype.widthOfGlyph=function(t){var e;return e=1e3/this.head.unitsPerEm,this.hmtx.forGlyph(t).advance*e},t.prototype.widthOfString=function(t,e,r){var n,i,a,o;for(a=0,i=0,o=(t=\"\"+t).length;0<=o?i<o:i>o;i=0<=o?++i:--i)n=t.charCodeAt(i),a+=this.widthOfGlyph(this.characterToGlyph(n))+r*(1e3/e)||0;return a*(e/1e3)},t.prototype.lineHeight=function(t,e){var r;return null==e&&(e=!1),r=e?this.lineGap:0,(this.ascender+r-this.decender)/1e3*t},t}();var he,fe=function(){function t(t){this.data=null!=t?t:[],this.pos=0,this.length=this.data.length}return t.prototype.readByte=function(){return this.data[this.pos++]},t.prototype.writeByte=function(t){return this.data[this.pos++]=t},t.prototype.readUInt32=function(){return 16777216*this.readByte()+(this.readByte()<<16)+(this.readByte()<<8)+this.readByte()},t.prototype.writeUInt32=function(t){return this.writeByte(t>>>24&255),this.writeByte(t>>16&255),this.writeByte(t>>8&255),this.writeByte(255&t)},t.prototype.readInt32=function(){var t;return(t=this.readUInt32())>=2147483648?t-4294967296:t},t.prototype.writeInt32=function(t){return t<0&&(t+=4294967296),this.writeUInt32(t)},t.prototype.readUInt16=function(){return this.readByte()<<8|this.readByte()},t.prototype.writeUInt16=function(t){return this.writeByte(t>>8&255),this.writeByte(255&t)},t.prototype.readInt16=function(){var t;return(t=this.readUInt16())>=32768?t-65536:t},t.prototype.writeInt16=function(t){return t<0&&(t+=65536),this.writeUInt16(t)},t.prototype.readString=function(t){var e,r;for(r=[],e=0;0<=t?e<t:e>t;e=0<=t?++e:--e)r[e]=String.fromCharCode(this.readByte());return r.join(\"\")},t.prototype.writeString=function(t){var e,r,n;for(n=[],e=0,r=t.length;0<=r?e<r:e>r;e=0<=r?++e:--e)n.push(this.writeByte(t.charCodeAt(e)));return n},t.prototype.readShort=function(){return this.readInt16()},t.prototype.writeShort=function(t){return this.writeInt16(t)},t.prototype.readLongLong=function(){var t,e,r,n,i,a,o,s;return t=this.readByte(),e=this.readByte(),r=this.readByte(),n=this.readByte(),i=this.readByte(),a=this.readByte(),o=this.readByte(),s=this.readByte(),128&t?-1*(72057594037927940*(255^t)+281474976710656*(255^e)+1099511627776*(255^r)+4294967296*(255^n)+16777216*(255^i)+65536*(255^a)+256*(255^o)+(255^s)+1):72057594037927940*t+281474976710656*e+1099511627776*r+4294967296*n+16777216*i+65536*a+256*o+s},t.prototype.writeLongLong=function(t){var e,r;return e=Math.floor(t/4294967296),r=4294967295&t,this.writeByte(e>>24&255),this.writeByte(e>>16&255),this.writeByte(e>>8&255),this.writeByte(255&e),this.writeByte(r>>24&255),this.writeByte(r>>16&255),this.writeByte(r>>8&255),this.writeByte(255&r)},t.prototype.readInt=function(){return this.readInt32()},t.prototype.writeInt=function(t){return this.writeInt32(t)},t.prototype.read=function(t){var e,r;for(e=[],r=0;0<=t?r<t:r>t;r=0<=t?++r:--r)e.push(this.readByte());return e},t.prototype.write=function(t){var e,r,n,i;for(i=[],r=0,n=t.length;r<n;r++)e=t[r],i.push(this.writeByte(e));return i},t}(),de=function(){var t;function e(t){var e,r,n;for(this.scalarType=t.readInt(),this.tableCount=t.readShort(),this.searchRange=t.readShort(),this.entrySelector=t.readShort(),this.rangeShift=t.readShort(),this.tables={},r=0,n=this.tableCount;0<=n?r<n:r>n;r=0<=n?++r:--r)e={tag:t.readString(4),checksum:t.readInt(),offset:t.readInt(),length:t.readInt()},this.tables[e.tag]=e}return e.prototype.encode=function(e){var r,n,i,a,o,s,u,c,l,h,f,d,p;for(p in f=Object.keys(e).length,s=Math.log(2),l=16*Math.floor(Math.log(f)/s),a=Math.floor(l/s),c=16*f-l,(n=new fe).writeInt(this.scalarType),n.writeShort(f),n.writeShort(l),n.writeShort(a),n.writeShort(c),i=16*f,u=n.pos+i,o=null,d=[],e)for(h=e[p],n.writeString(p),n.writeInt(t(h)),n.writeInt(u),n.writeInt(h.length),d=d.concat(h),\"head\"===p&&(o=u),u+=h.length;u%4;)d.push(0),u++;return n.write(d),r=2981146554-t(n.data),n.pos=o+8,n.writeUInt32(r),n.data},t=function(t){var e,r,n,i;for(t=_e.call(t);t.length%4;)t.push(0);for(n=new fe(t),r=0,e=0,i=t.length;e<i;e=e+=4)r+=n.readUInt32();return 4294967295&r},e}(),pe={}.hasOwnProperty,ge=function(t,e){for(var r in e)pe.call(e,r)&&(t[r]=e[r]);function n(){this.constructor=t}return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t};he=function(){function t(t){var e;this.file=t,e=this.file.directory.tables[this.tag],this.exists=!!e,e&&(this.offset=e.offset,this.length=e.length,this.parse(this.file.contents))}return t.prototype.parse=function(){},t.prototype.encode=function(){},t.prototype.raw=function(){return this.exists?(this.file.contents.pos=this.offset,this.file.contents.read(this.length)):null},t}();var me=function(){function t(){return t.__super__.constructor.apply(this,arguments)}return ge(t,he),t.prototype.tag=\"head\",t.prototype.parse=function(t){return t.pos=this.offset,this.version=t.readInt(),this.revision=t.readInt(),this.checkSumAdjustment=t.readInt(),this.magicNumber=t.readInt(),this.flags=t.readShort(),this.unitsPerEm=t.readShort(),this.created=t.readLongLong(),this.modified=t.readLongLong(),this.xMin=t.readShort(),this.yMin=t.readShort(),this.xMax=t.readShort(),this.yMax=t.readShort(),this.macStyle=t.readShort(),this.lowestRecPPEM=t.readShort(),this.fontDirectionHint=t.readShort(),this.indexToLocFormat=t.readShort(),this.glyphDataFormat=t.readShort()},t.prototype.encode=function(t){var e;return(e=new fe).writeInt(this.version),e.writeInt(this.revision),e.writeInt(this.checkSumAdjustment),e.writeInt(this.magicNumber),e.writeShort(this.flags),e.writeShort(this.unitsPerEm),e.writeLongLong(this.created),e.writeLongLong(this.modified),e.writeShort(this.xMin),e.writeShort(this.yMin),e.writeShort(this.xMax),e.writeShort(this.yMax),e.writeShort(this.macStyle),e.writeShort(this.lowestRecPPEM),e.writeShort(this.fontDirectionHint),e.writeShort(t),e.writeShort(this.glyphDataFormat),e.data},t}(),ve=function(){function t(t,e){var r,n,i,a,o,s,u,c,l,h,f,d,p,g,m,v,b;switch(this.platformID=t.readUInt16(),this.encodingID=t.readShort(),this.offset=e+t.readInt(),l=t.pos,t.pos=this.offset,this.format=t.readUInt16(),this.length=t.readUInt16(),this.language=t.readUInt16(),this.isUnicode=3===this.platformID&&1===this.encodingID&&4===this.format||0===this.platformID&&4===this.format,this.codeMap={},this.format){case 0:for(s=0;s<256;++s)this.codeMap[s]=t.readByte();break;case 4:for(f=t.readUInt16(),h=f/2,t.pos+=6,i=function(){var e,r;for(r=[],s=e=0;0<=h?e<h:e>h;s=0<=h?++e:--e)r.push(t.readUInt16());return r}(),t.pos+=2,p=function(){var e,r;for(r=[],s=e=0;0<=h?e<h:e>h;s=0<=h?++e:--e)r.push(t.readUInt16());return r}(),u=function(){var e,r;for(r=[],s=e=0;0<=h?e<h:e>h;s=0<=h?++e:--e)r.push(t.readUInt16());return r}(),c=function(){var e,r;for(r=[],s=e=0;0<=h?e<h:e>h;s=0<=h?++e:--e)r.push(t.readUInt16());return r}(),n=(this.length-t.pos+this.offset)/2,o=function(){var e,r;for(r=[],s=e=0;0<=n?e<n:e>n;s=0<=n?++e:--e)r.push(t.readUInt16());return r}(),s=m=0,b=i.length;m<b;s=++m)for(g=i[s],r=v=d=p[s];d<=g?v<=g:v>=g;r=d<=g?++v:--v)0===c[s]?a=r+u[s]:0!==(a=o[c[s]/2+(r-d)-(h-s)]||0)&&(a+=u[s]),this.codeMap[r]=65535&a}t.pos=l}return t.encode=function(t,e){var r,n,i,a,o,s,u,c,l,h,f,d,p,g,m,v,b,y,w,N,L,x,A,S,_,P,k,F,I,C,j,O,B,M,q,E,R,D,T,z,U,H,W,V,G,Y;switch(F=new fe,a=Object.keys(t).sort(function(t,e){return t-e}),e){case\"macroman\":for(p=0,g=function(){var t=[];for(d=0;d<256;++d)t.push(0);return t}(),v={0:0},i={},I=0,B=a.length;I<B;I++)null==v[W=t[n=a[I]]]&&(v[W]=++p),i[n]={old:t[n],new:v[t[n]]},g[n]=v[t[n]];return F.writeUInt16(1),F.writeUInt16(0),F.writeUInt32(12),F.writeUInt16(0),F.writeUInt16(262),F.writeUInt16(0),F.write(g),{charMap:i,subtable:F.data,maxGlyphID:p+1};case\"unicode\":for(P=[],l=[],b=0,v={},r={},m=u=null,C=0,M=a.length;C<M;C++)null==v[w=t[n=a[C]]]&&(v[w]=++b),r[n]={old:w,new:v[w]},o=v[w]-n,null!=m&&o===u||(m&&l.push(m),P.push(n),u=o),m=n;for(m&&l.push(m),l.push(65535),P.push(65535),S=2*(A=P.length),x=2*Math.pow(Math.log(A)/Math.LN2,2),h=Math.log(x/2)/Math.LN2,L=2*A-x,s=[],N=[],f=[],d=j=0,q=P.length;j<q;d=++j){if(_=P[d],c=l[d],65535===_){s.push(0),N.push(0);break}if(_-(k=r[_].new)>=32768)for(s.push(0),N.push(2*(f.length+A-d)),n=O=_;_<=c?O<=c:O>=c;n=_<=c?++O:--O)f.push(r[n].new);else s.push(k-_),N.push(0)}for(F.writeUInt16(3),F.writeUInt16(1),F.writeUInt32(12),F.writeUInt16(4),F.writeUInt16(16+8*A+2*f.length),F.writeUInt16(0),F.writeUInt16(S),F.writeUInt16(x),F.writeUInt16(h),F.writeUInt16(L),U=0,E=l.length;U<E;U++)n=l[U],F.writeUInt16(n);for(F.writeUInt16(0),H=0,R=P.length;H<R;H++)n=P[H],F.writeUInt16(n);for(V=0,D=s.length;V<D;V++)o=s[V],F.writeUInt16(o);for(G=0,T=N.length;G<T;G++)y=N[G],F.writeUInt16(y);for(Y=0,z=f.length;Y<z;Y++)p=f[Y],F.writeUInt16(p);return{charMap:r,subtable:F.data,maxGlyphID:b+1}}},t}(),be=function(){function t(){return t.__super__.constructor.apply(this,arguments)}return ge(t,he),t.prototype.tag=\"cmap\",t.prototype.parse=function(t){var e,r,n;for(t.pos=this.offset,this.version=t.readUInt16(),n=t.readUInt16(),this.tables=[],this.unicode=null,r=0;0<=n?r<n:r>n;r=0<=n?++r:--r)e=new ve(t,this.offset),this.tables.push(e),e.isUnicode&&null==this.unicode&&(this.unicode=e);return!0},t.encode=function(t,e){var r,n;return null==e&&(e=\"macroman\"),r=ve.encode(t,e),(n=new fe).writeUInt16(0),n.writeUInt16(1),r.table=n.data.concat(r.subtable),r},t}(),ye=function(){function t(){return t.__super__.constructor.apply(this,arguments)}return ge(t,he),t.prototype.tag=\"hhea\",t.prototype.parse=function(t){return t.pos=this.offset,this.version=t.readInt(),this.ascender=t.readShort(),this.decender=t.readShort(),this.lineGap=t.readShort(),this.advanceWidthMax=t.readShort(),this.minLeftSideBearing=t.readShort(),this.minRightSideBearing=t.readShort(),this.xMaxExtent=t.readShort(),this.caretSlopeRise=t.readShort(),this.caretSlopeRun=t.readShort(),this.caretOffset=t.readShort(),t.pos+=8,this.metricDataFormat=t.readShort(),this.numberOfMetrics=t.readUInt16()},t}(),we=function(){function t(){return t.__super__.constructor.apply(this,arguments)}return ge(t,he),t.prototype.tag=\"OS/2\",t.prototype.parse=function(t){if(t.pos=this.offset,this.version=t.readUInt16(),this.averageCharWidth=t.readShort(),this.weightClass=t.readUInt16(),this.widthClass=t.readUInt16(),this.type=t.readShort(),this.ySubscriptXSize=t.readShort(),this.ySubscriptYSize=t.readShort(),this.ySubscriptXOffset=t.readShort(),this.ySubscriptYOffset=t.readShort(),this.ySuperscriptXSize=t.readShort(),this.ySuperscriptYSize=t.readShort(),this.ySuperscriptXOffset=t.readShort(),this.ySuperscriptYOffset=t.readShort(),this.yStrikeoutSize=t.readShort(),this.yStrikeoutPosition=t.readShort(),this.familyClass=t.readShort(),this.panose=function(){var e,r;for(r=[],e=0;e<10;++e)r.push(t.readByte());return r}(),this.charRange=function(){var e,r;for(r=[],e=0;e<4;++e)r.push(t.readInt());return r}(),this.vendorID=t.readString(4),this.selection=t.readShort(),this.firstCharIndex=t.readShort(),this.lastCharIndex=t.readShort(),this.version>0&&(this.ascent=t.readShort(),this.descent=t.readShort(),this.lineGap=t.readShort(),this.winAscent=t.readShort(),this.winDescent=t.readShort(),this.codePageRange=function(){var e,r;for(r=[],e=0;e<2;e=++e)r.push(t.readInt());return r}(),this.version>1))return this.xHeight=t.readShort(),this.capHeight=t.readShort(),this.defaultChar=t.readShort(),this.breakChar=t.readShort(),this.maxContext=t.readShort()},t}(),Ne=function(){function t(){return t.__super__.constructor.apply(this,arguments)}return ge(t,he),t.prototype.tag=\"post\",t.prototype.parse=function(t){var e,r,n;switch(t.pos=this.offset,this.format=t.readInt(),this.italicAngle=t.readInt(),this.underlinePosition=t.readShort(),this.underlineThickness=t.readShort(),this.isFixedPitch=t.readInt(),this.minMemType42=t.readInt(),this.maxMemType42=t.readInt(),this.minMemType1=t.readInt(),this.maxMemType1=t.readInt(),this.format){case 65536:case 196608:break;case 131072:var i;for(r=t.readUInt16(),this.glyphNameIndex=[],i=0;0<=r?i<r:i>r;i=0<=r?++i:--i)this.glyphNameIndex.push(t.readUInt16());for(this.names=[],n=[];t.pos<this.offset+this.length;)e=t.readByte(),n.push(this.names.push(t.readString(e)));return n;case 151552:return r=t.readUInt16(),this.offsets=t.read(r);case 262144:return this.map=function(){var e,r,n;for(n=[],i=e=0,r=this.file.maxp.numGlyphs;0<=r?e<r:e>r;i=0<=r?++e:--e)n.push(t.readUInt32());return n}.call(this)}},t}(),Le=function(t,e){this.raw=t,this.length=t.length,this.platformID=e.platformID,this.encodingID=e.encodingID,this.languageID=e.languageID},xe=function(){function t(){return t.__super__.constructor.apply(this,arguments)}return ge(t,he),t.prototype.tag=\"name\",t.prototype.parse=function(t){var e,r,n,i,a,o,s,u,c,l,h;for(t.pos=this.offset,t.readShort(),e=t.readShort(),o=t.readShort(),r=[],i=0;0<=e?i<e:i>e;i=0<=e?++i:--i)r.push({platformID:t.readShort(),encodingID:t.readShort(),languageID:t.readShort(),nameID:t.readShort(),length:t.readShort(),offset:this.offset+o+t.readShort()});for(s={},i=c=0,l=r.length;c<l;i=++c)n=r[i],t.pos=n.offset,u=t.readString(n.length),a=new Le(u,n),null==s[h=n.nameID]&&(s[h]=[]),s[n.nameID].push(a);this.strings=s,this.copyright=s[0],this.fontFamily=s[1],this.fontSubfamily=s[2],this.uniqueSubfamily=s[3],this.fontName=s[4],this.version=s[5];try{this.postscriptName=s[6][0].raw.replace(/[\\x00-\\x19\\x80-\\xff]/g,\"\")}catch(f){this.postscriptName=s[4][0].raw.replace(/[\\x00-\\x19\\x80-\\xff]/g,\"\")}return this.trademark=s[7],this.manufacturer=s[8],this.designer=s[9],this.description=s[10],this.vendorUrl=s[11],this.designerUrl=s[12],this.license=s[13],this.licenseUrl=s[14],this.preferredFamily=s[15],this.preferredSubfamily=s[17],this.compatibleFull=s[18],this.sampleText=s[19]},t}(),Ae=function(){function t(){return t.__super__.constructor.apply(this,arguments)}return ge(t,he),t.prototype.tag=\"maxp\",t.prototype.parse=function(t){return t.pos=this.offset,this.version=t.readInt(),this.numGlyphs=t.readUInt16(),this.maxPoints=t.readUInt16(),this.maxContours=t.readUInt16(),this.maxCompositePoints=t.readUInt16(),this.maxComponentContours=t.readUInt16(),this.maxZones=t.readUInt16(),this.maxTwilightPoints=t.readUInt16(),this.maxStorage=t.readUInt16(),this.maxFunctionDefs=t.readUInt16(),this.maxInstructionDefs=t.readUInt16(),this.maxStackElements=t.readUInt16(),this.maxSizeOfInstructions=t.readUInt16(),this.maxComponentElements=t.readUInt16(),this.maxComponentDepth=t.readUInt16()},t}(),Se=function(){function t(){return t.__super__.constructor.apply(this,arguments)}return ge(t,he),t.prototype.tag=\"hmtx\",t.prototype.parse=function(t){var e,r,n,i,a,o,s;for(t.pos=this.offset,this.metrics=[],e=0,o=this.file.hhea.numberOfMetrics;0<=o?e<o:e>o;e=0<=o?++e:--e)this.metrics.push({advance:t.readUInt16(),lsb:t.readInt16()});for(n=this.file.maxp.numGlyphs-this.file.hhea.numberOfMetrics,this.leftSideBearings=function(){var r,i;for(i=[],e=r=0;0<=n?r<n:r>n;e=0<=n?++r:--r)i.push(t.readInt16());return i}(),this.widths=function(){var t,e,r,n;for(n=[],t=0,e=(r=this.metrics).length;t<e;t++)i=r[t],n.push(i.advance);return n}.call(this),r=this.widths[this.widths.length-1],s=[],e=a=0;0<=n?a<n:a>n;e=0<=n?++a:--a)s.push(this.widths.push(r));return s},t.prototype.forGlyph=function(t){return t in this.metrics?this.metrics[t]:{advance:this.metrics[this.metrics.length-1].advance,lsb:this.leftSideBearings[t-this.metrics.length]}},t}(),_e=[].slice,Pe=function(){function t(){return t.__super__.constructor.apply(this,arguments)}return ge(t,he),t.prototype.tag=\"glyf\",t.prototype.parse=function(){return this.cache={}},t.prototype.glyphFor=function(t){var e,r,n,i,a,o,s,u,c,l;return t in this.cache?this.cache[t]:(i=this.file.loca,e=this.file.contents,r=i.indexOf(t),0===(n=i.lengthOf(t))?this.cache[t]=null:(e.pos=this.offset+r,a=(o=new fe(e.read(n))).readShort(),u=o.readShort(),l=o.readShort(),s=o.readShort(),c=o.readShort(),this.cache[t]=-1===a?new Fe(o,u,l,s,c):new ke(o,a,u,l,s,c),this.cache[t]))},t.prototype.encode=function(t,e,r){var n,i,a,o,s;for(a=[],i=[],o=0,s=e.length;o<s;o++)n=t[e[o]],i.push(a.length),n&&(a=a.concat(n.encode(r)));return i.push(a.length),{table:a,offsets:i}},t}(),ke=function(){function t(t,e,r,n,i,a){this.raw=t,this.numberOfContours=e,this.xMin=r,this.yMin=n,this.xMax=i,this.yMax=a,this.compound=!1}return t.prototype.encode=function(){return this.raw.data},t}(),Fe=function(){function t(t,e,r,n,i){var a,o;for(this.raw=t,this.xMin=e,this.yMin=r,this.xMax=n,this.yMax=i,this.compound=!0,this.glyphIDs=[],this.glyphOffsets=[],a=this.raw;o=a.readShort(),this.glyphOffsets.push(a.pos),this.glyphIDs.push(a.readUInt16()),32&o;)a.pos+=1&o?4:2,128&o?a.pos+=8:64&o?a.pos+=4:8&o&&(a.pos+=2)}return t.prototype.encode=function(){var t,e,r;for(e=new fe(_e.call(this.raw.data)),t=0,r=this.glyphIDs.length;t<r;++t)e.pos=this.glyphOffsets[t];return e.data},t}(),Ie=function(){function t(){return t.__super__.constructor.apply(this,arguments)}return ge(t,he),t.prototype.tag=\"loca\",t.prototype.parse=function(t){var e,r;return t.pos=this.offset,e=this.file.head.indexToLocFormat,this.offsets=0===e?function(){var e,n;for(n=[],r=0,e=this.length;r<e;r+=2)n.push(2*t.readUInt16());return n}.call(this):function(){var e,n;for(n=[],r=0,e=this.length;r<e;r+=4)n.push(t.readUInt32());return n}.call(this)},t.prototype.indexOf=function(t){return this.offsets[t]},t.prototype.lengthOf=function(t){return this.offsets[t+1]-this.offsets[t]},t.prototype.encode=function(t,e){for(var r=new Uint32Array(this.offsets.length),n=0,i=0,a=0;a<r.length;++a)if(r[a]=n,i<e.length&&e[i]==a){++i,r[a]=n;var o=this.offsets[a],s=this.offsets[a+1]-o;s>0&&(n+=s)}for(var u=new Array(4*r.length),c=0;c<r.length;++c)u[4*c+3]=255&r[c],u[4*c+2]=(65280&r[c])>>8,u[4*c+1]=(16711680&r[c])>>16,u[4*c]=(4278190080&r[c])>>24;return u},t}(),Ce=function(){function t(t){this.font=t,this.subset={},this.unicodes={},this.next=33}return t.prototype.generateCmap=function(){var t,e,r,n,i;for(e in n=this.font.cmap.tables[0].codeMap,t={},i=this.subset)r=i[e],t[e]=n[r];return t},t.prototype.glyphsFor=function(t){var e,r,n,i,a,o,s;for(n={},a=0,o=t.length;a<o;a++)n[i=t[a]]=this.font.glyf.glyphFor(i);for(i in e=[],n)(null!=(r=n[i])?r.compound:void 0)&&e.push.apply(e,r.glyphIDs);if(e.length>0)for(i in s=this.glyphsFor(e))r=s[i],n[i]=r;return n},t.prototype.encode=function(t,e){var r,n,i,a,o,s,u,c,l,h,f,d,p,g,m;for(n in r=be.encode(this.generateCmap(),\"unicode\"),a=this.glyphsFor(t),f={0:0},m=r.charMap)f[(s=m[n]).old]=s.new;for(d in h=r.maxGlyphID,a)d in f||(f[d]=h++);return c=function(t){var e,r;for(e in r={},t)r[t[e]]=e;return r}(f),l=Object.keys(c).sort(function(t,e){return t-e}),p=function(){var t,e,r;for(r=[],t=0,e=l.length;t<e;t++)o=l[t],r.push(c[o]);return r}(),i=this.font.glyf.encode(a,p,f),u=this.font.loca.encode(i.offsets,p),g={cmap:this.font.cmap.raw(),glyf:i.table,loca:u,hmtx:this.font.hmtx.raw(),hhea:this.font.hhea.raw(),maxp:this.font.maxp.raw(),post:this.font.post.raw(),name:this.font.name.raw(),head:this.font.head.encode(e)},this.font.os2.exists&&(g[\"OS/2\"]=this.font.os2.raw()),this.font.directory.encode(g)},t}();E.API.PDFObject=function(){var t;function e(){}return t=function(t,e){return(Array(e+1).join(\"0\")+t).slice(-e)},e.convert=function(r){var n,i,a,o;if(Array.isArray(r))return\"[\"+function(){var t,i,a;for(a=[],t=0,i=r.length;t<i;t++)n=r[t],a.push(e.convert(n));return a}().join(\" \")+\"]\";if(\"string\"==typeof r)return\"/\"+r;if(null!=r?r.isString:void 0)return\"(\"+r+\")\";if(r instanceof Date)return\"(D:\"+t(r.getUTCFullYear(),4)+t(r.getUTCMonth(),2)+t(r.getUTCDate(),2)+t(r.getUTCHours(),2)+t(r.getUTCMinutes(),2)+t(r.getUTCSeconds(),2)+\"Z)\";if(\"[object Object]\"==={}.toString.call(r)){for(i in a=[\"<<\"],r)o=r[i],a.push(\"/\"+i+\" \"+e.convert(o));return a.push(\">>\"),a.join(\"\\n\")}return\"\"+r},e}();export{_t as AcroForm,At as AcroFormAppearance,vt as AcroFormButton,Nt as AcroFormCheckBox,dt as AcroFormChoiceField,gt as AcroFormComboBox,mt as AcroFormEditBox,pt as AcroFormListBox,xt as AcroFormPasswordField,bt as AcroFormPushButton,yt as AcroFormRadioButton,Lt as AcroFormTextField,O as GState,M as ShadingPattern,q as TilingPattern,E as default,E as jsPDF};\n//# sourceMappingURL=jspdf.es.min.js.map\n"],"names":["_typeof","o","_arrayWithHoles","r","_iterableToArrayLimit","l","e","n","i","u","a","f","_arrayLikeToArray","_unsupportedIterableToArray","arrayLikeToArray","_nonIterableRest","_slicedToArray","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","decode","bytes","encoding","encoder","encode","str","defaultByteLength","hostBigEndian","array","view","typedArrays","IOBuffer","data","options","__publicField","dataIsGiven","offset","byteLength","dvOffset","newLength","newArray","size","type","slice","returnArray","value","result","zero$1","buf","len","MIN_MATCH$1","MAX_MATCH$1","LENGTH_CODES$1","LITERALS$1","L_CODES$1","D_CODES$1","DIST_CODE_LEN","static_ltree","static_dtree","_dist_code","_length_code","base_length","base_dist","adler32","adler","pos","s1","s2","adler32_1","makeTable","c","table","k","crcTable","crc32","crc","t","end","crc32_1","messages","constants$2","_has","obj","key","assign","sources","source","p","flattenChunks","chunks","chunk","common","STR_APPLY_UIA_OK","_utf8len","q","string2buf","c2","m_pos","str_len","buf_len","buf2binstring","buf2string","max","out","utf16buf","c_len","utf8border","strings","ZStream","zstream","BAD$1","TYPE$1","inffast","strm","start","_in","last","_out","beg","dmax","wsize","whave","wnext","s_window","hold","bits","lcode","dcode","lmask","dmask","here","op","dist","from","from_source","input","output","state","top","dolen","dodist","MAXBITS","ENOUGH_LENS$1","ENOUGH_DISTS$1","CODES$1","LENS$1","DISTS$1","lbase","lext","dbase","dext","inflate_table","lens","lens_index","codes","table_index","work","opts","sym","min","root","curr","drop","left","used","huff","incr","fill","low","mask","next","base","match","count","offs","extra","here_bits","here_op","here_val","inftrees","CODES","LENS","DISTS","Z_FINISH$1","Z_BLOCK","Z_TREES","Z_OK$1","Z_STREAM_END$1","Z_NEED_DICT$1","Z_STREAM_ERROR$1","Z_DATA_ERROR$1","Z_MEM_ERROR$1","Z_BUF_ERROR","Z_DEFLATED","HEAD","FLAGS","TIME","OS","EXLEN","EXTRA","NAME","COMMENT","HCRC","DICTID","DICT","TYPE","TYPEDO","STORED","COPY_","COPY","TABLE","LENLENS","CODELENS","LEN_","LEN","LENEXT","DIST","DISTEXT","MATCH","LIT","CHECK","LENGTH","DONE","BAD","MEM","SYNC","ENOUGH_LENS","ENOUGH_DISTS","MAX_WBITS","DEF_WBITS","zswap32","InflateState","inflateStateCheck","inflateResetKeep","inflateReset","inflateReset2","windowBits","wrap","inflateInit2","ret","inflateInit","virgin","lenfix","distfix","fixedtables","updatewindow","src","copy","inflate$2","flush","put","have","last_bits","last_op","last_val","hbuf","order","inf_leave","inflateEnd","inflateGetHeader","head","inflateSetDictionary","dictionary","dictLength","dictid","inflateReset_1","inflateReset2_1","inflateResetKeep_1","inflateInit_1","inflateInit2_1","inflate_2$1","inflateEnd_1","inflateGetHeader_1","inflateSetDictionary_1","inflateInfo","inflate_1$2","GZheader","gzheader","toString","Z_NO_FLUSH","Z_FINISH","Z_OK","Z_STREAM_END","Z_NEED_DICT","Z_STREAM_ERROR","Z_DATA_ERROR","Z_MEM_ERROR","Inflate$1","opt","status","flush_mode","chunkSize","_flush_mode","last_avail_out","next_out_utf8","tail","utf8str","inflate$1","inflator","Inflate_1$1","inflate_2","inflate_1$1","Inflate","inflate","Inflate_1","inflate_1","initialCrc","updateCrc","currentCrc","length","checkCrc","buffer","crcLength","chunkName","expectedCrc","actualCrc","unfilterNone","currentLine","newLine","bytesPerLine","unfilterSub","bytesPerPixel","unfilterUp","prevLine","unfilterAverage","unfilterPaeth","paethPredictor","b","pa","pb","pc","applyUnfilter","filterType","passLineBytes","uint16","uint8","osIsLittleEndian","decodeInterlaceAdam7","params","width","height","channels","depth","passes","resultData","passIndex","pass","passWidth","passHeight","y","x","outputX","outputY","uint16Data","swap16","val","empty","decodeInterlaceNull","newData","pngSignature","checkSignature","hasPngSignature","textChunkName","NULL","latin1Decoder","validateKeyword","keyword","validateLatin1","latin1Regex","text","decodetEXt","readKeyword","readLatin1","ColorType","CompressionMethod","FilterMethod","InterlaceMethod","DisposeOpType","BlendOpType","PngDecoder","Inflator","image","checkBitDepth","colorType","palette","dataLength","dataOffset","alpha","name","compressionMethod","compressedProfile","ppuX","ppuY","unitSpecifier","newFrame","frame","prevFrame","imageFrame","row","col","index","channel","maxValue","calculatePixelIndices","frameIndex","sourceAlpha","foregroundValue","_a","lastFrame","ResolutionUnitSpecifier","decodePng","s","h","d","m","v","P","g","w","N","L","A","S","_","F","I","C","j","O","B","M","E","lt","Wt","St","Pr","R","D","T","z","U","H","W","V","G","Y","Oe","J","Q","X","K","Z","$","tt","et","rt","nt","it","at","ot","st","ut","ct","ht","ft","dt","pt","gt","mt","vt","bt","yt","wt","Nt","Lt","xt","At","_t","Pt","kt","Ft","It","Ct","jt","Ot","Bt","Mt","qt","Et","Rt","Dt","Tt","zt","Ut","Ht","mr","vr","Vt","Gt","Yt","yr","Jt","Xt","Kt","Zt","$t","Qt","te","ee","re","ne","ie","ae","oe","se","ue","ce","le","he","fe","de","pe","ge","me","ye","ve","Qe","Ze","sr","dr","pr","be","we","Ne","Le","xe","Ae","Se","_e","Pe","ke","Fe","Ie","Ce","je","Be","Me","qe","Ke","hr","nr","ir","cr","Ee","Re","De","Te","ze","We","Ue","He","Ve","Ge","Ye","Je","Xe","$e","tr","er","rr","ar","or","ur","lr","fr","gr","br","Nr","Lr","Ar","wr","Sr","_r","kr","Er","Tr","Dr","Rr","zr","Ur","Un","Hn","Wn","Vn","mi","Dn","An","Ln","qn","Rn","Tn","Br","Ii","Ci","Si","Ai","Bi","Oi","ji","_i","Pi","Mi","qi","Zn","Vr","Hr","Wr","Kr","Zr","Gr","Mn","$r","Qr","En","rn","tn","xn","zn","en","gi","Jr","Qn","pi","Yr","Xr","$n","Jn","Kn","Yn","Gn","Xn","di","Sn","ri","ti","ei","ui","oi","ci","ni","ii","an","un","On","Cn","jn","Bn","vi","yi","bi","wi","Ni","Li","xi","ki","xr","Fr","Ir","Cr","on","jr","Ei","hi","li","fi","sn","cn","Or","Mr","qr","zi","nn","ln","hn","fn","dn","pn","gn","mn","vn","bn","yn","wn","Nn","_n","Pn","kn","Fn","In","ai","si","Ri","Di","Ti"],"mappings":"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MAAK,CAAC,OAAM,KAAK,GAAE,MAAK,CAAC,OAAM,KAAK,GAAE,MAAK,CAAC,OAAM,KAAK,GAAE,MAAK,CAAC,OAAM,KAAK,GAAE,MAAK,CAAC,OAAM,OAAM,OAAM,KAAK,GAAE,MAAK,CAAC,OAAM,OAAM,OAAM,KAAK,GAAE,MAAK,CAAC,OAAM,OAAM,OAAM,KAAK,GAAE,MAAK,CAAC,OAAM,OAAM,OAAM,KAAK,GAAE,MAAK,CAAC,OAAM,OAAM,OAAM,KAAK,GAAE,MAAK,CAAC,OAAM,OAAM,OAAM,KAAK,GAAE,MAAK,CAAC,OAAM,OAAM,OAAM,KAAK,GAAE,MAAK,CAAC,OAAM,OAAM,OAAM,KAAK,GAAE,MAAK,CAAC,OAAM,OAAM,OAAM,KAAK,GAAE,MAAK,CAAC,OAAM,OAAM,OAAM,KAAK,GAAE,MAAK,CAAC,OAAM,OAAM,OAAM,KAAK,GAAE,MAAK,CAAC,OAAM,OAAM,OAAM,KAAK,GAAE,MAAK,CAAC,OAAM,OAAM,OAAM,KAAK,GAAE,MAAK,CAAC,OAAM,OAAM,OAAM,KAAK,GAAE,MAAK,CAAC,OAAM,OAAM,OAAM,KAAK,GAAE,MAAK,CAAC,OAAM,KAAK,GAAE,MAAK,CAAC,OAAM,OAAM,OAAM,KAAK,GAAE,MAAK,CAAC,OAAM,OAAM,OAAM,KAAK,GAAE,MAAK,CAAC,OAAM,KAAK,GAAE,MAAK,CAAC,KAAK,GAAE,MAAK,CAAC,OAAM,OAAM,OAAM,KAAK,GAAE,MAAK,CAAC,OAAM,OAAM,OAAM,KAAK,GAAE,MAAK,CAAC,OAAM,OAAM,OAAM,KAAK,GAAE,MAAK,CAAC,OAAM,OAAM,OAAM,KAAK,GAAE,MAAK,CAAC,OAAM,OAAM,OAAM,KAAK,GAAE,MAAK,CAAC,OAAM,OAAM,OAAM,KAAK,GAAE,MAAK,CAAC,OAAM,OAAM,OAAM,KAAK,GAAE,MAAK,CAAC,OAAM,OAAM,OAAM,KAAK,GAAE,MAAK,CAAC,OAAM,OAAM,OAAM,KAAK,GAAE,MAAK,CAAC,OAAM,OAAM,OAAM,KAAK,GAAE,MAAK,CAAC,OAAM,KAAK,GAAE,MAAK,CAAC,OAAM,KAAK,GAAE,MAAK,CAAC,OAAM,KAAK,GAAE,MAAK,CAAC,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KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,GAAE,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,GAAE,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,CAAC,GAAE,CAAC,CAAC,CAAC,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,EAAE,GAAE,CAAC,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,CAAC,GAAE,CAAC,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,GAAE,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,CAAC,GAAE,CAAC,CAAC,CAAC,KAAI,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,GAAE,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,GAAE,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,GAAE,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,CAAC,GAAE,CAAC,CAAC,CAAC,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,GAAE,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,GAAE,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,GAAE,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,CAAC,CAAC,GAAEqD,KAAG,CAAC,CAAC,CAAC,KAAI,KAAI,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,IAAG,IAAG,EAAE,GAAE,CAAC,KAAI,IAAG,KAAI,IAAG,IAAG,IAAG,IAAG,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,IAAG,IAAG,GAAG,GAAE,CAAC,KAAI,IAAG,IAAG,KAAI,IAAG,KAAI,IAAG,IAAG,GAAG,GAAE,CAAC,KAAI,IAAG,IAAG,KAAI,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,KAAI,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,IAAG,EAAE,GAAE,CAAC,KAAI,IAAG,IAAG,IAAG,KAAI,KAAI,IAAG,KAAI,EAAE,GAAE,CAAC,IAAG,IAAG,GAAE,KAAI,KAAI,KAAI,IAAG,GAAE,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,KAAI,IAAG,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,KAAI,KAAI,IAAG,KAAI,IAAG,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,KAAI,KAAI,IAAG,IAAG,IAAG,IAAG,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,GAAE,KAAI,KAAI,KAAI,IAAG,GAAE,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,KAAI,IAAG,KAAI,IAAG,IAAG,GAAG,GAAE,CAAC,IAAG,IAAG,KAAI,KAAI,IAAG,IAAG,IAAG,KAAI,GAAG,GAAE,CAAC,KAAI,IAAG,IAAG,IAAG,KAAI,KAAI,IAAG,IAAG,CAAC,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,KAAI,IAAG,IAAG,KAAI,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,IAAG,IAAG,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,IAAG,IAAG,KAAI,KAAI,IAAG,IAAG,IAAG,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,KAAI,KAAI,IAAG,IAAG,IAAG,KAAI,EAAE,GAAE,CAAC,IAAG,IAAG,KAAI,IAAG,IAAG,IAAG,IAAG,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,KAAI,IAAG,KAAI,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,KAAI,KAAI,IAAG,IAAG,IAAG,KAAI,EAAE,GAAE,CAAC,KAAI,IAAG,IAAG,IAAG,IAAG,GAAE,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,KAAI,IAAG,IAAG,KAAI,IAAG,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,IAAG,IAAG,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,IAAG,IAAG,GAAG,GAAE,CAAC,IAAG,KAAI,IAAG,KAAI,KAAI,KAAI,IAAG,IAAG,GAAG,GAAE,CAAC,KAAI,KAAI,IAAG,IAAG,KAAI,KAAI,IAAG,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,GAAE,KAAI,KAAI,KAAI,IAAG,IAAG,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,IAAG,IAAG,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,KAAI,IAAG,IAAG,IAAG,GAAE,GAAG,GAAE,CAAC,KAAI,IAAG,GAAE,IAAG,KAAI,GAAE,IAAG,IAAG,EAAE,GAAE,CAAC,KAAI,IAAG,IAAG,IAAG,KAAI,KAAI,IAAG,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,GAAE,KAAI,KAAI,KAAI,GAAE,GAAE,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,KAAI,IAAG,IAAG,KAAI,IAAG,KAAI,IAAG,IAAG,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,KAAI,IAAG,KAAI,IAAG,IAAG,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,KAAI,IAAG,KAAI,IAAG,IAAG,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,IAAG,IAAG,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,KAAI,IAAG,KAAI,IAAG,IAAG,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,KAAI,GAAE,IAAG,IAAG,IAAG,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,KAAI,GAAE,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,KAAI,IAAG,KAAI,IAAG,KAAI,GAAG,GAAE,CAAC,IAAG,GAAE,GAAE,KAAI,IAAG,KAAI,IAAG,GAAE,GAAG,GAAE,CAAC,IAAG,IAAG,GAAE,KAAI,IAAG,IAAG,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,KAAI,IAAG,IAAG,KAAI,GAAE,IAAG,IAAG,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,KAAI,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,KAAI,KAAI,GAAE,IAAG,IAAG,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,IAAG,IAAG,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,KAAI,IAAG,KAAI,IAAG,IAAG,GAAG,GAAE,CAAC,IAAG,GAAE,IAAG,KAAI,GAAE,IAAG,GAAE,KAAI,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,KAAI,IAAG,IAAG,KAAI,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,KAAI,IAAG,KAAI,IAAG,IAAG,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,KAAI,IAAG,KAAI,GAAE,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,KAAI,IAAG,IAAG,IAAG,KAAI,IAAG,KAAI,KAAI,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,EAAE,GAAE,CAAC,IAAG,IAAG,KAAI,IAAG,IAAG,KAAI,IAAG,KAAI,CAAC,GAAE,CAAC,IAAG,IAAG,GAAE,IAAG,KAAI,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,KAAI,IAAG,IAAG,IAAG,GAAE,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,KAAI,IAAG,KAAI,IAAG,IAAG,GAAG,GAAE,CAAC,KAAI,IAAG,GAAE,IAAG,KAAI,KAAI,KAAI,IAAG,CAAC,GAAE,CAAC,KAAI,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,IAAG,IAAG,EAAE,GAAE,CAAC,KAAI,IAAG,IAAG,IAAG,KAAI,KAAI,IAAG,GAAE,EAAE,CAAC,GAAE,CAAC,CAAC,KAAI,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,IAAG,KAAI,EAAE,GAAE,CAAC,IAAG,IAAG,KAAI,IAAG,GAAE,IAAG,IAAG,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,KAAI,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,IAAG,KAAI,CAAC,GAAE,CAAC,IAAG,GAAE,IAAG,KAAI,IAAG,IAAG,IAAG,KAAI,EAAE,GAAE,CAAC,IAAG,IAAG,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,EAAE,GAAE,CAAC,IAAG,GAAE,IAAG,GAAE,IAAG,KAAI,IAAG,KAAI,CAAC,GAAE,CAAC,IAAG,GAAE,IAAG,KAAI,KAAI,KAAI,IAAG,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,KAAI,IAAG,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,KAAI,IAAG,IAAG,KAAI,KAAI,KAAI,IAAG,IAAG,GAAG,GAAE,CAAC,IAAG,KAAI,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,IAAG,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,GAAE,GAAE,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,KAAI,IAAG,KAAI,IAAG,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,IAAG,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,GAAE,IAAG,KAAI,KAAI,GAAE,GAAE,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,IAAG,IAAG,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,IAAG,IAAG,IAAG,KAAI,IAAG,KAAI,IAAG,EAAE,GAAE,CAAC,IAAG,KAAI,IAAG,IAAG,KAAI,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,KAAI,KAAI,IAAG,IAAG,GAAE,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,IAAG,IAAG,GAAG,GAAE,CAAC,KAAI,IAAG,IAAG,KAAI,IAAG,IAAG,IAAG,IAAG,GAAG,GAAE,CAAC,KAAI,IAAG,IAAG,IAAG,KAAI,KAAI,IAAG,IAAG,EAAE,GAAE,CAAC,KAAI,IAAG,IAAG,IAAG,KAAI,GAAE,IAAG,KAAI,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,IAAG,IAAG,GAAG,GAAE,CAAC,KAAI,IAAG,IAAG,IAAG,KAAI,KAAI,IAAG,GAAE,EAAE,CAAC,CAAC,GAAEtD,KAAG,CAAC,CAAC,CAAC,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,CAAC,GAAE,CAAC,CAAC,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,CAAC,GAAE,CAAC,CAAC,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,CAAC,GAAE,CAAC,CAAC,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAG,GAAE,CAAC,K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KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,KAAI,MAAK,MAAK,MAAK,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,KAAI,OAAM,KAAI,OAAM,OAAM,KAAI,OAAM,OAAM,KAAI,OAAM,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,MAAK,MAAK,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,OAAM,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,MAAK,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,MAAK,MAAK,OAAM,OAAM,KAAI,OAAM,OAAM,OAAM,OAAM,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,KAAI,MAAK,MAAK,OAAM,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,KAAI,OAAM,OAAM,OAAM,OAAM,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,KAAI,MAAK,KAAI,KAAI,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,KAAI,KAAI,MAAK,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,KAAI,KAAI,MAAK,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]}
|