pdfmake
Version:
Client/server side PDF printing in pure JavaScript
2 lines • 1.05 MB
JavaScript
/*! pdfmake v0.3.7, @license MIT, @link http://pdfmake.org */
!function webpackUniversalModuleDefinition(t,r){if("object"==typeof exports&&"object"==typeof module)module.exports=r();else if("function"==typeof define&&define.amd)define([],r);else{var n=r();for(var i in n)("object"==typeof exports?exports:t)[i]=n[i]}}(Object("undefined"!=typeof self?self:this),()=>(()=>{var t={7133(t,r,n){"use strict";n.d(r,{default:()=>me});n(187);var i=n(5167),a=n(783).Buffer;class PDFDocument extends i.A{constructor(t,r,n,i,a,o){void 0===t&&(t={}),void 0===r&&(r={}),void 0===n&&(n={}),void 0===i&&(i={}),void 0===a&&(a={}),void 0===o&&(o=null),super(a),this.fonts={},this.fontCache={};for(let r in t)if(t.hasOwnProperty(r)){let n=t[r];this.fonts[r]={normal:n.normal,bold:n.bold,italics:n.italics,bolditalics:n.bolditalics}}this.patterns={};for(let t in n)if(n.hasOwnProperty(t)){let r=n[t];this.patterns[t]=this.pattern(r.boundingBox,r.xStep,r.yStep,r.pattern,r.colored)}this.images=r,this.attachments=i,this.virtualfs=o}getFontType(t,r){return((t,r)=>{let n="normal";return t&&r?n="bolditalics":t?n="bold":r&&(n="italics"),n})(t,r)}getFontFile(t,r,n){let i=this.getFontType(r,n);return this.fonts[t]&&this.fonts[t][i]?this.fonts[t][i]:null}provideFont(t,r,n){let i=this.getFontType(r,n);if(null===this.getFontFile(t,r,n))throw new Error(`Font '${t}' in style '${i}' is not defined in the font section of the document definition.`);if(this.fontCache[t]=this.fontCache[t]||{},!this.fontCache[t][i]){let r=this.fonts[t][i];Array.isArray(r)||(r=[r]),this.virtualfs&&this.virtualfs.existsSync(r[0])&&(r[0]=this.virtualfs.readFileSync(r[0])),this.fontCache[t][i]=this.font(...r)._font}return this.fontCache[t][i]}provideImage(t){const realImageSrc=t=>{let r=this.images[t];if(!r)return t;if(this.virtualfs&&this.virtualfs.existsSync(r))return this.virtualfs.readFileSync(r);let n=r.indexOf("base64,");return n<0?this.images[t]:a.from(r.substring(n+7),"base64")};if(this._imageRegistry[t])return this._imageRegistry[t];let r;try{if(r=this.openImage(realImageSrc(t)),!r)throw new Error("No image")}catch(t){throw new Error(`Invalid image: ${t.toString()}\nImages dictionary should contain dataURL entries (or local file paths in node.js)`,{cause:t})}return r.embed(this),this._imageRegistry[t]=r,r}providePattern(t){return Array.isArray(t)&&2===t.length?[this.patterns[t[0]],t[1]]:null}provideAttachment(t){const checkRequired=t=>{if(!t)throw new Error("No attachment");if(!t.src)throw new Error('The "src" key is required for attachments');return t};if("object"==typeof t)return checkRequired(t);let r=checkRequired(this.attachments[t]);return this.virtualfs&&this.virtualfs.existsSync(r.src)?this.virtualfs.readFileSync(r.src):r}setOpenActionAsPrint(){let t=this.ref({Type:"Action",S:"Named",N:"Print"});this._root.data.OpenAction=t,t.end()}}const o=PDFDocument;function isString(t){return"string"==typeof t||t instanceof String}function isNumber(t){return("number"==typeof t||t instanceof Number)&&!Number.isNaN(t)}function isPositiveInteger(t){return!(!isNumber(t)||!Number.isInteger(t)||t<=0)}function isObject(t){return null!==t&&!Array.isArray(t)&&!isString(t)&&!isNumber(t)&&"object"==typeof t}function isEmptyObject(t){return isObject(t)&&0===Object.keys(t).length}function isValue(t){return null!=t}function fontStringify(t,r){return"font"===t?"font":r}function stringifyNode(t){return JSON.stringify(t,fontStringify)}function getNodeId(t){if(t.id)return t.id;if(Array.isArray(t.text))for(let r of t.text){let t=getNodeId(r);if(t)return t}return null}var s=n(783).Buffer;const convertValueToString=t=>isString(t)?t.replace(/\t/g," "):isNumber(t)||"boolean"==typeof t?t.toString():!isValue(t)||isEmptyObject(t)?"":t;const l=class DocPreprocessor{preprocessDocument(t){return this.parentNode=null,this.tocs=[],this.nodeReferences=[],this.preprocessNode(t,!0)}preprocessBlock(t){return this.parentNode=null,this.tocs=[],this.nodeReferences=[],this.preprocessNode(t)}preprocessNode(t,r){if(void 0===r&&(r=!1),Array.isArray(t)?t={stack:t}:isString(t)||isNumber(t)||"boolean"==typeof t||!isValue(t)||isEmptyObject(t)?t={text:convertValueToString(t)}:"text"in t&&(t.text=convertValueToString(t.text)),t.section){if(!r)throw new Error(`Incorrect document structure, section node is only allowed at the root level of document structure: ${stringifyNode(t)}`);return this.preprocessSection(t)}if(t.columns)return this.preprocessColumns(t);if(t.stack)return this.preprocessVerticalContainer(t,r);if(t.ul)return this.preprocessList(t);if(t.ol)return this.preprocessList(t);if(t.table)return this.preprocessTable(t);if(void 0!==t.text)return this.preprocessText(t);if(t.toc)return this.preprocessToc(t);if(t.image)return this.preprocessImage(t);if(t.svg)return this.preprocessSVG(t);if(t.canvas)return this.preprocessCanvas(t);if(t.qr)return this.preprocessQr(t);if(t.attachment)return this.preprocessAttachment(t);if(t.pageReference||t.textReference)return this.preprocessText(t);throw new Error(`Unrecognized document structure: ${stringifyNode(t)}`)}preprocessSection(t){return t.section=this.preprocessNode(t.section),t}preprocessColumns(t){let r=t.columns;for(let t=0,n=r.length;t<n;t++)r[t]=this.preprocessNode(r[t]);return t}preprocessVerticalContainer(t,r){let n=t.stack;for(let t=0,i=n.length;t<i;t++)n[t]=this.preprocessNode(n[t],r);return t}preprocessList(t){let r=t.ul||t.ol;for(let t=0,n=r.length;t<n;t++)r[t]=this.preprocessNode(r[t]);return t}preprocessTable(t){let r,n,i,a;for(r=0,i=t.table.body[0].length;r<i;r++)for(n=0,a=t.table.body.length;n<a;n++){let i=t.table.body[n],a=i[r];void 0!==a&&(null===a&&(a=""),a._span||(i[r]=this.preprocessNode(a)))}return t}preprocessText(t){if(t.tocItem){Array.isArray(t.tocItem)||(t.tocItem=[t.tocItem]);for(let r=0,n=t.tocItem.length;r<n;r++){isString(t.tocItem[r])||(t.tocItem[r]="_default_");let n=t.tocItem[r];this.tocs[n]||(this.tocs[n]={toc:{_items:[],_pseudo:!0}}),t.id||(t.id=`toc-${n}-${this.tocs[n].toc._items.length}`);let i={_nodeRef:this._getNodeForNodeRef(t),_textNodeRef:t};this.tocs[n].toc._items.push(i)}}if(t.id)if(this.nodeReferences[t.id]){if(!this.nodeReferences[t.id]._pseudo)throw new Error(`Node id '${t.id}' already exists`);this.nodeReferences[t.id]._nodeRef=this._getNodeForNodeRef(t),this.nodeReferences[t.id]._textNodeRef=t,this.nodeReferences[t.id]._pseudo=!1}else this.nodeReferences[t.id]={_nodeRef:this._getNodeForNodeRef(t),_textNodeRef:t};if(t.pageReference&&(this.nodeReferences[t.pageReference]||(this.nodeReferences[t.pageReference]={_nodeRef:{},_textNodeRef:{},_pseudo:!0}),t.text="00000",t.linkToDestination=t.pageReference,t._pageRef=this.nodeReferences[t.pageReference]),t.textReference&&(this.nodeReferences[t.textReference]||(this.nodeReferences[t.textReference]={_nodeRef:{},_pseudo:!0}),t.text="",t.linkToDestination=t.textReference,t._textRef=this.nodeReferences[t.textReference]),t.text&&t.text.text)t.text=[this.preprocessNode(t.text)];else if(Array.isArray(t.text)){let r=!1;null===this.parentNode&&(this.parentNode=t,r=!0);for(let r=0,n=t.text.length;r<n;r++)t.text[r]=this.preprocessNode(t.text[r]);r&&(this.parentNode=null)}return t}preprocessToc(t){if(t.toc.id||(t.toc.id="_default_"),t.toc.title=t.toc.title?this.preprocessNode(t.toc.title):null,t.toc._items=[],this.tocs[t.toc.id]){if(!this.tocs[t.toc.id].toc._pseudo)throw new Error(`TOC '${t.toc.id}' already exists`);t.toc._items=this.tocs[t.toc.id].toc._items}return this.tocs[t.toc.id]=t,t}preprocessImage(t){return void 0!==t.image.type&&void 0!==t.image.data&&"Buffer"===t.image.type&&Array.isArray(t.image.data)&&(t.image=s.from(t.image.data)),t}preprocessCanvas(t){return t}preprocessSVG(t){return t}preprocessQr(t){return t}preprocessAttachment(t){return t}_getNodeForNodeRef(t){return this.parentNode?this.parentNode:t}};var u=n(7571),h=n(3915),p={};const g=[[4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4,4,4,4,4],[0,4,4,1,1,4,4,4,4,1,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,4,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[4,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,1],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,1,0,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,1,1,1,1,0,0,4,2,4,1,1,1,1,1,0,1,1,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,0,1,4,4,4,0,0,1,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,0,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,4,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,1,1,1,1,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,1,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0]],m=new u(h.toByteArray("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")),$557adaaeb0c7885f$var$mapClass=function(t){switch(t){case 33:case 39:case 40:case 42:return 12;case 35:return 5;default:return t}},$557adaaeb0c7885f$var$mapFirst=function(t){switch(t){case 37:case 38:return 34;case 41:return 22;default:return t}};class $557adaaeb0c7885f$var$Break{constructor(t,r=!1){this.position=t,this.required=r}}p=class $557adaaeb0c7885f$var$LineBreaker{nextCodePoint(){const t=this.string.charCodeAt(this.pos++),r=this.string.charCodeAt(this.pos);return 55296<=t&&t<=56319&&56320<=r&&r<=57343?(this.pos++,1024*(t-55296)+(r-56320)+65536):t}nextCharClass(){return $557adaaeb0c7885f$var$mapClass(m.get(this.nextCodePoint()))}getSimpleBreak(){switch(this.nextClass){case 41:return!1;case 34:case 37:case 38:return this.curClass=34,!1;case 36:return this.curClass=36,!1}return null}getPairTableBreak(t){let r=!1;switch(g[this.curClass][this.nextClass]){case 0:r=!0;break;case 1:r=41===t;break;case 2:if(r=41===t,!r)return r=!1,r;break;case 3:if(41!==t)return r}return this.LB8a&&(r=!1),!this.LB21a||16!==this.curClass&&17!==this.curClass?this.LB21a=13===this.curClass:(r=!1,this.LB21a=!1),28===this.curClass?(this.LB30a++,2==this.LB30a&&28===this.nextClass&&(r=!0,this.LB30a=0)):this.LB30a=0,this.curClass=this.nextClass,r}nextBreak(){if(null==this.curClass){let t=this.nextCharClass();this.curClass=$557adaaeb0c7885f$var$mapFirst(t),this.nextClass=t,this.LB8a=31===t,this.LB30a=0}for(;this.pos<this.string.length;){this.lastPos=this.pos;const t=this.nextClass;if(this.nextClass=this.nextCharClass(),34===this.curClass||36===this.curClass&&37!==this.nextClass)return this.curClass=$557adaaeb0c7885f$var$mapFirst($557adaaeb0c7885f$var$mapClass(this.nextClass)),new $557adaaeb0c7885f$var$Break(this.lastPos,!0);let r=this.getSimpleBreak();if(null===r&&(r=this.getPairTableBreak(t)),this.LB8a=31===this.nextClass,r)return new $557adaaeb0c7885f$var$Break(this.lastPos)}return this.lastPos<this.string.length?(this.lastPos=this.string.length,new $557adaaeb0c7885f$var$Break(this.string.length)):null}constructor(t){this.string=t,this.pos=0,this.lastPos=0,this.curClass=null,this.nextClass=null,this.LB8a=!1,this.LB21a=!1,this.LB30a=0}};class StyleContextStack{constructor(t,r){void 0===r&&(r={}),this.styleDictionary=t,this.defaultStyle=r,this.styleOverrides=[]}clone(){let t=new StyleContextStack(this.styleDictionary,this.defaultStyle);return this.styleOverrides.forEach(r=>{t.styleOverrides.push(r)}),t}push(t){this.styleOverrides.push(t)}pop(t){for(void 0===t&&(t=1);t-- >0;)this.styleOverrides.pop()}autopush(t){if(isString(t))return 0;if(void 0!==t.section)return 0;let r=[];t.style&&(r=Array.isArray(t.style)?t.style:[t.style]);for(let t=0,n=r.length;t<n;t++)this.push(r[t]);return this.push(t),r.length+1}auto(t,r){let n=this.autopush(t),i=r();return n>0&&this.pop(n),i}getProperty(t){var r=this;const getStylePropertyFromStyle=function(t,n,i){if(void 0===i&&(i=new Set),i.has(t))return;i.add(t);const a=r.styleDictionary[t];if(a){if(isValue(a[n]))return a[n];if(a.extends){let t=Array.isArray(a.extends)?a.extends:[a.extends];for(let r=t.length-1;r>=0;r--){let a=getStylePropertyFromStyle(t[r],n,i);if(isValue(a))return a}}}};if(this.styleOverrides)for(let r=this.styleOverrides.length-1;r>=0;r--){let n=this.styleOverrides[r];if(isString(n)){let r=getStylePropertyFromStyle(n,t);if(isValue(r))return r}else if(isValue(n[t]))return n[t]}return this.defaultStyle&&this.defaultStyle[t]}static getStyleProperty(t,r,n,i){let a;return isValue(t[n])?t[n]:r?(r.auto(t,()=>{a=r.getProperty(n)}),isValue(a)?a:i):i}static copyStyle(t,r){void 0===t&&(t={}),void 0===r&&(r={});for(let n in t)"text"!=n&&t.hasOwnProperty(n)&&(r[n]=t[n]);return r}}const y=StyleContextStack,splitWords=function(t,r,n){void 0===n&&(n=!1);let i=[];if(t=null==t?"":String(t),r)return i.push({text:t}),i;if(n)return t.split("").map(t=>t.match(/^\n$|^\r$/)?{text:"",lineEnd:!0}:{text:t});if(0===t.length)return i.push({text:""}),i;let a,o=new p(t),s=0;for(;a=o.nextBreak();){let r=t.slice(s,a.position);a.required||r.match(/\r?\n$|\r$/)?(r=r.replace(/\r?\n$|\r$/,""),i.push({text:r,lineEnd:!0})):i.push({text:r}),s=a.position}return i},getFirstWord=(t,r)=>{let n=t[0];if(void 0===n)return null;if(r){let t=splitWords(n.text,!1);if(void 0===t[0])return null;n=t[0]}return n.text},getLastWord=(t,r)=>{let n=t[t.length-1];if(void 0===n)return null;if(n.lineEnd)return null;if(r){let t=splitWords(n.text,!1);if(void 0===t[t.length-1])return null;n=t[t.length-1]}return n.text};const w=class TextBreaker{getBreaks(t,r){let n=[];Array.isArray(t)||(t=[t]);let i=null;for(let a=0,o=t.length;a<o;a++){let s,l=t[a],u=null,h="break-all"===y.getStyleProperty(l||{},r,"wordBreak","normal"),p=y.getStyleProperty(l||{},r,"noWrap",!1);if(isObject(l)?(l._textRef&&l._textRef._textNodeRef.text&&(l.text=l._textRef._textNodeRef.text),s=splitWords(l.text,p,h),u=y.copyStyle(l)):s=splitWords(l,p,h),i&&s.length){let t=getFirstWord(s,p);1===splitWords(i+t,!1).length&&(n[n.length-1].noNewLine=!0)}for(let t=0,r=s.length;t<r;t++){let r={text:s[t].text};s[t].lineEnd&&(r.lineEnd=!0),y.copyStyle(u,r),n.push(r)}i=null,a+1<o&&(i=getLastWord(s,p))}return n}},v=/^(\s)+/g,x=/(\s)+$/g;const A=class TextInlines{constructor(t){this.pdfDocument=t}buildInlines(t,r){const getTrimmedWidth=t=>Math.max(0,t.width-t.leadingCut-t.trailingCut);let n,i=0,a=0,o=(s=t,Array.isArray(s)||(s=[s]),function flatten(t){return t.reduce((t,r)=>{let n=Array.isArray(r.text)?flatten(r.text):r,i=[].concat(n).some(Array.isArray);return t.concat(i?flatten(n):n)},[])}(s));var s;let l=(new w).getBreaks(o,r),u=this.measure(l,r);return u.forEach(t=>{i=Math.max(i,getTrimmedWidth(t)),n||(n={width:0,leadingCut:t.leadingCut,trailingCut:0}),n.width+=t.width,n.trailingCut=t.trailingCut,a=Math.max(a,getTrimmedWidth(n)),t.lineEnd&&(n=null)}),y.getStyleProperty({},r,"noWrap",!1)&&(i=a),{items:u,minWidth:i,maxWidth:a}}measure(t,r){if(t.length){let n=y.getStyleProperty(t[0],r,"leadingIndent",0);n&&(t[0].leadingCut=-n,t[0].leadingIndent=n)}return t.forEach(t=>{let n=y.getStyleProperty(t,r,"font","Roboto"),i=y.getStyleProperty(t,r,"bold",!1),a=y.getStyleProperty(t,r,"italics",!1);t.font=this.pdfDocument.provideFont(n,i,a),t.alignment=y.getStyleProperty(t,r,"alignment","left"),t.fontSize=y.getStyleProperty(t,r,"fontSize",12),t.fontFeatures=y.getStyleProperty(t,r,"fontFeatures",null),t.characterSpacing=y.getStyleProperty(t,r,"characterSpacing",0),t.color=y.getStyleProperty(t,r,"color","black"),t.decoration=y.getStyleProperty(t,r,"decoration",null),t.decorationColor=y.getStyleProperty(t,r,"decorationColor",null),t.decorationStyle=y.getStyleProperty(t,r,"decorationStyle",null),t.decorationThickness=y.getStyleProperty(t,r,"decorationThickness",null),t.background=y.getStyleProperty(t,r,"background",null),t.link=y.getStyleProperty(t,r,"link",null),t.linkToPage=y.getStyleProperty(t,r,"linkToPage",null),t.linkToDestination=y.getStyleProperty(t,r,"linkToDestination",null),t.noWrap=y.getStyleProperty(t,r,"noWrap",null),t.opacity=y.getStyleProperty(t,r,"opacity",1),t.sup=y.getStyleProperty(t,r,"sup",!1),t.sub=y.getStyleProperty(t,r,"sub",!1),(t.sup||t.sub)&&(t.fontSize*=.58);let o=y.getStyleProperty(t,r,"lineHeight",1);if(t.width=this.widthOfText(t.text,t),t.height=t.font.lineHeight(t.fontSize)*o,t.leadingCut||(t.leadingCut=0),!y.getStyleProperty(t,r,"preserveLeadingSpaces",!1)){let r=t.text.match(v);r&&(t.leadingCut+=this.widthOfText(r[0],t))}if(t.trailingCut=0,!y.getStyleProperty(t,r,"preserveTrailingSpaces",!1)){let r=t.text.match(x);r&&(t.trailingCut=this.widthOfText(r[0],t))}},this),t}widthOfText(t,r){return r.font.widthOfString(t,r.fontSize,r.fontFeatures)+(r.characterSpacing||0)*(t.length-1)}sizeOfText(t,r){let n=y.getStyleProperty({},r,"font","Roboto"),i=y.getStyleProperty({},r,"fontSize",12),a=y.getStyleProperty({},r,"fontFeatures",null),o=y.getStyleProperty({},r,"bold",!1),s=y.getStyleProperty({},r,"italics",!1),l=y.getStyleProperty({},r,"lineHeight",1),u=y.getStyleProperty({},r,"characterSpacing",0),h=this.pdfDocument.provideFont(n,o,s);return{width:this.widthOfText(t,{font:h,fontSize:i,characterSpacing:u,fontFeatures:a}),height:h.lineHeight(i)*l,fontSize:i,lineHeight:l,ascender:h.ascender/1e3*i,descender:h.descender/1e3*i}}sizeOfRotatedText(t,r,n){let i=r*Math.PI/-180,a=this.sizeOfText(t,n);return{width:Math.abs(a.height*Math.sin(i))+Math.abs(a.width*Math.cos(i)),height:Math.abs(a.width*Math.sin(i))+Math.abs(a.height*Math.cos(i))}}};function isAutoColumn(t){return"auto"===t.width}function isStarColumn(t){return null===t.width||void 0===t.width||"*"===t.width||"star"===t.width}const S={buildColumnWidths:function buildColumnWidths(t,r,n,i){void 0===n&&(n=0);let a=[],o=0,s=0,l=[],u=0,h=0,p=[],g=r;t.forEach(t=>{isAutoColumn(t)?(a.push(t),o+=t._minWidth,s+=t._maxWidth):isStarColumn(t)?(l.push(t),u=Math.max(u,t._minWidth),h=Math.max(h,t._maxWidth)):p.push(t)}),p.forEach((t,a)=>{if(isString(t.width)&&/\d+%/.test(t.width)){let r=0;if(i){const t=i._layout.paddingLeft(a,i),n=i._layout.paddingRight(a,i),o=i._layout.vLineWidth(a,i),s=i._layout.vLineWidth(a+1,i);r=0===a?t+n+o+s/2:a===p.length-1?t+n+o/2+s:t+n+o/2+s/2}const o=g+n;t.width=parseFloat(t.width)*o/100-r}t.width<t._minWidth&&t.elasticWidth?t._calcWidth=t._minWidth:t._calcWidth=t.width,r-=t._calcWidth});let m=o+u*l.length,y=s+h*l.length;if(m>=r)a.forEach(t=>{t._calcWidth=t._minWidth}),l.forEach(t=>{t._calcWidth=u});else{if(y<r)a.forEach(t=>{t._calcWidth=t._maxWidth,r-=t._calcWidth});else{let t=r-m,n=y-m;a.forEach(i=>{let a=i._maxWidth-i._minWidth;i._calcWidth=i._minWidth+a*t/n,r-=i._calcWidth})}if(l.length>0){let t=r/l.length;l.forEach(r=>{r._calcWidth=t})}}},measureMinMax:function measureMinMax(t){let r={min:0,max:0},n={min:0,max:0},i=0;for(let a=0,o=t.length;a<o;a++){let o=t[a];isStarColumn(o)?(n.min=Math.max(n.min,o._minWidth),n.max=Math.max(n.max,o._maxWidth),i++):isAutoColumn(o)?(r.min+=o._minWidth,r.max+=o._maxWidth):(r.min+=void 0!==o.width&&o.width||o._minWidth,r.max+=void 0!==o.width&&o.width||o._maxWidth)}return i&&(r.min+=i*n.min,r.max+=i*n.max),r},isAutoColumn,isStarColumn},_={noBorders:{hLineWidth:t=>0,vLineWidth:t=>0,paddingLeft:t=>t?4:0,paddingRight:(t,r)=>t<r.table.widths.length-1?4:0},headerLineOnly:{hLineWidth:(t,r)=>0===t||t===r.table.body.length?0:t===r.table.headerRows?2:0,vLineWidth:t=>0,paddingLeft:t=>0===t?0:8,paddingRight:(t,r)=>t===r.table.widths.length-1?0:8},lightHorizontalLines:{hLineWidth:(t,r)=>0===t||t===r.table.body.length?0:t===r.table.headerRows?2:1,vLineWidth:t=>0,hLineColor:t=>1===t?"black":"#aaa",paddingLeft:t=>0===t?0:8,paddingRight:(t,r)=>t===r.table.widths.length-1?0:8}},C={hLineWidth:(t,r)=>1,vLineWidth:(t,r)=>1,hLineColor:(t,r)=>"black",vLineColor:(t,r)=>"black",hLineStyle:(t,r)=>null,vLineStyle:(t,r)=>null,paddingLeft:(t,r)=>4,paddingRight:(t,r)=>4,paddingTop:(t,r)=>2,paddingBottom:(t,r)=>2,fillColor:(t,r)=>null,fillOpacity:(t,r)=>1,defaultBorder:!0};function pack(){let t={};for(let r=0,n=arguments.length;r<n;r++){let n=r<0||arguments.length<=r?void 0:arguments[r];if(n)for(let r in n)n.hasOwnProperty(r)&&(t[r]=n[r])}return t}function offsetVector(t,r,n){switch(t.type){case"ellipse":case"rect":t.x+=r,t.y+=n;break;case"line":t.x1+=r,t.x2+=r,t.y1+=n,t.y2+=n;break;case"polyline":for(let i=0,a=t.points.length;i<a;i++)t.points[i].x+=r,t.points[i].y+=n}}function convertToDynamicContent(t){return()=>JSON.parse(JSON.stringify(t))}for(var P=[null,[[10,7,17,13],[1,1,1,1],[]],[[16,10,28,22],[1,1,1,1],[4,16]],[[26,15,22,18],[1,1,2,2],[4,20]],[[18,20,16,26],[2,1,4,2],[4,24]],[[24,26,22,18],[2,1,4,4],[4,28]],[[16,18,28,24],[4,2,4,4],[4,32]],[[18,20,26,18],[4,2,5,6],[4,20,36]],[[22,24,26,22],[4,2,6,6],[4,22,40]],[[22,30,24,20],[5,2,8,8],[4,24,44]],[[26,18,28,24],[5,4,8,8],[4,26,48]],[[30,20,24,28],[5,4,11,8],[4,28,52]],[[22,24,28,26],[8,4,11,10],[4,30,56]],[[22,26,22,24],[9,4,16,12],[4,32,60]],[[24,30,24,20],[9,4,16,16],[4,24,44,64]],[[24,22,24,30],[10,6,18,12],[4,24,46,68]],[[28,24,30,24],[10,6,16,17],[4,24,48,72]],[[28,28,28,28],[11,6,19,16],[4,28,52,76]],[[26,30,28,28],[13,6,21,18],[4,28,54,80]],[[26,28,26,26],[14,7,25,21],[4,28,56,84]],[[26,28,28,30],[16,8,25,20],[4,32,60,88]],[[26,28,30,28],[17,8,25,23],[4,26,48,70,92]],[[28,28,24,30],[17,9,34,23],[4,24,48,72,96]],[[28,30,30,30],[18,9,30,25],[4,28,52,76,100]],[[28,30,30,30],[20,10,32,27],[4,26,52,78,104]],[[28,26,30,30],[21,12,35,29],[4,30,56,82,108]],[[28,28,30,28],[23,12,37,34],[4,28,56,84,112]],[[28,30,30,30],[25,12,40,34],[4,32,60,88,116]],[[28,30,30,30],[26,13,42,35],[4,24,48,72,96,120]],[[28,30,30,30],[28,14,45,38],[4,28,52,76,100,124]],[[28,30,30,30],[29,15,48,40],[4,24,50,76,102,128]],[[28,30,30,30],[31,16,51,43],[4,28,54,80,106,132]],[[28,30,30,30],[33,17,54,45],[4,32,58,84,110,136]],[[28,30,30,30],[35,18,57,48],[4,28,56,84,112,140]],[[28,30,30,30],[37,19,60,51],[4,32,60,88,116,144]],[[28,30,30,30],[38,19,63,53],[4,28,52,76,100,124,148]],[[28,30,30,30],[40,20,66,56],[4,22,48,74,100,126,152]],[[28,30,30,30],[43,21,70,59],[4,26,52,78,104,130,156]],[[28,30,30,30],[45,22,74,62],[4,30,56,82,108,134,160]],[[28,30,30,30],[47,24,77,65],[4,24,52,80,108,136,164]],[[28,30,30,30],[49,25,81,68],[4,28,56,84,112,140,168]]],k=/^\d*$/,T=/^[A-Za-z0-9 $%*+\-./:]*$/,B=/^[A-Z0-9 $%*+\-./:]*$/,I=[],O=[-1],L=0,D=1;L<255;++L)I.push(D),O[D]=L,D=2*D^(D>=128?285:0);var R=[[]];for(L=0;L<30;++L){for(var M=R[L],N=[],$=0;$<=L;++$){var U=$<L?I[M[$]]:0,z=I[(L+(M[$-1]||0))%255];N.push(O[U^z])}R.push(N)}var W={};for(L=0;L<45;++L)W["0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:".charAt(L)]=L;var j=[function(t,r){return(t+r)%2==0},function(t,r){return t%2==0},function(t,r){return r%3==0},function(t,r){return(t+r)%3==0},function(t,r){return((t/2|0)+(r/3|0))%2==0},function(t,r){return t*r%2+t*r%3==0},function(t,r){return(t*r%2+t*r%3)%2==0},function(t,r){return((t+r)%2+t*r%3)%2==0}],needsverinfo=function(t){return t>6},ndatabits=function(t,r){var n=-8&function(t){var r=P[t],n=16*t*t+128*t+64;return needsverinfo(t)&&(n-=36),r[2].length&&(n-=25*r[2].length*r[2].length-10*r[2].length-55),n}(t),i=P[t];return n-=8*i[0][r]*i[1][r]},ndatalenbits=function(t,r){switch(r){case 1:return t<10?10:t<27?12:14;case 2:return t<10?9:t<27?11:13;case 4:return t<10?8:16;case 8:return t<10?8:t<27?10:12}},getmaxdatalen=function(t,r,n){var i=ndatabits(t,n)-4-ndatalenbits(t,r);switch(r){case 1:return 3*(i/10|0)+(i%10<4?0:i%10<7?1:2);case 2:return 2*(i/11|0)+(i%11<6?0:1);case 4:return i/8|0;case 8:return i/13|0}},calculateecc=function(t,r){for(var n=t.slice(0),i=t.length,a=r.length,o=0;o<a;++o)n.push(0);for(o=0;o<i;){var s=O[n[o++]];if(s>=0)for(var l=0;l<a;++l)n[o+l]^=I[(s+r[l])%255]}return n.slice(i)},augumentbch=function(t,r,n,i){for(var a=t<<i,o=r-1;o>=0;--o)a>>i+o&1&&(a^=n<<o);return t<<i|a},maskdata=function(t,r,n){for(var i=j[n],a=t.length,o=0;o<a;++o)for(var s=0;s<a;++s)r[o][s]||(t[o][s]^=i(o,s));return t},putformatinfo=function(t,r,n,i){for(var a=t.length,o=21522^augumentbch(n<<3|i,5,1335,10),s=0;s<15;++s){var l=[a-1,a-2,a-3,a-4,a-5,a-6,a-7,a-8,7,5,4,3,2,1,0][s];t[[0,1,2,3,4,5,7,8,a-7,a-6,a-5,a-4,a-3,a-2,a-1][s]][8]=t[8][l]=o>>s&1}return t},evaluatematrix=function(t){for(var evaluategroup=function(t){for(var r=0,n=0;n<t.length;++n)t[n]>=5&&(r+=t[n]-5+3);for(n=5;n<t.length;n+=2){var i=t[n];t[n-1]==i&&t[n-2]==3*i&&t[n-3]==i&&t[n-4]==i&&(t[n-5]>=4*i||t[n+1]>=4*i)&&(r+=40)}return r},r=t.length,n=0,i=0,a=0;a<r;++a){var o,s=t[a];o=[0];for(var l=0;l<r;){for(u=0;l<r&&s[l];++u)++l;for(o.push(u),u=0;l<r&&!s[l];++u)++l;o.push(u)}n+=evaluategroup(o),o=[0];for(l=0;l<r;){var u;for(u=0;l<r&&t[l][a];++u)++l;for(o.push(u),u=0;l<r&&!t[l][a];++u)++l;o.push(u)}n+=evaluategroup(o);var h=t[a+1]||[];i+=s[0];for(l=1;l<r;++l){var p=s[l];i+=p,s[l-1]==p&&h[l]===p&&h[l-1]===p&&(n+=3)}}return n+=10*(Math.abs(i/r/r-.5)/.05|0)},generate=function(t,r,n,i,a){var o=P[r],s=function(t,r,n,i){var a=[],o=0,s=8,l=n.length,pack=function(t,r){if(r>=s){for(a.push(o|t>>(r-=s));r>=8;)a.push(t>>(r-=8)&255);o=0,s=8}r>0&&(o|=(t&(1<<r)-1)<<(s-=r))},u=ndatalenbits(t,r);switch(pack(r,4),pack(l,u),r){case 1:for(var h=2;h<l;h+=3)pack(parseInt(n.substring(h-2,h+1),10),10);pack(parseInt(n.substring(h-2),10),[0,4,7][l%3]);break;case 2:for(h=1;h<l;h+=2)pack(45*W[n.charAt(h-1)]+W[n.charAt(h)],11);l%2==1&&pack(W[n.charAt(h-1)],6);break;case 4:for(h=0;h<l;++h)pack(n[h],8)}for(pack(0,4),s<8&&a.push(o);a.length+1<i;)a.push(236,17);return a.length<i&&a.push(236),a}(r,n,t,ndatabits(r,i)>>3);s=function(t,r,n){for(var i=[],a=t.length/r|0,o=0,s=r-t.length%r,l=0;l<s;++l)i.push(o),o+=a;for(l=s;l<r;++l)i.push(o),o+=a+1;i.push(o);var u=[];for(l=0;l<r;++l)u.push(calculateecc(t.slice(i[l],i[l+1]),n));var h=[],p=t.length/r|0;for(l=0;l<p;++l)for(var g=0;g<r;++g)h.push(t[i[g]+l]);for(g=s;g<r;++g)h.push(t[i[g+1]-1]);for(l=0;l<n.length;++l)for(g=0;g<r;++g)h.push(u[g][l]);return h}(s,o[1][i],R[o[0][i]]);var l=function(t){for(var r=P[t],n=function(t){return 4*t+17}(t),i=[],a=[],o=0;o<n;++o)i.push([]),a.push([]);var blit=function(t,r,n,o,s){for(var l=0;l<n;++l)for(var u=0;u<o;++u)i[t+l][r+u]=s[l]>>u&1,a[t+l][r+u]=1};for(blit(0,0,9,9,[127,65,93,93,93,65,383,0,64]),blit(n-8,0,8,9,[256,127,65,93,93,93,65,127]),blit(0,n-8,9,8,[254,130,186,186,186,130,254,0,0]),o=9;o<n-8;++o)i[6][o]=i[o][6]=1&~o,a[6][o]=a[o][6]=1;var s=r[2],l=s.length;for(o=0;o<l;++o)for(var u=0===o?l-1:l,h=0===o||o===l-1?1:0;h<u;++h)blit(s[o],s[h],5,5,[31,17,21,17,31]);if(needsverinfo(t)){var p=augumentbch(t,6,7973,12),g=0;for(o=0;o<6;++o)for(h=0;h<3;++h)i[o][n-11+h]=i[n-11+h][o]=p>>g++&1,a[o][n-11+h]=a[n-11+h][o]=1}return{matrix:i,reserved:a}}(r),u=l.matrix,h=l.reserved;if(function(t,r,n){for(var i=t.length,a=0,o=-1,s=i-1;s>=0;s-=2){6==s&&--s;for(var l=o<0?i-1:0,u=0;u<i;++u){for(var h=s;h>s-2;--h)r[l][h]||(t[l][h]=n[a>>3]>>(7&~a)&1,++a);l+=o}o=-o}}(u,h,s),a<0){maskdata(u,h,0),putformatinfo(u,0,i,0);var p=0,g=evaluatematrix(u);for(maskdata(u,h,0),a=1;a<8;++a){maskdata(u,h,a),putformatinfo(u,0,i,a);var m=evaluatematrix(u);g>m&&(g=m,p=a),maskdata(u,h,a)}a=p}return maskdata(u,h,a),putformatinfo(u,0,i,a),u};function generateFrame(t,r){var n={numeric:1,alphanumeric:2,octet:4},i={L:1,M:0,Q:3,H:2},a=(r=r||{}).version||-1,o=i[(r.eccLevel||"L").toUpperCase()],s=r.mode?n[r.mode.toLowerCase()]:-1,l="mask"in r?r.mask:-1;if(s<0)s="string"==typeof t?t.match(k)?1:t.match(B)?2:4:4;else if(1!=s&&2!=s&&4!=s)throw"invalid or unsupported mode";if(t=function(t,r){switch(t){case 1:return r.match(k)?r:null;case 2:return r.match(T)?r.toUpperCase():null;case 4:if("string"==typeof r){for(var n=[],i=0;i<r.length;++i){var a=r.charCodeAt(i);a<128?n.push(a):a<2048?n.push(192|a>>6,128|63&a):a<65536?n.push(224|a>>12,128|a>>6&63,128|63&a):n.push(240|a>>18,128|a>>12&63,128|a>>6&63,128|63&a)}return n}return r}}(s,t),null===t)throw"invalid data format";if(o<0||o>3)throw"invalid ECC level";if(a<0){for(a=1;a<=40&&!(t.length<=getmaxdatalen(a,s,o));++a);if(a>40)throw"too large data for the Qr format"}else if(a<1||a>40)throw"invalid Qr version! should be between 1 and 40";if(-1!=l&&(l<0||l>8))throw"invalid mask";return generate(t,a,s,o,l)}const V={measure:function measure(t){var r=function buildCanvas(t,r){var n=[],i=r.background||"#fff",a=r.foreground||"#000",o=r.padding||0,s=generateFrame(t,r),l=s.length,u=Math.floor(r.fit?r.fit/l:5),h=l*u+u*o*2,p=u*o;n.push({type:"rect",x:0,y:0,w:h,h,lineWidth:0,color:i});for(var g=0;g<l;++g)for(var m=0;m<l;++m)s[g][m]&&n.push({type:"rect",x:u*m+p,y:u*g+p,w:u,h:u,lineWidth:0,color:a});return{canvas:n,size:h}}(t.qr,t);return t._canvas=r.canvas,t._width=t._height=t._minWidth=t._maxWidth=t._minHeight=t._maxHeight=r.size,t}};const H=class DocMeasure{constructor(t,r,n,i,a){this.pdfDocument=t,this.textInlines=new A(t),this.styleStack=new y(r,n),this.svgMeasure=i,this.tableLayouts=a,this.autoImageIndex=1}measureDocument(t){return this.measureNode(t)}measureBlock(t){return this.measureNode(t)}measureNode(t){return this.styleStack.auto(t,()=>{if(t._margin=function getNodeMargin(t,r){function processSingleMargins(t,r,n){return void 0===n&&(n=0),void 0!==t.marginLeft||void 0!==t.marginTop||void 0!==t.marginRight||void 0!==t.marginBottom?[t.marginLeft??r[0]??n,t.marginTop??r[1]??n,t.marginRight??r[2]??n,t.marginBottom??r[3]??n]:r}function convertMargin(t){return isNumber(t)?t=[t,t,t,t]:Array.isArray(t)&&2===t.length&&(t=[t[0],t[1],t[0],t[1]]),t}let n=[void 0,void 0,void 0,void 0];if(t.style){let i=function flattenStyleArray(t,r,n){if(void 0===n&&(n=new Set),!(t=Array.isArray(t)?t:[t]).every(t=>isString(t)))return{};let i={};for(let a=0;a<t.length;a++){let o=t[a],s=r.styleDictionary[o];void 0!==s&&(n.has(o)||(void 0!==s.extends&&(i={...i,...flattenStyleArray(s.extends,r,new Set([...n,o]))}),i=void 0===s.margin?{margin:processSingleMargins(s,i.margin??{},void 0)}:{margin:convertMargin(s.margin)}))}return i}(Array.isArray(t.style)?t.style:[t.style],r);i&&(n=processSingleMargins(i,n)),i.margin&&(n=convertMargin(i.margin))}return n=processSingleMargins(t,n),void 0!==t.margin&&(n=convertMargin(t.margin)),void 0===n[0]&&void 0===n[1]&&void 0===n[2]&&void 0===n[3]?null:n}(t,this.styleStack),t.section)return extendMargins(this.measureSection(t));if(t.columns)return extendMargins(this.measureColumns(t));if(t.stack)return extendMargins(this.measureVerticalContainer(t));if(t.ul)return extendMargins(this.measureUnorderedList(t));if(t.ol)return extendMargins(this.measureOrderedList(t));if(t.table)return extendMargins(this.measureTable(t));if(void 0!==t.text)return extendMargins(this.measureLeaf(t));if(t.toc)return extendMargins(this.measureToc(t));if(t.image)return extendMargins(this.measureImage(t));if(t.svg)return extendMargins(this.measureSVG(t));if(t.canvas)return extendMargins(this.measureCanvas(t));if(t.qr)return extendMargins(this.measureQr(t));if(t.attachment)return extendMargins(this.measureAttachment(t));throw new Error(`Unrecognized document structure: ${stringifyNode(t)}`)});function extendMargins(t){let r=t._margin;return r&&(t._minWidth+=r[0]+r[2],t._maxWidth+=r[0]+r[2]),t}}measureImageWithDimensions(t,r){if(t.fit){let n=r.width/r.height>t.fit[0]/t.fit[1]?t.fit[0]/r.width:t.fit[1]/r.height;t._width=t._minWidth=t._maxWidth=r.width*n,t._height=r.height*n}else if(t.cover)t._width=t._minWidth=t._maxWidth=t.cover.width,t._height=t._minHeight=t._maxHeight=t.cover.height;else{let n=isNumber(t.width)?t.width:void 0,i=isNumber(t.height)?t.height:void 0,a=r.width/r.height;t._width=t._minWidth=t._maxWidth=n||(i?i*a:r.width),t._height=i||(n?n/a:r.height),isNumber(t.maxWidth)&&t.maxWidth<t._width&&(t._width=t._minWidth=t._maxWidth=t.maxWidth,t._height=t._width*r.height/r.width),isNumber(t.maxHeight)&&t.maxHeight<t._height&&(t._height=t.maxHeight,t._width=t._minWidth=t._maxWidth=t._height*r.width/r.height),isNumber(t.minWidth)&&t.minWidth>t._width&&(t._width=t._minWidth=t._maxWidth=t.minWidth,t._height=t._width*r.height/r.width),isNumber(t.minHeight)&&t.minHeight>t._height&&(t._height=t.minHeight,t._width=t._minWidth=t._maxWidth=t._height*r.width/r.height)}t._alignment=this.styleStack.getProperty("alignment")}convertIfBase64Image(t){if(/^data:image\/(jpeg|jpg|png);base64,/.test(t.image)){let r="$$pdfmake$$"+this.autoImageIndex++;this.pdfDocument.images[r]=t.image,t.image=r}}measureImage(t){this.convertIfBase64Image(t);let r=this.pdfDocument.provideImage(t.image),n={width:r.width,height:r.height};return r.orientation>4&&(n={width:r.height,height:r.width}),this.measureImageWithDimensions(t,n),t}measureSVG(t){let r=this.svgMeasure.measureSVG(t.svg);if(this.measureImageWithDimensions(t,r),t.font=this.styleStack.getProperty("font"),!isNumber(t._width)&&!isNumber(t._height))throw new Error("SVG is missing defined width and height.");if(!isNumber(t._width))throw new Error("SVG is missing defined width.");if(!isNumber(t._height))throw new Error("SVG is missing defined height.");return t.svg=this.svgMeasure.writeDimensions(t.svg,{width:t._width,height:t._height}),t}measureLeaf(t){t._textRef&&t._textRef._textNodeRef.text&&(t.text=t._textRef._textNodeRef.text);let r=this.styleStack.clone();r.push(t);let n=this.textInlines.buildInlines(t.text,r);return t._inlines=n.items,t._minWidth=n.minWidth,t._maxWidth=n.maxWidth,t}measureToc(t){if(t.toc.title&&(t.toc.title=this.measureNode(t.toc.title)),t.toc._items.length>0){let r=[],n=t.toc.textStyle||{},i=t.toc.numberStyle||n,a=t.toc.textMargin||[0,0,0,0];"title"===t.toc.sortBy&&t.toc._items.sort((r,n)=>r._textNodeRef.text.localeCompare(n._textNodeRef.text,t.toc.sortLocale));for(let o=0,s=t.toc._items.length;o<s;o++){let s=t.toc._items[o],l=s._textNodeRef.tocStyle||n,u=s._textNodeRef.tocMargin||a,h=s._textNodeRef.tocNumberStyle||i,p=getNodeId(s._nodeRef);r.push([{text:s._textNodeRef.text,linkToDestination:p,alignment:"left",style:l,margin:u},{text:"00000",linkToDestination:p,alignment:"right",_tocItemRef:s._nodeRef,style:h,margin:[0,u[1],0,u[3]]}]),t.toc.outlines&&(s._textNodeRef.outline=s._textNodeRef.outline||!0)}t.toc._table={table:{dontBreakRows:!0,widths:["*","auto"],body:r},layout:"noBorders"},t.toc._table=this.measureNode(t.toc._table)}return t}measureVerticalContainer(t){let r=t.stack;t._minWidth=0,t._maxWidth=0;for(let n=0,i=r.length;n<i;n++)r[n]=this.measureNode(r[n]),t._minWidth=Math.max(t._minWidth,r[n]._minWidth),t._maxWidth=Math.max(t._maxWidth,r[n]._maxWidth);return t}gapSizeForList(){return this.textInlines.sizeOfText("9. ",this.styleStack)}buildUnorderedMarker(t,r,n,i){let a,o=y.getStyleProperty(t,r,"markerColor",void 0)||r.getProperty("color")||"black";switch(i){case"circle":a=function buildCircle(t,r){let n=t.fontSize/6;return{canvas:[{x:n,y:t.height/t.lineHeight+t.descender-t.fontSize/3,r1:n,r2:n,type:"ellipse",lineColor:r}]}}(n,o);break;case"square":a=function buildSquare(t,r){let n=t.fontSize/3;return{canvas:[{x:0,y:t.height/t.lineHeight+t.descender-t.fontSize/3-n/2,h:n,w:n,type:"rect",color:r}]}}(n,o);break;case"none":a={};break;default:a=function buildDisc(t,r){let n=t.fontSize/6;return{canvas:[{x:n,y:t.height/t.lineHeight+t.descender-t.fontSize/3,r1:n,r2:n,type:"ellipse",color:r}]}}(n,o)}return a._minWidth=a._maxWidth=n.width,a._minHeight=a._maxHeight=n.height,a}buildOrderedMarker(t,r,n,i,a){function prepareAlpha(t){return t<1?t.toString():function toAlpha(t){return(t>=26?toAlpha((t/26|0)-1):"")+"abcdefghijklmnopqrstuvwxyz"[t%26|0]}(t-1)}function prepareRoman(t){if(t<1||t>4999)return t.toString();let r=t,n={M:1e3,CM:900,D:500,CD:400,C:100,XC:90,L:50,XL:40,X:10,IX:9,V:5,IV:4,I:1},i="";for(let t in n)for(;r>=n[t];)i+=t,r-=n[t];return i}let o;switch(i){case"none":o=null;break;case"upper-alpha":o=prepareAlpha(r).toUpperCase();break;case"lower-alpha":o=prepareAlpha(r);break;case"upper-roman":o=prepareRoman(r);break;case"lower-roman":o=prepareRoman(r).toLowerCase();break;default:o=function prepareDecimal(t){return t.toString()}(r)}if(null===o)return{};a&&(Array.isArray(a)?(a[0]&&(o=a[0]+o),a[1]&&(o+=a[1]),o+=" "):o+=`${a} `);let s={text:o,color:y.getStyleProperty(t,n,"markerColor",void 0)||n.getProperty("color")||"black"};return{_inlines:this.textInlines.buildInlines(s,n).items}}measureUnorderedList(t){let r=this.styleStack.clone(),n=t.ul;t.type=t.type||"disc",t._gapSize=this.gapSizeForList(),t._minWidth=0,t._maxWidth=0;for(let i=0,a=n.length;i<a;i++){let a=n[i]=this.measureNode(n[i]);a.ol||a.ul||(a.listMarker=this.buildUnorderedMarker(a,r,t._gapSize,a.listType||t.type)),t._minWidth=Math.max(t._minWidth,n[i]._minWidth+t._gapSize.width),t._maxWidth=Math.max(t._maxWidth,n[i]._maxWidth+t._gapSize.width)}return t}measureOrderedList(t){let r=this.styleStack.clone(),n=t.ol;t.type=t.type||"decimal",t.separator=t.separator||".",t.reversed=t.reversed||!1,isNumber(t.start)||(t.start=t.reversed?n.length:1),t._gapSize=this.gapSizeForList(),t._minWidth=0,t._maxWidth=0;let i=t.start;for(let a=0,o=n.length;a<o;a++){let o=n[a]=this.measureNode(n[a]);if(!o.ol&&!o.ul){let n=isNumber(o.counter)?o.counter:i;o.listMarker=this.buildOrderedMarker(o,n,r,o.listType||t.type,t.separator),o.listMarker._inlines&&(t._gapSize.width=Math.max(t._gapSize.width,o.listMarker._inlines[0].width)),t.reversed?i--:i++}t._minWidth=Math.max(t._minWidth,n[a]._minWidth),t._maxWidth=Math.max(t._maxWidth,n[a]._maxWidth)}t._minWidth+=t._gapSize.width,t._maxWidth+=t._gapSize.width;for(let r=0,i=n.length;r<i;r++){let i=n[r];i.ol||i.ul||(i.listMarker._minWidth=i.listMarker._maxWidth=t._gapSize.width)}return t}measureSection(t){return t.section=this.measureNode(t.section),t}measureColumns(t){let r=t.columns;t._gap=this.styleStack.getProperty("columnGap")||0;for(let t=0,n=r.length;t<n;t++)r[t]=this.measureNode(r[t]);let n=S.measureMinMax(r),i=r.length>0?r.length-1:0;return t._minWidth=n.min+t._gap*i,t._maxWidth=n.max+t._gap*i,t}measureTable(t){!function extendTableWidths(t){t.table.widths||(t.table.widths="auto");if(isString(t.table.widths))for(t.table.widths=[t.table.widths];t.table.widths.length<t.table.body[0].length;)t.table.widths.push(t.table.widths[t.table.widths.length-1]);for(let r=0,n=t.table.widths.length;r<n;r++){let n=t.table.widths[r];(isNumber(n)||isString(n))&&(t.table.widths[r]={width:n})}}(t),t._layout=function getLayout(r){let n=t.layout;isString(n)&&(n=r[n]);return pack(C,n)}(this.tableLayouts),t._offsets=function getOffsets(r){let n=[],i=0,a=0;for(let o=0,s=t.table.widths.length;o<s;o++){let s=a+r.vLineWidth(o,t)+r.paddingLeft(o,t);n.push(s),i+=s,a=r.paddingRight(o,t)}return i+=a+r.vLineWidth(t.table.widths.length,t),{total:i,offsets:n}}(t._layout);let r,n,i,a,o=[];for(r=0,i=t.table.body[0].length;r<i;r++){let i=t.table.widths[r];for(i._minWidth=0,i._maxWidth=0,n=0,a=t.table.body.length;n<a;n++){let a=t.table.body[n],s=a[r];if(void 0===s)throw new Error(`Malformed table row, a cell is undefined.\nRow index: ${n}\nColumn index: ${r}\nRow data: ${stringifyNode(a)}`);null===s&&(s=""),s._span||(s=a[r]=this.styleStack.auto(s,measureCb(this,s)),s.colSpan&&s.colSpan>1?(markSpans(a,r,s.colSpan),o.push({col:r,span:s.colSpan,minWidth:s._minWidth,maxWidth:s._maxWidth})):(i._minWidth=Math.max(i._minWidth,s._minWidth),i._maxWidth=Math.max(i._maxWidth,s._maxWidth))),s.rowSpan&&s.rowSpan>1&&markVSpans(t.table,n,r,s.rowSpan)}}!function extendWidthsForColSpans(){let r,n;for(let i=0,a=o.length;i<a;i++){let a=o[i],s=getMinMax(a.col,a.span,t._offsets),l=a.minWidth-s.minWidth,u=a.maxWidth-s.maxWidth;if(l>0)for(r=l/a.span,n=0;n<a.span;n++)t.table.widths[a.col+n]._minWidth+=r;if(u>0)for(r=u/a.span,n=0;n<a.span;n++)t.table.widths[a.col+n]._maxWidth+=r}}();let s=S.measureMinMax(t.table.widths);return t._minWidth=s.min+t._offsets.total,t._maxWidth=s.max+t._offsets.total,t;function measureCb(t,r){return()=>(isObject(r)&&(r.fillColor=t.styleStack.getProperty("fillColor"),r.fillOpacity=t.styleStack.getProperty("fillOpacity")),t.measureNode(r))}function getMinMax(r,n,i){let a={minWidth:0,maxWidth:0};for(let o=0;o<n;o++)a.minWidth+=t.table.widths[r+o]._minWidth+(o?i.offsets[r+o]:0),a.maxWidth+=t.table.widths[r+o]._maxWidth+(o?i.offsets[r+o]:0);return a}function markSpans(t,r,n){for(let i=1;i<n;i++)t[r+i]={_span:!0,_minWidth:0,_maxWidth:0,rowSpan:t[r].rowSpan}}function markVSpans(t,r,n,i){for(let a=1;a<i;a++)t.body[r+a][n]={_span:!0,_minWidth:0,_maxWidth:0,fillColor:t.body[r][n].fillColor,fillOpacity:t.body[r][n].fillOpacity}}}measureCanvas(t){let r=0,n=0;for(let i=0,a=t.canvas.length;i<a;i++){let a=t.canvas[i];switch(a.type){case"ellipse":r=Math.max(r,a.x+a.r1),n=Math.max(n,a.y+a.r2);break;case"rect":r=Math.max(r,a.x+a.w),n=Math.max(n,a.y+a.h);break;case"line":r=Math.max(r,a.x1,a.x2),n=Math.max(n,a.y1,a.y2);break;case"polyline":for(let t=0,i=a.points.length;t<i;t++)r=Math.max(r,a.points[t].x),n=Math.max(n,a.points[t].y)}}return t._minWidth=t._maxWidth=r,t._minHeight=t._maxHeight=n,t._alignment=this.styleStack.getProperty("alignment"),t}measureQr(t){return(t=V.measure(t))._alignment=this.styleStack.getProperty("alignment"),t}measureAttachment(t){return t._width=t.width||7,t._height=t.height||18,t}};var G=n(4785);class DocumentContext extends G.EventEmitter{constructor(){super(),this.pages=[],this.pageMargins=void 0,this.x=void 0,this.availableWidth=void 0,this.availableHeight=void 0,this.page=-1,this.snapshots=[],this.backgroundLength=[]}beginColumnGroup(t,r,n,i,a){void 0===r&&(r={}),void 0===n&&(n=!1),void 0===i&&(i=0),void 0===a&&(a=null),this.snapshots.push({x:this.x,y:this.y,availableHeight:this.availableHeight,availableWidth:this.availableWidth,page:this.page,bottomByPage:r||{},bottomMost:{x:this.x,y:this.y,availableHeight:this.availableHeight,availableWidth:this.availableWidth,page:this.page},lastColumnWidth:this.lastColumnWidth,snakingColumns:n,gap:i,columnWidths:a}),this.lastColumnWidth=0,t&&(this.marginXTopParent=t)}updateBottomByPage(){const t=this.snapshots[this.snapshots.length-1];if(!t)return;const r=this.page;let n=-Number.MIN_VALUE;t.bottomByPage&&t.bottomByPage[r]&&(n=t.bottomByPage[r]),t.bottomByPage&&(t.bottomByPage[r]=Math.max(n,this.y))}resetMarginXTopParent(){this.marginXTopParent=null}getSnakingSnapshot(){for(let t=this.snapshots.length-1;t>=0;t--)if(this.snapshots[t].snakingColumns)return this.snapshots[t];return null}inSnakingColumns(){return!!this.getSnakingSnapshot()}isInNestedNonSnakingGroup(){for(let t=this.snapshots.length-1;t>=0;t--){let r=this.snapshots[t];if(r.snakingColumns)return!1;if(!r.overflowed)return!0}return!1}beginColumn(t,r,n){let i=this.snapshots[this.snapshots.length-1];if(i&&i.overflowed)for(let t=this.snapshots.length-1;t>=0;t--)if(!this.snapshots[t].overflowed){i=this.snapshots[t];break}this.calculateBottomMost(i,n),this.page=i.page,this.x=this.x+this.lastColumnWidth+(r||0),this.y=i.y,this.availableWidth=t,this.availableHeight=i.availableHeight,this.lastColumnWidth=t}calculateBottomMost(t,r){r?this.saveContextInEndingCell(r):t.bottomMost=bottomMostContext(this,t.bottomMost)}markEnding(t,r,n){this.page=t._columnEndingContext.page,this.x=t._columnEndingContext.x+r,this.y=t._columnEndingContext.y-n,this.availableWidth=t._columnEndingContext.availableWidth,this.availableHeight=t._columnEndingContext.availableHeight,this.lastColumnWidth=t._columnEndingContext.lastColumnWidth}saveContextInEndingCell(t){t._columnEndingContext={page:this.page,x:this.x,y:this.y,availableHeight:this.availableHeight,availableWidth:this.availableWidth,lastColumnWidth:this.lastColumnWidth}}completeColumnGroup(t,r){let n=this.snapshots.pop(),i=this.y,a=this.page,o=this.availableHeight;for(;n&&n.overflowed;){let t=bottomMostContext({page:a,y:i,availableHeight:o},n.bottomMost||{});a=t.page,i=t.y,o=t.availableHeight,n=this.snapshots.pop()}if(!n)return{};(a>n.bottomMost.page||a===n.bottomMost.page&&i>n.bottomMost.y)&&(n.bottomMost={x:n.x,y:i,page:a,availableHeight:o,availableWidth:n.availableWidth}),this.calculateBottomMost(n,r),this.x=n.x;let s=n.bottomMost.y;return t&&(n.page===n.bottomMost.page?n.y+t>s&&(s=n.y+t):s+=t),this.y=s,this.page=n.bottomMost.page,this.availableWidth=n.availableWidth,this.availableHeight=n.bottomMost.ava