UNPKG

jspdf

Version:

PDF Document creation from JavaScript

86 lines (85 loc) 348 kB
/** @license * * jsPDF - PDF Document creation from JavaScript * Version 3.0.2 Built on 2025-08-26T11:48:30.930Z * CommitID 00000000 * * Copyright (c) 2010-2021 James Hall <james@parall.ax>, https://github.com/MrRio/jsPDF * 2015-2021 yWorks GmbH, http://www.yworks.com * 2015-2021 Lukas Holländer <lukas.hollaender@yworks.com>, https://github.com/HackbrettXXX * 2016-2018 Aras Abbasi <aras.abbasi@gmail.com> * 2010 Aaron Spike, https://github.com/acspike * 2012 Willow Systems Corporation, https://github.com/willowsystems * 2012 Pablo Hess, https://github.com/pablohess * 2012 Florian Jenett, https://github.com/fjenett * 2013 Warren Weckesser, https://github.com/warrenweckesser * 2013 Youssef Beddad, https://github.com/lifof * 2013 Lee Driscoll, https://github.com/lsdriscoll * 2013 Stefan Slonevskiy, https://github.com/stefslon * 2013 Jeremy Morel, https://github.com/jmorel * 2013 Christoph Hartmann, https://github.com/chris-rock * 2014 Juan Pablo Gaviria, https://github.com/juanpgaviria * 2014 James Makes, https://github.com/dollaruw * 2014 Diego Casorran, https://github.com/diegocr * 2014 Steven Spungin, https://github.com/Flamenco * 2014 Kenneth Glassey, https://github.com/Gavvers * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including * without limitation the rights to use, copy, modify, merge, publish, * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * * Contributor(s): * siefkenj, ahwolf, rickygu, Midnith, saintclair, eaparango, * kim3er, mfo, alnorth, Flamenco */ Object.defineProperty(exports,"__esModule",{value:!0});var t=require("fflate"),e=require("fast-png"),r=function(){return"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this}(); /** * A class to parse color values * @author Stoyan Stefanov <sstoo@gmail.com> * {@link http://www.phpied.com/rgb-color-parser-in-javascript/} * @license Use it if you like it */ function n(t){var e;t=t||"",this.ok=!1,"#"==t.charAt(0)&&(t=t.substr(1,6)),t={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dodgerblue:"1e90ff",feldspar:"d19275",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgrey:"d3d3d3",lightgreen:"90ee90",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslateblue:"8470ff",lightslategray:"778899",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"00ff00",limegreen:"32cd32",linen:"faf0e6",magenta:"ff00ff",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370d8",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"d87093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",red:"ff0000",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",violetred:"d02090",wheat:"f5deb3",white:"ffffff",whitesmoke:"f5f5f5",yellow:"ffff00",yellowgreen:"9acd32"}[t=(t=t.replace(/ /g,"")).toLowerCase()]||t;for(var r=[{re:/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,example:["rgb(123, 234, 45)","rgb(255,234,245)"],process:function(t){return[parseInt(t[1]),parseInt(t[2]),parseInt(t[3])]}},{re:/^(\w{2})(\w{2})(\w{2})$/,example:["#00ff00","336699"],process:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]}},{re:/^(\w{1})(\w{1})(\w{1})$/,example:["#fb0","f0f"],process:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)]}}],n=0;n<r.length;n++){var i=r[n].re,a=r[n].process,o=i.exec(t);o&&(e=a(o),this.r=e[0],this.g=e[1],this.b=e[2],this.ok=!0)}this.r=this.r<0||isNaN(this.r)?0:this.r>255?255:this.r,this.g=this.g<0||isNaN(this.g)?0:this.g>255?255:this.g,this.b=this.b<0||isNaN(this.b)?0:this.b>255?255:this.b,this.toRGB=function(){return"rgb("+this.r+", "+this.g+", "+this.b+")"},this.toHex=function(){var t=this.r.toString(16),e=this.g.toString(16),r=this.b.toString(16);return 1==t.length&&(t="0"+t),1==e.length&&(e="0"+e),1==r.length&&(r="0"+r),"#"+t+e+r}}const i=r.atob.bind(r),a=r.btoa.bind(r);function o(){r.console&&"function"==typeof r.console.log&&r.console.log.apply(r.console,arguments)}var s={log:o,warn:function(t){r.console&&("function"==typeof r.console.warn?r.console.warn.apply(r.console,arguments):o.call(null,arguments))},error:function(t){r.console&&("function"==typeof r.console.error?r.console.error.apply(r.console,arguments):o(t))}}; /** * @license * Joseph Myers does not specify a particular license for his work. * * Author: Joseph Myers * Accessed from: http://www.myersdaily.org/joseph/javascript/md5.js * * Modified by: Owen Leong */function c(t,e){var r=t[0],n=t[1],i=t[2],a=t[3];r=l(r,n,i,a,e[0],7,-680876936),a=l(a,r,n,i,e[1],12,-389564586),i=l(i,a,r,n,e[2],17,606105819),n=l(n,i,a,r,e[3],22,-1044525330),r=l(r,n,i,a,e[4],7,-176418897),a=l(a,r,n,i,e[5],12,1200080426),i=l(i,a,r,n,e[6],17,-1473231341),n=l(n,i,a,r,e[7],22,-45705983),r=l(r,n,i,a,e[8],7,1770035416),a=l(a,r,n,i,e[9],12,-1958414417),i=l(i,a,r,n,e[10],17,-42063),n=l(n,i,a,r,e[11],22,-1990404162),r=l(r,n,i,a,e[12],7,1804603682),a=l(a,r,n,i,e[13],12,-40341101),i=l(i,a,r,n,e[14],17,-1502002290),r=h(r,n=l(n,i,a,r,e[15],22,1236535329),i,a,e[1],5,-165796510),a=h(a,r,n,i,e[6],9,-1069501632),i=h(i,a,r,n,e[11],14,643717713),n=h(n,i,a,r,e[0],20,-373897302),r=h(r,n,i,a,e[5],5,-701558691),a=h(a,r,n,i,e[10],9,38016083),i=h(i,a,r,n,e[15],14,-660478335),n=h(n,i,a,r,e[4],20,-405537848),r=h(r,n,i,a,e[9],5,568446438),a=h(a,r,n,i,e[14],9,-1019803690),i=h(i,a,r,n,e[3],14,-187363961),n=h(n,i,a,r,e[8],20,1163531501),r=h(r,n,i,a,e[13],5,-1444681467),a=h(a,r,n,i,e[2],9,-51403784),i=h(i,a,r,n,e[7],14,1735328473),r=f(r,n=h(n,i,a,r,e[12],20,-1926607734),i,a,e[5],4,-378558),a=f(a,r,n,i,e[8],11,-2022574463),i=f(i,a,r,n,e[11],16,1839030562),n=f(n,i,a,r,e[14],23,-35309556),r=f(r,n,i,a,e[1],4,-1530992060),a=f(a,r,n,i,e[4],11,1272893353),i=f(i,a,r,n,e[7],16,-155497632),n=f(n,i,a,r,e[10],23,-1094730640),r=f(r,n,i,a,e[13],4,681279174),a=f(a,r,n,i,e[0],11,-358537222),i=f(i,a,r,n,e[3],16,-722521979),n=f(n,i,a,r,e[6],23,76029189),r=f(r,n,i,a,e[9],4,-640364487),a=f(a,r,n,i,e[12],11,-421815835),i=f(i,a,r,n,e[15],16,530742520),r=d(r,n=f(n,i,a,r,e[2],23,-995338651),i,a,e[0],6,-198630844),a=d(a,r,n,i,e[7],10,1126891415),i=d(i,a,r,n,e[14],15,-1416354905),n=d(n,i,a,r,e[5],21,-57434055),r=d(r,n,i,a,e[12],6,1700485571),a=d(a,r,n,i,e[3],10,-1894986606),i=d(i,a,r,n,e[10],15,-1051523),n=d(n,i,a,r,e[1],21,-2054922799),r=d(r,n,i,a,e[8],6,1873313359),a=d(a,r,n,i,e[15],10,-30611744),i=d(i,a,r,n,e[6],15,-1560198380),n=d(n,i,a,r,e[13],21,1309151649),r=d(r,n,i,a,e[4],6,-145523070),a=d(a,r,n,i,e[11],10,-1120210379),i=d(i,a,r,n,e[2],15,718787259),n=d(n,i,a,r,e[9],21,-343485551),t[0]=N(r,t[0]),t[1]=N(n,t[1]),t[2]=N(i,t[2]),t[3]=N(a,t[3])}function u(t,e,r,n,i,a){return e=N(N(e,t),N(n,a)),N(e<<i|e>>>32-i,r)}function l(t,e,r,n,i,a,o){return u(e&r|~e&n,t,e,i,a,o)}function h(t,e,r,n,i,a,o){return u(e&n|r&~n,t,e,i,a,o)}function f(t,e,r,n,i,a,o){return u(e^r^n,t,e,i,a,o)}function d(t,e,r,n,i,a,o){return u(r^(e|~n),t,e,i,a,o)}function p(t){var e,r=t.length,n=[1732584193,-271733879,-1732584194,271733878];for(e=64;e<=t.length;e+=64)c(n,g(t.substring(e-64,e)));t=t.substring(e-64);var i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(e=0;e<t.length;e++)i[e>>2]|=t.charCodeAt(e)<<(e%4<<3);if(i[e>>2]|=128<<(e%4<<3),e>55)for(c(n,i),e=0;e<16;e++)i[e]=0;return i[14]=8*r,c(n,i),n}function g(t){var e,r=[];for(e=0;e<64;e+=4)r[e>>2]=t.charCodeAt(e)+(t.charCodeAt(e+1)<<8)+(t.charCodeAt(e+2)<<16)+(t.charCodeAt(e+3)<<24);return r}var m="0123456789abcdef".split("");function v(t){for(var e="",r=0;r<4;r++)e+=m[t>>8*r+4&15]+m[t>>8*r&15];return e}function b(t){return String.fromCharCode(255&t,(65280&t)>>8,(16711680&t)>>16,(4278190080&t)>>24)}function y(t){return p(t).map(b).join("")}var w="5d41402abc4b2a76b9719d911017c592"!=function(t){for(var e=0;e<t.length;e++)t[e]=v(t[e]);return t.join("")}(p("hello"));function N(t,e){if(w){var r=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(r>>16)<<16|65535&r}return t+e&4294967295} /** * @license * FPDF is released under a permissive license: there is no usage restriction. * You may embed it freely in your application (commercial or not), with or * without modifications. * * Reference: http://www.fpdf.org/en/script/script37.php */function L(t,e){var r,n,i,a;if(t!==r){for(var o=(i=t,a=1+(256/t.length|0),new Array(a+1).join(i)),s=[],c=0;c<256;c++)s[c]=c;var u=0;for(c=0;c<256;c++){var l=s[c];u=(u+l+o.charCodeAt(c))%256,s[c]=s[u],s[u]=l}r=t,n=s}else s=n;var h=e.length,f=0,d=0,p="";for(c=0;c<h;c++)d=(d+(l=s[f=(f+1)%256]))%256,s[f]=s[d],s[d]=l,o=s[(s[f]+s[d])%256],p+=String.fromCharCode(e.charCodeAt(c)^o);return p} /** * @license * Licensed under the MIT License. * http://opensource.org/licenses/mit-license * Author: Owen Leong (@owenl131) * Date: 15 Oct 2020 * References: * https://www.cs.cmu.edu/~dst/Adobe/Gallery/anon21jul01-pdf-encryption.txt * https://github.com/foliojs/pdfkit/blob/master/lib/security.js * http://www.fpdf.org/en/script/script37.php */var x={print:4,modify:8,copy:16,"annot-forms":32};function A(t,e,r,n){this.v=1,this.r=2;let i=192;t.forEach(function(t){if(void 0!==x.perm)throw new Error("Invalid permission: "+t);i+=x[t]}),this.padding="(¿N^NuŠAd\0NVÿú\b..\0¶Ðh>€/\f©þdSiz";let a=(e+this.padding).substr(0,32),o=(r+this.padding).substr(0,32);this.O=this.processOwnerPassword(a,o),this.P=-(1+(255^i)),this.encryptionKey=y(a+this.O+this.lsbFirstWord(this.P)+this.hexToBytes(n)).substr(0,5),this.U=L(this.encryptionKey,this.padding)}function S(t){if(/[^\u0000-\u00ff]/.test(t))throw new Error("Invalid PDF Name Object: "+t+", Only accept ASCII characters.");for(var e="",r=t.length,n=0;n<r;n++){var i=t.charCodeAt(n);e+=i<33||35===i||37===i||40===i||41===i||47===i||60===i||62===i||91===i||93===i||123===i||125===i||i>126?"#"+("0"+i.toString(16)).slice(-2):t[n]}return e}function _(t){if("object"!=typeof t)throw new Error("Invalid Context passed to initialize PubSub (jsPDF-module)");var e={};this.subscribe=function(t,r,n){if(n=n||!1,"string"!=typeof t||"function"!=typeof r||"boolean"!=typeof n)throw new Error("Invalid arguments passed to PubSub.subscribe (jsPDF-module)");e.hasOwnProperty(t)||(e[t]={});var i=Math.random().toString(35);return e[t][i]=[r,!!n],i},this.unsubscribe=function(t){for(var r in e)if(e[r][t])return delete e[r][t],0===Object.keys(e[r]).length&&delete e[r],!0;return!1},this.publish=function(n){if(e.hasOwnProperty(n)){var i=Array.prototype.slice.call(arguments,1),a=[];for(var o in e[n]){var c=e[n][o];try{c[0].apply(t,i)}catch(u){r.console&&s.error("jsPDF PubSub Error",u.message,u)}c[1]&&a.push(o)}a.length&&a.forEach(this.unsubscribe)}},this.getTopics=function(){return e}}function P(t){if(!(this instanceof P))return new P(t);var e="opacity,stroke-opacity".split(",");for(var r in t)t.hasOwnProperty(r)&&e.indexOf(r)>=0&&(this[r]=t[r]);this.id="",this.objectNumber=-1}function k(t,e){this.gState=t,this.matrix=e,this.id="",this.objectNumber=-1}function F(t,e,r,n,i){if(!(this instanceof F))return new F(t,e,r,n,i);this.type="axial"===t?2:3,this.coords=e,this.colors=r,k.call(this,n,i)}function I(t,e,r,n,i){if(!(this instanceof I))return new I(t,e,r,n,i);this.boundingBox=t,this.xStep=e,this.yStep=r,this.stream="",this.cloneIndex=0,k.call(this,n,i)}function j(t){var e,i="string"==typeof arguments[0]?arguments[0]:"p",o=arguments[1],c=arguments[2],u=arguments[3],l=[],h=1,f=16,d="S",p=null;"object"==typeof(t=t||{})&&(i=t.orientation,o=t.unit||o,c=t.format||c,u=t.compress||t.compressPdf||u,null!==(p=t.encryption||null)&&(p.userPassword=p.userPassword||"",p.ownerPassword=p.ownerPassword||"",p.userPermissions=p.userPermissions||[]),h="number"==typeof t.userUnit?Math.abs(t.userUnit):1,void 0!==t.precision&&(e=t.precision),void 0!==t.floatPrecision&&(f=t.floatPrecision),d=t.defaultPathOperation||"S"),l=t.filters||(!0===u?["FlateEncode"]:l),o=o||"mm",i=(""+(i||"P")).toLowerCase();var g=t.putOnlyUsedFonts||!1,m={},v={internal:{},__private__:{}};v.__private__.PubSub=_;var b="1.3",y=v.__private__.getPdfVersion=function(){return b};v.__private__.setPdfVersion=function(t){b=t};var w={a0:[2383.94,3370.39],a1:[1683.78,2383.94],a2:[1190.55,1683.78],a3:[841.89,1190.55],a4:[595.28,841.89],a5:[419.53,595.28],a6:[297.64,419.53],a7:[209.76,297.64],a8:[147.4,209.76],a9:[104.88,147.4],a10:[73.7,104.88],b0:[2834.65,4008.19],b1:[2004.09,2834.65],b2:[1417.32,2004.09],b3:[1000.63,1417.32],b4:[708.66,1000.63],b5:[498.9,708.66],b6:[354.33,498.9],b7:[249.45,354.33],b8:[175.75,249.45],b9:[124.72,175.75],b10:[87.87,124.72],c0:[2599.37,3676.54],c1:[1836.85,2599.37],c2:[1298.27,1836.85],c3:[918.43,1298.27],c4:[649.13,918.43],c5:[459.21,649.13],c6:[323.15,459.21],c7:[229.61,323.15],c8:[161.57,229.61],c9:[113.39,161.57],c10:[79.37,113.39],dl:[311.81,623.62],letter:[612,792],"government-letter":[576,756],legal:[612,1008],"junior-legal":[576,360],ledger:[1224,792],tabloid:[792,1224],"credit-card":[153,243]};v.__private__.getPageFormats=function(){return w};var N=v.__private__.getPageFormat=function(t){return w[t]};c=c||"a4";var L="compat",x="advanced",k=L;function C(){this.saveGraphicsState(),ct(new Ut(xt,0,0,-xt,0,yr()*xt).toString()+" cm"),this.setFontSize(this.getFontSize()/xt),d="n",k=x}function O(){this.restoreGraphicsState(),d="S",k=L}var B=v.__private__.combineFontStyleAndFontWeight=function(t,e){if("bold"==t&&"normal"==e||"bold"==t&&400==e||"normal"==t&&"italic"==e||"bold"==t&&"italic"==e)throw new Error("Invalid Combination of fontweight and fontstyle");return e&&(t=400==e||"normal"===e?"italic"===t?"italic":"normal":700!=e&&"bold"!==e||"normal"!==t?(700==e?"bold":e)+""+t:"bold"),t};v.advancedAPI=function(t){var e=k===L;return e&&C.call(this),"function"!=typeof t||(t(this),e&&O.call(this)),this},v.compatAPI=function(t){var e=k===x;return e&&O.call(this),"function"!=typeof t||(t(this),e&&C.call(this)),this},v.isAdvancedAPI=function(){return k===x};var q,M=function(t){if(k!==x)throw new Error(t+" is only available in 'advanced' API mode. You need to call advancedAPI() first.")},E=v.roundToPrecision=v.__private__.roundToPrecision=function(t,r){var n=e||r;if(isNaN(t)||isNaN(n))throw new Error("Invalid argument passed to jsPDF.roundToPrecision");return t.toFixed(n).replace(/0+$/,"")};q=v.hpf=v.__private__.hpf="number"==typeof f?function(t){if(isNaN(t))throw new Error("Invalid argument passed to jsPDF.hpf");return E(t,f)}:"smart"===f?function(t){if(isNaN(t))throw new Error("Invalid argument passed to jsPDF.hpf");return E(t,t>-1&&t<1?16:5)}:function(t){if(isNaN(t))throw new Error("Invalid argument passed to jsPDF.hpf");return E(t,16)};var R=v.f2=v.__private__.f2=function(t){if(isNaN(t))throw new Error("Invalid argument passed to jsPDF.f2");return E(t,2)},D=v.__private__.f3=function(t){if(isNaN(t))throw new Error("Invalid argument passed to jsPDF.f3");return E(t,3)},T=v.scale=v.__private__.scale=function(t){if(isNaN(t))throw new Error("Invalid argument passed to jsPDF.scale");return k===L?t*xt:k===x?t:void 0},z=function(t){return T(function(t){return k===L?yr()-t:k===x?t:void 0}(t))};v.__private__.setPrecision=v.setPrecision=function(t){"number"==typeof parseInt(t,10)&&(e=parseInt(t,10))};var U,H="00000000000000000000000000000000",W=v.__private__.getFileId=function(){return H},V=v.__private__.setFileId=function(t){return H=void 0!==t&&/^[a-fA-F0-9]{32}$/.test(t)?t.toUpperCase():H.split("").map(function(){return"ABCDEF0123456789".charAt(Math.floor(16*Math.random()))}).join(""),null!==p&&(Fe=new A(p.userPermissions,p.userPassword,p.ownerPassword,H)),H};v.setFileId=function(t){return V(t),this},v.getFileId=function(){return W()};var G=v.__private__.convertDateToPDFDate=function(t){var e=t.getTimezoneOffset(),r=e<0?"+":"-",n=Math.floor(Math.abs(e/60)),i=Math.abs(e%60),a=[r,$(n),"'",$(i),"'"].join("");return["D:",t.getFullYear(),$(t.getMonth()+1),$(t.getDate()),$(t.getHours()),$(t.getMinutes()),$(t.getSeconds()),a].join("")},Y=v.__private__.convertPDFDateToDate=function(t){var e=parseInt(t.substr(2,4),10),r=parseInt(t.substr(6,2),10)-1,n=parseInt(t.substr(8,2),10),i=parseInt(t.substr(10,2),10),a=parseInt(t.substr(12,2),10),o=parseInt(t.substr(14,2),10);return new Date(e,r,n,i,a,o,0)},J=v.__private__.setCreationDate=function(t){var e;if(void 0===t&&(t=new Date),t instanceof Date)e=G(t);else{if(!/^D:(20[0-2][0-9]|203[0-7]|19[7-9][0-9])(0[0-9]|1[0-2])([0-2][0-9]|3[0-1])(0[0-9]|1[0-9]|2[0-3])(0[0-9]|[1-5][0-9])(0[0-9]|[1-5][0-9])(\+0[0-9]|\+1[0-4]|-0[0-9]|-1[0-1])'(0[0-9]|[1-5][0-9])'?$/.test(t))throw new Error("Invalid argument passed to jsPDF.setCreationDate");e=t}return U=e},X=v.__private__.getCreationDate=function(t){var e=U;return"jsDate"===t&&(e=Y(U)),e};v.setCreationDate=function(t){return J(t),this},v.getCreationDate=function(t){return X(t)};var K,$=v.__private__.padd2=function(t){return("0"+parseInt(t)).slice(-2)},Z=v.__private__.padd2Hex=function(t){return("00"+(t=t.toString())).substr(t.length)},Q=0,tt=[],et=[],rt=0,nt=[],it=[],at=!1,ot=et;v.__private__.setCustomOutputDestination=function(t){at=!0,ot=t};var st=function(t){at||(ot=t)};v.__private__.resetCustomOutputDestination=function(){at=!1,ot=et};var ct=v.__private__.out=function(t){return t=t.toString(),rt+=t.length+1,ot.push(t),ot},ut=v.__private__.write=function(t){return ct(1===arguments.length?t.toString():Array.prototype.join.call(arguments," "))},lt=v.__private__.getArrayBuffer=function(t){for(var e=t.length,r=new ArrayBuffer(e),n=new Uint8Array(r);e--;)n[e]=t.charCodeAt(e);return r},ht=[["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]];v.__private__.getStandardFonts=function(){return ht};var ft=t.fontSize||16;v.__private__.setFontSize=v.setFontSize=function(t){return ft=k===x?t/xt:t,this};var dt,pt=v.__private__.getFontSize=v.getFontSize=function(){return k===L?ft:ft*xt},gt=t.R2L||!1;v.__private__.setR2L=v.setR2L=function(t){return gt=t,this},v.__private__.getR2L=v.getR2L=function(){return gt};var mt,vt=v.__private__.setZoomMode=function(t){if(/^(?:\d+\.\d*|\d*\.\d+|\d+)%$/.test(t))dt=t;else if(isNaN(t)){if(-1===[void 0,null,"fullwidth","fullheight","fullpage","original"].indexOf(t))throw new Error('zoom must be Integer (e.g. 2), a percentage Value (e.g. 300%) or fullwidth, fullheight, fullpage, original. "'+t+'" is not recognized.');dt=t}else dt=parseInt(t,10)};v.__private__.getZoomMode=function(){return dt};var bt,yt=v.__private__.setPageMode=function(t){if(-1==[void 0,null,"UseNone","UseOutlines","UseThumbs","FullScreen"].indexOf(t))throw new Error('Page mode must be one of UseNone, UseOutlines, UseThumbs, or FullScreen. "'+t+'" is not recognized.');mt=t};v.__private__.getPageMode=function(){return mt};var wt=v.__private__.setLayoutMode=function(t){if(-1==[void 0,null,"continuous","single","twoleft","tworight","two"].indexOf(t))throw new Error('Layout mode must be one of continuous, single, twoleft, tworight. "'+t+'" is not recognized.');bt=t};v.__private__.getLayoutMode=function(){return bt},v.__private__.setDisplayMode=v.setDisplayMode=function(t,e,r){return vt(t),wt(e),yt(r),this};var Nt={title:"",subject:"",author:"",keywords:"",creator:""};v.__private__.getDocumentProperty=function(t){if(-1===Object.keys(Nt).indexOf(t))throw new Error("Invalid argument passed to jsPDF.getDocumentProperty");return Nt[t]},v.__private__.getDocumentProperties=function(){return Nt},v.__private__.setDocumentProperties=v.setProperties=v.setDocumentProperties=function(t){for(var e in Nt)Nt.hasOwnProperty(e)&&t[e]&&(Nt[e]=t[e]);return this},v.__private__.setDocumentProperty=function(t,e){if(-1===Object.keys(Nt).indexOf(t))throw new Error("Invalid arguments passed to jsPDF.setDocumentProperty");return Nt[t]=e};var Lt,xt,At,St,_t,Pt={},kt={},Ft=[],It={},jt={},Ct={},Ot={},Bt=null,qt=0,Mt=[],Et=new _(v),Rt=t.hotfixes||[],Dt={},Tt={},zt=[],Ut=function(t,e,r,n,i,a){if(!(this instanceof Ut))return new Ut(t,e,r,n,i,a);isNaN(t)&&(t=1),isNaN(e)&&(e=0),isNaN(r)&&(r=0),isNaN(n)&&(n=1),isNaN(i)&&(i=0),isNaN(a)&&(a=0),this._matrix=[t,e,r,n,i,a]};Object.defineProperty(Ut.prototype,"sx",{get:function(){return this._matrix[0]},set:function(t){this._matrix[0]=t}}),Object.defineProperty(Ut.prototype,"shy",{get:function(){return this._matrix[1]},set:function(t){this._matrix[1]=t}}),Object.defineProperty(Ut.prototype,"shx",{get:function(){return this._matrix[2]},set:function(t){this._matrix[2]=t}}),Object.defineProperty(Ut.prototype,"sy",{get:function(){return this._matrix[3]},set:function(t){this._matrix[3]=t}}),Object.defineProperty(Ut.prototype,"tx",{get:function(){return this._matrix[4]},set:function(t){this._matrix[4]=t}}),Object.defineProperty(Ut.prototype,"ty",{get:function(){return this._matrix[5]},set:function(t){this._matrix[5]=t}}),Object.defineProperty(Ut.prototype,"a",{get:function(){return this._matrix[0]},set:function(t){this._matrix[0]=t}}),Object.defineProperty(Ut.prototype,"b",{get:function(){return this._matrix[1]},set:function(t){this._matrix[1]=t}}),Object.defineProperty(Ut.prototype,"c",{get:function(){return this._matrix[2]},set:function(t){this._matrix[2]=t}}),Object.defineProperty(Ut.prototype,"d",{get:function(){return this._matrix[3]},set:function(t){this._matrix[3]=t}}),Object.defineProperty(Ut.prototype,"e",{get:function(){return this._matrix[4]},set:function(t){this._matrix[4]=t}}),Object.defineProperty(Ut.prototype,"f",{get:function(){return this._matrix[5]},set:function(t){this._matrix[5]=t}}),Object.defineProperty(Ut.prototype,"rotation",{get:function(){return Math.atan2(this.shx,this.sx)}}),Object.defineProperty(Ut.prototype,"scaleX",{get:function(){return this.decompose().scale.sx}}),Object.defineProperty(Ut.prototype,"scaleY",{get:function(){return this.decompose().scale.sy}}),Object.defineProperty(Ut.prototype,"isIdentity",{get:function(){return 1===this.sx&&0===this.shy&&0===this.shx&&1===this.sy&&0===this.tx&&0===this.ty}}),Ut.prototype.join=function(t){return[this.sx,this.shy,this.shx,this.sy,this.tx,this.ty].map(q).join(t)},Ut.prototype.multiply=function(t){var e=t.sx*this.sx+t.shy*this.shx,r=t.sx*this.shy+t.shy*this.sy,n=t.shx*this.sx+t.sy*this.shx,i=t.shx*this.shy+t.sy*this.sy,a=t.tx*this.sx+t.ty*this.shx+this.tx,o=t.tx*this.shy+t.ty*this.sy+this.ty;return new Ut(e,r,n,i,a,o)},Ut.prototype.decompose=function(){var t=this.sx,e=this.shy,r=this.shx,n=this.sy,i=this.tx,a=this.ty,o=Math.sqrt(t*t+e*e),s=(t/=o)*r+(e/=o)*n;r-=t*s,n-=e*s;var c=Math.sqrt(r*r+n*n);return s/=c,t*(n/=c)<e*(r/=c)&&(t=-t,e=-e,s=-s,o=-o),{scale:new Ut(o,0,0,c,0,0),translate:new Ut(1,0,0,1,i,a),rotate:new Ut(t,e,-e,t,0,0),skew:new Ut(1,0,s,1,0,0)}},Ut.prototype.toString=function(t){return this.join(" ")},Ut.prototype.inversed=function(){var t=this.sx,e=this.shy,r=this.shx,n=this.sy,i=this.tx,a=this.ty,o=1/(t*n-e*r),s=n*o,c=-e*o,u=-r*o,l=t*o;return new Ut(s,c,u,l,-s*i-u*a,-c*i-l*a)},Ut.prototype.applyToPoint=function(t){var e=t.x*this.sx+t.y*this.shx+this.tx,r=t.x*this.shy+t.y*this.sy+this.ty;return new fr(e,r)},Ut.prototype.applyToRectangle=function(t){var e=this.applyToPoint(t),r=this.applyToPoint(new fr(t.x+t.w,t.y+t.h));return new dr(e.x,e.y,r.x-e.x,r.y-e.y)},Ut.prototype.clone=function(){var t=this.sx,e=this.shy,r=this.shx,n=this.sy,i=this.tx,a=this.ty;return new Ut(t,e,r,n,i,a)},v.Matrix=Ut;var Ht=v.matrixMult=function(t,e){return e.multiply(t)},Wt=new Ut(1,0,0,1,0,0);v.unitMatrix=v.identityMatrix=Wt;var Vt=function(t,e){if(!jt[t]){var r=(e instanceof F?"Sh":"P")+(Object.keys(It).length+1).toString(10);e.id=r,jt[t]=r,It[r]=e,Et.publish("addPattern",e)}};v.ShadingPattern=F,v.TilingPattern=I,v.addShadingPattern=function(t,e){return M("addShadingPattern()"),Vt(t,e),this},v.beginTilingPattern=function(t){M("beginTilingPattern()"),gr(t.boundingBox[0],t.boundingBox[1],t.boundingBox[2]-t.boundingBox[0],t.boundingBox[3]-t.boundingBox[1],t.matrix)},v.endTilingPattern=function(t,e){M("endTilingPattern()"),e.stream=it[K].join("\n"),Vt(t,e),Et.publish("endTilingPattern",e),zt.pop().restore()};var Gt,Yt=v.__private__.newObject=function(){var t=Jt();return Xt(t,!0),t},Jt=v.__private__.newObjectDeferred=function(){return Q++,tt[Q]=function(){return rt},Q},Xt=function(t,e){return e="boolean"==typeof e&&e,tt[t]=rt,e&&ct(t+" 0 obj"),t},Kt=v.__private__.newAdditionalObject=function(){var t={objId:Jt(),content:""};return nt.push(t),t},$t=Jt(),Zt=Jt(),Qt=v.__private__.decodeColorString=function(t){var e=t.split(" ");if(2!==e.length||"g"!==e[1]&&"G"!==e[1])5!==e.length||"k"!==e[4]&&"K"!==e[4]||(e=[(1-e[0])*(1-e[3]),(1-e[1])*(1-e[3]),(1-e[2])*(1-e[3]),"r"]);else{var r=parseFloat(e[0]);e=[r,r,r,"r"]}for(var n="#",i=0;i<3;i++)n+=("0"+Math.floor(255*parseFloat(e[i])).toString(16)).slice(-2);return n},te=v.__private__.encodeColorString=function(t){var e;"string"==typeof t&&(t={ch1:t});var r=t.ch1,i=t.ch2,a=t.ch3,o=t.ch4,s="draw"===t.pdfColorType?["G","RG","K"]:["g","rg","k"];if("string"==typeof r&&"#"!==r.charAt(0)){var c=new n(r);if(c.ok)r=c.toHex();else if(!/^\d*\.?\d*$/.test(r))throw new Error('Invalid color "'+r+'" passed to jsPDF.encodeColorString.')}if("string"==typeof r&&/^#[0-9A-Fa-f]{3}$/.test(r)&&(r="#"+r[1]+r[1]+r[2]+r[2]+r[3]+r[3]),"string"==typeof r&&/^#[0-9A-Fa-f]{6}$/.test(r)){var u=parseInt(r.substr(1),16);r=u>>16&255,i=u>>8&255,a=255&u}if(void 0===i||void 0===o&&r===i&&i===a)e="string"==typeof r?r+" "+s[0]:2===t.precision?R(r/255)+" "+s[0]:D(r/255)+" "+s[0];else if(void 0===o||"object"==typeof o){if(o&&!isNaN(o.a)&&0===o.a)return["1.","1.","1.",s[1]].join(" ");e="string"==typeof r?[r,i,a,s[1]].join(" "):2===t.precision?[R(r/255),R(i/255),R(a/255),s[1]].join(" "):[D(r/255),D(i/255),D(a/255),s[1]].join(" ")}else e="string"==typeof r?[r,i,a,o,s[2]].join(" "):2===t.precision?[R(r),R(i),R(a),R(o),s[2]].join(" "):[D(r),D(i),D(a),D(o),s[2]].join(" ");return e},ee=v.__private__.getFilters=function(){return l},re=v.__private__.putStream=function(t){var e=(t=t||{}).data||"",r=t.filters||ee(),n=t.alreadyAppliedFilters||[],i=t.addLength1||!1,a=e.length,o=t.objectId,s=function(t){return t};if(null!==p&&void 0===o)throw new Error("ObjectId must be passed to putStream for file encryption");null!==p&&(s=Fe.encryptor(o,0));var c={};!0===r&&(r=["FlateEncode"]);var u=t.additionalKeyValues||[],l=(c=void 0!==j.API.processDataByFilters?j.API.processDataByFilters(e,r):{data:e,reverseChain:[]}).reverseChain+(Array.isArray(n)?n.join(" "):n.toString());if(0!==c.data.length&&(u.push({key:"Length",value:c.data.length}),!0===i&&u.push({key:"Length1",value:a})),0!=l.length)if(l.split("/").length-1==1)u.push({key:"Filter",value:l});else{u.push({key:"Filter",value:"["+l+"]"});for(var h=0;h<u.length;h+=1)if("DecodeParms"===u[h].key){for(var f=[],d=0;d<c.reverseChain.split("/").length-1;d+=1)f.push("null");f.push(u[h].value),u[h].value="["+f.join(" ")+"]"}}ct("<<");for(var g=0;g<u.length;g++)ct("/"+u[g].key+" "+u[g].value);ct(">>"),0!==c.data.length&&(ct("stream"),ct(s(c.data)),ct("endstream"))},ne=v.__private__.putPage=function(t){var e=t.number,r=t.data,n=t.objId,i=t.contentsObjId;Xt(n,!0),ct("<</Type /Page"),ct("/Parent "+t.rootDictionaryObjId+" 0 R"),ct("/Resources "+t.resourceDictionaryObjId+" 0 R"),ct("/MediaBox ["+parseFloat(q(t.mediaBox.bottomLeftX))+" "+parseFloat(q(t.mediaBox.bottomLeftY))+" "+q(t.mediaBox.topRightX)+" "+q(t.mediaBox.topRightY)+"]"),null!==t.cropBox&&ct("/CropBox ["+q(t.cropBox.bottomLeftX)+" "+q(t.cropBox.bottomLeftY)+" "+q(t.cropBox.topRightX)+" "+q(t.cropBox.topRightY)+"]"),null!==t.bleedBox&&ct("/BleedBox ["+q(t.bleedBox.bottomLeftX)+" "+q(t.bleedBox.bottomLeftY)+" "+q(t.bleedBox.topRightX)+" "+q(t.bleedBox.topRightY)+"]"),null!==t.trimBox&&ct("/TrimBox ["+q(t.trimBox.bottomLeftX)+" "+q(t.trimBox.bottomLeftY)+" "+q(t.trimBox.topRightX)+" "+q(t.trimBox.topRightY)+"]"),null!==t.artBox&&ct("/ArtBox ["+q(t.artBox.bottomLeftX)+" "+q(t.artBox.bottomLeftY)+" "+q(t.artBox.topRightX)+" "+q(t.artBox.topRightY)+"]"),"number"==typeof t.userUnit&&1!==t.userUnit&&ct("/UserUnit "+t.userUnit),Et.publish("putPage",{objId:n,pageContext:Mt[e],pageNumber:e,page:r}),ct("/Contents "+i+" 0 R"),ct(">>"),ct("endobj");var a=r.join("\n");return k===x&&(a+="\nQ"),Xt(i,!0),re({data:a,filters:ee(),objectId:i}),ct("endobj"),n},ie=v.__private__.putPages=function(){var t,e,r=[];for(t=1;t<=qt;t++)Mt[t].objId=Jt(),Mt[t].contentsObjId=Jt();for(t=1;t<=qt;t++)r.push(ne({number:t,data:it[t],objId:Mt[t].objId,contentsObjId:Mt[t].contentsObjId,mediaBox:Mt[t].mediaBox,cropBox:Mt[t].cropBox,bleedBox:Mt[t].bleedBox,trimBox:Mt[t].trimBox,artBox:Mt[t].artBox,userUnit:Mt[t].userUnit,rootDictionaryObjId:$t,resourceDictionaryObjId:Zt}));Xt($t,!0),ct("<</Type /Pages");var n="/Kids [";for(e=0;e<qt;e++)n+=r[e]+" 0 R ";ct(n+"]"),ct("/Count "+qt),ct(">>"),ct("endobj"),Et.publish("postPutPages")},ae=function(t){Et.publish("putFont",{font:t,out:ct,newObject:Yt,putStream:re}),!0!==t.isAlreadyPutted&&(t.objectNumber=Yt(),ct("<<"),ct("/Type /Font"),ct("/BaseFont /"+S(t.postScriptName)),ct("/Subtype /Type1"),"string"==typeof t.encoding&&ct("/Encoding /"+t.encoding),ct("/FirstChar 32"),ct("/LastChar 255"),ct(">>"),ct("endobj"))},oe=function(t){t.objectNumber=Yt();var e=[];e.push({key:"Type",value:"/XObject"}),e.push({key:"Subtype",value:"/Form"}),e.push({key:"BBox",value:"["+[q(t.x),q(t.y),q(t.x+t.width),q(t.y+t.height)].join(" ")+"]"}),e.push({key:"Matrix",value:"["+t.matrix.toString()+"]"});var r=t.pages[1].join("\n");re({data:r,additionalKeyValues:e,objectId:t.objectNumber}),ct("endobj")},se=function(t,e){e||(e=21);var r=Yt(),n=function(t,e){var r,n=[],i=1/(e-1);for(r=0;r<1;r+=i)n.push(r);if(n.push(1),0!=t[0].offset){var a={offset:0,color:t[0].color};t.unshift(a)}if(1!=t[t.length-1].offset){var o={offset:1,color:t[t.length-1].color};t.push(o)}for(var s="",c=0,u=0;u<n.length;u++){for(r=n[u];r>t[c+1].offset;)c++;var l=t[c].offset,h=(r-l)/(t[c+1].offset-l),f=t[c].color,d=t[c+1].color;s+=Z(Math.round((1-h)*f[0]+h*d[0]).toString(16))+Z(Math.round((1-h)*f[1]+h*d[1]).toString(16))+Z(Math.round((1-h)*f[2]+h*d[2]).toString(16))}return s.trim()}(t.colors,e),i=[];i.push({key:"FunctionType",value:"0"}),i.push({key:"Domain",value:"[0.0 1.0]"}),i.push({key:"Size",value:"["+e+"]"}),i.push({key:"BitsPerSample",value:"8"}),i.push({key:"Range",value:"[0.0 1.0 0.0 1.0 0.0 1.0]"}),i.push({key:"Decode",value:"[0.0 1.0 0.0 1.0 0.0 1.0]"}),re({data:n,additionalKeyValues:i,alreadyAppliedFilters:["/ASCIIHexDecode"],objectId:r}),ct("endobj"),t.objectNumber=Yt(),ct("<< /ShadingType "+t.type),ct("/ColorSpace /DeviceRGB");var a="/Coords ["+q(parseFloat(t.coords[0]))+" "+q(parseFloat(t.coords[1]))+" ";2===t.type?a+=q(parseFloat(t.coords[2]))+" "+q(parseFloat(t.coords[3])):a+=q(parseFloat(t.coords[2]))+" "+q(parseFloat(t.coords[3]))+" "+q(parseFloat(t.coords[4]))+" "+q(parseFloat(t.coords[5])),ct(a+="]"),t.matrix&&ct("/Matrix ["+t.matrix.toString()+"]"),ct("/Function "+r+" 0 R"),ct("/Extend [true true]"),ct(">>"),ct("endobj")},ce=function(t,e){var r=Jt(),n=Yt();e.push({resourcesOid:r,objectOid:n}),t.objectNumber=n;var i=[];i.push({key:"Type",value:"/Pattern"}),i.push({key:"PatternType",value:"1"}),i.push({key:"PaintType",value:"1"}),i.push({key:"TilingType",value:"1"}),i.push({key:"BBox",value:"["+t.boundingBox.map(q).join(" ")+"]"}),i.push({key:"XStep",value:q(t.xStep)}),i.push({key:"YStep",value:q(t.yStep)}),i.push({key:"Resources",value:r+" 0 R"}),t.matrix&&i.push({key:"Matrix",value:"["+t.matrix.toString()+"]"}),re({data:t.stream,additionalKeyValues:i,objectId:t.objectNumber}),ct("endobj")},ue=function(t){for(var e in t.objectNumber=Yt(),ct("<<"),t)switch(e){case"opacity":ct("/ca "+R(t[e]));break;case"stroke-opacity":ct("/CA "+R(t[e]))}ct(">>"),ct("endobj")},le=function(t){Xt(t.resourcesOid,!0),ct("<<"),ct("/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]"),function(){for(var t in ct("/Font <<"),Pt)Pt.hasOwnProperty(t)&&(!1===g||!0===g&&m.hasOwnProperty(t))&&ct("/"+t+" "+Pt[t].objectNumber+" 0 R");ct(">>")}(),function(){if(Object.keys(It).length>0){for(var t in ct("/Shading <<"),It)It.hasOwnProperty(t)&&It[t]instanceof F&&It[t].objectNumber>=0&&ct("/"+t+" "+It[t].objectNumber+" 0 R");Et.publish("putShadingPatternDict"),ct(">>")}}(),function(t){if(Object.keys(It).length>0){for(var e in ct("/Pattern <<"),It)It.hasOwnProperty(e)&&It[e]instanceof v.TilingPattern&&It[e].objectNumber>=0&&It[e].objectNumber<t&&ct("/"+e+" "+It[e].objectNumber+" 0 R");Et.publish("putTilingPatternDict"),ct(">>")}}(t.objectOid),function(){if(Object.keys(Ct).length>0){var t;for(t in ct("/ExtGState <<"),Ct)Ct.hasOwnProperty(t)&&Ct[t].objectNumber>=0&&ct("/"+t+" "+Ct[t].objectNumber+" 0 R");Et.publish("putGStateDict"),ct(">>")}}(),function(){for(var t in ct("/XObject <<"),Dt)Dt.hasOwnProperty(t)&&Dt[t].objectNumber>=0&&ct("/"+t+" "+Dt[t].objectNumber+" 0 R");Et.publish("putXobjectDict"),ct(">>")}(),ct(">>"),ct("endobj")},he=function(t){kt[t.fontName]=kt[t.fontName]||{},kt[t.fontName][t.fontStyle]=t.id},fe=function(t,e,r,n,i){var a={id:"F"+(Object.keys(Pt).length+1).toString(10),postScriptName:t,fontName:e,fontStyle:r,encoding:n,isStandardFont:i||!1,metadata:{}};return Et.publish("addFont",{font:a,instance:this}),Pt[a.id]=a,he(a),a.id},de=v.__private__.pdfEscape=v.pdfEscape=function(t,e){return function(t,e){var r,n,i,a,o,s,c,u,l;if(i=(e=e||{}).sourceEncoding||"Unicode",o=e.outputEncoding,(e.autoencode||o)&&Pt[Lt].metadata&&Pt[Lt].metadata[i]&&Pt[Lt].metadata[i].encoding&&(a=Pt[Lt].metadata[i].encoding,!o&&Pt[Lt].encoding&&(o=Pt[Lt].encoding),!o&&a.codePages&&(o=a.codePages[0]),"string"==typeof o&&(o=a[o]),o)){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);t=s.join("")}for(r=t.length;void 0===c&&0!==r;)t.charCodeAt(r-1)>>8&&(c=!0),r--;if(!c)return t;for(s=e.noBOM?[]:[254,255],r=0,n=t.length;r<n;r++){if((l=(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");s.push(l),s.push(u-(l<<8))}return String.fromCharCode.apply(void 0,s)}(t,e).replace(/\\/g,"\\\\").replace(/\(/g,"\\(").replace(/\)/g,"\\)")},pe=v.__private__.beginPage=function(t){it[++qt]=[],Mt[qt]={objId:0,contentsObjId:0,userUnit:Number(h),artBox:null,bleedBox:null,cropBox:null,trimBox:null,mediaBox:{bottomLeftX:0,bottomLeftY:0,topRightX:Number(t[0]),topRightY:Number(t[1])}},ve(qt),st(it[K])},ge=function(t,e){var r,n,a;switch(i=e||i,"string"==typeof t&&(r=N(t.toLowerCase()),Array.isArray(r)&&(n=r[0],a=r[1])),Array.isArray(t)&&(n=t[0]*xt,a=t[1]*xt),isNaN(n)&&(n=c[0],a=c[1]),(n>14400||a>14400)&&(s.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),a=Math.min(14400,a)),c=[n,a],i.substr(0,1)){case"l":a>n&&(c=[a,n]);break;case"p":n>a&&(c=[a,n])}pe(c),Xe(Ye),ct(nr),0!==ur&&ct(ur+" J"),0!==lr&&ct(lr+" j"),Et.publish("addPage",{pageNumber:qt})},me=function(t){t>0&&t<=qt&&(it.splice(t,1),Mt.splice(t,1),qt--,K>qt&&(K=qt),this.setPage(K))},ve=function(t){t>0&&t<=qt&&(K=t)},be=v.__private__.getNumberOfPages=v.getNumberOfPages=function(){return it.length-1},ye=function(t,e,r){var n,i=void 0;return r=r||{},t=void 0!==t?t:Pt[Lt].fontName,e=void 0!==e?e:Pt[Lt].fontStyle,n=t.toLowerCase(),void 0!==kt[n]&&void 0!==kt[n][e]?i=kt[n][e]:void 0!==kt[t]&&void 0!==kt[t][e]?i=kt[t][e]:!1===r.disableWarning&&s.warn("Unable to look up font label for font '"+t+"', '"+e+"'. Refer to getFontList() for available fonts."),i||r.noFallback||null==(i=kt.times[e])&&(i=kt.times.normal),i},we=v.__private__.putInfo=function(){var t=Yt(),e=function(t){return t};for(var r in null!==p&&(e=Fe.encryptor(t,0)),ct("<<"),ct("/Producer ("+de(e("jsPDF "+j.version))+")"),Nt)Nt.hasOwnProperty(r)&&Nt[r]&&ct("/"+r.substr(0,1).toUpperCase()+r.substr(1)+" ("+de(e(Nt[r]))+")");ct("/CreationDate ("+de(e(U))+")"),ct(">>"),ct("endobj")},Ne=v.__private__.putCatalog=function(t){var e=(t=t||{}).rootDictionaryObjId||$t;switch(Yt(),ct("<<"),ct("/Type /Catalog"),ct("/Pages "+e+" 0 R"),dt||(dt="fullwidth"),dt){case"fullwidth":ct("/OpenAction [3 0 R /FitH null]");break;case"fullheight":ct("/OpenAction [3 0 R /FitV null]");break;case"fullpage":ct("/OpenAction [3 0 R /Fit]");break;case"original":ct("/OpenAction [3 0 R /XYZ null null 1]");break;default:var r=""+dt;"%"===r.substr(r.length-1)&&(dt=parseInt(dt)/100),"number"==typeof dt&&ct("/OpenAction [3 0 R /XYZ null null "+R(dt)+"]")}switch(bt||(bt="continuous"),bt){case"continuous":ct("/PageLayout /OneColumn");break;case"single":ct("/PageLayout /SinglePage");break;case"two":case"twoleft":ct("/PageLayout /TwoColumnLeft");break;case"tworight":ct("/PageLayout /TwoColumnRight")}mt&&ct("/PageMode /"+mt),Et.publish("putCatalog"),ct(">>"),ct("endobj")},Le=v.__private__.putTrailer=function(){ct("trailer"),ct("<<"),ct("/Size "+(Q+1)),ct("/Root "+Q+" 0 R"),ct("/Info "+(Q-1)+" 0 R"),null!==p&&ct("/Encrypt "+Fe.oid+" 0 R"),ct("/ID [ <"+H+"> <"+H+"> ]"),ct(">>")},xe=v.__private__.putHeader=function(){ct("%PDF-"+b),ct("%ºß¬à")},Ae=v.__private__.putXRef=function(){var t="0000000000";ct("xref"),ct("0 "+(Q+1)),ct("0000000000 65535 f ");for(var e=1;e<=Q;e++)"function"==typeof tt[e]?ct((t+tt[e]()).slice(-10)+" 00000 n "):void 0!==tt[e]?ct((t+tt[e]).slice(-10)+" 00000 n "):ct("0000000000 00000 n ")},Se=v.__private__.buildDocument=function(){var t;Q=0,rt=0,et=[],tt=[],nt=[],$t=Jt(),Zt=Jt(),st(et),Et.publish("buildDocument"),xe(),ie(),function(){Et.publish("putAdditionalObjects");for(var t=0;t<nt.length;t++){var e=nt[t];Xt(e.objId,!0),ct(e.content),ct("endobj")}Et.publish("postPutAdditionalObjects")}(),t=[],function(){for(var t in Pt)Pt.hasOwnProperty(t)&&(!1===g||!0===g&&m.hasOwnProperty(t))&&ae(Pt[t])}(),function(){var t;for(t in Ct)Ct.hasOwnProperty(t)&&ue(Ct[t])}(),function(){for(var t in Dt)Dt.hasOwnProperty(t)&&oe(Dt[t])}(),function(t){var e;for(e in It)It.hasOwnProperty(e)&&(It[e]instanceof F?se(It[e]):It[e]instanceof I&&ce(It[e],t))}(t),Et.publish("putResources"),t.forEach(le),le({resourcesOid:Zt,objectOid:Number.MAX_SAFE_INTEGER}),Et.publish("postPutResources"),null!==p&&(Fe.oid=Yt(),ct("<<"),ct("/Filter /Standard"),ct("/V "+Fe.v),ct("/R "+Fe.r),ct("/U <"+Fe.toHexString(Fe.U)+">"),ct("/O <"+Fe.toHexString(Fe.O)+">"),ct("/P "+Fe.P),ct(">>"),ct("endobj")),we(),Ne();var e=rt;return Ae(),Le(),ct("startxref"),ct(""+e),ct("%%EOF"),st(it[K]),et.join("\n")},_e=v.__private__.getBlob=function(t){return new Blob([lt(t)],{type:"application/pdf"})},Pe=v.output=v.__private__.output=(Gt=function(t,e){switch("string"==typeof(e=e||{})?e={filename:e}:e.filename=e.filename||"generated.pdf",t){case void 0:return Se();case"save":v.save(e.filename);break;case"arraybuffer":return lt(Se());case"blob":return _e(Se());case"bloburi":case"bloburl":if(void 0!==r.URL&&"function"==typeof r.URL.createObjectURL)return r.URL&&r.URL.createObjectURL(_e(Se()))||void 0;s.warn("bloburl is not supported by your system, because URL.createObjectURL is not supported by your browser.");break;case"datauristring":case"dataurlstring":var n="",i=Se();try{n=a(i)}catch(m){n=a(unescape(encodeURIComponent(i)))}return"data:application/pdf;filename="+e.filename+";base64,"+n;case"pdfobjectnewwindow":if("[object Window]"===Object.prototype.toString.call(r)){var o="https://cdnjs.cloudflare.com/ajax/libs/pdfobject/2.1.1/pdfobject.min.js",c=' integrity="sha512-4ze/a9/4jqu+tX9dfOqJYSvyYd5M6qum/3HpCLr+/Jqf0whc37VUbkpNGHR7/8pSnCFw47T1fmIpwBV7UySh3g==" crossorigin="anonymous"';e.pdfObjectUrl&&(o=e.pdfObjectUrl,c="");var u='<html><style>html, body { padding: 0; margin: 0; } iframe { width: 100%; height: 100%; border: 0;} </style><body><script src="'+o+'"'+c+'><\/script><script >PDFObject.embed("'+this.output("dataurlstring")+'", '+JSON.stringify(e)+");<\/script></body></html>",l=r.open();return null!==l&&l.document.write(u),l}throw new Error("The option pdfobjectnewwindow just works in a browser-environment.");case"pdfjsnewwindow":if("[object Window]"===Object.prototype.toString.call(r)){var h='<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>',f=r.open();if(null!==f){f.document.write(h);var d=this;f.document.documentElement.querySelector("#pdfViewer").onload=function(){f.document.title=e.filename,f.document.documentElement.querySelector("#pdfViewer").contentWindow.PDFViewerApplication.open(d.output("bloburl"))}}return f}throw new Error("The option pdfjsnewwindow just works in a browser-environment.");case"dataurlnewwindow":if("[object Window]"!==Object.prototype.toString.call(r))throw new Error("The option dataurlnewwindow just works in a browser-environment.");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>',g=r.open();if(null!==g&&(g.document.write(p),g.document.title=e.filename),g||"undefined"==typeof safari)return g;break;case"datauri":case"dataurl":return r.document.location.href=this.output("datauristring",e);default:return null}},Gt.foo=function(){try{return Gt.apply(this,arguments)}catch(n){var t=n.stack||"";~t.indexOf(" at ")&&(t=t.split(" at ")[1]);var e="Error in function "+t.split("\n")[0].split("<")[0]+": "+n.message;if(!r.console)throw new Error(e);r.console.error(e,n),r.alert&&alert(e)}},Gt.foo.bar=Gt,Gt.foo),ke=function(t){return!0===Array.isArray(Rt)&&Rt.indexOf(t)>-1};switch(o){case"pt":xt=1;break;case"mm":xt=72/25.4;break;case"cm":xt=72/2.54;break;case"in":xt=72;break;case"px":xt=1==ke("px_scaling")?.75:96/72;break;case"pc":case"em":xt=12;break;case"ex":xt=6;break;default:if("number"!=typeof o)throw new Error("Invalid unit: "+o);xt=o}var Fe=null;J(),V();var Ie=v.__private__.getPageInfo=v.getPageInfo=function(t){if(isNaN(t)||t%1!=0)throw new Error("Invalid argument passed to jsPDF.getPageInfo");return{objId:Mt[t].objId,pageNumber:t,pageContext:Mt[t]}},je=v.__private__.getPageInfoByObjId=function(t){if(isNaN(t)||t%1!=0)throw new Error("Invalid argument passed to jsPDF.getPageInfoByObjId");for(var e in Mt)if(Mt[e].objId===t)break;return Ie(e)},Ce=v.__private__.getCurrentPageInfo=v.getCurrentPageInfo=function(){return{objId:Mt[K].objId,pageNumber:K,pageContext:Mt[K]}};v.addPage=function(){return ge.apply(this,arguments),this},v.setPage=function(){return ve.apply(this,arguments),st.call(this,it[K]),this},v.insertPage=function(t){return this.addPage(),this.movePage(K,t),this},v.movePage=function(t,e){var r,n;if(t>e){r=it[t],n=Mt[t];for(var i=t;i>e;i--)it[i]=it[i-1],Mt[i]=Mt[i-1];it[e]=r,Mt[e]=n,this.setPage(e)}else if(t<e){r=it[t],n=Mt[t];for(var a=t;a<e;a++)it[a]=it[a+1],Mt[a]=Mt[a+1];it[e]=r,Mt[e]=n,this.setPage(e)}return this},v.deletePage=function(){return me.apply(this,arguments),this},v.__private__.text=v.text=function(t,e,r,n,i){var a,o,s,c,u,l,h,f,d,p=(n=n||{}).scope||this;if("number"==typeof t&&"number"==typeof e&&("string"==typeof r||Array.isArray(r))){var g=r;r=e,e=t,t=g}if(arguments[3]instanceof Ut==0?(s=arguments[4],c=arguments[5],"object"==typeof(h=arguments[3])&&null!==h||("string"==typeof s&&(c=s,s=null),"string"==typeof h&&(c=h,h=null),"number"==typeof h&&(s=h,h=null),n={flags:h,angle:s,align:c})):(M("The transform parameter of text() with a Matrix value"),d=i),isNaN(e)||isNaN(r)||null==t)throw new Error("Invalid arguments passed to jsPDF.text");if(0===t.length)return p;var v,b="",y="number"==typeof n.lineHeightFactor?n.lineHeightFactor:Ge,w=p.internal.scaleFactor;function N(t){return t=t.split("\t").join(Array(n.TabLen||9).join(" ")),de(t,h)}function L(t){for(var e,r=t.concat(),n=[],i=r.length;i--;)"string"==typeof(e=r.shift())?n.push(e):Array.isArray(t)&&(1===e.length||void 0===e[1]&&void 0===e[2])?n.push(e[0]):n.push([e[0],e[1],e[2]]);return n}function A(t,e){var r;if("string"==typeof t)r=e(t)[0];else if(Array.isArray(t)){for(var n,i,a=t.concat(),o=[],s=a.length;s--;)"string"==typeof(n=a.shift())?o.push(e(n)[0]):Array.isArray(n)&&"string"==typeof n[0]&&(i=e(n[0],n[1],n[2]),o.push([i[0],i[1],i[2]]));r=o}return r}var S=!1,_=!0;if("string"==typeof t)S=!0;else if(Array.isArray(t)){var P=t.concat();o=[];for(var F,I=P.length;I--;)("string"!=typeof(F=P.shift())||Array.isArray(F)&&"string"!=typeof F[0])&&(_=!1);S=_}if(!1===S)throw new Error('Type of text must be string or Array. "'+t+'" is not recognized.');"string"==typeof t&&(t=t.match(/[\r?\n]/)?t.split(/\r\n|\r|\n/g):[t]);var j=ft/p.internal.scaleFactor,C=j*(y-1);switch(n.baseline){case"bottom":r-=C;break;case"top":r+=j-C;break;case"hanging":r+=j-2*C;break;case"middle":r+=j/2-C}if((l=n.maxWidth||0)>0&&("string"==typeof t?t=p.splitTextToSize(t,l):"[object Array]"===Object.prototype.toString.call(t)&&(t=t.reduce(function(t,e){return t.concat(p.splitTextToSize(e,l))},[]))),a={text:t,x:e,y:r,options:n,mutex:{pdfEscape:de,activeFontKey:Lt,fonts:Pt,activeFontSize:ft}},Et.publish("preProcessText",a),t=a.text,s=(n=a.options).angle,d instanceof Ut==0&&s&&"number"==typeof s){s*=Math.PI/180,0===n.rotationDirection&&(s=-s),k===x&&(s=-s);var O=Math.cos(s),B=Math.sin(s);d=new Ut(O,B,-B,O,0,0)}else s&&s instanceof Ut&&(d=s);k!==x||d||(d=Wt),void 0!==(u=n.charSpace||sr)&&(b+=q(T(u))+" Tc\n",this.setCharSpace(this.getCharSpace()||0)),void 0!==(f=n.horizontalScale)&&(b+=q(100*f)+" Tz\n"),n.lang;var E=-1,R=void 0!==n.renderingMode?n.renderingMode:n.stroke,D=p.internal.getCurrentPageInfo().pageContext;switch(R){case 0:case!1:case"fill":E=0;break;case 1:case!0:case"stroke":E=1;break;case 2:case"fillThenStroke":E=2;break;case 3:case"invisible":E=3;break;case 4:case"fillAndAddForClipping":E=4;break;case 5:case"strokeAndAddPathForClipping":E=5;break;case 6:case"fillThenStrokeAndAddToPathForClipping":E=6;break;case 7:case"addToPathForClipping":E=7}var z=void 0!==D.usedRenderingMode?D.usedRenderingMode:-1;-1!==E?b+=E+" Tr\n":-1!==z&&(b+="0 Tr\n"),-1!==E&&(D.usedRenderingMode=E),c=n.align||"left";var U,H=ft*y,W=p.internal.pageSize.getWidth(),V=Pt[Lt];u=n.charSpace||sr,l=n.maxWidth||0,h=Object.assign({autoencode:!0,noBOM:!0},n.flags);var G=[],Y=function(t){return p.getStringUnitWidth(t,{font:V,charSpace:u,fontSize:ft,doKerning:!1})*ft/w};if("[object Array]"===Object.prototype.toString.call(t)){var J;o=L(t),"left"!==c&&(U=o.map(Y));var X,K=0;if("right"===c){e-=U[0],t=[],I=o.length;for(var $=0;$<I;$++)0===$?(X=Qe(e),J=tr(r)):(X=T(K-U[$]),J=-H),t.push([o[$],X,J]),K=U[$]}else if("center"===c){e-=U[0]/2,t=[],I=o.length;for(var