{"ast":null,"code":"/** @license\n *\n * jsPDF - PDF Document creation from JavaScript\n * Version 3.0.1 Built on 2025-03-17T14:19:36.873Z\n *                      CommitID 00000000\n *\n * Copyright (c) 2010-2021 James Hall <james@parall.ax>, https://github.com/MrRio/jsPDF\n *               2015-2021 yWorks GmbH, http://www.yworks.com\n *               2015-2021 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\";\nimport { zlibSync as e, unzlibSync as r } from \"fflate\";\nvar n = function () {\n  return \"undefined\" != typeof window ? window : \"undefined\" != typeof global ? global : \"undefined\" != typeof self ? self : this;\n}();\nfunction i() {\n  n.console && \"function\" == typeof n.console.log && n.console.log.apply(n.console, arguments);\n}\nvar a = {\n  log: i,\n  warn: function (t) {\n    n.console && (\"function\" == typeof n.console.warn ? n.console.warn.apply(n.console, arguments) : i.call(null, arguments));\n  },\n  error: function (t) {\n    n.console && (\"function\" == typeof n.console.error ? n.console.error.apply(n.console, arguments) : i(t));\n  }\n};\nfunction o(t, e, r) {\n  var n = new XMLHttpRequest();\n  n.open(\"GET\", t), n.responseType = \"blob\", n.onload = function () {\n    l(n.response, e, r);\n  }, n.onerror = function () {\n    a.error(\"could not download file\");\n  }, n.send();\n}\nfunction s(t) {\n  var e = new XMLHttpRequest();\n  e.open(\"HEAD\", t, !1);\n  try {\n    e.send();\n  } catch (t) {}\n  return e.status >= 200 && e.status <= 299;\n}\nfunction c(t) {\n  try {\n    t.dispatchEvent(new MouseEvent(\"click\"));\n  } catch (r) {\n    var e = document.createEvent(\"MouseEvents\");\n    e.initMouseEvent(\"click\", !0, !0, window, 0, 0, 0, 80, 20, !1, !1, !1, !1, 0, null), t.dispatchEvent(e);\n  }\n}\nvar u,\n  h,\n  l = n.saveAs || (\"object\" !== (\"undefined\" == typeof window ? \"undefined\" : t(window)) || window !== n ? function () {} : \"undefined\" != typeof HTMLAnchorElement && \"download\" in HTMLAnchorElement.prototype ? function (t, e, r) {\n    var i = n.URL || n.webkitURL,\n      a = document.createElement(\"a\");\n    e = e || t.name || \"download\", a.download = e, a.rel = \"noopener\", \"string\" == typeof t ? (a.href = t, a.origin !== location.origin ? s(a.href) ? o(t, e, r) : c(a, a.target = \"_blank\") : c(a)) : (a.href = i.createObjectURL(t), setTimeout(function () {\n      i.revokeObjectURL(a.href);\n    }, 4e4), setTimeout(function () {\n      c(a);\n    }, 0));\n  } : \"msSaveOrOpenBlob\" in navigator ? function (e, r, n) {\n    if (r = r || e.name || \"download\", \"string\" == typeof e) {\n      if (s(e)) o(e, r, n);else {\n        var i = document.createElement(\"a\");\n        i.href = e, i.target = \"_blank\", setTimeout(function () {\n          c(i);\n        });\n      }\n    } else navigator.msSaveOrOpenBlob(function (e, r) {\n      return void 0 === r ? r = {\n        autoBom: !1\n      } : \"object\" !== t(r) && (a.warn(\"Deprecated: Expected third argument to be a object\"), r = {\n        autoBom: !r\n      }), 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], {\n        type: e.type\n      }) : e;\n    }(e, n), r);\n  } : function (e, r, i, a) {\n    if ((a = a || open(\"\", \"_blank\")) && (a.document.title = a.document.body.innerText = \"downloading...\"), \"string\" == typeof e) return o(e, r, i);\n    var s = \"application/octet-stream\" === e.type,\n      c = /constructor/i.test(n.HTMLElement) || n.safari,\n      u = /CriOS\\/[\\d]+/.test(navigator.userAgent);\n    if ((u || s && c) && \"object\" === (\"undefined\" == typeof FileReader ? \"undefined\" : t(FileReader))) {\n      var h = new FileReader();\n      h.onloadend = function () {\n        var t = h.result;\n        t = u ? t : t.replace(/^data:[^;]*;/, \"data:attachment/file;\"), a ? a.location.href = t : location = t, a = null;\n      }, h.readAsDataURL(e);\n    } else {\n      var l = n.URL || n.webkitURL,\n        f = l.createObjectURL(e);\n      a ? a.location = f : location.href = f, a = null, setTimeout(function () {\n        l.revokeObjectURL(f);\n      }, 4e4);\n    }\n  });\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 */\nfunction f(t) {\n  var e;\n  t = t || \"\", this.ok = !1, \"#\" == t.charAt(0) && (t = t.substr(1, 6));\n  t = {\n    aliceblue: \"f0f8ff\",\n    antiquewhite: \"faebd7\",\n    aqua: \"00ffff\",\n    aquamarine: \"7fffd4\",\n    azure: \"f0ffff\",\n    beige: \"f5f5dc\",\n    bisque: \"ffe4c4\",\n    black: \"000000\",\n    blanchedalmond: \"ffebcd\",\n    blue: \"0000ff\",\n    blueviolet: \"8a2be2\",\n    brown: \"a52a2a\",\n    burlywood: \"deb887\",\n    cadetblue: \"5f9ea0\",\n    chartreuse: \"7fff00\",\n    chocolate: \"d2691e\",\n    coral: \"ff7f50\",\n    cornflowerblue: \"6495ed\",\n    cornsilk: \"fff8dc\",\n    crimson: \"dc143c\",\n    cyan: \"00ffff\",\n    darkblue: \"00008b\",\n    darkcyan: \"008b8b\",\n    darkgoldenrod: \"b8860b\",\n    darkgray: \"a9a9a9\",\n    darkgreen: \"006400\",\n    darkkhaki: \"bdb76b\",\n    darkmagenta: \"8b008b\",\n    darkolivegreen: \"556b2f\",\n    darkorange: \"ff8c00\",\n    darkorchid: \"9932cc\",\n    darkred: \"8b0000\",\n    darksalmon: \"e9967a\",\n    darkseagreen: \"8fbc8f\",\n    darkslateblue: \"483d8b\",\n    darkslategray: \"2f4f4f\",\n    darkturquoise: \"00ced1\",\n    darkviolet: \"9400d3\",\n    deeppink: \"ff1493\",\n    deepskyblue: \"00bfff\",\n    dimgray: \"696969\",\n    dodgerblue: \"1e90ff\",\n    feldspar: \"d19275\",\n    firebrick: \"b22222\",\n    floralwhite: \"fffaf0\",\n    forestgreen: \"228b22\",\n    fuchsia: \"ff00ff\",\n    gainsboro: \"dcdcdc\",\n    ghostwhite: \"f8f8ff\",\n    gold: \"ffd700\",\n    goldenrod: \"daa520\",\n    gray: \"808080\",\n    green: \"008000\",\n    greenyellow: \"adff2f\",\n    honeydew: \"f0fff0\",\n    hotpink: \"ff69b4\",\n    indianred: \"cd5c5c\",\n    indigo: \"4b0082\",\n    ivory: \"fffff0\",\n    khaki: \"f0e68c\",\n    lavender: \"e6e6fa\",\n    lavenderblush: \"fff0f5\",\n    lawngreen: \"7cfc00\",\n    lemonchiffon: \"fffacd\",\n    lightblue: \"add8e6\",\n    lightcoral: \"f08080\",\n    lightcyan: \"e0ffff\",\n    lightgoldenrodyellow: \"fafad2\",\n    lightgrey: \"d3d3d3\",\n    lightgreen: \"90ee90\",\n    lightpink: \"ffb6c1\",\n    lightsalmon: \"ffa07a\",\n    lightseagreen: \"20b2aa\",\n    lightskyblue: \"87cefa\",\n    lightslateblue: \"8470ff\",\n    lightslategray: \"778899\",\n    lightsteelblue: \"b0c4de\",\n    lightyellow: \"ffffe0\",\n    lime: \"00ff00\",\n    limegreen: \"32cd32\",\n    linen: \"faf0e6\",\n    magenta: \"ff00ff\",\n    maroon: \"800000\",\n    mediumaquamarine: \"66cdaa\",\n    mediumblue: \"0000cd\",\n    mediumorchid: \"ba55d3\",\n    mediumpurple: \"9370d8\",\n    mediumseagreen: \"3cb371\",\n    mediumslateblue: \"7b68ee\",\n    mediumspringgreen: \"00fa9a\",\n    mediumturquoise: \"48d1cc\",\n    mediumvioletred: \"c71585\",\n    midnightblue: \"191970\",\n    mintcream: \"f5fffa\",\n    mistyrose: \"ffe4e1\",\n    moccasin: \"ffe4b5\",\n    navajowhite: \"ffdead\",\n    navy: \"000080\",\n    oldlace: \"fdf5e6\",\n    olive: \"808000\",\n    olivedrab: \"6b8e23\",\n    orange: \"ffa500\",\n    orangered: \"ff4500\",\n    orchid: \"da70d6\",\n    palegoldenrod: \"eee8aa\",\n    palegreen: \"98fb98\",\n    paleturquoise: \"afeeee\",\n    palevioletred: \"d87093\",\n    papayawhip: \"ffefd5\",\n    peachpuff: \"ffdab9\",\n    peru: \"cd853f\",\n    pink: \"ffc0cb\",\n    plum: \"dda0dd\",\n    powderblue: \"b0e0e6\",\n    purple: \"800080\",\n    red: \"ff0000\",\n    rosybrown: \"bc8f8f\",\n    royalblue: \"4169e1\",\n    saddlebrown: \"8b4513\",\n    salmon: \"fa8072\",\n    sandybrown: \"f4a460\",\n    seagreen: \"2e8b57\",\n    seashell: \"fff5ee\",\n    sienna: \"a0522d\",\n    silver: \"c0c0c0\",\n    skyblue: \"87ceeb\",\n    slateblue: \"6a5acd\",\n    slategray: \"708090\",\n    snow: \"fffafa\",\n    springgreen: \"00ff7f\",\n    steelblue: \"4682b4\",\n    tan: \"d2b48c\",\n    teal: \"008080\",\n    thistle: \"d8bfd8\",\n    tomato: \"ff6347\",\n    turquoise: \"40e0d0\",\n    violet: \"ee82ee\",\n    violetred: \"d02090\",\n    wheat: \"f5deb3\",\n    white: \"ffffff\",\n    whitesmoke: \"f5f5f5\",\n    yellow: \"ffff00\",\n    yellowgreen: \"9acd32\"\n  }[t = (t = t.replace(/ /g, \"\")).toLowerCase()] || t;\n  for (var r = [{\n      re: /^rgb\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,\n      example: [\"rgb(123, 234, 45)\", \"rgb(255,234,245)\"],\n      process: function (t) {\n        return [parseInt(t[1]), parseInt(t[2]), parseInt(t[3])];\n      }\n    }, {\n      re: /^(\\w{2})(\\w{2})(\\w{2})$/,\n      example: [\"#00ff00\", \"336699\"],\n      process: function (t) {\n        return [parseInt(t[1], 16), parseInt(t[2], 16), parseInt(t[3], 16)];\n      }\n    }, {\n      re: /^(\\w{1})(\\w{1})(\\w{1})$/,\n      example: [\"#fb0\", \"f0f\"],\n      process: function (t) {\n        return [parseInt(t[1] + t[1], 16), parseInt(t[2] + t[2], 16), parseInt(t[3] + t[3], 16)];\n      }\n    }], n = 0; n < r.length; n++) {\n    var i = r[n].re,\n      a = r[n].process,\n      o = i.exec(t);\n    o && (e = a(o), this.r = e[0], this.g = e[1], this.b = e[2], this.ok = !0);\n  }\n  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 () {\n    return \"rgb(\" + this.r + \", \" + this.g + \", \" + this.b + \")\";\n  }, this.toHex = function () {\n    var t = this.r.toString(16),\n      e = this.g.toString(16),\n      r = this.b.toString(16);\n    return 1 == t.length && (t = \"0\" + t), 1 == e.length && (e = \"0\" + e), 1 == r.length && (r = \"0\" + r), \"#\" + t + e + r;\n  };\n}\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 d(t, e) {\n  var r = t[0],\n    n = t[1],\n    i = t[2],\n    a = t[3];\n  r = g(r, n, i, a, e[0], 7, -680876936), a = g(a, r, n, i, e[1], 12, -389564586), i = g(i, a, r, n, e[2], 17, 606105819), n = g(n, i, a, r, e[3], 22, -1044525330), r = g(r, n, i, a, e[4], 7, -176418897), a = g(a, r, n, i, e[5], 12, 1200080426), i = g(i, a, r, n, e[6], 17, -1473231341), n = g(n, i, a, r, e[7], 22, -45705983), r = g(r, n, i, a, e[8], 7, 1770035416), a = g(a, r, n, i, e[9], 12, -1958414417), i = g(i, a, r, n, e[10], 17, -42063), n = g(n, i, a, r, e[11], 22, -1990404162), r = g(r, n, i, a, e[12], 7, 1804603682), a = g(a, r, n, i, e[13], 12, -40341101), i = g(i, a, r, n, e[14], 17, -1502002290), r = m(r, n = g(n, i, a, r, e[15], 22, 1236535329), i, a, e[1], 5, -165796510), a = m(a, r, n, i, e[6], 9, -1069501632), i = m(i, a, r, n, e[11], 14, 643717713), n = m(n, i, a, r, e[0], 20, -373897302), r = m(r, n, i, a, e[5], 5, -701558691), a = m(a, r, n, i, e[10], 9, 38016083), i = m(i, a, r, n, e[15], 14, -660478335), n = m(n, i, a, r, e[4], 20, -405537848), r = m(r, n, i, a, e[9], 5, 568446438), a = m(a, r, n, i, e[14], 9, -1019803690), i = m(i, a, r, n, e[3], 14, -187363961), n = m(n, i, a, r, e[8], 20, 1163531501), r = m(r, n, i, a, e[13], 5, -1444681467), a = m(a, r, n, i, e[2], 9, -51403784), i = m(i, a, r, n, e[7], 14, 1735328473), r = v(r, n = m(n, i, a, r, e[12], 20, -1926607734), i, a, e[5], 4, -378558), a = v(a, r, n, i, e[8], 11, -2022574463), i = v(i, a, r, n, e[11], 16, 1839030562), n = v(n, i, a, r, e[14], 23, -35309556), r = v(r, n, i, a, e[1], 4, -1530992060), a = v(a, r, n, i, e[4], 11, 1272893353), i = v(i, a, r, n, e[7], 16, -155497632), n = v(n, i, a, r, e[10], 23, -1094730640), r = v(r, n, i, a, e[13], 4, 681279174), a = v(a, r, n, i, e[0], 11, -358537222), i = v(i, a, r, n, e[3], 16, -722521979), n = v(n, i, a, r, e[6], 23, 76029189), r = v(r, n, i, a, e[9], 4, -640364487), a = v(a, r, n, i, e[12], 11, -421815835), i = v(i, a, r, n, e[15], 16, 530742520), r = b(r, n = v(n, i, a, r, e[2], 23, -995338651), i, a, e[0], 6, -198630844), a = b(a, r, n, i, e[7], 10, 1126891415), i = b(i, a, r, n, e[14], 15, -1416354905), n = b(n, i, a, r, e[5], 21, -57434055), r = b(r, n, i, a, e[12], 6, 1700485571), a = b(a, r, n, i, e[3], 10, -1894986606), i = b(i, a, r, n, e[10], 15, -1051523), n = b(n, i, a, r, e[1], 21, -2054922799), r = b(r, n, i, a, e[8], 6, 1873313359), a = b(a, r, n, i, e[15], 10, -30611744), i = b(i, a, r, n, e[6], 15, -1560198380), n = b(n, i, a, r, e[13], 21, 1309151649), r = b(r, n, i, a, e[4], 6, -145523070), a = b(a, r, n, i, e[11], 10, -1120210379), i = b(i, a, r, n, e[2], 15, 718787259), n = b(n, i, a, r, e[9], 21, -343485551), t[0] = _(r, t[0]), t[1] = _(n, t[1]), t[2] = _(i, t[2]), t[3] = _(a, t[3]);\n}\nfunction p(t, e, r, n, i, a) {\n  return e = _(_(e, t), _(n, a)), _(e << i | e >>> 32 - i, r);\n}\nfunction g(t, e, r, n, i, a, o) {\n  return p(e & r | ~e & n, t, e, i, a, o);\n}\nfunction m(t, e, r, n, i, a, o) {\n  return p(e & n | r & ~n, t, e, i, a, o);\n}\nfunction v(t, e, r, n, i, a, o) {\n  return p(e ^ r ^ n, t, e, i, a, o);\n}\nfunction b(t, e, r, n, i, a, o) {\n  return p(r ^ (e | ~n), t, e, i, a, o);\n}\nfunction y(t) {\n  var e,\n    r = t.length,\n    n = [1732584193, -271733879, -1732584194, 271733878];\n  for (e = 64; e <= t.length; e += 64) d(n, w(t.substring(e - 64, e)));\n  t = t.substring(e - 64);\n  var i = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n  for (e = 0; e < t.length; e++) i[e >> 2] |= t.charCodeAt(e) << (e % 4 << 3);\n  if (i[e >> 2] |= 128 << (e % 4 << 3), e > 55) for (d(n, i), e = 0; e < 16; e++) i[e] = 0;\n  return i[14] = 8 * r, d(n, i), n;\n}\nfunction w(t) {\n  var e,\n    r = [];\n  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);\n  return r;\n}\nu = n.atob.bind(n), h = n.btoa.bind(n);\nvar N = \"0123456789abcdef\".split(\"\");\nfunction L(t) {\n  for (var e = \"\", r = 0; r < 4; r++) e += N[t >> 8 * r + 4 & 15] + N[t >> 8 * r & 15];\n  return e;\n}\nfunction A(t) {\n  return String.fromCharCode((255 & t) >> 0, (65280 & t) >> 8, (16711680 & t) >> 16, (4278190080 & t) >> 24);\n}\nfunction x(t) {\n  return y(t).map(A).join(\"\");\n}\nvar S = \"5d41402abc4b2a76b9719d911017c592\" != function (t) {\n  for (var e = 0; e < t.length; e++) t[e] = L(t[e]);\n  return t.join(\"\");\n}(y(\"hello\"));\nfunction _(t, e) {\n  if (S) {\n    var r = (65535 & t) + (65535 & e);\n    return (t >> 16) + (e >> 16) + (r >> 16) << 16 | 65535 & r;\n  }\n  return t + e & 4294967295;\n}\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 */\nfunction P(t, e) {\n  var r, n, i, a;\n  if (t !== r) {\n    for (var o = (i = t, a = 1 + (256 / t.length >> 0), new Array(a + 1).join(i)), s = [], c = 0; c < 256; c++) s[c] = c;\n    var u = 0;\n    for (c = 0; c < 256; c++) {\n      var h = s[c];\n      u = (u + h + o.charCodeAt(c)) % 256, s[c] = s[u], s[u] = h;\n    }\n    r = t, n = s;\n  } else s = n;\n  var l = e.length,\n    f = 0,\n    d = 0,\n    p = \"\";\n  for (c = 0; c < l; c++) d = (d + (h = s[f = (f + 1) % 256])) % 256, s[f] = s[d], s[d] = h, o = s[(s[f] + s[d]) % 256], p += String.fromCharCode(e.charCodeAt(c) ^ o);\n  return p;\n}\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 */\nvar k = {\n  print: 4,\n  modify: 8,\n  copy: 16,\n  \"annot-forms\": 32\n};\nfunction I(t, e, r, n) {\n  this.v = 1, this.r = 2;\n  var i = 192;\n  t.forEach(function (t) {\n    if (void 0 !== k.perm) throw new Error(\"Invalid permission: \" + t);\n    i += k[t];\n  }), this.padding = \"(¿N^NuAd\\0NVÿú\u0001\\b..\\0¶Ðh>/\\f©þdSiz\";\n  var a = (e + this.padding).substr(0, 32),\n    o = (r + this.padding).substr(0, 32);\n  this.O = this.processOwnerPassword(a, o), this.P = -(1 + (255 ^ i)), this.encryptionKey = x(a + this.O + this.lsbFirstWord(this.P) + this.hexToBytes(n)).substr(0, 5), this.U = P(this.encryptionKey, this.padding);\n}\nfunction F(t) {\n  if (/[^\\u0000-\\u00ff]/.test(t)) throw new Error(\"Invalid PDF Name Object: \" + t + \", Only accept ASCII characters.\");\n  for (var e = \"\", r = t.length, n = 0; n < r; n++) {\n    var i = t.charCodeAt(n);\n    if (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) e += \"#\" + (\"0\" + i.toString(16)).slice(-2);else e += t[n];\n  }\n  return e;\n}\nfunction C(e) {\n  if (\"object\" !== t(e)) throw new Error(\"Invalid Context passed to initialize PubSub (jsPDF-module)\");\n  var r = {};\n  this.subscribe = function (t, e, n) {\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)\");\n    r.hasOwnProperty(t) || (r[t] = {});\n    var i = Math.random().toString(35);\n    return r[t][i] = [e, !!n], i;\n  }, this.unsubscribe = function (t) {\n    for (var e in r) if (r[e][t]) return delete r[e][t], 0 === Object.keys(r[e]).length && delete r[e], !0;\n    return !1;\n  }, this.publish = function (t) {\n    if (r.hasOwnProperty(t)) {\n      var i = Array.prototype.slice.call(arguments, 1),\n        o = [];\n      for (var s in r[t]) {\n        var c = r[t][s];\n        try {\n          c[0].apply(e, i);\n        } catch (t) {\n          n.console && a.error(\"jsPDF PubSub Error\", t.message, t);\n        }\n        c[1] && o.push(s);\n      }\n      o.length && o.forEach(this.unsubscribe);\n    }\n  }, this.getTopics = function () {\n    return r;\n  };\n}\nfunction j(t) {\n  if (!(this instanceof j)) return new j(t);\n  var e = \"opacity,stroke-opacity\".split(\",\");\n  for (var r in t) t.hasOwnProperty(r) && e.indexOf(r) >= 0 && (this[r] = t[r]);\n  this.id = \"\", this.objectNumber = -1;\n}\nfunction O(t, e) {\n  this.gState = t, this.matrix = e, this.id = \"\", this.objectNumber = -1;\n}\nfunction B(t, e, r, n, i) {\n  if (!(this instanceof B)) return new B(t, e, r, n, i);\n  this.type = \"axial\" === t ? 2 : 3, this.coords = e, this.colors = r, O.call(this, n, i);\n}\nfunction M(t, e, r, n, i) {\n  if (!(this instanceof M)) return new M(t, e, r, n, i);\n  this.boundingBox = t, this.xStep = e, this.yStep = r, this.stream = \"\", this.cloneIndex = 0, O.call(this, n, i);\n}\nfunction E(e) {\n  var r,\n    i = \"string\" == typeof arguments[0] ? arguments[0] : \"p\",\n    o = arguments[1],\n    s = arguments[2],\n    c = arguments[3],\n    u = [],\n    d = 1,\n    p = 16,\n    g = \"S\",\n    m = null;\n  \"object\" === t(e = e || {}) && (i = e.orientation, o = e.unit || o, s = e.format || s, c = e.compress || e.compressPdf || c, null !== (m = e.encryption || null) && (m.userPassword = m.userPassword || \"\", m.ownerPassword = m.ownerPassword || \"\", m.userPermissions = m.userPermissions || []), d = \"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\"), u = e.filters || (!0 === c ? [\"FlateEncode\"] : u), o = o || \"mm\", i = (\"\" + (i || \"P\")).toLowerCase();\n  var v = e.putOnlyUsedFonts || !1,\n    b = {},\n    y = {\n      internal: {},\n      __private__: {}\n    };\n  y.__private__.PubSub = C;\n  var w = \"1.3\",\n    N = y.__private__.getPdfVersion = function () {\n      return w;\n    };\n  y.__private__.setPdfVersion = function (t) {\n    w = t;\n  };\n  var L = {\n    a0: [2383.94, 3370.39],\n    a1: [1683.78, 2383.94],\n    a2: [1190.55, 1683.78],\n    a3: [841.89, 1190.55],\n    a4: [595.28, 841.89],\n    a5: [419.53, 595.28],\n    a6: [297.64, 419.53],\n    a7: [209.76, 297.64],\n    a8: [147.4, 209.76],\n    a9: [104.88, 147.4],\n    a10: [73.7, 104.88],\n    b0: [2834.65, 4008.19],\n    b1: [2004.09, 2834.65],\n    b2: [1417.32, 2004.09],\n    b3: [1000.63, 1417.32],\n    b4: [708.66, 1000.63],\n    b5: [498.9, 708.66],\n    b6: [354.33, 498.9],\n    b7: [249.45, 354.33],\n    b8: [175.75, 249.45],\n    b9: [124.72, 175.75],\n    b10: [87.87, 124.72],\n    c0: [2599.37, 3676.54],\n    c1: [1836.85, 2599.37],\n    c2: [1298.27, 1836.85],\n    c3: [918.43, 1298.27],\n    c4: [649.13, 918.43],\n    c5: [459.21, 649.13],\n    c6: [323.15, 459.21],\n    c7: [229.61, 323.15],\n    c8: [161.57, 229.61],\n    c9: [113.39, 161.57],\n    c10: [79.37, 113.39],\n    dl: [311.81, 623.62],\n    letter: [612, 792],\n    \"government-letter\": [576, 756],\n    legal: [612, 1008],\n    \"junior-legal\": [576, 360],\n    ledger: [1224, 792],\n    tabloid: [792, 1224],\n    \"credit-card\": [153, 243]\n  };\n  y.__private__.getPageFormats = function () {\n    return L;\n  };\n  var A = y.__private__.getPageFormat = function (t) {\n    return L[t];\n  };\n  s = s || \"a4\";\n  var x = {\n      COMPAT: \"compat\",\n      ADVANCED: \"advanced\"\n    },\n    S = x.COMPAT;\n  function _() {\n    this.saveGraphicsState(), lt(new Vt(_t, 0, 0, -_t, 0, Rr() * _t).toString() + \" cm\"), this.setFontSize(this.getFontSize() / _t), g = \"n\", S = x.ADVANCED;\n  }\n  function P() {\n    this.restoreGraphicsState(), g = \"S\", S = x.COMPAT;\n  }\n  var k = y.__private__.combineFontStyleAndFontWeight = function (t, e) {\n    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\");\n    return e && (t = 400 == e || \"normal\" === e ? \"italic\" === t ? \"italic\" : \"normal\" : 700 != e && \"bold\" !== e || \"normal\" !== t ? (700 == e ? \"bold\" : e) + \"\" + t : \"bold\"), t;\n  };\n  y.advancedAPI = function (t) {\n    var e = S === x.COMPAT;\n    return e && _.call(this), \"function\" != typeof t || (t(this), e && P.call(this)), this;\n  }, y.compatAPI = function (t) {\n    var e = S === x.ADVANCED;\n    return e && P.call(this), \"function\" != typeof t || (t(this), e && _.call(this)), this;\n  }, y.isAdvancedAPI = function () {\n    return S === x.ADVANCED;\n  };\n  var O,\n    q = function (t) {\n      if (S !== x.ADVANCED) throw new Error(t + \" is only available in 'advanced' API mode. You need to call advancedAPI() first.\");\n    },\n    D = y.roundToPrecision = y.__private__.roundToPrecision = function (t, e) {\n      var n = r || e;\n      if (isNaN(t) || isNaN(n)) throw new Error(\"Invalid argument passed to jsPDF.roundToPrecision\");\n      return t.toFixed(n).replace(/0+$/, \"\");\n    };\n  O = y.hpf = y.__private__.hpf = \"number\" == typeof p ? function (t) {\n    if (isNaN(t)) throw new Error(\"Invalid argument passed to jsPDF.hpf\");\n    return D(t, p);\n  } : \"smart\" === p ? function (t) {\n    if (isNaN(t)) throw new Error(\"Invalid argument passed to jsPDF.hpf\");\n    return D(t, t > -1 && t < 1 ? 16 : 5);\n  } : function (t) {\n    if (isNaN(t)) throw new Error(\"Invalid argument passed to jsPDF.hpf\");\n    return D(t, 16);\n  };\n  var R = y.f2 = y.__private__.f2 = function (t) {\n      if (isNaN(t)) throw new Error(\"Invalid argument passed to jsPDF.f2\");\n      return D(t, 2);\n    },\n    T = y.__private__.f3 = function (t) {\n      if (isNaN(t)) throw new Error(\"Invalid argument passed to jsPDF.f3\");\n      return D(t, 3);\n    },\n    U = y.scale = y.__private__.scale = function (t) {\n      if (isNaN(t)) throw new Error(\"Invalid argument passed to jsPDF.scale\");\n      return S === x.COMPAT ? t * _t : S === x.ADVANCED ? t : void 0;\n    },\n    z = function (t) {\n      return S === x.COMPAT ? Rr() - t : S === x.ADVANCED ? t : void 0;\n    },\n    H = function (t) {\n      return U(z(t));\n    };\n  y.__private__.setPrecision = y.setPrecision = function (t) {\n    \"number\" == typeof parseInt(t, 10) && (r = parseInt(t, 10));\n  };\n  var W,\n    V = \"00000000000000000000000000000000\",\n    G = y.__private__.getFileId = function () {\n      return V;\n    },\n    Y = y.__private__.setFileId = function (t) {\n      return V = void 0 !== t && /^[a-fA-F0-9]{32}$/.test(t) ? t.toUpperCase() : V.split(\"\").map(function () {\n        return \"ABCDEF0123456789\".charAt(Math.floor(16 * Math.random()));\n      }).join(\"\"), null !== m && (Ye = new I(m.userPermissions, m.userPassword, m.ownerPassword, V)), V;\n    };\n  y.setFileId = function (t) {\n    return Y(t), this;\n  }, y.getFileId = function () {\n    return G();\n  };\n  var J = y.__private__.convertDateToPDFDate = function (t) {\n      var e = t.getTimezoneOffset(),\n        r = e < 0 ? \"+\" : \"-\",\n        n = Math.floor(Math.abs(e / 60)),\n        i = Math.abs(e % 60),\n        a = [r, Q(n), \"'\", Q(i), \"'\"].join(\"\");\n      return [\"D:\", t.getFullYear(), Q(t.getMonth() + 1), Q(t.getDate()), Q(t.getHours()), Q(t.getMinutes()), Q(t.getSeconds()), a].join(\"\");\n    },\n    X = y.__private__.convertPDFDateToDate = function (t) {\n      var e = parseInt(t.substr(2, 4), 10),\n        r = parseInt(t.substr(6, 2), 10) - 1,\n        n = parseInt(t.substr(8, 2), 10),\n        i = parseInt(t.substr(10, 2), 10),\n        a = parseInt(t.substr(12, 2), 10),\n        o = parseInt(t.substr(14, 2), 10);\n      return new Date(e, r, n, i, a, o, 0);\n    },\n    K = y.__private__.setCreationDate = function (t) {\n      var e;\n      if (void 0 === t && (t = new Date()), t instanceof Date) e = J(t);else {\n        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\");\n        e = t;\n      }\n      return W = e;\n    },\n    Z = y.__private__.getCreationDate = function (t) {\n      var e = W;\n      return \"jsDate\" === t && (e = X(W)), e;\n    };\n  y.setCreationDate = function (t) {\n    return K(t), this;\n  }, y.getCreationDate = function (t) {\n    return Z(t);\n  };\n  var $,\n    Q = y.__private__.padd2 = function (t) {\n      return (\"0\" + parseInt(t)).slice(-2);\n    },\n    tt = y.__private__.padd2Hex = function (t) {\n      return (\"00\" + (t = t.toString())).substr(t.length);\n    },\n    et = 0,\n    rt = [],\n    nt = [],\n    it = 0,\n    at = [],\n    ot = [],\n    st = !1,\n    ct = nt,\n    ut = function () {\n      et = 0, it = 0, nt = [], rt = [], at = [], Qt = Kt(), te = Kt();\n    };\n  y.__private__.setCustomOutputDestination = function (t) {\n    st = !0, ct = t;\n  };\n  var ht = function (t) {\n    st || (ct = t);\n  };\n  y.__private__.resetCustomOutputDestination = function () {\n    st = !1, ct = nt;\n  };\n  var lt = y.__private__.out = function (t) {\n      return t = t.toString(), it += t.length + 1, ct.push(t), ct;\n    },\n    ft = y.__private__.write = function (t) {\n      return lt(1 === arguments.length ? t.toString() : Array.prototype.join.call(arguments, \" \"));\n    },\n    dt = y.__private__.getArrayBuffer = function (t) {\n      for (var e = t.length, r = new ArrayBuffer(e), n = new Uint8Array(r); e--;) n[e] = t.charCodeAt(e);\n      return r;\n    },\n    pt = [[\"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]];\n  y.__private__.getStandardFonts = function () {\n    return pt;\n  };\n  var gt = e.fontSize || 16;\n  y.__private__.setFontSize = y.setFontSize = function (t) {\n    return gt = S === x.ADVANCED ? t / _t : t, this;\n  };\n  var mt,\n    vt = y.__private__.getFontSize = y.getFontSize = function () {\n      return S === x.COMPAT ? gt : gt * _t;\n    },\n    bt = e.R2L || !1;\n  y.__private__.setR2L = y.setR2L = function (t) {\n    return bt = t, this;\n  }, y.__private__.getR2L = y.getR2L = function () {\n    return bt;\n  };\n  var yt,\n    wt = y.__private__.setZoomMode = function (t) {\n      var e = [void 0, null, \"fullwidth\", \"fullheight\", \"fullpage\", \"original\"];\n      if (/^(?:\\d+\\.\\d*|\\d*\\.\\d+|\\d+)%$/.test(t)) mt = t;else if (isNaN(t)) {\n        if (-1 === e.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.');\n        mt = t;\n      } else mt = parseInt(t, 10);\n    };\n  y.__private__.getZoomMode = function () {\n    return mt;\n  };\n  var Nt,\n    Lt = y.__private__.setPageMode = function (t) {\n      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.');\n      yt = t;\n    };\n  y.__private__.getPageMode = function () {\n    return yt;\n  };\n  var At = y.__private__.setLayoutMode = function (t) {\n    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.');\n    Nt = t;\n  };\n  y.__private__.getLayoutMode = function () {\n    return Nt;\n  }, y.__private__.setDisplayMode = y.setDisplayMode = function (t, e, r) {\n    return wt(t), At(e), Lt(r), this;\n  };\n  var xt = {\n    title: \"\",\n    subject: \"\",\n    author: \"\",\n    keywords: \"\",\n    creator: \"\"\n  };\n  y.__private__.getDocumentProperty = function (t) {\n    if (-1 === Object.keys(xt).indexOf(t)) throw new Error(\"Invalid argument passed to jsPDF.getDocumentProperty\");\n    return xt[t];\n  }, y.__private__.getDocumentProperties = function () {\n    return xt;\n  }, y.__private__.setDocumentProperties = y.setProperties = y.setDocumentProperties = function (t) {\n    for (var e in xt) xt.hasOwnProperty(e) && t[e] && (xt[e] = t[e]);\n    return this;\n  }, y.__private__.setDocumentProperty = function (t, e) {\n    if (-1 === Object.keys(xt).indexOf(t)) throw new Error(\"Invalid arguments passed to jsPDF.setDocumentProperty\");\n    return xt[t] = e;\n  };\n  var St,\n    _t,\n    Pt,\n    kt,\n    It,\n    Ft = {},\n    Ct = {},\n    jt = [],\n    Ot = {},\n    Bt = {},\n    Mt = {},\n    Et = {},\n    qt = null,\n    Dt = 0,\n    Rt = [],\n    Tt = new C(y),\n    Ut = e.hotfixes || [],\n    zt = {},\n    Ht = {},\n    Wt = [],\n    Vt = function t(e, r, n, i, a, o) {\n      if (!(this instanceof t)) return new t(e, r, n, i, a, o);\n      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];\n    };\n  Object.defineProperty(Vt.prototype, \"sx\", {\n    get: function () {\n      return this._matrix[0];\n    },\n    set: function (t) {\n      this._matrix[0] = t;\n    }\n  }), Object.defineProperty(Vt.prototype, \"shy\", {\n    get: function () {\n      return this._matrix[1];\n    },\n    set: function (t) {\n      this._matrix[1] = t;\n    }\n  }), Object.defineProperty(Vt.prototype, \"shx\", {\n    get: function () {\n      return this._matrix[2];\n    },\n    set: function (t) {\n      this._matrix[2] = t;\n    }\n  }), Object.defineProperty(Vt.prototype, \"sy\", {\n    get: function () {\n      return this._matrix[3];\n    },\n    set: function (t) {\n      this._matrix[3] = t;\n    }\n  }), Object.defineProperty(Vt.prototype, \"tx\", {\n    get: function () {\n      return this._matrix[4];\n    },\n    set: function (t) {\n      this._matrix[4] = t;\n    }\n  }), Object.defineProperty(Vt.prototype, \"ty\", {\n    get: function () {\n      return this._matrix[5];\n    },\n    set: function (t) {\n      this._matrix[5] = t;\n    }\n  }), Object.defineProperty(Vt.prototype, \"a\", {\n    get: function () {\n      return this._matrix[0];\n    },\n    set: function (t) {\n      this._matrix[0] = t;\n    }\n  }), Object.defineProperty(Vt.prototype, \"b\", {\n    get: function () {\n      return this._matrix[1];\n    },\n    set: function (t) {\n      this._matrix[1] = t;\n    }\n  }), Object.defineProperty(Vt.prototype, \"c\", {\n    get: function () {\n      return this._matrix[2];\n    },\n    set: function (t) {\n      this._matrix[2] = t;\n    }\n  }), Object.defineProperty(Vt.prototype, \"d\", {\n    get: function () {\n      return this._matrix[3];\n    },\n    set: function (t) {\n      this._matrix[3] = t;\n    }\n  }), Object.defineProperty(Vt.prototype, \"e\", {\n    get: function () {\n      return this._matrix[4];\n    },\n    set: function (t) {\n      this._matrix[4] = t;\n    }\n  }), Object.defineProperty(Vt.prototype, \"f\", {\n    get: function () {\n      return this._matrix[5];\n    },\n    set: function (t) {\n      this._matrix[5] = t;\n    }\n  }), Object.defineProperty(Vt.prototype, \"rotation\", {\n    get: function () {\n      return Math.atan2(this.shx, this.sx);\n    }\n  }), Object.defineProperty(Vt.prototype, \"scaleX\", {\n    get: function () {\n      return this.decompose().scale.sx;\n    }\n  }), Object.defineProperty(Vt.prototype, \"scaleY\", {\n    get: function () {\n      return this.decompose().scale.sy;\n    }\n  }), Object.defineProperty(Vt.prototype, \"isIdentity\", {\n    get: function () {\n      return 1 === this.sx && 0 === this.shy && 0 === this.shx && 1 === this.sy && 0 === this.tx && 0 === this.ty;\n    }\n  }), Vt.prototype.join = function (t) {\n    return [this.sx, this.shy, this.shx, this.sy, this.tx, this.ty].map(O).join(t);\n  }, Vt.prototype.multiply = function (t) {\n    var e = t.sx * this.sx + t.shy * this.shx,\n      r = t.sx * this.shy + t.shy * this.sy,\n      n = t.shx * this.sx + t.sy * this.shx,\n      i = t.shx * this.shy + t.sy * this.sy,\n      a = t.tx * this.sx + t.ty * this.shx + this.tx,\n      o = t.tx * this.shy + t.ty * this.sy + this.ty;\n    return new Vt(e, r, n, i, a, o);\n  }, Vt.prototype.decompose = function () {\n    var t = this.sx,\n      e = this.shy,\n      r = this.shx,\n      n = this.sy,\n      i = this.tx,\n      a = this.ty,\n      o = Math.sqrt(t * t + e * e),\n      s = (t /= o) * r + (e /= o) * n;\n    r -= t * s, n -= e * s;\n    var c = Math.sqrt(r * r + n * n);\n    return s /= c, t * (n /= c) < e * (r /= c) && (t = -t, e = -e, s = -s, o = -o), {\n      scale: new Vt(o, 0, 0, c, 0, 0),\n      translate: new Vt(1, 0, 0, 1, i, a),\n      rotate: new Vt(t, e, -e, t, 0, 0),\n      skew: new Vt(1, 0, s, 1, 0, 0)\n    };\n  }, Vt.prototype.toString = function (t) {\n    return this.join(\" \");\n  }, Vt.prototype.inversed = function () {\n    var t = this.sx,\n      e = this.shy,\n      r = this.shx,\n      n = this.sy,\n      i = this.tx,\n      a = this.ty,\n      o = 1 / (t * n - e * r),\n      s = n * o,\n      c = -e * o,\n      u = -r * o,\n      h = t * o;\n    return new Vt(s, c, u, h, -s * i - u * a, -c * i - h * a);\n  }, Vt.prototype.applyToPoint = function (t) {\n    var e = t.x * this.sx + t.y * this.shx + this.tx,\n      r = t.x * this.shy + t.y * this.sy + this.ty;\n    return new Cr(e, r);\n  }, Vt.prototype.applyToRectangle = function (t) {\n    var e = this.applyToPoint(t),\n      r = this.applyToPoint(new Cr(t.x + t.w, t.y + t.h));\n    return new jr(e.x, e.y, r.x - e.x, r.y - e.y);\n  }, Vt.prototype.clone = function () {\n    var t = this.sx,\n      e = this.shy,\n      r = this.shx,\n      n = this.sy,\n      i = this.tx,\n      a = this.ty;\n    return new Vt(t, e, r, n, i, a);\n  }, y.Matrix = Vt;\n  var Gt = y.matrixMult = function (t, e) {\n      return e.multiply(t);\n    },\n    Yt = new Vt(1, 0, 0, 1, 0, 0);\n  y.unitMatrix = y.identityMatrix = Yt;\n  var Jt = function (t, e) {\n    if (!Bt[t]) {\n      var r = (e instanceof B ? \"Sh\" : \"P\") + (Object.keys(Ot).length + 1).toString(10);\n      e.id = r, Bt[t] = r, Ot[r] = e, Tt.publish(\"addPattern\", e);\n    }\n  };\n  y.ShadingPattern = B, y.TilingPattern = M, y.addShadingPattern = function (t, e) {\n    return q(\"addShadingPattern()\"), Jt(t, e), this;\n  }, y.beginTilingPattern = function (t) {\n    q(\"beginTilingPattern()\"), Br(t.boundingBox[0], t.boundingBox[1], t.boundingBox[2] - t.boundingBox[0], t.boundingBox[3] - t.boundingBox[1], t.matrix);\n  }, y.endTilingPattern = function (t, e) {\n    q(\"endTilingPattern()\"), e.stream = ot[$].join(\"\\n\"), Jt(t, e), Tt.publish(\"endTilingPattern\", e), Wt.pop().restore();\n  };\n  var Xt = y.__private__.newObject = function () {\n      var t = Kt();\n      return Zt(t, !0), t;\n    },\n    Kt = y.__private__.newObjectDeferred = function () {\n      return et++, rt[et] = function () {\n        return it;\n      }, et;\n    },\n    Zt = function (t, e) {\n      return e = \"boolean\" == typeof e && e, rt[t] = it, e && lt(t + \" 0 obj\"), t;\n    },\n    $t = y.__private__.newAdditionalObject = function () {\n      var t = {\n        objId: Kt(),\n        content: \"\"\n      };\n      return at.push(t), t;\n    },\n    Qt = Kt(),\n    te = Kt(),\n    ee = y.__private__.decodeColorString = function (t) {\n      var e = t.split(\" \");\n      if (2 !== e.length || \"g\" !== e[1] && \"G\" !== e[1]) {\n        if (5 === e.length && (\"k\" === e[4] || \"K\" === e[4])) {\n          e = [(1 - e[0]) * (1 - e[3]), (1 - e[1]) * (1 - e[3]), (1 - e[2]) * (1 - e[3]), \"r\"];\n        }\n      } else {\n        var r = parseFloat(e[0]);\n        e = [r, r, r, \"r\"];\n      }\n      for (var n = \"#\", i = 0; i < 3; i++) n += (\"0\" + Math.floor(255 * parseFloat(e[i])).toString(16)).slice(-2);\n      return n;\n    },\n    re = y.__private__.encodeColorString = function (e) {\n      var r;\n      \"string\" == typeof e && (e = {\n        ch1: e\n      });\n      var n = e.ch1,\n        i = e.ch2,\n        a = e.ch3,\n        o = e.ch4,\n        s = \"draw\" === e.pdfColorType ? [\"G\", \"RG\", \"K\"] : [\"g\", \"rg\", \"k\"];\n      if (\"string\" == typeof n && \"#\" !== n.charAt(0)) {\n        var c = new f(n);\n        if (c.ok) n = c.toHex();else if (!/^\\d*\\.?\\d*$/.test(n)) throw new Error('Invalid color \"' + n + '\" passed to jsPDF.encodeColorString.');\n      }\n      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)) {\n        var u = parseInt(n.substr(1), 16);\n        n = u >> 16 & 255, i = u >> 8 & 255, a = 255 & u;\n      }\n      if (void 0 === i || void 0 === o && n === i && i === a) {\n        if (\"string\" == typeof n) r = n + \" \" + s[0];else switch (e.precision) {\n          case 2:\n            r = R(n / 255) + \" \" + s[0];\n            break;\n          case 3:\n          default:\n            r = T(n / 255) + \" \" + s[0];\n        }\n      } else if (void 0 === o || \"object\" === t(o)) {\n        if (o && !isNaN(o.a) && 0 === o.a) return r = [\"1.\", \"1.\", \"1.\", s[1]].join(\" \");\n        if (\"string\" == typeof n) r = [n, i, a, s[1]].join(\" \");else switch (e.precision) {\n          case 2:\n            r = [R(n / 255), R(i / 255), R(a / 255), s[1]].join(\" \");\n            break;\n          default:\n          case 3:\n            r = [T(n / 255), T(i / 255), T(a / 255), s[1]].join(\" \");\n        }\n      } else if (\"string\" == typeof n) r = [n, i, a, o, s[2]].join(\" \");else switch (e.precision) {\n        case 2:\n          r = [R(n), R(i), R(a), R(o), s[2]].join(\" \");\n          break;\n        case 3:\n        default:\n          r = [T(n), T(i), T(a), T(o), s[2]].join(\" \");\n      }\n      return r;\n    },\n    ne = y.__private__.getFilters = function () {\n      return u;\n    },\n    ie = y.__private__.putStream = function (t) {\n      var e = (t = t || {}).data || \"\",\n        r = t.filters || ne(),\n        n = t.alreadyAppliedFilters || [],\n        i = t.addLength1 || !1,\n        a = e.length,\n        o = t.objectId,\n        s = function (t) {\n          return t;\n        };\n      if (null !== m && void 0 === o) throw new Error(\"ObjectId must be passed to putStream for file encryption\");\n      null !== m && (s = Ye.encryptor(o, 0));\n      var c = {};\n      !0 === r && (r = [\"FlateEncode\"]);\n      var u = t.additionalKeyValues || [],\n        h = (c = void 0 !== E.API.processDataByFilters ? E.API.processDataByFilters(e, r) : {\n          data: e,\n          reverseChain: []\n        }).reverseChain + (Array.isArray(n) ? n.join(\" \") : n.toString());\n      if (0 !== c.data.length && (u.push({\n        key: \"Length\",\n        value: c.data.length\n      }), !0 === i && u.push({\n        key: \"Length1\",\n        value: a\n      })), 0 != h.length) if (h.split(\"/\").length - 1 == 1) u.push({\n        key: \"Filter\",\n        value: h\n      });else {\n        u.push({\n          key: \"Filter\",\n          value: \"[\" + h + \"]\"\n        });\n        for (var l = 0; l < u.length; l += 1) if (\"DecodeParms\" === u[l].key) {\n          for (var f = [], d = 0; d < c.reverseChain.split(\"/\").length - 1; d += 1) f.push(\"null\");\n          f.push(u[l].value), u[l].value = \"[\" + f.join(\" \") + \"]\";\n        }\n      }\n      lt(\"<<\");\n      for (var p = 0; p < u.length; p++) lt(\"/\" + u[p].key + \" \" + u[p].value);\n      lt(\">>\"), 0 !== c.data.length && (lt(\"stream\"), lt(s(c.data)), lt(\"endstream\"));\n    },\n    ae = y.__private__.putPage = function (t) {\n      var e = t.number,\n        r = t.data,\n        n = t.objId,\n        i = t.contentsObjId;\n      Zt(n, !0), lt(\"<</Type /Page\"), lt(\"/Parent \" + t.rootDictionaryObjId + \" 0 R\"), lt(\"/Resources \" + t.resourceDictionaryObjId + \" 0 R\"), lt(\"/MediaBox [\" + parseFloat(O(t.mediaBox.bottomLeftX)) + \" \" + parseFloat(O(t.mediaBox.bottomLeftY)) + \" \" + O(t.mediaBox.topRightX) + \" \" + O(t.mediaBox.topRightY) + \"]\"), null !== t.cropBox && lt(\"/CropBox [\" + O(t.cropBox.bottomLeftX) + \" \" + O(t.cropBox.bottomLeftY) + \" \" + O(t.cropBox.topRightX) + \" \" + O(t.cropBox.topRightY) + \"]\"), null !== t.bleedBox && lt(\"/BleedBox [\" + O(t.bleedBox.bottomLeftX) + \" \" + O(t.bleedBox.bottomLeftY) + \" \" + O(t.bleedBox.topRightX) + \" \" + O(t.bleedBox.topRightY) + \"]\"), null !== t.trimBox && lt(\"/TrimBox [\" + O(t.trimBox.bottomLeftX) + \" \" + O(t.trimBox.bottomLeftY) + \" \" + O(t.trimBox.topRightX) + \" \" + O(t.trimBox.topRightY) + \"]\"), null !== t.artBox && lt(\"/ArtBox [\" + O(t.artBox.bottomLeftX) + \" \" + O(t.artBox.bottomLeftY) + \" \" + O(t.artBox.topRightX) + \" \" + O(t.artBox.topRightY) + \"]\"), \"number\" == typeof t.userUnit && 1 !== t.userUnit && lt(\"/UserUnit \" + t.userUnit), Tt.publish(\"putPage\", {\n        objId: n,\n        pageContext: Rt[e],\n        pageNumber: e,\n        page: r\n      }), lt(\"/Contents \" + i + \" 0 R\"), lt(\">>\"), lt(\"endobj\");\n      var a = r.join(\"\\n\");\n      return S === x.ADVANCED && (a += \"\\nQ\"), Zt(i, !0), ie({\n        data: a,\n        filters: ne(),\n        objectId: i\n      }), lt(\"endobj\"), n;\n    },\n    oe = y.__private__.putPages = function () {\n      var t,\n        e,\n        r = [];\n      for (t = 1; t <= Dt; t++) Rt[t].objId = Kt(), Rt[t].contentsObjId = Kt();\n      for (t = 1; t <= Dt; t++) r.push(ae({\n        number: t,\n        data: ot[t],\n        objId: Rt[t].objId,\n        contentsObjId: Rt[t].contentsObjId,\n        mediaBox: Rt[t].mediaBox,\n        cropBox: Rt[t].cropBox,\n        bleedBox: Rt[t].bleedBox,\n        trimBox: Rt[t].trimBox,\n        artBox: Rt[t].artBox,\n        userUnit: Rt[t].userUnit,\n        rootDictionaryObjId: Qt,\n        resourceDictionaryObjId: te\n      }));\n      Zt(Qt, !0), lt(\"<</Type /Pages\");\n      var n = \"/Kids [\";\n      for (e = 0; e < Dt; e++) n += r[e] + \" 0 R \";\n      lt(n + \"]\"), lt(\"/Count \" + Dt), lt(\">>\"), lt(\"endobj\"), Tt.publish(\"postPutPages\");\n    },\n    se = function (t) {\n      Tt.publish(\"putFont\", {\n        font: t,\n        out: lt,\n        newObject: Xt,\n        putStream: ie\n      }), !0 !== t.isAlreadyPutted && (t.objectNumber = Xt(), lt(\"<<\"), lt(\"/Type /Font\"), lt(\"/BaseFont /\" + F(t.postScriptName)), lt(\"/Subtype /Type1\"), \"string\" == typeof t.encoding && lt(\"/Encoding /\" + t.encoding), lt(\"/FirstChar 32\"), lt(\"/LastChar 255\"), lt(\">>\"), lt(\"endobj\"));\n    },\n    ce = function () {\n      for (var t in Ft) Ft.hasOwnProperty(t) && (!1 === v || !0 === v && b.hasOwnProperty(t)) && se(Ft[t]);\n    },\n    ue = function (t) {\n      t.objectNumber = Xt();\n      var e = [];\n      e.push({\n        key: \"Type\",\n        value: \"/XObject\"\n      }), e.push({\n        key: \"Subtype\",\n        value: \"/Form\"\n      }), e.push({\n        key: \"BBox\",\n        value: \"[\" + [O(t.x), O(t.y), O(t.x + t.width), O(t.y + t.height)].join(\" \") + \"]\"\n      }), e.push({\n        key: \"Matrix\",\n        value: \"[\" + t.matrix.toString() + \"]\"\n      });\n      var r = t.pages[1].join(\"\\n\");\n      ie({\n        data: r,\n        additionalKeyValues: e,\n        objectId: t.objectNumber\n      }), lt(\"endobj\");\n    },\n    he = function () {\n      for (var t in zt) zt.hasOwnProperty(t) && ue(zt[t]);\n    },\n    le = function (t, e) {\n      var r,\n        n = [],\n        i = 1 / (e - 1);\n      for (r = 0; r < 1; r += i) n.push(r);\n      if (n.push(1), 0 != t[0].offset) {\n        var a = {\n          offset: 0,\n          color: t[0].color\n        };\n        t.unshift(a);\n      }\n      if (1 != t[t.length - 1].offset) {\n        var o = {\n          offset: 1,\n          color: t[t.length - 1].color\n        };\n        t.push(o);\n      }\n      for (var s = \"\", c = 0, u = 0; u < n.length; u++) {\n        for (r = n[u]; r > t[c + 1].offset;) c++;\n        var h = t[c].offset,\n          l = (r - h) / (t[c + 1].offset - h),\n          f = t[c].color,\n          d = t[c + 1].color;\n        s += tt(Math.round((1 - l) * f[0] + l * d[0]).toString(16)) + tt(Math.round((1 - l) * f[1] + l * d[1]).toString(16)) + tt(Math.round((1 - l) * f[2] + l * d[2]).toString(16));\n      }\n      return s.trim();\n    },\n    fe = function (t, e) {\n      e || (e = 21);\n      var r = Xt(),\n        n = le(t.colors, e),\n        i = [];\n      i.push({\n        key: \"FunctionType\",\n        value: \"0\"\n      }), i.push({\n        key: \"Domain\",\n        value: \"[0.0 1.0]\"\n      }), i.push({\n        key: \"Size\",\n        value: \"[\" + e + \"]\"\n      }), i.push({\n        key: \"BitsPerSample\",\n        value: \"8\"\n      }), i.push({\n        key: \"Range\",\n        value: \"[0.0 1.0 0.0 1.0 0.0 1.0]\"\n      }), i.push({\n        key: \"Decode\",\n        value: \"[0.0 1.0 0.0 1.0 0.0 1.0]\"\n      }), ie({\n        data: n,\n        additionalKeyValues: i,\n        alreadyAppliedFilters: [\"/ASCIIHexDecode\"],\n        objectId: r\n      }), lt(\"endobj\"), t.objectNumber = Xt(), lt(\"<< /ShadingType \" + t.type), lt(\"/ColorSpace /DeviceRGB\");\n      var a = \"/Coords [\" + O(parseFloat(t.coords[0])) + \" \" + O(parseFloat(t.coords[1])) + \" \";\n      2 === t.type ? a += O(parseFloat(t.coords[2])) + \" \" + O(parseFloat(t.coords[3])) : a += O(parseFloat(t.coords[2])) + \" \" + O(parseFloat(t.coords[3])) + \" \" + O(parseFloat(t.coords[4])) + \" \" + O(parseFloat(t.coords[5])), lt(a += \"]\"), t.matrix && lt(\"/Matrix [\" + t.matrix.toString() + \"]\"), lt(\"/Function \" + r + \" 0 R\"), lt(\"/Extend [true true]\"), lt(\">>\"), lt(\"endobj\");\n    },\n    de = function (t, e) {\n      var r = Kt(),\n        n = Xt();\n      e.push({\n        resourcesOid: r,\n        objectOid: n\n      }), t.objectNumber = n;\n      var i = [];\n      i.push({\n        key: \"Type\",\n        value: \"/Pattern\"\n      }), i.push({\n        key: \"PatternType\",\n        value: \"1\"\n      }), i.push({\n        key: \"PaintType\",\n        value: \"1\"\n      }), i.push({\n        key: \"TilingType\",\n        value: \"1\"\n      }), i.push({\n        key: \"BBox\",\n        value: \"[\" + t.boundingBox.map(O).join(\" \") + \"]\"\n      }), i.push({\n        key: \"XStep\",\n        value: O(t.xStep)\n      }), i.push({\n        key: \"YStep\",\n        value: O(t.yStep)\n      }), i.push({\n        key: \"Resources\",\n        value: r + \" 0 R\"\n      }), t.matrix && i.push({\n        key: \"Matrix\",\n        value: \"[\" + t.matrix.toString() + \"]\"\n      }), ie({\n        data: t.stream,\n        additionalKeyValues: i,\n        objectId: t.objectNumber\n      }), lt(\"endobj\");\n    },\n    pe = function (t) {\n      var e;\n      for (e in Ot) Ot.hasOwnProperty(e) && (Ot[e] instanceof B ? fe(Ot[e]) : Ot[e] instanceof M && de(Ot[e], t));\n    },\n    ge = function (t) {\n      for (var e in t.objectNumber = Xt(), lt(\"<<\"), t) switch (e) {\n        case \"opacity\":\n          lt(\"/ca \" + R(t[e]));\n          break;\n        case \"stroke-opacity\":\n          lt(\"/CA \" + R(t[e]));\n      }\n      lt(\">>\"), lt(\"endobj\");\n    },\n    me = function () {\n      var t;\n      for (t in Mt) Mt.hasOwnProperty(t) && ge(Mt[t]);\n    },\n    ve = function () {\n      for (var t in lt(\"/XObject <<\"), zt) zt.hasOwnProperty(t) && zt[t].objectNumber >= 0 && lt(\"/\" + t + \" \" + zt[t].objectNumber + \" 0 R\");\n      Tt.publish(\"putXobjectDict\"), lt(\">>\");\n    },\n    be = function () {\n      Ye.oid = Xt(), lt(\"<<\"), lt(\"/Filter /Standard\"), lt(\"/V \" + Ye.v), lt(\"/R \" + Ye.r), lt(\"/U <\" + Ye.toHexString(Ye.U) + \">\"), lt(\"/O <\" + Ye.toHexString(Ye.O) + \">\"), lt(\"/P \" + Ye.P), lt(\">>\"), lt(\"endobj\");\n    },\n    ye = function () {\n      for (var t in lt(\"/Font <<\"), Ft) Ft.hasOwnProperty(t) && (!1 === v || !0 === v && b.hasOwnProperty(t)) && lt(\"/\" + t + \" \" + Ft[t].objectNumber + \" 0 R\");\n      lt(\">>\");\n    },\n    we = function () {\n      if (Object.keys(Ot).length > 0) {\n        for (var t in lt(\"/Shading <<\"), Ot) Ot.hasOwnProperty(t) && Ot[t] instanceof B && Ot[t].objectNumber >= 0 && lt(\"/\" + t + \" \" + Ot[t].objectNumber + \" 0 R\");\n        Tt.publish(\"putShadingPatternDict\"), lt(\">>\");\n      }\n    },\n    Ne = function (t) {\n      if (Object.keys(Ot).length > 0) {\n        for (var e in lt(\"/Pattern <<\"), Ot) Ot.hasOwnProperty(e) && Ot[e] instanceof y.TilingPattern && Ot[e].objectNumber >= 0 && Ot[e].objectNumber < t && lt(\"/\" + e + \" \" + Ot[e].objectNumber + \" 0 R\");\n        Tt.publish(\"putTilingPatternDict\"), lt(\">>\");\n      }\n    },\n    Le = function () {\n      if (Object.keys(Mt).length > 0) {\n        var t;\n        for (t in lt(\"/ExtGState <<\"), Mt) Mt.hasOwnProperty(t) && Mt[t].objectNumber >= 0 && lt(\"/\" + t + \" \" + Mt[t].objectNumber + \" 0 R\");\n        Tt.publish(\"putGStateDict\"), lt(\">>\");\n      }\n    },\n    Ae = function (t) {\n      Zt(t.resourcesOid, !0), lt(\"<<\"), lt(\"/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]\"), ye(), we(), Ne(t.objectOid), Le(), ve(), lt(\">>\"), lt(\"endobj\");\n    },\n    xe = function () {\n      var t = [];\n      ce(), me(), he(), pe(t), Tt.publish(\"putResources\"), t.forEach(Ae), Ae({\n        resourcesOid: te,\n        objectOid: Number.MAX_SAFE_INTEGER\n      }), Tt.publish(\"postPutResources\");\n    },\n    Se = function () {\n      Tt.publish(\"putAdditionalObjects\");\n      for (var t = 0; t < at.length; t++) {\n        var e = at[t];\n        Zt(e.objId, !0), lt(e.content), lt(\"endobj\");\n      }\n      Tt.publish(\"postPutAdditionalObjects\");\n    },\n    _e = function (t) {\n      Ct[t.fontName] = Ct[t.fontName] || {}, Ct[t.fontName][t.fontStyle] = t.id;\n    },\n    Pe = function (t, e, r, n, i) {\n      var a = {\n        id: \"F\" + (Object.keys(Ft).length + 1).toString(10),\n        postScriptName: t,\n        fontName: e,\n        fontStyle: r,\n        encoding: n,\n        isStandardFont: i || !1,\n        metadata: {}\n      };\n      return Tt.publish(\"addFont\", {\n        font: a,\n        instance: this\n      }), Ft[a.id] = a, _e(a), a.id;\n    },\n    ke = function (t) {\n      for (var e = 0, r = pt.length; e < r; e++) {\n        var n = Pe.call(this, t[e][0], t[e][1], t[e][2], pt[e][3], !0);\n        !1 === v && (b[n] = !0);\n        var i = t[e][0].split(\"-\");\n        _e({\n          id: n,\n          fontName: i[0],\n          fontStyle: i[1] || \"\"\n        });\n      }\n      Tt.publish(\"addFonts\", {\n        fonts: Ft,\n        dictionary: Ct\n      });\n    },\n    Ie = function (t) {\n      return t.foo = function () {\n        try {\n          return t.apply(this, arguments);\n        } catch (t) {\n          var e = t.stack || \"\";\n          ~e.indexOf(\" at \") && (e = e.split(\" at \")[1]);\n          var r = \"Error in function \" + e.split(\"\\n\")[0].split(\"<\")[0] + \": \" + t.message;\n          if (!n.console) throw new Error(r);\n          n.console.error(r, t), n.alert && alert(r);\n        }\n      }, t.foo.bar = t, t.foo;\n    },\n    Fe = function (t, e) {\n      var r, n, i, a, o, s, c, u, h;\n      if (i = (e = e || {}).sourceEncoding || \"Unicode\", o = e.outputEncoding, (e.autoencode || o) && Ft[St].metadata && Ft[St].metadata[i] && Ft[St].metadata[i].encoding && (a = Ft[St].metadata[i].encoding, !o && Ft[St].encoding && (o = Ft[St].encoding), !o && a.codePages && (o = a.codePages[0]), \"string\" == typeof o && (o = a[o]), o)) {\n        for (c = !1, s = [], r = 0, n = t.length; r < n; r++) (u = o[t.charCodeAt(r)]) ? s.push(String.fromCharCode(u)) : s.push(t[r]), s[r].charCodeAt(0) >> 8 && (c = !0);\n        t = s.join(\"\");\n      }\n      for (r = t.length; void 0 === c && 0 !== r;) t.charCodeAt(r - 1) >> 8 && (c = !0), r--;\n      if (!c) return t;\n      for (s = e.noBOM ? [] : [254, 255], r = 0, n = t.length; r < n; r++) {\n        if ((h = (u = t.charCodeAt(r)) >> 8) >> 8) throw new Error(\"Character at position \" + r + \" of string '\" + t + \"' exceeds 16bits. Cannot be encoded into UCS-2 BE\");\n        s.push(h), s.push(u - (h << 8));\n      }\n      return String.fromCharCode.apply(void 0, s);\n    },\n    Ce = y.__private__.pdfEscape = y.pdfEscape = function (t, e) {\n      return Fe(t, e).replace(/\\\\/g, \"\\\\\\\\\").replace(/\\(/g, \"\\\\(\").replace(/\\)/g, \"\\\\)\");\n    },\n    je = y.__private__.beginPage = function (t) {\n      ot[++Dt] = [], Rt[Dt] = {\n        objId: 0,\n        contentsObjId: 0,\n        userUnit: Number(d),\n        artBox: null,\n        bleedBox: null,\n        cropBox: null,\n        trimBox: null,\n        mediaBox: {\n          bottomLeftX: 0,\n          bottomLeftY: 0,\n          topRightX: Number(t[0]),\n          topRightY: Number(t[1])\n        }\n      }, Me(Dt), ht(ot[$]);\n    },\n    Oe = function (t, e) {\n      var r, n, o;\n      switch (i = e || i, \"string\" == typeof t && (r = A(t.toLowerCase()), Array.isArray(r) && (n = r[0], o = r[1])), Array.isArray(t) && (n = t[0] * _t, o = t[1] * _t), isNaN(n) && (n = s[0], o = s[1]), (n > 14400 || o > 14400) && (a.warn(\"A page in a PDF can not be wider or taller than 14400 userUnit. jsPDF limits the width/height to 14400\"), n = Math.min(14400, n), o = Math.min(14400, o)), s = [n, o], i.substr(0, 1)) {\n        case \"l\":\n          o > n && (s = [o, n]);\n          break;\n        case \"p\":\n          n > o && (s = [o, n]);\n      }\n      je(s), pr(fr), lt(Lr), 0 !== kr && lt(kr + \" J\"), 0 !== Ir && lt(Ir + \" j\"), Tt.publish(\"addPage\", {\n        pageNumber: Dt\n      });\n    },\n    Be = function (t) {\n      t > 0 && t <= Dt && (ot.splice(t, 1), Rt.splice(t, 1), Dt--, $ > Dt && ($ = Dt), this.setPage($));\n    },\n    Me = function (t) {\n      t > 0 && t <= Dt && ($ = t);\n    },\n    Ee = y.__private__.getNumberOfPages = y.getNumberOfPages = function () {\n      return ot.length - 1;\n    },\n    qe = function (t, e, r) {\n      var n,\n        i = void 0;\n      return r = r || {}, t = void 0 !== t ? t : Ft[St].fontName, e = void 0 !== e ? e : Ft[St].fontStyle, n = t.toLowerCase(), void 0 !== Ct[n] && void 0 !== Ct[n][e] ? i = Ct[n][e] : void 0 !== Ct[t] && void 0 !== Ct[t][e] ? i = Ct[t][e] : !1 === r.disableWarning && a.warn(\"Unable to look up font label for font '\" + t + \"', '\" + e + \"'. Refer to getFontList() for available fonts.\"), i || r.noFallback || null == (i = Ct.times[e]) && (i = Ct.times.normal), i;\n    },\n    De = y.__private__.putInfo = function () {\n      var t = Xt(),\n        e = function (t) {\n          return t;\n        };\n      for (var r in null !== m && (e = Ye.encryptor(t, 0)), lt(\"<<\"), lt(\"/Producer (\" + Ce(e(\"jsPDF \" + E.version)) + \")\"), xt) xt.hasOwnProperty(r) && xt[r] && lt(\"/\" + r.substr(0, 1).toUpperCase() + r.substr(1) + \" (\" + Ce(e(xt[r])) + \")\");\n      lt(\"/CreationDate (\" + Ce(e(W)) + \")\"), lt(\">>\"), lt(\"endobj\");\n    },\n    Re = y.__private__.putCatalog = function (t) {\n      var e = (t = t || {}).rootDictionaryObjId || Qt;\n      switch (Xt(), lt(\"<<\"), lt(\"/Type /Catalog\"), lt(\"/Pages \" + e + \" 0 R\"), mt || (mt = \"fullwidth\"), mt) {\n        case \"fullwidth\":\n          lt(\"/OpenAction [3 0 R /FitH null]\");\n          break;\n        case \"fullheight\":\n          lt(\"/OpenAction [3 0 R /FitV null]\");\n          break;\n        case \"fullpage\":\n          lt(\"/OpenAction [3 0 R /Fit]\");\n          break;\n        case \"original\":\n          lt(\"/OpenAction [3 0 R /XYZ null null 1]\");\n          break;\n        default:\n          var r = \"\" + mt;\n          \"%\" === r.substr(r.length - 1) && (mt = parseInt(mt) / 100), \"number\" == typeof mt && lt(\"/OpenAction [3 0 R /XYZ null null \" + R(mt) + \"]\");\n      }\n      switch (Nt || (Nt = \"continuous\"), Nt) {\n        case \"continuous\":\n          lt(\"/PageLayout /OneColumn\");\n          break;\n        case \"single\":\n          lt(\"/PageLayout /SinglePage\");\n          break;\n        case \"two\":\n        case \"twoleft\":\n          lt(\"/PageLayout /TwoColumnLeft\");\n          break;\n        case \"tworight\":\n          lt(\"/PageLayout /TwoColumnRight\");\n      }\n      yt && lt(\"/PageMode /\" + yt), Tt.publish(\"putCatalog\"), lt(\">>\"), lt(\"endobj\");\n    },\n    Te = y.__private__.putTrailer = function () {\n      lt(\"trailer\"), lt(\"<<\"), lt(\"/Size \" + (et + 1)), lt(\"/Root \" + et + \" 0 R\"), lt(\"/Info \" + (et - 1) + \" 0 R\"), null !== m && lt(\"/Encrypt \" + Ye.oid + \" 0 R\"), lt(\"/ID [ <\" + V + \"> <\" + V + \"> ]\"), lt(\">>\");\n    },\n    Ue = y.__private__.putHeader = function () {\n      lt(\"%PDF-\" + w), lt(\"%ºß¬à\");\n    },\n    ze = y.__private__.putXRef = function () {\n      var t = \"0000000000\";\n      lt(\"xref\"), lt(\"0 \" + (et + 1)), lt(\"0000000000 65535 f \");\n      for (var e = 1; e <= et; e++) {\n        \"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 \");\n      }\n    },\n    He = y.__private__.buildDocument = function () {\n      ut(), ht(nt), Tt.publish(\"buildDocument\"), Ue(), oe(), Se(), xe(), null !== m && be(), De(), Re();\n      var t = it;\n      return ze(), Te(), lt(\"startxref\"), lt(\"\" + t), lt(\"%%EOF\"), ht(ot[$]), nt.join(\"\\n\");\n    },\n    We = y.__private__.getBlob = function (t) {\n      return new Blob([dt(t)], {\n        type: \"application/pdf\"\n      });\n    },\n    Ve = y.output = y.__private__.output = Ie(function (t, e) {\n      switch (\"string\" == typeof (e = e || {}) ? e = {\n        filename: e\n      } : e.filename = e.filename || \"generated.pdf\", t) {\n        case void 0:\n          return He();\n        case \"save\":\n          y.save(e.filename);\n          break;\n        case \"arraybuffer\":\n          return dt(He());\n        case \"blob\":\n          return We(He());\n        case \"bloburi\":\n        case \"bloburl\":\n          if (void 0 !== n.URL && \"function\" == typeof n.URL.createObjectURL) return n.URL && n.URL.createObjectURL(We(He())) || void 0;\n          a.warn(\"bloburl is not supported by your system, because URL.createObjectURL is not supported by your browser.\");\n          break;\n        case \"datauristring\":\n        case \"dataurlstring\":\n          var r = \"\",\n            i = He();\n          try {\n            r = h(i);\n          } catch (t) {\n            r = h(unescape(encodeURIComponent(i)));\n          }\n          return \"data:application/pdf;filename=\" + e.filename + \";base64,\" + r;\n        case \"pdfobjectnewwindow\":\n          if (\"[object Window]\" === Object.prototype.toString.call(n)) {\n            var o = \"https://cdnjs.cloudflare.com/ajax/libs/pdfobject/2.1.1/pdfobject.min.js\",\n              s = ' integrity=\"sha512-4ze/a9/4jqu+tX9dfOqJYSvyYd5M6qum/3HpCLr+/Jqf0whc37VUbkpNGHR7/8pSnCFw47T1fmIpwBV7UySh3g==\" crossorigin=\"anonymous\"';\n            e.pdfObjectUrl && (o = e.pdfObjectUrl, s = \"\");\n            var c = '<html><style>html, body { padding: 0; margin: 0; } iframe { width: 100%; height: 100%; border: 0;}  </style><body><script src=\"' + o + '\"' + s + '><\\/script><script >PDFObject.embed(\"' + this.output(\"dataurlstring\") + '\", ' + JSON.stringify(e) + \");<\\/script></body></html>\",\n              u = n.open();\n            return null !== u && u.document.write(c), u;\n          }\n          throw new Error(\"The option pdfobjectnewwindow just works in a browser-environment.\");\n        case \"pdfjsnewwindow\":\n          if (\"[object Window]\" === Object.prototype.toString.call(n)) {\n            var l = '<html><style>html, body { padding: 0; margin: 0; } iframe { width: 100%; height: 100%; border: 0;}  </style><body><iframe id=\"pdfViewer\" src=\"' + (e.pdfJsUrl || \"examples/PDF.js/web/viewer.html\") + \"?file=&downloadName=\" + e.filename + '\" width=\"500px\" height=\"400px\" /></body></html>',\n              f = n.open();\n            if (null !== f) {\n              f.document.write(l);\n              var d = this;\n              f.document.documentElement.querySelector(\"#pdfViewer\").onload = function () {\n                f.document.title = e.filename, f.document.documentElement.querySelector(\"#pdfViewer\").contentWindow.PDFViewerApplication.open(d.output(\"bloburl\"));\n              };\n            }\n            return f;\n          }\n          throw new Error(\"The option pdfjsnewwindow just works in a browser-environment.\");\n        case \"dataurlnewwindow\":\n          if (\"[object Window]\" !== Object.prototype.toString.call(n)) throw new Error(\"The option dataurlnewwindow just works in a browser-environment.\");\n          var p = '<html><style>html, body { padding: 0; margin: 0; } iframe { width: 100%; height: 100%; border: 0;}  </style><body><iframe src=\"' + this.output(\"datauristring\", e) + '\"></iframe></body></html>',\n            g = n.open();\n          if (null !== g && (g.document.write(p), g.document.title = e.filename), g || \"undefined\" == typeof safari) return g;\n          break;\n        case \"datauri\":\n        case \"dataurl\":\n          return n.document.location.href = this.output(\"datauristring\", e);\n        default:\n          return null;\n      }\n    }),\n    Ge = function (t) {\n      return !0 === Array.isArray(Ut) && Ut.indexOf(t) > -1;\n    };\n  switch (o) {\n    case \"pt\":\n      _t = 1;\n      break;\n    case \"mm\":\n      _t = 72 / 25.4;\n      break;\n    case \"cm\":\n      _t = 72 / 2.54;\n      break;\n    case \"in\":\n      _t = 72;\n      break;\n    case \"px\":\n      _t = 1 == Ge(\"px_scaling\") ? .75 : 96 / 72;\n      break;\n    case \"pc\":\n    case \"em\":\n      _t = 12;\n      break;\n    case \"ex\":\n      _t = 6;\n      break;\n    default:\n      if (\"number\" != typeof o) throw new Error(\"Invalid unit: \" + o);\n      _t = o;\n  }\n  var Ye = null;\n  K(), Y();\n  var Je = function (t) {\n      return null !== m ? Ye.encryptor(t, 0) : function (t) {\n        return t;\n      };\n    },\n    Xe = y.__private__.getPageInfo = y.getPageInfo = function (t) {\n      if (isNaN(t) || t % 1 != 0) throw new Error(\"Invalid argument passed to jsPDF.getPageInfo\");\n      return {\n        objId: Rt[t].objId,\n        pageNumber: t,\n        pageContext: Rt[t]\n      };\n    },\n    Ke = y.__private__.getPageInfoByObjId = function (t) {\n      if (isNaN(t) || t % 1 != 0) throw new Error(\"Invalid argument passed to jsPDF.getPageInfoByObjId\");\n      for (var e in Rt) if (Rt[e].objId === t) break;\n      return Xe(e);\n    },\n    Ze = y.__private__.getCurrentPageInfo = y.getCurrentPageInfo = function () {\n      return {\n        objId: Rt[$].objId,\n        pageNumber: $,\n        pageContext: Rt[$]\n      };\n    };\n  y.addPage = function () {\n    return Oe.apply(this, arguments), this;\n  }, y.setPage = function () {\n    return Me.apply(this, arguments), ht.call(this, ot[$]), this;\n  }, y.insertPage = function (t) {\n    return this.addPage(), this.movePage($, t), this;\n  }, y.movePage = function (t, e) {\n    var r, n;\n    if (t > e) {\n      r = ot[t], n = Rt[t];\n      for (var i = t; i > e; i--) ot[i] = ot[i - 1], Rt[i] = Rt[i - 1];\n      ot[e] = r, Rt[e] = n, this.setPage(e);\n    } else if (t < e) {\n      r = ot[t], n = Rt[t];\n      for (var a = t; a < e; a++) ot[a] = ot[a + 1], Rt[a] = Rt[a + 1];\n      ot[e] = r, Rt[e] = n, this.setPage(e);\n    }\n    return this;\n  }, y.deletePage = function () {\n    return Be.apply(this, arguments), this;\n  }, y.__private__.text = y.text = function (e, r, n, i, a) {\n    var o,\n      s,\n      c,\n      u,\n      h,\n      l,\n      f,\n      d,\n      p,\n      g = (i = i || {}).scope || this;\n    if (\"number\" == typeof e && \"number\" == typeof r && (\"string\" == typeof n || Array.isArray(n))) {\n      var m = n;\n      n = r, r = e, e = m;\n    }\n    if (arguments[3] instanceof Vt == !1 ? (c = arguments[4], u = arguments[5], \"object\" === t(f = arguments[3]) && null !== f || (\"string\" == typeof c && (u = c, c = null), \"string\" == typeof f && (u = f, f = null), \"number\" == typeof f && (c = f, f = null), i = {\n      flags: f,\n      angle: c,\n      align: u\n    })) : (q(\"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\");\n    if (0 === e.length) return g;\n    var v = \"\",\n      y = !1,\n      w = \"number\" == typeof i.lineHeightFactor ? i.lineHeightFactor : lr,\n      N = g.internal.scaleFactor;\n    function L(t) {\n      return t = t.split(\"\\t\").join(Array(i.TabLen || 9).join(\" \")), Ce(t, f);\n    }\n    function A(t) {\n      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]]);\n      return n;\n    }\n    function _(t, e) {\n      var r;\n      if (\"string\" == typeof t) r = e(t)[0];else if (Array.isArray(t)) {\n        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]]));\n        r = o;\n      }\n      return r;\n    }\n    var P = !1,\n      k = !0;\n    if (\"string\" == typeof e) P = !0;else if (Array.isArray(e)) {\n      var I = e.concat();\n      s = [];\n      for (var F, C = I.length; C--;) (\"string\" != typeof (F = I.shift()) || Array.isArray(F) && \"string\" != typeof F[0]) && (k = !1);\n      P = k;\n    }\n    if (!1 === P) throw new Error('Type of text must be string or Array. \"' + e + '\" is not recognized.');\n    \"string\" == typeof e && (e = e.match(/[\\r?\\n]/) ? e.split(/\\r\\n|\\r|\\n/g) : [e]);\n    var j = gt / g.internal.scaleFactor,\n      B = j * (w - 1);\n    switch (i.baseline) {\n      case \"bottom\":\n        n -= B;\n        break;\n      case \"top\":\n        n += j - B;\n        break;\n      case \"hanging\":\n        n += j - 2 * B;\n        break;\n      case \"middle\":\n        n += j / 2 - B;\n    }\n    if ((l = i.maxWidth || 0) > 0 && (\"string\" == typeof e ? e = g.splitTextToSize(e, l) : \"[object Array]\" === Object.prototype.toString.call(e) && (e = e.reduce(function (t, e) {\n      return t.concat(g.splitTextToSize(e, l));\n    }, []))), o = {\n      text: e,\n      x: r,\n      y: n,\n      options: i,\n      mutex: {\n        pdfEscape: Ce,\n        activeFontKey: St,\n        fonts: Ft,\n        activeFontSize: gt\n      }\n    }, Tt.publish(\"preProcessText\", o), e = o.text, c = (i = o.options).angle, p instanceof Vt == !1 && c && \"number\" == typeof c) {\n      c *= Math.PI / 180, 0 === i.rotationDirection && (c = -c), S === x.ADVANCED && (c = -c);\n      var M = Math.cos(c),\n        E = Math.sin(c);\n      p = new Vt(M, E, -E, M, 0, 0);\n    } else c && c instanceof Vt && (p = c);\n    S !== x.ADVANCED || p || (p = Yt), void 0 !== (h = i.charSpace || _r) && (v += O(U(h)) + \" Tc\\n\", this.setCharSpace(this.getCharSpace() || 0)), void 0 !== (d = i.horizontalScale) && (v += O(100 * d) + \" Tz\\n\"), i.lang;\n    var D = -1,\n      R = void 0 !== i.renderingMode ? i.renderingMode : i.stroke,\n      T = g.internal.getCurrentPageInfo().pageContext;\n    switch (R) {\n      case 0:\n      case !1:\n      case \"fill\":\n        D = 0;\n        break;\n      case 1:\n      case !0:\n      case \"stroke\":\n        D = 1;\n        break;\n      case 2:\n      case \"fillThenStroke\":\n        D = 2;\n        break;\n      case 3:\n      case \"invisible\":\n        D = 3;\n        break;\n      case 4:\n      case \"fillAndAddForClipping\":\n        D = 4;\n        break;\n      case 5:\n      case \"strokeAndAddPathForClipping\":\n        D = 5;\n        break;\n      case 6:\n      case \"fillThenStrokeAndAddToPathForClipping\":\n        D = 6;\n        break;\n      case 7:\n      case \"addToPathForClipping\":\n        D = 7;\n    }\n    var z = void 0 !== T.usedRenderingMode ? T.usedRenderingMode : -1;\n    -1 !== D ? v += D + \" Tr\\n\" : -1 !== z && (v += \"0 Tr\\n\"), -1 !== D && (T.usedRenderingMode = D), u = i.align || \"left\";\n    var H,\n      W = gt * w,\n      V = g.internal.pageSize.getWidth(),\n      G = Ft[St];\n    h = i.charSpace || _r, l = i.maxWidth || 0, f = Object.assign({\n      autoencode: !0,\n      noBOM: !0\n    }, i.flags);\n    var Y = [],\n      J = function (t) {\n        return g.getStringUnitWidth(t, {\n          font: G,\n          charSpace: h,\n          fontSize: gt,\n          doKerning: !1\n        }) * gt / N;\n      };\n    if (\"[object Array]\" === Object.prototype.toString.call(e)) {\n      var X;\n      s = A(e), \"left\" !== u && (H = s.map(J));\n      var K,\n        Z = 0;\n      if (\"right\" === u) {\n        r -= H[0], e = [], C = s.length;\n        for (var $ = 0; $ < C; $++) 0 === $ ? (K = br(r), X = yr(n)) : (K = U(Z - H[$]), X = -W), e.push([s[$], K, X]), Z = H[$];\n      } else if (\"center\" === u) {\n        r -= H[0] / 2, e = [], C = s.length;\n        for (var Q = 0; Q < C; Q++) 0 === Q ? (K = br(r), X = yr(n)) : (K = U((Z - H[Q]) / 2), X = -W), e.push([s[Q], K, X]), Z = H[Q];\n      } else if (\"left\" === u) {\n        e = [], C = s.length;\n        for (var tt = 0; tt < C; tt++) e.push(s[tt]);\n      } else if (\"justify\" === u && \"Identity-H\" === G.encoding) {\n        e = [], C = s.length, l = 0 !== l ? l : V;\n        for (var et = 0, rt = 0; rt < C; rt++) if (X = 0 === rt ? yr(n) : -W, K = 0 === rt ? br(r) : et, rt < C - 1) {\n          var nt = U((l - H[rt]) / (s[rt].split(\" \").length - 1)),\n            it = s[rt].split(\" \");\n          e.push([it[0] + \" \", K, X]), et = 0;\n          for (var at = 1; at < it.length; at++) {\n            var ot = (J(it[at - 1] + \" \" + it[at]) - J(it[at])) * N + nt;\n            at == it.length - 1 ? e.push([it[at], ot, 0]) : e.push([it[at] + \" \", ot, 0]), et -= ot;\n          }\n        } else e.push([s[rt], K, X]);\n        e.push([\"\", et, 0]);\n      } else {\n        if (\"justify\" !== u) throw new Error('Unrecognized alignment option, use \"left\", \"center\", \"right\" or \"justify\".');\n        e = [], C = s.length, l = 0 !== l ? l : V;\n        for (rt = 0; rt < C; rt++) X = 0 === rt ? yr(n) : -W, K = 0 === rt ? br(r) : 0, rt < C - 1 ? Y.push(O(U((l - H[rt]) / (s[rt].split(\" \").length - 1)))) : Y.push(0), e.push([s[rt], K, X]);\n      }\n    }\n    var st = \"boolean\" == typeof i.R2L ? i.R2L : bt;\n    !0 === st && (e = _(e, function (t, e, r) {\n      return [t.split(\"\").reverse().join(\"\"), e, r];\n    })), o = {\n      text: e,\n      x: r,\n      y: n,\n      options: i,\n      mutex: {\n        pdfEscape: Ce,\n        activeFontKey: St,\n        fonts: Ft,\n        activeFontSize: gt\n      }\n    }, Tt.publish(\"postProcessText\", o), e = o.text, y = o.mutex.isHex || !1;\n    var ct = Ft[St].encoding;\n    \"WinAnsiEncoding\" !== ct && \"StandardEncoding\" !== ct || (e = _(e, function (t, e, r) {\n      return [L(t), e, r];\n    })), s = A(e), e = [];\n    for (var ut, ht, ft, dt = 0, pt = 1, mt = Array.isArray(s[0]) ? pt : dt, vt = \"\", yt = function (t, e, r) {\n        var n = \"\";\n        return r instanceof Vt ? (r = \"number\" == typeof i.angle ? Gt(r, new Vt(1, 0, 0, 1, t, e)) : Gt(new Vt(1, 0, 0, 1, t, e), r), S === x.ADVANCED && (r = Gt(new Vt(1, 0, 0, -1, 0, 0), r)), n = r.join(\" \") + \" Tm\\n\") : n = O(t) + \" \" + O(e) + \" Td\\n\", n;\n      }, wt = 0; wt < s.length; wt++) {\n      switch (vt = \"\", mt) {\n        case pt:\n          ft = (y ? \"<\" : \"(\") + s[wt][0] + (y ? \">\" : \")\"), ut = parseFloat(s[wt][1]), ht = parseFloat(s[wt][2]);\n          break;\n        case dt:\n          ft = (y ? \"<\" : \"(\") + s[wt] + (y ? \">\" : \")\"), ut = br(r), ht = yr(n);\n      }\n      void 0 !== Y && void 0 !== Y[wt] && (vt = Y[wt] + \" Tw\\n\"), 0 === wt ? e.push(vt + yt(ut, ht, p) + ft) : mt === dt ? e.push(vt + ft) : mt === pt && e.push(vt + yt(ut, ht, p) + ft);\n    }\n    e = mt === dt ? e.join(\" Tj\\nT* \") : e.join(\" Tj\\n\"), e += \" Tj\\n\";\n    var Nt = \"BT\\n/\";\n    return Nt += St + \" \" + gt + \" Tf\\n\", Nt += O(gt * w) + \" TL\\n\", Nt += xr + \"\\n\", Nt += v, Nt += e, lt(Nt += \"ET\"), b[St] = !0, g;\n  };\n  var $e = y.__private__.clip = y.clip = function (t) {\n    return lt(\"evenodd\" === t ? \"W*\" : \"W\"), this;\n  };\n  y.clipEvenOdd = function () {\n    return $e(\"evenodd\");\n  }, y.__private__.discardPath = y.discardPath = function () {\n    return lt(\"n\"), this;\n  };\n  var Qe = y.__private__.isValidStyle = function (t) {\n    var e = !1;\n    return -1 !== [void 0, null, \"S\", \"D\", \"F\", \"DF\", \"FD\", \"f\", \"f*\", \"B\", \"B*\", \"n\"].indexOf(t) && (e = !0), e;\n  };\n  y.__private__.setDefaultPathOperation = y.setDefaultPathOperation = function (t) {\n    return Qe(t) && (g = t), this;\n  };\n  var tr = y.__private__.getStyle = y.getStyle = function (t) {\n      var e = g;\n      switch (t) {\n        case \"D\":\n        case \"S\":\n          e = \"S\";\n          break;\n        case \"F\":\n          e = \"f\";\n          break;\n        case \"FD\":\n        case \"DF\":\n          e = \"B\";\n          break;\n        case \"f\":\n        case \"f*\":\n        case \"B\":\n        case \"B*\":\n          e = t;\n      }\n      return e;\n    },\n    er = y.close = function () {\n      return lt(\"h\"), this;\n    };\n  y.stroke = function () {\n    return lt(\"S\"), this;\n  }, y.fill = function (t) {\n    return rr(\"f\", t), this;\n  }, y.fillEvenOdd = function (t) {\n    return rr(\"f*\", t), this;\n  }, y.fillStroke = function (t) {\n    return rr(\"B\", t), this;\n  }, y.fillStrokeEvenOdd = function (t) {\n    return rr(\"B*\", t), this;\n  };\n  var rr = function (e, r) {\n      \"object\" === t(r) ? ar(r, e) : lt(e);\n    },\n    nr = function (t) {\n      null === t || S === x.ADVANCED && void 0 === t || (t = tr(t), lt(t));\n    };\n  function ir(t, e, r, n, i) {\n    var a = new M(e || this.boundingBox, r || this.xStep, n || this.yStep, this.gState, i || this.matrix);\n    a.stream = this.stream;\n    var o = t + \"$$\" + this.cloneIndex++ + \"$$\";\n    return Jt(o, a), a;\n  }\n  var ar = function (t, e) {\n      var r = Bt[t.key],\n        n = Ot[r];\n      if (n instanceof B) lt(\"q\"), lt(or(e)), n.gState && y.setGState(n.gState), lt(t.matrix.toString() + \" cm\"), lt(\"/\" + r + \" sh\"), lt(\"Q\");else if (n instanceof M) {\n        var i = new Vt(1, 0, 0, -1, 0, Rr());\n        t.matrix && (i = i.multiply(t.matrix || Yt), r = ir.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\");\n      }\n    },\n    or = function (t) {\n      switch (t) {\n        case \"f\":\n        case \"F\":\n          return \"W n\";\n        case \"f*\":\n          return \"W* n\";\n        case \"B\":\n          return \"W S\";\n        case \"B*\":\n          return \"W* S\";\n        case \"S\":\n          return \"W S\";\n        case \"n\":\n          return \"W n\";\n      }\n    },\n    sr = y.moveTo = function (t, e) {\n      return lt(O(U(t)) + \" \" + O(H(e)) + \" m\"), this;\n    },\n    cr = y.lineTo = function (t, e) {\n      return lt(O(U(t)) + \" \" + O(H(e)) + \" l\"), this;\n    },\n    ur = y.curveTo = function (t, e, r, n, i, a) {\n      return lt([O(U(t)), O(H(e)), O(U(r)), O(H(n)), O(U(i)), O(H(a)), \"c\"].join(\" \")), this;\n    };\n  y.__private__.line = y.line = function (t, e, r, n, i) {\n    if (isNaN(t) || isNaN(e) || isNaN(r) || isNaN(n) || !Qe(i)) throw new Error(\"Invalid arguments passed to jsPDF.line\");\n    return S === x.COMPAT ? this.lines([[r - t, n - e]], t, e, [1, 1], i || \"S\") : this.lines([[r - t, n - e]], t, e, [1, 1]).stroke();\n  }, y.__private__.lines = y.lines = function (t, e, r, n, i, a) {\n    var o, s, c, u, h, l, f, d, p, g, m, v;\n    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) || !Qe(i) || \"boolean\" != typeof a) throw new Error(\"Invalid arguments passed to jsPDF.lines\");\n    for (sr(e, r), o = n[0], s = n[1], u = t.length, g = e, m = r, c = 0; c < u; c++) 2 === (h = t[c]).length ? (g = h[0] * o + g, m = h[1] * s + m, cr(g, m)) : (l = h[0] * o + g, f = h[1] * s + m, d = h[2] * o + g, p = h[3] * s + m, g = h[4] * o + g, m = h[5] * s + m, ur(l, f, d, p, g, m));\n    return a && er(), nr(i), this;\n  }, y.path = function (t) {\n    for (var e = 0; e < t.length; e++) {\n      var r = t[e],\n        n = r.c;\n      switch (r.op) {\n        case \"m\":\n          sr(n[0], n[1]);\n          break;\n        case \"l\":\n          cr(n[0], n[1]);\n          break;\n        case \"c\":\n          ur.apply(this, n);\n          break;\n        case \"h\":\n          er();\n      }\n    }\n    return this;\n  }, y.__private__.rect = y.rect = function (t, e, r, n, i) {\n    if (isNaN(t) || isNaN(e) || isNaN(r) || isNaN(n) || !Qe(i)) throw new Error(\"Invalid arguments passed to jsPDF.rect\");\n    return S === x.COMPAT && (n = -n), lt([O(U(t)), O(H(e)), O(U(r)), O(U(n)), \"re\"].join(\" \")), nr(i), this;\n  }, y.__private__.triangle = y.triangle = function (t, e, r, n, i, a, o) {\n    if (isNaN(t) || isNaN(e) || isNaN(r) || isNaN(n) || isNaN(i) || isNaN(a) || !Qe(o)) throw new Error(\"Invalid arguments passed to jsPDF.triangle\");\n    return this.lines([[r - t, n - e], [i - r, a - n], [t - i, e - a]], t, e, [1, 1], o, !0), this;\n  }, y.__private__.roundedRect = y.roundedRect = function (t, e, r, n, i, a, o) {\n    if (isNaN(t) || isNaN(e) || isNaN(r) || isNaN(n) || isNaN(i) || isNaN(a) || !Qe(o)) throw new Error(\"Invalid arguments passed to jsPDF.roundedRect\");\n    var s = 4 / 3 * (Math.SQRT2 - 1);\n    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;\n  }, y.__private__.ellipse = y.ellipse = function (t, e, r, n, i) {\n    if (isNaN(t) || isNaN(e) || isNaN(r) || isNaN(n) || !Qe(i)) throw new Error(\"Invalid arguments passed to jsPDF.ellipse\");\n    var a = 4 / 3 * (Math.SQRT2 - 1) * r,\n      o = 4 / 3 * (Math.SQRT2 - 1) * n;\n    return sr(t + r, e), ur(t + r, e - o, t + a, e - n, t, e - n), ur(t - a, e - n, t - r, e - o, t - r, e), ur(t - r, e + o, t - a, e + n, t, e + n), ur(t + a, e + n, t + r, e + o, t + r, e), nr(i), this;\n  }, y.__private__.circle = y.circle = function (t, e, r, n) {\n    if (isNaN(t) || isNaN(e) || isNaN(r) || !Qe(n)) throw new Error(\"Invalid arguments passed to jsPDF.circle\");\n    return this.ellipse(t, e, r, r, n);\n  }, y.setFont = function (t, e, r) {\n    return r && (e = k(e, r)), St = qe(t, e, {\n      disableWarning: !1\n    }), this;\n  };\n  var hr = y.__private__.getFont = y.getFont = function () {\n    return Ft[qe.apply(y, arguments)];\n  };\n  y.__private__.getFontList = y.getFontList = function () {\n    var t,\n      e,\n      r = {};\n    for (t in Ct) if (Ct.hasOwnProperty(t)) for (e in r[t] = [], Ct[t]) Ct[t].hasOwnProperty(e) && r[t].push(e);\n    return r;\n  }, y.addFont = function (t, e, r, n, i) {\n    var a = [\"StandardEncoding\", \"MacRomanEncoding\", \"Identity-H\", \"WinAnsiEncoding\"];\n    return arguments[3] && -1 !== a.indexOf(arguments[3]) ? i = arguments[3] : arguments[3] && -1 == a.indexOf(arguments[3]) && (r = k(r, n)), i = i || \"Identity-H\", Pe.call(this, t, e, r, i);\n  };\n  var lr,\n    fr = e.lineWidth || .200025,\n    dr = y.__private__.getLineWidth = y.getLineWidth = function () {\n      return fr;\n    },\n    pr = y.__private__.setLineWidth = y.setLineWidth = function (t) {\n      return fr = t, lt(O(U(t)) + \" w\"), this;\n    };\n  y.__private__.setLineDash = E.API.setLineDash = E.API.setLineDashPattern = function (t, e) {\n    if (t = t || [], e = e || 0, isNaN(e) || !Array.isArray(t)) throw new Error(\"Invalid arguments passed to jsPDF.setLineDash\");\n    return t = t.map(function (t) {\n      return O(U(t));\n    }).join(\" \"), e = O(U(e)), lt(\"[\" + t + \"] \" + e + \" d\"), this;\n  };\n  var gr = y.__private__.getLineHeight = y.getLineHeight = function () {\n    return gt * lr;\n  };\n  y.__private__.getLineHeight = y.getLineHeight = function () {\n    return gt * lr;\n  };\n  var mr = y.__private__.setLineHeightFactor = y.setLineHeightFactor = function (t) {\n      return \"number\" == typeof (t = t || 1.15) && (lr = t), this;\n    },\n    vr = y.__private__.getLineHeightFactor = y.getLineHeightFactor = function () {\n      return lr;\n    };\n  mr(e.lineHeight);\n  var br = y.__private__.getHorizontalCoordinate = function (t) {\n      return U(t);\n    },\n    yr = y.__private__.getVerticalCoordinate = function (t) {\n      return S === x.ADVANCED ? t : Rt[$].mediaBox.topRightY - Rt[$].mediaBox.bottomLeftY - U(t);\n    },\n    wr = y.__private__.getHorizontalCoordinateString = y.getHorizontalCoordinateString = function (t) {\n      return O(br(t));\n    },\n    Nr = y.__private__.getVerticalCoordinateString = y.getVerticalCoordinateString = function (t) {\n      return O(yr(t));\n    },\n    Lr = e.strokeColor || \"0 G\";\n  y.__private__.getStrokeColor = y.getDrawColor = function () {\n    return ee(Lr);\n  }, y.__private__.setStrokeColor = y.setDrawColor = function (t, e, r, n) {\n    return Lr = re({\n      ch1: t,\n      ch2: e,\n      ch3: r,\n      ch4: n,\n      pdfColorType: \"draw\",\n      precision: 2\n    }), lt(Lr), this;\n  };\n  var Ar = e.fillColor || \"0 g\";\n  y.__private__.getFillColor = y.getFillColor = function () {\n    return ee(Ar);\n  }, y.__private__.setFillColor = y.setFillColor = function (t, e, r, n) {\n    return Ar = re({\n      ch1: t,\n      ch2: e,\n      ch3: r,\n      ch4: n,\n      pdfColorType: \"fill\",\n      precision: 2\n    }), lt(Ar), this;\n  };\n  var xr = e.textColor || \"0 g\",\n    Sr = y.__private__.getTextColor = y.getTextColor = function () {\n      return ee(xr);\n    };\n  y.__private__.setTextColor = y.setTextColor = function (t, e, r, n) {\n    return xr = re({\n      ch1: t,\n      ch2: e,\n      ch3: r,\n      ch4: n,\n      pdfColorType: \"text\",\n      precision: 3\n    }), this;\n  };\n  var _r = e.charSpace,\n    Pr = y.__private__.getCharSpace = y.getCharSpace = function () {\n      return parseFloat(_r || 0);\n    };\n  y.__private__.setCharSpace = y.setCharSpace = function (t) {\n    if (isNaN(t)) throw new Error(\"Invalid argument passed to jsPDF.setCharSpace\");\n    return _r = t, this;\n  };\n  var kr = 0;\n  y.CapJoinStyles = {\n    0: 0,\n    butt: 0,\n    but: 0,\n    miter: 0,\n    1: 1,\n    round: 1,\n    rounded: 1,\n    circle: 1,\n    2: 2,\n    projecting: 2,\n    project: 2,\n    square: 2,\n    bevel: 2\n  }, y.__private__.setLineCap = y.setLineCap = function (t) {\n    var e = y.CapJoinStyles[t];\n    if (void 0 === e) throw new Error(\"Line cap style of '\" + t + \"' is not recognized. See or extend .CapJoinStyles property for valid styles\");\n    return kr = e, lt(e + \" J\"), this;\n  };\n  var Ir = 0;\n  y.__private__.setLineJoin = y.setLineJoin = function (t) {\n    var e = y.CapJoinStyles[t];\n    if (void 0 === e) throw new Error(\"Line join style of '\" + t + \"' is not recognized. See or extend .CapJoinStyles property for valid styles\");\n    return Ir = e, lt(e + \" j\"), this;\n  }, y.__private__.setLineMiterLimit = y.__private__.setMiterLimit = y.setLineMiterLimit = y.setMiterLimit = function (t) {\n    if (t = t || 0, isNaN(t)) throw new Error(\"Invalid argument passed to jsPDF.setLineMiterLimit\");\n    return lt(O(U(t)) + \" M\"), this;\n  }, y.GState = j, y.setGState = function (t) {\n    (t = \"string\" == typeof t ? Mt[Et[t]] : Fr(null, t)).equals(qt) || (lt(\"/\" + t.id + \" gs\"), qt = t);\n  };\n  var Fr = function (t, e) {\n    if (!t || !Et[t]) {\n      var r = !1;\n      for (var n in Mt) if (Mt.hasOwnProperty(n) && Mt[n].equals(e)) {\n        r = !0;\n        break;\n      }\n      if (r) e = Mt[n];else {\n        var i = \"GS\" + (Object.keys(Mt).length + 1).toString(10);\n        Mt[i] = e, e.id = i;\n      }\n      return t && (Et[t] = e.id), Tt.publish(\"addGState\", e), e;\n    }\n  };\n  y.addGState = function (t, e) {\n    return Fr(t, e), this;\n  }, y.saveGraphicsState = function () {\n    return lt(\"q\"), jt.push({\n      key: St,\n      size: gt,\n      color: xr\n    }), this;\n  }, y.restoreGraphicsState = function () {\n    lt(\"Q\");\n    var t = jt.pop();\n    return St = t.key, gt = t.size, xr = t.color, qt = null, this;\n  }, y.setCurrentTransformationMatrix = function (t) {\n    return lt(t.toString() + \" cm\"), this;\n  }, y.comment = function (t) {\n    return lt(\"#\" + t), this;\n  };\n  var Cr = function (t, e) {\n      var r = t || 0;\n      Object.defineProperty(this, \"x\", {\n        enumerable: !0,\n        get: function () {\n          return r;\n        },\n        set: function (t) {\n          isNaN(t) || (r = parseFloat(t));\n        }\n      });\n      var n = e || 0;\n      Object.defineProperty(this, \"y\", {\n        enumerable: !0,\n        get: function () {\n          return n;\n        },\n        set: function (t) {\n          isNaN(t) || (n = parseFloat(t));\n        }\n      });\n      var i = \"pt\";\n      return Object.defineProperty(this, \"type\", {\n        enumerable: !0,\n        get: function () {\n          return i;\n        },\n        set: function (t) {\n          i = t.toString();\n        }\n      }), this;\n    },\n    jr = function (t, e, r, n) {\n      Cr.call(this, t, e), this.type = \"rect\";\n      var i = r || 0;\n      Object.defineProperty(this, \"w\", {\n        enumerable: !0,\n        get: function () {\n          return i;\n        },\n        set: function (t) {\n          isNaN(t) || (i = parseFloat(t));\n        }\n      });\n      var a = n || 0;\n      return Object.defineProperty(this, \"h\", {\n        enumerable: !0,\n        get: function () {\n          return a;\n        },\n        set: function (t) {\n          isNaN(t) || (a = parseFloat(t));\n        }\n      }), this;\n    },\n    Or = function () {\n      this.page = Dt, this.currentPage = $, this.pages = ot.slice(0), this.pagesContext = Rt.slice(0), this.x = Pt, this.y = kt, this.matrix = It, this.width = qr($), this.height = Rr($), this.outputDestination = ct, this.id = \"\", this.objectNumber = -1;\n    };\n  Or.prototype.restore = function () {\n    Dt = this.page, $ = this.currentPage, Rt = this.pagesContext, ot = this.pages, Pt = this.x, kt = this.y, It = this.matrix, Dr($, this.width), Tr($, this.height), ct = this.outputDestination;\n  };\n  var Br = function (t, e, r, n, i) {\n      Wt.push(new Or()), Dt = $ = 0, ot = [], Pt = t, kt = e, It = i, je([r, n]);\n    },\n    Mr = function (t) {\n      if (Ht[t]) Wt.pop().restore();else {\n        var e = new Or(),\n          r = \"Xo\" + (Object.keys(zt).length + 1).toString(10);\n        e.id = r, Ht[t] = r, zt[r] = e, Tt.publish(\"addFormObject\", e), Wt.pop().restore();\n      }\n    };\n  for (var Er in y.beginFormObject = function (t, e, r, n, i) {\n    return Br(t, e, r, n, i), this;\n  }, y.endFormObject = function (t) {\n    return Mr(t), this;\n  }, y.doFormObject = function (t, e) {\n    var r = zt[Ht[t]];\n    return lt(\"q\"), lt(e.toString() + \" cm\"), lt(\"/\" + r.id + \" Do\"), lt(\"Q\"), this;\n  }, y.getFormObject = function (t) {\n    var e = zt[Ht[t]];\n    return {\n      x: e.x,\n      y: e.y,\n      width: e.width,\n      height: e.height,\n      matrix: e.matrix\n    };\n  }, y.save = function (t, e) {\n    return t = t || \"generated.pdf\", (e = e || {}).returnPromise = e.returnPromise || !1, !1 === e.returnPromise ? (l(We(He()), t), \"function\" == typeof l.unload && n.setTimeout && setTimeout(l.unload, 911), this) : new Promise(function (e, r) {\n      try {\n        var i = l(We(He()), t);\n        \"function\" == typeof l.unload && n.setTimeout && setTimeout(l.unload, 911), e(i);\n      } catch (t) {\n        r(t.message);\n      }\n    });\n  }, E.API) E.API.hasOwnProperty(Er) && (\"events\" === Er && E.API.events.length ? function (t, e) {\n    var r, n, i;\n    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));\n  }(Tt, E.API.events) : y[Er] = E.API[Er]);\n  var qr = y.getPageWidth = function (t) {\n      return (Rt[t = t || $].mediaBox.topRightX - Rt[t].mediaBox.bottomLeftX) / _t;\n    },\n    Dr = y.setPageWidth = function (t, e) {\n      Rt[t].mediaBox.topRightX = e * _t + Rt[t].mediaBox.bottomLeftX;\n    },\n    Rr = y.getPageHeight = function (t) {\n      return (Rt[t = t || $].mediaBox.topRightY - Rt[t].mediaBox.bottomLeftY) / _t;\n    },\n    Tr = y.setPageHeight = function (t, e) {\n      Rt[t].mediaBox.topRightY = e * _t + Rt[t].mediaBox.bottomLeftY;\n    };\n  return y.internal = {\n    pdfEscape: Ce,\n    getStyle: tr,\n    getFont: hr,\n    getFontSize: vt,\n    getCharSpace: Pr,\n    getTextColor: Sr,\n    getLineHeight: gr,\n    getLineHeightFactor: vr,\n    getLineWidth: dr,\n    write: ft,\n    getHorizontalCoordinate: br,\n    getVerticalCoordinate: yr,\n    getCoordinateString: wr,\n    getVerticalCoordinateString: Nr,\n    collections: {},\n    newObject: Xt,\n    newAdditionalObject: $t,\n    newObjectDeferred: Kt,\n    newObjectDeferredBegin: Zt,\n    getFilters: ne,\n    putStream: ie,\n    events: Tt,\n    scaleFactor: _t,\n    pageSize: {\n      getWidth: function () {\n        return qr($);\n      },\n      setWidth: function (t) {\n        Dr($, t);\n      },\n      getHeight: function () {\n        return Rr($);\n      },\n      setHeight: function (t) {\n        Tr($, t);\n      }\n    },\n    encryptionOptions: m,\n    encryption: Ye,\n    getEncryptor: Je,\n    output: Ve,\n    getNumberOfPages: Ee,\n    pages: ot,\n    out: lt,\n    f2: R,\n    f3: T,\n    getPageInfo: Xe,\n    getPageInfoByObjId: Ke,\n    getCurrentPageInfo: Ze,\n    getPDFVersion: N,\n    Point: Cr,\n    Rectangle: jr,\n    Matrix: Vt,\n    hasHotfix: Ge\n  }, Object.defineProperty(y.internal.pageSize, \"width\", {\n    get: function () {\n      return qr($);\n    },\n    set: function (t) {\n      Dr($, t);\n    },\n    enumerable: !0,\n    configurable: !0\n  }), Object.defineProperty(y.internal.pageSize, \"height\", {\n    get: function () {\n      return Rr($);\n    },\n    set: function (t) {\n      Tr($, t);\n    },\n    enumerable: !0,\n    configurable: !0\n  }), ke.call(y, pt), St = \"F1\", Oe(s, i), Tt.publish(\"initialized\"), y;\n}\nI.prototype.lsbFirstWord = function (t) {\n  return String.fromCharCode(t >> 0 & 255, t >> 8 & 255, t >> 16 & 255, t >> 24 & 255);\n}, I.prototype.toHexString = function (t) {\n  return t.split(\"\").map(function (t) {\n    return (\"0\" + (255 & t.charCodeAt(0)).toString(16)).slice(-2);\n  }).join(\"\");\n}, I.prototype.hexToBytes = function (t) {\n  for (var e = [], r = 0; r < t.length; r += 2) e.push(String.fromCharCode(parseInt(t.substr(r, 2), 16)));\n  return e.join(\"\");\n}, I.prototype.processOwnerPassword = function (t, e) {\n  return P(x(e).substr(0, 5), t);\n}, I.prototype.encryptor = function (t, e) {\n  var r = x(this.encryptionKey + String.fromCharCode(255 & t, t >> 8 & 255, t >> 16 & 255, 255 & e, e >> 8 & 255)).substr(0, 10);\n  return function (t) {\n    return P(r, t);\n  };\n}, j.prototype.equals = function (e) {\n  var r,\n    n = \"id,objectNumber,equals\";\n  if (!e || t(e) !== t(this)) return !1;\n  var i = 0;\n  for (r in this) if (!(n.indexOf(r) >= 0)) {\n    if (this.hasOwnProperty(r) && !e.hasOwnProperty(r)) return !1;\n    if (this[r] !== e[r]) return !1;\n    i++;\n  }\n  for (r in e) e.hasOwnProperty(r) && n.indexOf(r) < 0 && i--;\n  return 0 === i;\n}, E.API = {\n  events: []\n}, E.version = \"3.0.1\";\nvar q = E.API,\n  D = 1,\n  R = function (t) {\n    return t.replace(/\\\\/g, \"\\\\\\\\\").replace(/\\(/g, \"\\\\(\").replace(/\\)/g, \"\\\\)\");\n  },\n  T = function (t) {\n    return t.replace(/\\\\\\\\/g, \"\\\\\").replace(/\\\\\\(/g, \"(\").replace(/\\\\\\)/g, \")\");\n  },\n  U = function (t) {\n    return t.toFixed(2);\n  },\n  z = function (t) {\n    return t.toFixed(5);\n  };\nq.__acroform__ = {};\nvar H = function (t, e) {\n    t.prototype = Object.create(e.prototype), t.prototype.constructor = t;\n  },\n  W = function (t) {\n    return t * D;\n  },\n  V = function (t) {\n    var e = new ut(),\n      r = At.internal.getHeight(t) || 0,\n      n = At.internal.getWidth(t) || 0;\n    return e.BBox = [0, 0, Number(U(n)), Number(U(r))], e;\n  },\n  G = q.__acroform__.setBit = function (t, e) {\n    if (t = t || 0, e = e || 0, isNaN(t) || isNaN(e)) throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.setBit\");\n    return t |= 1 << e;\n  },\n  Y = q.__acroform__.clearBit = function (t, e) {\n    if (t = t || 0, e = e || 0, isNaN(t) || isNaN(e)) throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.clearBit\");\n    return t &= ~(1 << e);\n  },\n  J = q.__acroform__.getBit = function (t, e) {\n    if (isNaN(t) || isNaN(e)) throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.getBit\");\n    return 0 == (t & 1 << e) ? 0 : 1;\n  },\n  X = q.__acroform__.getBitForPdf = function (t, e) {\n    if (isNaN(t) || isNaN(e)) throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.getBitForPdf\");\n    return J(t, e - 1);\n  },\n  K = q.__acroform__.setBitForPdf = function (t, e) {\n    if (isNaN(t) || isNaN(e)) throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.setBitForPdf\");\n    return G(t, e - 1);\n  },\n  Z = q.__acroform__.clearBitForPdf = function (t, e) {\n    if (isNaN(t) || isNaN(e)) throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.clearBitForPdf\");\n    return Y(t, e - 1);\n  },\n  $ = q.__acroform__.calculateCoordinates = function (t, e) {\n    var r = e.internal.getHorizontalCoordinate,\n      n = e.internal.getVerticalCoordinate,\n      i = t[0],\n      a = t[1],\n      o = t[2],\n      s = t[3],\n      c = {};\n    return c.lowerLeft_X = r(i) || 0, c.lowerLeft_Y = n(a + s) || 0, c.upperRight_X = r(i + o) || 0, c.upperRight_Y = n(a) || 0, [Number(U(c.lowerLeft_X)), Number(U(c.lowerLeft_Y)), Number(U(c.upperRight_X)), Number(U(c.upperRight_Y))];\n  },\n  Q = function (t) {\n    if (t.appearanceStreamContent) return t.appearanceStreamContent;\n    if (t.V || t.DV) {\n      var e = [],\n        r = t._V || t.DV,\n        n = tt(t, r),\n        i = t.scope.internal.getFont(t.fontName, t.fontStyle).id;\n      e.push(\"/Tx BMC\"), e.push(\"q\"), e.push(\"BT\"), e.push(t.scope.__private__.encodeColorString(t.color)), e.push(\"/\" + i + \" \" + U(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\");\n      var a = V(t);\n      return a.scope = t.scope, a.stream = e.join(\"\\n\"), a;\n    }\n  },\n  tt = function (t, e) {\n    var r = 0 === t.fontSize ? t.maxFontSize : t.fontSize,\n      n = {\n        text: \"\",\n        fontSize: \"\"\n      },\n      i = (e = \")\" == (e = \"(\" == e.substr(0, 1) ? e.substr(1) : e).substr(e.length - 1) ? e.substr(0, e.length - 1) : e).split(\" \");\n    i = t.multiline ? i.map(function (t) {\n      return t.split(\"\\n\");\n    }) : i.map(function (t) {\n      return [t];\n    });\n    var a = r,\n      o = At.internal.getHeight(t) || 0;\n    o = o < 0 ? -o : o;\n    var s = At.internal.getWidth(t) || 0;\n    s = s < 0 ? -s : s;\n    var c = function (e, r, n) {\n      if (e + 1 < i.length) {\n        var a = r + \" \" + i[e + 1][0];\n        return et(a, t, n).width <= s - 4;\n      }\n      return !1;\n    };\n    a++;\n    t: for (; a > 0;) {\n      e = \"\", a--;\n      var u,\n        h,\n        l = et(\"3\", t, a).height,\n        f = t.multiline ? o - a : (o - l) / 2,\n        d = f += 2,\n        p = 0,\n        g = 0,\n        m = 0;\n      if (a <= 0) {\n        e = \"(...) Tj\\n\", e += \"% Width of Text: \" + et(e, t, a = 12).width + \", FieldWidth:\" + s + \"\\n\";\n        break;\n      }\n      for (var v = \"\", b = 0, y = 0; y < i.length; y++) if (i.hasOwnProperty(y)) {\n        var w = !1;\n        if (1 !== i[y].length && m !== i[y].length - 1) {\n          if ((l + 2) * (b + 2) + 2 > o) continue t;\n          v += i[y][m], w = !0, g = y, y--;\n        } else {\n          v = \" \" == (v += i[y][m] + \" \").substr(v.length - 1) ? v.substr(0, v.length - 1) : v;\n          var N = parseInt(y),\n            L = c(N, v, a),\n            A = y >= i.length - 1;\n          if (L && !A) {\n            v += \" \", m = 0;\n            continue;\n          }\n          if (L || A) {\n            if (A) g = N;else if (t.multiline && (l + 2) * (b + 2) + 2 > o) continue t;\n          } else {\n            if (!t.multiline) continue t;\n            if ((l + 2) * (b + 2) + 2 > o) continue t;\n            g = N;\n          }\n        }\n        for (var x = \"\", S = p; S <= g; S++) {\n          var _ = i[S];\n          if (t.multiline) {\n            if (S === g) {\n              x += _[m] + \" \", m = (m + 1) % _.length;\n              continue;\n            }\n            if (S === p) {\n              x += _[_.length - 1] + \" \";\n              continue;\n            }\n          }\n          x += _[0] + \" \";\n        }\n        switch (x = \" \" == x.substr(x.length - 1) ? x.substr(0, x.length - 1) : x, h = et(x, t, a).width, t.textAlign) {\n          case \"right\":\n            u = s - h - 2;\n            break;\n          case \"center\":\n            u = (s - h) / 2;\n            break;\n          case \"left\":\n          default:\n            u = 2;\n        }\n        e += U(u) + \" \" + U(d) + \" Td\\n\", e += \"(\" + R(x) + \") Tj\\n\", e += -U(u) + \" 0 Td\\n\", d = -(a + 2), h = 0, p = w ? g : g + 1, b++, v = \"\";\n      } else ;\n      break;\n    }\n    return n.text = e, n.fontSize = a, n;\n  },\n  et = function (t, e, r) {\n    var n = e.scope.internal.getFont(e.fontName, e.fontStyle),\n      i = e.scope.getStringUnitWidth(t, {\n        font: n,\n        fontSize: parseFloat(r),\n        charSpace: 0\n      }) * parseFloat(r);\n    return {\n      height: e.scope.getStringUnitWidth(\"3\", {\n        font: n,\n        fontSize: parseFloat(r),\n        charSpace: 0\n      }) * parseFloat(r) * 1.5,\n      width: i\n    };\n  },\n  rt = {\n    fields: [],\n    xForms: [],\n    acroFormDictionaryRoot: null,\n    printedOut: !1,\n    internal: null,\n    isInitialized: !1\n  },\n  nt = function (t, e) {\n    var r = {\n      type: \"reference\",\n      object: t\n    };\n    void 0 === e.internal.getPageInfo(t.page).pageContext.annotations.find(function (t) {\n      return t.type === r.type && t.object === r.object;\n    }) && e.internal.getPageInfo(t.page).pageContext.annotations.push(r);\n  },\n  it = function (e, r) {\n    for (var n in e) if (e.hasOwnProperty(n)) {\n      var i = n,\n        a = e[n];\n      r.internal.newObjectDeferredBegin(a.objId, !0), \"object\" === t(a) && \"function\" == typeof a.putStream && a.putStream(), delete e[i];\n    }\n  },\n  at = function (e, r) {\n    if (r.scope = e, void 0 !== e.internal && (void 0 === e.internal.acroformPlugin || !1 === e.internal.acroformPlugin.isInitialized)) {\n      if (lt.FieldNum = 0, e.internal.acroformPlugin = JSON.parse(JSON.stringify(rt)), e.internal.acroformPlugin.acroFormDictionaryRoot) throw new Error(\"Exception while creating AcroformDictionary\");\n      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 () {\n        !function (t) {\n          t.internal.events.unsubscribe(t.internal.acroformPlugin.acroFormDictionaryRoot._eventID), delete t.internal.acroformPlugin.acroFormDictionaryRoot._eventID, t.internal.acroformPlugin.printedOut = !0;\n        }(e);\n      }), e.internal.events.subscribe(\"buildDocument\", function () {\n        !function (t) {\n          t.internal.acroformPlugin.acroFormDictionaryRoot.objId = void 0;\n          var e = t.internal.acroformPlugin.acroFormDictionaryRoot.Fields;\n          for (var r in e) if (e.hasOwnProperty(r)) {\n            var n = e[r];\n            n.objId = void 0, n.hasAnnotation && nt(n, t);\n          }\n        }(e);\n      }), e.internal.events.subscribe(\"putCatalog\", function () {\n        !function (t) {\n          if (void 0 === t.internal.acroformPlugin.acroFormDictionaryRoot) throw new Error(\"putCatalogCallback: Root missing.\");\n          t.internal.write(\"/AcroForm \" + t.internal.acroformPlugin.acroFormDictionaryRoot.objId + \" 0 R\");\n        }(e);\n      }), e.internal.events.subscribe(\"postPutPages\", function (r) {\n        !function (e, r) {\n          var n = !e;\n          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)) {\n            var a = e[i],\n              o = [],\n              s = a.Rect;\n            if (a.Rect && (a.Rect = $(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) {\n              var c = Q(a);\n              o.push({\n                key: \"AP\",\n                value: \"<</N \" + c + \">>\"\n              }), r.internal.acroformPlugin.xForms.push(c);\n            }\n            if (a.appearanceStreamContent) {\n              var u = \"\";\n              for (var h in a.appearanceStreamContent) if (a.appearanceStreamContent.hasOwnProperty(h)) {\n                var l = a.appearanceStreamContent[h];\n                if (u += \"/\" + h + \" \", u += \"<<\", Object.keys(l).length >= 1 || Array.isArray(l)) {\n                  for (var i in l) if (l.hasOwnProperty(i)) {\n                    var f = l[i];\n                    \"function\" == typeof f && (f = f.call(r, a)), u += \"/\" + i + \" \" + f + \" \", r.internal.acroformPlugin.xForms.indexOf(f) >= 0 || r.internal.acroformPlugin.xForms.push(f);\n                  }\n                } else \"function\" == typeof (f = l) && (f = f.call(r, a)), u += \"/\" + i + \" \" + f, r.internal.acroformPlugin.xForms.indexOf(f) >= 0 || r.internal.acroformPlugin.xForms.push(f);\n                u += \">>\";\n              }\n              o.push({\n                key: \"AP\",\n                value: \"<<\\n\" + u + \">>\"\n              });\n            }\n            r.internal.putStream({\n              additionalKeyValues: o,\n              objectId: a.objId\n            }), r.internal.out(\"endobj\");\n          }\n          n && it(r.internal.acroformPlugin.xForms, r);\n        }(r, e);\n      }), e.internal.acroformPlugin.isInitialized = !0;\n    }\n  },\n  ot = q.__acroform__.arrayToPdfArray = function (e, r, n) {\n    var i = function (t) {\n      return t;\n    };\n    if (Array.isArray(e)) {\n      for (var a = \"[\", o = 0; o < e.length; o++) switch (0 !== o && (a += \" \"), t(e[o])) {\n        case \"boolean\":\n        case \"number\":\n        case \"object\":\n          a += e[o].toString();\n          break;\n        case \"string\":\n          \"/\" !== e[o].substr(0, 1) ? (void 0 !== r && n && (i = n.internal.getEncryptor(r)), a += \"(\" + R(i(e[o].toString())) + \")\") : a += e[o].toString();\n      }\n      return a += \"]\";\n    }\n    throw new Error(\"Invalid argument passed to jsPDF.__acroform__.arrayToPdfArray\");\n  };\nvar st = function (t, e, r) {\n    var n = function (t) {\n      return t;\n    };\n    return void 0 !== e && r && (n = r.internal.getEncryptor(e)), (t = t || \"\").toString(), t = \"(\" + R(n(t)) + \")\";\n  },\n  ct = function () {\n    this._objId = void 0, this._scope = void 0, Object.defineProperty(this, \"objId\", {\n      get: function () {\n        if (void 0 === this._objId) {\n          if (void 0 === this.scope) return;\n          this._objId = this.scope.internal.newObjectDeferred();\n        }\n        return this._objId;\n      },\n      set: function (t) {\n        this._objId = t;\n      }\n    }), Object.defineProperty(this, \"scope\", {\n      value: this._scope,\n      writable: !0\n    });\n  };\nct.prototype.toString = function () {\n  return this.objId + \" 0 R\";\n}, ct.prototype.putStream = function () {\n  var t = this.getKeyValueListForStream();\n  this.scope.internal.putStream({\n    data: this.stream,\n    additionalKeyValues: t,\n    objectId: this.objId\n  }), this.scope.internal.out(\"endobj\");\n}, ct.prototype.getKeyValueListForStream = function () {\n  var t = [],\n    e = Object.getOwnPropertyNames(this).filter(function (t) {\n      return \"content\" != t && \"appearanceStreamContent\" != t && \"scope\" != t && \"objId\" != t && \"_\" != t.substring(0, 1);\n    });\n  for (var r in e) if (!1 === Object.getOwnPropertyDescriptor(this, e[r]).configurable) {\n    var n = e[r],\n      i = this[n];\n    i && (Array.isArray(i) ? t.push({\n      key: n,\n      value: ot(i, this.objId, this.scope)\n    }) : i instanceof ct ? (i.scope = this.scope, t.push({\n      key: n,\n      value: i.objId + \" 0 R\"\n    })) : \"function\" != typeof i && t.push({\n      key: n,\n      value: i\n    }));\n  }\n  return t;\n};\nvar ut = function () {\n  ct.call(this), Object.defineProperty(this, \"Type\", {\n    value: \"/XObject\",\n    configurable: !1,\n    writable: !0\n  }), Object.defineProperty(this, \"Subtype\", {\n    value: \"/Form\",\n    configurable: !1,\n    writable: !0\n  }), Object.defineProperty(this, \"FormType\", {\n    value: 1,\n    configurable: !1,\n    writable: !0\n  });\n  var t,\n    e = [];\n  Object.defineProperty(this, \"BBox\", {\n    configurable: !1,\n    get: function () {\n      return e;\n    },\n    set: function (t) {\n      e = t;\n    }\n  }), Object.defineProperty(this, \"Resources\", {\n    value: \"2 0 R\",\n    configurable: !1,\n    writable: !0\n  }), Object.defineProperty(this, \"stream\", {\n    enumerable: !1,\n    configurable: !0,\n    set: function (e) {\n      t = e.trim();\n    },\n    get: function () {\n      return t || null;\n    }\n  });\n};\nH(ut, ct);\nvar ht = function () {\n  ct.call(this);\n  var t,\n    e = [];\n  Object.defineProperty(this, \"Kids\", {\n    enumerable: !1,\n    configurable: !0,\n    get: function () {\n      return e.length > 0 ? e : void 0;\n    }\n  }), Object.defineProperty(this, \"Fields\", {\n    enumerable: !1,\n    configurable: !1,\n    get: function () {\n      return e;\n    }\n  }), Object.defineProperty(this, \"DA\", {\n    enumerable: !1,\n    configurable: !1,\n    get: function () {\n      if (t) {\n        var e = function (t) {\n          return t;\n        };\n        return this.scope && (e = this.scope.internal.getEncryptor(this.objId)), \"(\" + R(e(t)) + \")\";\n      }\n    },\n    set: function (e) {\n      t = e;\n    }\n  });\n};\nH(ht, ct);\nvar lt = function t() {\n  ct.call(this);\n  var e = 4;\n  Object.defineProperty(this, \"F\", {\n    enumerable: !1,\n    configurable: !1,\n    get: function () {\n      return e;\n    },\n    set: function (t) {\n      if (isNaN(t)) throw new Error('Invalid value \"' + t + '\" for attribute F supplied.');\n      e = t;\n    }\n  }), Object.defineProperty(this, \"showWhenPrinted\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      return Boolean(X(e, 3));\n    },\n    set: function (t) {\n      !0 === Boolean(t) ? this.F = K(e, 3) : this.F = Z(e, 3);\n    }\n  });\n  var r = 0;\n  Object.defineProperty(this, \"Ff\", {\n    enumerable: !1,\n    configurable: !1,\n    get: function () {\n      return r;\n    },\n    set: function (t) {\n      if (isNaN(t)) throw new Error('Invalid value \"' + t + '\" for attribute Ff supplied.');\n      r = t;\n    }\n  });\n  var n = [];\n  Object.defineProperty(this, \"Rect\", {\n    enumerable: !1,\n    configurable: !1,\n    get: function () {\n      if (0 !== n.length) return n;\n    },\n    set: function (t) {\n      n = void 0 !== t ? t : [];\n    }\n  }), Object.defineProperty(this, \"x\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      return !n || isNaN(n[0]) ? 0 : n[0];\n    },\n    set: function (t) {\n      n[0] = t;\n    }\n  }), Object.defineProperty(this, \"y\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      return !n || isNaN(n[1]) ? 0 : n[1];\n    },\n    set: function (t) {\n      n[1] = t;\n    }\n  }), Object.defineProperty(this, \"width\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      return !n || isNaN(n[2]) ? 0 : n[2];\n    },\n    set: function (t) {\n      n[2] = t;\n    }\n  }), Object.defineProperty(this, \"height\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      return !n || isNaN(n[3]) ? 0 : n[3];\n    },\n    set: function (t) {\n      n[3] = t;\n    }\n  });\n  var i = \"\";\n  Object.defineProperty(this, \"FT\", {\n    enumerable: !0,\n    configurable: !1,\n    get: function () {\n      return i;\n    },\n    set: function (t) {\n      switch (t) {\n        case \"/Btn\":\n        case \"/Tx\":\n        case \"/Ch\":\n        case \"/Sig\":\n          i = t;\n          break;\n        default:\n          throw new Error('Invalid value \"' + t + '\" for attribute FT supplied.');\n      }\n    }\n  });\n  var a = null;\n  Object.defineProperty(this, \"T\", {\n    enumerable: !0,\n    configurable: !1,\n    get: function () {\n      if (!a || a.length < 1) {\n        if (this instanceof yt) return;\n        a = \"FieldObject\" + t.FieldNum++;\n      }\n      var e = function (t) {\n        return t;\n      };\n      return this.scope && (e = this.scope.internal.getEncryptor(this.objId)), \"(\" + R(e(a)) + \")\";\n    },\n    set: function (t) {\n      a = t.toString();\n    }\n  }), Object.defineProperty(this, \"fieldName\", {\n    configurable: !0,\n    enumerable: !0,\n    get: function () {\n      return a;\n    },\n    set: function (t) {\n      a = t;\n    }\n  });\n  var o = \"helvetica\";\n  Object.defineProperty(this, \"fontName\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      return o;\n    },\n    set: function (t) {\n      o = t;\n    }\n  });\n  var s = \"normal\";\n  Object.defineProperty(this, \"fontStyle\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      return s;\n    },\n    set: function (t) {\n      s = t;\n    }\n  });\n  var c = 0;\n  Object.defineProperty(this, \"fontSize\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      return c;\n    },\n    set: function (t) {\n      c = t;\n    }\n  });\n  var u = void 0;\n  Object.defineProperty(this, \"maxFontSize\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      return void 0 === u ? 50 / D : u;\n    },\n    set: function (t) {\n      u = t;\n    }\n  });\n  var h = \"black\";\n  Object.defineProperty(this, \"color\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      return h;\n    },\n    set: function (t) {\n      h = t;\n    }\n  });\n  var l = \"/F1 0 Tf 0 g\";\n  Object.defineProperty(this, \"DA\", {\n    enumerable: !0,\n    configurable: !1,\n    get: function () {\n      if (!(!l || this instanceof yt || this instanceof Nt)) return st(l, this.objId, this.scope);\n    },\n    set: function (t) {\n      t = t.toString(), l = t;\n    }\n  });\n  var f = null;\n  Object.defineProperty(this, \"DV\", {\n    enumerable: !1,\n    configurable: !1,\n    get: function () {\n      if (f) return this instanceof mt == !1 ? st(f, this.objId, this.scope) : f;\n    },\n    set: function (t) {\n      t = t.toString(), f = this instanceof mt == !1 ? \"(\" === t.substr(0, 1) ? T(t.substr(1, t.length - 2)) : T(t) : t;\n    }\n  }), Object.defineProperty(this, \"defaultValue\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      return this instanceof mt == !0 ? T(f.substr(1, f.length - 1)) : f;\n    },\n    set: function (t) {\n      t = t.toString(), f = this instanceof mt == !0 ? \"/\" + t : t;\n    }\n  });\n  var d = null;\n  Object.defineProperty(this, \"_V\", {\n    enumerable: !1,\n    configurable: !1,\n    get: function () {\n      if (d) return d;\n    },\n    set: function (t) {\n      this.V = t;\n    }\n  }), Object.defineProperty(this, \"V\", {\n    enumerable: !1,\n    configurable: !1,\n    get: function () {\n      if (d) return this instanceof mt == !1 ? st(d, this.objId, this.scope) : d;\n    },\n    set: function (t) {\n      t = t.toString(), d = this instanceof mt == !1 ? \"(\" === t.substr(0, 1) ? T(t.substr(1, t.length - 2)) : T(t) : t;\n    }\n  }), Object.defineProperty(this, \"value\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      return this instanceof mt == !0 ? T(d.substr(1, d.length - 1)) : d;\n    },\n    set: function (t) {\n      t = t.toString(), d = this instanceof mt == !0 ? \"/\" + t : t;\n    }\n  }), Object.defineProperty(this, \"hasAnnotation\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      return this.Rect;\n    }\n  }), Object.defineProperty(this, \"Type\", {\n    enumerable: !0,\n    configurable: !1,\n    get: function () {\n      return this.hasAnnotation ? \"/Annot\" : null;\n    }\n  }), Object.defineProperty(this, \"Subtype\", {\n    enumerable: !0,\n    configurable: !1,\n    get: function () {\n      return this.hasAnnotation ? \"/Widget\" : null;\n    }\n  });\n  var p,\n    g = !1;\n  Object.defineProperty(this, \"hasAppearanceStream\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      return g;\n    },\n    set: function (t) {\n      t = Boolean(t), g = t;\n    }\n  }), Object.defineProperty(this, \"page\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      if (p) return p;\n    },\n    set: function (t) {\n      p = t;\n    }\n  }), Object.defineProperty(this, \"readOnly\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      return Boolean(X(this.Ff, 1));\n    },\n    set: function (t) {\n      !0 === Boolean(t) ? this.Ff = K(this.Ff, 1) : this.Ff = Z(this.Ff, 1);\n    }\n  }), Object.defineProperty(this, \"required\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      return Boolean(X(this.Ff, 2));\n    },\n    set: function (t) {\n      !0 === Boolean(t) ? this.Ff = K(this.Ff, 2) : this.Ff = Z(this.Ff, 2);\n    }\n  }), Object.defineProperty(this, \"noExport\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      return Boolean(X(this.Ff, 3));\n    },\n    set: function (t) {\n      !0 === Boolean(t) ? this.Ff = K(this.Ff, 3) : this.Ff = Z(this.Ff, 3);\n    }\n  });\n  var m = null;\n  Object.defineProperty(this, \"Q\", {\n    enumerable: !0,\n    configurable: !1,\n    get: function () {\n      if (null !== m) return m;\n    },\n    set: function (t) {\n      if (-1 === [0, 1, 2].indexOf(t)) throw new Error('Invalid value \"' + t + '\" for attribute Q supplied.');\n      m = t;\n    }\n  }), Object.defineProperty(this, \"textAlign\", {\n    get: function () {\n      var t;\n      switch (m) {\n        case 0:\n        default:\n          t = \"left\";\n          break;\n        case 1:\n          t = \"center\";\n          break;\n        case 2:\n          t = \"right\";\n      }\n      return t;\n    },\n    configurable: !0,\n    enumerable: !0,\n    set: function (t) {\n      switch (t) {\n        case \"right\":\n        case 2:\n          m = 2;\n          break;\n        case \"center\":\n        case 1:\n          m = 1;\n          break;\n        case \"left\":\n        case 0:\n        default:\n          m = 0;\n      }\n    }\n  });\n};\nH(lt, ct);\nvar ft = function () {\n  lt.call(this), this.FT = \"/Ch\", this.V = \"()\", this.fontName = \"zapfdingbats\";\n  var t = 0;\n  Object.defineProperty(this, \"TI\", {\n    enumerable: !0,\n    configurable: !1,\n    get: function () {\n      return t;\n    },\n    set: function (e) {\n      t = e;\n    }\n  }), Object.defineProperty(this, \"topIndex\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      return t;\n    },\n    set: function (e) {\n      t = e;\n    }\n  });\n  var e = [];\n  Object.defineProperty(this, \"Opt\", {\n    enumerable: !0,\n    configurable: !1,\n    get: function () {\n      return ot(e, this.objId, this.scope);\n    },\n    set: function (t) {\n      var r, n;\n      n = [], \"string\" == typeof (r = t) && (n = function (t, e, r) {\n        r || (r = 1);\n        for (var n, i = []; n = e.exec(t);) i.push(n[r]);\n        return i;\n      }(r, /\\((.*?)\\)/g)), e = n;\n    }\n  }), this.getOptions = function () {\n    return e;\n  }, this.setOptions = function (t) {\n    e = t, this.sort && e.sort();\n  }, this.addOption = function (t) {\n    t = (t = t || \"\").toString(), e.push(t), this.sort && e.sort();\n  }, this.removeOption = function (t, r) {\n    for (r = r || !1, t = (t = t || \"\").toString(); -1 !== e.indexOf(t) && (e.splice(e.indexOf(t), 1), !1 !== r););\n  }, Object.defineProperty(this, \"combo\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      return Boolean(X(this.Ff, 18));\n    },\n    set: function (t) {\n      !0 === Boolean(t) ? this.Ff = K(this.Ff, 18) : this.Ff = Z(this.Ff, 18);\n    }\n  }), Object.defineProperty(this, \"edit\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      return Boolean(X(this.Ff, 19));\n    },\n    set: function (t) {\n      !0 === this.combo && (!0 === Boolean(t) ? this.Ff = K(this.Ff, 19) : this.Ff = Z(this.Ff, 19));\n    }\n  }), Object.defineProperty(this, \"sort\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      return Boolean(X(this.Ff, 20));\n    },\n    set: function (t) {\n      !0 === Boolean(t) ? (this.Ff = K(this.Ff, 20), e.sort()) : this.Ff = Z(this.Ff, 20);\n    }\n  }), Object.defineProperty(this, \"multiSelect\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      return Boolean(X(this.Ff, 22));\n    },\n    set: function (t) {\n      !0 === Boolean(t) ? this.Ff = K(this.Ff, 22) : this.Ff = Z(this.Ff, 22);\n    }\n  }), Object.defineProperty(this, \"doNotSpellCheck\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      return Boolean(X(this.Ff, 23));\n    },\n    set: function (t) {\n      !0 === Boolean(t) ? this.Ff = K(this.Ff, 23) : this.Ff = Z(this.Ff, 23);\n    }\n  }), Object.defineProperty(this, \"commitOnSelChange\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      return Boolean(X(this.Ff, 27));\n    },\n    set: function (t) {\n      !0 === Boolean(t) ? this.Ff = K(this.Ff, 27) : this.Ff = Z(this.Ff, 27);\n    }\n  }), this.hasAppearanceStream = !1;\n};\nH(ft, lt);\nvar dt = function () {\n  ft.call(this), this.fontName = \"helvetica\", this.combo = !1;\n};\nH(dt, ft);\nvar pt = function () {\n  dt.call(this), this.combo = !0;\n};\nH(pt, dt);\nvar gt = function () {\n  pt.call(this), this.edit = !0;\n};\nH(gt, pt);\nvar mt = function () {\n  lt.call(this), this.FT = \"/Btn\", Object.defineProperty(this, \"noToggleToOff\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      return Boolean(X(this.Ff, 15));\n    },\n    set: function (t) {\n      !0 === Boolean(t) ? this.Ff = K(this.Ff, 15) : this.Ff = Z(this.Ff, 15);\n    }\n  }), Object.defineProperty(this, \"radio\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      return Boolean(X(this.Ff, 16));\n    },\n    set: function (t) {\n      !0 === Boolean(t) ? this.Ff = K(this.Ff, 16) : this.Ff = Z(this.Ff, 16);\n    }\n  }), Object.defineProperty(this, \"pushButton\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      return Boolean(X(this.Ff, 17));\n    },\n    set: function (t) {\n      !0 === Boolean(t) ? this.Ff = K(this.Ff, 17) : this.Ff = Z(this.Ff, 17);\n    }\n  }), Object.defineProperty(this, \"radioIsUnison\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      return Boolean(X(this.Ff, 26));\n    },\n    set: function (t) {\n      !0 === Boolean(t) ? this.Ff = K(this.Ff, 26) : this.Ff = Z(this.Ff, 26);\n    }\n  });\n  var e,\n    r = {};\n  Object.defineProperty(this, \"MK\", {\n    enumerable: !1,\n    configurable: !1,\n    get: function () {\n      var t = function (t) {\n        return t;\n      };\n      if (this.scope && (t = this.scope.internal.getEncryptor(this.objId)), 0 !== Object.keys(r).length) {\n        var e,\n          n = [];\n        for (e in n.push(\"<<\"), r) n.push(\"/\" + e + \" (\" + R(t(r[e])) + \")\");\n        return n.push(\">>\"), n.join(\"\\n\");\n      }\n    },\n    set: function (e) {\n      \"object\" === t(e) && (r = e);\n    }\n  }), Object.defineProperty(this, \"caption\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      return r.CA || \"\";\n    },\n    set: function (t) {\n      \"string\" == typeof t && (r.CA = t);\n    }\n  }), Object.defineProperty(this, \"AS\", {\n    enumerable: !1,\n    configurable: !1,\n    get: function () {\n      return e;\n    },\n    set: function (t) {\n      e = t;\n    }\n  }), Object.defineProperty(this, \"appearanceState\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      return e.substr(1, e.length - 1);\n    },\n    set: function (t) {\n      e = \"/\" + t;\n    }\n  });\n};\nH(mt, lt);\nvar vt = function () {\n  mt.call(this), this.pushButton = !0;\n};\nH(vt, mt);\nvar bt = function () {\n  mt.call(this), this.radio = !0, this.pushButton = !1;\n  var t = [];\n  Object.defineProperty(this, \"Kids\", {\n    enumerable: !0,\n    configurable: !1,\n    get: function () {\n      return t;\n    },\n    set: function (e) {\n      t = void 0 !== e ? e : [];\n    }\n  });\n};\nH(bt, mt);\nvar yt = function () {\n  var e, r;\n  lt.call(this), Object.defineProperty(this, \"Parent\", {\n    enumerable: !1,\n    configurable: !1,\n    get: function () {\n      return e;\n    },\n    set: function (t) {\n      e = t;\n    }\n  }), Object.defineProperty(this, \"optionName\", {\n    enumerable: !1,\n    configurable: !0,\n    get: function () {\n      return r;\n    },\n    set: function (t) {\n      r = t;\n    }\n  });\n  var n,\n    i = {};\n  Object.defineProperty(this, \"MK\", {\n    enumerable: !1,\n    configurable: !1,\n    get: function () {\n      var t = function (t) {\n        return t;\n      };\n      this.scope && (t = this.scope.internal.getEncryptor(this.objId));\n      var e,\n        r = [];\n      for (e in r.push(\"<<\"), i) r.push(\"/\" + e + \" (\" + R(t(i[e])) + \")\");\n      return r.push(\">>\"), r.join(\"\\n\");\n    },\n    set: function (e) {\n      \"object\" === t(e) && (i = e);\n    }\n  }), Object.defineProperty(this, \"caption\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      return i.CA || \"\";\n    },\n    set: function (t) {\n      \"string\" == typeof t && (i.CA = t);\n    }\n  }), Object.defineProperty(this, \"AS\", {\n    enumerable: !1,\n    configurable: !1,\n    get: function () {\n      return n;\n    },\n    set: function (t) {\n      n = t;\n    }\n  }), Object.defineProperty(this, \"appearanceState\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      return n.substr(1, n.length - 1);\n    },\n    set: function (t) {\n      n = \"/\" + t;\n    }\n  }), this.caption = \"l\", this.appearanceState = \"Off\", this._AppearanceType = At.RadioButton.Circle, this.appearanceStreamContent = this._AppearanceType.createAppearanceStream(this.optionName);\n};\nH(yt, lt), bt.prototype.setAppearance = function (t) {\n  if (!(\"createAppearanceStream\" in t) || !(\"getCA\" in t)) throw new Error(\"Couldn't assign Appearance to RadioButton. Appearance was Invalid!\");\n  for (var e in this.Kids) if (this.Kids.hasOwnProperty(e)) {\n    var r = this.Kids[e];\n    r.appearanceStreamContent = t.createAppearanceStream(r.optionName), r.caption = t.getCA();\n  }\n}, bt.prototype.createOption = function (t) {\n  var e = new yt();\n  return e.Parent = this, e.optionName = t, this.Kids.push(e), xt.call(this.scope, e), e;\n};\nvar wt = function () {\n  mt.call(this), this.fontName = \"zapfdingbats\", this.caption = \"3\", this.appearanceState = \"On\", this.value = \"On\", this.textAlign = \"center\", this.appearanceStreamContent = At.CheckBox.createAppearanceStream();\n};\nH(wt, mt);\nvar Nt = function () {\n  lt.call(this), this.FT = \"/Tx\", Object.defineProperty(this, \"multiline\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      return Boolean(X(this.Ff, 13));\n    },\n    set: function (t) {\n      !0 === Boolean(t) ? this.Ff = K(this.Ff, 13) : this.Ff = Z(this.Ff, 13);\n    }\n  }), Object.defineProperty(this, \"fileSelect\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      return Boolean(X(this.Ff, 21));\n    },\n    set: function (t) {\n      !0 === Boolean(t) ? this.Ff = K(this.Ff, 21) : this.Ff = Z(this.Ff, 21);\n    }\n  }), Object.defineProperty(this, \"doNotSpellCheck\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      return Boolean(X(this.Ff, 23));\n    },\n    set: function (t) {\n      !0 === Boolean(t) ? this.Ff = K(this.Ff, 23) : this.Ff = Z(this.Ff, 23);\n    }\n  }), Object.defineProperty(this, \"doNotScroll\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      return Boolean(X(this.Ff, 24));\n    },\n    set: function (t) {\n      !0 === Boolean(t) ? this.Ff = K(this.Ff, 24) : this.Ff = Z(this.Ff, 24);\n    }\n  }), Object.defineProperty(this, \"comb\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      return Boolean(X(this.Ff, 25));\n    },\n    set: function (t) {\n      !0 === Boolean(t) ? this.Ff = K(this.Ff, 25) : this.Ff = Z(this.Ff, 25);\n    }\n  }), Object.defineProperty(this, \"richText\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      return Boolean(X(this.Ff, 26));\n    },\n    set: function (t) {\n      !0 === Boolean(t) ? this.Ff = K(this.Ff, 26) : this.Ff = Z(this.Ff, 26);\n    }\n  });\n  var t = null;\n  Object.defineProperty(this, \"MaxLen\", {\n    enumerable: !0,\n    configurable: !1,\n    get: function () {\n      return t;\n    },\n    set: function (e) {\n      t = e;\n    }\n  }), Object.defineProperty(this, \"maxLength\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      return t;\n    },\n    set: function (e) {\n      Number.isInteger(e) && (t = e);\n    }\n  }), Object.defineProperty(this, \"hasAppearanceStream\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      return this.V || this.DV;\n    }\n  });\n};\nH(Nt, lt);\nvar Lt = function () {\n  Nt.call(this), Object.defineProperty(this, \"password\", {\n    enumerable: !0,\n    configurable: !0,\n    get: function () {\n      return Boolean(X(this.Ff, 14));\n    },\n    set: function (t) {\n      !0 === Boolean(t) ? this.Ff = K(this.Ff, 14) : this.Ff = Z(this.Ff, 14);\n    }\n  }), this.password = !0;\n};\nH(Lt, Nt);\nvar At = {\n  CheckBox: {\n    createAppearanceStream: function () {\n      return {\n        N: {\n          On: At.CheckBox.YesNormal\n        },\n        D: {\n          On: At.CheckBox.YesPushDown,\n          Off: At.CheckBox.OffPushDown\n        }\n      };\n    },\n    YesPushDown: function (t) {\n      var e = V(t);\n      e.scope = t.scope;\n      var r = [],\n        n = t.scope.internal.getFont(t.fontName, t.fontStyle).id,\n        i = t.scope.__private__.encodeColorString(t.color),\n        a = tt(t, t.caption);\n      return r.push(\"0.749023 g\"), r.push(\"0 0 \" + U(At.internal.getWidth(t)) + \" \" + U(At.internal.getHeight(t)) + \" re\"), r.push(\"f\"), r.push(\"BMC\"), r.push(\"q\"), r.push(\"0 0 1 rg\"), r.push(\"/\" + n + \" \" + U(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;\n    },\n    YesNormal: function (t) {\n      var e = V(t);\n      e.scope = t.scope;\n      var r = t.scope.internal.getFont(t.fontName, t.fontStyle).id,\n        n = t.scope.__private__.encodeColorString(t.color),\n        i = [],\n        a = At.internal.getHeight(t),\n        o = At.internal.getWidth(t),\n        s = tt(t, t.caption);\n      return i.push(\"1 g\"), i.push(\"0 0 \" + U(o) + \" \" + U(a) + \" re\"), i.push(\"f\"), i.push(\"q\"), i.push(\"0 0 1 rg\"), i.push(\"0 0 \" + U(o - 1) + \" \" + U(a - 1) + \" re\"), i.push(\"W\"), i.push(\"n\"), i.push(\"0 g\"), i.push(\"BT\"), i.push(\"/\" + r + \" \" + U(s.fontSize) + \" Tf \" + n), i.push(s.text), i.push(\"ET\"), i.push(\"Q\"), e.stream = i.join(\"\\n\"), e;\n    },\n    OffPushDown: function (t) {\n      var e = V(t);\n      e.scope = t.scope;\n      var r = [];\n      return r.push(\"0.749023 g\"), r.push(\"0 0 \" + U(At.internal.getWidth(t)) + \" \" + U(At.internal.getHeight(t)) + \" re\"), r.push(\"f\"), e.stream = r.join(\"\\n\"), e;\n    }\n  },\n  RadioButton: {\n    Circle: {\n      createAppearanceStream: function (t) {\n        var e = {\n          D: {\n            Off: At.RadioButton.Circle.OffPushDown\n          },\n          N: {}\n        };\n        return e.N[t] = At.RadioButton.Circle.YesNormal, e.D[t] = At.RadioButton.Circle.YesPushDown, e;\n      },\n      getCA: function () {\n        return \"l\";\n      },\n      YesNormal: function (t) {\n        var e = V(t);\n        e.scope = t.scope;\n        var r = [],\n          n = At.internal.getWidth(t) <= At.internal.getHeight(t) ? At.internal.getWidth(t) / 4 : At.internal.getHeight(t) / 4;\n        n = Number((.9 * n).toFixed(5));\n        var i = At.internal.Bezier_C,\n          a = Number((n * i).toFixed(5));\n        return r.push(\"q\"), r.push(\"1 0 0 1 \" + z(At.internal.getWidth(t) / 2) + \" \" + z(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;\n      },\n      YesPushDown: function (t) {\n        var e = V(t);\n        e.scope = t.scope;\n        var r = [],\n          n = At.internal.getWidth(t) <= At.internal.getHeight(t) ? At.internal.getWidth(t) / 4 : At.internal.getHeight(t) / 4;\n        n = Number((.9 * n).toFixed(5));\n        var i = Number((2 * n).toFixed(5)),\n          a = Number((i * At.internal.Bezier_C).toFixed(5)),\n          o = Number((n * At.internal.Bezier_C).toFixed(5));\n        return r.push(\"0.749023 g\"), r.push(\"q\"), r.push(\"1 0 0 1 \" + z(At.internal.getWidth(t) / 2) + \" \" + z(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 \" + z(At.internal.getWidth(t) / 2) + \" \" + z(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;\n      },\n      OffPushDown: function (t) {\n        var e = V(t);\n        e.scope = t.scope;\n        var r = [],\n          n = At.internal.getWidth(t) <= At.internal.getHeight(t) ? At.internal.getWidth(t) / 4 : At.internal.getHeight(t) / 4;\n        n = Number((.9 * n).toFixed(5));\n        var i = Number((2 * n).toFixed(5)),\n          a = Number((i * At.internal.Bezier_C).toFixed(5));\n        return r.push(\"0.749023 g\"), r.push(\"q\"), r.push(\"1 0 0 1 \" + z(At.internal.getWidth(t) / 2) + \" \" + z(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;\n      }\n    },\n    Cross: {\n      createAppearanceStream: function (t) {\n        var e = {\n          D: {\n            Off: At.RadioButton.Cross.OffPushDown\n          },\n          N: {}\n        };\n        return e.N[t] = At.RadioButton.Cross.YesNormal, e.D[t] = At.RadioButton.Cross.YesPushDown, e;\n      },\n      getCA: function () {\n        return \"8\";\n      },\n      YesNormal: function (t) {\n        var e = V(t);\n        e.scope = t.scope;\n        var r = [],\n          n = At.internal.calculateCross(t);\n        return r.push(\"q\"), r.push(\"1 1 \" + U(At.internal.getWidth(t) - 2) + \" \" + U(At.internal.getHeight(t) - 2) + \" re\"), r.push(\"W\"), r.push(\"n\"), r.push(U(n.x1.x) + \" \" + U(n.x1.y) + \" m\"), r.push(U(n.x2.x) + \" \" + U(n.x2.y) + \" l\"), r.push(U(n.x4.x) + \" \" + U(n.x4.y) + \" m\"), r.push(U(n.x3.x) + \" \" + U(n.x3.y) + \" l\"), r.push(\"s\"), r.push(\"Q\"), e.stream = r.join(\"\\n\"), e;\n      },\n      YesPushDown: function (t) {\n        var e = V(t);\n        e.scope = t.scope;\n        var r = At.internal.calculateCross(t),\n          n = [];\n        return n.push(\"0.749023 g\"), n.push(\"0 0 \" + U(At.internal.getWidth(t)) + \" \" + U(At.internal.getHeight(t)) + \" re\"), n.push(\"f\"), n.push(\"q\"), n.push(\"1 1 \" + U(At.internal.getWidth(t) - 2) + \" \" + U(At.internal.getHeight(t) - 2) + \" re\"), n.push(\"W\"), n.push(\"n\"), n.push(U(r.x1.x) + \" \" + U(r.x1.y) + \" m\"), n.push(U(r.x2.x) + \" \" + U(r.x2.y) + \" l\"), n.push(U(r.x4.x) + \" \" + U(r.x4.y) + \" m\"), n.push(U(r.x3.x) + \" \" + U(r.x3.y) + \" l\"), n.push(\"s\"), n.push(\"Q\"), e.stream = n.join(\"\\n\"), e;\n      },\n      OffPushDown: function (t) {\n        var e = V(t);\n        e.scope = t.scope;\n        var r = [];\n        return r.push(\"0.749023 g\"), r.push(\"0 0 \" + U(At.internal.getWidth(t)) + \" \" + U(At.internal.getHeight(t)) + \" re\"), r.push(\"f\"), e.stream = r.join(\"\\n\"), e;\n      }\n    }\n  },\n  createDefaultAppearanceStream: function (t) {\n    var e = t.scope.internal.getFont(t.fontName, t.fontStyle).id,\n      r = t.scope.__private__.encodeColorString(t.color);\n    return \"/\" + e + \" \" + t.fontSize + \" Tf \" + r;\n  }\n};\nAt.internal = {\n  Bezier_C: .551915024494,\n  calculateCross: function (t) {\n    var e = At.internal.getWidth(t),\n      r = At.internal.getHeight(t),\n      n = Math.min(e, r);\n    return {\n      x1: {\n        x: (e - n) / 2,\n        y: (r - n) / 2 + n\n      },\n      x2: {\n        x: (e - n) / 2 + n,\n        y: (r - n) / 2\n      },\n      x3: {\n        x: (e - n) / 2,\n        y: (r - n) / 2\n      },\n      x4: {\n        x: (e - n) / 2 + n,\n        y: (r - n) / 2 + n\n      }\n    };\n  }\n}, At.internal.getWidth = function (e) {\n  var r = 0;\n  return \"object\" === t(e) && (r = W(e.Rect[2])), r;\n}, At.internal.getHeight = function (e) {\n  var r = 0;\n  return \"object\" === t(e) && (r = W(e.Rect[3])), r;\n};\nvar xt = q.addField = function (t) {\n  if (at(this, t), !(t instanceof lt)) throw new Error(\"Invalid argument passed to jsPDF.addField.\");\n  var e;\n  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;\n};\nq.AcroFormChoiceField = ft, q.AcroFormListBox = dt, q.AcroFormComboBox = pt, q.AcroFormEditBox = gt, q.AcroFormButton = mt, q.AcroFormPushButton = vt, q.AcroFormRadioButton = bt, q.AcroFormCheckBox = wt, q.AcroFormTextField = Nt, q.AcroFormPasswordField = Lt, q.AcroFormAppearance = At, q.AcroForm = {\n  ChoiceField: ft,\n  ListBox: dt,\n  ComboBox: pt,\n  EditBox: gt,\n  Button: mt,\n  PushButton: vt,\n  RadioButton: bt,\n  CheckBox: wt,\n  TextField: Nt,\n  PasswordField: Lt,\n  Appearance: At\n}, E.AcroForm = {\n  ChoiceField: ft,\n  ListBox: dt,\n  ComboBox: pt,\n  EditBox: gt,\n  Button: mt,\n  PushButton: vt,\n  RadioButton: bt,\n  CheckBox: wt,\n  TextField: Nt,\n  PasswordField: Lt,\n  Appearance: At\n};\nvar St = E.AcroForm;\nfunction _t(t) {\n  return t.reduce(function (t, e, r) {\n    return t[e] = r, t;\n  }, {});\n}\n!function (e) {\n  e.__addimage__ = {};\n  var r = \"UNKNOWN\",\n    n = {\n      PNG: [[137, 80, 78, 71]],\n      TIFF: [[77, 77, 0, 42], [73, 73, 42, 0]],\n      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]],\n      JPEG2000: [[0, 0, 0, 12, 106, 80, 32, 32]],\n      GIF87a: [[71, 73, 70, 56, 55, 97]],\n      GIF89a: [[71, 73, 70, 56, 57, 97]],\n      WEBP: [[82, 73, 70, 70, void 0, void 0, void 0, void 0, 87, 69, 66, 80]],\n      BMP: [[66, 77], [66, 65], [67, 73], [67, 80], [73, 67], [80, 84]]\n    },\n    i = e.__addimage__.getImageFileTypeByImageData = function (t, e) {\n      var i,\n        a,\n        o,\n        s,\n        c,\n        u = r;\n      if (\"RGBA\" === (e = e || r) || void 0 !== t.data && t.data instanceof Uint8ClampedArray && \"height\" in t && \"width\" in t) return \"RGBA\";\n      if (x(t)) for (c in n) for (o = n[c], i = 0; i < o.length; i += 1) {\n        for (s = !0, a = 0; a < o[i].length; a += 1) if (void 0 !== o[i][a] && o[i][a] !== t[a]) {\n          s = !1;\n          break;\n        }\n        if (!0 === s) {\n          u = c;\n          break;\n        }\n      } else for (c in n) for (o = n[c], i = 0; i < o.length; i += 1) {\n        for (s = !0, a = 0; a < o[i].length; a += 1) if (void 0 !== o[i][a] && o[i][a] !== t.charCodeAt(a)) {\n          s = !1;\n          break;\n        }\n        if (!0 === s) {\n          u = c;\n          break;\n        }\n      }\n      return u === r && e !== r && (u = e), u;\n    },\n    a = function t(e) {\n      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);\n      e.objectId = this.internal.newObject();\n      var a = [];\n      if (a.push({\n        key: \"Type\",\n        value: \"/XObject\"\n      }), a.push({\n        key: \"Subtype\",\n        value: \"/Image\"\n      }), a.push({\n        key: \"Width\",\n        value: e.width\n      }), a.push({\n        key: \"Height\",\n        value: e.height\n      }), e.colorSpace === b.INDEXED ? a.push({\n        key: \"ColorSpace\",\n        value: \"[/Indexed /DeviceRGB \" + (e.palette.length / 3 - 1) + \" \" + (\"sMask\" in e && void 0 !== e.sMask ? e.objectId + 2 : e.objectId + 1) + \" 0 R]\"\n      }) : (a.push({\n        key: \"ColorSpace\",\n        value: \"/\" + e.colorSpace\n      }), e.colorSpace === b.DEVICE_CMYK && a.push({\n        key: \"Decode\",\n        value: \"[1 0 1 0 1 0 1 0]\"\n      })), a.push({\n        key: \"BitsPerComponent\",\n        value: e.bitsPerComponent\n      }), \"decodeParameters\" in e && void 0 !== e.decodeParameters && a.push({\n        key: \"DecodeParms\",\n        value: \"<<\" + e.decodeParameters + \">>\"\n      }), \"transparency\" in e && Array.isArray(e.transparency)) {\n        for (var o = \"\", s = 0, c = e.transparency.length; s < c; s++) o += e.transparency[s] + \" \" + e.transparency[s] + \" \";\n        a.push({\n          key: \"Mask\",\n          value: \"[\" + o + \"]\"\n        });\n      }\n      void 0 !== e.sMask && a.push({\n        key: \"SMask\",\n        value: e.objectId + 1 + \" 0 R\"\n      });\n      var u = void 0 !== e.filter ? [\"/\" + e.filter] : void 0;\n      if (n({\n        data: e.data,\n        additionalKeyValues: a,\n        alreadyAppliedFilters: u,\n        objectId: e.objectId\n      }), r(\"endobj\"), \"sMask\" in e && void 0 !== e.sMask) {\n        var h = \"/Predictor \" + e.predictor + \" /Colors 1 /BitsPerComponent \" + e.bitsPerComponent + \" /Columns \" + e.width,\n          l = {\n            width: e.width,\n            height: e.height,\n            colorSpace: \"DeviceGray\",\n            bitsPerComponent: e.bitsPerComponent,\n            decodeParameters: h,\n            data: e.sMask\n          };\n        \"filter\" in e && (l.filter = e.filter), t.call(this, l);\n      }\n      if (e.colorSpace === b.INDEXED) {\n        var f = this.internal.newObject();\n        n({\n          data: _(new Uint8Array(e.palette)),\n          objectId: f\n        }), r(\"endobj\");\n      }\n    },\n    o = function () {\n      var t = this.internal.collections.addImage_images;\n      for (var e in t) a.call(this, t[e]);\n    },\n    s = function () {\n      var t,\n        e = this.internal.collections.addImage_images,\n        r = this.internal.write;\n      for (var n in e) r(\"/I\" + (t = e[n]).index, t.objectId, \"0\", \"R\");\n    },\n    c = function () {\n      this.internal.collections.addImage_images || (this.internal.collections.addImage_images = {}, this.internal.events.subscribe(\"putResources\", o), this.internal.events.subscribe(\"putXobjectDict\", s));\n    },\n    h = function () {\n      var t = this.internal.collections.addImage_images;\n      return c.call(this), t;\n    },\n    l = function () {\n      return Object.keys(this.internal.collections.addImage_images).length;\n    },\n    f = function (t) {\n      return \"function\" == typeof e[\"process\" + t.toUpperCase()];\n    },\n    d = function (e) {\n      return \"object\" === t(e) && 1 === e.nodeType;\n    },\n    p = function (t, r) {\n      if (\"IMG\" === t.nodeName && t.hasAttribute(\"src\")) {\n        var n = \"\" + t.getAttribute(\"src\");\n        if (0 === n.indexOf(\"data:image/\")) return u(unescape(n).split(\"base64,\").pop());\n        var i = e.loadFile(n, !0);\n        if (void 0 !== i) return i;\n      }\n      if (\"CANVAS\" === t.nodeName) {\n        if (0 === t.width || 0 === t.height) throw new Error(\"Given canvas must have data. Canvas width: \" + t.width + \", height: \" + t.height);\n        var a;\n        switch (r) {\n          case \"PNG\":\n            a = \"image/png\";\n            break;\n          case \"WEBP\":\n            a = \"image/webp\";\n            break;\n          case \"JPEG\":\n          case \"JPG\":\n          default:\n            a = \"image/jpeg\";\n        }\n        return u(t.toDataURL(a, 1).split(\"base64,\").pop());\n      }\n    },\n    g = function (t) {\n      var e = this.internal.collections.addImage_images;\n      if (e) for (var r in e) if (t === e[r].alias) return e[r];\n    },\n    m = function (t, e, r) {\n      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];\n    },\n    v = function (t, e, r, n, i, a) {\n      var o = m.call(this, r, n, i),\n        s = this.internal.getCoordinateString,\n        c = this.internal.getVerticalCoordinateString,\n        u = h.call(this);\n      if (r = o[0], n = o[1], u[i.index] = i, a) {\n        a *= Math.PI / 180;\n        var l = Math.cos(a),\n          f = Math.sin(a),\n          d = function (t) {\n            return t.toFixed(4);\n          },\n          p = [d(l), d(f), d(-1 * f), d(l), 0, 0, \"cm\"];\n      }\n      this.internal.write(\"q\"), a ? (this.internal.write([1, \"0\", \"0\", 1, s(t), c(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), c(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\");\n    },\n    b = e.color_spaces = {\n      DEVICE_RGB: \"DeviceRGB\",\n      DEVICE_GRAY: \"DeviceGray\",\n      DEVICE_CMYK: \"DeviceCMYK\",\n      CAL_GREY: \"CalGray\",\n      CAL_RGB: \"CalRGB\",\n      LAB: \"Lab\",\n      ICC_BASED: \"ICCBased\",\n      INDEXED: \"Indexed\",\n      PATTERN: \"Pattern\",\n      SEPARATION: \"Separation\",\n      DEVICE_N: \"DeviceN\"\n    };\n  e.decode = {\n    DCT_DECODE: \"DCTDecode\",\n    FLATE_DECODE: \"FlateDecode\",\n    LZW_DECODE: \"LZWDecode\",\n    JPX_DECODE: \"JPXDecode\",\n    JBIG2_DECODE: \"JBIG2Decode\",\n    ASCII85_DECODE: \"ASCII85Decode\",\n    ASCII_HEX_DECODE: \"ASCIIHexDecode\",\n    RUN_LENGTH_DECODE: \"RunLengthDecode\",\n    CCITT_FAX_DECODE: \"CCITTFaxDecode\"\n  };\n  var y = e.image_compression = {\n      NONE: \"NONE\",\n      FAST: \"FAST\",\n      MEDIUM: \"MEDIUM\",\n      SLOW: \"SLOW\"\n    },\n    w = e.__addimage__.sHashCode = function (t) {\n      var e,\n        r,\n        n = 0;\n      if (\"string\" == typeof t) for (r = t.length, e = 0; e < r; e++) n = (n << 5) - n + t.charCodeAt(e), n |= 0;else if (x(t)) for (r = t.byteLength / 2, e = 0; e < r; e++) n = (n << 5) - n + t[e], n |= 0;\n      return n;\n    },\n    N = e.__addimage__.validateStringAsBase64 = function (t) {\n      (t = t || \"\").toString().trim();\n      var e = !0;\n      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;\n    },\n    L = e.__addimage__.extractImageFromDataUrl = function (t) {\n      if (null == t) return null;\n      if (!(t = t.trim()).startsWith(\"data:\")) return null;\n      var e = t.indexOf(\",\");\n      return e < 0 ? null : t.substring(0, e).trim().endsWith(\"base64\") ? t.substring(e + 1) : null;\n    },\n    A = e.__addimage__.supportsArrayBuffer = function () {\n      return \"undefined\" != typeof ArrayBuffer && \"undefined\" != typeof Uint8Array;\n    };\n  e.__addimage__.isArrayBuffer = function (t) {\n    return A() && t instanceof ArrayBuffer;\n  };\n  var x = e.__addimage__.isArrayBufferView = function (t) {\n      return A() && \"undefined\" != typeof Uint32Array && (t instanceof Int8Array || t instanceof Uint8Array || \"undefined\" != typeof Uint8ClampedArray && t instanceof Uint8ClampedArray || t instanceof Int16Array || t instanceof Uint16Array || t instanceof Int32Array || t instanceof Uint32Array || t instanceof Float32Array || t instanceof Float64Array);\n    },\n    S = e.__addimage__.binaryStringToUint8Array = function (t) {\n      for (var e = t.length, r = new Uint8Array(e), n = 0; n < e; n++) r[n] = t.charCodeAt(n);\n      return r;\n    },\n    _ = e.__addimage__.arrayBufferToBinaryString = function (t) {\n      for (var e = \"\", r = x(t) ? t : new Uint8Array(t), n = 0; n < r.length; n += 8192) e += String.fromCharCode.apply(null, r.subarray(n, n + 8192));\n      return e;\n    };\n  e.addImage = function () {\n    var e, n, i, a, o, s, u, h, l;\n    if (\"number\" == typeof arguments[1] ? (n = r, i = arguments[1], a = arguments[2], o = arguments[3], s = arguments[4], u = arguments[5], h = arguments[6], l = arguments[7]) : (n = arguments[1], i = arguments[2], a = arguments[3], o = arguments[4], s = arguments[5], u = arguments[6], h = arguments[7], l = arguments[8]), \"object\" === t(e = arguments[0]) && !d(e) && \"imageData\" in e) {\n      var f = e;\n      e = f.imageData, n = f.format || n || r, 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, h = f.compression || h, l = f.rotation || f.angle || l;\n    }\n    var p = this.internal.getFilters();\n    if (void 0 === h && -1 !== p.indexOf(\"FlateEncode\") && (h = \"SLOW\"), isNaN(i) || isNaN(a)) throw new Error(\"Invalid coordinates passed to jsPDF.addImage\");\n    c.call(this);\n    var g = P.call(this, e, n, u, h);\n    return v.call(this, i, a, o, s, g, l), this;\n  };\n  var P = function (t, n, a, o) {\n      var s, c, u;\n      if (\"string\" == typeof t && i(t) === r) {\n        t = unescape(t);\n        var h = k(t, !1);\n        (\"\" !== h || void 0 !== (h = e.loadFile(t, !0))) && (t = h);\n      }\n      if (d(t) && (t = p(t, n)), n = i(t, n), !f(n)) throw new Error(\"addImage does not support files of type '\" + n + \"', please ensure that a plugin for '\" + n + \"' support is added.\");\n      if ((null == (u = a) || 0 === u.length) && (a = function (t) {\n        return \"string\" == typeof t || x(t) ? w(t) : x(t.data) ? w(t.data) : null;\n      }(t)), (s = g.call(this, a)) || (A() && (t instanceof Uint8Array || \"RGBA\" === n || (c = t, t = S(t))), s = this[\"process\" + n.toUpperCase()](t, l.call(this), a, function (t) {\n        return t && \"string\" == typeof t && (t = t.toUpperCase()), t in e.image_compression ? t : y.NONE;\n      }(o), c)), !s) throw new Error(\"An unknown error occurred whilst processing the image.\");\n      return s;\n    },\n    k = e.__addimage__.convertBase64ToBinaryString = function (t, e) {\n      e = \"boolean\" != typeof e || e;\n      var r,\n        n = \"\";\n      if (\"string\" == typeof t) {\n        var i;\n        r = null !== (i = L(t)) && void 0 !== i ? i : t;\n        try {\n          n = u(r);\n        } catch (t) {\n          if (e) throw N(r) ? new Error(\"atob-Error in jsPDF.convertBase64ToBinaryString \" + t.message) : new Error(\"Supplied Data is not a valid base64-String jsPDF.convertBase64ToBinaryString \");\n        }\n      }\n      return n;\n    };\n  e.getImageProperties = function (t) {\n    var n,\n      a,\n      o = \"\";\n    if (d(t) && (t = p(t)), \"string\" == typeof t && i(t) === r && (\"\" === (o = k(t, !1)) && (o = e.loadFile(t) || \"\"), t = o), a = i(t), !f(a)) throw new Error(\"addImage does not support files of type '\" + a + \"', please ensure that a plugin for '\" + a + \"' support is added.\");\n    if (!A() || t instanceof Uint8Array || (t = S(t)), !(n = this[\"process\" + a.toUpperCase()](t))) throw new Error(\"An unknown error occurred whilst processing the image\");\n    return n.fileType = a, n;\n  };\n}(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) {\n  var e = function (t) {\n    if (void 0 !== t && \"\" != t) return !0;\n  };\n  E.API.events.push([\"addPage\", function (t) {\n    this.internal.getPageInfo(t.pageNumber).pageContext.annotations = [];\n  }]), t.events.push([\"putPage\", function (t) {\n    for (var r, n, i, a = this.internal.getCoordinateString, o = this.internal.getVerticalCoordinateString, s = this.internal.getPageInfoByObjId(t.objId), c = t.pageContext.annotations, u = !1, h = 0; h < c.length && !u; h++) switch ((r = c[h]).type) {\n      case \"link\":\n        (e(r.options.url) || e(r.options.pageNumber)) && (u = !0);\n        break;\n      case \"reference\":\n      case \"text\":\n      case \"freetext\":\n        u = !0;\n    }\n    if (0 != u) {\n      this.internal.write(\"/Annots [\");\n      for (var l = 0; l < c.length; l++) {\n        r = c[l];\n        var f = this.internal.pdfEscape,\n          d = this.internal.getEncryptor(t.objId);\n        switch (r.type) {\n          case \"reference\":\n            this.internal.write(\" \" + r.object.objId + \" 0 R \");\n            break;\n          case \"text\":\n            var p = this.internal.newAdditionalObject(),\n              g = this.internal.newAdditionalObject(),\n              m = this.internal.getEncryptor(p.objId),\n              v = r.title || \"Note\";\n            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;\n            var b = p.objId + \" 0 R\";\n            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\");\n            break;\n          case \"freetext\":\n            n = \"/Rect [\" + a(r.bounds.x) + \" \" + o(r.bounds.y) + \" \" + a(r.bounds.x + r.bounds.w) + \" \" + o(r.bounds.y + r.bounds.h) + \"] \";\n            var y = r.color || \"#000000\";\n            i = \"<</Type /Annot /Subtype /FreeText \" + n + \"/Contents (\" + f(d(r.contents)) + \")\", i += \" /DS(font: Helvetica,sans-serif 12.0pt; text-align:left; color:#\" + y + \")\", i += \" /Border [0 0 0]\", i += \" >>\", this.internal.write(i);\n            break;\n          case \"link\":\n            if (r.options.name) {\n              var w = this.annotations._nameMap[r.options.name];\n              r.options.pageNumber = w.page, r.options.top = w.y;\n            } else r.options.top || (r.options.top = 0);\n            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) {\n              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) {\n                case \"Fit\":\n                  i += \" /Fit]\";\n                  break;\n                case \"FitH\":\n                  i += \" /FitH \" + r.options.top + \"]\";\n                  break;\n                case \"FitV\":\n                  r.options.left = r.options.left || 0, i += \" /FitV \" + r.options.left + \"]\";\n                  break;\n                case \"XYZ\":\n                default:\n                  var N = o(r.options.top);\n                  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 + \"]\";\n              }\n            }\n            \"\" != i && (i += \" >>\", this.internal.write(i));\n        }\n      }\n      this.internal.write(\"]\");\n    }\n  }]), t.createAnnotation = function (t) {\n    var e = this.internal.getCurrentPageInfo();\n    switch (t.type) {\n      case \"link\":\n        this.link(t.bounds.x, t.bounds.y, t.bounds.w, t.bounds.h, t);\n        break;\n      case \"text\":\n      case \"freetext\":\n        e.pageContext.annotations.push(t);\n    }\n  }, t.link = function (t, e, r, n, i) {\n    var a = this.internal.getCurrentPageInfo(),\n      o = this.internal.getCoordinateString,\n      s = this.internal.getVerticalCoordinateString;\n    a.pageContext.annotations.push({\n      finalBounds: {\n        x: o(t),\n        y: s(e),\n        w: o(t + r),\n        h: s(e + n)\n      },\n      options: i,\n      type: \"link\"\n    });\n  }, t.textWithLink = function (t, e, r, n) {\n    var i,\n      a,\n      o = this.getTextWidth(t),\n      s = this.internal.getLineHeight() / this.internal.scaleFactor;\n    if (void 0 !== n.maxWidth) {\n      a = n.maxWidth;\n      var c = this.splitTextToSize(t, a).length;\n      i = Math.ceil(s * c);\n    } else a = o, i = s;\n    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;\n  }, t.getTextWidth = function (t) {\n    var e = this.internal.getFontSize();\n    return this.getStringUnitWidth(t) * e / this.internal.scaleFactor;\n  };\n}(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) {\n  var e = {\n      1569: [65152],\n      1570: [65153, 65154],\n      1571: [65155, 65156],\n      1572: [65157, 65158],\n      1573: [65159, 65160],\n      1574: [65161, 65162, 65163, 65164],\n      1575: [65165, 65166],\n      1576: [65167, 65168, 65169, 65170],\n      1577: [65171, 65172],\n      1578: [65173, 65174, 65175, 65176],\n      1579: [65177, 65178, 65179, 65180],\n      1580: [65181, 65182, 65183, 65184],\n      1581: [65185, 65186, 65187, 65188],\n      1582: [65189, 65190, 65191, 65192],\n      1583: [65193, 65194],\n      1584: [65195, 65196],\n      1585: [65197, 65198],\n      1586: [65199, 65200],\n      1587: [65201, 65202, 65203, 65204],\n      1588: [65205, 65206, 65207, 65208],\n      1589: [65209, 65210, 65211, 65212],\n      1590: [65213, 65214, 65215, 65216],\n      1591: [65217, 65218, 65219, 65220],\n      1592: [65221, 65222, 65223, 65224],\n      1593: [65225, 65226, 65227, 65228],\n      1594: [65229, 65230, 65231, 65232],\n      1601: [65233, 65234, 65235, 65236],\n      1602: [65237, 65238, 65239, 65240],\n      1603: [65241, 65242, 65243, 65244],\n      1604: [65245, 65246, 65247, 65248],\n      1605: [65249, 65250, 65251, 65252],\n      1606: [65253, 65254, 65255, 65256],\n      1607: [65257, 65258, 65259, 65260],\n      1608: [65261, 65262],\n      1609: [65263, 65264, 64488, 64489],\n      1610: [65265, 65266, 65267, 65268],\n      1649: [64336, 64337],\n      1655: [64477],\n      1657: [64358, 64359, 64360, 64361],\n      1658: [64350, 64351, 64352, 64353],\n      1659: [64338, 64339, 64340, 64341],\n      1662: [64342, 64343, 64344, 64345],\n      1663: [64354, 64355, 64356, 64357],\n      1664: [64346, 64347, 64348, 64349],\n      1667: [64374, 64375, 64376, 64377],\n      1668: [64370, 64371, 64372, 64373],\n      1670: [64378, 64379, 64380, 64381],\n      1671: [64382, 64383, 64384, 64385],\n      1672: [64392, 64393],\n      1676: [64388, 64389],\n      1677: [64386, 64387],\n      1678: [64390, 64391],\n      1681: [64396, 64397],\n      1688: [64394, 64395],\n      1700: [64362, 64363, 64364, 64365],\n      1702: [64366, 64367, 64368, 64369],\n      1705: [64398, 64399, 64400, 64401],\n      1709: [64467, 64468, 64469, 64470],\n      1711: [64402, 64403, 64404, 64405],\n      1713: [64410, 64411, 64412, 64413],\n      1715: [64406, 64407, 64408, 64409],\n      1722: [64414, 64415],\n      1723: [64416, 64417, 64418, 64419],\n      1726: [64426, 64427, 64428, 64429],\n      1728: [64420, 64421],\n      1729: [64422, 64423, 64424, 64425],\n      1733: [64480, 64481],\n      1734: [64473, 64474],\n      1735: [64471, 64472],\n      1736: [64475, 64476],\n      1737: [64482, 64483],\n      1739: [64478, 64479],\n      1740: [64508, 64509, 64510, 64511],\n      1744: [64484, 64485, 64486, 64487],\n      1746: [64430, 64431],\n      1747: [64432, 64433]\n    },\n    r = {\n      65247: {\n        65154: 65269,\n        65156: 65271,\n        65160: 65273,\n        65166: 65275\n      },\n      65248: {\n        65154: 65270,\n        65156: 65272,\n        65160: 65274,\n        65166: 65276\n      },\n      65165: {\n        65247: {\n          65248: {\n            65258: 65010\n          }\n        }\n      },\n      1617: {\n        1612: 64606,\n        1613: 64607,\n        1614: 64608,\n        1615: 64609,\n        1616: 64610\n      }\n    },\n    n = {\n      1612: 64606,\n      1613: 64607,\n      1614: 64608,\n      1615: 64609,\n      1616: 64610\n    },\n    i = [1570, 1571, 1573, 1575];\n  t.__arabicParser__ = {};\n  var a = t.__arabicParser__.isInArabicSubstitutionA = function (t) {\n      return void 0 !== e[t.charCodeAt(0)];\n    },\n    o = t.__arabicParser__.isArabicLetter = function (t) {\n      return \"string\" == typeof t && /^[\\u0600-\\u06FF\\u0750-\\u077F\\u08A0-\\u08FF\\uFB50-\\uFDFF\\uFE70-\\uFEFF]+$/.test(t);\n    },\n    s = t.__arabicParser__.isArabicEndLetter = function (t) {\n      return o(t) && a(t) && e[t.charCodeAt(0)].length <= 2;\n    },\n    c = t.__arabicParser__.isArabicAlfLetter = function (t) {\n      return o(t) && i.indexOf(t.charCodeAt(0)) >= 0;\n    };\n  t.__arabicParser__.arabicLetterHasIsolatedForm = function (t) {\n    return o(t) && a(t) && e[t.charCodeAt(0)].length >= 1;\n  };\n  var u = t.__arabicParser__.arabicLetterHasFinalForm = function (t) {\n    return o(t) && a(t) && e[t.charCodeAt(0)].length >= 2;\n  };\n  t.__arabicParser__.arabicLetterHasInitialForm = function (t) {\n    return o(t) && a(t) && e[t.charCodeAt(0)].length >= 3;\n  };\n  var h = t.__arabicParser__.arabicLetterHasMedialForm = function (t) {\n      return o(t) && a(t) && 4 == e[t.charCodeAt(0)].length;\n    },\n    l = t.__arabicParser__.resolveLigatures = function (t) {\n      var e = 0,\n        n = r,\n        i = \"\",\n        a = 0;\n      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);\n      return i;\n    };\n  t.__arabicParser__.isArabicDiacritic = function (t) {\n    return void 0 !== t && void 0 !== n[t.charCodeAt(0)];\n  };\n  var f = t.__arabicParser__.getCorrectForm = function (t, e, r) {\n      return o(t) ? !1 === a(t) ? -1 : !u(t) || !o(e) && !o(r) || !o(r) && s(e) || s(t) && !o(e) || s(t) && c(e) || s(t) && s(e) ? 0 : h(t) && o(e) && !s(e) && o(r) && u(r) ? 3 : s(t) || !o(r) ? 1 : 2 : -1;\n    },\n    d = function (t) {\n      var r = 0,\n        n = 0,\n        i = 0,\n        a = \"\",\n        s = \"\",\n        c = \"\",\n        u = (t = t || \"\").split(\"\\\\s+\"),\n        h = [];\n      for (r = 0; r < u.length; r += 1) {\n        for (h.push(\"\"), n = 0; n < u[r].length; n += 1) a = u[r][n], s = u[r][n - 1], c = u[r][n + 1], o(a) ? (i = f(a, s, c), h[r] += -1 !== i ? String.fromCharCode(e[a.charCodeAt(0)][i]) : a) : h[r] += a;\n        h[r] = l(h[r]);\n      }\n      return h.join(\" \");\n    },\n    p = t.__arabicParser__.processArabic = t.processArabic = function () {\n      var t,\n        e = \"string\" == typeof arguments[0] ? arguments[0] : arguments[0].text,\n        r = [];\n      if (Array.isArray(e)) {\n        var n = 0;\n        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])]);\n        t = r;\n      } else t = d(e);\n      return \"string\" == typeof arguments[0] ? t : (arguments[0].text = t, arguments[0]);\n    };\n  t.events.push([\"preProcessText\", p]);\n}(E.API), E.API.autoPrint = function (t) {\n  var e;\n  switch ((t = t || {}).variant = t.variant || \"non-conform\", t.variant) {\n    case \"javascript\":\n      this.addJS(\"print({});\");\n      break;\n    case \"non-conform\":\n    default:\n      this.internal.events.subscribe(\"postPutResources\", function () {\n        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\");\n      }), this.internal.events.subscribe(\"putCatalog\", function () {\n        this.internal.out(\"/OpenAction \" + e + \" 0 R\");\n      });\n  }\n  return this;\n},\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) {\n  var e = function () {\n    var t = void 0;\n    Object.defineProperty(this, \"pdf\", {\n      get: function () {\n        return t;\n      },\n      set: function (e) {\n        t = e;\n      }\n    });\n    var e = 150;\n    Object.defineProperty(this, \"width\", {\n      get: function () {\n        return e;\n      },\n      set: function (t) {\n        e = isNaN(t) || !1 === Number.isInteger(t) || t < 0 ? 150 : t, this.getContext(\"2d\").pageWrapXEnabled && (this.getContext(\"2d\").pageWrapX = e + 1);\n      }\n    });\n    var r = 300;\n    Object.defineProperty(this, \"height\", {\n      get: function () {\n        return r;\n      },\n      set: function (t) {\n        r = isNaN(t) || !1 === Number.isInteger(t) || t < 0 ? 300 : t, this.getContext(\"2d\").pageWrapYEnabled && (this.getContext(\"2d\").pageWrapY = r + 1);\n      }\n    });\n    var n = [];\n    Object.defineProperty(this, \"childNodes\", {\n      get: function () {\n        return n;\n      },\n      set: function (t) {\n        n = t;\n      }\n    });\n    var i = {};\n    Object.defineProperty(this, \"style\", {\n      get: function () {\n        return i;\n      },\n      set: function (t) {\n        i = t;\n      }\n    }), Object.defineProperty(this, \"parentNode\", {});\n  };\n  e.prototype.getContext = function (t, e) {\n    var r;\n    if (\"2d\" !== (t = t || \"2d\")) return null;\n    for (r in e) this.pdf.context2d.hasOwnProperty(r) && (this.pdf.context2d[r] = e[r]);\n    return this.pdf.context2d._canvas = this, this.pdf.context2d;\n  }, e.prototype.toDataURL = function () {\n    throw new Error(\"toDataURL is not implemented.\");\n  }, t.events.push([\"initialized\", function () {\n    this.canvas = new e(), this.canvas.pdf = this;\n  }]);\n}(E.API), function (e) {\n  var r = {\n      left: 0,\n      top: 0,\n      bottom: 0,\n      right: 0\n    },\n    n = !1,\n    i = function () {\n      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));\n    },\n    a = function () {\n      this.internal.__cell__.lastCell = new o(), this.internal.__cell__.pages = 1;\n    },\n    o = function () {\n      var t = arguments[0];\n      Object.defineProperty(this, \"x\", {\n        enumerable: !0,\n        get: function () {\n          return t;\n        },\n        set: function (e) {\n          t = e;\n        }\n      });\n      var e = arguments[1];\n      Object.defineProperty(this, \"y\", {\n        enumerable: !0,\n        get: function () {\n          return e;\n        },\n        set: function (t) {\n          e = t;\n        }\n      });\n      var r = arguments[2];\n      Object.defineProperty(this, \"width\", {\n        enumerable: !0,\n        get: function () {\n          return r;\n        },\n        set: function (t) {\n          r = t;\n        }\n      });\n      var n = arguments[3];\n      Object.defineProperty(this, \"height\", {\n        enumerable: !0,\n        get: function () {\n          return n;\n        },\n        set: function (t) {\n          n = t;\n        }\n      });\n      var i = arguments[4];\n      Object.defineProperty(this, \"text\", {\n        enumerable: !0,\n        get: function () {\n          return i;\n        },\n        set: function (t) {\n          i = t;\n        }\n      });\n      var a = arguments[5];\n      Object.defineProperty(this, \"lineNumber\", {\n        enumerable: !0,\n        get: function () {\n          return a;\n        },\n        set: function (t) {\n          a = t;\n        }\n      });\n      var o = arguments[6];\n      return Object.defineProperty(this, \"align\", {\n        enumerable: !0,\n        get: function () {\n          return o;\n        },\n        set: function (t) {\n          o = t;\n        }\n      }), this;\n    };\n  o.prototype.clone = function () {\n    return new o(this.x, this.y, this.width, this.height, this.text, this.lineNumber, this.align);\n  }, o.prototype.toArray = function () {\n    return [this.x, this.y, this.width, this.height, this.text, this.lineNumber, this.align];\n  }, e.setHeaderFunction = function (t) {\n    return i.call(this), this.internal.__cell__.headerFunction = \"function\" == typeof t ? t : void 0, this;\n  }, e.getTextDimensions = function (t, e) {\n    i.call(this);\n    var r = (e = e || {}).fontSize || this.getFontSize(),\n      n = e.font || this.getFont(),\n      a = e.scaleFactor || this.internal.scaleFactor,\n      o = 0,\n      s = 0,\n      c = 0,\n      u = this;\n    if (!Array.isArray(t) && \"string\" != typeof t) {\n      if (\"number\" != typeof t) throw new Error(\"getTextDimensions expects text-parameter to be of type String or type Number or an Array of Strings.\");\n      t = String(t);\n    }\n    var h = e.maxWidth;\n    h > 0 ? \"string\" == typeof t ? t = this.splitTextToSize(t, h) : \"[object Array]\" === Object.prototype.toString.call(t) && (t = t.reduce(function (t, e) {\n      return t.concat(u.splitTextToSize(e, h));\n    }, [])) : t = Array.isArray(t) ? t : [t];\n    for (var l = 0; l < t.length; l++) o < (c = this.getStringUnitWidth(t[l], {\n      font: n\n    }) * r) && (o = c);\n    return 0 !== o && (s = t.length), {\n      w: o /= a,\n      h: Math.max((s * r * this.getLineHeightFactor() - r * (this.getLineHeightFactor() - 1)) / a, 0)\n    };\n  }, e.cellAddPage = function () {\n    i.call(this), this.addPage();\n    var t = this.internal.__cell__.margins || r;\n    return this.internal.__cell__.lastCell = new o(t.left, t.top, void 0, void 0), this.internal.__cell__.pages += 1, this;\n  };\n  var s = e.cell = function () {\n    var t;\n    t = arguments[0] instanceof o ? arguments[0] : new o(arguments[0], arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]), i.call(this);\n    var e = this.internal.__cell__.lastCell,\n      a = this.internal.__cell__.padding,\n      s = this.internal.__cell__.margins || r,\n      c = this.internal.__cell__.tableHeaderRow,\n      u = this.internal.__cell__.printHeaders;\n    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, u && c && (this.printHeaderRow(t.lineNumber, !0), t.y += c[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, {\n      align: \"right\",\n      baseline: \"top\"\n    }) : \"center\" === t.align ? this.text(t.text, t.x + t.width / 2, t.y + a, {\n      align: \"center\",\n      baseline: \"top\",\n      maxWidth: t.width - a - a\n    }) : this.text(t.text, t.x + a, t.y + a, {\n      align: \"left\",\n      baseline: \"top\",\n      maxWidth: t.width - a - a\n    })), this.internal.__cell__.lastCell = t, this;\n  };\n  e.table = function (e, n, u, h, l) {\n    if (i.call(this), !u) throw new Error(\"No data for PDF table.\");\n    var f,\n      d,\n      p,\n      g,\n      m = [],\n      v = [],\n      b = [],\n      y = {},\n      w = {},\n      N = [],\n      L = [],\n      A = (l = l || {}).autoSize || !1,\n      x = !1 !== l.printHeaders,\n      S = l.css && void 0 !== l.css[\"font-size\"] ? 16 * l.css[\"font-size\"] : l.fontSize || 12,\n      _ = l.margins || Object.assign({\n        width: this.getPageWidth()\n      }, r),\n      P = \"number\" == typeof l.padding ? l.padding : 3,\n      k = l.headerBackgroundColor || \"#c8c8c8\",\n      I = l.headerTextColor || \"#000\";\n    if (a.call(this), this.internal.__cell__.printHeaders = x, 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 = I, this.setFontSize(S), null == h) v = m = Object.keys(u[0]), b = m.map(function () {\n      return \"left\";\n    });else if (Array.isArray(h) && \"object\" === t(h[0])) for (m = h.map(function (t) {\n      return t.name;\n    }), v = h.map(function (t) {\n      return t.prompt || t.name || \"\";\n    }), b = h.map(function (t) {\n      return t.align || \"left\";\n    }), f = 0; f < h.length; f += 1) w[h[f].name] = h[f].width * (19.049976 / 25.4);else Array.isArray(h) && \"string\" == typeof h[0] && (v = m = h, b = m.map(function () {\n      return \"left\";\n    }));\n    if (A || Array.isArray(h) && \"string\" == typeof h[0]) for (f = 0; f < m.length; f += 1) {\n      for (y[g = m[f]] = u.map(function (t) {\n        return t[g];\n      }), this.setFont(void 0, \"bold\"), N.push(this.getTextDimensions(v[f], {\n        fontSize: this.internal.__cell__.table_font_size,\n        scaleFactor: this.internal.scaleFactor\n      }).w), d = y[g], this.setFont(void 0, \"normal\"), p = 0; p < d.length; p += 1) N.push(this.getTextDimensions(d[p], {\n        fontSize: this.internal.__cell__.table_font_size,\n        scaleFactor: this.internal.scaleFactor\n      }).w);\n      w[g] = Math.max.apply(null, N) + P + P, N = [];\n    }\n    if (x) {\n      var F = {};\n      for (f = 0; f < m.length; f += 1) F[m[f]] = {}, F[m[f]].text = v[f], F[m[f]].align = b[f];\n      var C = c.call(this, F, w);\n      L = m.map(function (t) {\n        return new o(e, n, w[t], C, F[t].text, void 0, F[t].align);\n      }), this.setTableHeaderRow(L), this.printHeaderRow(1, !1);\n    }\n    var j = h.reduce(function (t, e) {\n      return t[e.name] = e.align, t;\n    }, {});\n    for (f = 0; f < u.length; f += 1) {\n      \"rowStart\" in l && l.rowStart instanceof Function && l.rowStart({\n        row: f,\n        data: u[f]\n      }, this);\n      var O = c.call(this, u[f], w);\n      for (p = 0; p < m.length; p += 1) {\n        var B = u[f][m[p]];\n        \"cellStart\" in l && l.cellStart instanceof Function && l.cellStart({\n          row: f,\n          col: p,\n          data: B\n        }, this), s.call(this, new o(e, n, w[m[p]], O, B, f + 2, j[m[p]]));\n      }\n    }\n    return this.internal.__cell__.table_x = e, this.internal.__cell__.table_y = n, this;\n  };\n  var c = function (t, e) {\n    var r = this.internal.__cell__.padding,\n      n = this.internal.__cell__.table_font_size,\n      i = this.internal.scaleFactor;\n    return Object.keys(t).map(function (n) {\n      var i = t[n];\n      return this.splitTextToSize(i.hasOwnProperty(\"text\") ? i.text : i, e[n] - r - r);\n    }, this).map(function (t) {\n      return this.getLineHeightFactor() * t.length * n / i + r + r;\n    }, this).reduce(function (t, e) {\n      return Math.max(t, e);\n    }, 0);\n  };\n  e.setTableHeaderRow = function (t) {\n    i.call(this), this.internal.__cell__.tableHeaderRow = t;\n  }, e.printHeaderRow = function (t, e) {\n    if (i.call(this), !this.internal.__cell__.tableHeaderRow) throw new Error(\"Property tableHeaderRow does not exist.\");\n    var r;\n    if (n = !0, \"function\" == typeof this.internal.__cell__.headerFunction) {\n      var a = this.internal.__cell__.headerFunction(this, this.internal.__cell__.pages);\n      this.internal.__cell__.lastCell = new o(a[0], a[1], a[2], a[3], void 0, -1);\n    }\n    this.setFont(void 0, \"bold\");\n    for (var c = [], u = 0; u < this.internal.__cell__.tableHeaderRow.length; u += 1) {\n      r = this.internal.__cell__.tableHeaderRow[u].clone(), e && (r.y = this.internal.__cell__.margins.top || 0, c.push(r)), r.lineNumber = t;\n      var h = this.getTextColor();\n      this.setTextColor(this.internal.__cell__.headerTextColor), this.setFillColor(this.internal.__cell__.headerBackgroundColor), s.call(this, r), this.setTextColor(h);\n    }\n    c.length > 0 && this.setTableHeaderRow(c), this.setFont(void 0, \"normal\"), n = !1;\n  };\n}(E.API);\nvar Pt = {\n    italic: [\"italic\", \"oblique\", \"normal\"],\n    oblique: [\"oblique\", \"italic\", \"normal\"],\n    normal: [\"normal\", \"oblique\", \"italic\"]\n  },\n  kt = [\"ultra-condensed\", \"extra-condensed\", \"condensed\", \"semi-condensed\", \"normal\", \"semi-expanded\", \"expanded\", \"extra-expanded\", \"ultra-expanded\"],\n  It = _t(kt),\n  Ft = [100, 200, 300, 400, 500, 600, 700, 800, 900],\n  Ct = _t(Ft);\nfunction jt(t) {\n  var e = t.family.replace(/\"|'/g, \"\").toLowerCase(),\n    r = function (t) {\n      return Pt[t = t || \"normal\"] ? t : \"normal\";\n    }(t.style),\n    n = function (t) {\n      if (!t) return 400;\n      if (\"number\" == typeof t) return t >= 100 && t <= 900 && t % 100 == 0 ? t : 400;\n      if (/^\\d00$/.test(t)) return parseInt(t);\n      switch (t) {\n        case \"bold\":\n          return 700;\n        case \"normal\":\n        default:\n          return 400;\n      }\n    }(t.weight),\n    i = function (t) {\n      return \"number\" == typeof It[t = t || \"normal\"] ? t : \"normal\";\n    }(t.stretch);\n  return {\n    family: e,\n    style: r,\n    weight: n,\n    stretch: i,\n    src: t.src || [],\n    ref: t.ref || {\n      name: e,\n      style: [i, r, n].join(\" \")\n    }\n  };\n}\nfunction Ot(t, e, r, n) {\n  var i;\n  for (i = r; i >= 0 && i < e.length; i += n) if (t[e[i]]) return t[e[i]];\n  for (i = r; i >= 0 && i < e.length; i -= n) if (t[e[i]]) return t[e[i]];\n}\nvar Bt = {\n    \"sans-serif\": \"helvetica\",\n    fixed: \"courier\",\n    monospace: \"courier\",\n    terminal: \"courier\",\n    cursive: \"times\",\n    fantasy: \"times\",\n    serif: \"times\"\n  },\n  Mt = {\n    caption: \"times\",\n    icon: \"times\",\n    menu: \"times\",\n    \"message-box\": \"times\",\n    \"small-caption\": \"times\",\n    \"status-bar\": \"times\"\n  };\nfunction Et(t) {\n  return [t.stretch, t.style, t.weight, t.family].join(\" \");\n}\nfunction qt(t, e, r) {\n  for (var n = (r = r || {}).defaultFontFamily || \"times\", i = Object.assign({}, Bt, r.genericFontFamilies || {}), a = null, o = null, s = 0; s < e.length; ++s) if (i[(a = jt(e[s])).family] && (a.family = i[a.family]), t.hasOwnProperty(a.family)) {\n    o = t[a.family];\n    break;\n  }\n  if (!(o = o || t[n])) throw new Error(\"Could not find a font-family for the rule '\" + Et(a) + \"' and default family '\" + n + \"'.\");\n  if (o = function (t, e) {\n    if (e[t]) return e[t];\n    var r = It[t],\n      n = r <= It.normal ? -1 : 1,\n      i = Ot(e, kt, r, n);\n    if (!i) throw new Error(\"Could not find a matching font-stretch value for \" + t);\n    return i;\n  }(a.stretch, o), o = function (t, e) {\n    if (e[t]) return e[t];\n    for (var r = Pt[t], n = 0; n < r.length; ++n) if (e[r[n]]) return e[r[n]];\n    throw new Error(\"Could not find a matching font-style for \" + t);\n  }(a.style, o), !(o = function (t, e) {\n    if (e[t]) return e[t];\n    if (400 === t && e[500]) return e[500];\n    if (500 === t && e[400]) return e[400];\n    var r = Ct[t],\n      n = Ot(e, Ft, r, t < 400 ? -1 : 1);\n    if (!n) throw new Error(\"Could not find a matching font-weight for value \" + t);\n    return n;\n  }(a.weight, o))) throw new Error(\"Failed to resolve a font for the rule '\" + Et(a) + \"'.\");\n  return o;\n}\nfunction Dt(t) {\n  return t.trimLeft();\n}\nfunction Rt(t, e) {\n  for (var r = 0; r < t.length;) {\n    if (t.charAt(r) === e) return [t.substring(0, r), t.substring(r + 1)];\n    r += 1;\n  }\n  return null;\n}\nfunction Tt(t) {\n  var e = t.match(/^(-[a-z_]|[a-z_])[a-z0-9_-]*/i);\n  return null === e ? null : [e[0], t.substring(e[0].length)];\n}\nvar Ut,\n  zt,\n  Ht,\n  Wt = [\"times\"];\n!function (e) {\n  var r,\n    n,\n    i,\n    o,\n    s,\n    c,\n    u,\n    h,\n    l,\n    d = function (t) {\n      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 h(), this.globalCompositeOperation = t.globalCompositeOperation || \"normal\", this.globalAlpha = t.globalAlpha || 1, this.clip_path = t.clip_path || [], this.currentPoint = t.currentPoint || new c(), this.miterLimit = t.miterLimit || 10, this.lastPoint = t.lastPoint || new c(), 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;\n    };\n  e.events.push([\"initialized\", function () {\n    this.context2d = new p(this), r = this.internal.f2, n = this.internal.getCoordinateString, i = this.internal.getVerticalCoordinateString, o = this.internal.getHorizontalCoordinate, s = this.internal.getVerticalCoordinate, c = this.internal.Point, u = this.internal.Rectangle, h = this.internal.Matrix, l = new d();\n  }]);\n  var p = function (t) {\n    Object.defineProperty(this, \"canvas\", {\n      get: function () {\n        return {\n          parentNode: !1,\n          style: !1\n        };\n      }\n    });\n    var e = t;\n    Object.defineProperty(this, \"pdf\", {\n      get: function () {\n        return e;\n      }\n    });\n    var r = !1;\n    Object.defineProperty(this, \"pageWrapXEnabled\", {\n      get: function () {\n        return r;\n      },\n      set: function (t) {\n        r = Boolean(t);\n      }\n    });\n    var n = !1;\n    Object.defineProperty(this, \"pageWrapYEnabled\", {\n      get: function () {\n        return n;\n      },\n      set: function (t) {\n        n = Boolean(t);\n      }\n    });\n    var i = 0;\n    Object.defineProperty(this, \"posX\", {\n      get: function () {\n        return i;\n      },\n      set: function (t) {\n        isNaN(t) || (i = t);\n      }\n    });\n    var a = 0;\n    Object.defineProperty(this, \"posY\", {\n      get: function () {\n        return a;\n      },\n      set: function (t) {\n        isNaN(t) || (a = t);\n      }\n    }), Object.defineProperty(this, \"margin\", {\n      get: function () {\n        return l.margin;\n      },\n      set: function (t) {\n        var e;\n        \"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]), l.margin = e;\n      }\n    });\n    var o = !1;\n    Object.defineProperty(this, \"autoPaging\", {\n      get: function () {\n        return o;\n      },\n      set: function (t) {\n        o = t;\n      }\n    });\n    var s = 0;\n    Object.defineProperty(this, \"lastBreak\", {\n      get: function () {\n        return s;\n      },\n      set: function (t) {\n        s = t;\n      }\n    });\n    var c = [];\n    Object.defineProperty(this, \"pageBreaks\", {\n      get: function () {\n        return c;\n      },\n      set: function (t) {\n        c = t;\n      }\n    }), Object.defineProperty(this, \"ctx\", {\n      get: function () {\n        return l;\n      },\n      set: function (t) {\n        t instanceof d && (l = t);\n      }\n    }), Object.defineProperty(this, \"path\", {\n      get: function () {\n        return l.path;\n      },\n      set: function (t) {\n        l.path = t;\n      }\n    });\n    var u = [];\n    Object.defineProperty(this, \"ctxStack\", {\n      get: function () {\n        return u;\n      },\n      set: function (t) {\n        u = t;\n      }\n    }), Object.defineProperty(this, \"fillStyle\", {\n      get: function () {\n        return this.ctx.fillStyle;\n      },\n      set: function (t) {\n        var e;\n        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, {\n          a: e.a\n        }), this.pdf.setTextColor(e.r, e.g, e.b, {\n          a: e.a\n        });\n      }\n    }), Object.defineProperty(this, \"strokeStyle\", {\n      get: function () {\n        return this.ctx.strokeStyle;\n      },\n      set: function (t) {\n        var e = g(t);\n        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));\n      }\n    }), Object.defineProperty(this, \"lineCap\", {\n      get: function () {\n        return this.ctx.lineCap;\n      },\n      set: function (t) {\n        -1 !== [\"butt\", \"round\", \"square\"].indexOf(t) && (this.ctx.lineCap = t, this.pdf.setLineCap(t));\n      }\n    }), Object.defineProperty(this, \"lineWidth\", {\n      get: function () {\n        return this.ctx.lineWidth;\n      },\n      set: function (t) {\n        isNaN(t) || (this.ctx.lineWidth = t, this.pdf.setLineWidth(t));\n      }\n    }), Object.defineProperty(this, \"lineJoin\", {\n      get: function () {\n        return this.ctx.lineJoin;\n      },\n      set: function (t) {\n        -1 !== [\"bevel\", \"round\", \"miter\"].indexOf(t) && (this.ctx.lineJoin = t, this.pdf.setLineJoin(t));\n      }\n    }), Object.defineProperty(this, \"miterLimit\", {\n      get: function () {\n        return this.ctx.miterLimit;\n      },\n      set: function (t) {\n        isNaN(t) || (this.ctx.miterLimit = t, this.pdf.setMiterLimit(t));\n      }\n    }), Object.defineProperty(this, \"textBaseline\", {\n      get: function () {\n        return this.ctx.textBaseline;\n      },\n      set: function (t) {\n        this.ctx.textBaseline = t;\n      }\n    }), Object.defineProperty(this, \"textAlign\", {\n      get: function () {\n        return this.ctx.textAlign;\n      },\n      set: function (t) {\n        -1 !== [\"right\", \"end\", \"center\", \"left\", \"start\"].indexOf(t) && (this.ctx.textAlign = t);\n      }\n    });\n    var h = null;\n    function f(t, e) {\n      if (null === h) {\n        var r = function (t) {\n          var e = [];\n          return Object.keys(t).forEach(function (r) {\n            t[r].forEach(function (t) {\n              var n = null;\n              switch (t) {\n                case \"bold\":\n                  n = {\n                    family: r,\n                    weight: \"bold\"\n                  };\n                  break;\n                case \"italic\":\n                  n = {\n                    family: r,\n                    style: \"italic\"\n                  };\n                  break;\n                case \"bolditalic\":\n                  n = {\n                    family: r,\n                    weight: \"bold\",\n                    style: \"italic\"\n                  };\n                  break;\n                case \"\":\n                case \"normal\":\n                  n = {\n                    family: r\n                  };\n              }\n              null !== n && (n.ref = {\n                name: r,\n                style: t\n              }, e.push(n));\n            });\n          }), e;\n        }(t.getFontList());\n        h = function (t) {\n          for (var e = {}, r = 0; r < t.length; ++r) {\n            var n = jt(t[r]),\n              i = n.family,\n              a = n.stretch,\n              o = n.style,\n              s = n.weight;\n            e[i] = e[i] || {}, e[i][a] = e[i][a] || {}, e[i][a][o] = e[i][a][o] || {}, e[i][a][o][s] = n;\n          }\n          return e;\n        }(r.concat(e));\n      }\n      return h;\n    }\n    var p = null;\n    Object.defineProperty(this, \"fontFaces\", {\n      get: function () {\n        return p;\n      },\n      set: function (t) {\n        h = null, p = t;\n      }\n    }), Object.defineProperty(this, \"font\", {\n      get: function () {\n        return this.ctx.font;\n      },\n      set: function (t) {\n        var e;\n        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-z]+?)\\s*$/i.exec(t))) {\n          var r = e[1];\n          e[2];\n          var n = e[3],\n            i = e[4];\n          e[5];\n          var a = e[6],\n            o = /^([.\\d]+)((?:%|in|[cem]m|ex|p[ctx]))$/i.exec(i)[2];\n          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);\n          var s = function (t) {\n            var e,\n              r,\n              n = [],\n              i = t.trim();\n            if (\"\" === i) return Wt;\n            if (i in Mt) return [Mt[i]];\n            for (; \"\" !== i;) {\n              switch (r = null, e = (i = Dt(i)).charAt(0)) {\n                case '\"':\n                case \"'\":\n                  r = Rt(i.substring(1), e);\n                  break;\n                default:\n                  r = Tt(i);\n              }\n              if (null === r) return Wt;\n              if (n.push(r[0]), \"\" !== (i = Dt(r[1])) && \",\" !== i.charAt(0)) return Wt;\n              i = i.replace(/^,/, \"\");\n            }\n            return n;\n          }(a);\n          if (this.fontFaces) {\n            var c = qt(f(this.pdf, this.fontFaces), s.map(function (t) {\n              return {\n                family: t,\n                stretch: \"normal\",\n                weight: n,\n                style: r\n              };\n            }));\n            this.pdf.setFont(c.ref.name, c.ref.style);\n          } else {\n            var u = \"\";\n            (\"bold\" === n || parseInt(n, 10) >= 700 || \"bold\" === r) && (u = \"bold\"), \"italic\" === r && (u += \"italic\"), 0 === u.length && (u = \"normal\");\n            for (var h = \"\", l = {\n                arial: \"Helvetica\",\n                Arial: \"Helvetica\",\n                verdana: \"Helvetica\",\n                Verdana: \"Helvetica\",\n                helvetica: \"Helvetica\",\n                Helvetica: \"Helvetica\",\n                \"sans-serif\": \"Helvetica\",\n                fixed: \"Courier\",\n                monospace: \"Courier\",\n                terminal: \"Courier\",\n                cursive: \"Times\",\n                fantasy: \"Times\",\n                serif: \"Times\"\n              }, d = 0; d < s.length; d++) {\n              if (void 0 !== this.pdf.internal.getFont(s[d], u, {\n                noFallback: !0,\n                disableWarning: !0\n              })) {\n                h = s[d];\n                break;\n              }\n              if (\"bolditalic\" === u && void 0 !== this.pdf.internal.getFont(s[d], \"bold\", {\n                noFallback: !0,\n                disableWarning: !0\n              })) h = s[d], u = \"bold\";else if (void 0 !== this.pdf.internal.getFont(s[d], \"normal\", {\n                noFallback: !0,\n                disableWarning: !0\n              })) {\n                h = s[d], u = \"normal\";\n                break;\n              }\n            }\n            if (\"\" === h) for (var p = 0; p < s.length; p++) if (l[s[p]]) {\n              h = l[s[p]];\n              break;\n            }\n            h = \"\" === h ? \"Times\" : h, this.pdf.setFont(h, u);\n          }\n        }\n      }\n    }), Object.defineProperty(this, \"globalCompositeOperation\", {\n      get: function () {\n        return this.ctx.globalCompositeOperation;\n      },\n      set: function (t) {\n        this.ctx.globalCompositeOperation = t;\n      }\n    }), Object.defineProperty(this, \"globalAlpha\", {\n      get: function () {\n        return this.ctx.globalAlpha;\n      },\n      set: function (t) {\n        this.ctx.globalAlpha = t;\n      }\n    }), Object.defineProperty(this, \"lineDashOffset\", {\n      get: function () {\n        return this.ctx.lineDashOffset;\n      },\n      set: function (t) {\n        this.ctx.lineDashOffset = t, T.call(this);\n      }\n    }), Object.defineProperty(this, \"lineDash\", {\n      get: function () {\n        return this.ctx.lineDash;\n      },\n      set: function (t) {\n        this.ctx.lineDash = t, T.call(this);\n      }\n    }), Object.defineProperty(this, \"ignoreClearRect\", {\n      get: function () {\n        return this.ctx.ignoreClearRect;\n      },\n      set: function (t) {\n        this.ctx.ignoreClearRect = Boolean(t);\n      }\n    });\n  };\n  p.prototype.setLineDash = function (t) {\n    this.lineDash = t;\n  }, p.prototype.getLineDash = function () {\n    return this.lineDash.length % 2 ? this.lineDash.concat(this.lineDash) : this.lineDash.slice();\n  }, p.prototype.fill = function () {\n    A.call(this, \"fill\", !1);\n  }, p.prototype.stroke = function () {\n    A.call(this, \"stroke\", !1);\n  }, p.prototype.beginPath = function () {\n    this.path = [{\n      type: \"begin\"\n    }];\n  }, p.prototype.moveTo = function (t, e) {\n    if (isNaN(t) || isNaN(e)) throw a.error(\"jsPDF.context2d.moveTo: Invalid arguments\", arguments), new Error(\"Invalid arguments passed to jsPDF.context2d.moveTo\");\n    var r = this.ctx.transform.applyToPoint(new c(t, e));\n    this.path.push({\n      type: \"mt\",\n      x: r.x,\n      y: r.y\n    }), this.ctx.lastPoint = new c(t, e);\n  }, p.prototype.closePath = function () {\n    var e = new c(0, 0),\n      r = 0;\n    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) {\n      e = new c(this.path[r + 1].x, this.path[r + 1].y);\n      break;\n    }\n    this.path.push({\n      type: \"close\"\n    }), this.ctx.lastPoint = new c(e.x, e.y);\n  }, p.prototype.lineTo = function (t, e) {\n    if (isNaN(t) || isNaN(e)) throw a.error(\"jsPDF.context2d.lineTo: Invalid arguments\", arguments), new Error(\"Invalid arguments passed to jsPDF.context2d.lineTo\");\n    var r = this.ctx.transform.applyToPoint(new c(t, e));\n    this.path.push({\n      type: \"lt\",\n      x: r.x,\n      y: r.y\n    }), this.ctx.lastPoint = new c(r.x, r.y);\n  }, p.prototype.clip = function () {\n    this.ctx.clip_path = JSON.parse(JSON.stringify(this.path)), A.call(this, null, !0);\n  }, p.prototype.quadraticCurveTo = function (t, e, r, n) {\n    if (isNaN(r) || isNaN(n) || isNaN(t) || isNaN(e)) throw a.error(\"jsPDF.context2d.quadraticCurveTo: Invalid arguments\", arguments), new Error(\"Invalid arguments passed to jsPDF.context2d.quadraticCurveTo\");\n    var i = this.ctx.transform.applyToPoint(new c(r, n)),\n      o = this.ctx.transform.applyToPoint(new c(t, e));\n    this.path.push({\n      type: \"qct\",\n      x1: o.x,\n      y1: o.y,\n      x: i.x,\n      y: i.y\n    }), this.ctx.lastPoint = new c(i.x, i.y);\n  }, p.prototype.bezierCurveTo = function (t, e, r, n, i, o) {\n    if (isNaN(i) || isNaN(o) || isNaN(t) || isNaN(e) || isNaN(r) || isNaN(n)) throw a.error(\"jsPDF.context2d.bezierCurveTo: Invalid arguments\", arguments), new Error(\"Invalid arguments passed to jsPDF.context2d.bezierCurveTo\");\n    var s = this.ctx.transform.applyToPoint(new c(i, o)),\n      u = this.ctx.transform.applyToPoint(new c(t, e)),\n      h = this.ctx.transform.applyToPoint(new c(r, n));\n    this.path.push({\n      type: \"bct\",\n      x1: u.x,\n      y1: u.y,\n      x2: h.x,\n      y2: h.y,\n      x: s.x,\n      y: s.y\n    }), this.ctx.lastPoint = new c(s.x, s.y);\n  }, p.prototype.arc = function (t, e, r, n, i, o) {\n    if (isNaN(t) || isNaN(e) || isNaN(r) || isNaN(n) || isNaN(i)) throw a.error(\"jsPDF.context2d.arc: Invalid arguments\", arguments), new Error(\"Invalid arguments passed to jsPDF.context2d.arc\");\n    if (o = Boolean(o), !this.ctx.transform.isIdentity) {\n      var s = this.ctx.transform.applyToPoint(new c(t, e));\n      t = s.x, e = s.y;\n      var u = this.ctx.transform.applyToPoint(new c(0, r)),\n        h = this.ctx.transform.applyToPoint(new c(0, 0));\n      r = Math.sqrt(Math.pow(u.x - h.x, 2) + Math.pow(u.y - h.y, 2));\n    }\n    Math.abs(i - n) >= 2 * Math.PI && (n = 0, i = 2 * Math.PI), this.path.push({\n      type: \"arc\",\n      x: t,\n      y: e,\n      radius: r,\n      startAngle: n,\n      endAngle: i,\n      counterclockwise: o\n    });\n  }, p.prototype.arcTo = function (t, e, r, n, i) {\n    throw new Error(\"arcTo not implemented.\");\n  }, p.prototype.rect = function (t, e, r, n) {\n    if (isNaN(t) || isNaN(e) || isNaN(r) || isNaN(n)) throw a.error(\"jsPDF.context2d.rect: Invalid arguments\", arguments), new Error(\"Invalid arguments passed to jsPDF.context2d.rect\");\n    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);\n  }, p.prototype.fillRect = function (t, e, r, n) {\n    if (isNaN(t) || isNaN(e) || isNaN(r) || isNaN(n)) throw a.error(\"jsPDF.context2d.fillRect: Invalid arguments\", arguments), new Error(\"Invalid arguments passed to jsPDF.context2d.fillRect\");\n    if (!m.call(this)) {\n      var i = {};\n      \"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);\n    }\n  }, p.prototype.strokeRect = function (t, e, r, n) {\n    if (isNaN(t) || isNaN(e) || isNaN(r) || isNaN(n)) throw a.error(\"jsPDF.context2d.strokeRect: Invalid arguments\", arguments), new Error(\"Invalid arguments passed to jsPDF.context2d.strokeRect\");\n    v.call(this) || (this.beginPath(), this.rect(t, e, r, n), this.stroke());\n  }, p.prototype.clearRect = function (t, e, r, n) {\n    if (isNaN(t) || isNaN(e) || isNaN(r) || isNaN(n)) throw a.error(\"jsPDF.context2d.clearRect: Invalid arguments\", arguments), new Error(\"Invalid arguments passed to jsPDF.context2d.clearRect\");\n    this.ignoreClearRect || (this.fillStyle = \"#ffffff\", this.fillRect(t, e, r, n));\n  }, p.prototype.save = function (t) {\n    t = \"boolean\" != typeof t || t;\n    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\");\n    if (this.pdf.setPage(e), t) {\n      this.ctx.fontSize = this.pdf.internal.getFontSize();\n      var n = new d(this.ctx);\n      this.ctxStack.push(this.ctx), this.ctx = n;\n    }\n  }, p.prototype.restore = function (t) {\n    t = \"boolean\" != typeof t || t;\n    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\");\n    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);\n  }, p.prototype.toDataURL = function () {\n    throw new Error(\"toDataUrl not implemented.\");\n  };\n  var g = function (t) {\n      var e, r, n, i;\n      if (!0 === t.isCanvasGradient && (t = t.getColor()), !t) return {\n        r: 0,\n        g: 0,\n        b: 0,\n        a: 0,\n        style: t\n      };\n      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 {\n        var a = /rgb\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\)/.exec(t);\n        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 {\n          if (i = 1, \"string\" == typeof t && \"#\" !== t.charAt(0)) {\n            var o = new f(t);\n            t = o.ok ? o.toHex() : \"#000000\";\n          }\n          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);\n        }\n      }\n      return {\n        r: e,\n        g: r,\n        b: n,\n        a: i,\n        style: t\n      };\n    },\n    m = function () {\n      return this.ctx.isFillTransparent || 0 == this.globalAlpha;\n    },\n    v = function () {\n      return Boolean(this.ctx.isStrokeTransparent || 0 == this.globalAlpha);\n    };\n  p.prototype.fillText = function (t, e, r, n) {\n    if (isNaN(e) || isNaN(r) || \"string\" != typeof t) throw a.error(\"jsPDF.context2d.fillText: Invalid arguments\", arguments), new Error(\"Invalid arguments passed to jsPDF.context2d.fillText\");\n    if (n = isNaN(n) ? void 0 : n, !m.call(this)) {\n      var i = q(this.ctx.transform.rotation),\n        o = this.ctx.transform.scaleX;\n      C.call(this, {\n        text: t,\n        x: e,\n        y: r,\n        scale: o,\n        angle: i,\n        align: this.textAlign,\n        maxWidth: n\n      });\n    }\n  }, p.prototype.strokeText = function (t, e, r, n) {\n    if (isNaN(e) || isNaN(r) || \"string\" != typeof t) throw a.error(\"jsPDF.context2d.strokeText: Invalid arguments\", arguments), new Error(\"Invalid arguments passed to jsPDF.context2d.strokeText\");\n    if (!v.call(this)) {\n      n = isNaN(n) ? void 0 : n;\n      var i = q(this.ctx.transform.rotation),\n        o = this.ctx.transform.scaleX;\n      C.call(this, {\n        text: t,\n        x: e,\n        y: r,\n        scale: o,\n        renderingMode: \"stroke\",\n        angle: i,\n        align: this.textAlign,\n        maxWidth: n\n      });\n    }\n  }, p.prototype.measureText = function (t) {\n    if (\"string\" != typeof t) throw a.error(\"jsPDF.context2d.measureText: Invalid arguments\", arguments), new Error(\"Invalid arguments passed to jsPDF.context2d.measureText\");\n    var e = this.pdf,\n      r = this.pdf.internal.scaleFactor,\n      n = e.internal.getFontSize(),\n      i = e.getStringUnitWidth(t) * n / e.internal.scaleFactor,\n      o = function (t) {\n        var e = (t = t || {}).width || 0;\n        return Object.defineProperty(this, \"width\", {\n          get: function () {\n            return e;\n          }\n        }), this;\n      };\n    return new o({\n      width: i *= Math.round(96 * r / 72 * 1e4) / 1e4\n    });\n  }, p.prototype.scale = function (t, e) {\n    if (isNaN(t) || isNaN(e)) throw a.error(\"jsPDF.context2d.scale: Invalid arguments\", arguments), new Error(\"Invalid arguments passed to jsPDF.context2d.scale\");\n    var r = new h(t, 0, 0, e, 0, 0);\n    this.ctx.transform = this.ctx.transform.multiply(r);\n  }, p.prototype.rotate = function (t) {\n    if (isNaN(t)) throw a.error(\"jsPDF.context2d.rotate: Invalid arguments\", arguments), new Error(\"Invalid arguments passed to jsPDF.context2d.rotate\");\n    var e = new h(Math.cos(t), Math.sin(t), -Math.sin(t), Math.cos(t), 0, 0);\n    this.ctx.transform = this.ctx.transform.multiply(e);\n  }, p.prototype.translate = function (t, e) {\n    if (isNaN(t) || isNaN(e)) throw a.error(\"jsPDF.context2d.translate: Invalid arguments\", arguments), new Error(\"Invalid arguments passed to jsPDF.context2d.translate\");\n    var r = new h(1, 0, 0, 1, t, e);\n    this.ctx.transform = this.ctx.transform.multiply(r);\n  }, p.prototype.transform = function (t, e, r, n, i, o) {\n    if (isNaN(t) || isNaN(e) || isNaN(r) || isNaN(n) || isNaN(i) || isNaN(o)) throw a.error(\"jsPDF.context2d.transform: Invalid arguments\", arguments), new Error(\"Invalid arguments passed to jsPDF.context2d.transform\");\n    var s = new h(t, e, r, n, i, o);\n    this.ctx.transform = this.ctx.transform.multiply(s);\n  }, p.prototype.setTransform = function (t, e, r, n, i, a) {\n    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 h(t, e, r, n, i, a);\n  };\n  var b = function () {\n    return this.margin[0] > 0 || this.margin[1] > 0 || this.margin[2] > 0 || this.margin[3] > 0;\n  };\n  p.prototype.drawImage = function (t, e, r, n, i, a, o, s, c) {\n    var l = this.pdf.getImageProperties(t),\n      f = 1,\n      d = 1,\n      p = 1,\n      g = 1;\n    void 0 !== n && void 0 !== s && (p = s / n, g = c / i, f = l.width / n * s / n, d = l.height / i * c / i), void 0 === a && (a = e, o = r, e = 0, r = 0), void 0 !== n && void 0 === s && (s = n, c = i), void 0 === n && void 0 === s && (s = l.width, c = l.height);\n    for (var m, v = this.ctx.transform.decompose(), w = q(v.rotate.shx), A = new h(), S = (A = (A = (A = A.multiply(v.translate)).multiply(v.skew)).multiply(v.scale)).applyToRectangle(new u(a - e * p, o - r * g, n * f, i * d)), _ = y.call(this, S), P = [], k = 0; k < _.length; k += 1) -1 === P.indexOf(_[k]) && P.push(_[k]);\n    if (L(P), this.autoPaging) for (var I = P[0], F = P[P.length - 1], C = I; C < F + 1; C++) {\n      this.pdf.setPage(C);\n      var j = this.pdf.internal.pageSize.width - this.margin[3] - this.margin[1],\n        O = 1 === C ? this.posY + this.margin[0] : this.margin[0],\n        B = this.pdf.internal.pageSize.height - this.posY - this.margin[0] - this.margin[2],\n        M = this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2],\n        E = 1 === C ? 0 : B + (C - 2) * M;\n      if (0 !== this.ctx.clip_path.length) {\n        var D = this.path;\n        m = JSON.parse(JSON.stringify(this.ctx.clip_path)), this.path = N(m, this.posX + this.margin[3], -E + O + this.ctx.prevPageLastElemOffset), x.call(this, \"fill\", !0), this.path = D;\n      }\n      var R = JSON.parse(JSON.stringify(S));\n      R = N([R], this.posX + this.margin[3], -E + O + this.ctx.prevPageLastElemOffset)[0];\n      var T = (C > I || C < F) && b.call(this);\n      T && (this.pdf.saveGraphicsState(), this.pdf.rect(this.margin[3], this.margin[0], j, M, null).clip().discardPath()), this.pdf.addImage(t, \"JPEG\", R.x, R.y, R.w, R.h, null, null, w), T && this.pdf.restoreGraphicsState();\n    } else this.pdf.addImage(t, \"JPEG\", S.x, S.y, S.w, S.h, null, null, w);\n  };\n  var y = function (t, e, r) {\n      var n = [];\n      e = e || this.pdf.internal.pageSize.width, r = r || this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\n      var i = this.posY + this.ctx.prevPageLastElemOffset;\n      switch (t.type) {\n        default:\n        case \"mt\":\n        case \"lt\":\n          n.push(Math.floor((t.y + i) / r) + 1);\n          break;\n        case \"arc\":\n          n.push(Math.floor((t.y + i - t.radius) / r) + 1), n.push(Math.floor((t.y + i + t.radius) / r) + 1);\n          break;\n        case \"qct\":\n          var a = D(this.ctx.lastPoint.x, this.ctx.lastPoint.y, t.x1, t.y1, t.x, t.y);\n          n.push(Math.floor((a.y + i) / r) + 1), n.push(Math.floor((a.y + a.h + i) / r) + 1);\n          break;\n        case \"bct\":\n          var o = R(this.ctx.lastPoint.x, this.ctx.lastPoint.y, t.x1, t.y1, t.x2, t.y2, t.x, t.y);\n          n.push(Math.floor((o.y + i) / r) + 1), n.push(Math.floor((o.y + o.h + i) / r) + 1);\n          break;\n        case \"rect\":\n          n.push(Math.floor((t.y + i) / r) + 1), n.push(Math.floor((t.y + t.h + i) / r) + 1);\n      }\n      for (var s = 0; s < n.length; s += 1) for (; this.pdf.internal.getNumberOfPages() < n[s];) w.call(this);\n      return n;\n    },\n    w = function () {\n      var t = this.fillStyle,\n        e = this.strokeStyle,\n        r = this.font,\n        n = this.lineCap,\n        i = this.lineWidth,\n        a = this.lineJoin;\n      this.pdf.addPage(), this.fillStyle = t, this.strokeStyle = e, this.font = r, this.lineCap = n, this.lineWidth = i, this.lineJoin = a;\n    },\n    N = function (t, e, r) {\n      for (var n = 0; n < t.length; n++) switch (t[n].type) {\n        case \"bct\":\n          t[n].x2 += e, t[n].y2 += r;\n        case \"qct\":\n          t[n].x1 += e, t[n].y1 += r;\n        case \"mt\":\n        case \"lt\":\n        case \"arc\":\n        default:\n          t[n].x += e, t[n].y += r;\n      }\n      return t;\n    },\n    L = function (t) {\n      return t.sort(function (t, e) {\n        return t - e;\n      });\n    },\n    A = function (t, e) {\n      for (var r, n, i = this.fillStyle, a = this.strokeStyle, o = this.lineCap, s = this.lineWidth, c = Math.abs(s * this.ctx.transform.scaleX), u = this.lineJoin, h = JSON.parse(JSON.stringify(this.path)), l = JSON.parse(JSON.stringify(this.path)), f = [], d = 0; d < l.length; d++) if (void 0 !== l[d].x) for (var p = y.call(this, l[d]), g = 0; g < p.length; g += 1) -1 === f.indexOf(p[g]) && f.push(p[g]);\n      for (var m = 0; m < f.length; m++) for (; this.pdf.internal.getNumberOfPages() < f[m];) w.call(this);\n      if (L(f), this.autoPaging) for (var v = f[0], A = f[f.length - 1], S = v; S < A + 1; S++) {\n        this.pdf.setPage(S), this.fillStyle = i, this.strokeStyle = a, this.lineCap = o, this.lineWidth = c, this.lineJoin = u;\n        var _ = this.pdf.internal.pageSize.width - this.margin[3] - this.margin[1],\n          P = 1 === S ? this.posY + this.margin[0] : this.margin[0],\n          k = this.pdf.internal.pageSize.height - this.posY - this.margin[0] - this.margin[2],\n          I = this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2],\n          F = 1 === S ? 0 : k + (S - 2) * I;\n        if (0 !== this.ctx.clip_path.length) {\n          var C = this.path;\n          r = JSON.parse(JSON.stringify(this.ctx.clip_path)), this.path = N(r, this.posX + this.margin[3], -F + P + this.ctx.prevPageLastElemOffset), x.call(this, t, !0), this.path = C;\n        }\n        if (n = JSON.parse(JSON.stringify(h)), this.path = N(n, this.posX + this.margin[3], -F + P + this.ctx.prevPageLastElemOffset), !1 === e || 0 === S) {\n          var j = (S > v || S < A) && b.call(this);\n          j && (this.pdf.saveGraphicsState(), this.pdf.rect(this.margin[3], this.margin[0], _, I, null).clip().discardPath()), x.call(this, t, e), j && this.pdf.restoreGraphicsState();\n        }\n        this.lineWidth = s;\n      } else this.lineWidth = c, x.call(this, t, e), this.lineWidth = s;\n      this.path = h;\n    },\n    x = function (t, e) {\n      if ((\"stroke\" !== t || e || !v.call(this)) && (\"stroke\" === t || e || !m.call(this))) {\n        for (var r, n, i = [], a = this.path, o = 0; o < a.length; o++) {\n          var s = a[o];\n          switch (s.type) {\n            case \"begin\":\n              i.push({\n                begin: !0\n              });\n              break;\n            case \"close\":\n              i.push({\n                close: !0\n              });\n              break;\n            case \"mt\":\n              i.push({\n                start: s,\n                deltas: [],\n                abs: []\n              });\n              break;\n            case \"lt\":\n              var c = i.length;\n              if (a[o - 1] && !isNaN(a[o - 1].x) && (r = [s.x - a[o - 1].x, s.y - a[o - 1].y], c > 0)) for (; c >= 0; c--) if (!0 !== i[c - 1].close && !0 !== i[c - 1].begin) {\n                i[c - 1].deltas.push(r), i[c - 1].abs.push(s);\n                break;\n              }\n              break;\n            case \"bct\":\n              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);\n              break;\n            case \"qct\":\n              var u = a[o - 1].x + 2 / 3 * (s.x1 - a[o - 1].x),\n                h = a[o - 1].y + 2 / 3 * (s.y1 - a[o - 1].y),\n                l = s.x + 2 / 3 * (s.x1 - s.x),\n                f = s.y + 2 / 3 * (s.y1 - s.y),\n                d = s.x,\n                p = s.y;\n              r = [u - a[o - 1].x, h - a[o - 1].y, l - 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);\n              break;\n            case \"arc\":\n              i.push({\n                deltas: [],\n                abs: [],\n                arc: !0\n              }), Array.isArray(i[i.length - 1].abs) && i[i.length - 1].abs.push(s);\n          }\n        }\n        n = e ? null : \"stroke\" === t ? \"stroke\" : \"fill\";\n        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++) {\n          var N = y[w];\n          \"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;\n        } else if (!0 === i[b].close) this.pdf.internal.out(\"h\"), g = !1;else if (!0 !== i[b].begin) {\n          var L = i[b].start.x,\n            A = i[b].start.y;\n          O.call(this, i[b].deltas, L, A), g = !0;\n        }\n        n && k.call(this, n), e && I.call(this);\n      }\n    },\n    S = function (t) {\n      var e = this.pdf.internal.getFontSize() / this.pdf.internal.scaleFactor,\n        r = e * (this.pdf.internal.getLineHeightFactor() - 1);\n      switch (this.ctx.textBaseline) {\n        case \"bottom\":\n          return t - r;\n        case \"top\":\n          return t + e - r;\n        case \"hanging\":\n          return t + e - 2 * r;\n        case \"middle\":\n          return t + e / 2 - r;\n        case \"ideographic\":\n          return t;\n        case \"alphabetic\":\n        default:\n          return t;\n      }\n    },\n    _ = function (t) {\n      return t + this.pdf.internal.getFontSize() / this.pdf.internal.scaleFactor * (this.pdf.internal.getLineHeightFactor() - 1);\n    };\n  p.prototype.createLinearGradient = function () {\n    var t = function () {};\n    return t.colorStops = [], t.addColorStop = function (t, e) {\n      this.colorStops.push([t, e]);\n    }, t.getColor = function () {\n      return 0 === this.colorStops.length ? \"#000000\" : this.colorStops[0][1];\n    }, t.isCanvasGradient = !0, t;\n  }, p.prototype.createPattern = function () {\n    return this.createLinearGradient();\n  }, p.prototype.createRadialGradient = function () {\n    return this.createLinearGradient();\n  };\n  var P = function (t, e, r, n, i, a, o, s, c) {\n      for (var u = M.call(this, r, n, i, a), h = 0; h < u.length; h++) {\n        var l = u[h];\n        0 === h && (c ? F.call(this, l.x1 + t, l.y1 + e) : j.call(this, l.x1 + t, l.y1 + e)), B.call(this, t, e, l.x2, l.y2, l.x3, l.y3, l.x4, l.y4);\n      }\n      s ? I.call(this) : k.call(this, o);\n    },\n    k = function (t) {\n      switch (t) {\n        case \"stroke\":\n          this.pdf.internal.out(\"S\");\n          break;\n        case \"fill\":\n          this.pdf.internal.out(\"f\");\n      }\n    },\n    I = function () {\n      this.pdf.clip(), this.pdf.discardPath();\n    },\n    F = function (t, e) {\n      this.pdf.internal.out(n(t) + \" \" + i(e) + \" m\");\n    },\n    C = function (t) {\n      var e;\n      switch (t.align) {\n        case \"right\":\n        case \"end\":\n          e = \"right\";\n          break;\n        case \"center\":\n          e = \"center\";\n          break;\n        case \"left\":\n        case \"start\":\n        default:\n          e = \"left\";\n      }\n      var r = this.pdf.getTextDimensions(t.text),\n        n = S.call(this, t.y),\n        i = _.call(this, n) - r.h,\n        a = this.ctx.transform.applyToPoint(new c(t.x, n)),\n        o = this.ctx.transform.decompose(),\n        s = new h();\n      s = (s = (s = s.multiply(o.translate)).multiply(o.skew)).multiply(o.scale);\n      for (var l, f, d, p = this.ctx.transform.applyToRectangle(new u(t.x, n, r.w, r.h)), g = s.applyToRectangle(new u(t.x, i, r.w, r.h)), m = y.call(this, g), v = [], w = 0; w < m.length; w += 1) -1 === v.indexOf(m[w]) && v.push(m[w]);\n      if (L(v), this.autoPaging) for (var A = v[0], P = v[v.length - 1], k = A; k < P + 1; k++) {\n        this.pdf.setPage(k);\n        var I = 1 === k ? this.posY + this.margin[0] : this.margin[0],\n          F = this.pdf.internal.pageSize.height - this.posY - this.margin[0] - this.margin[2],\n          C = this.pdf.internal.pageSize.height - this.margin[2],\n          j = C - this.margin[0],\n          O = this.pdf.internal.pageSize.width - this.margin[1],\n          B = O - this.margin[3],\n          M = 1 === k ? 0 : F + (k - 2) * j;\n        if (0 !== this.ctx.clip_path.length) {\n          var E = this.path;\n          l = JSON.parse(JSON.stringify(this.ctx.clip_path)), this.path = N(l, this.posX + this.margin[3], -1 * M + I), x.call(this, \"fill\", !0), this.path = E;\n        }\n        var q = N([JSON.parse(JSON.stringify(g))], this.posX + this.margin[3], -M + I + this.ctx.prevPageLastElemOffset)[0];\n        t.scale >= .01 && (f = this.pdf.internal.getFontSize(), this.pdf.setFontSize(f * t.scale), d = this.lineWidth, this.lineWidth = d * t.scale);\n        var D = \"text\" !== this.autoPaging;\n        if (D || q.y + q.h <= C) {\n          if (D || q.y >= I && q.x <= O) {\n            var R = D ? t.text : this.pdf.splitTextToSize(t.text, t.maxWidth || O - q.x)[0],\n              T = N([JSON.parse(JSON.stringify(p))], this.posX + this.margin[3], -M + I + this.ctx.prevPageLastElemOffset)[0],\n              U = D && (k > A || k < P) && b.call(this);\n            U && (this.pdf.saveGraphicsState(), this.pdf.rect(this.margin[3], this.margin[0], B, j, null).clip().discardPath()), this.pdf.text(R, T.x, T.y, {\n              angle: t.angle,\n              align: e,\n              renderingMode: t.renderingMode\n            }), U && this.pdf.restoreGraphicsState();\n          }\n        } else q.y < C && (this.ctx.prevPageLastElemOffset += C - q.y);\n        t.scale >= .01 && (this.pdf.setFontSize(f), this.lineWidth = d);\n      } else t.scale >= .01 && (f = this.pdf.internal.getFontSize(), this.pdf.setFontSize(f * t.scale), d = this.lineWidth, this.lineWidth = d * t.scale), this.pdf.text(t.text, a.x + this.posX, a.y + this.posY, {\n        angle: t.angle,\n        align: e,\n        renderingMode: t.renderingMode,\n        maxWidth: t.maxWidth\n      }), t.scale >= .01 && (this.pdf.setFontSize(f), this.lineWidth = d);\n    },\n    j = function (t, e, r, a) {\n      r = r || 0, a = a || 0, this.pdf.internal.out(n(t + r) + \" \" + i(e + a) + \" l\");\n    },\n    O = function (t, e, r) {\n      return this.pdf.lines(t, e, r, null, null);\n    },\n    B = function (t, e, n, i, a, c, u, h) {\n      this.pdf.internal.out([r(o(n + t)), r(s(i + e)), r(o(a + t)), r(s(c + e)), r(o(u + t)), r(s(h + e)), \"c\"].join(\" \"));\n    },\n    M = function (t, e, r, n) {\n      for (var i = 2 * Math.PI, a = Math.PI / 2; e > r;) e -= i;\n      var o = Math.abs(r - e);\n      o < i && n && (o = i - o);\n      for (var s = [], c = n ? -1 : 1, u = e; o > 1e-5;) {\n        var h = u + c * Math.min(o, a);\n        s.push(E.call(this, t, u, h)), o -= Math.abs(h - u), u = h;\n      }\n      return s;\n    },\n    E = function (t, e, r) {\n      var n = (r - e) / 2,\n        i = t * Math.cos(n),\n        a = t * Math.sin(n),\n        o = i,\n        s = -a,\n        c = o * o + s * s,\n        u = c + o * i + s * a,\n        h = 4 / 3 * (Math.sqrt(2 * c * u) - u) / (o * a - s * i),\n        l = o - h * s,\n        f = s + h * o,\n        d = l,\n        p = -f,\n        g = n + e,\n        m = Math.cos(g),\n        v = Math.sin(g);\n      return {\n        x1: t * Math.cos(e),\n        y1: t * Math.sin(e),\n        x2: l * m - f * v,\n        y2: l * v + f * m,\n        x3: d * m - p * v,\n        y3: d * v + p * m,\n        x4: t * Math.cos(r),\n        y4: t * Math.sin(r)\n      };\n    },\n    q = function (t) {\n      return 180 * t / Math.PI;\n    },\n    D = function (t, e, r, n, i, a) {\n      var o = t + .5 * (r - t),\n        s = e + .5 * (n - e),\n        c = i + .5 * (r - i),\n        h = a + .5 * (n - a),\n        l = Math.min(t, i, o, c),\n        f = Math.max(t, i, o, c),\n        d = Math.min(e, a, s, h),\n        p = Math.max(e, a, s, h);\n      return new u(l, d, f - l, p - d);\n    },\n    R = function (t, e, r, n, i, a, o, s) {\n      var c,\n        h,\n        l,\n        f,\n        d,\n        p,\n        g,\n        m,\n        v,\n        b,\n        y,\n        w,\n        N,\n        L,\n        A = r - t,\n        x = n - e,\n        S = i - r,\n        _ = a - n,\n        P = o - i,\n        k = s - a;\n      for (h = 0; h < 41; h++) v = (g = (l = t + (c = h / 40) * A) + c * ((d = r + c * S) - l)) + c * (d + c * (i + c * P - d) - g), b = (m = (f = e + c * x) + c * ((p = n + c * _) - f)) + c * (p + c * (a + c * k - p) - m), 0 == h ? (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));\n      return new u(Math.round(y), Math.round(w), Math.round(N - y), Math.round(L - w));\n    },\n    T = function () {\n      if (this.prevLineDash || this.ctx.lineDash.length || this.ctx.lineDashOffset) {\n        var t,\n          e,\n          r = (t = this.ctx.lineDash, e = this.ctx.lineDashOffset, JSON.stringify({\n            lineDash: t,\n            lineDashOffset: e\n          }));\n        this.prevLineDash !== r && (this.pdf.setLineDash(this.ctx.lineDash, this.ctx.lineDashOffset), this.prevLineDash = r);\n      }\n    };\n}(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) {\n  var r = function (t) {\n      var e, r, n, i, a, o, s, c, u, h;\n      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 - (h = a % 85)) / 85) - (u = a % 85)) / 85) - (c = a % 85)) / 85) - (s = a % 85)) / 85) % 85, r.push(o + 33, s + 33, c + 33, u + 33, h + 33)) : r.push(122);\n      return function (t, e) {\n        for (var r = e; r > 0; r--) t.pop();\n      }(r, e.length), String.fromCharCode.apply(String, r) + \"~>\";\n    },\n    n = function (t) {\n      var e,\n        r,\n        n,\n        i,\n        a,\n        o = String,\n        s = \"length\",\n        c = 255,\n        u = \"charCodeAt\",\n        h = \"slice\",\n        l = \"replace\";\n      for (t[h](-2), t = t[h](0, -2)[l](/\\s/g, \"\")[l](\"z\", \"!!!!!\"), n = [], i = 0, a = (t += e = \"uuuuu\"[h](t[s] % 5 || 5))[s]; a > i; i += 5) r = 52200625 * (t[u](i) - 33) + 614125 * (t[u](i + 1) - 33) + 7225 * (t[u](i + 2) - 33) + 85 * (t[u](i + 3) - 33) + (t[u](i + 4) - 33), n.push(c & r >> 24, c & r >> 16, c & r >> 8, c & r);\n      return function (t, e) {\n        for (var r = e; r > 0; r--) t.pop();\n      }(n, e[s]), o.fromCharCode.apply(o, n);\n    },\n    i = function (t) {\n      var e = new RegExp(/^([0-9A-Fa-f]{2})+$/);\n      if (-1 !== (t = t.replace(/\\s/g, \"\")).indexOf(\">\") && (t = t.substr(0, t.indexOf(\">\"))), t.length % 2 && (t += \"0\"), !1 === e.test(t)) return \"\";\n      for (var r = \"\", n = 0; n < t.length; n += 2) r += String.fromCharCode(\"0x\" + (t[n] + t[n + 1]));\n      return r;\n    },\n    a = function (t) {\n      for (var r = new Uint8Array(t.length), n = t.length; n--;) r[n] = t.charCodeAt(n);\n      return t = (r = e(r)).reduce(function (t, e) {\n        return t + String.fromCharCode(e);\n      }, \"\");\n    };\n  t.processDataByFilters = function (t, e) {\n    var o = 0,\n      s = t || \"\",\n      c = [];\n    for (\"string\" == typeof (e = e || []) && (e = [e]), o = 0; o < e.length; o += 1) switch (e[o]) {\n      case \"ASCII85Decode\":\n      case \"/ASCII85Decode\":\n        s = n(s), c.push(\"/ASCII85Encode\");\n        break;\n      case \"ASCII85Encode\":\n      case \"/ASCII85Encode\":\n        s = r(s), c.push(\"/ASCII85Decode\");\n        break;\n      case \"ASCIIHexDecode\":\n      case \"/ASCIIHexDecode\":\n        s = i(s), c.push(\"/ASCIIHexEncode\");\n        break;\n      case \"ASCIIHexEncode\":\n      case \"/ASCIIHexEncode\":\n        s = s.split(\"\").map(function (t) {\n          return (\"0\" + t.charCodeAt().toString(16)).slice(-2);\n        }).join(\"\") + \">\", c.push(\"/ASCIIHexDecode\");\n        break;\n      case \"FlateEncode\":\n      case \"/FlateEncode\":\n        s = a(s), c.push(\"/FlateDecode\");\n        break;\n      default:\n        throw new Error('The filter: \"' + e[o] + '\" is not implemented');\n    }\n    return {\n      data: s,\n      reverseChain: c.reverse().join(\" \")\n    };\n  };\n}(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) {\n  t.loadFile = function (t, e, r) {\n    return function (t, e, r) {\n      e = !1 !== e, r = \"function\" == typeof r ? r : function () {};\n      var n = void 0;\n      try {\n        n = function (t, e, r) {\n          var n = new XMLHttpRequest(),\n            i = 0,\n            a = function (t) {\n              var e = t.length,\n                r = [],\n                n = String.fromCharCode;\n              for (i = 0; i < e; i += 1) r.push(n(255 & t.charCodeAt(i)));\n              return r.join(\"\");\n            };\n          if (n.open(\"GET\", t, !e), n.overrideMimeType(\"text/plain; charset=x-user-defined\"), !1 === e && (n.onload = function () {\n            200 === n.status ? r(a(this.responseText)) : r(void 0);\n          }), n.send(null), e && 200 === n.status) return a(n.responseText);\n        }(t, e, r);\n      } catch (t) {}\n      return n;\n    }(t, e, r);\n  }, t.loadImageFile = t.loadFile;\n}(E.API), function (e) {\n  function r() {\n    return (n.html2canvas ? Promise.resolve(n.html2canvas) : import(\"html2canvas\")).catch(function (t) {\n      return Promise.reject(new Error(\"Could not load html2canvas: \" + t));\n    }).then(function (t) {\n      return t.default ? t.default : t;\n    });\n  }\n  function i() {\n    return (n.DOMPurify ? Promise.resolve(n.DOMPurify) : import(\"dompurify\")).catch(function (t) {\n      return Promise.reject(new Error(\"Could not load dompurify: \" + t));\n    }).then(function (t) {\n      return t.default ? t.default : t;\n    });\n  }\n  var a = function (e) {\n      var r = t(e);\n      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\";\n    },\n    o = function (t, e) {\n      var r = document.createElement(t);\n      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];\n      return r;\n    },\n    s = function t(e) {\n      var r = Object.assign(t.convert(Promise.resolve()), JSON.parse(JSON.stringify(t.template))),\n        n = t.convert(Promise.resolve(), r);\n      return n = (n = n.setProgress(1, t, 1, [t])).set(e);\n    };\n  (s.prototype = Object.create(Promise.prototype)).constructor = s, s.convert = function (t, e) {\n    return t.__proto__ = e || s.prototype, t;\n  }, s.template = {\n    prop: {\n      src: null,\n      container: null,\n      overlay: null,\n      canvas: null,\n      img: null,\n      pdf: null,\n      pageSize: null,\n      callback: function () {}\n    },\n    progress: {\n      val: 0,\n      state: null,\n      n: 0,\n      stack: []\n    },\n    opt: {\n      filename: \"file.pdf\",\n      margin: [0, 0, 0, 0],\n      enableLinks: !0,\n      x: 0,\n      y: 0,\n      html2canvas: {},\n      jsPDF: {},\n      backgroundColor: \"transparent\"\n    }\n  }, s.prototype.from = function (t, e) {\n    return this.then(function () {\n      switch (e = e || function (t) {\n        switch (a(t)) {\n          case \"string\":\n            return \"string\";\n          case \"element\":\n            return \"canvas\" === t.nodeName.toLowerCase() ? \"canvas\" : \"element\";\n          default:\n            return \"unknown\";\n        }\n      }(t)) {\n        case \"string\":\n          return this.then(i).then(function (e) {\n            return this.set({\n              src: o(\"div\", {\n                innerHTML: t,\n                dompurify: e\n              })\n            });\n          });\n        case \"element\":\n          return this.set({\n            src: t\n          });\n        case \"canvas\":\n          return this.set({\n            canvas: t\n          });\n        case \"img\":\n          return this.set({\n            img: t\n          });\n        default:\n          return this.error(\"Unknown source type.\");\n      }\n    });\n  }, s.prototype.to = function (t) {\n    switch (t) {\n      case \"container\":\n        return this.toContainer();\n      case \"canvas\":\n        return this.toCanvas();\n      case \"img\":\n        return this.toImg();\n      case \"pdf\":\n        return this.toPdf();\n      default:\n        return this.error(\"Invalid target.\");\n    }\n  }, s.prototype.toContainer = function () {\n    return this.thenList([function () {\n      return this.prop.src || this.error(\"Cannot duplicate - no source HTML.\");\n    }, function () {\n      return this.prop.pageSize || this.setPageSize();\n    }]).then(function () {\n      var t = {\n          position: \"relative\",\n          display: \"inline-block\",\n          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\",\n          left: 0,\n          right: 0,\n          top: 0,\n          margin: \"auto\",\n          backgroundColor: this.opt.backgroundColor\n        },\n        e = function t(e, r) {\n          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));\n          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            n.scrollTop = e.scrollTop, n.scrollLeft = e.scrollLeft;\n          }, !0)), n;\n        }(this.prop.src, this.opt.html2canvas.javascriptEnabled);\n      \"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\", {\n        className: \"html2pdf__overlay\",\n        style: {\n          position: \"fixed\",\n          overflow: \"hidden\",\n          zIndex: 1e3,\n          left: \"-100000px\",\n          right: 0,\n          bottom: 0,\n          top: 0\n        }\n      }), this.prop.container = o(\"div\", {\n        className: \"html2pdf__container\",\n        style: t\n      }), this.prop.container.appendChild(e), this.prop.container.firstChild.appendChild(o(\"div\", {\n        style: {\n          clear: \"both\",\n          border: \"0 none transparent\",\n          margin: 0,\n          padding: 0,\n          height: 0\n        }\n      })), 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\";\n    });\n  }, s.prototype.toCanvas = function () {\n    var t = [function () {\n      return document.body.contains(this.prop.container) || this.toContainer();\n    }];\n    return this.thenList(t).then(r).then(function (t) {\n      var e = Object.assign({}, this.opt.html2canvas);\n      return delete e.onrendered, t(this.prop.container, e);\n    }).then(function (t) {\n      (this.opt.html2canvas.onrendered || function () {})(t), this.prop.canvas = t, document.body.removeChild(this.prop.overlay);\n    });\n  }, s.prototype.toContext2d = function () {\n    var t = [function () {\n      return document.body.contains(this.prop.container) || this.toContainer();\n    }];\n    return this.thenList(t).then(r).then(function (t) {\n      var e = this.opt.jsPDF,\n        r = this.opt.fontFaces,\n        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,\n        i = Object.assign({\n          async: !0,\n          allowTaint: !0,\n          scale: n,\n          scrollX: this.opt.scrollX || 0,\n          scrollY: this.opt.scrollY || 0,\n          backgroundColor: \"#ffffff\",\n          imageTimeout: 15e3,\n          logging: !0,\n          proxy: null,\n          removeContainer: !0,\n          foreignObjectRendering: !1,\n          useCORS: !1\n        }, this.opt.html2canvas);\n      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) {\n        var o = r[a],\n          s = o.src.find(function (t) {\n            return \"truetype\" === t.format;\n          });\n        s && e.addFont(s.url, o.ref.name, o.ref.style);\n      }\n      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);\n    }).then(function (t) {\n      this.opt.jsPDF.context2d.restore(!0), (this.opt.html2canvas.onrendered || function () {})(t), this.prop.canvas = t, document.body.removeChild(this.prop.overlay);\n    });\n  }, s.prototype.toImg = function () {\n    return this.thenList([function () {\n      return this.prop.canvas || this.toCanvas();\n    }]).then(function () {\n      var t = this.prop.canvas.toDataURL(\"image/\" + this.opt.image.type, this.opt.image.quality);\n      this.prop.img = document.createElement(\"img\"), this.prop.img.src = t;\n    });\n  }, s.prototype.toPdf = function () {\n    return this.thenList([function () {\n      return this.toContext2d();\n    }]).then(function () {\n      this.prop.pdf = this.prop.pdf || this.opt.jsPDF;\n    });\n  }, s.prototype.output = function (t, e, r) {\n    return \"img\" === (r = r || \"pdf\").toLowerCase() || \"image\" === r.toLowerCase() ? this.outputImg(t, e) : this.outputPdf(t, e);\n  }, s.prototype.outputPdf = function (t, e) {\n    return this.thenList([function () {\n      return this.prop.pdf || this.toPdf();\n    }]).then(function () {\n      return this.prop.pdf.output(t, e);\n    });\n  }, s.prototype.outputImg = function (t) {\n    return this.thenList([function () {\n      return this.prop.img || this.toImg();\n    }]).then(function () {\n      switch (t) {\n        case void 0:\n        case \"img\":\n          return this.prop.img;\n        case \"datauristring\":\n        case \"dataurlstring\":\n          return this.prop.img.src;\n        case \"datauri\":\n        case \"dataurl\":\n          return document.location.href = this.prop.img.src;\n        default:\n          throw 'Image output type \"' + t + '\" is not supported.';\n      }\n    });\n  }, s.prototype.save = function (t) {\n    return this.thenList([function () {\n      return this.prop.pdf || this.toPdf();\n    }]).set(t ? {\n      filename: t\n    } : null).then(function () {\n      this.prop.pdf.save(this.opt.filename);\n    });\n  }, s.prototype.doCallback = function () {\n    return this.thenList([function () {\n      return this.prop.pdf || this.toPdf();\n    }]).then(function () {\n      this.prop.callback(this.prop.pdf);\n    });\n  }, s.prototype.set = function (t) {\n    if (\"object\" !== a(t)) return this;\n    var e = Object.keys(t || {}).map(function (e) {\n      if (e in s.template.prop) return function () {\n        this.prop[e] = t[e];\n      };\n      switch (e) {\n        case \"margin\":\n          return this.setMargin.bind(this, t.margin);\n        case \"jsPDF\":\n          return function () {\n            return this.opt.jsPDF = t.jsPDF, this.setPageSize();\n          };\n        case \"pageSize\":\n          return this.setPageSize.bind(this, t.pageSize);\n        default:\n          return function () {\n            this.opt[e] = t[e];\n          };\n      }\n    }, this);\n    return this.then(function () {\n      return this.thenList(e);\n    });\n  }, s.prototype.get = function (t, e) {\n    return this.then(function () {\n      var r = t in s.template.prop ? this.prop[t] : this.opt[t];\n      return e ? e(r) : r;\n    });\n  }, s.prototype.setMargin = function (t) {\n    return this.then(function () {\n      switch (a(t)) {\n        case \"number\":\n          t = [t, t, t, t];\n        case \"array\":\n          if (2 === t.length && (t = [t[0], t[1], t[0], t[1]]), 4 === t.length) break;\n        default:\n          return this.error(\"Invalid margin array.\");\n      }\n      this.opt.margin = t;\n    }).then(this.setPageSize);\n  }, s.prototype.setPageSize = function (t) {\n    function e(t, e) {\n      return Math.floor(t * e / 72 * 96);\n    }\n    return this.then(function () {\n      (t = t || E.getPageSize(this.opt.jsPDF)).hasOwnProperty(\"inner\") || (t.inner = {\n        width: t.width - this.opt.margin[1] - this.opt.margin[3],\n        height: t.height - this.opt.margin[0] - this.opt.margin[2]\n      }, t.inner.px = {\n        width: e(t.inner.width, t.k),\n        height: e(t.inner.height, t.k)\n      }, t.inner.ratio = t.inner.height / t.inner.width), this.prop.pageSize = t;\n    });\n  }, s.prototype.setProgress = function (t, e, r, n) {\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;\n  }, s.prototype.updateProgress = function (t, e, r, n) {\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);\n  }, s.prototype.then = function (t, e) {\n    var r = this;\n    return this.thenCore(t, e, function (t, e) {\n      return r.updateProgress(null, null, 1, [t]), Promise.prototype.then.call(this, function (e) {\n        return r.updateProgress(null, t), e;\n      }).then(t, e).then(function (t) {\n        return r.updateProgress(1), t;\n      });\n    });\n  }, s.prototype.thenCore = function (t, e, r) {\n    r = r || Promise.prototype.then;\n    t && (t = t.bind(this)), e && (e = e.bind(this));\n    var n = -1 !== Promise.toString().indexOf(\"[native code]\") && \"Promise\" === Promise.name ? this : s.convert(Object.assign({}, this), Promise.prototype),\n      i = r.call(n, t, e);\n    return s.convert(i, this.__proto__);\n  }, s.prototype.thenExternal = function (t, e) {\n    return Promise.prototype.then.call(this, t, e);\n  }, s.prototype.thenList = function (t) {\n    var e = this;\n    return t.forEach(function (t) {\n      e = e.thenCore(t);\n    }), e;\n  }, s.prototype.catch = function (t) {\n    t && (t = t.bind(this));\n    var e = Promise.prototype.catch.call(this, t);\n    return s.convert(e, this);\n  }, s.prototype.catchExternal = function (t) {\n    return Promise.prototype.catch.call(this, t);\n  }, s.prototype.error = function (t) {\n    return this.then(function () {\n      throw new Error(t);\n    });\n  }, s.prototype.using = s.prototype.set, s.prototype.saveAs = s.prototype.save, s.prototype.export = s.prototype.output, s.prototype.run = s.prototype.then, E.getPageSize = function (e, r, n) {\n    if (\"object\" === t(e)) {\n      var i = e;\n      e = i.orientation, r = i.unit || r, n = i.format || n;\n    }\n    r = r || \"mm\", n = n || \"a4\", e = (\"\" + (e || \"P\")).toLowerCase();\n    var a,\n      o = (\"\" + n).toLowerCase(),\n      s = {\n        a0: [2383.94, 3370.39],\n        a1: [1683.78, 2383.94],\n        a2: [1190.55, 1683.78],\n        a3: [841.89, 1190.55],\n        a4: [595.28, 841.89],\n        a5: [419.53, 595.28],\n        a6: [297.64, 419.53],\n        a7: [209.76, 297.64],\n        a8: [147.4, 209.76],\n        a9: [104.88, 147.4],\n        a10: [73.7, 104.88],\n        b0: [2834.65, 4008.19],\n        b1: [2004.09, 2834.65],\n        b2: [1417.32, 2004.09],\n        b3: [1000.63, 1417.32],\n        b4: [708.66, 1000.63],\n        b5: [498.9, 708.66],\n        b6: [354.33, 498.9],\n        b7: [249.45, 354.33],\n        b8: [175.75, 249.45],\n        b9: [124.72, 175.75],\n        b10: [87.87, 124.72],\n        c0: [2599.37, 3676.54],\n        c1: [1836.85, 2599.37],\n        c2: [1298.27, 1836.85],\n        c3: [918.43, 1298.27],\n        c4: [649.13, 918.43],\n        c5: [459.21, 649.13],\n        c6: [323.15, 459.21],\n        c7: [229.61, 323.15],\n        c8: [161.57, 229.61],\n        c9: [113.39, 161.57],\n        c10: [79.37, 113.39],\n        dl: [311.81, 623.62],\n        letter: [612, 792],\n        \"government-letter\": [576, 756],\n        legal: [612, 1008],\n        \"junior-legal\": [576, 360],\n        ledger: [1224, 792],\n        tabloid: [792, 1224],\n        \"credit-card\": [153, 243]\n      };\n    switch (r) {\n      case \"pt\":\n        a = 1;\n        break;\n      case \"mm\":\n        a = 72 / 25.4;\n        break;\n      case \"cm\":\n        a = 72 / 2.54;\n        break;\n      case \"in\":\n        a = 72;\n        break;\n      case \"px\":\n        a = .75;\n        break;\n      case \"pc\":\n      case \"em\":\n        a = 12;\n        break;\n      case \"ex\":\n        a = 6;\n        break;\n      default:\n        throw \"Invalid unit: \" + r;\n    }\n    var c,\n      u = 0,\n      h = 0;\n    if (s.hasOwnProperty(o)) u = s[o][1] / a, h = s[o][0] / a;else try {\n      u = n[1], h = n[0];\n    } catch (t) {\n      throw new Error(\"Invalid format: \" + n);\n    }\n    if (\"p\" === e || \"portrait\" === e) e = \"p\", h > u && (c = h, h = u, u = c);else {\n      if (\"l\" !== e && \"landscape\" !== e) throw \"Invalid orientation: \" + e;\n      e = \"l\", u > h && (c = h, h = u, u = c);\n    }\n    return {\n      width: h,\n      height: u,\n      unit: r,\n      k: a,\n      orientation: e\n    };\n  }, e.html = function (t, e) {\n    (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(jt) : null;\n    var r = new s(e);\n    return e.worker ? r : r.from(t).doCallback();\n  };\n}(E.API), E.API.addJS = function (t) {\n  return Ht = t, this.internal.events.subscribe(\"postPutResources\", function () {\n    Ut = this.internal.newObject(), this.internal.out(\"<<\"), this.internal.out(\"/Names [(EmbeddedJS) \" + (Ut + 1) + \" 0 R]\"), this.internal.out(\">>\"), this.internal.out(\"endobj\"), zt = this.internal.newObject(), this.internal.out(\"<<\"), this.internal.out(\"/S /JavaScript\"), this.internal.out(\"/JS (\" + Ht + \")\"), this.internal.out(\">>\"), this.internal.out(\"endobj\");\n  }), this.internal.events.subscribe(\"putCatalog\", function () {\n    void 0 !== Ut && void 0 !== zt && this.internal.out(\"/Names <</JavaScript \" + Ut + \" 0 R>>\");\n  }), this;\n},\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) {\n  var e;\n  t.events.push([\"postPutResources\", function () {\n    var t = this,\n      r = /^(\\d+) 0 obj$/;\n    if (this.outline.root.children.length > 0) for (var n = t.outline.render().split(/\\r\\n/), i = 0; i < n.length; i++) {\n      var a = n[i],\n        o = r.exec(a);\n      if (null != o) {\n        var s = o[1];\n        t.internal.newObjectDeferredBegin(s, !1);\n      }\n      t.internal.write(a);\n    }\n    if (this.outline.createNamedDestinations) {\n      var c = this.internal.pages.length,\n        u = [];\n      for (i = 0; i < c; i++) {\n        var h = t.internal.newObject();\n        u.push(h);\n        var l = t.internal.getPageInfo(i + 1);\n        t.internal.write(\"<< /D[\" + l.objId + \" 0 R /XYZ null null null]>> endobj\");\n      }\n      var f = t.internal.newObject();\n      t.internal.write(\"<< /Names [ \");\n      for (i = 0; i < u.length; i++) t.internal.write(\"(page_\" + (i + 1) + \")\" + u[i] + \" 0 R\");\n      t.internal.write(\" ] >>\", \"endobj\"), e = t.internal.newObject(), t.internal.write(\"<< /Dests \" + f + \" 0 R\"), t.internal.write(\">>\", \"endobj\");\n    }\n  }]), t.events.push([\"putCatalog\", function () {\n    this.outline.root.children.length > 0 && (this.internal.write(\"/Outlines\", this.outline.makeRef(this.outline.root)), this.outline.createNamedDestinations && this.internal.write(\"/Names \" + e + \" 0 R\"));\n  }]), t.events.push([\"initialized\", function () {\n    var t = this;\n    t.outline = {\n      createNamedDestinations: !1,\n      root: {\n        children: []\n      }\n    }, t.outline.add = function (t, e, r) {\n      var n = {\n        title: e,\n        options: r,\n        children: []\n      };\n      return null == t && (t = this.root), t.children.push(n), n;\n    }, t.outline.render = function () {\n      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;\n    }, t.outline.genIds_r = function (e) {\n      e.id = t.internal.newObjectDeferred();\n      for (var r = 0; r < e.children.length; r++) this.genIds_r(e.children[r]);\n    }, t.outline.renderRoot = function (t) {\n      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({\n        count: 0\n      }, t)), this.objEnd();\n    }, t.outline.renderItems = function (e) {\n      for (var r = this.ctx.pdf.internal.getVerticalCoordinateString, n = 0; n < e.children.length; n++) {\n        var i = e.children[n];\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])));\n        var a = this.count = this.count_r({\n          count: 0\n        }, i);\n        if (a > 0 && this.line(\"/Count \" + a), i.options && i.options.pageNumber) {\n          var o = t.internal.getPageInfo(i.options.pageNumber);\n          this.line(\"/Dest [\" + o.objId + \" 0 R /XYZ 0 \" + r(0) + \" 0]\");\n        }\n        this.objEnd();\n      }\n      for (var s = 0; s < e.children.length; s++) this.renderItems(e.children[s]);\n    }, t.outline.line = function (t) {\n      this.ctx.val += t + \"\\r\\n\";\n    }, t.outline.makeRef = function (t) {\n      return t.id + \" 0 R\";\n    }, t.outline.makeString = function (e) {\n      return \"(\" + t.internal.pdfEscape(e) + \")\";\n    }, t.outline.objStart = function (t) {\n      this.ctx.val += \"\\r\\n\" + t.id + \" 0 obj\\r\\n<<\\r\\n\";\n    }, t.outline.objEnd = function () {\n      this.ctx.val += \">> \\r\\nendobj\\r\\n\";\n    }, t.outline.count_r = function (t, e) {\n      for (var r = 0; r < e.children.length; r++) t.count++, this.count_r(t, e.children[r]);\n      return t.count;\n    };\n  }]);\n}(E.API),\n/**\n * @license\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction (t) {\n  var e = [192, 193, 194, 195, 196, 197, 198, 199];\n  t.processJPEG = function (t, r, n, i, a, o) {\n    var s,\n      c = this.decode.DCT_DECODE,\n      u = null;\n    if (\"string\" == typeof t || this.__addimage__.isArrayBuffer(t) || this.__addimage__.isArrayBufferView(t)) {\n      switch (t = a || t, t = this.__addimage__.isArrayBuffer(t) ? new Uint8Array(t) : t, (s = function (t) {\n        for (var r, n = 256 * t.charCodeAt(4) + t.charCodeAt(5), i = t.length, a = {\n            width: 0,\n            height: 0,\n            numcomponents: 1\n          }, o = 4; o < i; o += 2) {\n          if (o += n, -1 !== e.indexOf(t.charCodeAt(o + 1))) {\n            r = 256 * t.charCodeAt(o + 5) + t.charCodeAt(o + 6), a = {\n              width: 256 * t.charCodeAt(o + 7) + t.charCodeAt(o + 8),\n              height: r,\n              numcomponents: t.charCodeAt(o + 9)\n            };\n            break;\n          }\n          n = 256 * t.charCodeAt(o + 2) + t.charCodeAt(o + 3);\n        }\n        return a;\n      }(t = this.__addimage__.isArrayBufferView(t) ? this.__addimage__.arrayBufferToBinaryString(t) : t)).numcomponents) {\n        case 1:\n          o = this.color_spaces.DEVICE_GRAY;\n          break;\n        case 4:\n          o = this.color_spaces.DEVICE_CMYK;\n          break;\n        case 3:\n          o = this.color_spaces.DEVICE_RGB;\n      }\n      u = {\n        data: t,\n        width: s.width,\n        height: s.height,\n        colorSpace: o,\n        bitsPerComponent: 8,\n        filter: c,\n        index: r,\n        alias: n\n      };\n    }\n    return u;\n  };\n}(E.API);\nvar Vt,\n  Gt,\n  Yt,\n  Jt,\n  Xt,\n  Kt = function () {\n    var t, e, i;\n    function a(t) {\n      var e, r, n, i, a, o, s, c, u, h, l, f, d, p;\n      for (this.data = t, this.pos = 8, this.palette = [], this.imgData = [], this.transparency = {}, this.animation = null, this.text = {}, o = null;;) {\n        switch (e = this.readUInt32(), u = function () {\n          var t, e;\n          for (e = [], t = 0; t < 4; ++t) e.push(String.fromCharCode(this.data[this.pos++]));\n          return e;\n        }.call(this).join(\"\")) {\n          case \"IHDR\":\n            this.width = this.readUInt32(), this.height = this.readUInt32(), this.bits = this.data[this.pos++], this.colorType = this.data[this.pos++], this.compressionMethod = this.data[this.pos++], this.filterMethod = this.data[this.pos++], this.interlaceMethod = this.data[this.pos++];\n            break;\n          case \"acTL\":\n            this.animation = {\n              numFrames: this.readUInt32(),\n              numPlays: this.readUInt32() || 1 / 0,\n              frames: []\n            };\n            break;\n          case \"PLTE\":\n            this.palette = this.read(e);\n            break;\n          case \"fcTL\":\n            o && this.animation.frames.push(o), this.pos += 4, o = {\n              width: this.readUInt32(),\n              height: this.readUInt32(),\n              xOffset: this.readUInt32(),\n              yOffset: this.readUInt32()\n            }, a = this.readUInt16(), i = this.readUInt16() || 100, o.delay = 1e3 * a / i, o.disposeOp = this.data[this.pos++], o.blendOp = this.data[this.pos++], o.data = [];\n            break;\n          case \"IDAT\":\n          case \"fdAT\":\n            for (\"fdAT\" === u && (this.pos += 4, e -= 4), t = (null != o ? o.data : void 0) || this.imgData, f = 0; 0 <= e ? f < e : f > e; 0 <= e ? ++f : --f) t.push(this.data[this.pos++]);\n            break;\n          case \"tRNS\":\n            switch (this.transparency = {}, this.colorType) {\n              case 3:\n                if (n = this.palette.length / 3, this.transparency.indexed = this.read(e), this.transparency.indexed.length > n) throw new Error(\"More transparent colors than palette size\");\n                if ((h = n - this.transparency.indexed.length) > 0) for (d = 0; 0 <= h ? d < h : d > h; 0 <= h ? ++d : --d) this.transparency.indexed.push(255);\n                break;\n              case 0:\n                this.transparency.grayscale = this.read(e)[0];\n                break;\n              case 2:\n                this.transparency.rgb = this.read(e);\n            }\n            break;\n          case \"tEXt\":\n            s = (l = this.read(e)).indexOf(0), c = String.fromCharCode.apply(String, l.slice(0, s)), this.text[c] = String.fromCharCode.apply(String, l.slice(s + 1));\n            break;\n          case \"IEND\":\n            return o && this.animation.frames.push(o), this.colors = function () {\n              switch (this.colorType) {\n                case 0:\n                case 3:\n                case 4:\n                  return 1;\n                case 2:\n                case 6:\n                  return 3;\n              }\n            }.call(this), this.hasAlphaChannel = 4 === (p = this.colorType) || 6 === p, r = this.colors + (this.hasAlphaChannel ? 1 : 0), this.pixelBitlength = this.bits * r, this.colorSpace = function () {\n              switch (this.colors) {\n                case 1:\n                  return \"DeviceGray\";\n                case 3:\n                  return \"DeviceRGB\";\n              }\n            }.call(this), void (this.imgData = new Uint8Array(this.imgData));\n          default:\n            this.pos += e;\n        }\n        if (this.pos += 4, this.pos > this.data.length) throw new Error(\"Incomplete or corrupt PNG file\");\n      }\n    }\n    a.prototype.read = function (t) {\n      var e, r;\n      for (r = [], e = 0; 0 <= t ? e < t : e > t; 0 <= t ? ++e : --e) r.push(this.data[this.pos++]);\n      return r;\n    }, a.prototype.readUInt32 = function () {\n      return this.data[this.pos++] << 24 | this.data[this.pos++] << 16 | this.data[this.pos++] << 8 | this.data[this.pos++];\n    }, a.prototype.readUInt16 = function () {\n      return this.data[this.pos++] << 8 | this.data[this.pos++];\n    }, a.prototype.decodePixels = function (t) {\n      var e = this.pixelBitlength / 8,\n        n = new Uint8Array(this.width * this.height * e),\n        i = 0,\n        a = this;\n      if (null == t && (t = this.imgData), 0 === t.length) return new Uint8Array(0);\n      function o(r, o, s, c) {\n        var u,\n          h,\n          l,\n          f,\n          d,\n          p,\n          g,\n          m,\n          v,\n          b,\n          y,\n          w,\n          N,\n          L,\n          A,\n          x,\n          S,\n          _,\n          P,\n          k,\n          I,\n          F = Math.ceil((a.width - r) / s),\n          C = Math.ceil((a.height - o) / c),\n          j = a.width == F && a.height == C;\n        for (L = e * F, w = j ? n : new Uint8Array(L * C), p = t.length, N = 0, h = 0; N < C && i < p;) {\n          switch (t[i++]) {\n            case 0:\n              for (f = S = 0; S < L; f = S += 1) w[h++] = t[i++];\n              break;\n            case 1:\n              for (f = _ = 0; _ < L; f = _ += 1) u = t[i++], d = f < e ? 0 : w[h - e], w[h++] = (u + d) % 256;\n              break;\n            case 2:\n              for (f = P = 0; P < L; f = P += 1) u = t[i++], l = (f - f % e) / e, A = N && w[(N - 1) * L + l * e + f % e], w[h++] = (A + u) % 256;\n              break;\n            case 3:\n              for (f = k = 0; k < L; f = k += 1) u = t[i++], l = (f - f % e) / e, d = f < e ? 0 : w[h - e], A = N && w[(N - 1) * L + l * e + f % e], w[h++] = (u + Math.floor((d + A) / 2)) % 256;\n              break;\n            case 4:\n              for (f = I = 0; I < L; f = I += 1) u = t[i++], l = (f - f % e) / e, d = f < e ? 0 : w[h - e], 0 === N ? A = x = 0 : (A = w[(N - 1) * L + l * e + f % e], x = l && w[(N - 1) * L + (l - 1) * e + f % e]), g = d + A - x, m = Math.abs(g - d), b = Math.abs(g - A), y = Math.abs(g - x), v = m <= b && m <= y ? d : b <= y ? A : x, w[h++] = (u + v) % 256;\n              break;\n            default:\n              throw new Error(\"Invalid filter algorithm: \" + t[i - 1]);\n          }\n          if (!j) {\n            var O = ((o + N * c) * a.width + r) * e,\n              B = N * L;\n            for (f = 0; f < F; f += 1) {\n              for (var M = 0; M < e; M += 1) n[O++] = w[B++];\n              O += (s - 1) * e;\n            }\n          }\n          N++;\n        }\n      }\n      return t = r(t), 1 == a.interlaceMethod ? (o(0, 0, 8, 8), o(4, 0, 8, 8), o(0, 4, 4, 8), o(2, 0, 4, 4), o(0, 2, 2, 4), o(1, 0, 2, 2), o(0, 1, 1, 2)) : o(0, 0, 1, 1), n;\n    }, a.prototype.decodePalette = function () {\n      var t, e, r, n, i, a, o, s, c;\n      for (r = this.palette, a = this.transparency.indexed || [], i = new Uint8Array((a.length || 0) + r.length), n = 0, t = 0, e = o = 0, s = r.length; o < s; e = o += 3) i[n++] = r[e], i[n++] = r[e + 1], i[n++] = r[e + 2], i[n++] = null != (c = a[t++]) ? c : 255;\n      return i;\n    }, a.prototype.copyToImageData = function (t, e) {\n      var r, n, i, a, o, s, c, u, h, l, f;\n      if (n = this.colors, h = null, r = this.hasAlphaChannel, this.palette.length && (h = null != (f = this._decodedPalette) ? f : this._decodedPalette = this.decodePalette(), n = 4, r = !0), u = (i = t.data || t).length, o = h || e, a = s = 0, 1 === n) for (; a < u;) c = h ? 4 * e[a / 4] : s, l = o[c++], i[a++] = l, i[a++] = l, i[a++] = l, i[a++] = r ? o[c++] : 255, s = c;else for (; a < u;) c = h ? 4 * e[a / 4] : s, i[a++] = o[c++], i[a++] = o[c++], i[a++] = o[c++], i[a++] = r ? o[c++] : 255, s = c;\n    }, a.prototype.decode = function () {\n      var t;\n      return t = new Uint8Array(this.width * this.height * 4), this.copyToImageData(t, this.decodePixels()), t;\n    };\n    var o = function () {\n      if (\"[object Window]\" === Object.prototype.toString.call(n)) {\n        try {\n          e = n.document.createElement(\"canvas\"), i = e.getContext(\"2d\");\n        } catch (t) {\n          return !1;\n        }\n        return !0;\n      }\n      return !1;\n    };\n    return o(), t = function (t) {\n      var r;\n      if (!0 === o()) return i.width = t.width, i.height = t.height, i.clearRect(0, 0, t.width, t.height), i.putImageData(t, 0, 0), (r = new Image()).src = e.toDataURL(), r;\n      throw new Error(\"This method requires a Browser with Canvas-capability.\");\n    }, a.prototype.decodeFrames = function (e) {\n      var r, n, i, a, o, s, c, u;\n      if (this.animation) {\n        for (u = [], n = o = 0, s = (c = this.animation.frames).length; o < s; n = ++o) r = c[n], i = e.createImageData(r.width, r.height), a = this.decodePixels(new Uint8Array(r.data)), this.copyToImageData(i, a), r.imageData = i, u.push(r.image = t(i));\n        return u;\n      }\n    }, a.prototype.renderFrame = function (t, e) {\n      var r, n, i;\n      return r = (n = this.animation.frames)[e], i = n[e - 1], 0 === e && t.clearRect(0, 0, this.width, this.height), 1 === (null != i ? i.disposeOp : void 0) ? t.clearRect(i.xOffset, i.yOffset, i.width, i.height) : 2 === (null != i ? i.disposeOp : void 0) && t.putImageData(i.imageData, i.xOffset, i.yOffset), 0 === r.blendOp && t.clearRect(r.xOffset, r.yOffset, r.width, r.height), t.drawImage(r.image, r.xOffset, r.yOffset);\n    }, a.prototype.animate = function (t) {\n      var e,\n        r,\n        n,\n        i,\n        a,\n        o,\n        s = this;\n      return r = 0, o = this.animation, i = o.numFrames, n = o.frames, a = o.numPlays, (e = function () {\n        var o, c;\n        if (o = r++ % i, c = n[o], s.renderFrame(t, o), i > 1 && r / i < a) return s.animation._timeout = setTimeout(e, c.delay);\n      })();\n    }, a.prototype.stopAnimation = function () {\n      var t;\n      return clearTimeout(null != (t = this.animation) ? t._timeout : void 0);\n    }, a.prototype.render = function (t) {\n      var e, r;\n      return t._png && t._png.stopAnimation(), t._png = this, t.width = this.width, t.height = this.height, e = t.getContext(\"2d\"), this.animation ? (this.decodeFrames(e), this.animate(e)) : (r = e.createImageData(this.width, this.height), this.copyToImageData(r, this.decodePixels()), e.putImageData(r, 0, 0));\n    }, a;\n  }();\n/**\n * @license\n *\n * Copyright (c) 2014 James Robb, https://github.com/jamesbrobb\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 */\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 */\nfunction Zt(t) {\n  var e = 0;\n  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.\");\n  var r = t[e++] | t[e++] << 8,\n    n = t[e++] | t[e++] << 8,\n    i = t[e++],\n    a = i >> 7,\n    o = 1 << (7 & i) + 1;\n  t[e++], t[e++];\n  var s = null,\n    c = null;\n  a && (s = e, c = o, e += 3 * o);\n  var u = !0,\n    h = [],\n    l = 0,\n    f = null,\n    d = 0,\n    p = null;\n  for (this.width = r, this.height = n; u && e < t.length;) switch (t[e++]) {\n    case 33:\n      switch (t[e++]) {\n        case 255:\n          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;;) {\n            if (!((P = t[e++]) >= 0)) throw Error(\"Invalid block size\");\n            if (0 === P) break;\n            e += P;\n          }\n          break;\n        case 249:\n          if (4 !== t[e++] || 0 !== t[e + 4]) throw new Error(\"Invalid graphics extension block.\");\n          var g = t[e++];\n          l = t[e++] | t[e++] << 8, f = t[e++], 0 == (1 & g) && (f = null), d = g >> 2 & 7, e++;\n          break;\n        case 254:\n          for (;;) {\n            if (!((P = t[e++]) >= 0)) throw Error(\"Invalid block size\");\n            if (0 === P) break;\n            e += P;\n          }\n          break;\n        default:\n          throw new Error(\"Unknown graphic control label: 0x\" + t[e - 1].toString(16));\n      }\n      break;\n    case 44:\n      var m = t[e++] | t[e++] << 8,\n        v = t[e++] | t[e++] << 8,\n        b = t[e++] | t[e++] << 8,\n        y = t[e++] | t[e++] << 8,\n        w = t[e++],\n        N = w >> 6 & 1,\n        L = 1 << (7 & w) + 1,\n        A = s,\n        x = c,\n        S = !1;\n      if (w >> 7) {\n        S = !0;\n        A = e, x = L, e += 3 * L;\n      }\n      var _ = e;\n      for (e++;;) {\n        var P;\n        if (!((P = t[e++]) >= 0)) throw Error(\"Invalid block size\");\n        if (0 === P) break;\n        e += P;\n      }\n      h.push({\n        x: m,\n        y: v,\n        width: b,\n        height: y,\n        has_local_palette: S,\n        palette_offset: A,\n        palette_size: x,\n        data_offset: _,\n        data_length: e - _,\n        transparent_index: f,\n        interlaced: !!N,\n        delay: l,\n        disposal: d\n      });\n      break;\n    case 59:\n      u = !1;\n      break;\n    default:\n      throw new Error(\"Unknown gif block: 0x\" + t[e - 1].toString(16));\n  }\n  this.numFrames = function () {\n    return h.length;\n  }, this.loopCount = function () {\n    return p;\n  }, this.frameInfo = function (t) {\n    if (t < 0 || t >= h.length) throw new Error(\"Frame index out of range.\");\n    return h[t];\n  }, this.decodeAndBlitFrameBGRA = function (e, n) {\n    var i = this.frameInfo(e),\n      a = i.width * i.height,\n      o = new Uint8Array(a);\n    $t(t, i.data_offset, o, a);\n    var s = i.palette_offset,\n      c = i.transparent_index;\n    null === c && (c = 256);\n    var u = i.width,\n      h = r - u,\n      l = u,\n      f = 4 * (i.y * r + i.x),\n      d = 4 * ((i.y + i.height) * r + i.x),\n      p = f,\n      g = 4 * h;\n    !0 === i.interlaced && (g += 4 * r * 7);\n    for (var m = 8, v = 0, b = o.length; v < b; ++v) {\n      var y = o[v];\n      if (0 === l && (l = u, (p += g) >= d && (g = 4 * h + 4 * r * (m - 1), p = f + (u + h) * (m << 1), m >>= 1)), y === c) p += 4;else {\n        var w = t[s + 3 * y],\n          N = t[s + 3 * y + 1],\n          L = t[s + 3 * y + 2];\n        n[p++] = L, n[p++] = N, n[p++] = w, n[p++] = 255;\n      }\n      --l;\n    }\n  }, this.decodeAndBlitFrameRGBA = function (e, n) {\n    var i = this.frameInfo(e),\n      a = i.width * i.height,\n      o = new Uint8Array(a);\n    $t(t, i.data_offset, o, a);\n    var s = i.palette_offset,\n      c = i.transparent_index;\n    null === c && (c = 256);\n    var u = i.width,\n      h = r - u,\n      l = u,\n      f = 4 * (i.y * r + i.x),\n      d = 4 * ((i.y + i.height) * r + i.x),\n      p = f,\n      g = 4 * h;\n    !0 === i.interlaced && (g += 4 * r * 7);\n    for (var m = 8, v = 0, b = o.length; v < b; ++v) {\n      var y = o[v];\n      if (0 === l && (l = u, (p += g) >= d && (g = 4 * h + 4 * r * (m - 1), p = f + (u + h) * (m << 1), m >>= 1)), y === c) p += 4;else {\n        var w = t[s + 3 * y],\n          N = t[s + 3 * y + 1],\n          L = t[s + 3 * y + 2];\n        n[p++] = w, n[p++] = N, n[p++] = L, n[p++] = 255;\n      }\n      --l;\n    }\n  };\n}\nfunction $t(t, e, r, n) {\n  for (var i = t[e++], o = 1 << i, s = o + 1, c = s + 1, u = i + 1, h = (1 << u) - 1, l = 0, f = 0, d = 0, p = t[e++], g = new Int32Array(4096), m = null;;) {\n    for (; l < 16 && 0 !== p;) f |= t[e++] << l, l += 8, 1 === p ? p = t[e++] : --p;\n    if (l < u) break;\n    var v = f & h;\n    if (f >>= u, l -= u, v !== o) {\n      if (v === s) break;\n      for (var b = v < c ? v : m, y = 0, w = b; w > o;) w = g[w] >> 8, ++y;\n      var N = w;\n      if (d + y + (b !== v ? 1 : 0) > n) return void a.log(\"Warning, gif stream longer than expected.\");\n      r[d++] = N;\n      var L = d += y;\n      for (b !== v && (r[d++] = N), w = b; y--;) w = g[w], r[--L] = 255 & w, w >>= 8;\n      null !== m && c < 4096 && (g[c++] = m << 8 | N, c >= h + 1 && u < 12 && (++u, h = h << 1 | 1)), m = v;\n    } else c = s + 1, h = (1 << (u = i + 1)) - 1, m = null;\n  }\n  return d !== n && a.log(\"Warning, gif stream shorter than expected.\"), r;\n}\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*/\nfunction Qt(t) {\n  var e,\n    r,\n    n,\n    i,\n    a,\n    o = Math.floor,\n    s = new Array(64),\n    c = new Array(64),\n    u = new Array(64),\n    h = new Array(64),\n    l = new Array(65535),\n    f = new Array(65535),\n    d = new Array(64),\n    p = new Array(64),\n    g = [],\n    m = 0,\n    v = 7,\n    b = new Array(64),\n    y = new Array(64),\n    w = new Array(64),\n    N = new Array(256),\n    L = new Array(2048),\n    A = [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],\n    x = [0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0],\n    S = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11],\n    _ = [0, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 125],\n    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],\n    k = [0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0],\n    I = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11],\n    F = [0, 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 119],\n    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];\n  function j(t, e) {\n    for (var r = 0, n = 0, i = new Array(), a = 1; a <= 16; a++) {\n      for (var o = 1; o <= t[a]; o++) i[e[n]] = [], i[e[n]][0] = r, i[e[n]][1] = a, n++, r++;\n      r *= 2;\n    }\n    return i;\n  }\n  function O(t) {\n    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);\n  }\n  function B(t) {\n    g.push(t);\n  }\n  function M(t) {\n    B(t >> 8 & 255), B(255 & t);\n  }\n  function E(t, e, r, n, i) {\n    for (var a, o = i[0], s = i[240], c = function (t, e) {\n        var r,\n          n,\n          i,\n          a,\n          o,\n          s,\n          c,\n          u,\n          h,\n          l,\n          f = 0;\n        for (h = 0; h < 8; ++h) {\n          r = t[f], n = t[f + 1], i = t[f + 2], a = t[f + 3], o = t[f + 4], s = t[f + 5], c = t[f + 6];\n          var p = r + (u = t[f + 7]),\n            g = r - u,\n            m = n + c,\n            v = n - c,\n            b = i + s,\n            y = i - s,\n            w = a + o,\n            N = a - o,\n            L = p + w,\n            A = p - w,\n            x = m + b,\n            S = m - b;\n          t[f] = L + x, t[f + 4] = L - x;\n          var _ = .707106781 * (S + A);\n          t[f + 2] = A + _, t[f + 6] = A - _;\n          var P = .382683433 * ((L = N + y) - (S = v + g)),\n            k = .5411961 * L + P,\n            I = 1.306562965 * S + P,\n            F = .707106781 * (x = y + v),\n            C = g + F,\n            j = g - F;\n          t[f + 5] = j + k, t[f + 3] = j - k, t[f + 1] = C + I, t[f + 7] = C - I, f += 8;\n        }\n        for (f = 0, h = 0; h < 8; ++h) {\n          r = t[f], n = t[f + 8], i = t[f + 16], a = t[f + 24], o = t[f + 32], s = t[f + 40], c = t[f + 48];\n          var O = r + (u = t[f + 56]),\n            B = r - u,\n            M = n + c,\n            E = n - c,\n            q = i + s,\n            D = i - s,\n            R = a + o,\n            T = a - o,\n            U = O + R,\n            z = O - R,\n            H = M + q,\n            W = M - q;\n          t[f] = U + H, t[f + 32] = U - H;\n          var V = .707106781 * (W + z);\n          t[f + 16] = z + V, t[f + 48] = z - V;\n          var G = .382683433 * ((U = T + D) - (W = E + B)),\n            Y = .5411961 * U + G,\n            J = 1.306562965 * W + G,\n            X = .707106781 * (H = D + E),\n            K = B + X,\n            Z = B - X;\n          t[f + 40] = Z + Y, t[f + 24] = Z - Y, t[f + 8] = K + J, t[f + 56] = K - J, f++;\n        }\n        for (h = 0; h < 64; ++h) l = t[h] * e[h], d[h] = l > 0 ? l + .5 | 0 : l - .5 | 0;\n        return d;\n      }(t, e), u = 0; u < 64; ++u) p[A[u]] = c[u];\n    var h = p[0] - r;\n    r = p[0], 0 == h ? O(n[0]) : (O(n[f[a = 32767 + h]]), O(l[a]));\n    for (var g = 63; g > 0 && 0 == p[g];) g--;\n    if (0 == g) return O(o), r;\n    for (var m, v = 1; v <= g;) {\n      for (var b = v; 0 == p[v] && v <= g;) ++v;\n      var y = v - b;\n      if (y >= 16) {\n        m = y >> 4;\n        for (var w = 1; w <= m; ++w) O(s);\n        y &= 15;\n      }\n      a = 32767 + p[v], O(i[(y << 4) + f[a]]), O(l[a]), v++;\n    }\n    return 63 != g && O(o), r;\n  }\n  function q(t) {\n    (t = Math.min(Math.max(t, 1), 100), a != t) && (!function (t) {\n      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++) {\n        var n = o((e[r] * t + 50) / 100);\n        n = Math.min(Math.max(n, 1), 255), s[A[r]] = n;\n      }\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++) {\n        var l = o((i[a] * t + 50) / 100);\n        l = Math.min(Math.max(l, 1), 255), c[A[a]] = l;\n      }\n      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++) u[d] = 1 / (s[A[d]] * f[p] * f[g] * 8), h[d] = 1 / (c[A[d]] * f[p] * f[g] * 8), d++;\n    }(t < 50 ? Math.floor(5e3 / t) : Math.floor(200 - 2 * t)), a = t);\n  }\n  this.encode = function (t, a) {\n    a && q(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 () {\n      M(65499), M(132), B(0);\n      for (var t = 0; t < 64; t++) B(s[t]);\n      B(1);\n      for (var e = 0; e < 64; e++) B(c[e]);\n    }(), function (t, e) {\n      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);\n    }(t.width, t.height), function () {\n      M(65476), M(418), B(0);\n      for (var t = 0; t < 16; t++) B(x[t + 1]);\n      for (var e = 0; e <= 11; e++) B(S[e]);\n      B(16);\n      for (var r = 0; r < 16; r++) B(_[r + 1]);\n      for (var n = 0; n <= 161; n++) B(P[n]);\n      B(1);\n      for (var i = 0; i < 16; i++) B(k[i + 1]);\n      for (var a = 0; a <= 11; a++) B(I[a]);\n      B(17);\n      for (var o = 0; o < 16; o++) B(F[o + 1]);\n      for (var s = 0; s <= 161; s++) B(C[s]);\n    }(), M(65498), M(12), B(3), B(1), B(0), B(2), B(17), B(3), B(17), B(0), B(63), B(0);\n    var o = 0,\n      l = 0,\n      f = 0;\n    m = 0, v = 7, this.encode.displayName = \"_encode_\";\n    for (var d, p, N, A, j, D, R, T, U, z = t.data, H = t.width, W = t.height, V = 4 * H, G = 0; G < W;) {\n      for (d = 0; d < V;) {\n        for (j = V * G + d, R = -1, T = 0, U = 0; U < 64; U++) D = j + (T = U >> 3) * V + (R = 4 * (7 & U)), G + T >= W && (D -= V * (G + 1 + T - W)), d + R >= V && (D -= d + R - V + 4), p = z[D++], N = z[D++], A = z[D++], b[U] = (L[p] + L[N + 256 >> 0] + L[A + 512 >> 0] >> 16) - 128, y[U] = (L[p + 768 >> 0] + L[N + 1024 >> 0] + L[A + 1280 >> 0] >> 16) - 128, w[U] = (L[p + 1280 >> 0] + L[N + 1536 >> 0] + L[A + 1792 >> 0] >> 16) - 128;\n        o = E(b, u, o, e, n), l = E(y, h, l, r, i), f = E(w, h, f, r, i), d += 32;\n      }\n      G += 8;\n    }\n    if (v >= 0) {\n      var Y = [];\n      Y[1] = v + 1, Y[0] = (1 << v + 1) - 1, O(Y);\n    }\n    return M(65497), new Uint8Array(g);\n  }, t = t || 50, function () {\n    for (var t = String.fromCharCode, e = 0; e < 256; e++) N[e] = t(e);\n  }(), e = j(x, S), r = j(k, I), n = j(_, P), i = j(F, C), function () {\n    for (var t = 1, e = 2, r = 1; r <= 15; r++) {\n      for (var n = t; n < e; n++) f[32767 + n] = r, l[32767 + n] = [], l[32767 + n][1] = r, l[32767 + n][0] = n;\n      for (var i = -(e - 1); i <= -t; i++) f[32767 + i] = r, l[32767 + i] = [], l[32767 + i][1] = r, l[32767 + i][0] = e - 1 + i;\n      t <<= 1, e <<= 1;\n    }\n  }(), function () {\n    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;\n  }(), q(t);\n}\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 te(t, e) {\n  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\");\n  this.parseHeader(), this.parseBGR();\n}\nfunction ee(t) {\n  function e(t) {\n    if (!t) throw Error(\"assert :P\");\n  }\n  function r(t, e, r) {\n    for (var n = 0; 4 > n; n++) if (t[e + n] != r.charCodeAt(n)) return !0;\n    return !1;\n  }\n  function n(t, e, r, n, i) {\n    for (var a = 0; a < i; a++) t[e + a] = r[n + a];\n  }\n  function i(t, e, r, n) {\n    for (var i = 0; i < n; i++) t[e + i] = r;\n  }\n  function a(t) {\n    return new Int32Array(t);\n  }\n  function o(t, e) {\n    for (var r = [], n = 0; n < t; n++) r.push(new e());\n    return r;\n  }\n  function s(t, e) {\n    var r = [];\n    return function t(r, n, i) {\n      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);\n    }(r, 0, t), r;\n  }\n  var c = function () {\n    var t = this;\n    function c(t, e) {\n      for (var r = 1 << e - 1 >>> 0; t & r;) r >>>= 1;\n      return r ? (t & r - 1) + r : t;\n    }\n    function u(t, r, n, i, a) {\n      e(!(i % n));\n      do {\n        t[r + (i -= n)] = a;\n      } while (0 < i);\n    }\n    function h(t, r, n, i, o) {\n      if (e(2328 >= o), 512 >= o) var s = a(512);else if (null == (s = a(o))) return 0;\n      return function (t, r, n, i, o, s) {\n        var h,\n          f,\n          d = r,\n          p = 1 << n,\n          g = a(16),\n          m = a(16);\n        for (e(0 != o), e(null != i), e(null != t), e(0 < n), f = 0; f < o; ++f) {\n          if (15 < i[f]) return 0;\n          ++g[i[f]];\n        }\n        if (g[0] == o) return 0;\n        for (m[1] = 0, h = 1; 15 > h; ++h) {\n          if (g[h] > 1 << h) return 0;\n          m[h + 1] = m[h] + g[h];\n        }\n        for (f = 0; f < o; ++f) h = i[f], 0 < i[f] && (s[m[h]++] = f);\n        if (1 == m[15]) return (i = new l()).g = 0, i.value = s[0], u(t, d, 1, p, i), p;\n        var v,\n          b = -1,\n          y = p - 1,\n          w = 0,\n          N = 1,\n          L = 1,\n          A = 1 << n;\n        for (f = 0, h = 1, o = 2; h <= n; ++h, o <<= 1) {\n          if (N += L <<= 1, 0 > (L -= g[h])) return 0;\n          for (; 0 < g[h]; --g[h]) (i = new l()).g = h, i.value = s[f++], u(t, d + w, o, A, i), w = c(w, h);\n        }\n        for (h = n + 1, o = 2; 15 >= h; ++h, o <<= 1) {\n          if (N += L <<= 1, 0 > (L -= g[h])) return 0;\n          for (; 0 < g[h]; --g[h]) {\n            if (i = new l(), (w & y) != b) {\n              for (d += A, v = 1 << (b = h) - n; 15 > b && !(0 >= (v -= g[b]));) ++b, v <<= 1;\n              p += A = 1 << (v = b - n), t[r + (b = w & y)].g = v + n, t[r + b].value = d - r - b;\n            }\n            i.g = h - n, i.value = s[f++], u(t, d + (w >> n), o, A, i), w = c(w, h);\n          }\n        }\n        return N != 2 * m[15] - 1 ? 0 : p;\n      }(t, r, n, i, o, s);\n    }\n    function l() {\n      this.value = this.g = 0;\n    }\n    function f() {\n      this.value = this.g = 0;\n    }\n    function d() {\n      this.G = o(5, l), this.H = a(5), this.jc = this.Qb = this.qb = this.nd = 0, this.pd = o(Dr, f);\n    }\n    function p(t, r, n, i) {\n      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);\n    }\n    function g(t, e) {\n      for (var r = 0; 0 < e--;) r |= k(t, 128) << e;\n      return r;\n    }\n    function m(t, e) {\n      var r = g(t, e);\n      return P(t) ? -r : r;\n    }\n    function v(t, r, n, i) {\n      var a,\n        o = 0;\n      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;\n      t.Ra = o, t.bb = i, t.oa = r, t.pa = n;\n    }\n    function b(t) {\n      for (; 8 <= t.u && t.bb < t.Sb;) t.Ra >>>= 8, t.Ra += t.oa[t.pa + t.bb] << Ur - 8 >>> 0, ++t.bb, t.u -= 8;\n      A(t) && (t.h = 1, t.u = 0);\n    }\n    function y(t, r) {\n      if (e(0 <= r), !t.h && r <= Tr) {\n        var n = L(t) & Rr[r];\n        return t.u += r, b(t), n;\n      }\n      return t.h = 1, t.u = 0;\n    }\n    function w() {\n      this.b = this.Ca = this.I = 0, this.oa = [], this.pa = 0, this.Jd = [], this.Yc = 0, this.Zc = [], this.Ka = 0;\n    }\n    function N() {\n      this.Ra = 0, this.oa = [], this.h = this.u = this.bb = this.Sb = this.pa = 0;\n    }\n    function L(t) {\n      return t.Ra >>> (t.u & Ur - 1) >>> 0;\n    }\n    function A(t) {\n      return e(t.bb <= t.Sb), t.h || t.bb == t.Sb && t.u > Ur;\n    }\n    function x(t, e) {\n      t.u = e, t.h = A(t);\n    }\n    function S(t) {\n      t.u >= zr && (e(t.u >= zr), b(t));\n    }\n    function _(t) {\n      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));\n    }\n    function P(t) {\n      return g(t, 1);\n    }\n    function k(t, e) {\n      var r = t.Ca;\n      0 > t.b && _(t);\n      var n = t.b,\n        i = r * e >>> 8,\n        a = (t.I >>> n > i) + 0;\n      for (a ? (r -= i, t.I -= i + 1 << n >>> 0) : r = i + 1, n = r, i = 0; 256 <= n;) i += 8, n >>= 8;\n      return n = 7 ^ i + Hr[n], t.b -= n, t.Ca = (r << n) - 1, a;\n    }\n    function I(t, e, r) {\n      t[e + 0] = r >> 24 & 255, t[e + 1] = r >> 16 & 255, t[e + 2] = r >> 8 & 255, t[e + 3] = r >> 0 & 255;\n    }\n    function F(t, e) {\n      return t[e + 0] << 0 | t[e + 1] << 8;\n    }\n    function C(t, e) {\n      return F(t, e) | t[e + 2] << 16;\n    }\n    function j(t, e) {\n      return F(t, e) | F(t, e + 2) << 16;\n    }\n    function O(t, r) {\n      var n = 1 << r;\n      return e(null != t), e(0 < r), t.X = a(n), null == t.X ? 0 : (t.Mb = 32 - r, t.Xa = r, 1);\n    }\n    function B(t, r) {\n      e(null != t), e(null != r), e(t.Xa == r.Xa), n(r.X, 0, t.X, 0, 1 << r.Xa);\n    }\n    function M() {\n      this.X = [], this.Xa = this.Mb = 0;\n    }\n    function E(t, r, n, i) {\n      e(null != n), e(null != i);\n      var a = n[0],\n        o = i[0];\n      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);\n    }\n    function q(t, e) {\n      return t + (1 << e) - 1 >>> e;\n    }\n    function D(t, e) {\n      return ((4278255360 & t) + (4278255360 & e) >>> 0 & 4278255360) + ((16711935 & t) + (16711935 & e) >>> 0 & 16711935) >>> 0;\n    }\n    function R(e, r) {\n      t[r] = function (r, n, i, a, o, s, c) {\n        var u;\n        for (u = 0; u < o; ++u) {\n          var h = t[e](s[c + u - 1], i, a + u);\n          s[c + u] = D(r[n + u], h);\n        }\n      };\n    }\n    function T() {\n      this.ud = this.hd = this.jd = 0;\n    }\n    function U(t, e) {\n      return ((4278124286 & (t ^ e)) >>> 1) + (t & e) >>> 0;\n    }\n    function z(t) {\n      return 0 <= t && 256 > t ? t : 0 > t ? 0 : 255 < t ? 255 : void 0;\n    }\n    function H(t, e) {\n      return z(t + (t - e + .5 >> 1));\n    }\n    function W(t, e, r) {\n      return Math.abs(e - r) - Math.abs(t - r);\n    }\n    function V(t, e, r, n, i, a, o) {\n      for (n = a[o - 1], r = 0; r < i; ++r) a[o + r] = n = D(t[e + r], n);\n    }\n    function G(t, e, r, n, i) {\n      var a;\n      for (a = 0; a < r; ++a) {\n        var o = t[e + a],\n          s = o >> 8 & 255,\n          c = 16711935 & (c = (c = 16711935 & o) + ((s << 16) + s));\n        n[i + a] = (4278255360 & o) + c >>> 0;\n      }\n    }\n    function Y(t, e) {\n      e.jd = t >> 0 & 255, e.hd = t >> 8 & 255, e.ud = t >> 16 & 255;\n    }\n    function J(t, e, r, n, i, a) {\n      var o;\n      for (o = 0; o < n; ++o) {\n        var s = e[r + o],\n          c = s >>> 8,\n          u = s,\n          h = 255 & (h = (h = s >>> 16) + ((t.jd << 24 >> 24) * (c << 24 >> 24) >>> 5));\n        u = 255 & (u = (u = u + ((t.hd << 24 >> 24) * (c << 24 >> 24) >>> 5)) + ((t.ud << 24 >> 24) * (h << 24 >> 24) >>> 5));\n        i[a + o] = (4278255360 & s) + (h << 16) + u;\n      }\n    }\n    function X(e, r, n, i, a) {\n      t[r] = function (t, e, r, n, o, s, c, u, h) {\n        for (n = c; n < u; ++n) for (c = 0; c < h; ++c) o[s++] = a(r[i(t[e++])]);\n      }, t[e] = function (e, r, o, s, c, u, h) {\n        var l = 8 >> e.b,\n          f = e.Ea,\n          d = e.K[0],\n          p = e.w;\n        if (8 > l) for (e = (1 << e.b) - 1, p = (1 << l) - 1; r < o; ++r) {\n          var g,\n            m = 0;\n          for (g = 0; g < f; ++g) g & e || (m = i(s[c++])), u[h++] = a(d[m & p]), m >>= l;\n        } else t[\"VP8LMapColor\" + n](s, c, d, p, u, h, r, o, f);\n      };\n    }\n    function K(t, e, r, n, i) {\n      for (r = e + r; e < r;) {\n        var a = t[e++];\n        n[i++] = a >> 16 & 255, n[i++] = a >> 8 & 255, n[i++] = a >> 0 & 255;\n      }\n    }\n    function Z(t, e, r, n, i) {\n      for (r = e + r; e < r;) {\n        var a = t[e++];\n        n[i++] = a >> 16 & 255, n[i++] = a >> 8 & 255, n[i++] = a >> 0 & 255, n[i++] = a >> 24 & 255;\n      }\n    }\n    function $(t, e, r, n, i) {\n      for (r = e + r; e < r;) {\n        var a = (o = t[e++]) >> 16 & 240 | o >> 12 & 15,\n          o = o >> 0 & 240 | o >> 28 & 15;\n        n[i++] = a, n[i++] = o;\n      }\n    }\n    function Q(t, e, r, n, i) {\n      for (r = e + r; e < r;) {\n        var a = (o = t[e++]) >> 16 & 248 | o >> 13 & 7,\n          o = o >> 5 & 224 | o >> 3 & 31;\n        n[i++] = a, n[i++] = o;\n      }\n    }\n    function tt(t, e, r, n, i) {\n      for (r = e + r; e < r;) {\n        var a = t[e++];\n        n[i++] = a >> 0 & 255, n[i++] = a >> 8 & 255, n[i++] = a >> 16 & 255;\n      }\n    }\n    function et(t, e, r, i, a, o) {\n      if (0 == o) for (r = e + r; e < r;) I(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);\n    }\n    function rt(e, r) {\n      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\"];\n    }\n    function nt(t) {\n      return t == Hn || t == Wn || t == Vn || t == Gn;\n    }\n    function it() {\n      this.eb = [], this.size = this.A = this.fb = 0;\n    }\n    function at() {\n      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;\n    }\n    function ot() {\n      this.Rd = this.height = this.width = this.S = 0, this.f = {}, this.f.RGBA = new it(), this.f.kb = new at(), this.sd = null;\n    }\n    function st() {\n      this.width = [0], this.height = [0], this.Pd = [0], this.Qd = [0], this.format = [0];\n    }\n    function ct() {\n      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;\n    }\n    function ut(t) {\n      return alert(\"todo:WebPSamplerProcessPlane\"), t.T;\n    }\n    function ht(t, e) {\n      var r = t.T,\n        i = e.ba.f.RGBA,\n        a = i.eb,\n        o = i.fb + t.ka * i.A,\n        s = vi[e.ba.S],\n        c = t.y,\n        u = t.O,\n        h = t.f,\n        l = t.N,\n        f = t.ea,\n        d = t.W,\n        p = e.cc,\n        g = e.dc,\n        m = e.Mc,\n        v = e.Nc,\n        b = t.ka,\n        y = t.ka + t.T,\n        w = t.U,\n        N = w + 1 >> 1;\n      for (0 == b ? s(c, u, null, null, h, l, f, d, h, l, f, d, a, o, null, null, w) : (s(e.ec, e.fc, c, u, p, g, m, v, h, l, f, d, a, o - i.A, a, o, w), ++r); b + 2 < y; b += 2) p = h, g = l, m = f, v = d, l += t.Rc, d += t.Rc, o += 2 * i.A, s(c, (u += 2 * t.fa) - t.fa, c, u, p, g, m, v, h, l, f, d, a, o - i.A, a, o, w);\n      return u += t.fa, t.j + y < t.o ? (n(e.ec, e.fc, c, u, w), n(e.cc, e.dc, h, l, N), n(e.Mc, e.Nc, f, d, N), r--) : 1 & y || s(c, u, null, null, h, l, f, d, h, l, f, d, a, o + i.A, null, null, w), r;\n    }\n    function lt(t, r, n) {\n      var i = t.F,\n        a = [t.J];\n      if (null != i) {\n        var o = t.U,\n          s = r.ba.S,\n          c = s == Tn || s == Vn;\n        r = r.ba.f.RGBA;\n        var u = [0],\n          h = t.ka;\n        u[0] = t.T, t.Kb && (0 == h ? --u[0] : (--h, a[0] -= t.width), t.j + t.ka + t.T == t.o && (u[0] = t.o - t.j - h));\n        var l = r.eb;\n        h = r.fb + h * r.A;\n        t = Sn(i, a[0], t.width, o, u, l, h + (c ? 0 : 3), r.A), e(n == u), t && nt(s) && An(l, h, c, o, u, r.A);\n      }\n      return 0;\n    }\n    function ft(t) {\n      var e = t.ma,\n        r = e.ba.S,\n        n = 11 > r,\n        i = r == qn || r == Rn || r == Tn || r == Un || 12 == r || nt(r);\n      if (e.memory = null, e.Ib = null, e.Jb = null, e.Nd = null, !Mr(e.Oa, t, i ? 11 : 12)) return 0;\n      if (i && nt(r) && br(), t.da) alert(\"todo:use_scaling\");else {\n        if (n) {\n          if (e.Ib = ut, t.Kb) {\n            if (r = t.U + 1 >> 1, e.memory = a(t.U + 2 * r), null == e.memory) return 0;\n            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 = ht, br();\n          }\n        } else alert(\"todo:EmitYUV\");\n        i && (e.Jb = lt, n && mr());\n      }\n      if (n && !Ci) {\n        for (t = 0; 256 > t; ++t) ji[t] = 89858 * (t - 128) + _i >> Si, Mi[t] = -22014 * (t - 128) + _i, Bi[t] = -45773 * (t - 128), Oi[t] = 113618 * (t - 128) + _i >> Si;\n        for (t = Pi; t < ki; ++t) e = 76283 * (t - 16) + _i >> Si, Ei[t - Pi] = Vt(e, 255), qi[t - Pi] = Vt(e + 8 >> 4, 15);\n        Ci = 1;\n      }\n      return 1;\n    }\n    function dt(t) {\n      var r = t.ma,\n        n = t.U,\n        i = t.T;\n      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);\n    }\n    function pt(t) {\n      t.ma.memory = null;\n    }\n    function gt(t, e, r, n) {\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);\n    }\n    function mt(t, e) {\n      if (4 > t) return t + 1;\n      var r = t - 2 >> 1;\n      return (2 + (1 & t) << r) + y(e, r) + 1;\n    }\n    function vt(t, e) {\n      return 120 < e ? e - 120 : 1 <= (r = ((r = $n[e - 1]) >> 4) * t + (8 - (15 & r))) ? r : 1;\n      var r;\n    }\n    function bt(t, e, r) {\n      var n = L(r),\n        i = t[e += 255 & n].g - 8;\n      return 0 < i && (x(r, r.u + 8), n = L(r), e += t[e].value, e += n & (1 << i) - 1), x(r, r.u + t[e].g), t[e].value;\n    }\n    function yt(t, r, n) {\n      return n.g += t.g, n.value += t.value << r >>> 0, e(8 >= n.g), t.g;\n    }\n    function wt(t, r, n) {\n      var i = t.xc;\n      return e((r = 0 == i ? 0 : t.vc[t.md * (n >> i) + (r >> i)]) < t.Wb), t.Ya[r];\n    }\n    function Nt(t, r, i, a) {\n      var o = t.ab,\n        s = t.c * r,\n        c = t.C;\n      r = c + r;\n      var u = i,\n        h = a;\n      for (a = t.Ta, i = t.Ua; 0 < o--;) {\n        var l = t.gc[o],\n          f = c,\n          d = r,\n          p = u,\n          g = h,\n          m = (h = a, u = i, l.Ea);\n        switch (e(f < d), e(d <= l.nc), l.hc) {\n          case 2:\n            Gr(p, g, (d - f) * m, h, u);\n            break;\n          case 0:\n            var v = f,\n              b = d,\n              y = h,\n              w = u,\n              N = (_ = l).Ea;\n            0 == v && (Wr(p, g, null, null, 1, y, w), V(p, g + 1, 0, 0, N - 1, y, w + 1), g += N, w += N, ++v);\n            for (var L = 1 << _.b, A = L - 1, x = q(N, _.b), S = _.K, _ = _.w + (v >> _.b) * x; v < b;) {\n              var P = S,\n                k = _,\n                I = 1;\n              for (Vr(p, g, y, w - N, 1, y, w); I < N;) {\n                var F = (I & ~A) + L;\n                F > N && (F = N), (0, Zr[P[k++] >> 8 & 15])(p, g + +I, y, w + I - N, F - I, y, w + I), I = F;\n              }\n              g += N, w += N, ++v & A || (_ += x);\n            }\n            d != l.nc && n(h, u - m, h, u + (d - f - 1) * m, m);\n            break;\n          case 1:\n            for (m = p, b = g, N = (p = l.Ea) - (w = p & ~(y = (g = 1 << l.b) - 1)), v = q(p, l.b), L = l.K, l = l.w + (f >> l.b) * v; f < d;) {\n              for (A = L, x = l, S = new T(), _ = b + w, P = b + p; b < _;) Y(A[x++], S), $r(S, m, b, g, h, u), b += g, u += g;\n              b < P && (Y(A[x++], S), $r(S, m, b, N, h, u), b += N, u += N), ++f & y || (l += v);\n            }\n            break;\n          case 3:\n            if (p == h && g == u && 0 < l.b) {\n              for (b = h, p = m = u + (d - f) * m - (w = (d - f) * q(l.Ea, l.b)), g = h, y = u, v = [], w = (N = w) - 1; 0 <= w; --w) v[w] = g[y + w];\n              for (w = N - 1; 0 <= w; --w) b[p + w] = v[w];\n              Yr(l, f, d, h, m, h, u);\n            } else Yr(l, f, d, p, g, h, u);\n        }\n        u = a, h = i;\n      }\n      h != i && n(a, i, u, h, s);\n    }\n    function Lt(t, r) {\n      var n = t.V,\n        i = t.Ba + t.c * t.C,\n        a = r - t.C;\n      if (e(r <= t.l.o), e(16 >= a), 0 < a) {\n        var o = t.l,\n          s = t.Ta,\n          c = t.Ua,\n          u = o.width;\n        if (Nt(t, a, n, i), a = c = [c], e((n = t.C) < (i = r)), e(o.v < o.va), i > o.o && (i = o.o), n < o.j) {\n          var h = o.j - n;\n          n = o.j;\n          a[0] += h * u;\n        }\n        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) {\n          if (c = c[0], 11 > (n = t.ca).S) {\n            var l = n.f.RGBA,\n              f = (i = n.S, a = o.U, o = o.T, h = l.eb, l.A),\n              d = o;\n            for (l = l.fb + t.Ma * l.A; 0 < d--;) {\n              var p = s,\n                g = c,\n                m = a,\n                v = h,\n                b = l;\n              switch (i) {\n                case En:\n                  Qr(p, g, m, v, b);\n                  break;\n                case qn:\n                  tn(p, g, m, v, b);\n                  break;\n                case Hn:\n                  tn(p, g, m, v, b), An(v, b, 0, m, 1, 0);\n                  break;\n                case Dn:\n                  nn(p, g, m, v, b);\n                  break;\n                case Rn:\n                  et(p, g, m, v, b, 1);\n                  break;\n                case Wn:\n                  et(p, g, m, v, b, 1), An(v, b, 0, m, 1, 0);\n                  break;\n                case Tn:\n                  et(p, g, m, v, b, 0);\n                  break;\n                case Vn:\n                  et(p, g, m, v, b, 0), An(v, b, 1, m, 1, 0);\n                  break;\n                case Un:\n                  en(p, g, m, v, b);\n                  break;\n                case Gn:\n                  en(p, g, m, v, b), xn(v, b, m, 1, 0);\n                  break;\n                case zn:\n                  rn(p, g, m, v, b);\n                  break;\n                default:\n                  e(0);\n              }\n              c += u, l += f;\n            }\n            t.Ma += o;\n          } else alert(\"todo:EmitRescaledRowsYUVA\");\n          e(t.Ma <= n.height);\n        }\n      }\n      t.C = r, e(t.C <= t.i);\n    }\n    function At(t) {\n      var e;\n      if (0 < t.ua) return 0;\n      for (e = 0; e < t.Wb; ++e) {\n        var r = t.Ya[e].G,\n          n = t.Ya[e].H;\n        if (0 < r[1][n[1] + 0].g || 0 < r[2][n[2] + 0].g || 0 < r[3][n[3] + 0].g) return 0;\n      }\n      return 1;\n    }\n    function xt(t, r, n, i, a, o) {\n      if (0 != t.Z) {\n        var s = t.qd,\n          c = t.rd;\n        for (e(null != mi[t.Z]); r < n; ++r) mi[t.Z](s, c, i, a, i, a, o), s = i, c = a, a += o;\n        t.qd = s, t.rd = c;\n      }\n    }\n    function St(t, r) {\n      var n = t.l.ma,\n        i = 0 == n.Z || 1 == n.Z ? t.l.j : t.C;\n      i = t.C < i ? i : t.C;\n      if (e(r <= t.l.o), r > i) {\n        var a = t.l.width,\n          o = n.ca,\n          s = n.tb + a * i,\n          c = t.V,\n          u = t.Ba + t.c * i,\n          h = t.gc;\n        e(1 == t.ab), e(3 == h[0].hc), Xr(h[0], i, r, c, u, o, s), xt(n, i, r, o, s, a);\n      }\n      t.C = t.Ma = r;\n    }\n    function _t(t, r, n, i, a, o, s) {\n      var c = t.$ / i,\n        u = t.$ % i,\n        h = t.m,\n        l = t.s,\n        f = n + t.$,\n        d = f;\n      a = n + i * a;\n      var p = n + i * o,\n        g = 280 + l.ua,\n        m = t.Pb ? c : 16777216,\n        v = 0 < l.ua ? l.Wa : null,\n        b = l.wc,\n        y = f < p ? wt(l, u, c) : null;\n      e(t.C < o), e(p <= a);\n      var w = !1;\n      t: for (;;) {\n        for (; w || f < p;) {\n          var N = 0;\n          if (c >= m) {\n            var _ = f - n;\n            e((m = t).Pb), m.wd = m.m, m.xd = _, 0 < m.s.ua && B(m.s.Wa, m.s.vb), m = c + ti;\n          }\n          if (u & b || (y = wt(l, u, c)), e(null != y), y.Qb && (r[f] = y.qb, w = !0), !w) if (S(h), y.jc) {\n            N = h, _ = r;\n            var P = f,\n              k = y.pd[L(N) & Dr - 1];\n            e(y.jc), 256 > k.g ? (x(N, N.u + k.g), _[P] = k.value, N = 0) : (x(N, N.u + k.g - 256), e(256 <= k.value), N = k.value), 0 == N && (w = !0);\n          } else N = bt(y.G[0], y.H[0], h);\n          if (h.h) break;\n          if (w || 256 > N) {\n            if (!w) if (y.nd) r[f] = (y.qb | N << 8) >>> 0;else {\n              if (S(h), w = bt(y.G[1], y.H[1], h), S(h), _ = bt(y.G[2], y.H[2], h), P = bt(y.G[3], y.H[3], h), h.h) break;\n              r[f] = (P << 24 | w << 16 | N << 8 | _) >>> 0;\n            }\n            if (w = !1, ++f, ++u >= i && (u = 0, ++c, null != s && c <= o && !(c % 16) && s(t, c), null != v)) for (; d < f;) N = r[d++], v.X[(506832829 * N & 4294967295) >>> v.Mb] = N;\n          } else if (280 > N) {\n            if (N = mt(N - 256, h), _ = bt(y.G[4], y.H[4], h), S(h), _ = vt(i, _ = mt(_, h)), h.h) break;\n            if (f - n < _ || a - f < N) break t;\n            for (P = 0; P < N; ++P) r[f + P] = r[f + P - _];\n            for (f += N, u += N; u >= i;) u -= i, ++c, null != s && c <= o && !(c % 16) && s(t, c);\n            if (e(f <= a), u & b && (y = wt(l, u, c)), null != v) for (; d < f;) N = r[d++], v.X[(506832829 * N & 4294967295) >>> v.Mb] = N;\n          } else {\n            if (!(N < g)) break t;\n            for (w = N - 280, e(null != v); d < f;) N = r[d++], v.X[(506832829 * N & 4294967295) >>> v.Mb] = N;\n            N = f, e(!(w >>> (_ = v).Xa)), r[N] = _.X[w], w = !0;\n          }\n          w || e(h.h == A(h));\n        }\n        if (t.Pb && h.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 {\n          if (h.h) break t;\n          null != s && s(t, c > o ? o : c), t.a = 0, t.$ = f - n;\n        }\n        return 1;\n      }\n      return t.a = 3, 0;\n    }\n    function Pt(t) {\n      e(null != t), t.vc = null, t.yc = null, t.Ya = null;\n      var r = t.Wa;\n      null != r && (r.X = null), t.vb = null, e(null != t);\n    }\n    function kt() {\n      var e = new or();\n      return null == e ? null : (e.a = 0, e.xb = gi, rt(\"Predictor\", \"VP8LPredictors\"), rt(\"Predictor\", \"VP8LPredictors_C\"), rt(\"PredictorAdd\", \"VP8LPredictorsAdd\"), rt(\"PredictorAdd\", \"VP8LPredictorsAdd_C\"), Gr = G, $r = J, Qr = K, tn = Z, en = $, rn = Q, nn = tt, t.VP8LMapColor32b = Jr, t.VP8LMapColor8b = Kr, e);\n    }\n    function It(t, r, n, s, c) {\n      var u = 1,\n        f = [t],\n        p = [r],\n        g = s.m,\n        m = s.s,\n        v = null,\n        b = 0;\n      t: for (;;) {\n        if (n) for (; u && y(g, 1);) {\n          var w = f,\n            N = p,\n            A = s,\n            _ = 1,\n            P = A.m,\n            k = A.gc[A.ab],\n            I = y(P, 2);\n          if (A.Oc & 1 << I) u = 0;else {\n            switch (A.Oc |= 1 << I, k.hc = I, k.Ea = w[0], k.nc = N[0], k.K = [null], ++A.ab, e(4 >= A.ab), I) {\n              case 0:\n              case 1:\n                k.b = y(P, 3) + 2, _ = It(q(k.Ea, k.b), q(k.nc, k.b), 0, A, k.K), k.K = k.K[0];\n                break;\n              case 3:\n                var F,\n                  C = y(P, 8) + 1,\n                  j = 16 < C ? 0 : 4 < C ? 1 : 2 < C ? 2 : 3;\n                if (w[0] = q(k.Ea, j), k.b = j, F = _ = It(C, 1, 0, A, k.K)) {\n                  var B,\n                    M = C,\n                    E = k,\n                    R = 1 << (8 >> E.b),\n                    T = a(R);\n                  if (null == T) F = 0;else {\n                    var U = E.K[0],\n                      z = E.w;\n                    for (T[0] = E.K[0][0], B = 1; B < 1 * M; ++B) T[B] = D(U[z + B], T[B - 1]);\n                    for (; B < 4 * R; ++B) T[B] = 0;\n                    E.K[0] = null, E.K[0] = T, F = 1;\n                  }\n                }\n                _ = F;\n                break;\n              case 2:\n                break;\n              default:\n                e(0);\n            }\n            u = _;\n          }\n        }\n        if (f = f[0], p = p[0], u && y(g, 1) && !(u = 1 <= (b = y(g, 4)) && 11 >= b)) {\n          s.a = 3;\n          break t;\n        }\n        var H;\n        if (H = u) e: {\n          var W,\n            V,\n            G,\n            Y = s,\n            J = f,\n            X = p,\n            K = b,\n            Z = n,\n            $ = Y.m,\n            Q = Y.s,\n            tt = [null],\n            et = 1,\n            rt = 0,\n            nt = Qn[K];\n          r: for (;;) {\n            if (Z && y($, 1)) {\n              var it = y($, 3) + 2,\n                at = q(J, it),\n                ot = q(X, it),\n                st = at * ot;\n              if (!It(at, ot, 0, Y, tt)) break r;\n              for (tt = tt[0], Q.xc = it, W = 0; W < st; ++W) {\n                var ct = tt[W] >> 8 & 65535;\n                tt[W] = ct, ct >= et && (et = ct + 1);\n              }\n            }\n            if ($.h) break r;\n            for (V = 0; 5 > V; ++V) {\n              var ut = Xn[V];\n              !V && 0 < K && (ut += 1 << K), rt < ut && (rt = ut);\n            }\n            var ht = o(et * nt, l),\n              lt = et,\n              ft = o(lt, d);\n            if (null == ft) var dt = null;else e(65536 >= lt), dt = ft;\n            var pt = a(rt);\n            if (null == dt || null == pt || null == ht) {\n              Y.a = 1;\n              break r;\n            }\n            var gt = ht;\n            for (W = G = 0; W < et; ++W) {\n              var mt = dt[W],\n                vt = mt.G,\n                bt = mt.H,\n                wt = 0,\n                Nt = 1,\n                Lt = 0;\n              for (V = 0; 5 > V; ++V) {\n                ut = Xn[V], vt[V] = gt, bt[V] = G, !V && 0 < K && (ut += 1 << K);\n                n: {\n                  var At,\n                    xt = ut,\n                    St = Y,\n                    kt = pt,\n                    Ft = gt,\n                    Ct = G,\n                    jt = 0,\n                    Ot = St.m,\n                    Bt = y(Ot, 1);\n                  if (i(kt, 0, 0, xt), Bt) {\n                    var Mt = y(Ot, 1) + 1,\n                      Et = y(Ot, 1),\n                      qt = y(Ot, 0 == Et ? 1 : 8);\n                    kt[qt] = 1, 2 == Mt && (kt[qt = y(Ot, 8)] = 1);\n                    var Dt = 1;\n                  } else {\n                    var Rt = a(19),\n                      Tt = y(Ot, 4) + 4;\n                    if (19 < Tt) {\n                      St.a = 3;\n                      var Ut = 0;\n                      break n;\n                    }\n                    for (At = 0; At < Tt; ++At) Rt[Zn[At]] = y(Ot, 3);\n                    var zt = void 0,\n                      Ht = void 0,\n                      Wt = St,\n                      Vt = Rt,\n                      Gt = xt,\n                      Yt = kt,\n                      Jt = 0,\n                      Xt = Wt.m,\n                      Kt = 8,\n                      Zt = o(128, l);\n                    i: for (; h(Zt, 0, 7, Vt, 19);) {\n                      if (y(Xt, 1)) {\n                        var $t = 2 + 2 * y(Xt, 3);\n                        if ((zt = 2 + y(Xt, $t)) > Gt) break i;\n                      } else zt = Gt;\n                      for (Ht = 0; Ht < Gt && zt--;) {\n                        S(Xt);\n                        var Qt = Zt[0 + (127 & L(Xt))];\n                        x(Xt, Xt.u + Qt.g);\n                        var te = Qt.value;\n                        if (16 > te) Yt[Ht++] = te, 0 != te && (Kt = te);else {\n                          var ee = 16 == te,\n                            re = te - 16,\n                            ne = Jn[re],\n                            ie = y(Xt, Yn[re]) + ne;\n                          if (Ht + ie > Gt) break i;\n                          for (var ae = ee ? Kt : 0; 0 < ie--;) Yt[Ht++] = ae;\n                        }\n                      }\n                      Jt = 1;\n                      break i;\n                    }\n                    Jt || (Wt.a = 3), Dt = Jt;\n                  }\n                  (Dt = Dt && !Ot.h) && (jt = h(Ft, Ct, 8, kt, xt)), Dt && 0 != jt ? Ut = jt : (St.a = 3, Ut = 0);\n                }\n                if (0 == Ut) break r;\n                if (Nt && 1 == Kn[V] && (Nt = 0 == gt[G].g), wt += gt[G].g, G += Ut, 3 >= V) {\n                  var oe,\n                    se = pt[0];\n                  for (oe = 1; oe < ut; ++oe) pt[oe] > se && (se = pt[oe]);\n                  Lt += se;\n                }\n              }\n              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) {\n                var ce,\n                  ue = mt;\n                for (ce = 0; ce < Dr; ++ce) {\n                  var he = ce,\n                    le = ue.pd[he],\n                    fe = ue.G[0][ue.H[0] + he];\n                  256 <= fe.value ? (le.g = fe.g + 256, le.value = fe.value) : (le.g = 0, le.value = 0, he >>= yt(fe, 8, le), he >>= yt(ue.G[1][ue.H[1] + he], 16, le), he >>= yt(ue.G[2][ue.H[2] + he], 0, le), yt(ue.G[3][ue.H[3] + he], 24, le));\n                }\n              }\n            }\n            Q.vc = tt, Q.Wb = et, Q.Ya = dt, Q.yc = ht, H = 1;\n            break e;\n          }\n          H = 0;\n        }\n        if (!(u = H)) {\n          s.a = 3;\n          break t;\n        }\n        if (0 < b) {\n          if (m.ua = 1 << b, !O(m.Wa, b)) {\n            s.a = 1, u = 0;\n            break t;\n          }\n        } else m.ua = 0;\n        var de = s,\n          pe = f,\n          ge = p,\n          me = de.s,\n          ve = me.xc;\n        if (de.c = pe, de.i = ge, me.md = q(pe, ve), me.wc = 0 == ve ? -1 : (1 << ve) - 1, n) {\n          s.xb = pi;\n          break t;\n        }\n        if (null == (v = a(f * p))) {\n          s.a = 1, u = 0;\n          break t;\n        }\n        u = (u = _t(s, v, 0, f, p, p, null)) && !g.h;\n        break t;\n      }\n      return u ? (null != c ? c[0] = v : (e(null == v), e(n)), s.$ = 0, n || Pt(m)) : Pt(m), u;\n    }\n    function Ft(t, r) {\n      var n = t.c * t.i,\n        i = n + r + 16 * r;\n      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);\n    }\n    function Ct(t, r) {\n      var n = t.C,\n        i = r - n,\n        a = t.V,\n        o = t.Ba + t.c * n;\n      for (e(r <= t.l.o); 0 < i;) {\n        var s = 16 < i ? 16 : i,\n          c = t.l.ma,\n          u = t.l.width,\n          h = u * s,\n          l = c.ca,\n          f = c.tb + u * n,\n          d = t.Ta,\n          p = t.Ua;\n        Nt(t, s, a, o), _n(d, p, l, f, h), xt(c, n, n + s, l, f, u), i -= s, a += s * t.c, n += s;\n      }\n      e(n == r), t.C = t.Ma = r;\n    }\n    function jt() {\n      this.ub = this.yd = this.td = this.Rb = 0;\n    }\n    function Ot() {\n      this.Kd = this.Ld = this.Ud = this.Td = this.i = this.c = 0;\n    }\n    function Bt() {\n      this.Fb = this.Bb = this.Cb = 0, this.Zb = a(4), this.Lb = a(4);\n    }\n    function Mt() {\n      this.Yb = function () {\n        var t = [];\n        return function t(e, r, n) {\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);\n        }(t, 0, [3, 11]), t;\n      }();\n    }\n    function Et() {\n      this.jb = a(3), this.Wc = s([4, 8], Mt), this.Xc = s([4, 17], Mt);\n    }\n    function qt() {\n      this.Pc = this.wb = this.Tb = this.zd = 0, this.vd = new a(4), this.od = new a(4);\n    }\n    function Dt() {\n      this.ld = this.La = this.dd = this.tc = 0;\n    }\n    function Rt() {\n      this.Na = this.la = 0;\n    }\n    function Tt() {\n      this.Sc = [0, 0], this.Eb = [0, 0], this.Qc = [0, 0], this.ia = this.lc = 0;\n    }\n    function Ut() {\n      this.ad = a(384), this.Za = 0, this.Ob = a(16), this.$b = this.Ad = this.ia = this.Gc = this.Hc = this.Dd = 0;\n    }\n    function zt() {\n      this.uc = this.M = this.Nb = 0, this.wa = Array(new Dt()), this.Y = 0, this.ya = Array(new Ut()), this.aa = 0, this.l = new Gt();\n    }\n    function Ht() {\n      this.y = a(16), this.f = a(8), this.ea = a(8);\n    }\n    function Wt() {\n      this.cb = this.a = 0, this.sc = \"\", this.m = new w(), this.Od = new jt(), this.Kc = new Ot(), this.ed = new qt(), this.Qa = new Bt(), this.Ic = this.$c = this.Aa = 0, this.D = new zt(), 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 Et(), 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 Rt()), this.sb = 0, this.wa = Array(new Dt()), 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 Ut()), this.L = this.aa = 0, this.gd = s([4, 2], Dt), 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;\n    }\n    function Vt(t, e) {\n      return 0 > t ? 0 : t > e ? e : t;\n    }\n    function Gt() {\n      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;\n    }\n    function Yt() {\n      var t = new Wt();\n      return null != t && (t.a = 0, t.sc = \"OK\", t.cb = 0, t.Xb = 0, ni || (ni = Zt)), t;\n    }\n    function Jt(t, e, r) {\n      return 0 == t.a && (t.a = e, t.sc = r, t.cb = 0), 0;\n    }\n    function Xt(t, e, r) {\n      return 3 <= r && 157 == t[e + 0] && 1 == t[e + 1] && 42 == t[e + 2];\n    }\n    function Kt(t, r) {\n      if (null == t) return 0;\n      if (t.a = 0, t.sc = \"OK\", null == r) return Jt(t, 2, \"null VP8Io passed to VP8GetHeaders()\");\n      var n = r.data,\n        a = r.w,\n        o = r.ha;\n      if (4 > o) return Jt(t, 7, \"Truncated header.\");\n      var s = n[a + 0] | n[a + 1] << 8 | n[a + 2] << 16,\n        c = t.Od;\n      if (c.Rb = !(1 & s), c.td = s >> 1 & 7, c.yd = s >> 4 & 1, c.ub = s >> 5, 3 < c.td) return Jt(t, 3, \"Incorrect keyframe parameters.\");\n      if (!c.yd) return Jt(t, 4, \"Frame not displayable.\");\n      a += 3, o -= 3;\n      var u = t.Kc;\n      if (c.Rb) {\n        if (7 > o) return Jt(t, 7, \"cannot parse picture header\");\n        if (!Xt(n, a, o)) return Jt(t, 3, \"Bad code word\");\n        u.c = 16383 & (n[a + 4] << 8 | n[a + 3]), u.Td = n[a + 4] >> 6, u.i = 16383 & (n[a + 6] << 8 | n[a + 5]), u.Ud = n[a + 6] >> 6, a += 7, o -= 7, t.za = u.c + 15 >> 4, t.Ub = u.i + 15 >> 4, r.width = u.c, r.height = u.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);\n      }\n      if (c.ub > o) return Jt(t, 7, \"bad partition length\");\n      p(s = t.m, n, a, c.ub), a += c.ub, o -= c.ub, c.Rb && (u.Ld = P(s), u.Kd = P(s)), u = t.Qa;\n      var h,\n        l = t.Pa;\n      if (e(null != s), e(null != u), u.Cb = P(s), u.Cb) {\n        if (u.Bb = P(s), P(s)) {\n          for (u.Fb = P(s), h = 0; 4 > h; ++h) u.Zb[h] = P(s) ? m(s, 7) : 0;\n          for (h = 0; 4 > h; ++h) u.Lb[h] = P(s) ? m(s, 6) : 0;\n        }\n        if (u.Bb) for (h = 0; 3 > h; ++h) l.jb[h] = P(s) ? g(s, 8) : 255;\n      } else u.Bb = 0;\n      if (s.Ka) return Jt(t, 3, \"cannot parse segment header\");\n      if ((u = t.ed).zd = P(s), u.Tb = g(s, 6), u.wb = g(s, 3), u.Pc = P(s), u.Pc && P(s)) {\n        for (l = 0; 4 > l; ++l) P(s) && (u.vd[l] = m(s, 6));\n        for (l = 0; 4 > l; ++l) P(s) && (u.od[l] = m(s, 6));\n      }\n      if (t.L = 0 == u.Tb ? 0 : u.zd ? 1 : 2, s.Ka) return Jt(t, 3, \"cannot parse filter header\");\n      var f = o;\n      if (o = h = a, a = h + f, u = f, t.Xb = (1 << g(t.m, 2)) - 1, f < 3 * (l = t.Xb)) n = 7;else {\n        for (h += 3 * l, u -= 3 * l, f = 0; f < l; ++f) {\n          var d = n[o + 0] | n[o + 1] << 8 | n[o + 2] << 16;\n          d > u && (d = u), p(t.Jc[+f], n, h, d), h += d, u -= d, o += 3;\n        }\n        p(t.Jc[+l], n, h, u), n = h < a ? 0 : 5;\n      }\n      if (0 != n) return Jt(t, n, \"cannot parse partitions\");\n      for (n = g(h = t.m, 7), o = P(h) ? m(h, 4) : 0, a = P(h) ? m(h, 4) : 0, u = P(h) ? m(h, 4) : 0, l = P(h) ? m(h, 4) : 0, h = P(h) ? m(h, 4) : 0, f = t.Qa, d = 0; 4 > d; ++d) {\n        if (f.Cb) {\n          var v = f.Zb[d];\n          f.Fb || (v += n);\n        } else {\n          if (0 < d) {\n            t.pb[d] = t.pb[0];\n            continue;\n          }\n          v = n;\n        }\n        var b = t.pb[d];\n        b.Sc[0] = ei[Vt(v + o, 127)], b.Sc[1] = ri[Vt(v + 0, 127)], b.Eb[0] = 2 * ei[Vt(v + a, 127)], b.Eb[1] = 101581 * ri[Vt(v + u, 127)] >> 16, 8 > b.Eb[1] && (b.Eb[1] = 8), b.Qc[0] = ei[Vt(v + l, 117)], b.Qc[1] = ri[Vt(v + h, 127)], b.lc = v + h;\n      }\n      if (!c.Rb) return Jt(t, 4, \"Not a key frame.\");\n      for (P(s), c = t.Pa, n = 0; 4 > n; ++n) {\n        for (o = 0; 8 > o; ++o) for (a = 0; 3 > a; ++a) for (u = 0; 11 > u; ++u) l = k(s, ui[n][o][a][u]) ? g(s, 8) : si[n][o][a][u], c.Wc[n][o].Yb[a][u] = l;\n        for (o = 0; 17 > o; ++o) c.Xc[n][o] = c.Wc[n][hi[o]];\n      }\n      return t.kc = P(s), t.kc && (t.Bd = g(s, 8)), t.cb = 1;\n    }\n    function Zt(t, e, r, n, i, a, o) {\n      var s = e[i].Yb[r];\n      for (r = 0; 16 > i; ++i) {\n        if (!k(t, s[r + 0])) return i;\n        for (; !k(t, s[r + 1]);) if (s = e[++i].Yb[0], r = 0, 16 == i) return 16;\n        var c = e[i + 1].Yb;\n        if (k(t, s[r + 2])) {\n          var u = t,\n            h = 0;\n          if (k(u, (f = s)[(l = r) + 3])) {\n            if (k(u, f[l + 6])) {\n              for (s = 0, l = 2 * (h = k(u, f[l + 8])) + (f = k(u, f[l + 9 + h])), h = 0, f = ii[l]; f[s]; ++s) h += h + k(u, f[s]);\n              h += 3 + (8 << l);\n            } else k(u, f[l + 7]) ? (h = 7 + 2 * k(u, 165), h += k(u, 145)) : h = 5 + k(u, 159);\n          } else h = k(u, f[l + 4]) ? 3 + k(u, f[l + 5]) : 2;\n          s = c[2];\n        } else h = 1, s = c[1];\n        c = o + ai[i], 0 > (u = t).b && _(u);\n        var l,\n          f = u.b,\n          d = (l = u.Ca >> 1) - (u.I >> f) >> 31;\n        --u.b, u.Ca += d, u.Ca |= 1, u.I -= (l + 1 & d) << f, a[c] = ((h ^ d) - d) * n[(0 < i) + 0];\n      }\n      return 16;\n    }\n    function $t(t) {\n      var e = t.rb[t.sb - 1];\n      e.la = 0, e.Na = 0, i(t.zc, 0, 0, t.zc.length), t.ja = 0;\n    }\n    function Qt(t, r) {\n      if (null == t) return 0;\n      if (null == r) return Jt(t, 2, \"NULL VP8Io parameter in VP8Decode().\");\n      if (!t.cb && !Kt(t, r)) return 0;\n      if (e(t.cb), null == r.ac || r.ac(r)) {\n        r.ob && (t.L = 0);\n        var s = Ri[t.L];\n        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) {\n          var c = t.ed;\n          for (s = 0; 4 > s; ++s) {\n            var u;\n            if (t.Qa.Cb) {\n              var h = t.Qa.Lb[s];\n              t.Qa.Fb || (h += c.Tb);\n            } else h = c.Tb;\n            for (u = 0; 1 >= u; ++u) {\n              var l = t.gd[s][u],\n                f = h;\n              if (c.Pc && (f += c.vd[0], u && (f += c.od[0])), 0 < (f = 0 > f ? 0 : 63 < f ? 63 : f)) {\n                var d = f;\n                0 < c.wb && (d = 4 < c.wb ? d >> 2 : d >> 1) > 9 - c.wb && (d = 9 - c.wb), 1 > d && (d = 1), l.dd = d, l.tc = 2 * f + d, l.ld = 40 <= f ? 2 : 15 <= f ? 1 : 0;\n              } else l.tc = 0;\n              l.La = u;\n            }\n          }\n        }\n        s = 0;\n      } else Jt(t, 6, \"Frame setup failed\"), s = t.a;\n      if (s = 0 == s) {\n        if (s) {\n          t.$c = 0, 0 < t.Aa || (t.Ic = Ui);\n          t: {\n            s = t.Ic;\n            c = 4 * (d = t.za);\n            var p = 32 * d,\n              g = d + 1,\n              m = 0 < t.L ? d * (0 < t.Aa ? 2 : 1) : 0,\n              v = (2 == t.Aa ? 2 : 1) * d;\n            if ((l = c + 832 + (u = 3 * (16 * s + Ri[t.L]) / 2 * p) + (h = null != t.Fa && 0 < t.Fa.length ? t.Kc.c * t.Kc.i : 0)) != l) s = 0;else {\n              if (l > t.Vb) {\n                if (t.Vb = 0, t.Ec = a(l), t.Fc = 0, null == t.Ec) {\n                  s = Jt(t, 1, \"no memory during frame initialization.\");\n                  break t;\n                }\n                t.Vb = l;\n              }\n              l = t.Ec, f = t.Fc, t.Ac = l, t.Bc = f, f += c, t.Gd = o(p, Ht), t.Hd = 0, t.rb = o(g + 1, Rt), t.sb = 1, t.wa = m ? o(m, Dt) : 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 = l, t.pc = f, f += 832, t.ya = o(v, Ut), 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 = l, 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 += u, t.mb = h ? l : null, t.nb = h ? f : null, e(f + h <= t.Fc + t.Vb), $t(t), i(t.Ac, t.Bc, 0, c), s = 1;\n            }\n          }\n          if (s) {\n            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, !Cn) {\n              for (s = -255; 255 >= s; ++s) Pn[255 + s] = 0 > s ? -s : s;\n              for (s = -1020; 1020 >= s; ++s) kn[1020 + s] = -128 > s ? -128 : 127 < s ? 127 : s;\n              for (s = -112; 112 >= s; ++s) In[112 + s] = -16 > s ? -16 : 15 < s ? 15 : s;\n              for (s = -255; 510 >= s; ++s) Fn[255 + s] = 0 > s ? 0 : 255 < s ? 255 : s;\n              Cn = 1;\n            }\n            an = ue, on = ae, cn = oe, un = se, hn = ce, sn = ie, ln = Je, fn = Xe, dn = $e, pn = Qe, gn = Ke, mn = Ze, vn = tr, bn = er, yn = ze, wn = He, Nn = We, Ln = Ve, fi[0] = xe, fi[1] = le, fi[2] = Le, fi[3] = Ae, fi[4] = Se, fi[5] = Pe, fi[6] = _e, fi[7] = ke, fi[8] = Fe, fi[9] = Ie, li[0] = ve, li[1] = de, li[2] = pe, li[3] = ge, li[4] = be, li[5] = ye, li[6] = we, di[0] = Be, di[1] = fe, di[2] = Ce, di[3] = je, di[4] = Ee, di[5] = Me, di[6] = qe, s = 1;\n          } else s = 0;\n        }\n        s && (s = function (t, r) {\n          for (t.M = 0; t.M < t.Va; ++t.M) {\n            var o,\n              s = t.Jc[t.M & t.Xb],\n              c = t.m,\n              u = t;\n            for (o = 0; o < u.za; ++o) {\n              var h = c,\n                l = u,\n                f = l.Ac,\n                d = l.Bc + 4 * o,\n                p = l.zc,\n                g = l.ya[l.aa + o];\n              if (l.Qa.Bb ? g.$b = k(h, l.Pa.jb[0]) ? 2 + k(h, l.Pa.jb[2]) : k(h, l.Pa.jb[1]) : g.$b = 0, l.kc && (g.Ad = k(h, l.Bd)), g.Za = !k(h, 145) + 0, g.Za) {\n                var m = g.Ob,\n                  v = 0;\n                for (l = 0; 4 > l; ++l) {\n                  var b,\n                    y = p[0 + l];\n                  for (b = 0; 4 > b; ++b) {\n                    y = ci[f[d + b]][y];\n                    for (var w = oi[k(h, y[0])]; 0 < w;) w = oi[2 * w + k(h, y[w])];\n                    y = -w, f[d + b] = y;\n                  }\n                  n(m, v, f, d, 4), v += 4, p[0 + l] = y;\n                }\n              } else y = k(h, 156) ? k(h, 128) ? 1 : 3 : k(h, 163) ? 2 : 0, g.Ob[0] = y, i(f, d, y, 4), i(p, 0, y, 4);\n              g.Dd = k(h, 142) ? k(h, 114) ? k(h, 183) ? 1 : 3 : 2 : 0;\n            }\n            if (u.m.Ka) return Jt(t, 7, \"Premature end-of-partition0 encountered.\");\n            for (; t.ja < t.za; ++t.ja) {\n              if (u = s, h = (c = t).rb[c.sb - 1], f = c.rb[c.sb + c.ja], o = c.ya[c.aa + c.ja], d = c.kc ? o.Ad : 0) h.la = f.la = 0, o.Za || (h.Na = f.Na = 0), o.Hc = 0, o.Gc = 0, o.ia = 0;else {\n                var N, L;\n                h = f, f = u, d = c.Pa.Xc, p = c.ya[c.aa + c.ja], g = c.pb[p.$b];\n                if (l = p.ad, m = 0, v = c.rb[c.sb - 1], y = b = 0, i(l, m, 0, 384), p.Za) var A = 0,\n                  x = d[3];else {\n                  w = a(16);\n                  var S = h.Na + v.Na;\n                  if (S = ni(f, d[1], S, g.Eb, 0, w, 0), h.Na = v.Na = (0 < S) + 0, 1 < S) an(w, 0, l, m);else {\n                    var _ = w[0] + 3 >> 3;\n                    for (w = 0; 256 > w; w += 16) l[m + w] = _;\n                  }\n                  A = 1, x = d[0];\n                }\n                var P = 15 & h.la,\n                  I = 15 & v.la;\n                for (w = 0; 4 > w; ++w) {\n                  var F = 1 & I;\n                  for (_ = L = 0; 4 > _; ++_) P = P >> 1 | (F = (S = ni(f, x, S = F + (1 & P), g.Sc, A, l, m)) > A) << 7, L = L << 2 | (3 < S ? 3 : 1 < S ? 2 : 0 != l[m + 0]), m += 16;\n                  P >>= 4, I = I >> 1 | F << 7, b = (b << 8 | L) >>> 0;\n                }\n                for (x = P, A = I >> 4, N = 0; 4 > N; N += 2) {\n                  for (L = 0, P = h.la >> 4 + N, I = v.la >> 4 + N, w = 0; 2 > w; ++w) {\n                    for (F = 1 & I, _ = 0; 2 > _; ++_) S = F + (1 & P), P = P >> 1 | (F = 0 < (S = ni(f, d[2], S, g.Qc, 0, l, m))) << 3, L = L << 2 | (3 < S ? 3 : 1 < S ? 2 : 0 != l[m + 0]), m += 16;\n                    P >>= 2, I = I >> 1 | F << 5;\n                  }\n                  y |= L << 4 * N, x |= P << 4 << N, A |= (240 & I) << N;\n                }\n                h.la = x, v.la = A, p.Hc = b, p.Gc = y, p.ia = 43690 & y ? 0 : g.ia, d = !(b | y);\n              }\n              if (0 < c.L && (c.wa[c.Y + c.ja] = c.gd[o.$b][o.Za], c.wa[c.Y + c.ja].La |= !d), u.Ka) return Jt(t, 7, \"Premature end-of-file encountered.\");\n            }\n            if ($t(t), c = r, u = 1, o = (s = t).D, h = 0 < s.L && s.M >= s.zb && s.M <= s.Va, 0 == s.Aa) t: {\n              if (o.M = s.M, o.uc = h, Or(s, o), u = 1, o = (L = s.D).Nb, h = (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 - h + w, g = s.qa, l = s.ra - f + _, m = s.Ha, v = s.Ia - f + _, I = 0 == (P = L.M), b = P >= s.Va - 1, 2 == s.Aa && Or(s, L), L.uc) for (F = (S = s).D.M, e(S.D.uc), L = S.yb; L < S.Hb; ++L) {\n                A = L, x = F;\n                var C = (j = (U = S).D).Nb;\n                N = U.R;\n                var j = j.wa[j.Y + A],\n                  O = U.sa,\n                  B = U.ta + 16 * C * N + 16 * A,\n                  M = j.dd,\n                  E = j.tc;\n                if (0 != E) if (e(3 <= E), 1 == U.L) 0 < A && wn(O, B, N, E + 4), j.La && Ln(O, B, N, E), 0 < x && yn(O, B, N, E + 4), j.La && Nn(O, B, N, E);else {\n                  var q = U.B,\n                    D = U.qa,\n                    R = U.ra + 8 * C * q + 8 * A,\n                    T = U.Ha,\n                    U = U.Ia + 8 * C * q + 8 * A;\n                  C = j.ld;\n                  0 < A && (fn(O, B, N, E + 4, M, C), pn(D, R, T, U, q, E + 4, M, C)), j.La && (mn(O, B, N, E, M, C), bn(D, R, T, U, q, E, M, C)), 0 < x && (ln(O, B, N, E + 4, M, C), dn(D, R, T, U, q, E + 4, M, C)), j.La && (gn(O, B, N, E, M, C), vn(D, R, T, U, q, E, M, C));\n                }\n              }\n              if (s.ia && alert(\"todo:DitherRow\"), null != c.put) {\n                if (L = 16 * P, P = 16 * (P + 1), I ? (c.y = s.sa, c.O = s.ta + w, c.f = s.qa, c.N = s.ra + _, c.ea = s.Ha, c.W = s.Ia + _) : (L -= y, c.y = d, c.O = p, c.f = g, c.N = l, c.ea = m, c.W = v), b || (P -= y), P > c.o && (P = c.o), c.F = null, c.J = null, null != s.Fa && 0 < s.Fa.length && L < P && (c.J = lr(s, c, L, P - L), c.F = s.mb, null == c.F && 0 == c.F.length)) {\n                  u = Jt(s, 3, \"Could not decode alpha data.\");\n                  break t;\n                }\n                L < c.j && (y = c.j - L, L = c.j, e(!(1 & y)), c.O += s.R * y, c.N += s.B * (y >> 1), c.W += s.B * (y >> 1), null != c.F && (c.J += c.width * y)), L < P && (c.O += c.v, c.N += c.v >> 1, c.W += c.v >> 1, null != c.F && (c.J += c.v), c.ka = L - c.j, c.U = c.va - c.v, c.T = P - L, u = c.put(c));\n              }\n              o + 1 != s.Ic || b || (n(s.sa, s.ta - h, d, p + 16 * s.R, h), n(s.qa, s.ra - f, g, l + 8 * s.B, f), n(s.Ha, s.Ia - f, m, v + 8 * s.B, f));\n            }\n            if (!u) return Jt(t, 6, \"Output aborted.\");\n          }\n          return 1;\n        }(t, r)), null != r.bc && r.bc(r), s &= 1;\n      }\n      return s ? (t.cb = 0, s) : 0;\n    }\n    function te(t, e, r, n, i) {\n      i = t[e + r + 32 * n] + (i >> 3), t[e + r + 32 * n] = -256 & i ? 0 > i ? 0 : 255 : i;\n    }\n    function ee(t, e, r, n, i, a) {\n      te(t, e, 0, r, n + i), te(t, e, 1, r, n + a), te(t, e, 2, r, n - a), te(t, e, 3, r, n - i);\n    }\n    function re(t) {\n      return (20091 * t >> 16) + t;\n    }\n    function ne(t, e, r, n) {\n      var i,\n        o = 0,\n        s = a(16);\n      for (i = 0; 4 > i; ++i) {\n        var c = t[e + 0] + t[e + 8],\n          u = t[e + 0] - t[e + 8],\n          h = (35468 * t[e + 4] >> 16) - re(t[e + 12]),\n          l = re(t[e + 4]) + (35468 * t[e + 12] >> 16);\n        s[o + 0] = c + l, s[o + 1] = u + h, s[o + 2] = u - h, s[o + 3] = c - l, o += 4, e++;\n      }\n      for (i = o = 0; 4 > i; ++i) c = (t = s[o + 0] + 4) + s[o + 8], u = t - s[o + 8], h = (35468 * s[o + 4] >> 16) - re(s[o + 12]), te(r, n, 0, 0, c + (l = re(s[o + 4]) + (35468 * s[o + 12] >> 16))), te(r, n, 1, 0, u + h), te(r, n, 2, 0, u - h), te(r, n, 3, 0, c - l), o++, n += 32;\n    }\n    function ie(t, e, r, n) {\n      var i = t[e + 0] + 4,\n        a = 35468 * t[e + 4] >> 16,\n        o = re(t[e + 4]),\n        s = 35468 * t[e + 1] >> 16;\n      ee(r, n, 0, i + o, t = re(t[e + 1]), s), ee(r, n, 1, i + a, t, s), ee(r, n, 2, i - a, t, s), ee(r, n, 3, i - o, t, s);\n    }\n    function ae(t, e, r, n, i) {\n      ne(t, e, r, n), i && ne(t, e + 16, r, n + 4);\n    }\n    function oe(t, e, r, n) {\n      on(t, e + 0, r, n, 1), on(t, e + 32, r, n + 128, 1);\n    }\n    function se(t, e, r, n) {\n      var i;\n      for (t = t[e + 0] + 4, i = 0; 4 > i; ++i) for (e = 0; 4 > e; ++e) te(r, n, e, i, t);\n    }\n    function ce(t, e, r, n) {\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);\n    }\n    function ue(t, e, r, n) {\n      var i,\n        o = a(16);\n      for (i = 0; 4 > i; ++i) {\n        var s = t[e + 0 + i] + t[e + 12 + i],\n          c = t[e + 4 + i] + t[e + 8 + i],\n          u = t[e + 4 + i] - t[e + 8 + i],\n          h = t[e + 0 + i] - t[e + 12 + i];\n        o[0 + i] = s + c, o[8 + i] = s - c, o[4 + i] = h + u, o[12 + i] = h - u;\n      }\n      for (i = 0; 4 > i; ++i) s = (t = o[0 + 4 * i] + 3) + o[3 + 4 * i], c = o[1 + 4 * i] + o[2 + 4 * i], u = o[1 + 4 * i] - o[2 + 4 * i], h = t - o[3 + 4 * i], r[n + 0] = s + c >> 3, r[n + 16] = h + u >> 3, r[n + 32] = s - c >> 3, r[n + 48] = h - u >> 3, n += 64;\n    }\n    function he(t, e, r) {\n      var n,\n        i = e - 32,\n        a = Bn,\n        o = 255 - t[i - 1];\n      for (n = 0; n < r; ++n) {\n        var s,\n          c = a,\n          u = o + t[e - 1];\n        for (s = 0; s < r; ++s) t[e + s] = c[u + t[i + s]];\n        e += 32;\n      }\n    }\n    function le(t, e) {\n      he(t, e, 4);\n    }\n    function fe(t, e) {\n      he(t, e, 8);\n    }\n    function de(t, e) {\n      he(t, e, 16);\n    }\n    function pe(t, e) {\n      var r;\n      for (r = 0; 16 > r; ++r) n(t, e + 32 * r, t, e - 32, 16);\n    }\n    function ge(t, e) {\n      var r;\n      for (r = 16; 0 < r; --r) i(t, e, t[e - 1], 16), e += 32;\n    }\n    function me(t, e, r) {\n      var n;\n      for (n = 0; 16 > n; ++n) i(e, r + 32 * n, t, 16);\n    }\n    function ve(t, e) {\n      var r,\n        n = 16;\n      for (r = 0; 16 > r; ++r) n += t[e - 1 + 32 * r] + t[e + r - 32];\n      me(n >> 5, t, e);\n    }\n    function be(t, e) {\n      var r,\n        n = 8;\n      for (r = 0; 16 > r; ++r) n += t[e - 1 + 32 * r];\n      me(n >> 4, t, e);\n    }\n    function ye(t, e) {\n      var r,\n        n = 8;\n      for (r = 0; 16 > r; ++r) n += t[e + r - 32];\n      me(n >> 4, t, e);\n    }\n    function we(t, e) {\n      me(128, t, e);\n    }\n    function Ne(t, e, r) {\n      return t + 2 * e + r + 2 >> 2;\n    }\n    function Le(t, e) {\n      var r,\n        i = e - 32;\n      i = new Uint8Array([Ne(t[i - 1], t[i + 0], t[i + 1]), Ne(t[i + 0], t[i + 1], t[i + 2]), Ne(t[i + 1], t[i + 2], t[i + 3]), Ne(t[i + 2], t[i + 3], t[i + 4])]);\n      for (r = 0; 4 > r; ++r) n(t, e + 32 * r, i, 0, i.length);\n    }\n    function Ae(t, e) {\n      var r = t[e - 1],\n        n = t[e - 1 + 32],\n        i = t[e - 1 + 64],\n        a = t[e - 1 + 96];\n      I(t, e + 0, 16843009 * Ne(t[e - 1 - 32], r, n)), I(t, e + 32, 16843009 * Ne(r, n, i)), I(t, e + 64, 16843009 * Ne(n, i, a)), I(t, e + 96, 16843009 * Ne(i, a, a));\n    }\n    function xe(t, e) {\n      var r,\n        n = 4;\n      for (r = 0; 4 > r; ++r) n += t[e + r - 32] + t[e - 1 + 32 * r];\n      for (n >>= 3, r = 0; 4 > r; ++r) i(t, e + 32 * r, n, 4);\n    }\n    function Se(t, e) {\n      var r = t[e - 1 + 0],\n        n = t[e - 1 + 32],\n        i = t[e - 1 + 64],\n        a = t[e - 1 - 32],\n        o = t[e + 0 - 32],\n        s = t[e + 1 - 32],\n        c = t[e + 2 - 32],\n        u = t[e + 3 - 32];\n      t[e + 0 + 96] = Ne(n, i, t[e - 1 + 96]), t[e + 1 + 96] = t[e + 0 + 64] = Ne(r, n, i), t[e + 2 + 96] = t[e + 1 + 64] = t[e + 0 + 32] = Ne(a, r, n), t[e + 3 + 96] = t[e + 2 + 64] = t[e + 1 + 32] = t[e + 0 + 0] = Ne(o, a, r), t[e + 3 + 64] = t[e + 2 + 32] = t[e + 1 + 0] = Ne(s, o, a), t[e + 3 + 32] = t[e + 2 + 0] = Ne(c, s, o), t[e + 3 + 0] = Ne(u, c, s);\n    }\n    function _e(t, e) {\n      var r = t[e + 1 - 32],\n        n = t[e + 2 - 32],\n        i = t[e + 3 - 32],\n        a = t[e + 4 - 32],\n        o = t[e + 5 - 32],\n        s = t[e + 6 - 32],\n        c = t[e + 7 - 32];\n      t[e + 0 + 0] = Ne(t[e + 0 - 32], r, n), t[e + 1 + 0] = t[e + 0 + 32] = Ne(r, n, i), t[e + 2 + 0] = t[e + 1 + 32] = t[e + 0 + 64] = Ne(n, i, a), t[e + 3 + 0] = t[e + 2 + 32] = t[e + 1 + 64] = t[e + 0 + 96] = Ne(i, a, o), t[e + 3 + 32] = t[e + 2 + 64] = t[e + 1 + 96] = Ne(a, o, s), t[e + 3 + 64] = t[e + 2 + 96] = Ne(o, s, c), t[e + 3 + 96] = Ne(s, c, c);\n    }\n    function Pe(t, e) {\n      var r = t[e - 1 + 0],\n        n = t[e - 1 + 32],\n        i = t[e - 1 + 64],\n        a = t[e - 1 - 32],\n        o = t[e + 0 - 32],\n        s = t[e + 1 - 32],\n        c = t[e + 2 - 32],\n        u = t[e + 3 - 32];\n      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 + c + 1 >> 1, t[e + 3 + 0] = c + u + 1 >> 1, t[e + 0 + 96] = Ne(i, n, r), t[e + 0 + 64] = Ne(n, r, a), t[e + 0 + 32] = t[e + 1 + 96] = Ne(r, a, o), t[e + 1 + 32] = t[e + 2 + 96] = Ne(a, o, s), t[e + 2 + 32] = t[e + 3 + 96] = Ne(o, s, c), t[e + 3 + 32] = Ne(s, c, u);\n    }\n    function ke(t, e) {\n      var r = t[e + 0 - 32],\n        n = t[e + 1 - 32],\n        i = t[e + 2 - 32],\n        a = t[e + 3 - 32],\n        o = t[e + 4 - 32],\n        s = t[e + 5 - 32],\n        c = t[e + 6 - 32],\n        u = t[e + 7 - 32];\n      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] = Ne(r, n, i), t[e + 1 + 32] = t[e + 0 + 96] = Ne(n, i, a), t[e + 2 + 32] = t[e + 1 + 96] = Ne(i, a, o), t[e + 3 + 32] = t[e + 2 + 96] = Ne(a, o, s), t[e + 3 + 64] = Ne(o, s, c), t[e + 3 + 96] = Ne(s, c, u);\n    }\n    function Ie(t, e) {\n      var r = t[e - 1 + 0],\n        n = t[e - 1 + 32],\n        i = t[e - 1 + 64],\n        a = t[e - 1 + 96];\n      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] = Ne(r, n, i), t[e + 3 + 0] = t[e + 1 + 32] = Ne(n, i, a), t[e + 3 + 32] = t[e + 1 + 64] = Ne(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;\n    }\n    function Fe(t, e) {\n      var r = t[e - 1 + 0],\n        n = t[e - 1 + 32],\n        i = t[e - 1 + 64],\n        a = t[e - 1 + 96],\n        o = t[e - 1 - 32],\n        s = t[e + 0 - 32],\n        c = t[e + 1 - 32],\n        u = t[e + 2 - 32];\n      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] = Ne(s, c, u), t[e + 2 + 0] = Ne(o, s, c), t[e + 1 + 0] = t[e + 3 + 32] = Ne(r, o, s), t[e + 1 + 32] = t[e + 3 + 64] = Ne(n, r, o), t[e + 1 + 64] = t[e + 3 + 96] = Ne(i, n, r), t[e + 1 + 96] = Ne(a, i, n);\n    }\n    function Ce(t, e) {\n      var r;\n      for (r = 0; 8 > r; ++r) n(t, e + 32 * r, t, e - 32, 8);\n    }\n    function je(t, e) {\n      var r;\n      for (r = 0; 8 > r; ++r) i(t, e, t[e - 1], 8), e += 32;\n    }\n    function Oe(t, e, r) {\n      var n;\n      for (n = 0; 8 > n; ++n) i(e, r + 32 * n, t, 8);\n    }\n    function Be(t, e) {\n      var r,\n        n = 8;\n      for (r = 0; 8 > r; ++r) n += t[e + r - 32] + t[e - 1 + 32 * r];\n      Oe(n >> 4, t, e);\n    }\n    function Me(t, e) {\n      var r,\n        n = 4;\n      for (r = 0; 8 > r; ++r) n += t[e + r - 32];\n      Oe(n >> 3, t, e);\n    }\n    function Ee(t, e) {\n      var r,\n        n = 4;\n      for (r = 0; 8 > r; ++r) n += t[e - 1 + 32 * r];\n      Oe(n >> 3, t, e);\n    }\n    function qe(t, e) {\n      Oe(128, t, e);\n    }\n    function De(t, e, r) {\n      var n = t[e - r],\n        i = t[e + 0],\n        a = 3 * (i - n) + jn[1020 + t[e - 2 * r] - t[e + r]],\n        o = On[112 + (a + 4 >> 3)];\n      t[e - r] = Bn[255 + n + On[112 + (a + 3 >> 3)]], t[e + 0] = Bn[255 + i - o];\n    }\n    function Re(t, e, r, n) {\n      var i = t[e + 0],\n        a = t[e + r];\n      return Mn[255 + t[e - 2 * r] - t[e - r]] > n || Mn[255 + a - i] > n;\n    }\n    function Te(t, e, r, n) {\n      return 4 * Mn[255 + t[e - r] - t[e + 0]] + Mn[255 + t[e - 2 * r] - t[e + r]] <= n;\n    }\n    function Ue(t, e, r, n, i) {\n      var a = t[e - 3 * r],\n        o = t[e - 2 * r],\n        s = t[e - r],\n        c = t[e + 0],\n        u = t[e + r],\n        h = t[e + 2 * r],\n        l = t[e + 3 * r];\n      return 4 * Mn[255 + s - c] + Mn[255 + o - u] > n ? 0 : Mn[255 + t[e - 4 * r] - a] <= i && Mn[255 + a - o] <= i && Mn[255 + o - s] <= i && Mn[255 + l - h] <= i && Mn[255 + h - u] <= i && Mn[255 + u - c] <= i;\n    }\n    function ze(t, e, r, n) {\n      var i = 2 * n + 1;\n      for (n = 0; 16 > n; ++n) Te(t, e + n, r, i) && De(t, e + n, r);\n    }\n    function He(t, e, r, n) {\n      var i = 2 * n + 1;\n      for (n = 0; 16 > n; ++n) Te(t, e + n * r, 1, i) && De(t, e + n * r, 1);\n    }\n    function We(t, e, r, n) {\n      var i;\n      for (i = 3; 0 < i; --i) ze(t, e += 4 * r, r, n);\n    }\n    function Ve(t, e, r, n) {\n      var i;\n      for (i = 3; 0 < i; --i) He(t, e += 4, r, n);\n    }\n    function Ge(t, e, r, n, i, a, o, s) {\n      for (a = 2 * a + 1; 0 < i--;) {\n        if (Ue(t, e, r, a, o)) if (Re(t, e, r, s)) De(t, e, r);else {\n          var c = t,\n            u = e,\n            h = r,\n            l = c[u - 2 * h],\n            f = c[u - h],\n            d = c[u + 0],\n            p = c[u + h],\n            g = c[u + 2 * h],\n            m = 27 * (b = jn[1020 + 3 * (d - f) + jn[1020 + l - p]]) + 63 >> 7,\n            v = 18 * b + 63 >> 7,\n            b = 9 * b + 63 >> 7;\n          c[u - 3 * h] = Bn[255 + c[u - 3 * h] + b], c[u - 2 * h] = Bn[255 + l + v], c[u - h] = Bn[255 + f + m], c[u + 0] = Bn[255 + d - m], c[u + h] = Bn[255 + p - v], c[u + 2 * h] = Bn[255 + g - b];\n        }\n        e += n;\n      }\n    }\n    function Ye(t, e, r, n, i, a, o, s) {\n      for (a = 2 * a + 1; 0 < i--;) {\n        if (Ue(t, e, r, a, o)) if (Re(t, e, r, s)) De(t, e, r);else {\n          var c = t,\n            u = e,\n            h = r,\n            l = c[u - h],\n            f = c[u + 0],\n            d = c[u + h],\n            p = On[112 + ((g = 3 * (f - l)) + 4 >> 3)],\n            g = On[112 + (g + 3 >> 3)],\n            m = p + 1 >> 1;\n          c[u - 2 * h] = Bn[255 + c[u - 2 * h] + m], c[u - h] = Bn[255 + l + g], c[u + 0] = Bn[255 + f - p], c[u + h] = Bn[255 + d - m];\n        }\n        e += n;\n      }\n    }\n    function Je(t, e, r, n, i, a) {\n      Ge(t, e, r, 1, 16, n, i, a);\n    }\n    function Xe(t, e, r, n, i, a) {\n      Ge(t, e, 1, r, 16, n, i, a);\n    }\n    function Ke(t, e, r, n, i, a) {\n      var o;\n      for (o = 3; 0 < o; --o) Ye(t, e += 4 * r, r, 1, 16, n, i, a);\n    }\n    function Ze(t, e, r, n, i, a) {\n      var o;\n      for (o = 3; 0 < o; --o) Ye(t, e += 4, 1, r, 16, n, i, a);\n    }\n    function $e(t, e, r, n, i, a, o, s) {\n      Ge(t, e, i, 1, 8, a, o, s), Ge(r, n, i, 1, 8, a, o, s);\n    }\n    function Qe(t, e, r, n, i, a, o, s) {\n      Ge(t, e, 1, i, 8, a, o, s), Ge(r, n, 1, i, 8, a, o, s);\n    }\n    function tr(t, e, r, n, i, a, o, s) {\n      Ye(t, e + 4 * i, i, 1, 8, a, o, s), Ye(r, n + 4 * i, i, 1, 8, a, o, s);\n    }\n    function er(t, e, r, n, i, a, o, s) {\n      Ye(t, e + 4, 1, i, 8, a, o, s), Ye(r, n + 4, 1, i, 8, a, o, s);\n    }\n    function rr() {\n      this.ba = new ot(), this.ec = [], this.cc = [], this.Mc = [], this.Dc = this.Nc = this.dc = this.fc = 0, this.Oa = new ct(), this.memory = 0, this.Ib = \"OutputFunc\", this.Jb = \"OutputAlphaFunc\", this.Nd = \"OutputRowFunc\";\n    }\n    function nr() {\n      this.data = [], this.offset = this.kd = this.ha = this.w = 0, this.na = [], this.xa = this.gb = this.Ja = this.Sa = this.P = 0;\n    }\n    function ir() {\n      this.nc = this.Ea = this.b = this.hc = 0, this.K = [], this.w = 0;\n    }\n    function ar() {\n      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 l();\n    }\n    function or() {\n      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 ar(), this.ab = 0, this.gc = o(4, ir), this.Oc = 0;\n    }\n    function sr() {\n      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;\n    }\n    function cr(t, e, r, n, i, a, o) {\n      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];\n    }\n    function ur(t, e, r, n, i, a, o) {\n      var s;\n      if (null == t) cr(null, null, r, n, i, a, o);else for (s = 0; s < o; ++s) i[a + s] = t[e + s] + r[n + s] & 255;\n    }\n    function hr(t, e, r, n, i, a, o) {\n      if (null == t) cr(null, null, r, n, i, a, o);else {\n        var s,\n          c = t[e + 0],\n          u = c,\n          h = c;\n        for (s = 0; s < o; ++s) u = h + (c = t[e + s]) - u, h = r[n + s] + (-256 & u ? 0 > u ? 0 : 255 : u) & 255, u = c, i[a + s] = h;\n      }\n    }\n    function lr(t, r, i, o) {\n      var s = r.width,\n        c = r.o;\n      if (e(null != t && null != r), 0 > i || 0 >= o || i + o > c) return null;\n      if (!t.Cc) {\n        if (null == t.ga) {\n          var u;\n          if (t.ga = new sr(), (u = null == t.ga) || (u = r.width * r.o, e(0 == t.Gb.length), t.Gb = a(u), t.Uc = 0, null == t.Gb ? u = 0 : (t.mb = t.Gb, t.nb = t.Uc, t.rc = null, u = 1), u = !u), !u) {\n            u = t.ga;\n            var h = t.Fa,\n              l = t.P,\n              f = t.qc,\n              d = t.mb,\n              p = t.nb,\n              g = l + 1,\n              m = f - 1,\n              b = u.l;\n            if (e(null != h && null != d && null != r), mi[0] = null, mi[1] = cr, mi[2] = ur, mi[3] = hr, u.ca = d, u.tb = p, u.c = r.width, u.i = r.height, e(0 < u.c && 0 < u.i), 1 >= f) r = 0;else if (u.$a = h[l + 0] >> 0 & 3, u.Z = h[l + 0] >> 2 & 3, u.Lc = h[l + 0] >> 4 & 3, l = h[l + 0] >> 6 & 3, 0 > u.$a || 1 < u.$a || 4 <= u.Z || 1 < u.Lc || l) r = 0;else if (b.put = dt, b.ac = ft, b.bc = pt, b.ma = u, 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, u.$a) t: {\n              e(1 == u.$a), r = kt();\n              e: for (;;) {\n                if (null == r) {\n                  r = 0;\n                  break t;\n                }\n                if (e(null != u), u.mc = r, r.c = u.c, r.i = u.i, r.l = u.l, r.l.ma = u, r.l.width = u.c, r.l.height = u.i, r.a = 0, v(r.m, h, g, m), !It(u.c, u.i, 1, r, null)) break e;\n                if (1 == r.ab && 3 == r.gc[0].hc && At(r.s) ? (u.ic = 1, h = r.c * r.i, r.Ta = null, r.Ua = 0, r.V = a(h), r.Ba = 0, null == r.V ? (r.a = 1, r = 0) : r = 1) : (u.ic = 0, r = Ft(r, u.c)), !r) break e;\n                r = 1;\n                break t;\n              }\n              u.mc = null, r = 0;\n            } else r = m >= u.c * u.i;\n            u = !r;\n          }\n          if (u) return null;\n          1 != t.ga.Lc ? t.Ga = 0 : o = c - i;\n        }\n        e(null != t.ga), e(i + o <= c);\n        t: {\n          if (r = (h = t.ga).c, c = h.l.o, 0 == h.$a) {\n            if (g = t.rc, m = t.Vc, b = t.Fa, l = t.P + 1 + i * r, f = t.mb, d = t.nb + i * r, e(l <= t.P + t.qc), 0 != h.Z) for (e(null != mi[h.Z]), u = 0; u < o; ++u) mi[h.Z](g, m, b, l, f, d, r), g = f, m = d, d += r, l += r;else for (u = 0; u < o; ++u) n(f, d, b, l, r), g = f, m = d, d += r, l += r;\n            t.rc = g, t.Vc = m;\n          } else {\n            if (e(null != h.mc), r = i + o, e(null != (u = h.mc)), e(r <= u.i), u.C >= r) r = 1;else if (h.ic || mr(), h.ic) {\n              h = u.V, g = u.Ba, m = u.c;\n              var y = u.i,\n                w = (b = 1, l = u.$ / m, f = u.$ % m, d = u.m, p = u.s, u.$),\n                N = m * y,\n                L = m * r,\n                x = p.wc,\n                _ = w < L ? wt(p, f, l) : null;\n              e(w <= N), e(r <= y), e(At(p));\n              e: for (;;) {\n                for (; !d.h && w < L;) {\n                  if (f & x || (_ = wt(p, f, l)), e(null != _), S(d), 256 > (y = bt(_.G[0], _.H[0], d))) h[g + w] = y, ++w, ++f >= m && (f = 0, ++l <= r && !(l % 16) && St(u, l));else {\n                    if (!(280 > y)) {\n                      b = 0;\n                      break e;\n                    }\n                    y = mt(y - 256, d);\n                    var P,\n                      k = bt(_.G[4], _.H[4], d);\n                    if (S(d), !(w >= (k = vt(m, k = mt(k, d))) && N - w >= y)) {\n                      b = 0;\n                      break e;\n                    }\n                    for (P = 0; P < y; ++P) h[g + w + P] = h[g + w + P - k];\n                    for (w += y, f += y; f >= m;) f -= m, ++l <= r && !(l % 16) && St(u, l);\n                    w < L && f & x && (_ = wt(p, f, l));\n                  }\n                  e(d.h == A(d));\n                }\n                St(u, l > r ? r : l);\n                break e;\n              }\n              !b || d.h && w < N ? (b = 0, u.a = d.h ? 5 : 3) : u.$ = w, r = b;\n            } else r = _t(u, u.V, u.Ba, u.c, u.i, r, Ct);\n            if (!r) {\n              o = 0;\n              break t;\n            }\n          }\n          i + o >= c && (t.Cc = 1), o = 1;\n        }\n        if (!o) return null;\n        if (t.Cc && (null != (o = t.ga) && (o.mc = null), t.ga = null, 0 < t.Ga)) return alert(\"todo:WebPDequantizeLevels\"), null;\n      }\n      return t.nb + i * s;\n    }\n    function fr(t, e, r, n, i, a) {\n      for (; 0 < i--;) {\n        var o,\n          s = t,\n          c = e + (r ? 1 : 0),\n          u = t,\n          h = e + (r ? 0 : 3);\n        for (o = 0; o < n; ++o) {\n          var l = u[h + 4 * o];\n          255 != l && (l *= 32897, s[c + 4 * o + 0] = s[c + 4 * o + 0] * l >> 23, s[c + 4 * o + 1] = s[c + 4 * o + 1] * l >> 23, s[c + 4 * o + 2] = s[c + 4 * o + 2] * l >> 23);\n        }\n        e += a;\n      }\n    }\n    function dr(t, e, r, n, i) {\n      for (; 0 < n--;) {\n        var a;\n        for (a = 0; a < r; ++a) {\n          var o = t[e + 2 * a + 0],\n            s = 15 & (u = t[e + 2 * a + 1]),\n            c = 4369 * s,\n            u = (240 & u | u >> 4) * c >> 16;\n          t[e + 2 * a + 0] = (240 & o | o >> 4) * c >> 16 & 240 | (15 & o | o << 4) * c >> 16 >> 4 & 15, t[e + 2 * a + 1] = 240 & u | s;\n        }\n        e += i;\n      }\n    }\n    function pr(t, e, r, n, i, a, o, s) {\n      var c,\n        u,\n        h = 255;\n      for (u = 0; u < i; ++u) {\n        for (c = 0; c < n; ++c) {\n          var l = t[e + c];\n          a[o + 4 * c] = l, h &= l;\n        }\n        e += r, o += s;\n      }\n      return 255 != h;\n    }\n    function gr(t, e, r, n, i) {\n      var a;\n      for (a = 0; a < i; ++a) r[n + a] = t[e + a] >> 8;\n    }\n    function mr() {\n      An = fr, xn = dr, Sn = pr, _n = gr;\n    }\n    function vr(r, n, i) {\n      t[r] = function (t, r, a, o, s, c, u, h, l, f, d, p, g, m, v, b, y) {\n        var w,\n          N = y - 1 >> 1,\n          L = s[c + 0] | u[h + 0] << 16,\n          A = l[f + 0] | d[p + 0] << 16;\n        e(null != t);\n        var x = 3 * L + A + 131074 >> 2;\n        for (n(t[r + 0], 255 & x, x >> 16, g, m), null != a && (x = 3 * A + L + 131074 >> 2, n(a[o + 0], 255 & x, x >> 16, v, b)), w = 1; w <= N; ++w) {\n          var S = s[c + w] | u[h + w] << 16,\n            _ = l[f + w] | d[p + w] << 16,\n            P = L + S + A + _ + 524296,\n            k = P + 2 * (S + A) >> 3;\n          x = k + L >> 1, L = (P = P + 2 * (L + _) >> 3) + S >> 1, n(t[r + 2 * w - 1], 255 & x, x >> 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 && (x = P + A >> 1, L = k + _ >> 1, n(a[o + 2 * w - 1], 255 & x, x >> 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, A = _;\n        }\n        1 & y || (x = 3 * L + A + 131074 >> 2, n(t[r + y - 1], 255 & x, x >> 16, g, m + (y - 1) * i), null != a && (x = 3 * A + L + 131074 >> 2, n(a[o + y - 1], 255 & x, x >> 16, v, b + (y - 1) * i)));\n      };\n    }\n    function br() {\n      vi[En] = bi, vi[qn] = wi, vi[Dn] = yi, vi[Rn] = Ni, vi[Tn] = Li, vi[Un] = Ai, vi[zn] = xi, vi[Hn] = wi, vi[Wn] = Ni, vi[Vn] = Li, vi[Gn] = Ai;\n    }\n    function yr(t) {\n      return t & ~Fi ? 0 > t ? 0 : 255 : t >> Ii;\n    }\n    function wr(t, e) {\n      return yr((19077 * t >> 8) + (26149 * e >> 8) - 14234);\n    }\n    function Nr(t, e, r) {\n      return yr((19077 * t >> 8) - (6419 * e >> 8) - (13320 * r >> 8) + 8708);\n    }\n    function Lr(t, e) {\n      return yr((19077 * t >> 8) + (33050 * e >> 8) - 17685);\n    }\n    function Ar(t, e, r, n, i) {\n      n[i + 0] = wr(t, r), n[i + 1] = Nr(t, e, r), n[i + 2] = Lr(t, e);\n    }\n    function xr(t, e, r, n, i) {\n      n[i + 0] = Lr(t, e), n[i + 1] = Nr(t, e, r), n[i + 2] = wr(t, r);\n    }\n    function Sr(t, e, r, n, i) {\n      var a = Nr(t, e, r);\n      e = a << 3 & 224 | Lr(t, e) >> 3, n[i + 0] = 248 & wr(t, r) | a >> 5, n[i + 1] = e;\n    }\n    function _r(t, e, r, n, i) {\n      var a = 240 & Lr(t, e) | 15;\n      n[i + 0] = 240 & wr(t, r) | Nr(t, e, r) >> 4, n[i + 1] = a;\n    }\n    function Pr(t, e, r, n, i) {\n      n[i + 0] = 255, Ar(t, e, r, n, i + 1);\n    }\n    function kr(t, e, r, n, i) {\n      xr(t, e, r, n, i), n[i + 3] = 255;\n    }\n    function Ir(t, e, r, n, i) {\n      Ar(t, e, r, n, i), n[i + 3] = 255;\n    }\n    function Vt(t, e) {\n      return 0 > t ? 0 : t > e ? e : t;\n    }\n    function Fr(e, r, n) {\n      t[e] = function (t, e, i, a, o, s, c, u, h) {\n        for (var l = u + (-2 & h) * n; u != l;) r(t[e + 0], i[a + 0], o[s + 0], c, u), r(t[e + 1], i[a + 0], o[s + 0], c, u + n), e += 2, ++a, ++s, u += 2 * n;\n        1 & h && r(t[e + 0], i[a + 0], o[s + 0], c, u);\n      };\n    }\n    function Cr(t, e, r) {\n      return 0 == r ? 0 == t ? 0 == e ? 6 : 5 : 0 == e ? 4 : 0 : r;\n    }\n    function jr(t, e, r, n, i) {\n      switch (t >>> 30) {\n        case 3:\n          on(e, r, n, i, 0);\n          break;\n        case 2:\n          sn(e, r, n, i);\n          break;\n        case 1:\n          un(e, r, n, i);\n      }\n    }\n    function Or(t, e) {\n      var r,\n        a,\n        o = e.M,\n        s = e.Nb,\n        c = t.oc,\n        u = t.pc + 40,\n        h = t.oc,\n        l = t.pc + 584,\n        f = t.oc,\n        d = t.pc + 600;\n      for (r = 0; 16 > r; ++r) c[u + 32 * r - 1] = 129;\n      for (r = 0; 8 > r; ++r) h[l + 32 * r - 1] = 129, f[d + 32 * r - 1] = 129;\n      for (0 < o ? c[u - 1 - 32] = h[l - 1 - 32] = f[d - 1 - 32] = 129 : (i(c, u - 32 - 1, 127, 21), i(h, l - 32 - 1, 127, 9), i(f, d - 32 - 1, 127, 9)), a = 0; a < t.za; ++a) {\n        var p = e.ya[e.aa + a];\n        if (0 < a) {\n          for (r = -1; 16 > r; ++r) n(c, u + 32 * r - 4, c, u + 32 * r + 12, 4);\n          for (r = -1; 8 > r; ++r) n(h, l + 32 * r - 4, h, l + 32 * r + 4, 4), n(f, d + 32 * r - 4, f, d + 32 * r + 4, 4);\n        }\n        var g = t.Gd,\n          m = t.Hd + a,\n          v = p.ad,\n          b = p.Hc;\n        if (0 < o && (n(c, u - 32, g[m].y, 0, 16), n(h, l - 32, g[m].f, 0, 8), n(f, d - 32, g[m].ea, 0, 8)), p.Za) {\n          var y = c,\n            w = u - 32 + 16;\n          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];\n          for (r = 0; 16 > r; ++r, b <<= 2) y = c, w = u + Di[r], fi[p.Ob[r]](y, w), jr(b, v, 16 * +r, y, w);\n        } else if (y = Cr(a, o, p.Ob[0]), li[y](c, u), 0 != b) for (r = 0; 16 > r; ++r, b <<= 2) jr(b, v, 16 * +r, c, u + Di[r]);\n        for (r = p.Gc, y = Cr(a, o, p.Dd), di[y](h, l), di[y](f, d), b = v, y = h, w = l, 255 & (p = r >> 0) && (170 & p ? cn(b, 256, y, w) : hn(b, 256, y, w)), p = f, b = d, 255 & (r >>= 8) && (170 & r ? cn(v, 320, p, b) : hn(v, 320, p, b)), o < t.Ub - 1 && (n(g[m].y, 0, c, u + 480, 16), n(g[m].f, 0, h, l + 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, c, u + 32 * r, 16);\n        for (r = 0; 8 > r; ++r) n(v, p + r * t.B, h, l + 32 * r, 8), n(b, y + r * t.B, f, d + 32 * r, 8);\n      }\n    }\n    function Br(t, n, i, a, o, s, c, u, h) {\n      var l = [0],\n        f = [0],\n        d = 0,\n        p = null != h ? h.kd : 0,\n        g = null != h ? h : new nr();\n      if (null == t || 12 > i) return 7;\n      g.data = t, g.w = n, g.ha = i, n = [n], i = [i], g.gb = [g.gb];\n      t: {\n        var m = n,\n          b = i,\n          y = g.gb;\n        if (e(null != t), e(null != b), e(null != y), y[0] = 0, 12 <= b[0] && !r(t, m[0], \"RIFF\")) {\n          if (r(t, m[0] + 8, \"WEBP\")) {\n            y = 3;\n            break t;\n          }\n          var w = j(t, m[0] + 4);\n          if (12 > w || 4294967286 < w) {\n            y = 3;\n            break t;\n          }\n          if (p && w > b[0] - 8) {\n            y = 7;\n            break t;\n          }\n          y[0] = w, m[0] += 12, b[0] -= 12;\n        }\n        y = 0;\n      }\n      if (0 != y) return y;\n      for (w = 0 < g.gb[0], i = i[0];;) {\n        t: {\n          var L = t;\n          b = n, y = i;\n          var A = l,\n            x = f,\n            S = m = [0];\n          if ((k = d = [d])[0] = 0, 8 > y[0]) y = 7;else {\n            if (!r(L, b[0], \"VP8X\")) {\n              if (10 != j(L, b[0] + 4)) {\n                y = 3;\n                break t;\n              }\n              if (18 > y[0]) {\n                y = 7;\n                break t;\n              }\n              var _ = j(L, b[0] + 8),\n                P = 1 + C(L, b[0] + 12);\n              if (2147483648 <= P * (L = 1 + C(L, b[0] + 15))) {\n                y = 3;\n                break t;\n              }\n              null != S && (S[0] = _), null != A && (A[0] = P), null != x && (x[0] = L), b[0] += 18, y[0] -= 18, k[0] = 1;\n            }\n            y = 0;\n          }\n        }\n        if (d = d[0], m = m[0], 0 != y) return y;\n        if (b = !!(2 & m), !w && d) return 3;\n        if (null != s && (s[0] = !!(16 & m)), null != c && (c[0] = b), null != u && (u[0] = 0), c = l[0], m = f[0], d && b && null == h) {\n          y = 0;\n          break;\n        }\n        if (4 > i) {\n          y = 7;\n          break;\n        }\n        if (w && d || !w && !d && !r(t, n[0], \"ALPH\")) {\n          i = [i], g.na = [g.na], g.P = [g.P], g.Sa = [g.Sa];\n          t: {\n            _ = t, y = n, w = i;\n            var k = g.gb;\n            A = g.na, x = g.P, S = g.Sa;\n            P = 22, e(null != _), e(null != w), L = y[0];\n            var I = w[0];\n            for (e(null != A), e(null != S), A[0] = null, x[0] = null, S[0] = 0;;) {\n              if (y[0] = L, w[0] = I, 8 > I) {\n                y = 7;\n                break t;\n              }\n              var F = j(_, L + 4);\n              if (4294967286 < F) {\n                y = 3;\n                break t;\n              }\n              var O = 8 + F + 1 & -2;\n              if (P += O, 0 < k && P > k) {\n                y = 3;\n                break t;\n              }\n              if (!r(_, L, \"VP8 \") || !r(_, L, \"VP8L\")) {\n                y = 0;\n                break t;\n              }\n              if (I[0] < O) {\n                y = 7;\n                break t;\n              }\n              r(_, L, \"ALPH\") || (A[0] = _, x[0] = L + 8, S[0] = F), L += O, I -= O;\n            }\n          }\n          if (i = i[0], g.na = g.na[0], g.P = g.P[0], g.Sa = g.Sa[0], 0 != y) break;\n        }\n        i = [i], g.Ja = [g.Ja], g.xa = [g.xa];\n        t: if (k = t, y = n, w = i, A = g.gb[0], x = g.Ja, S = g.xa, _ = y[0], L = !r(k, _, \"VP8 \"), P = !r(k, _, \"VP8L\"), e(null != k), e(null != w), e(null != x), e(null != S), 8 > w[0]) y = 7;else {\n          if (L || P) {\n            if (k = j(k, _ + 4), 12 <= A && k > A - 12) {\n              y = 3;\n              break t;\n            }\n            if (p && k > w[0] - 8) {\n              y = 7;\n              break t;\n            }\n            x[0] = k, y[0] += 8, w[0] -= 8, S[0] = P;\n          } else S[0] = 5 <= w[0] && 47 == k[_ + 0] && !(k[_ + 4] >> 5), x[0] = w[0];\n          y = 0;\n        }\n        if (i = i[0], g.Ja = g.Ja[0], g.xa = g.xa[0], n = n[0], 0 != y) break;\n        if (4294967286 < g.Ja) return 3;\n        if (null == u || b || (u[0] = g.xa ? 2 : 1), c = [c], m = [m], g.xa) {\n          if (5 > i) {\n            y = 7;\n            break;\n          }\n          u = c, p = m, b = s, null == t || 5 > i ? t = 0 : 5 <= i && 47 == t[n + 0] && !(t[n + 4] >> 5) ? (w = [0], k = [0], A = [0], v(x = new N(), t, n, i), gt(x, w, k, A) ? (null != u && (u[0] = w[0]), null != p && (p[0] = k[0]), null != b && (b[0] = A[0]), t = 1) : t = 0) : t = 0;\n        } else {\n          if (10 > i) {\n            y = 7;\n            break;\n          }\n          u = 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 : (c && (c[0] = b), u && (u[0] = t), t = 1));\n        }\n        if (!t) return 3;\n        if (c = c[0], m = m[0], d && (l[0] != c || f[0] != m)) return 3;\n        null != h && (h[0] = g, h.offset = n - h.w, e(4294967286 > n - h.w), e(h.offset == h.ha - i));\n        break;\n      }\n      return 0 == y || 7 == y && d && null == h ? (null != s && (s[0] |= null != g.na && 0 < g.na.length), null != a && (a[0] = c), null != o && (o[0] = m), 0) : y;\n    }\n    function Mr(t, e, r) {\n      var n = e.width,\n        i = e.height,\n        a = 0,\n        o = 0,\n        s = n,\n        c = i;\n      if (e.Da = null != t && 0 < t.Da, e.Da && (s = t.cd, c = t.bd, a = t.v, o = t.j, 11 > r || (a &= -2, o &= -2), 0 > a || 0 > o || 0 >= s || 0 >= c || a + s > n || o + c > i)) return 0;\n      if (e.v = a, e.j = o, e.va = a + s, e.o = o + c, e.U = s, e.T = c, e.da = null != t && 0 < t.da, e.da) {\n        if (!E(s, c, r = [t.ib], a = [t.hb])) return 0;\n        e.ib = r[0], e.hb = a[0];\n      }\n      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;\n    }\n    function Er(t) {\n      if (null == t) return 2;\n      if (11 > t.S) {\n        var e = t.f.RGBA;\n        e.fb += (t.height - 1) * e.A, e.A = -e.A;\n      } 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);\n      return 0;\n    }\n    function qr(t, e, r, n) {\n      if (null == n || 0 >= t || 0 >= e) return 2;\n      if (null != r) {\n        if (r.Da) {\n          var i = r.cd,\n            o = r.bd,\n            s = -2 & r.v,\n            c = -2 & r.j;\n          if (0 > s || 0 > c || 0 >= i || 0 >= o || s + i > t || c + o > e) return 2;\n          t = i, e = o;\n        }\n        if (r.da) {\n          if (!E(t, e, i = [r.ib], o = [r.hb])) return 2;\n          t = i[0], e = o[0];\n        }\n      }\n      n.width = t, n.height = e;\n      t: {\n        var u = n.width,\n          h = n.height;\n        if (t = n.S, 0 >= u || 0 >= h || !(t >= En && 13 > t)) t = 2;else {\n          if (0 >= n.Rd && null == n.sd) {\n            s = o = i = e = 0;\n            var l = (c = u * zi[t]) * h;\n            if (11 > t || (o = (h + 1) / 2 * (e = (u + 1) / 2), 12 == t && (s = (i = u) * h)), null == (h = a(l + 2 * o + s))) {\n              t = 1;\n              break t;\n            }\n            n.sd = h, 11 > t ? ((u = n.f.RGBA).eb = h, u.fb = 0, u.A = c, u.size = l) : ((u = n.f.kb).y = h, u.O = 0, u.fa = c, u.Fd = l, u.f = h, u.N = 0 + l, u.Ab = e, u.Cd = o, u.ea = h, u.W = 0 + l + o, u.Db = e, u.Ed = o, 12 == t && (u.F = h, u.J = 0 + l + 2 * o), u.Tc = s, u.lb = i);\n          }\n          if (e = 1, i = n.S, o = n.width, s = n.height, i >= En && 13 > i) {\n            if (11 > i) t = n.f.RGBA, e &= (c = Math.abs(t.A)) * (s - 1) + o <= t.size, e &= c >= o * zi[i], e &= null != t.eb;else {\n              t = n.f.kb, c = (o + 1) / 2, l = (s + 1) / 2, u = Math.abs(t.fa);\n              h = Math.abs(t.Ab);\n              var f = Math.abs(t.Db),\n                d = Math.abs(t.lb),\n                p = d * (s - 1) + o;\n              e &= u * (s - 1) + o <= t.Fd, e &= h * (l - 1) + c <= t.Cd, e = (e &= f * (l - 1) + c <= t.Ed) & u >= o & h >= c & f >= c, 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);\n            }\n          } else e = 0;\n          t = e ? 0 : 2;\n        }\n      }\n      return 0 != t || null != r && r.fd && (t = Er(n)), t;\n    }\n    var Dr = 64,\n      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],\n      Tr = 24,\n      Ur = 32,\n      zr = 8,\n      Hr = [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];\n    R(\"Predictor0\", \"PredictorAdd0\"), t.Predictor0 = function () {\n      return 4278190080;\n    }, t.Predictor1 = function (t) {\n      return t;\n    }, t.Predictor2 = function (t, e, r) {\n      return e[r + 0];\n    }, t.Predictor3 = function (t, e, r) {\n      return e[r + 1];\n    }, t.Predictor4 = function (t, e, r) {\n      return e[r - 1];\n    }, t.Predictor5 = function (t, e, r) {\n      return U(U(t, e[r + 1]), e[r + 0]);\n    }, t.Predictor6 = function (t, e, r) {\n      return U(t, e[r - 1]);\n    }, t.Predictor7 = function (t, e, r) {\n      return U(t, e[r + 0]);\n    }, t.Predictor8 = function (t, e, r) {\n      return U(e[r - 1], e[r + 0]);\n    }, t.Predictor9 = function (t, e, r) {\n      return U(e[r + 0], e[r + 1]);\n    }, t.Predictor10 = function (t, e, r) {\n      return U(U(t, e[r - 1]), U(e[r + 0], e[r + 1]));\n    }, t.Predictor11 = function (t, e, r) {\n      var n = e[r + 0];\n      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;\n    }, t.Predictor12 = function (t, e, r) {\n      var n = e[r + 0];\n      return (z((t >> 24 & 255) + (n >> 24 & 255) - ((e = e[r - 1]) >> 24 & 255)) << 24 | z((t >> 16 & 255) + (n >> 16 & 255) - (e >> 16 & 255)) << 16 | z((t >> 8 & 255) + (n >> 8 & 255) - (e >> 8 & 255)) << 8 | z((255 & t) + (255 & n) - (255 & e))) >>> 0;\n    }, t.Predictor13 = function (t, e, r) {\n      var n = e[r - 1];\n      return (H((t = U(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(t >> 0 & 255, n >> 0 & 255)) >>> 0;\n    };\n    var Wr = t.PredictorAdd0;\n    t.PredictorAdd1 = V, R(\"Predictor2\", \"PredictorAdd2\"), R(\"Predictor3\", \"PredictorAdd3\"), R(\"Predictor4\", \"PredictorAdd4\"), R(\"Predictor5\", \"PredictorAdd5\"), R(\"Predictor6\", \"PredictorAdd6\"), R(\"Predictor7\", \"PredictorAdd7\"), R(\"Predictor8\", \"PredictorAdd8\"), R(\"Predictor9\", \"PredictorAdd9\"), R(\"Predictor10\", \"PredictorAdd10\"), R(\"Predictor11\", \"PredictorAdd11\"), R(\"Predictor12\", \"PredictorAdd12\"), R(\"Predictor13\", \"PredictorAdd13\");\n    var Vr = t.PredictorAdd2;\n    X(\"ColorIndexInverseTransform\", \"MapARGB\", \"32b\", function (t) {\n      return t >> 8 & 255;\n    }, function (t) {\n      return t;\n    }), X(\"VP8LColorIndexInverseTransformAlpha\", \"MapAlpha\", \"8b\", function (t) {\n      return t;\n    }, function (t) {\n      return t >> 8 & 255;\n    });\n    var Gr,\n      Yr = t.ColorIndexInverseTransform,\n      Jr = t.MapARGB,\n      Xr = t.VP8LColorIndexInverseTransformAlpha,\n      Kr = t.MapAlpha,\n      Zr = t.VP8LPredictorsAdd = [];\n    Zr.length = 16, (t.VP8LPredictors = []).length = 16, (t.VP8LPredictorsAdd_C = []).length = 16, (t.VP8LPredictors_C = []).length = 16;\n    var $r,\n      Qr,\n      tn,\n      en,\n      rn,\n      nn,\n      an,\n      on,\n      sn,\n      cn,\n      un,\n      hn,\n      ln,\n      fn,\n      dn,\n      pn,\n      gn,\n      mn,\n      vn,\n      bn,\n      yn,\n      wn,\n      Nn,\n      Ln,\n      An,\n      xn,\n      Sn,\n      _n,\n      Pn = a(511),\n      kn = a(2041),\n      In = a(225),\n      Fn = a(767),\n      Cn = 0,\n      jn = kn,\n      On = In,\n      Bn = Fn,\n      Mn = Pn,\n      En = 0,\n      qn = 1,\n      Dn = 2,\n      Rn = 3,\n      Tn = 4,\n      Un = 5,\n      zn = 6,\n      Hn = 7,\n      Wn = 8,\n      Vn = 9,\n      Gn = 10,\n      Yn = [2, 3, 7],\n      Jn = [3, 3, 11],\n      Xn = [280, 256, 256, 256, 40],\n      Kn = [0, 1, 1, 1, 0],\n      Zn = [17, 18, 0, 1, 2, 3, 4, 5, 16, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],\n      $n = [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      Qn = [2954, 2956, 2958, 2962, 2970, 2986, 3018, 3082, 3212, 3468, 3980, 5004],\n      ti = 8,\n      ei = [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],\n      ri = [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],\n      ni = null,\n      ii = [[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]],\n      ai = [0, 1, 4, 8, 5, 2, 3, 6, 9, 12, 13, 10, 7, 11, 14, 15],\n      oi = [-0, 1, -1, 2, -2, 3, 4, 6, -3, 5, -4, -5, -6, 7, -7, 8, -8, -9],\n      si = [[[[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]]]],\n      ci = [[[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]]],\n      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]]]],\n      hi = [0, 1, 2, 3, 6, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 0],\n      li = [],\n      fi = [],\n      di = [],\n      pi = 1,\n      gi = 2,\n      mi = [],\n      vi = [];\n    vr(\"UpsampleRgbLinePair\", Ar, 3), vr(\"UpsampleBgrLinePair\", xr, 3), vr(\"UpsampleRgbaLinePair\", Ir, 4), vr(\"UpsampleBgraLinePair\", kr, 4), vr(\"UpsampleArgbLinePair\", Pr, 4), vr(\"UpsampleRgba4444LinePair\", _r, 2), vr(\"UpsampleRgb565LinePair\", Sr, 2);\n    var bi = t.UpsampleRgbLinePair,\n      yi = t.UpsampleBgrLinePair,\n      wi = t.UpsampleRgbaLinePair,\n      Ni = t.UpsampleBgraLinePair,\n      Li = t.UpsampleArgbLinePair,\n      Ai = t.UpsampleRgba4444LinePair,\n      xi = t.UpsampleRgb565LinePair,\n      Si = 16,\n      _i = 1 << Si - 1,\n      Pi = -227,\n      ki = 482,\n      Ii = 6,\n      Fi = (256 << Ii) - 1,\n      Ci = 0,\n      ji = a(256),\n      Oi = a(256),\n      Bi = a(256),\n      Mi = a(256),\n      Ei = a(ki - Pi),\n      qi = a(ki - Pi);\n    Fr(\"YuvToRgbRow\", Ar, 3), Fr(\"YuvToBgrRow\", xr, 3), Fr(\"YuvToRgbaRow\", Ir, 4), Fr(\"YuvToBgraRow\", kr, 4), Fr(\"YuvToArgbRow\", Pr, 4), Fr(\"YuvToRgba4444Row\", _r, 2), Fr(\"YuvToRgb565Row\", Sr, 2);\n    var Di = [0, 4, 8, 12, 128, 132, 136, 140, 256, 260, 264, 268, 384, 388, 392, 396],\n      Ri = [0, 2, 8],\n      Ti = [8, 7, 6, 4, 4, 2, 2, 2, 1, 1, 1, 1],\n      Ui = 1;\n    this.WebPDecodeRGBA = function (t, r, n, i, a) {\n      var o = qn,\n        s = new rr(),\n        c = new ot();\n      s.ba = c, c.S = o, c.width = [c.width], c.height = [c.height];\n      var u = c.width,\n        h = c.height,\n        l = new st();\n      if (null == l || null == t) var f = 2;else e(null != l), f = Br(t, r, n, l.width, l.height, l.Pd, l.Qd, l.format, null);\n      if (0 != f ? u = 0 : (null != u && (u[0] = l.width[0]), null != h && (h[0] = l.height[0]), u = 1), u) {\n        c.width = c.width[0], c.height = c.height[0], null != i && (i[0] = c.width), null != a && (a[0] = c.height);\n        t: {\n          if (i = new Gt(), (a = new nr()).data = t, a.w = r, a.ha = n, a.kd = 1, r = [0], e(null != a), (0 == (t = Br(a.data, a.w, a.ha, null, null, null, r, null, a)) || 7 == t) && r[0] && (t = 4), 0 == (r = t)) {\n            if (e(null != s), i.data = a.data, i.w = a.w + a.offset, i.ha = a.ha - a.offset, i.put = dt, i.ac = ft, i.bc = pt, i.ma = s, a.xa) {\n              if (null == (t = kt())) {\n                s = 1;\n                break t;\n              }\n              if (function (t, r) {\n                var n = [0],\n                  i = [0],\n                  a = [0];\n                e: for (;;) {\n                  if (null == t) return 0;\n                  if (null == r) return t.a = 2, 0;\n                  if (t.l = r, t.a = 0, v(t.m, r.data, r.w, r.ha), !gt(t.m, n, i, a)) {\n                    t.a = 3;\n                    break e;\n                  }\n                  if (t.xb = gi, r.width = n[0], r.height = i[0], !It(n[0], i[0], 1, t, null)) break e;\n                  return 1;\n                }\n                return e(0 != t.a), 0;\n              }(t, i)) {\n                if (i = 0 == (r = qr(i.width, i.height, s.Oa, s.ba))) {\n                  e: {\n                    i = t;\n                    r: for (;;) {\n                      if (null == i) {\n                        i = 0;\n                        break e;\n                      }\n                      if (e(null != i.s.yc), e(null != i.s.Ya), e(0 < i.s.Wb), e(null != (n = i.l)), e(null != (a = n.ma)), 0 != i.xb) {\n                        if (i.ca = a.ba, i.tb = a.tb, e(null != i.ca), !Mr(a.Oa, n, Rn)) {\n                          i.a = 2;\n                          break r;\n                        }\n                        if (!Ft(i, n.width)) break r;\n                        if (n.da) break r;\n                        if ((n.da || nt(i.ca.S)) && mr(), 11 > i.ca.S || (alert(\"todo:WebPInitConvertARGBToYUV\"), null != i.ca.f.kb.F && mr()), i.Pb && 0 < i.s.ua && null == i.s.vb.X && !O(i.s.vb, i.s.Wa.Xa)) {\n                          i.a = 1;\n                          break r;\n                        }\n                        i.xb = 0;\n                      }\n                      if (!_t(i, i.V, i.Ba, i.c, i.i, n.o, Lt)) break r;\n                      a.Dc = i.Ma, i = 1;\n                      break e;\n                    }\n                    e(0 != i.a), i = 0;\n                  }\n                  i = !i;\n                }\n                i && (r = t.a);\n              } else r = t.a;\n            } else {\n              if (null == (t = new Yt())) {\n                s = 1;\n                break t;\n              }\n              if (t.Fa = a.na, t.P = a.P, t.qc = a.Sa, Kt(t, i)) {\n                if (0 == (r = qr(i.width, i.height, s.Oa, s.ba))) {\n                  if (t.Aa = 0, n = s.Oa, e(null != (a = t)), null != n) {\n                    if (0 < (u = 0 > (u = n.Md) ? 0 : 100 < u ? 255 : 255 * u / 100)) {\n                      for (h = l = 0; 4 > h; ++h) 12 > (f = a.pb[h]).lc && (f.ia = u * Ti[0 > f.lc ? 0 : f.lc] >> 3), l |= f.ia;\n                      l && (alert(\"todo:VP8InitRandom\"), a.ia = 1);\n                    }\n                    a.Ga = n.Id, 100 < a.Ga ? a.Ga = 100 : 0 > a.Ga && (a.Ga = 0);\n                  }\n                  Qt(t, i) || (r = t.a);\n                }\n              } else r = t.a;\n            }\n            0 == r && null != s.Oa && s.Oa.fd && (r = Er(s.ba));\n          }\n          s = r;\n        }\n        o = 0 != s ? null : 11 > o ? c.f.RGBA.eb : c.f.kb.y;\n      } else o = null;\n      return o;\n    };\n    var zi = [3, 4, 3, 4, 4, 2, 2, 4, 4, 4, 2, 1, 1];\n  };\n  function u(t, e) {\n    for (var r = \"\", n = 0; n < 4; n++) r += String.fromCharCode(t[e++]);\n    return r;\n  }\n  function h(t, e) {\n    return (t[e + 0] << 0 | t[e + 1] << 8 | t[e + 2] << 16) >>> 0;\n  }\n  function l(t, e) {\n    return (t[e + 0] << 0 | t[e + 1] << 8 | t[e + 2] << 16 | t[e + 3] << 24) >>> 0;\n  }\n  new c();\n  var f = [0],\n    d = [0],\n    p = [],\n    g = new c(),\n    m = t,\n    v = function (t, e) {\n      var r = {},\n        n = 0,\n        i = !1,\n        a = 0,\n        o = 0;\n      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        */\n      function (t, e, r, n) {\n        for (var i = 0; i < n; i++) if (t[e + i] != r.charCodeAt(i)) return !0;\n        return !1;\n      }(t, e, \"RIFF\", 4)) {\n        for (l(t, e += 4), e += 8; e < t.length;) {\n          var s = u(t, e),\n            c = l(t, e += 4);\n          e += 4;\n          var f = c + (1 & c);\n          switch (s) {\n            case \"VP8 \":\n            case \"VP8L\":\n              void 0 === r.frames[n] && (r.frames[n] = {}), (g = r.frames[n]).src_off = i ? o : e - 8, g.src_size = a + c + 8, n++, i && (i = !1, a = 0, o = 0);\n              break;\n            case \"VP8X\":\n              (g = r.header = {}).feature_flags = t[e];\n              var d = e + 4;\n              g.canvas_width = 1 + h(t, d), d += 3, g.canvas_height = 1 + h(t, d), d += 3;\n              break;\n            case \"ALPH\":\n              i = !0, a = f + 8, o = e - 8;\n              break;\n            case \"ANIM\":\n              (g = r.header).bgcolor = l(t, e), d = e + 4, g.loop_count = (m = t)[(v = d) + 0] << 0 | m[v + 1] << 8, d += 2;\n              break;\n            case \"ANMF\":\n              var p, g;\n              (g = r.frames[n] = {}).offset_x = 2 * h(t, e), e += 3, g.offset_y = 2 * h(t, e), e += 3, g.width = 1 + h(t, e), e += 3, g.height = 1 + h(t, e), e += 3, g.duration = h(t, e), e += 3, p = t[e++], g.dispose = 1 & p, g.blend = p >> 1 & 1;\n          }\n          \"ANMF\" != s && (e += f);\n        }\n        var m, v;\n        return r;\n      }\n    }(m, 0);\n  v.response = m, v.rgbaoutput = !0, v.dataurl = !1;\n  var b = v.header ? v.header : null,\n    y = v.frames ? v.frames : null;\n  if (b) {\n    b.loop_counter = b.loop_count, f = [b.canvas_height], d = [b.canvas_width];\n    for (var w = 0; w < y.length && 0 != y[w].blend; w++);\n  }\n  var N = y[0],\n    L = g.WebPDecodeRGBA(m, N.src_off, N.src_size, d, f);\n  N.rgba = L, N.imgwidth = d[0], N.imgheight = f[0];\n  for (var A = 0; A < d[0] * f[0] * 4; A++) p[A] = L[A];\n  return this.width = d, this.height = f, this.data = p, this;\n}\n!function (t) {\n  var r = function () {\n      return \"function\" == typeof e;\n    },\n    n = function (r, n, a, h) {\n      var l = 4,\n        f = s;\n      switch (h) {\n        case t.image_compression.FAST:\n          l = 1, f = o;\n          break;\n        case t.image_compression.MEDIUM:\n          l = 6, f = c;\n          break;\n        case t.image_compression.SLOW:\n          l = 9, f = u;\n      }\n      r = i(r, n, a, f);\n      var d = e(r, {\n        level: l\n      });\n      return t.__addimage__.arrayBufferToBinaryString(d);\n    },\n    i = function (t, e, r, n) {\n      for (var i, a, o, s = t.length / e, c = new Uint8Array(t.length + s), u = l(), h = 0; h < s; h += 1) {\n        if (o = h * e, i = t.subarray(o, o + e), n) c.set(n(i, r, a), o + h);else {\n          for (var d, p = u.length, g = []; d < p; d += 1) g[d] = u[d](i, r, a);\n          var m = f(g.concat());\n          c.set(g[m], o + h);\n        }\n        a = i;\n      }\n      return c;\n    },\n    a = function (t) {\n      var e = Array.apply([], t);\n      return e.unshift(0), e;\n    },\n    o = function (t, e) {\n      var r,\n        n = [],\n        i = t.length;\n      n[0] = 1;\n      for (var a = 0; a < i; a += 1) r = t[a - e] || 0, n[a + 1] = t[a] - r + 256 & 255;\n      return n;\n    },\n    s = function (t, e, r) {\n      var n,\n        i = [],\n        a = t.length;\n      i[0] = 2;\n      for (var o = 0; o < a; o += 1) n = r && r[o] || 0, i[o + 1] = t[o] - n + 256 & 255;\n      return i;\n    },\n    c = function (t, e, r) {\n      var n,\n        i,\n        a = [],\n        o = t.length;\n      a[0] = 3;\n      for (var s = 0; s < o; s += 1) n = t[s - e] || 0, i = r && r[s] || 0, a[s + 1] = t[s] + 256 - (n + i >>> 1) & 255;\n      return a;\n    },\n    u = function (t, e, r) {\n      var n,\n        i,\n        a,\n        o,\n        s = [],\n        c = t.length;\n      s[0] = 4;\n      for (var u = 0; u < c; u += 1) n = t[u - e] || 0, i = r && r[u] || 0, a = r && r[u - e] || 0, o = h(n, i, a), s[u + 1] = t[u] - o + 256 & 255;\n      return s;\n    },\n    h = function (t, e, r) {\n      if (t === e && e === r) return t;\n      var n = Math.abs(e - r),\n        i = Math.abs(t - r),\n        a = Math.abs(t + e - r - r);\n      return n <= i && n <= a ? t : i <= a ? e : r;\n    },\n    l = function () {\n      return [a, o, s, c, u];\n    },\n    f = function (t) {\n      var e = t.map(function (t) {\n        return t.reduce(function (t, e) {\n          return t + Math.abs(e);\n        }, 0);\n      });\n      return e.indexOf(Math.min.apply(null, e));\n    };\n  t.processPNG = function (e, i, a, o) {\n    var s,\n      c,\n      u,\n      h,\n      l,\n      f,\n      d,\n      p,\n      g,\n      m,\n      v,\n      b,\n      y,\n      w,\n      N,\n      L = this.decode.FLATE_DECODE,\n      A = \"\";\n    if (this.__addimage__.isArrayBuffer(e) && (e = new Uint8Array(e)), this.__addimage__.isArrayBufferView(e)) {\n      if (e = (u = new Kt(e)).imgData, c = u.bits, s = u.colorSpace, l = u.colors, -1 !== [4, 6].indexOf(u.colorType)) {\n        if (8 === u.bits) {\n          g = (p = 32 == u.pixelBitlength ? new Uint32Array(u.decodePixels().buffer) : 16 == u.pixelBitlength ? new Uint16Array(u.decodePixels().buffer) : new Uint8Array(u.decodePixels().buffer)).length, v = new Uint8Array(g * u.colors), m = new Uint8Array(g);\n          var x,\n            S = u.pixelBitlength - u.bits;\n          for (w = 0, N = 0; w < g; w++) {\n            for (y = p[w], x = 0; x < S;) v[N++] = y >>> x & 255, x += u.bits;\n            m[w] = y >>> x & 255;\n          }\n        }\n        if (16 === u.bits) {\n          g = (p = new Uint32Array(u.decodePixels().buffer)).length, v = new Uint8Array(g * (32 / u.pixelBitlength) * u.colors), m = new Uint8Array(g * (32 / u.pixelBitlength)), b = u.colors > 1, w = 0, N = 0;\n          for (var _ = 0; w < g;) y = p[w++], v[N++] = y >>> 0 & 255, b && (v[N++] = y >>> 16 & 255, y = p[w++], v[N++] = y >>> 0 & 255), m[_++] = y >>> 16 & 255;\n          c = 8;\n        }\n        o !== t.image_compression.NONE && r() ? (e = n(v, u.width * u.colors, u.colors, o), d = n(m, u.width, 1, o)) : (e = v, d = m, L = void 0);\n      }\n      if (3 === u.colorType && (s = this.color_spaces.INDEXED, f = u.palette, u.transparency.indexed)) {\n        var P = u.transparency.indexed,\n          k = 0;\n        for (w = 0, g = P.length; w < g; ++w) k += P[w];\n        if ((k /= 255) === g - 1 && -1 !== P.indexOf(0)) h = [P.indexOf(0)];else if (k !== g) {\n          for (p = u.decodePixels(), m = new Uint8Array(p.length), w = 0, g = p.length; w < g; w++) m[w] = P[p[w]];\n          d = n(m, u.width, 1);\n        }\n      }\n      var I = function (e) {\n        var r;\n        switch (e) {\n          case t.image_compression.FAST:\n            r = 11;\n            break;\n          case t.image_compression.MEDIUM:\n            r = 13;\n            break;\n          case t.image_compression.SLOW:\n            r = 14;\n            break;\n          default:\n            r = 12;\n        }\n        return r;\n      }(o);\n      return L === this.decode.FLATE_DECODE && (A = \"/Predictor \" + I + \" \"), A += \"/Colors \" + l + \" /BitsPerComponent \" + c + \" /Columns \" + u.width, (this.__addimage__.isArrayBuffer(e) || this.__addimage__.isArrayBufferView(e)) && (e = this.__addimage__.arrayBufferToBinaryString(e)), (d && this.__addimage__.isArrayBuffer(d) || this.__addimage__.isArrayBufferView(d)) && (d = this.__addimage__.arrayBufferToBinaryString(d)), {\n        alias: a,\n        data: e,\n        index: i,\n        filter: L,\n        decodeParameters: A,\n        transparency: h,\n        palette: f,\n        sMask: d,\n        predictor: I,\n        width: u.width,\n        height: u.height,\n        bitsPerComponent: c,\n        colorSpace: s\n      };\n    }\n  };\n}(E.API), function (t) {\n  t.processGIF89A = function (e, r, n, i) {\n    var a = new Zt(e),\n      o = a.width,\n      s = a.height,\n      c = [];\n    a.decodeAndBlitFrameRGBA(0, c);\n    var u = {\n        data: c,\n        width: o,\n        height: s\n      },\n      h = new Qt(100).encode(u, 100);\n    return t.processJPEG.call(this, h, r, n, i);\n  }, t.processGIF87A = t.processGIF89A;\n}(E.API), te.prototype.parseHeader = function () {\n  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) {\n    var t = 0 === this.colors ? 1 << this.bitPP : this.colors;\n    this.palette = new Array(t);\n    for (var e = 0; e < t; e++) {\n      var r = this.datav.getUint8(this.pos++, !0),\n        n = this.datav.getUint8(this.pos++, !0),\n        i = this.datav.getUint8(this.pos++, !0),\n        a = this.datav.getUint8(this.pos++, !0);\n      this.palette[e] = {\n        red: i,\n        green: n,\n        blue: r,\n        quad: a\n      };\n    }\n  }\n  this.height < 0 && (this.height *= -1, this.bottom_up = !1);\n}, te.prototype.parseBGR = function () {\n  this.pos = this.offset;\n  try {\n    var t = \"bit\" + this.bitPP,\n      e = this.width * this.height * 4;\n    this.data = new Uint8Array(e), this[t]();\n  } catch (t) {\n    a.log(\"bit decode error:\" + t);\n  }\n}, te.prototype.bit1 = function () {\n  var t,\n    e = Math.ceil(this.width / 8),\n    r = e % 4;\n  for (t = this.height - 1; t >= 0; t--) {\n    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++) {\n      var c = this.palette[a >> 7 - s & 1];\n      this.data[o + 4 * s] = c.blue, this.data[o + 4 * s + 1] = c.green, this.data[o + 4 * s + 2] = c.red, this.data[o + 4 * s + 3] = 255;\n    }\n    0 !== r && (this.pos += 4 - r);\n  }\n}, te.prototype.bit4 = function () {\n  for (var t = Math.ceil(this.width / 2), e = t % 4, r = this.height - 1; r >= 0; r--) {\n    for (var n = this.bottom_up ? r : this.height - 1 - r, i = 0; i < t; i++) {\n      var a = this.datav.getUint8(this.pos++, !0),\n        o = n * this.width * 4 + 2 * i * 4,\n        s = a >> 4,\n        c = 15 & a,\n        u = this.palette[s];\n      if (this.data[o] = u.blue, this.data[o + 1] = u.green, this.data[o + 2] = u.red, this.data[o + 3] = 255, 2 * i + 1 >= this.width) break;\n      u = this.palette[c], this.data[o + 4] = u.blue, this.data[o + 4 + 1] = u.green, this.data[o + 4 + 2] = u.red, this.data[o + 4 + 3] = 255;\n    }\n    0 !== e && (this.pos += 4 - e);\n  }\n}, te.prototype.bit8 = function () {\n  for (var t = this.width % 4, e = this.height - 1; e >= 0; e--) {\n    for (var r = this.bottom_up ? e : this.height - 1 - e, n = 0; n < this.width; n++) {\n      var i = this.datav.getUint8(this.pos++, !0),\n        a = r * this.width * 4 + 4 * n;\n      if (i < this.palette.length) {\n        var o = this.palette[i];\n        this.data[a] = o.red, this.data[a + 1] = o.green, this.data[a + 2] = o.blue, this.data[a + 3] = 255;\n      } else this.data[a] = 255, this.data[a + 1] = 255, this.data[a + 2] = 255, this.data[a + 3] = 255;\n    }\n    0 !== t && (this.pos += 4 - t);\n  }\n}, te.prototype.bit15 = function () {\n  for (var t = this.width % 3, e = parseInt(\"11111\", 2), r = this.height - 1; r >= 0; r--) {\n    for (var n = this.bottom_up ? r : this.height - 1 - r, i = 0; i < this.width; i++) {\n      var a = this.datav.getUint16(this.pos, !0);\n      this.pos += 2;\n      var o = (a & e) / e * 255 | 0,\n        s = (a >> 5 & e) / e * 255 | 0,\n        c = (a >> 10 & e) / e * 255 | 0,\n        u = a >> 15 ? 255 : 0,\n        h = n * this.width * 4 + 4 * i;\n      this.data[h] = c, this.data[h + 1] = s, this.data[h + 2] = o, this.data[h + 3] = u;\n    }\n    this.pos += t;\n  }\n}, te.prototype.bit16 = function () {\n  for (var t = this.width % 3, e = parseInt(\"11111\", 2), r = parseInt(\"111111\", 2), n = this.height - 1; n >= 0; n--) {\n    for (var i = this.bottom_up ? n : this.height - 1 - n, a = 0; a < this.width; a++) {\n      var o = this.datav.getUint16(this.pos, !0);\n      this.pos += 2;\n      var s = (o & e) / e * 255 | 0,\n        c = (o >> 5 & r) / r * 255 | 0,\n        u = (o >> 11) / e * 255 | 0,\n        h = i * this.width * 4 + 4 * a;\n      this.data[h] = u, this.data[h + 1] = c, this.data[h + 2] = s, this.data[h + 3] = 255;\n    }\n    this.pos += t;\n  }\n}, te.prototype.bit24 = function () {\n  for (var t = this.height - 1; t >= 0; t--) {\n    for (var e = this.bottom_up ? t : this.height - 1 - t, r = 0; r < this.width; r++) {\n      var n = this.datav.getUint8(this.pos++, !0),\n        i = this.datav.getUint8(this.pos++, !0),\n        a = this.datav.getUint8(this.pos++, !0),\n        o = e * this.width * 4 + 4 * r;\n      this.data[o] = a, this.data[o + 1] = i, this.data[o + 2] = n, this.data[o + 3] = 255;\n    }\n    this.pos += this.width % 4;\n  }\n}, te.prototype.bit32 = function () {\n  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++) {\n    var n = this.datav.getUint8(this.pos++, !0),\n      i = this.datav.getUint8(this.pos++, !0),\n      a = this.datav.getUint8(this.pos++, !0),\n      o = this.datav.getUint8(this.pos++, !0),\n      s = e * this.width * 4 + 4 * r;\n    this.data[s] = a, this.data[s + 1] = i, this.data[s + 2] = n, this.data[s + 3] = o;\n  }\n}, te.prototype.getData = function () {\n  return this.data;\n},\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) {\n  t.processBMP = function (e, r, n, i) {\n    var a = new te(e, !1),\n      o = a.width,\n      s = a.height,\n      c = {\n        data: a.getData(),\n        width: o,\n        height: s\n      },\n      u = new Qt(100).encode(c, 100);\n    return t.processJPEG.call(this, u, r, n, i);\n  };\n}(E.API), ee.prototype.getData = function () {\n  return this.data;\n},\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) {\n  t.processWEBP = function (e, r, n, i) {\n    var a = new ee(e),\n      o = a.width,\n      s = a.height,\n      c = {\n        data: a.getData(),\n        width: o,\n        height: s\n      },\n      u = new Qt(100).encode(c, 100);\n    return t.processJPEG.call(this, u, r, n, i);\n  };\n}(E.API), E.API.processRGBA = function (t, e, r) {\n  for (var n = t.data, i = n.length, a = new Uint8Array(i / 4 * 3), o = new Uint8Array(i / 4), s = 0, c = 0, u = 0; u < i; u += 4) {\n    var h = n[u],\n      l = n[u + 1],\n      f = n[u + 2],\n      d = n[u + 3];\n    a[s++] = h, a[s++] = l, a[s++] = f, o[c++] = d;\n  }\n  var p = this.__addimage__.arrayBufferToBinaryString(a);\n  return {\n    alpha: this.__addimage__.arrayBufferToBinaryString(o),\n    data: p,\n    index: e,\n    alias: r,\n    colorSpace: \"DeviceRGB\",\n    bitsPerComponent: 8,\n    width: t.width,\n    height: t.height\n  };\n}, E.API.setLanguage = function (t) {\n  return void 0 === this.internal.languageSettings && (this.internal.languageSettings = {}, this.internal.languageSettings.isSubscribed = !1), void 0 !== {\n    af: \"Afrikaans\",\n    sq: \"Albanian\",\n    ar: \"Arabic (Standard)\",\n    \"ar-DZ\": \"Arabic (Algeria)\",\n    \"ar-BH\": \"Arabic (Bahrain)\",\n    \"ar-EG\": \"Arabic (Egypt)\",\n    \"ar-IQ\": \"Arabic (Iraq)\",\n    \"ar-JO\": \"Arabic (Jordan)\",\n    \"ar-KW\": \"Arabic (Kuwait)\",\n    \"ar-LB\": \"Arabic (Lebanon)\",\n    \"ar-LY\": \"Arabic (Libya)\",\n    \"ar-MA\": \"Arabic (Morocco)\",\n    \"ar-OM\": \"Arabic (Oman)\",\n    \"ar-QA\": \"Arabic (Qatar)\",\n    \"ar-SA\": \"Arabic (Saudi Arabia)\",\n    \"ar-SY\": \"Arabic (Syria)\",\n    \"ar-TN\": \"Arabic (Tunisia)\",\n    \"ar-AE\": \"Arabic (U.A.E.)\",\n    \"ar-YE\": \"Arabic (Yemen)\",\n    an: \"Aragonese\",\n    hy: \"Armenian\",\n    as: \"Assamese\",\n    ast: \"Asturian\",\n    az: \"Azerbaijani\",\n    eu: \"Basque\",\n    be: \"Belarusian\",\n    bn: \"Bengali\",\n    bs: \"Bosnian\",\n    br: \"Breton\",\n    bg: \"Bulgarian\",\n    my: \"Burmese\",\n    ca: \"Catalan\",\n    ch: \"Chamorro\",\n    ce: \"Chechen\",\n    zh: \"Chinese\",\n    \"zh-HK\": \"Chinese (Hong Kong)\",\n    \"zh-CN\": \"Chinese (PRC)\",\n    \"zh-SG\": \"Chinese (Singapore)\",\n    \"zh-TW\": \"Chinese (Taiwan)\",\n    cv: \"Chuvash\",\n    co: \"Corsican\",\n    cr: \"Cree\",\n    hr: \"Croatian\",\n    cs: \"Czech\",\n    da: \"Danish\",\n    nl: \"Dutch (Standard)\",\n    \"nl-BE\": \"Dutch (Belgian)\",\n    en: \"English\",\n    \"en-AU\": \"English (Australia)\",\n    \"en-BZ\": \"English (Belize)\",\n    \"en-CA\": \"English (Canada)\",\n    \"en-IE\": \"English (Ireland)\",\n    \"en-JM\": \"English (Jamaica)\",\n    \"en-NZ\": \"English (New Zealand)\",\n    \"en-PH\": \"English (Philippines)\",\n    \"en-ZA\": \"English (South Africa)\",\n    \"en-TT\": \"English (Trinidad & Tobago)\",\n    \"en-GB\": \"English (United Kingdom)\",\n    \"en-US\": \"English (United States)\",\n    \"en-ZW\": \"English (Zimbabwe)\",\n    eo: \"Esperanto\",\n    et: \"Estonian\",\n    fo: \"Faeroese\",\n    fj: \"Fijian\",\n    fi: \"Finnish\",\n    fr: \"French (Standard)\",\n    \"fr-BE\": \"French (Belgium)\",\n    \"fr-CA\": \"French (Canada)\",\n    \"fr-FR\": \"French (France)\",\n    \"fr-LU\": \"French (Luxembourg)\",\n    \"fr-MC\": \"French (Monaco)\",\n    \"fr-CH\": \"French (Switzerland)\",\n    fy: \"Frisian\",\n    fur: \"Friulian\",\n    gd: \"Gaelic (Scots)\",\n    \"gd-IE\": \"Gaelic (Irish)\",\n    gl: \"Galacian\",\n    ka: \"Georgian\",\n    de: \"German (Standard)\",\n    \"de-AT\": \"German (Austria)\",\n    \"de-DE\": \"German (Germany)\",\n    \"de-LI\": \"German (Liechtenstein)\",\n    \"de-LU\": \"German (Luxembourg)\",\n    \"de-CH\": \"German (Switzerland)\",\n    el: \"Greek\",\n    gu: \"Gujurati\",\n    ht: \"Haitian\",\n    he: \"Hebrew\",\n    hi: \"Hindi\",\n    hu: \"Hungarian\",\n    is: \"Icelandic\",\n    id: \"Indonesian\",\n    iu: \"Inuktitut\",\n    ga: \"Irish\",\n    it: \"Italian (Standard)\",\n    \"it-CH\": \"Italian (Switzerland)\",\n    ja: \"Japanese\",\n    kn: \"Kannada\",\n    ks: \"Kashmiri\",\n    kk: \"Kazakh\",\n    km: \"Khmer\",\n    ky: \"Kirghiz\",\n    tlh: \"Klingon\",\n    ko: \"Korean\",\n    \"ko-KP\": \"Korean (North Korea)\",\n    \"ko-KR\": \"Korean (South Korea)\",\n    la: \"Latin\",\n    lv: \"Latvian\",\n    lt: \"Lithuanian\",\n    lb: \"Luxembourgish\",\n    mk: \"North Macedonia\",\n    ms: \"Malay\",\n    ml: \"Malayalam\",\n    mt: \"Maltese\",\n    mi: \"Maori\",\n    mr: \"Marathi\",\n    mo: \"Moldavian\",\n    nv: \"Navajo\",\n    ng: \"Ndonga\",\n    ne: \"Nepali\",\n    no: \"Norwegian\",\n    nb: \"Norwegian (Bokmal)\",\n    nn: \"Norwegian (Nynorsk)\",\n    oc: \"Occitan\",\n    or: \"Oriya\",\n    om: \"Oromo\",\n    fa: \"Persian\",\n    \"fa-IR\": \"Persian/Iran\",\n    pl: \"Polish\",\n    pt: \"Portuguese\",\n    \"pt-BR\": \"Portuguese (Brazil)\",\n    pa: \"Punjabi\",\n    \"pa-IN\": \"Punjabi (India)\",\n    \"pa-PK\": \"Punjabi (Pakistan)\",\n    qu: \"Quechua\",\n    rm: \"Rhaeto-Romanic\",\n    ro: \"Romanian\",\n    \"ro-MO\": \"Romanian (Moldavia)\",\n    ru: \"Russian\",\n    \"ru-MO\": \"Russian (Moldavia)\",\n    sz: \"Sami (Lappish)\",\n    sg: \"Sango\",\n    sa: \"Sanskrit\",\n    sc: \"Sardinian\",\n    sd: \"Sindhi\",\n    si: \"Singhalese\",\n    sr: \"Serbian\",\n    sk: \"Slovak\",\n    sl: \"Slovenian\",\n    so: \"Somani\",\n    sb: \"Sorbian\",\n    es: \"Spanish\",\n    \"es-AR\": \"Spanish (Argentina)\",\n    \"es-BO\": \"Spanish (Bolivia)\",\n    \"es-CL\": \"Spanish (Chile)\",\n    \"es-CO\": \"Spanish (Colombia)\",\n    \"es-CR\": \"Spanish (Costa Rica)\",\n    \"es-DO\": \"Spanish (Dominican Republic)\",\n    \"es-EC\": \"Spanish (Ecuador)\",\n    \"es-SV\": \"Spanish (El Salvador)\",\n    \"es-GT\": \"Spanish (Guatemala)\",\n    \"es-HN\": \"Spanish (Honduras)\",\n    \"es-MX\": \"Spanish (Mexico)\",\n    \"es-NI\": \"Spanish (Nicaragua)\",\n    \"es-PA\": \"Spanish (Panama)\",\n    \"es-PY\": \"Spanish (Paraguay)\",\n    \"es-PE\": \"Spanish (Peru)\",\n    \"es-PR\": \"Spanish (Puerto Rico)\",\n    \"es-ES\": \"Spanish (Spain)\",\n    \"es-UY\": \"Spanish (Uruguay)\",\n    \"es-VE\": \"Spanish (Venezuela)\",\n    sx: \"Sutu\",\n    sw: \"Swahili\",\n    sv: \"Swedish\",\n    \"sv-FI\": \"Swedish (Finland)\",\n    \"sv-SV\": \"Swedish (Sweden)\",\n    ta: \"Tamil\",\n    tt: \"Tatar\",\n    te: \"Teluga\",\n    th: \"Thai\",\n    tig: \"Tigre\",\n    ts: \"Tsonga\",\n    tn: \"Tswana\",\n    tr: \"Turkish\",\n    tk: \"Turkmen\",\n    uk: \"Ukrainian\",\n    hsb: \"Upper Sorbian\",\n    ur: \"Urdu\",\n    ve: \"Venda\",\n    vi: \"Vietnamese\",\n    vo: \"Volapuk\",\n    wa: \"Walloon\",\n    cy: \"Welsh\",\n    xh: \"Xhosa\",\n    ji: \"Yiddish\",\n    zu: \"Zulu\"\n  }[t] && (this.internal.languageSettings.languageCode = t, !1 === this.internal.languageSettings.isSubscribed && (this.internal.events.subscribe(\"putCatalog\", function () {\n    this.internal.write(\"/Lang (\" + this.internal.languageSettings.languageCode + \")\");\n  }), this.internal.languageSettings.isSubscribed = !0)), this;\n}, Vt = E.API, Gt = Vt.getCharWidthsArray = function (e, r) {\n  var n,\n    i,\n    a = (r = r || {}).font || this.internal.getFont(),\n    o = r.fontSize || this.internal.getFontSize(),\n    s = r.charSpace || this.internal.getCharSpace(),\n    c = r.widths ? r.widths : a.metadata.Unicode.widths,\n    u = c.fof ? c.fof : 1,\n    h = r.kerning ? r.kerning : a.metadata.Unicode.kerning,\n    l = h.fof ? h.fof : 1,\n    f = !1 !== r.doKerning,\n    d = 0,\n    p = e.length,\n    g = 0,\n    m = c[0] || u,\n    v = [];\n  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(h[i]) && !isNaN(parseInt(h[i][g], 10)) ? h[i][g] / l : 0, v.push((c[i] || m) / u + d)), g = i;\n  return v;\n}, Yt = Vt.getStringUnitWidth = function (t, e) {\n  var r = (e = e || {}).fontSize || this.internal.getFontSize(),\n    n = e.font || this.internal.getFont(),\n    i = e.charSpace || this.internal.getCharSpace();\n  return Vt.processArabic && (t = Vt.processArabic(t)), \"function\" == typeof n.metadata.widthOfString ? n.metadata.widthOfString(t, r, i) / r : Gt.apply(this, arguments).reduce(function (t, e) {\n    return t + e;\n  }, 0);\n}, Jt = function (t, e, r, n) {\n  for (var i = [], a = 0, o = t.length, s = 0; a !== o && s + e[a] < r;) s += e[a], a++;\n  i.push(t.slice(0, a));\n  var c = a;\n  for (s = 0; a !== o;) s + e[a] > n && (i.push(t.slice(c, a)), s = 0, c = a), s += e[a], a++;\n  return c !== a && i.push(t.slice(c, a)), i;\n}, Xt = function (t, e, r) {\n  r || (r = {});\n  var n,\n    i,\n    a,\n    o,\n    s,\n    c,\n    u,\n    h = [],\n    l = [h],\n    f = r.textIndent || 0,\n    d = 0,\n    p = 0,\n    g = t.split(\" \"),\n    m = Gt.apply(this, [\" \", r])[0];\n  if (c = -1 === r.lineIndent ? g[0].length + 2 : r.lineIndent || 0) {\n    var v = Array(c).join(\" \"),\n      b = [];\n    g.map(function (t) {\n      (t = t.split(/\\s*\\n/)).length > 1 ? b = b.concat(t.map(function (t, e) {\n        return (e && t.length ? \"\\n\" : \"\") + t;\n      })) : b.push(t[0]);\n    }), g = b, c = Yt.apply(this, [v, r]);\n  }\n  for (a = 0, o = g.length; a < o; a++) {\n    var y = 0;\n    if (n = g[a], c && \"\\n\" == n[0] && (n = n.substr(1), y = 1), f + d + (p = (i = Gt.apply(this, [n, r])).reduce(function (t, e) {\n      return t + e;\n    }, 0)) > e || y) {\n      if (p > e) {\n        for (s = Jt.apply(this, [n, i, e - (f + d), e]), h.push(s.shift()), h = [s.pop()]; s.length;) l.push([s.shift()]);\n        p = i.slice(n.length - (h[0] ? h[0].length : 0)).reduce(function (t, e) {\n          return t + e;\n        }, 0);\n      } else h = [n];\n      l.push(h), f = p + c, d = m;\n    } else h.push(n), f += d + p, d = m;\n  }\n  return u = c ? function (t, e) {\n    return (e ? v : \"\") + t.join(\" \");\n  } : function (t) {\n    return t.join(\" \");\n  }, l.map(u);\n}, Vt.splitTextToSize = function (t, e, r) {\n  var n,\n    i = (r = r || {}).fontSize || this.internal.getFontSize(),\n    a = function (t) {\n      if (t.widths && t.kerning) return {\n        widths: t.widths,\n        kerning: t.kerning\n      };\n      var e = this.internal.getFont(t.fontName, t.fontStyle);\n      return e.metadata.Unicode ? {\n        widths: e.metadata.Unicode.widths || {\n          0: 1\n        },\n        kerning: e.metadata.Unicode.kerning || {}\n      } : {\n        font: e.metadata,\n        fontSize: this.internal.getFontSize(),\n        charSpace: this.internal.getCharSpace()\n      };\n    }.call(this, r);\n  n = Array.isArray(t) ? t : String(t).split(/\\r?\\n/);\n  var o = 1 * this.internal.scaleFactor * e / i;\n  a.textIndent = r.textIndent ? 1 * r.textIndent * this.internal.scaleFactor / i : 0, a.lineIndent = r.lineIndent;\n  var s,\n    c,\n    u = [];\n  for (s = 0, c = n.length; s < c; s++) u = u.concat(Xt.apply(this, [n[s], o, a]));\n  return u;\n}, function (e) {\n  e.__fontmetrics__ = e.__fontmetrics__ || {};\n  for (var r = \"klmnopqrstuvwxyz\", n = {}, i = {}, a = 0; a < r.length; a++) n[r[a]] = \"0123456789abcdef\"[a], i[\"0123456789abcdef\"[a]] = r[a];\n  var o = function (t) {\n      return \"0x\" + parseInt(t, 10).toString(16);\n    },\n    s = e.__fontmetrics__.compress = function (e) {\n      var r,\n        n,\n        a,\n        c,\n        u = [\"{\"];\n      for (var h in e) {\n        if (r = e[h], isNaN(parseInt(h, 10)) ? n = \"'\" + h + \"'\" : (h = parseInt(h, 10), n = (n = o(h).slice(2)).slice(0, -1) + i[n.slice(-1)]), \"number\" == typeof r) r < 0 ? (a = o(r).slice(3), c = \"-\") : (a = o(r).slice(2), c = \"\"), a = c + a.slice(0, -1) + i[a.slice(-1)];else {\n          if (\"object\" !== t(r)) throw new Error(\"Don't know what to do with value type \" + t(r) + \".\");\n          a = s(r);\n        }\n        u.push(n + a);\n      }\n      return u.push(\"}\"), u.join(\"\");\n    },\n    c = e.__fontmetrics__.uncompress = function (t) {\n      if (\"string\" != typeof t) throw new Error(\"Invalid argument passed to uncompress.\");\n      for (var e, r, i, a, o = {}, s = 1, c = o, u = [], h = \"\", l = \"\", f = t.length - 1, d = 1; d < f; d += 1) \"'\" == (a = t[d]) ? e ? (i = e.join(\"\"), e = void 0) : e = [] : e ? e.push(a) : \"{\" == a ? (u.push([c, i]), c = {}, i = void 0) : \"}\" == a ? ((r = u.pop())[0][r[1]] = c, i = void 0, c = r[0]) : \"-\" == a ? s = -1 : void 0 === i ? n.hasOwnProperty(a) ? (h += n[a], i = parseInt(h, 16) * s, s = 1, h = \"\") : h += a : n.hasOwnProperty(a) ? (l += n[a], c[i] = parseInt(l, 16) * s, s = 1, i = void 0, l = \"\") : l += a;\n      return o;\n    },\n    u = {\n      codePages: [\"WinAnsiEncoding\"],\n      WinAnsiEncoding: c(\"{19m8n201n9q201o9r201s9l201t9m201u8m201w9n201x9o201y8o202k8q202l8r202m9p202q8p20aw8k203k8t203t8v203u9v2cq8s212m9t15m8w15n9w2dw9s16k8u16l9u17s9z17x8y17y9y}\")\n    },\n    h = {\n      Unicode: {\n        Courier: u,\n        \"Courier-Bold\": u,\n        \"Courier-BoldOblique\": u,\n        \"Courier-Oblique\": u,\n        Helvetica: u,\n        \"Helvetica-Bold\": u,\n        \"Helvetica-BoldOblique\": u,\n        \"Helvetica-Oblique\": u,\n        \"Times-Roman\": u,\n        \"Times-Bold\": u,\n        \"Times-BoldItalic\": u,\n        \"Times-Italic\": u\n      }\n    },\n    l = {\n      Unicode: {\n        \"Courier-Oblique\": c(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\n        \"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}}}\"),\n        \"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}}}\"),\n        Courier: c(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\n        \"Courier-BoldOblique\": c(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\n        \"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}}}\"),\n        Symbol: c(\"{'widths'{k3uaw4r19m3m2k1t2l2l202m2y2n3m2p5n202q6o3k3m2s2l2t2l2v3r2w1t3m3m2y1t2z1wbk2sbl3r'fof'6o3n3m3o3m3p3m3q3m3r3m3s3m3t3m3u1w3v1w3w3r3x3r3y3r3z2wbp3t3l3m5v2l5x2l5z3m2q4yfr3r7v3k7w1o7x3k}'kerning'{'fof'-6o}}\"),\n        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}}}\"),\n        \"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}}}\"),\n        ZapfDingbats: c(\"{'widths'{k4u2k1w'fof'6o}'kerning'{'fof'-6o}}\"),\n        \"Courier-Bold\": c(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\n        \"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}}}\"),\n        \"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}}}\"),\n        \"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}}}\")\n      }\n    };\n  e.events.push([\"addFont\", function (t) {\n    var e = t.font,\n      r = l.Unicode[e.postScriptName];\n    r && (e.metadata.Unicode = {}, e.metadata.Unicode.widths = r.widths, e.metadata.Unicode.kerning = r.kerning);\n    var n = h.Unicode[e.postScriptName];\n    n && (e.metadata.Unicode.encoding = n, e.encoding = n.codePages[0]);\n  }]);\n}(E.API),\n/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction (t) {\n  var e = function (t) {\n    for (var e = t.length, r = new Uint8Array(e), n = 0; n < e; n++) r[n] = t.charCodeAt(n);\n    return r;\n  };\n  t.API.events.push([\"addFont\", function (r) {\n    var n = void 0,\n      i = r.font,\n      a = r.instance;\n    if (!i.isStandardFont) {\n      if (void 0 === a) throw new Error(\"Font does not exist in vFS, import fonts or remove declaration doc.addFont('\" + i.postScriptName + \"').\");\n      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 + \"').\");\n      !function (r, n) {\n        n = /^\\x00\\x01\\x00\\x00/.test(n) ? e(n) : e(u(n)), r.metadata = t.API.TTFFont.open(n), r.metadata.Unicode = r.metadata.Unicode || {\n          encoding: {},\n          kerning: {},\n          widths: []\n        }, r.metadata.glyIdsUsed = [0];\n      }(i, n);\n    }\n  }]);\n}(E),\n/** @license\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\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 (t) {\n  function e() {\n    return (n.canvg ? Promise.resolve(n.canvg) : import(\"canvg\")).catch(function (t) {\n      return Promise.reject(new Error(\"Could not load canvg: \" + t));\n    }).then(function (t) {\n      return t.default ? t.default : t;\n    });\n  }\n  E.API.addSvgAsImage = function (t, r, n, i, o, s, c, u) {\n    if (isNaN(r) || isNaN(n)) throw a.error(\"jsPDF.addSvgAsImage: Invalid coordinates\", arguments), new Error(\"Invalid coordinates passed to jsPDF.addSvgAsImage\");\n    if (isNaN(i) || isNaN(o)) throw a.error(\"jsPDF.addSvgAsImage: Invalid measurements\", arguments), new Error(\"Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage\");\n    var h = document.createElement(\"canvas\");\n    h.width = i, h.height = o;\n    var l = h.getContext(\"2d\");\n    l.fillStyle = \"#fff\", l.fillRect(0, 0, h.width, h.height);\n    var f = {\n        ignoreMouse: !0,\n        ignoreAnimation: !0,\n        ignoreDimensions: !0\n      },\n      d = this;\n    return e().then(function (e) {\n      return e.fromString(l, t, f);\n    }, function () {\n      return Promise.reject(new Error(\"Could not load canvg.\"));\n    }).then(function (t) {\n      return t.render(f);\n    }).then(function () {\n      d.addImage(h.toDataURL(\"image/jpeg\", 1), r, n, i, o, c, u);\n    });\n  };\n}(), E.API.putTotalPages = function (t) {\n  var e,\n    r = 0;\n  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()));\n  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);\n  return this;\n}, E.API.viewerPreferences = function (e, r) {\n  var n;\n  e = e || {}, r = r || !1;\n  var i,\n    a,\n    o,\n    s = {\n      HideToolbar: {\n        defaultValue: !1,\n        value: !1,\n        type: \"boolean\",\n        explicitSet: !1,\n        valueSet: [!0, !1],\n        pdfVersion: 1.3\n      },\n      HideMenubar: {\n        defaultValue: !1,\n        value: !1,\n        type: \"boolean\",\n        explicitSet: !1,\n        valueSet: [!0, !1],\n        pdfVersion: 1.3\n      },\n      HideWindowUI: {\n        defaultValue: !1,\n        value: !1,\n        type: \"boolean\",\n        explicitSet: !1,\n        valueSet: [!0, !1],\n        pdfVersion: 1.3\n      },\n      FitWindow: {\n        defaultValue: !1,\n        value: !1,\n        type: \"boolean\",\n        explicitSet: !1,\n        valueSet: [!0, !1],\n        pdfVersion: 1.3\n      },\n      CenterWindow: {\n        defaultValue: !1,\n        value: !1,\n        type: \"boolean\",\n        explicitSet: !1,\n        valueSet: [!0, !1],\n        pdfVersion: 1.3\n      },\n      DisplayDocTitle: {\n        defaultValue: !1,\n        value: !1,\n        type: \"boolean\",\n        explicitSet: !1,\n        valueSet: [!0, !1],\n        pdfVersion: 1.4\n      },\n      NonFullScreenPageMode: {\n        defaultValue: \"UseNone\",\n        value: \"UseNone\",\n        type: \"name\",\n        explicitSet: !1,\n        valueSet: [\"UseNone\", \"UseOutlines\", \"UseThumbs\", \"UseOC\"],\n        pdfVersion: 1.3\n      },\n      Direction: {\n        defaultValue: \"L2R\",\n        value: \"L2R\",\n        type: \"name\",\n        explicitSet: !1,\n        valueSet: [\"L2R\", \"R2L\"],\n        pdfVersion: 1.3\n      },\n      ViewArea: {\n        defaultValue: \"CropBox\",\n        value: \"CropBox\",\n        type: \"name\",\n        explicitSet: !1,\n        valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n        pdfVersion: 1.4\n      },\n      ViewClip: {\n        defaultValue: \"CropBox\",\n        value: \"CropBox\",\n        type: \"name\",\n        explicitSet: !1,\n        valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n        pdfVersion: 1.4\n      },\n      PrintArea: {\n        defaultValue: \"CropBox\",\n        value: \"CropBox\",\n        type: \"name\",\n        explicitSet: !1,\n        valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n        pdfVersion: 1.4\n      },\n      PrintClip: {\n        defaultValue: \"CropBox\",\n        value: \"CropBox\",\n        type: \"name\",\n        explicitSet: !1,\n        valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n        pdfVersion: 1.4\n      },\n      PrintScaling: {\n        defaultValue: \"AppDefault\",\n        value: \"AppDefault\",\n        type: \"name\",\n        explicitSet: !1,\n        valueSet: [\"AppDefault\", \"None\"],\n        pdfVersion: 1.6\n      },\n      Duplex: {\n        defaultValue: \"\",\n        value: \"none\",\n        type: \"name\",\n        explicitSet: !1,\n        valueSet: [\"Simplex\", \"DuplexFlipShortEdge\", \"DuplexFlipLongEdge\", \"none\"],\n        pdfVersion: 1.7\n      },\n      PickTrayByPDFSize: {\n        defaultValue: !1,\n        value: !1,\n        type: \"boolean\",\n        explicitSet: !1,\n        valueSet: [!0, !1],\n        pdfVersion: 1.7\n      },\n      PrintPageRange: {\n        defaultValue: \"\",\n        value: \"\",\n        type: \"array\",\n        explicitSet: !1,\n        valueSet: null,\n        pdfVersion: 1.7\n      },\n      NumCopies: {\n        defaultValue: 1,\n        value: 1,\n        type: \"integer\",\n        explicitSet: !1,\n        valueSet: null,\n        pdfVersion: 1.7\n      }\n    },\n    c = Object.keys(s),\n    u = [],\n    h = 0,\n    l = 0,\n    f = 0;\n  function d(t, e) {\n    var r,\n      n = !1;\n    for (r = 0; r < t.length; r += 1) t[r] === e && (n = !0);\n    return n;\n  }\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) {\n    var p = c.length;\n    for (f = 0; f < p; f += 1) n[c[f]].value = n[c[f]].defaultValue, n[c[f]].explicitSet = !1;\n  }\n  if (\"object\" === t(e)) for (a in e) if (o = e[a], d(c, a) && void 0 !== o) {\n    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) {\n      for (h = 0; h < o.length; h += 1) if (i = !0, 1 === o[h].length && \"number\" == typeof o[h][0]) u.push(String(o[h] - 1));else if (o[h].length > 1) {\n        for (l = 0; l < o[h].length; l += 1) \"number\" != typeof o[h][l] && (i = !1);\n        !0 === i && u.push([o[h][0] - 1, o[h][1] - 1].join(\" \"));\n      }\n      n[a].value = \"[\" + u.join(\" \") + \"]\";\n    } else n[a].value = n[a].defaultValue;\n    n[a].explicitSet = !0;\n  }\n  return !1 === this.internal.viewerpreferences.isSubscribed && (this.internal.events.subscribe(\"putCatalog\", function () {\n    var t,\n      e = [];\n    for (t in n) !0 === n[t].explicitSet && (\"name\" === n[t].type ? e.push(\"/\" + t + \" /\" + n[t].value) : e.push(\"/\" + t + \" \" + n[t].value));\n    0 !== e.length && this.internal.write(\"/ViewerPreferences\\n<<\\n\" + e.join(\"\\n\") + \"\\n>>\");\n  }), this.internal.viewerpreferences.isSubscribed = !0), this.internal.viewerpreferences.configuration = n, this;\n},\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 (t) {\n  var e = function () {\n      var t = '<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>',\n        e = unescape(encodeURIComponent('<x:xmpmeta xmlns:x=\"adobe:ns:meta/\">')),\n        r = unescape(encodeURIComponent(t)),\n        n = unescape(encodeURIComponent(this.internal.__metadata__.metadata)),\n        i = unescape(encodeURIComponent(\"</jspdf:metadata></rdf:Description></rdf:RDF>\")),\n        a = unescape(encodeURIComponent(\"</x:xmpmeta>\")),\n        o = r.length + n.length + i.length + e.length + a.length;\n      this.internal.__metadata__.metadata_object_number = this.internal.newObject(), this.internal.write(\"<< /Type /Metadata /Subtype /XML /Length \" + o + \" >>\"), this.internal.write(\"stream\"), this.internal.write(e + r + n + i + a), this.internal.write(\"endstream\"), this.internal.write(\"endobj\");\n    },\n    r = function () {\n      this.internal.__metadata__.metadata_object_number && this.internal.write(\"/Metadata \" + this.internal.__metadata__.metadata_object_number + \" 0 R\");\n    };\n  t.addMetadata = function (t, n) {\n    return void 0 === this.internal.__metadata__ && (this.internal.__metadata__ = {\n      metadata: t,\n      namespaceuri: n || \"http://jspdf.default.namespaceuri/\"\n    }, this.internal.events.subscribe(\"putCatalog\", r), this.internal.events.subscribe(\"postPutResources\", e)), this;\n  };\n}(E.API), function (t) {\n  var e = t.API,\n    r = e.pdfEscape16 = function (t, e) {\n      for (var r, n = e.metadata.Unicode.widths, i = [\"\", \"0\", \"00\", \"000\", \"0000\"], a = [\"\"], o = 0, s = t.length; o < s; ++o) {\n        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(\"\");\n        r = r.toString(16), a.push(i[4 - r.length], r);\n      }\n      return a.join(\"\");\n    },\n    n = function (t) {\n      var e, r, n, i, a, o, s;\n      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) {\n        return t - e;\n      })).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 + \">\"));\n      return n.length && (a += \"\\n\" + n.length + \" beginbfchar\\n\" + n.join(\"\\n\") + \"\\nendbfchar\\n\"), a += \"endcmap\\nCMapName currentdict /CMap defineresource pop\\nend\\nend\";\n    };\n  e.events.push([\"putFont\", function (e) {\n    !function (e) {\n      var r = e.font,\n        i = e.out,\n        a = e.newObject,\n        o = e.putStream;\n      if (r.metadata instanceof t.API.TTFFont && \"Identity-H\" === r.encoding) {\n        for (var s = r.metadata.Unicode.widths, c = r.metadata.subset.encode(r.metadata.glyIdsUsed, 1), u = \"\", h = 0; h < c.length; h++) u += String.fromCharCode(c[h]);\n        var l = a();\n        o({\n          data: u,\n          addLength1: !0,\n          objectId: l\n        }), i(\"endobj\");\n        var f = a();\n        o({\n          data: n(r.metadata.toUnicode),\n          addLength1: !0,\n          objectId: f\n        }), i(\"endobj\");\n        var d = a();\n        i(\"<<\"), i(\"/Type /FontDescriptor\"), i(\"/FontName /\" + F(r.fontName)), i(\"/FontFile2 \" + l + \" 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\");\n        var p = a();\n        i(\"<<\"), i(\"/Type /Font\"), i(\"/BaseFont /\" + F(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 /\" + F(r.fontName)), i(\"/Encoding /\" + r.encoding), i(\"/DescendantFonts [\" + p + \" 0 R]\"), i(\">>\"), i(\"endobj\"), r.isAlreadyPutted = !0;\n      }\n    }(e);\n  }]);\n  e.events.push([\"putFont\", function (e) {\n    !function (e) {\n      var r = e.font,\n        i = e.out,\n        a = e.newObject,\n        o = e.putStream;\n      if (r.metadata instanceof t.API.TTFFont && \"WinAnsiEncoding\" === r.encoding) {\n        for (var s = r.metadata.rawData, c = \"\", u = 0; u < s.length; u++) c += String.fromCharCode(s[u]);\n        var h = a();\n        o({\n          data: c,\n          addLength1: !0,\n          objectId: h\n        }), i(\"endobj\");\n        var l = a();\n        o({\n          data: n(r.metadata.toUnicode),\n          addLength1: !0,\n          objectId: l\n        }), i(\"endobj\");\n        var f = a();\n        i(\"<<\"), i(\"/Descent \" + r.metadata.decender), i(\"/CapHeight \" + r.metadata.capHeight), i(\"/StemV \" + r.metadata.stemV), i(\"/Type /FontDescriptor\"), i(\"/FontFile2 \" + h + \" 0 R\"), i(\"/Flags 96\"), i(\"/FontBBox \" + t.API.PDFObject.convert(r.metadata.bbox)), i(\"/FontName /\" + F(r.fontName)), i(\"/ItalicAngle \" + r.metadata.italicAngle), i(\"/Ascent \" + r.metadata.ascender), i(\">>\"), i(\"endobj\"), r.objectNumber = a();\n        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));\n        i(\"<</Subtype/TrueType/Type/Font/ToUnicode \" + l + \" 0 R/BaseFont/\" + F(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;\n      }\n    }(e);\n  }]);\n  var i = function (t) {\n    var e,\n      n = t.text || \"\",\n      i = t.x,\n      a = t.y,\n      o = t.options || {},\n      s = t.mutex || {},\n      c = s.pdfEscape,\n      u = s.activeFontKey,\n      h = s.fonts,\n      l = u,\n      f = \"\",\n      d = 0,\n      p = \"\",\n      g = h[l].encoding;\n    if (\"Identity-H\" !== h[l].encoding) return {\n      text: n,\n      x: i,\n      y: a,\n      options: o,\n      mutex: s\n    };\n    for (p = n, l = u, Array.isArray(n) && (p = n[0]), d = 0; d < p.length; d += 1) h[l].metadata.hasOwnProperty(\"cmap\") && (e = h[l].metadata.cmap.unicode.codeMap[p[d].charCodeAt(0)]), e || p[d].charCodeAt(0) < 256 && h[l].metadata.hasOwnProperty(\"Unicode\") ? f += p[d] : f += \"\";\n    var m = \"\";\n    return parseInt(l.slice(1)) < 14 || \"WinAnsiEncoding\" === g ? m = c(f, l).split(\"\").map(function (t) {\n      return t.charCodeAt(0).toString(16);\n    }).join(\"\") : \"Identity-H\" === g && (m = r(f, h[l])), s.isHex = !0, {\n      text: m,\n      x: i,\n      y: a,\n      options: o,\n      mutex: s\n    };\n  };\n  e.events.push([\"postProcessText\", function (t) {\n    var e = t.text || \"\",\n      r = [],\n      n = {\n        text: e,\n        x: t.x,\n        y: t.y,\n        options: t.options,\n        mutex: t.mutex\n      };\n    if (Array.isArray(e)) {\n      var a = 0;\n      for (a = 0; a < e.length; a += 1) Array.isArray(e[a]) && 3 === e[a].length ? r.push([i(Object.assign({}, n, {\n        text: e[a][0]\n      })).text, e[a][1], e[a][2]]) : r.push(i(Object.assign({}, n, {\n        text: e[a]\n      })).text);\n      t.text = r;\n    } else t.text = i(Object.assign({}, n, {\n      text: e\n    })).text;\n  }]);\n}(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) {\n  var e = function () {\n    return void 0 === this.internal.vFS && (this.internal.vFS = {}), !0;\n  };\n  t.existsFileInVFS = function (t) {\n    return e.call(this), void 0 !== this.internal.vFS[t];\n  }, t.addFileToVFS = function (t, r) {\n    return e.call(this), this.internal.vFS[t] = r, this;\n  }, t.getFileFromVFS = function (t) {\n    return e.call(this), void 0 !== this.internal.vFS[t] ? this.internal.vFS[t] : null;\n  };\n}(E.API),\n/**\n * @license\n * Unicode Bidi Engine based on the work of Alex Shensis (@asthensis)\n * MIT License\n */\nfunction (t) {\n  t.__bidiEngine__ = t.prototype.__bidiEngine__ = function (t) {\n    var r,\n      n,\n      i,\n      a,\n      o,\n      s,\n      c,\n      u = e,\n      h = [[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]],\n      l = [[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]],\n      f = {\n        L: 0,\n        R: 1,\n        EN: 2,\n        AN: 3,\n        N: 4,\n        B: 5,\n        S: 6\n      },\n      d = {\n        0: 0,\n        5: 1,\n        6: 2,\n        7: 3,\n        32: 4,\n        251: 5,\n        254: 6,\n        255: 7\n      },\n      p = [\"(\", \")\", \"(\", \"<\", \">\", \"<\", \"[\", \"]\", \"[\", \"{\", \"}\", \"{\", \"«\", \"»\", \"«\", \"‹\", \"›\", \"‹\", \"⁅\", \"⁆\", \"⁅\", \"⁽\", \"⁾\", \"⁽\", \"₍\", \"₎\", \"₍\", \"≤\", \"≥\", \"≤\", \"〈\", \"〉\", \"〈\", \"﹙\", \"﹚\", \"﹙\", \"﹛\", \"﹜\", \"﹛\", \"﹝\", \"﹞\", \"﹝\", \"﹤\", \"﹥\", \"﹤\"],\n      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)$/),\n      m = !1,\n      v = 0;\n    this.__bidiEngine__ = {};\n    var b = function (t) {\n        var e = t.charCodeAt(),\n          r = e >> 8,\n          n = d[r];\n        return void 0 !== n ? u[256 * n + (255 & e)] : 252 === r || 253 === r ? \"AL\" : g.test(r) ? \"L\" : 8 === r ? \"R\" : \"N\";\n      },\n      y = function (t) {\n        for (var e, r = 0; r < t.length; r++) {\n          if (\"L\" === (e = b(t.charAt(r)))) return !1;\n          if (\"R\" === e) return !0;\n        }\n        return !1;\n      },\n      w = function (t, e, o, s) {\n        var c,\n          u,\n          h,\n          l,\n          f = e[s];\n        switch (f) {\n          case \"L\":\n          case \"R\":\n            m = !1;\n            break;\n          case \"N\":\n          case \"AN\":\n            break;\n          case \"EN\":\n            m && (f = \"AN\");\n            break;\n          case \"AL\":\n            m = !0, f = \"R\";\n            break;\n          case \"WS\":\n            f = \"N\";\n            break;\n          case \"CS\":\n            s < 1 || s + 1 >= e.length || \"EN\" !== (c = o[s - 1]) && \"AN\" !== c || \"EN\" !== (u = e[s + 1]) && \"AN\" !== u ? f = \"N\" : m && (u = \"AN\"), f = u === c ? u : \"N\";\n            break;\n          case \"ES\":\n            f = \"EN\" === (c = s > 0 ? o[s - 1] : \"B\") && s + 1 < e.length && \"EN\" === e[s + 1] ? \"EN\" : \"N\";\n            break;\n          case \"ET\":\n            if (s > 0 && \"EN\" === o[s - 1]) {\n              f = \"EN\";\n              break;\n            }\n            if (m) {\n              f = \"N\";\n              break;\n            }\n            for (h = s + 1, l = e.length; h < l && \"ET\" === e[h];) h++;\n            f = h < l && \"EN\" === e[h] ? \"EN\" : \"N\";\n            break;\n          case \"NSM\":\n            if (i && !a) {\n              for (l = e.length, h = s + 1; h < l && \"NSM\" === e[h];) h++;\n              if (h < l) {\n                var d = t[s],\n                  p = d >= 1425 && d <= 2303 || 64286 === d;\n                if (c = e[h], p && (\"R\" === c || \"AL\" === c)) {\n                  f = \"R\";\n                  break;\n                }\n              }\n            }\n            f = s < 1 || \"B\" === (c = e[s - 1]) ? \"N\" : o[s - 1];\n            break;\n          case \"B\":\n            m = !1, r = !0, f = v;\n            break;\n          case \"S\":\n            n = !0, f = \"N\";\n            break;\n          case \"LRE\":\n          case \"RLE\":\n          case \"LRO\":\n          case \"RLO\":\n          case \"PDF\":\n            m = !1;\n            break;\n          case \"BN\":\n            f = \"N\";\n        }\n        return f;\n      },\n      N = function (t, e, r) {\n        var n = t.split(\"\");\n        return r && L(n, r, {\n          hiLevel: v\n        }), n.reverse(), e && e.reverse(), n.join(\"\");\n      },\n      L = function (t, e, i) {\n        var a,\n          o,\n          s,\n          c,\n          u,\n          d = -1,\n          p = t.length,\n          g = 0,\n          y = [],\n          N = v ? l : h,\n          L = [];\n        for (m = !1, r = !1, n = !1, o = 0; o < p; o++) L[o] = b(t[o]);\n        for (s = 0; s < p; s++) {\n          if (u = g, y[s] = w(t, L, y, s), a = 240 & (g = N[u][f[y[s]]]), g &= 15, e[s] = c = N[g][5], a > 0) if (16 === a) {\n            for (o = d; o < s; o++) e[o] = 1;\n            d = -1;\n          } else d = -1;\n          if (N[g][6]) -1 === d && (d = s);else if (d > -1) {\n            for (o = d; o < s; o++) e[o] = c;\n            d = -1;\n          }\n          \"B\" === L[s] && (e[s] = 0), i.hiLevel |= c;\n        }\n        n && function (t, e, r) {\n          for (var n = 0; n < r; n++) if (\"S\" === t[n]) {\n            e[n] = v;\n            for (var i = n - 1; i >= 0 && \"WS\" === t[i]; i--) e[i] = v;\n          }\n        }(L, e, p);\n      },\n      A = function (t, e, n, i, a) {\n        if (!(a.hiLevel < t)) {\n          if (1 === t && 1 === v && !r) return e.reverse(), void (n && n.reverse());\n          for (var o, s, c, u, h = e.length, l = 0; l < h;) {\n            if (i[l] >= t) {\n              for (c = l + 1; c < h && i[c] >= t;) c++;\n              for (u = l, s = c - 1; u < s; u++, s--) o = e[u], e[u] = e[s], e[s] = o, n && (o = n[u], n[u] = n[s], n[s] = o);\n              l = c;\n            }\n            l++;\n          }\n        }\n      },\n      x = function (t, e, r) {\n        var n = t.split(\"\"),\n          i = {\n            hiLevel: v\n          };\n        return r || (r = []), L(n, r, i), function (t, e, r) {\n          if (0 !== r.hiLevel && c) for (var n, i = 0; i < t.length; i++) 1 === e[i] && (n = p.indexOf(t[i])) >= 0 && (t[i] = p[n + 1]);\n        }(n, r, i), A(2, n, e, r, i), A(1, n, e, r, i), n.join(\"\");\n      };\n    return this.__bidiEngine__.doBidiReorder = function (t, e, r) {\n      if (function (t, e) {\n        if (e) for (var r = 0; r < t.length; r++) e[r] = r;\n        void 0 === a && (a = y(t)), void 0 === s && (s = y(t));\n      }(t, e), i || !o || s) {\n        if (i && o && a ^ s) v = a ? 1 : 0, t = N(t, e, r);else if (!i && o && s) v = a ? 1 : 0, t = x(t, e, r), t = N(t, e);else if (!i || a || o || s) {\n          if (i && !o && a ^ s) t = N(t, e), a ? (v = 0, t = x(t, e, r)) : (v = 1, t = x(t, e, r), t = N(t, e));else if (i && a && !o && s) v = 1, t = x(t, e, r), t = N(t, e);else if (!i && !o && a ^ s) {\n            var n = c;\n            a ? (v = 1, t = x(t, e, r), v = 0, c = !1, t = x(t, e, r), c = n) : (v = 0, t = x(t, e, r), t = N(t, e), v = 1, c = !1, t = x(t, e, r), c = n, t = N(t, e));\n          }\n        } else v = 0, t = x(t, e, r);\n      } else v = a ? 1 : 0, t = x(t, e, r);\n      return t;\n    }, this.__bidiEngine__.setOptions = function (t) {\n      t && (i = t.isInputVisual, o = t.isOutputVisual, a = t.isInputRtl, s = t.isOutputRtl, c = t.isSymmetricSwapping);\n    }, this.__bidiEngine__.setOptions(t), this.__bidiEngine__;\n  };\n  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\"],\n    r = new t.__bidiEngine__({\n      isInputVisual: !0\n    });\n  t.API.events.push([\"postProcessText\", function (t) {\n    var e = t.text;\n    t.x, t.y;\n    var n = t.options || {};\n    t.mutex, n.lang;\n    var i = [];\n    if (n.isInputVisual = \"boolean\" != typeof n.isInputVisual || n.isInputVisual, r.setOptions(n), \"[object Array]\" === Object.prototype.toString.call(e)) {\n      var a = 0;\n      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])]);\n      t.text = i;\n    } else t.text = r.doBidiReorder(e);\n    r.setOptions({\n      isInputVisual: !0\n    });\n  }]);\n}(E), E.API.TTFFont = function () {\n  function t(t) {\n    var e;\n    if (this.rawData = t, e = this.contents = new ne(t), this.contents.pos = 4, \"ttcf\" === e.readString(4)) throw new Error(\"TTCF not supported.\");\n    e.pos = 0, this.parse(), this.subset = new Le(this), this.registerTTF();\n  }\n  return t.open = function (e) {\n    return new t(e);\n  }, t.prototype.parse = function () {\n    return this.directory = new ie(this.contents), this.head = new se(this), this.name = new pe(this), this.cmap = new ue(this), this.toUnicode = {}, this.hhea = new he(this), this.maxp = new ge(this), this.hmtx = new me(this), this.post = new fe(this), this.os2 = new le(this), this.loca = new Ne(this), this.glyf = new be(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];\n  }, t.prototype.registerTTF = function () {\n    var t, e, r, n, i;\n    if (this.scaleFactor = 1e3 / this.head.unitsPerEm, this.bbox = function () {\n      var e, r, n, i;\n      for (i = [], e = 0, r = (n = this.bbox).length; e < r; e++) t = n[e], i.push(Math.round(t * this.scaleFactor));\n      return i;\n    }.call(this), this.stemV = 0, this.post.exists ? (r = 255 & (n = this.post.italic_angle), 0 != (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\");\n  }, t.prototype.characterToGlyph = function (t) {\n    var e;\n    return (null != (e = this.cmap.unicode) ? e.codeMap[t] : void 0) || 0;\n  }, t.prototype.widthOfGlyph = function (t) {\n    var e;\n    return e = 1e3 / this.head.unitsPerEm, this.hmtx.forGlyph(t).advance * e;\n  }, t.prototype.widthOfString = function (t, e, r) {\n    var n, i, a, o;\n    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;\n    return a * (e / 1e3);\n  }, t.prototype.lineHeight = function (t, e) {\n    var r;\n    return null == e && (e = !1), r = e ? this.lineGap : 0, (this.ascender + r - this.decender) / 1e3 * t;\n  }, t;\n}();\nvar re,\n  ne = function () {\n    function t(t) {\n      this.data = null != t ? t : [], this.pos = 0, this.length = this.data.length;\n    }\n    return t.prototype.readByte = function () {\n      return this.data[this.pos++];\n    }, t.prototype.writeByte = function (t) {\n      return this.data[this.pos++] = t;\n    }, t.prototype.readUInt32 = function () {\n      return 16777216 * this.readByte() + (this.readByte() << 16) + (this.readByte() << 8) + this.readByte();\n    }, t.prototype.writeUInt32 = function (t) {\n      return this.writeByte(t >>> 24 & 255), this.writeByte(t >> 16 & 255), this.writeByte(t >> 8 & 255), this.writeByte(255 & t);\n    }, t.prototype.readInt32 = function () {\n      var t;\n      return (t = this.readUInt32()) >= 2147483648 ? t - 4294967296 : t;\n    }, t.prototype.writeInt32 = function (t) {\n      return t < 0 && (t += 4294967296), this.writeUInt32(t);\n    }, t.prototype.readUInt16 = function () {\n      return this.readByte() << 8 | this.readByte();\n    }, t.prototype.writeUInt16 = function (t) {\n      return this.writeByte(t >> 8 & 255), this.writeByte(255 & t);\n    }, t.prototype.readInt16 = function () {\n      var t;\n      return (t = this.readUInt16()) >= 32768 ? t - 65536 : t;\n    }, t.prototype.writeInt16 = function (t) {\n      return t < 0 && (t += 65536), this.writeUInt16(t);\n    }, t.prototype.readString = function (t) {\n      var e, r;\n      for (r = [], e = 0; 0 <= t ? e < t : e > t; e = 0 <= t ? ++e : --e) r[e] = String.fromCharCode(this.readByte());\n      return r.join(\"\");\n    }, t.prototype.writeString = function (t) {\n      var e, r, n;\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)));\n      return n;\n    }, t.prototype.readShort = function () {\n      return this.readInt16();\n    }, t.prototype.writeShort = function (t) {\n      return this.writeInt16(t);\n    }, t.prototype.readLongLong = function () {\n      var t, e, r, n, i, a, o, s;\n      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;\n    }, t.prototype.writeLongLong = function (t) {\n      var e, r;\n      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);\n    }, t.prototype.readInt = function () {\n      return this.readInt32();\n    }, t.prototype.writeInt = function (t) {\n      return this.writeInt32(t);\n    }, t.prototype.read = function (t) {\n      var e, r;\n      for (e = [], r = 0; 0 <= t ? r < t : r > t; r = 0 <= t ? ++r : --r) e.push(this.readByte());\n      return e;\n    }, t.prototype.write = function (t) {\n      var e, r, n, i;\n      for (i = [], r = 0, n = t.length; r < n; r++) e = t[r], i.push(this.writeByte(e));\n      return i;\n    }, t;\n  }(),\n  ie = function () {\n    var t;\n    function e(t) {\n      var e, r, n;\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 = {\n        tag: t.readString(4),\n        checksum: t.readInt(),\n        offset: t.readInt(),\n        length: t.readInt()\n      }, this.tables[e.tag] = e;\n    }\n    return e.prototype.encode = function (e) {\n      var r, n, i, a, o, s, c, u, h, l, f, d, p;\n      for (p in f = Object.keys(e).length, s = Math.log(2), h = 16 * Math.floor(Math.log(f) / s), a = Math.floor(h / s), u = 16 * f - h, (n = new ne()).writeInt(this.scalarType), n.writeShort(f), n.writeShort(h), n.writeShort(a), n.writeShort(u), i = 16 * f, c = n.pos + i, o = null, d = [], e) for (l = e[p], n.writeString(p), n.writeInt(t(l)), n.writeInt(c), n.writeInt(l.length), d = d.concat(l), \"head\" === p && (o = c), c += l.length; c % 4;) d.push(0), c++;\n      return n.write(d), r = 2981146554 - t(n.data), n.pos = o + 8, n.writeUInt32(r), n.data;\n    }, t = function (t) {\n      var e, r, n, i;\n      for (t = ve.call(t); t.length % 4;) t.push(0);\n      for (n = new ne(t), r = 0, e = 0, i = t.length; e < i; e = e += 4) r += n.readUInt32();\n      return 4294967295 & r;\n    }, e;\n  }(),\n  ae = {}.hasOwnProperty,\n  oe = function (t, e) {\n    for (var r in e) ae.call(e, r) && (t[r] = e[r]);\n    function n() {\n      this.constructor = t;\n    }\n    return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n  };\nre = function () {\n  function t(t) {\n    var e;\n    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));\n  }\n  return t.prototype.parse = function () {}, t.prototype.encode = function () {}, t.prototype.raw = function () {\n    return this.exists ? (this.file.contents.pos = this.offset, this.file.contents.read(this.length)) : null;\n  }, t;\n}();\nvar se = function (t) {\n    function e() {\n      return e.__super__.constructor.apply(this, arguments);\n    }\n    return oe(e, re), e.prototype.tag = \"head\", e.prototype.parse = function (t) {\n      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();\n    }, e.prototype.encode = function (t) {\n      var e;\n      return (e = new ne()).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;\n    }, e;\n  }(),\n  ce = function () {\n    function t(t, e) {\n      var r, n, i, a, o, s, c, u, h, l, f, d, p, g, m, v, b;\n      switch (this.platformID = t.readUInt16(), this.encodingID = t.readShort(), this.offset = e + t.readInt(), h = 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) {\n        case 0:\n          for (s = 0; s < 256; ++s) this.codeMap[s] = t.readByte();\n          break;\n        case 4:\n          for (f = t.readUInt16(), l = f / 2, t.pos += 6, i = function () {\n            var e, r;\n            for (r = [], s = e = 0; 0 <= l ? e < l : e > l; s = 0 <= l ? ++e : --e) r.push(t.readUInt16());\n            return r;\n          }(), t.pos += 2, p = function () {\n            var e, r;\n            for (r = [], s = e = 0; 0 <= l ? e < l : e > l; s = 0 <= l ? ++e : --e) r.push(t.readUInt16());\n            return r;\n          }(), c = function () {\n            var e, r;\n            for (r = [], s = e = 0; 0 <= l ? e < l : e > l; s = 0 <= l ? ++e : --e) r.push(t.readUInt16());\n            return r;\n          }(), u = function () {\n            var e, r;\n            for (r = [], s = e = 0; 0 <= l ? e < l : e > l; s = 0 <= l ? ++e : --e) r.push(t.readUInt16());\n            return r;\n          }(), n = (this.length - t.pos + this.offset) / 2, o = function () {\n            var e, r;\n            for (r = [], s = e = 0; 0 <= n ? e < n : e > n; s = 0 <= n ? ++e : --e) r.push(t.readUInt16());\n            return r;\n          }(), 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 === u[s] ? a = r + c[s] : 0 !== (a = o[u[s] / 2 + (r - d) - (l - s)] || 0) && (a += c[s]), this.codeMap[r] = 65535 & a;\n      }\n      t.pos = h;\n    }\n    return t.encode = function (t, e) {\n      var r, n, i, a, o, s, c, u, h, l, f, d, p, g, m, v, b, y, w, N, L, A, x, S, _, P, k, I, F, C, j, O, B, M, E, q, D, R, T, U, z, H, W, V, G, Y;\n      switch (I = new ne(), a = Object.keys(t).sort(function (t, e) {\n        return t - e;\n      }), e) {\n        case \"macroman\":\n          for (p = 0, g = function () {\n            var t = [];\n            for (d = 0; d < 256; ++d) t.push(0);\n            return t;\n          }(), v = {\n            0: 0\n          }, i = {}, F = 0, B = a.length; F < B; F++) null == v[W = t[n = a[F]]] && (v[W] = ++p), i[n] = {\n            old: t[n],\n            new: v[t[n]]\n          }, g[n] = v[t[n]];\n          return I.writeUInt16(1), I.writeUInt16(0), I.writeUInt32(12), I.writeUInt16(0), I.writeUInt16(262), I.writeUInt16(0), I.write(g), {\n            charMap: i,\n            subtable: I.data,\n            maxGlyphID: p + 1\n          };\n        case \"unicode\":\n          for (P = [], h = [], b = 0, v = {}, r = {}, m = c = null, C = 0, M = a.length; C < M; C++) null == v[w = t[n = a[C]]] && (v[w] = ++b), r[n] = {\n            old: w,\n            new: v[w]\n          }, o = v[w] - n, null != m && o === c || (m && h.push(m), P.push(n), c = o), m = n;\n          for (m && h.push(m), h.push(65535), P.push(65535), S = 2 * (x = P.length), A = 2 * Math.pow(Math.log(x) / Math.LN2, 2), l = Math.log(A / 2) / Math.LN2, L = 2 * x - A, s = [], N = [], f = [], d = j = 0, E = P.length; j < E; d = ++j) {\n            if (_ = P[d], u = h[d], 65535 === _) {\n              s.push(0), N.push(0);\n              break;\n            }\n            if (_ - (k = r[_].new) >= 32768) for (s.push(0), N.push(2 * (f.length + x - d)), n = O = _; _ <= u ? O <= u : O >= u; n = _ <= u ? ++O : --O) f.push(r[n].new);else s.push(k - _), N.push(0);\n          }\n          for (I.writeUInt16(3), I.writeUInt16(1), I.writeUInt32(12), I.writeUInt16(4), I.writeUInt16(16 + 8 * x + 2 * f.length), I.writeUInt16(0), I.writeUInt16(S), I.writeUInt16(A), I.writeUInt16(l), I.writeUInt16(L), z = 0, q = h.length; z < q; z++) n = h[z], I.writeUInt16(n);\n          for (I.writeUInt16(0), H = 0, D = P.length; H < D; H++) n = P[H], I.writeUInt16(n);\n          for (V = 0, R = s.length; V < R; V++) o = s[V], I.writeUInt16(o);\n          for (G = 0, T = N.length; G < T; G++) y = N[G], I.writeUInt16(y);\n          for (Y = 0, U = f.length; Y < U; Y++) p = f[Y], I.writeUInt16(p);\n          return {\n            charMap: r,\n            subtable: I.data,\n            maxGlyphID: b + 1\n          };\n      }\n    }, t;\n  }(),\n  ue = function (t) {\n    function e() {\n      return e.__super__.constructor.apply(this, arguments);\n    }\n    return oe(e, re), e.prototype.tag = \"cmap\", e.prototype.parse = function (t) {\n      var e, r, n;\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 ce(t, this.offset), this.tables.push(e), e.isUnicode && null == this.unicode && (this.unicode = e);\n      return !0;\n    }, e.encode = function (t, e) {\n      var r, n;\n      return null == e && (e = \"macroman\"), r = ce.encode(t, e), (n = new ne()).writeUInt16(0), n.writeUInt16(1), r.table = n.data.concat(r.subtable), r;\n    }, e;\n  }(),\n  he = function (t) {\n    function e() {\n      return e.__super__.constructor.apply(this, arguments);\n    }\n    return oe(e, re), e.prototype.tag = \"hhea\", e.prototype.parse = function (t) {\n      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();\n    }, e;\n  }(),\n  le = function (t) {\n    function e() {\n      return e.__super__.constructor.apply(this, arguments);\n    }\n    return oe(e, re), e.prototype.tag = \"OS/2\", e.prototype.parse = function (t) {\n      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 () {\n        var e, r;\n        for (r = [], e = 0; e < 10; ++e) r.push(t.readByte());\n        return r;\n      }(), this.charRange = function () {\n        var e, r;\n        for (r = [], e = 0; e < 4; ++e) r.push(t.readInt());\n        return r;\n      }(), 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 () {\n        var e, r;\n        for (r = [], e = 0; e < 2; e = ++e) r.push(t.readInt());\n        return r;\n      }(), this.version > 1)) return this.xHeight = t.readShort(), this.capHeight = t.readShort(), this.defaultChar = t.readShort(), this.breakChar = t.readShort(), this.maxContext = t.readShort();\n    }, e;\n  }(),\n  fe = function (t) {\n    function e() {\n      return e.__super__.constructor.apply(this, arguments);\n    }\n    return oe(e, re), e.prototype.tag = \"post\", e.prototype.parse = function (t) {\n      var e, r, n;\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) {\n        case 65536:\n          break;\n        case 131072:\n          var i;\n          for (r = t.readUInt16(), this.glyphNameIndex = [], i = 0; 0 <= r ? i < r : i > r; i = 0 <= r ? ++i : --i) this.glyphNameIndex.push(t.readUInt16());\n          for (this.names = [], n = []; t.pos < this.offset + this.length;) e = t.readByte(), n.push(this.names.push(t.readString(e)));\n          return n;\n        case 151552:\n          return r = t.readUInt16(), this.offsets = t.read(r);\n        case 196608:\n          break;\n        case 262144:\n          return this.map = function () {\n            var e, r, n;\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());\n            return n;\n          }.call(this);\n      }\n    }, e;\n  }(),\n  de = function (t, e) {\n    this.raw = t, this.length = t.length, this.platformID = e.platformID, this.encodingID = e.encodingID, this.languageID = e.languageID;\n  },\n  pe = function (t) {\n    function e() {\n      return e.__super__.constructor.apply(this, arguments);\n    }\n    return oe(e, re), e.prototype.tag = \"name\", e.prototype.parse = function (t) {\n      var e, r, n, i, a, o, s, c, u, h, l;\n      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({\n        platformID: t.readShort(),\n        encodingID: t.readShort(),\n        languageID: t.readShort(),\n        nameID: t.readShort(),\n        length: t.readShort(),\n        offset: this.offset + o + t.readShort()\n      });\n      for (s = {}, i = u = 0, h = r.length; u < h; i = ++u) n = r[i], t.pos = n.offset, c = t.readString(n.length), a = new de(c, n), null == s[l = n.nameID] && (s[l] = []), s[n.nameID].push(a);\n      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];\n      try {\n        this.postscriptName = s[6][0].raw.replace(/[\\x00-\\x19\\x80-\\xff]/g, \"\");\n      } catch (t) {\n        this.postscriptName = s[4][0].raw.replace(/[\\x00-\\x19\\x80-\\xff]/g, \"\");\n      }\n      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];\n    }, e;\n  }(),\n  ge = function (t) {\n    function e() {\n      return e.__super__.constructor.apply(this, arguments);\n    }\n    return oe(e, re), e.prototype.tag = \"maxp\", e.prototype.parse = function (t) {\n      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();\n    }, e;\n  }(),\n  me = function (t) {\n    function e() {\n      return e.__super__.constructor.apply(this, arguments);\n    }\n    return oe(e, re), e.prototype.tag = \"hmtx\", e.prototype.parse = function (t) {\n      var e, r, n, i, a, o, s;\n      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({\n        advance: t.readUInt16(),\n        lsb: t.readInt16()\n      });\n      for (n = this.file.maxp.numGlyphs - this.file.hhea.numberOfMetrics, this.leftSideBearings = function () {\n        var r, i;\n        for (i = [], e = r = 0; 0 <= n ? r < n : r > n; e = 0 <= n ? ++r : --r) i.push(t.readInt16());\n        return i;\n      }(), this.widths = function () {\n        var t, e, r, n;\n        for (n = [], t = 0, e = (r = this.metrics).length; t < e; t++) i = r[t], n.push(i.advance);\n        return n;\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));\n      return s;\n    }, e.prototype.forGlyph = function (t) {\n      return t in this.metrics ? this.metrics[t] : {\n        advance: this.metrics[this.metrics.length - 1].advance,\n        lsb: this.leftSideBearings[t - this.metrics.length]\n      };\n    }, e;\n  }(),\n  ve = [].slice,\n  be = function (t) {\n    function e() {\n      return e.__super__.constructor.apply(this, arguments);\n    }\n    return oe(e, re), e.prototype.tag = \"glyf\", e.prototype.parse = function () {\n      return this.cache = {};\n    }, e.prototype.glyphFor = function (t) {\n      var e, r, n, i, a, o, s, c, u, h;\n      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 ne(e.read(n))).readShort(), c = o.readShort(), h = o.readShort(), s = o.readShort(), u = o.readShort(), this.cache[t] = -1 === a ? new we(o, c, h, s, u) : new ye(o, a, c, h, s, u), this.cache[t]));\n    }, e.prototype.encode = function (t, e, r) {\n      var n, i, a, o, s;\n      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)));\n      return i.push(a.length), {\n        table: a,\n        offsets: i\n      };\n    }, e;\n  }(),\n  ye = function () {\n    function t(t, e, r, n, i, a) {\n      this.raw = t, this.numberOfContours = e, this.xMin = r, this.yMin = n, this.xMax = i, this.yMax = a, this.compound = !1;\n    }\n    return t.prototype.encode = function () {\n      return this.raw.data;\n    }, t;\n  }(),\n  we = function () {\n    function t(t, e, r, n, i) {\n      var a, o;\n      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);\n    }\n    return 1, 8, 32, 64, 128, t.prototype.encode = function () {\n      var t, e, r;\n      for (e = new ne(ve.call(this.raw.data)), t = 0, r = this.glyphIDs.length; t < r; ++t) e.pos = this.glyphOffsets[t];\n      return e.data;\n    }, t;\n  }(),\n  Ne = function (t) {\n    function e() {\n      return e.__super__.constructor.apply(this, arguments);\n    }\n    return oe(e, re), e.prototype.tag = \"loca\", e.prototype.parse = function (t) {\n      var e, r;\n      return t.pos = this.offset, e = this.file.head.indexToLocFormat, this.offsets = 0 === e ? function () {\n        var e, n;\n        for (n = [], r = 0, e = this.length; r < e; r += 2) n.push(2 * t.readUInt16());\n        return n;\n      }.call(this) : function () {\n        var e, n;\n        for (n = [], r = 0, e = this.length; r < e; r += 4) n.push(t.readUInt32());\n        return n;\n      }.call(this);\n    }, e.prototype.indexOf = function (t) {\n      return this.offsets[t];\n    }, e.prototype.lengthOf = function (t) {\n      return this.offsets[t + 1] - this.offsets[t];\n    }, e.prototype.encode = function (t, e) {\n      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) {\n        ++i, r[a] = n;\n        var o = this.offsets[a],\n          s = this.offsets[a + 1] - o;\n        s > 0 && (n += s);\n      }\n      for (var c = new Array(4 * r.length), u = 0; u < r.length; ++u) c[4 * u + 3] = 255 & r[u], c[4 * u + 2] = (65280 & r[u]) >> 8, c[4 * u + 1] = (16711680 & r[u]) >> 16, c[4 * u] = (4278190080 & r[u]) >> 24;\n      return c;\n    }, e;\n  }(),\n  Le = function () {\n    function t(t) {\n      this.font = t, this.subset = {}, this.unicodes = {}, this.next = 33;\n    }\n    return t.prototype.generateCmap = function () {\n      var t, e, r, n, i;\n      for (e in n = this.font.cmap.tables[0].codeMap, t = {}, i = this.subset) r = i[e], t[e] = n[r];\n      return t;\n    }, t.prototype.glyphsFor = function (t) {\n      var e, r, n, i, a, o, s;\n      for (n = {}, a = 0, o = t.length; a < o; a++) n[i = t[a]] = this.font.glyf.glyphFor(i);\n      for (i in e = [], n) (null != (r = n[i]) ? r.compound : void 0) && e.push.apply(e, r.glyphIDs);\n      if (e.length > 0) for (i in s = this.glyphsFor(e)) r = s[i], n[i] = r;\n      return n;\n    }, t.prototype.encode = function (t, e) {\n      var r, n, i, a, o, s, c, u, h, l, f, d, p, g, m;\n      for (n in r = ue.encode(this.generateCmap(), \"unicode\"), a = this.glyphsFor(t), f = {\n        0: 0\n      }, m = r.charMap) f[(s = m[n]).old] = s.new;\n      for (d in l = r.maxGlyphID, a) d in f || (f[d] = l++);\n      return u = function (t) {\n        var e, r;\n        for (e in r = {}, t) r[t[e]] = e;\n        return r;\n      }(f), h = Object.keys(u).sort(function (t, e) {\n        return t - e;\n      }), p = function () {\n        var t, e, r;\n        for (r = [], t = 0, e = h.length; t < e; t++) o = h[t], r.push(u[o]);\n        return r;\n      }(), i = this.font.glyf.encode(a, p, f), c = this.font.loca.encode(i.offsets, p), g = {\n        cmap: this.font.cmap.raw(),\n        glyf: i.table,\n        loca: c,\n        hmtx: this.font.hmtx.raw(),\n        hhea: this.font.hhea.raw(),\n        maxp: this.font.maxp.raw(),\n        post: this.font.post.raw(),\n        name: this.font.name.raw(),\n        head: this.font.head.encode(e)\n      }, this.font.os2.exists && (g[\"OS/2\"] = this.font.os2.raw()), this.font.directory.encode(g);\n    }, t;\n  }();\nE.API.PDFObject = function () {\n  var t;\n  function e() {}\n  return t = function (t, e) {\n    return (Array(e + 1).join(\"0\") + t).slice(-e);\n  }, e.convert = function (r) {\n    var n, i, a, o;\n    if (Array.isArray(r)) return \"[\" + function () {\n      var t, i, a;\n      for (a = [], t = 0, i = r.length; t < i; t++) n = r[t], a.push(e.convert(n));\n      return a;\n    }().join(\" \") + \"]\";\n    if (\"string\" == typeof r) return \"/\" + r;\n    if (null != r ? r.isString : void 0) return \"(\" + r + \")\";\n    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)\";\n    if (\"[object Object]\" === {}.toString.call(r)) {\n      for (i in a = [\"<<\"], r) o = r[i], a.push(\"/\" + i + \" \" + e.convert(o));\n      return a.push(\">>\"), a.join(\"\\n\");\n    }\n    return \"\" + r;\n  }, e;\n}();\nexport { St as AcroForm, At as AcroFormAppearance, mt as AcroFormButton, wt as AcroFormCheckBox, ft as AcroFormChoiceField, pt as AcroFormComboBox, gt as AcroFormEditBox, dt as AcroFormListBox, Lt as AcroFormPasswordField, vt as AcroFormPushButton, bt as AcroFormRadioButton, Nt as AcroFormTextField, j as GState, B as ShadingPattern, M as TilingPattern, E as default, E as jsPDF };\n//# sourceMappingURL=jspdf.es.min.js.map","map":null,"metadata":{},"sourceType":"module","externalDependencies":[]}