@file-viewer/docx 0.3.33 → 0.3.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +49 -9
- package/dist/THIRD_PARTY_NOTICES.txt +1038 -0
- package/dist/anchor-layout.d.ts +20 -0
- package/dist/comment-layer.d.ts +40 -0
- package/dist/comments/comments-extended-part.d.ts +13 -0
- package/dist/comments/comments-part.d.ts +11 -0
- package/dist/comments/elements.d.ts +23 -0
- package/dist/common/content-types.d.ts +7 -0
- package/dist/common/open-xml-package.d.ts +25 -0
- package/dist/common/part.d.ts +12 -0
- package/dist/common/relationship.d.ts +46 -0
- package/dist/dark-mode-color.d.ts +29 -0
- package/dist/display-address.d.ts +5 -0
- package/dist/document/bookmarks.d.ts +13 -0
- package/dist/document/border.d.ts +18 -0
- package/dist/document/common.d.ts +38 -0
- package/dist/document/document-part.d.ts +10 -0
- package/dist/document/document.d.ts +9 -0
- package/dist/document/dom.d.ts +200 -0
- package/dist/document/fields.d.ts +14 -0
- package/dist/document/line-spacing.d.ts +9 -0
- package/dist/document/page-breaks.d.ts +8 -0
- package/dist/document/paragraph.d.ts +54 -0
- package/dist/document/run.d.ts +12 -0
- package/dist/document/section.d.ts +82 -0
- package/dist/document/style.d.ts +21 -0
- package/dist/document/symbol-encoding.d.ts +28 -0
- package/dist/document-parser.d.ts +156 -0
- package/dist/document-props/core-props-part.d.ts +6 -0
- package/dist/document-props/core-props.d.ts +12 -0
- package/dist/document-props/custom-props-part.d.ts +6 -0
- package/dist/document-props/custom-props.d.ts +8 -0
- package/dist/document-props/extended-props-part.d.ts +6 -0
- package/dist/document-props/extended-props.d.ts +14 -0
- package/dist/docx-preview-esm.d.mts +3 -0
- package/dist/docx-preview-worker.d.ts +1 -0
- package/dist/docx-preview.d.ts +84 -13
- package/dist/docx-preview.js +15397 -4
- package/dist/docx-preview.min.js +25 -4
- package/dist/docx-preview.min.mjs +25 -4
- package/dist/docx-preview.mjs +15396 -4
- package/dist/docx-preview.worker.js +15473 -4
- package/dist/font-table/font-table.d.ts +6 -0
- package/dist/font-table/fonts.d.ts +15 -0
- package/dist/header-footer/elements.d.ts +7 -0
- package/dist/header-footer/parts.d.ts +18 -0
- package/dist/html-renderer.d.ts +567 -0
- package/dist/html.d.ts +16 -0
- package/dist/input-validation.d.ts +2 -0
- package/dist/javascript.d.ts +8 -0
- package/dist/jszip.min.js +2 -2
- package/dist/layout-coordinates.d.ts +23 -0
- package/dist/layout-readiness.d.ts +17 -0
- package/dist/length.d.ts +11 -0
- package/dist/license-gate.d.ts +4 -0
- package/dist/metafile/emf-to-svg.d.ts +7 -0
- package/dist/metafile/wmf-to-svg.d.ts +7 -0
- package/dist/notes/elements.d.ts +12 -0
- package/dist/notes/parts.d.ts +17 -0
- package/dist/notes/properties.d.ts +33 -0
- package/dist/numbering/numbering-part.d.ts +14 -0
- package/dist/numbering/numbering.d.ts +49 -0
- package/dist/parser/xml-parser.d.ts +27 -0
- package/dist/review.d.ts +49 -0
- package/dist/security/links.d.ts +6 -0
- package/dist/security/trusted-types.d.ts +10 -0
- package/dist/settings/settings-part.d.ts +8 -0
- package/dist/settings/settings.d.ts +25 -0
- package/dist/styles/styles-part.d.ts +10 -0
- package/dist/table-diagonals.d.ts +2 -0
- package/dist/theme/theme-part.d.ts +8 -0
- package/dist/theme/theme.d.ts +25 -0
- package/dist/utils.d.ts +17 -0
- package/dist/vml/vml.d.ts +19 -0
- package/dist/word-document.d.ts +89 -0
- package/package.json +33 -26
|
@@ -1,5 +1,26 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
*
|
|
3
|
-
*
|
|
1
|
+
/*!
|
|
2
|
+
* @license @file-viewer/docx, derived from docx-preview
|
|
3
|
+
* https://github.com/VolodymyrBaydalka/docxjs
|
|
4
|
+
* Copyright Volodymyr Baydalka
|
|
5
|
+
* Released under the Apache License 2.0. See LICENSE.
|
|
6
|
+
* Bundled dependency notices: THIRD_PARTY_NOTICES.txt.
|
|
4
7
|
*/
|
|
5
|
-
import e from"jszip";const t=(r=e,a={"./comments/comments-extended-part":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.CommentsExtendedPart=void 0;const a=e("../common/part"),n=e("../utils");class s extends a.Part{constructor(e,t){super(e,t),this.comments=[]}parseXml(e){const t=this._package.xmlParser;for(let r of t.elements(e,"commentEx"))this.comments.push({paraId:t.attr(r,"paraId"),paraIdParent:t.attr(r,"paraIdParent"),done:t.boolAttr(r,"done")});this.commentMap=(0,n.keyBy)(this.comments,e=>e.paraId)}}r.CommentsExtendedPart=s},"./comments/comments-part":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.CommentsPart=void 0;const a=e("../common/part"),n=e("../utils");class s extends a.Part{constructor(e,t,r){super(e,t),this._documentParser=r}parseXml(e){this.comments=this._documentParser.parseComments(e),this.commentMap=(0,n.keyBy)(this.comments,e=>e.id)}}r.CommentsPart=s},"./comments/elements":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.WmlCommentRangeEnd=r.WmlCommentRangeStart=r.WmlCommentReference=r.WmlComment=void 0;const a=e("../document/dom");class n extends a.OpenXmlElementBase{constructor(){super(...arguments),this.type=a.DomType.Comment}}r.WmlComment=n;class s extends a.OpenXmlElementBase{constructor(e){super(),this.id=e,this.type=a.DomType.CommentReference}}r.WmlCommentReference=s;class o extends a.OpenXmlElementBase{constructor(e){super(),this.id=e,this.type=a.DomType.CommentRangeStart}}r.WmlCommentRangeStart=o;class i extends a.OpenXmlElementBase{constructor(e){super(),this.id=e,this.type=a.DomType.CommentRangeEnd}}r.WmlCommentRangeEnd=i},"./common/content-types":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.parseContentTypes=function(e,t){return t.elements(e).map(e=>({extension:t.attr(e,"Extension"),partName:t.attr(e,"PartName"),contentType:t.attr(e,"ContentType")}))}},"./common/open-xml-package":function(e,t,r){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0}),r.OpenXmlPackage=void 0;const n=a(e("jszip")),s=e("../parser/xml-parser"),o=e("../utils"),i=e("./relationship"),l=e("./content-types");class c{constructor(e,t){this._zip=e,this.options=t,this.xmlParser=new s.XmlParser}get(e){const t=function(e){return e.startsWith("/")?e.substr(1):e}(e);return this._zip.files[t]??this._zip.files[t.replace(/\//g,"\\")]}update(e,t){this._zip.file(e,t)}static async load(e,t){const r=await n.default.loadAsync(e);return new c(r,t)}save(e="blob"){return this._zip.generateAsync({type:e})}load(e,t="string"){return this.get(e)?.async(t)??Promise.resolve(null)}async loadRelationships(e=null){let t="_rels/.rels";if(null!=e){const[r,a]=(0,o.splitPath)(e);t=`${r}_rels/${a}.rels`}const r=await this.load(t);return r?(0,i.parseRelationships)(d(this.parseXmlDocument(r)),this.xmlParser):null}async loadContentTypes(){const e=await this.load("[Content_Types].xml");return e?(0,l.parseContentTypes)(d(this.parseXmlDocument(e)),this.xmlParser):[]}parseXmlDocument(e){return(0,s.parseXmlString)(e,this.options.trimXmlDeclaration)}}function d(e){return e.firstElementChild??e.documentElement}r.OpenXmlPackage=c},"./common/part":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.Part=void 0;const a=e("../parser/xml-parser");r.Part=class{constructor(e,t){this._package=e,this.path=t}async load(){this.rels=await this._package.loadRelationships(this.path);const e=await this._package.load(this.path),t=this._package.parseXmlDocument(e);this._package.options.keepOrigin&&(this._xmlDocument=t),this.parseXml(t.firstElementChild??t.documentElement)}save(){this._package.update(this.path,(0,a.serializeXmlString)(this._xmlDocument))}parseXml(e){}}},"./common/relationship":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.RelationshipTypes=void 0,r.isExternalRelationship=s,r.resolveExternalResourceTarget=function(e,t="block"){if(!s(e))return null;const r=`${e?.target??""}`.trim();if(!r||a.test(r))return null;let o;try{o=new URL(r)}catch{return null}switch(o.protocol.toLowerCase()){case"data:":return n.test(r)?r:null;case"blob:":return r;case"http:":case"https:":return"allow"===t?o.href:null;default:return null}},r.parseRelationships=function(e,t){return t.elements(e).map(e=>({id:t.attr(e,"Id"),type:t.attr(e,"Type"),target:t.attr(e,"Target"),targetMode:t.attr(e,"TargetMode")}))};const a=/[\u0000-\u001f\u007f]/,n=/^data:image\/[a-z0-9.+-]+(?:;[^,]*)?,/i;function s(e){return"external"===e?.targetMode?.trim().toLowerCase()}var o;!function(e){e.OfficeDocument="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",e.FontTable="http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable",e.Image="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",e.Numbering="http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering",e.Styles="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles",e.StylesWithEffects="http://schemas.microsoft.com/office/2007/relationships/stylesWithEffects",e.Theme="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme",e.Settings="http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings",e.WebSettings="http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings",e.Hyperlink="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",e.Footnotes="http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes",e.Endnotes="http://schemas.openxmlformats.org/officeDocument/2006/relationships/endnotes",e.Footer="http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer",e.Header="http://schemas.openxmlformats.org/officeDocument/2006/relationships/header",e.ExtendedProperties="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties",e.CoreProperties="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties",e.CustomProperties="http://schemas.openxmlformats.org/package/2006/relationships/metadata/custom-properties",e.Comments="http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments",e.CommentsExtended="http://schemas.microsoft.com/office/2011/relationships/commentsExtended",e.AltChunk="http://schemas.openxmlformats.org/officeDocument/2006/relationships/aFChunk",e.Chart="http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart",e.ChartUserShapes="http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartUserShapes",e.DiagramData="http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramData",e.DiagramLayout="http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramLayout",e.DiagramQuickStyle="http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramQuickStyle",e.DiagramColors="http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramColors",e.Ink="http://schemas.microsoft.com/office/2007/relationships/ink",e.ContentPart="http://schemas.openxmlformats.org/officeDocument/2006/relationships/contentPart"}(o||(r.RelationshipTypes=o={}))},"./dark-mode-color":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.DEFAULT_DARK_MODE_BASE_L=void 0,r.getDarkModeColor=d,r.applyDarkModeToStyle=function(e,t){if(!e)return e;let r=e;for(const a in e){const n=e[a];if("string"!=typeof n||!n)continue;let s;u.has(a)||a.startsWith("--")&&a.endsWith("-color")?s=d(n,t):h.has(a)&&(s=m(n,t)),void 0!==s&&s!==n&&(r===e&&(r={...e}),r[a]=s)}return r},r.DEFAULT_DARK_MODE_BASE_L=21.247;const a=Math.pow(6/29,3);function n(e){return e>.04045?Math.pow((e+.055)/1.055,2.4):e/12.92}function s(e){const t=e>.0031308?1.055*Math.pow(e,1/2.4)-.055:12.92*e;return Math.min(Math.max(0,t),1)}const o={black:[0,0,0],blue:[0,0,255],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgray:[169,169,169],darkgrey:[169,169,169],darkgreen:[0,100,0],darkmagenta:[139,0,139],darkred:[139,0,0],darkyellow:[128,128,0],green:[0,128,0],gray:[128,128,128],grey:[128,128,128],lightgray:[211,211,211],lightgrey:[211,211,211],magenta:[255,0,255],red:[255,0,0],white:[255,255,255],yellow:[255,255,0]};function i(e){return Math.min(255,Math.max(0,e))}const l=new Map,c=/^var\(\s*(--[\w-]+)\s*,\s*([\s\S]+)\)$/i;function d(e,t=r.DEFAULT_DARK_MODE_BASE_L){if(!e)return e;const u=e.trim(),h=u.toLowerCase();if(h.startsWith("var(")){const r=c.exec(u);if(!r)return e;const a=r[2].trim(),n=d(a,t);return n===a?e:`var(${r[1]}, ${n})`}if(function(e){return""===e||"none"===e||"transparent"===e||"inherit"===e||"initial"===e||"unset"===e||"currentcolor"===e||e.startsWith("var(")||e.startsWith("color-mix(")||e.startsWith("url(")||e.startsWith("linear-gradient(")||e.startsWith("radial-gradient(")||e.startsWith("conic-gradient(")}(h))return e;const p=`${t}|${u}`,m=l.get(p);if(void 0!==m)return m;const f=function(e){const t=e.trim();if(t.startsWith("#")){const e=t.slice(1);if(3===e.length||4===e.length){const t=parseInt(e[0]+e[0],16),r=parseInt(e[1]+e[1],16),a=parseInt(e[2]+e[2],16),n=4===e.length?parseInt(e[3]+e[3],16)/255:1;return Number.isNaN(t)||Number.isNaN(r)||Number.isNaN(a)?null:{r:t,g:r,b:a,a:n}}if(6===e.length||8===e.length){const t=parseInt(e.slice(0,2),16),r=parseInt(e.slice(2,4),16),a=parseInt(e.slice(4,6),16),n=8===e.length?parseInt(e.slice(6,8),16)/255:1;return Number.isNaN(t)||Number.isNaN(r)||Number.isNaN(a)?null:{r:t,g:r,b:a,a:n}}return null}const r=/^rgba?\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)\s*(?:,\s*([\d.]+)\s*)?\)$/i.exec(t);if(r)return{r:i(parseFloat(r[1])),g:i(parseFloat(r[2])),b:i(parseFloat(r[3])),a:void 0!==r[4]?parseFloat(r[4]):1};const a=o[t.toLowerCase()];return a?{r:a[0],g:a[1],b:a[2],a:1}:null}(u);if(!f||0===f.a)return l.set(p,e),e;const[g,y,b]=function(e,t,r){const s=n(e/255),o=n(t/255),i=n(r/255);let l=100*(.4124564*s+.3575761*o+.1804375*i)/95.047,c=100*(.2126729*s+.7151522*o+.072175*i)/100,d=100*(.0193339*s+.119192*o+.9503041*i)/108.883;const u=e=>e>a?Math.cbrt(e):7.787*e+16/116;return l=u(l),c=u(c),d=u(d),[116*c-16,500*(l-c),200*(c-d)]}(f.r,f.g,f.b),x=(100-t)/100*(100-g)+t,[v,k,T]=function(e,t,r){const n=(e+16)/116,o=n-r/200,i=e=>e*e*e>a?e*e*e:(e-16/116)/7.787,l=95.047*i(n+t/500)/100,c=100*i(n)/100,d=108.883*i(o)/100,u=s(3.2404542*l+-1.5371385*c+-.4985314*d),h=s(-.969266*l+1.8760108*c+.041556*d),p=s(.0556434*l+-.2040259*c+1.0572252*d);return[Math.round(255*u),Math.round(255*h),Math.round(255*p)]}(x,y,b),w=f.a>=1?`rgb(${v}, ${k}, ${T})`:`rgba(${v}, ${k}, ${T}, ${Math.round(1e3*f.a)/1e3})`;return l.set(p,w),w}const u=new Set(["color","background-color","border-color","border-top-color","border-right-color","border-bottom-color","border-left-color","outline-color","text-decoration-color","caret-color","column-rule-color","fill","stroke"]),h=new Set(["border","border-top","border-right","border-bottom","border-left","outline","column-rule"]),p=/(var\([^)]*\)|rgba?\([^)]*\)|#[0-9a-fA-F]{3,8}|[a-zA-Z]+)\s*$/;function m(e,t){return e?e.replace(p,e=>d(e,t)):e}},"./display-address":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.createParagraphAddressResolver=function(){const e=new WeakMap,t=new WeakSet;function r(a){const n=e.get(a);if(n)return n;const s=1===a.parentNode?.nodeType?a.parentNode:null;if(!s){const t=`/${a.nodeName}`;return e.set(a,t),t}const o=r(s);if(!t.has(s)){const r=new Map;for(const e of Array.from(s.childNodes)){if(1!==e.nodeType)continue;const t=e,a=`${t.namespaceURI}|${t.localName}`,n=r.get(a)??[];n.push(t),r.set(a,n)}for(const t of r.values())t.forEach((r,a)=>{e.set(r,`${o}/${r.nodeName}${t.length>1?`[${a+1}]`:""}`)});t.add(s)}return e.get(a)}return e=>{if("p"!==e.localName||"http://schemas.openxmlformats.org/wordprocessingml/2006/main"!==e.namespaceURI)return;const t=e.getAttributeNS("http://schemas.microsoft.com/office/word/2010/wordml","paraId");return t?`p:${t}`:`xpath:${r(e)}`}}},"./document/bookmarks":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.parseBookmarkStart=function(e,t){return{type:a.DomType.BookmarkStart,id:t.attr(e,"id"),name:t.attr(e,"name"),colFirst:t.intAttr(e,"colFirst"),colLast:t.intAttr(e,"colLast")}},r.parseBookmarkEnd=function(e,t){return{type:a.DomType.BookmarkEnd,id:t.attr(e,"id")}};const a=e("./dom")},"./document/border":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.parseBorder=n,r.parseBorders=function(e,t){var r={};for(let a of t.elements(e))switch(a.localName){case"left":r.left=n(a,t);break;case"top":r.top=n(a,t);break;case"right":r.right=n(a,t);break;case"bottom":r.bottom=n(a,t)}return r};const a=e("./common");function n(e,t){return{type:t.attr(e,"val"),color:t.attr(e,"color"),size:t.lengthAttr(e,"sz",a.LengthUsage.Border),offset:t.lengthAttr(e,"space",a.LengthUsage.Point),frame:t.boolAttr(e,"frame"),shadow:t.boolAttr(e,"shadow")}}},"./document/common":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.LengthUsage=r.ns=void 0,r.convertLength=function(e,t=r.LengthUsage.Dxa){if(null==e||""===e||/.+(p[xt]|[%])$/i.test(e))return e;var n=parseFloat(e);if(Number.isNaN(n))return null;var s=n*t.mul;return null!=t.min&&null!=t.max&&(s=(0,a.clamp)(s,t.min,t.max)),`${s.toFixed(2)}${t.unit}`},r.convertBoolean=function(e,t=!1){switch(e){case"1":case"on":case"true":return!0;case"0":case"off":case"false":return!1;default:return t}},r.convertPercentage=function(e){return e?parseInt(e)/100:null},r.parseCommonProperty=function(e,t,a){if(e.namespaceURI!=r.ns.wordml)return!1;switch(e.localName){case"color":t.color=a.attr(e,"val");break;case"sz":t.fontSize=a.lengthAttr(e,"val",r.LengthUsage.FontSize);break;case"szCs":t.fontSize??(t.fontSize=a.lengthAttr(e,"val",r.LengthUsage.FontSize));break;default:return!1}return!0};const a=e("../utils");r.ns={wordml:"http://schemas.openxmlformats.org/wordprocessingml/2006/main",drawingml:"http://schemas.openxmlformats.org/drawingml/2006/main",picture:"http://schemas.openxmlformats.org/drawingml/2006/picture",wordprocessingCanvas:"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas",wordprocessingGroup:"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup",wordprocessingShape:"http://schemas.microsoft.com/office/word/2010/wordprocessingShape",chart:"http://schemas.openxmlformats.org/drawingml/2006/chart",diagram:"http://schemas.openxmlformats.org/drawingml/2006/diagram",relationship:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",drawing2014:"http://schemas.microsoft.com/office/drawing/2014/main",ink2010:"http://schemas.microsoft.com/office/2010/ink",word2010:"http://schemas.microsoft.com/office/word/2010/wordml",compatibility:"http://schemas.openxmlformats.org/markup-compatibility/2006",math:"http://schemas.openxmlformats.org/officeDocument/2006/math"},r.LengthUsage={Dxa:{mul:.05,unit:"pt"},SignedDxa:{mul:.05,unit:"pt"},Emu:{mul:1/12700,unit:"pt"},FontSize:{mul:.5,unit:"pt"},SignedHalfPoint:{mul:.5,unit:"pt"},Border:{mul:.125,unit:"pt",min:.25,max:12},Point:{mul:1,unit:"pt"},Percent:{mul:.02,unit:"%"},LineHeight:{mul:1/240,unit:""},VmlEmu:{mul:1/12700,unit:""}}},"./document/document-part":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.DocumentPart=void 0;const a=e("../common/part");class n extends a.Part{constructor(e,t,r){super(e,t),this._documentParser=r}parseXml(e){this.body=this._documentParser.parseDocumentFile(e)}}r.DocumentPart=n},"./document/document":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0})},"./document/dom":function(e,t,r){var a;Object.defineProperty(r,"__esModule",{value:!0}),r.OpenXmlElementBase=r.DomType=void 0,function(e){e.Document="document",e.Paragraph="paragraph",e.Run="run",e.Break="break",e.NoBreakHyphen="noBreakHyphen",e.Table="table",e.Row="row",e.Cell="cell",e.Hyperlink="hyperlink",e.SmartTag="smartTag",e.Drawing="drawing",e.Image="image",e.Text="text",e.Tab="tab",e.PositionalTab="positionalTab",e.SoftHyphen="softHyphen",e.Symbol="symbol",e.BookmarkStart="bookmarkStart",e.BookmarkEnd="bookmarkEnd",e.Footer="footer",e.Header="header",e.FootnoteReference="footnoteReference",e.EndnoteReference="endnoteReference",e.Footnote="footnote",e.Endnote="endnote",e.SimpleField="simpleField",e.ComplexField="complexField",e.Instruction="instruction",e.VmlPicture="vmlPicture",e.MmlMath="mmlMath",e.Shape="shape",e.MmlMathParagraph="mmlMathParagraph",e.MmlFraction="mmlFraction",e.MmlFunction="mmlFunction",e.MmlFunctionName="mmlFunctionName",e.MmlNumerator="mmlNumerator",e.MmlDenominator="mmlDenominator",e.MmlRadical="mmlRadical",e.MmlBase="mmlBase",e.MmlDegree="mmlDegree",e.MmlSuperscript="mmlSuperscript",e.MmlSubscript="mmlSubscript",e.MmlPreSubSuper="mmlPreSubSuper",e.MmlSubArgument="mmlSubArgument",e.MmlSuperArgument="mmlSuperArgument",e.MmlNary="mmlNary",e.MmlDelimiter="mmlDelimiter",e.MmlRun="mmlRun",e.MmlEquationArray="mmlEquationArray",e.MmlLimit="mmlLimit",e.MmlLimitLower="mmlLimitLower",e.MmlLimitUpper="mmlLimitUpper",e.MmlSubSuperscript="mmlSubSuperscript",e.MmlPhantom="mmlPhantom",e.MmlBorderBox="mmlBorderBox",e.MmlAccent="mmlAccent",e.MmlMatrix="mmlMatrix",e.MmlMatrixRow="mmlMatrixRow",e.MmlBox="mmlBox",e.MmlBar="mmlBar",e.MmlGroupChar="mmlGroupChar",e.VmlElement="vmlElement",e.Chart="chart",e.SmartArt="smartArt",e.Ink="ink",e.Ruby="ruby",e.RubyBase="rubyBase",e.RubyText="rubyText",e.Inserted="inserted",e.Deleted="deleted",e.DeletedText="deletedText",e.Comment="comment",e.CommentReference="commentReference",e.CommentRangeStart="commentRangeStart",e.CommentRangeEnd="commentRangeEnd",e.AltChunk="altChunk"}(a||(r.DomType=a={})),r.OpenXmlElementBase=class{constructor(){this.children=[],this.cssStyle={}}}},"./document/fields":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0})},"./document/line-spacing":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.parseLineSpacing=function(e,t){return{before:t.lengthAttr(e,"before"),after:t.lengthAttr(e,"after"),line:t.intAttr(e,"line"),lineRule:t.attr(e,"lineRule")}}},"./document/paragraph":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.parseParagraphProperties=function(e,t){let r={};for(let a of t.elements(e))i(a,r,t);return r},r.parseParagraphProperty=i,r.parseTabs=l,r.parseNumbering=c;const a=e("./common"),n=e("./section"),s=e("./line-spacing"),o=e("./run");function i(e,t,r){if(e.namespaceURI!=a.ns.wordml)return!1;if((0,a.parseCommonProperty)(e,t,r))return!0;switch(e.localName){case"tabs":t.tabs=l(e,r);break;case"sectPr":t.sectionProps=(0,n.parseSectionProperties)(e,r);break;case"numPr":t.numbering=c(e,r);break;case"spacing":return t.lineSpacing=(0,s.parseLineSpacing)(e,r),!1;case"textAlignment":return t.textAlignment=r.attr(e,"val"),!1;case"keepLines":t.keepLines=r.boolAttr(e,"val",!0);break;case"keepNext":t.keepNext=r.boolAttr(e,"val",!0);break;case"pageBreakBefore":t.pageBreakBefore=r.boolAttr(e,"val",!0);break;case"widowControl":t.widowControl=r.boolAttr(e,"val",!0);break;case"outlineLvl":t.outlineLevel=r.intAttr(e,"val");break;case"pStyle":t.styleName=r.attr(e,"val");break;case"rPr":t.runProps=(0,o.parseRunProperties)(e,r);break;default:return!1}return!0}function l(e,t){return t.elements(e,"tab").map(e=>({position:t.lengthAttr(e,"pos"),leader:t.attr(e,"leader"),style:t.attr(e,"val")}))}function c(e,t){var r={};for(let a of t.elements(e))switch(a.localName){case"numId":r.id=t.attr(a,"val");break;case"ilvl":r.level=t.intAttr(a,"val")}return r}},"./document/run":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.parseRunProperties=function(e,t){let r={};for(let a of t.elements(e))n(a,r,t);return r},r.parseRunProperty=n;const a=e("./common");function n(e,t,r){return!!(0,a.parseCommonProperty)(e,t,r)}},"./document/section":function(e,t,r){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0}),r.SectionType=void 0,r.isSectionPageBreak=function(e){return null==e||e===i.NextPage||e===i.EvenPage||e===i.OddPage},r.isSectionColumnBreak=function(e){return e===i.NextColumn},r.parseSectionProperties=function(e=null,t=n.default){const r=e?t.element(e,"pgSz"):null,a=r?t.attr(r,"orient"):null,i=function(e=null){const t="landscape"===e;return{width:(0,o.convertLength)(t?l.height:l.width),height:(0,o.convertLength)(t?l.width:l.height),orientation:e}}(a),p={top:(0,o.convertLength)(l.marginTop),right:(0,o.convertLength)(l.marginRight),bottom:(0,o.convertLength)(l.marginBottom),left:(0,o.convertLength)(l.marginLeft),header:(0,o.convertLength)(l.header),footer:(0,o.convertLength)(l.footer),gutter:(0,o.convertLength)(l.gutter)};var m={pageSize:i,pageMargins:p};if(!e)return m;for(let r of t.elements(e))switch(r.localName){case"pgSz":m.pageSize={width:t.lengthAttr(r,"w")??i.width,height:t.lengthAttr(r,"h")??i.height,orientation:a};break;case"type":m.type=t.attr(r,"val");break;case"pgMar":m.pageMargins={left:t.lengthAttr(r,"left")??p.left,right:t.lengthAttr(r,"right")??p.right,top:t.lengthAttr(r,"top")??p.top,bottom:t.lengthAttr(r,"bottom")??p.bottom,header:t.lengthAttr(r,"header")??p.header,footer:t.lengthAttr(r,"footer")??p.footer,gutter:t.lengthAttr(r,"gutter")??p.gutter};break;case"cols":m.columns=c(r,t);break;case"headerReference":(m.headerRefs??(m.headerRefs=[])).push(h(r,t));break;case"footerReference":(m.footerRefs??(m.footerRefs=[])).push(h(r,t));break;case"titlePg":m.titlePage=t.boolAttr(r,"val",!0);break;case"pgBorders":m.pageBorders=(0,s.parseBorders)(r,t);break;case"pgNumType":m.pageNumber=d(r,t);break;case"docGrid":m.docGrid=u(r,t)}return m};const n=a(e("../parser/xml-parser")),s=e("./border"),o=e("./common");var i;!function(e){e.Continuous="continuous",e.NextPage="nextPage",e.NextColumn="nextColumn",e.EvenPage="evenPage",e.OddPage="oddPage"}(i||(r.SectionType=i={}));const l={width:"11906",height:"16838",marginTop:"1440",marginRight:"1440",marginBottom:"1440",marginLeft:"1440",header:"720",footer:"720",gutter:"0"};function c(e,t){return{numberOfColumns:t.intAttr(e,"num"),space:t.lengthAttr(e,"space"),separator:t.boolAttr(e,"sep"),equalWidth:t.boolAttr(e,"equalWidth",!0),columns:t.elements(e,"col").map(e=>({width:t.lengthAttr(e,"w"),space:t.lengthAttr(e,"space")}))}}function d(e,t){return{chapSep:t.attr(e,"chapSep"),chapStyle:t.attr(e,"chapStyle"),format:t.attr(e,"fmt"),start:t.intAttr(e,"start")}}function u(e,t){const r=t.intAttr(e,"charSpace",null),a=null==r?null:r/4096;return{type:t.attr(e,"type"),linePitch:t.lengthAttr(e,"linePitch"),charSpace:null==a?null:`${a.toFixed(4)}pt`,charSpaceRaw:r}}function h(e,t){return{id:t.attr(e,"id"),type:t.attr(e,"type")}}},"./document/style":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0})},"./document-parser":function(e,t,r){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0}),r.DocumentParser=r.autos=void 0;const n=e("./document/dom"),s=e("./document/paragraph"),o=e("./document/section"),i=a(e("./parser/xml-parser")),l=e("./document/run"),c=e("./document/bookmarks"),d=e("./document/common"),u=e("./vml/vml"),h=e("./comments/elements"),p=e("./utils"),m=e("./theme/theme"),f=e("./display-address");r.autos={shd:"inherit",color:"var(--docx-auto-color, black)",borderColor:"var(--docx-auto-color, black)",highlight:"transparent"};const g=[d.ns.wordprocessingShape,d.ns.wordprocessingCanvas,d.ns.wordprocessingGroup,d.ns.drawingml,d.ns.picture],y={oMath:n.DomType.MmlMath,oMathPara:n.DomType.MmlMathParagraph,f:n.DomType.MmlFraction,func:n.DomType.MmlFunction,fName:n.DomType.MmlFunctionName,num:n.DomType.MmlNumerator,den:n.DomType.MmlDenominator,rad:n.DomType.MmlRadical,deg:n.DomType.MmlDegree,e:n.DomType.MmlBase,sSup:n.DomType.MmlSuperscript,sSub:n.DomType.MmlSubscript,sPre:n.DomType.MmlPreSubSuper,sup:n.DomType.MmlSuperArgument,sub:n.DomType.MmlSubArgument,d:n.DomType.MmlDelimiter,nary:n.DomType.MmlNary,eqArr:n.DomType.MmlEquationArray,lim:n.DomType.MmlLimit,limLow:n.DomType.MmlLimitLower,limUpp:n.DomType.MmlLimitUpper,sSubSup:n.DomType.MmlSubSuperscript,phant:n.DomType.MmlPhantom,borderBox:n.DomType.MmlBorderBox,acc:n.DomType.MmlAccent,m:n.DomType.MmlMatrix,mr:n.DomType.MmlMatrixRow,box:n.DomType.MmlBox,bar:n.DomType.MmlBar,groupChr:n.DomType.MmlGroupChar};r.DocumentParser=class{constructor(e){this.paragraphAddress=(0,f.createParagraphAddressResolver)(),this.options={ignoreWidth:!1,debug:!1,hideWebHiddenContent:!1,...e}}parseNotes(e,t,r){var a=[];for(let n of i.default.elements(e,t)){const e=new r;e.id=i.default.attr(n,"id"),e.noteType=i.default.attr(n,"type"),e.children=this.parseBodyElements(n),a.push(e)}return a}parseComments(e){var t=[];for(let r of i.default.elements(e,"comment")){const e=new h.WmlComment;e.id=i.default.attr(r,"id"),e.author=i.default.attr(r,"author"),e.initials=i.default.attr(r,"initials"),e.date=i.default.attr(r,"date"),e.children=this.parseBodyElements(r),t.push(e)}return t}parseDocumentFile(e){var t=i.default.element(e,"body"),r=i.default.element(e,"background"),a=i.default.element(t,"sectPr");return{type:n.DomType.Document,children:this.parseBodyElements(t),props:(0,o.parseSectionProperties)(a,i.default),cssStyle:r?this.parseBackground(r):{}}}parseBackground(e){var t={},a=k.colorAttr(e,"color",null,r.autos.shd);return a&&(t["background-color"]=a),t}parseBodyElements(e){var t=[];for(const r of i.default.elements(e))switch(r.localName){case"p":t.push(this.parseParagraph(r));break;case"altChunk":t.push(this.parseAltChunk(r));break;case"tbl":t.push(this.parseTable(r));break;case"sdt":t.push(...this.parseSdt(r,e=>this.parseBodyElements(e)));break;case"ins":t.push(this.parseRevision(n.DomType.Inserted,r,e=>({children:this.parseBodyElements(e)}),"insert"));break;case"del":t.push(this.parseRevision(n.DomType.Deleted,r,e=>({children:this.parseBodyElements(e)}),"delete"));break;case"moveFrom":t.push(this.parseRevision(n.DomType.Deleted,r,e=>({children:this.parseBodyElements(e)}),"move-from"));break;case"moveTo":t.push(this.parseRevision(n.DomType.Inserted,r,e=>({children:this.parseBodyElements(e)}),"move-to"))}return t}parseStylesFile(e){var t=[];for(const r of i.default.elements(e))switch(r.localName){case"style":t.push(this.parseStyle(r));break;case"docDefaults":t.push(this.parseDefaultStyles(r))}return t}parseDefaultStyles(e){var t={id:null,name:null,target:null,basedOn:null,styles:[]};for(const n of i.default.elements(e))switch(n.localName){case"rPrDefault":var r=i.default.element(n,"rPr");r&&t.styles.push({target:"span",values:this.parseDefaultProperties(r,{})});break;case"pPrDefault":var a=i.default.element(n,"pPr");a&&t.styles.push({target:"p",values:this.parseDefaultProperties(a,{})})}return t}parseStyle(e){var t={id:i.default.attr(e,"styleId"),isDefault:i.default.boolAttr(e,"default"),name:null,target:null,basedOn:null,styles:[],linked:null};switch(i.default.attr(e,"type")){case"paragraph":t.target="p";break;case"table":t.target="table";break;case"character":t.target="span"}for(const r of i.default.elements(e))switch(r.localName){case"basedOn":t.basedOn=i.default.attr(r,"val");break;case"name":t.name=i.default.attr(r,"val");break;case"link":t.linked=i.default.attr(r,"val");break;case"next":t.next=i.default.attr(r,"val");break;case"aliases":t.aliases=i.default.attr(r,"val").split(",");break;case"pPr":t.styles.push({target:"p",values:this.parseDefaultProperties(r,{})}),t.paragraphProps=(0,s.parseParagraphProperties)(r,i.default);break;case"rPr":t.styles.push({target:"span",values:this.parseDefaultProperties(r,{})}),t.runProps=(0,l.parseRunProperties)(r,i.default);break;case"tblPr":case"tcPr":t.styles.push({target:"td",values:this.parseDefaultProperties(r,{})});break;case"tblStylePr":for(let e of this.parseTableStyle(r))t.styles.push(e);break;case"rsid":case"qFormat":case"hidden":case"semiHidden":case"unhideWhenUsed":case"autoRedefine":case"uiPriority":break;default:this.options.debug&&console.warn(`DOCX: Unknown style element: ${r.localName}`)}return t}parseTableStyle(e){var t=[],r="",a="";switch(i.default.attr(e,"type")){case"firstRow":a=".first-row",r="tr.first-row td";break;case"lastRow":a=".last-row",r="tr.last-row td";break;case"firstCol":a=".first-col",r="td.first-col";break;case"lastCol":a=".last-col",r="td.last-col";break;case"band1Vert":a=":not(.no-vband)",r="td.odd-col";break;case"band2Vert":a=":not(.no-vband)",r="td.even-col";break;case"band1Horz":a=":not(.no-hband)",r="tr.odd-row";break;case"band2Horz":a=":not(.no-hband)",r="tr.even-row";break;default:return[]}for(const n of i.default.elements(e))switch(n.localName){case"pPr":t.push({target:`${r} p`,mod:a,values:this.parseDefaultProperties(n,{})});break;case"rPr":t.push({target:`${r} span`,mod:a,values:this.parseDefaultProperties(n,{})});break;case"tblPr":case"tcPr":t.push({target:r,mod:a,values:this.parseDefaultProperties(n,{})})}return t}parseNumberingFile(e){const t=[],r=[],a={},n=[],s=[];for(const t of i.default.elements(e))switch(t.localName){case"numPicBullet":r.push(this.parseNumberingPicBullet(t));break;case"abstractNum":n.push(t);break;case"num":s.push(t)}for(const e of n)a[i.default.attr(e,"abstractNumId")]=this.parseAbstractNumbering(e,r);for(const e of s){const n=i.default.attr(e,"numId"),s=(a[i.default.elementAttr(e,"abstractNumId","val")]??[]).map(e=>this.cloneNumberingLevel(e,n));for(const t of i.default.elements(e,"lvlOverride")){const e=i.default.intAttr(t,"ilvl"),a=i.default.element(t,"lvl"),o=i.default.element(t,"startOverride");let l=s.find(t=>t.level==e);if(a){l=this.parseNumberingLevel(n,a,r);const t=s.findIndex(t=>t.level==e);t>=0?s[t]=l:s.push(l)}o&&l&&(l.start=i.default.intAttr(o,"val",l.start))}t.push(...s)}return t}cloneNumberingLevel(e,t){return{...e,id:t,pStyle:{...e.pStyle},rStyle:{...e.rStyle},bullet:e.bullet?{...e.bullet}:null}}parseNumberingPicBullet(e){const t=i.default.intAttr(e,"numPicBulletId"),r=i.default.element(e,"pict"),a=r&&i.default.element(r,"shape"),n=a&&i.default.element(a,"imagedata");if(n)return{id:t,src:i.default.attr(n,"id"),style:i.default.attr(a,"style")};const s=i.default.element(e,"drawing"),o=s?this.findDescendant(s,"blip"):null;if(o){const e=s?this.findDescendant(s,"extent"):null,r=[];if(e){const t=i.default.lengthAttr(e,"cx",d.LengthUsage.Emu),a=i.default.lengthAttr(e,"cy",d.LengthUsage.Emu);t&&r.push(`width:${t};`),a&&r.push(`height:${a};`)}return{id:t,src:i.default.attr(o,"embed")??i.default.attr(o,"link"),style:r.join("")||void 0}}return null}parseAbstractNumbering(e,t){var r=[],a=i.default.attr(e,"abstractNumId");for(const n of i.default.elements(e))"lvl"===n.localName&&r.push(this.parseNumberingLevel(a,n,t));return r}parseNumberingLevel(e,t,r){var a={id:e,level:i.default.intAttr(t,"ilvl"),start:1,pStyleName:void 0,pStyle:{},rStyle:{},suff:"tab"};for(const e of i.default.elements(t))switch(e.localName){case"start":a.start=i.default.intAttr(e,"val");break;case"pPr":this.parseDefaultProperties(e,a.pStyle);break;case"rPr":this.parseDefaultProperties(e,a.rStyle);break;case"lvlPicBulletId":var n=i.default.intAttr(e,"val");a.bullet=r.find(e=>e?.id==n);break;case"lvlText":a.levelText=i.default.attr(e,"val");break;case"pStyle":a.pStyleName=i.default.attr(e,"val");break;case"numFmt":a.format=i.default.attr(e,"val");break;case"lvlRestart":a.restart=i.default.intAttr(e,"val");break;case"suff":a.suff=i.default.attr(e,"val")}return a}parseSdt(e,t){const r=i.default.element(e,"sdtContent");return r?t(r):[]}parseInserted(e,t){return this.parseRevision(n.DomType.Inserted,e,t)}parseDeleted(e,t){return this.parseRevision(n.DomType.Deleted,e,t)}parseRevision(e,t,r,a=(e==n.DomType.Inserted?"insert":"delete")){return{type:e,children:r(t)?.children??[],props:{revision:{id:i.default.attr(t,"id"),author:i.default.attr(t,"author"),date:i.default.attr(t,"date"),kind:a}}}}parseAltChunk(e){return{type:n.DomType.AltChunk,children:[],id:i.default.attr(e,"id")}}parseParagraph(e){var t={type:n.DomType.Paragraph,children:[]};this.options.exposeDisplayTargets&&(t.displayAddress=this.paragraphAddress(e));for(let r of i.default.elements(e))switch(r.localName){case"pPr":this.parseParagraphProperties(r,t);break;case"r":t.children.push(this.parseRun(r,t));break;case"hyperlink":t.children.push(this.parseHyperlink(r,t));break;case"fldSimple":t.children.push(this.parseSimpleField(r,t));break;case"smartTag":t.children.push(this.parseSmartTag(r,t));break;case"bookmarkStart":t.children.push((0,c.parseBookmarkStart)(r,i.default));break;case"bookmarkEnd":t.children.push((0,c.parseBookmarkEnd)(r,i.default));break;case"commentRangeStart":t.children.push(new h.WmlCommentRangeStart(i.default.attr(r,"id")));break;case"commentRangeEnd":t.children.push(new h.WmlCommentRangeEnd(i.default.attr(r,"id")));break;case"oMath":case"oMathPara":{const e=this.parseMathElement(r);e&&t.children.push(e);break}case"sdt":t.children.push(...this.parseSdt(r,e=>this.parseParagraph(e).children));break;case"ins":t.children.push(this.parseInserted(r,e=>this.parseParagraph(e)));break;case"del":t.children.push(this.parseDeleted(r,e=>this.parseParagraph(e)));break;case"moveFrom":t.children.push(this.parseRevision(n.DomType.Deleted,r,e=>this.parseParagraph(e),"move-from"));break;case"moveTo":t.children.push(this.parseRevision(n.DomType.Inserted,r,e=>this.parseParagraph(e),"move-to"))}return t}parseParagraphProperties(e,t){this.parseDefaultProperties(e,t.cssStyle={},null,r=>{if("rPr"==r.localName){const e=i.default.elements(r).filter(e=>"ins"==e.localName||"del"==e.localName).map(e=>this.revisionMetadata(e,"del"==e.localName?"delete":"insert"));e.length&&(t.props={...t.props??{},paragraphMarkRevisions:[...t.props?.paragraphMarkRevisions??[],...e]}),e.some(e=>"delete"==e.kind)&&(t.props={...t.props??{},deletedParagraphMark:!0});const a=t.cssStyle["background-color"];return this.parseDefaultProperties(r,t.cssStyle),null==a?delete t.cssStyle["background-color"]:t.cssStyle["background-color"]=a,(0,s.parseParagraphProperty)(r,t,i.default),!0}if("pPrChange"==r.localName)return this.addFormatRevision(t,r,"paragraph-format",e),!0;if((0,s.parseParagraphProperty)(r,t,i.default))return!0;switch(r.localName){case"pStyle":t.styleName=i.default.attr(r,"val");break;case"cnfStyle":t.className=T.classNameOfCnfStyle(r);break;case"framePr":this.parseFrame(r,t);break;default:return!1}return!0})}parseFrame(e,t){const r=i.default.attr(e,"dropCap");t.frame={dropCap:r,width:i.default.lengthAttr(e,"w"),height:i.default.lengthAttr(e,"h"),horizontalPosition:i.default.lengthAttr(e,"x"),verticalPosition:i.default.lengthAttr(e,"y"),horizontalAnchor:i.default.attr(e,"hAnchor"),verticalAnchor:i.default.attr(e,"vAnchor"),horizontalAlignment:i.default.attr(e,"xAlign"),verticalAlignment:i.default.attr(e,"yAlign"),horizontalSpace:i.default.lengthAttr(e,"hSpace"),verticalSpace:i.default.lengthAttr(e,"vSpace"),heightRule:i.default.attr(e,"hRule"),wrap:i.default.attr(e,"wrap"),lines:i.default.intAttr(e,"lines")},"drop"==r&&(t.cssStyle.float="left")}parseHyperlink(e,t){var r={type:n.DomType.Hyperlink,parent:t,children:[]};r.anchor=i.default.attr(e,"anchor"),r.id=i.default.attr(e,"id");for(const t of i.default.elements(e))"r"===t.localName&&r.children.push(this.parseRun(t,r));return r}parseSmartTag(e,t){var r={type:n.DomType.SmartTag,parent:t,children:[]},a=i.default.attr(e,"uri"),s=i.default.attr(e,"element");a&&(r.uri=a),s&&(r.element=s);for(const t of i.default.elements(e))switch(t.localName){case"r":r.children.push(this.parseRun(t,r));break;case"smartTag":r.children.push(this.parseSmartTag(t,r))}return r}parseSimpleField(e,t){const r={type:n.DomType.SimpleField,parent:t,children:[],instruction:i.default.attr(e,"instr"),lock:i.default.boolAttr(e,"lock",!1),dirty:i.default.boolAttr(e,"dirty",!1)};for(const t of i.default.elements(e))switch(t.localName){case"r":r.children.push(this.parseRun(t,r));break;case"hyperlink":r.children.push(this.parseHyperlink(t,r));break;case"smartTag":r.children.push(this.parseSmartTag(t,r));break;case"bookmarkStart":r.children.push((0,c.parseBookmarkStart)(t,i.default));break;case"bookmarkEnd":r.children.push((0,c.parseBookmarkEnd)(t,i.default));break;case"commentRangeStart":r.children.push(new h.WmlCommentRangeStart(i.default.attr(t,"id")));break;case"commentRangeEnd":r.children.push(new h.WmlCommentRangeEnd(i.default.attr(t,"id")));break;case"sdt":r.children.push(...this.parseSdt(t,e=>this.parseParagraph(e).children));break;case"ins":r.children.push(this.parseInserted(t,e=>this.parseParagraph(e)));break;case"del":r.children.push(this.parseDeleted(t,e=>this.parseParagraph(e)));break;case"moveFrom":r.children.push(this.parseRevision(n.DomType.Deleted,t,e=>this.parseParagraph(e),"move-from"));break;case"moveTo":r.children.push(this.parseRevision(n.DomType.Inserted,t,e=>this.parseParagraph(e),"move-to"))}return r}parseRun(e,t){var r={type:n.DomType.Run,parent:t,children:[]};for(let t of i.default.elements(e))if(t=this.checkAlternateContent(t),t)switch(t.localName){case"t":r.children.push({type:n.DomType.Text,text:t.textContent});break;case"delText":r.children.push({type:n.DomType.DeletedText,text:t.textContent});break;case"commentReference":r.children.push(new h.WmlCommentReference(i.default.attr(t,"id")));break;case"fldSimple":r.children.push(this.parseSimpleField(t,r));break;case"instrText":r.fieldRun=!0,r.children.push({type:n.DomType.Instruction,text:t.textContent});break;case"fldChar":r.fieldRun=!0,r.children.push({type:n.DomType.ComplexField,charType:i.default.attr(t,"fldCharType"),lock:i.default.boolAttr(t,"lock",!1),dirty:i.default.boolAttr(t,"dirty",!1)});break;case"noBreakHyphen":r.children.push({type:n.DomType.NoBreakHyphen});break;case"softHyphen":r.children.push({type:n.DomType.SoftHyphen});break;case"cr":r.children.push({type:n.DomType.Break,break:"line"});break;case"ptab":r.children.push({type:n.DomType.PositionalTab});break;case"br":r.children.push({type:n.DomType.Break,break:i.default.attr(t,"type")||"textWrapping"});break;case"lastRenderedPageBreak":r.children.push({type:n.DomType.Break,break:"lastRenderedPageBreak"});break;case"sym":r.children.push({type:n.DomType.Symbol,font:(0,p.encloseFontFamily)(i.default.attr(t,"font")),char:i.default.hexAttr(t,"char")});break;case"tab":r.children.push({type:n.DomType.Tab});break;case"footnoteReference":r.children.push({type:n.DomType.FootnoteReference,id:i.default.attr(t,"id")});break;case"endnoteReference":r.children.push({type:n.DomType.EndnoteReference,id:i.default.attr(t,"id")});break;case"drawing":let e=this.parseDrawing(t);e&&r.children.push(e);break;case"pict":case"object":r.children.push(this.parseVmlPicture(t));break;case"ruby":r.children.push(this.parseRuby(t));break;case"rPr":this.parseRunProperties(t,r)}return r}parseRuby(e){const t={type:n.DomType.Ruby,children:[]};for(const r of i.default.elements(e))switch(r.localName){case"rubyPr":for(const e of i.default.elements(r))"rubyAlign"===e.localName&&(t.align=i.default.attr(e,"val"));break;case"rt":t.children.push(this.parseRubyContent(r,n.DomType.RubyText));break;case"rubyBase":t.children.push(this.parseRubyContent(r,n.DomType.RubyBase))}return t}parseRubyContent(e,t){const r={type:t,children:[]};for(const a of i.default.elements(e))if("r"==a.localName)r.children.push(this.parseRun(a,r));else if(t==n.DomType.RubyText&&"rPr"==a.localName){const e=i.default.element(a,"hps"),t=e?i.default.intAttr(e,"val",null):null;null!=t&&(r.cssStyle={...r.cssStyle??{},fontSize:t/2+"pt"})}return r}parseMathElement(e){const t=`${e.localName}Pr`,r={type:y[e.localName],children:[]};let a=!1;const s=e=>{if(y[e.localName]){const t=this.parseMathElement(e);t?(t.parent=r,r.children.push(t)):a=!0}else if("r"==e.localName){var o=this.parseRun(e,r);o.type=n.DomType.MmlRun,r.children.push(o)}else if(e.localName==t)r.props=this.parseMathProperies(e);else if("ins"==e.localName)for(const t of i.default.elements(e))s(t);else if("del"==e.localName)if(this.options.renderChanges||null!=this.options.reviewMode)for(const t of i.default.elements(e))s(t);else a=!0};for(const t of i.default.elements(e))s(t);return a&&!this.hasVisibleMathContent(r)?null:r}hasVisibleMathContent(e){for(const t of e.children??[]){switch(t.type){case n.DomType.Text:if(t.text?.length)return!0;break;case n.DomType.DeletedText:if((this.options.renderChanges||null!=this.options.reviewMode)&&t.text?.length)return!0;break;case n.DomType.Symbol:case n.DomType.Tab:case n.DomType.PositionalTab:case n.DomType.NoBreakHyphen:case n.DomType.Break:return!0}if(this.hasVisibleMathContent(t))return!0}return!1}parseMathProperies(e){const t={};for(const r of i.default.elements(e))switch(r.localName){case"chr":t.char=i.default.attr(r,"val");break;case"vertJc":t.verticalJustification=i.default.attr(r,"val");break;case"pos":t.position=i.default.attr(r,"val");break;case"degHide":t.hideDegree=i.default.boolAttr(r,"val");break;case"begChr":t.beginChar=i.default.attr(r,"val");break;case"endChr":t.endChar=i.default.attr(r,"val");break;case"limLoc":t.limitLocation=i.default.attr(r,"val");break;case"grow":t.grow=i.default.boolAttr(r,"val");break;case"sepChr":t.separatorChar=i.default.attr(r,"val")}return t}parseRunProperties(e,t){this.parseDefaultProperties(e,t.cssStyle={},null,r=>{switch(r.localName){case"rStyle":t.styleName=i.default.attr(r,"val");break;case"vertAlign":t.verticalAlign=T.valueOfVertAlign(r,!0);break;case"rPrChange":this.addFormatRevision(t,r,"run-format",e);break;default:return!1}return!0})}parseVmlPicture(e){const t={type:n.DomType.VmlPicture,children:[]};for(const r of i.default.elements(e)){const e=(0,u.parseVmlElement)(r,this);e&&t.children.push(e)}return t}checkAlternateContent(e){if("AlternateContent"!=e.localName)return e;for(const t of i.default.elements(e).filter(e=>"Choice"==e.localName)){const r=(i.default.attr(t,"Requires")??"").split(/\s+/).filter(Boolean);if(r.length>0&&r.every(t=>g.includes(e.lookupNamespaceURI(t)))){const e=i.default.elements(t)[0];if(e)return e}}const t=i.default.element(e,"Fallback");return t?i.default.elements(t)[0]:null}parseDrawing(e){for(var t of i.default.elements(e))switch(t.localName){case"inline":case"anchor":return this.parseDrawingWrapper(t)}}parseDrawingWrapper(e){var t,r,a,s,o,l,c,u,h,p,m,f={type:n.DomType.Drawing,children:[],cssStyle:{},props:{}},g="anchor"==e.localName;const y={left:i.default.lengthAttr(e,"distL",d.LengthUsage.Emu),top:i.default.lengthAttr(e,"distT",d.LengthUsage.Emu),right:i.default.lengthAttr(e,"distR",d.LengthUsage.Emu),bottom:i.default.lengthAttr(e,"distB",d.LengthUsage.Emu)},b=(e,t)=>{t&&(f.cssStyle[e]=T.addSize(f.cssStyle[e],t))};let x=null,v=null,k=null,w=i.default.boolAttr(e,"simplePos",!1),P=i.default.boolAttr(e,"behindDoc",!1),S=i.default.intAttr(e,"relativeHeight",null);null!=S&&(f.cssStyle["z-index"]=`${Math.max(1,Math.round(S/1e3))}`),P&&(f.cssStyle["z-index"]="0");let C={relative:"page",align:"left",offset:"0"},A={relative:"page",align:"top",offset:"0"},M=!1,E=!1,N=!1;for(var D of i.default.elements(e))switch(D.localName){case"simplePos":w&&(C.offset=i.default.lengthAttr(D,"x",d.LengthUsage.Emu),A.offset=i.default.lengthAttr(D,"y",d.LengthUsage.Emu),E=null!=C.offset,N=null!=A.offset);break;case"extent":f.cssStyle.width=i.default.lengthAttr(D,"cx",d.LengthUsage.Emu),f.cssStyle.height=i.default.lengthAttr(D,"cy",d.LengthUsage.Emu);break;case"effectExtent":b("margin-left",i.default.lengthAttr(D,"l",d.LengthUsage.Emu)),b("margin-top",i.default.lengthAttr(D,"t",d.LengthUsage.Emu)),b("margin-right",i.default.lengthAttr(D,"r",d.LengthUsage.Emu)),b("margin-bottom",i.default.lengthAttr(D,"b",d.LengthUsage.Emu));break;case"docPr":f.props.title=i.default.attr(D,"title")??i.default.attr(D,"name"),f.props.alt=i.default.attr(D,"descr")??f.props.title;break;case"positionH":case"positionV":if(!w){let e="positionH"==D.localName,t=e?C:A;var $=i.default.element(D,"align"),R=i.default.element(D,"posOffset");t.relative=i.default.attr(D,"relativeFrom")??t.relative,$&&(t.align=$.textContent,e&&(M=!0)),R&&(t.offset=(0,d.convertLength)(R.textContent,d.LengthUsage.Emu),e?E=null!=t.offset:N=null!=t.offset)}break;case"wrapTopAndBottom":x="wrapTopAndBottom";break;case"wrapNone":x="wrapNone";break;case"wrapSquare":x="wrapSquare",v=i.default.attr(D,"wrapText");break;case"wrapTight":x="wrapTight",v=i.default.attr(D,"wrapText"),k=this.parseWrapPolygon(D);break;case"wrapThrough":x="wrapThrough",v=i.default.attr(D,"wrapText"),k=this.parseWrapPolygon(D);break;case"graphic":var L=this.parseGraphic(D);L&&(L.type==n.DomType.Image?((t=L).alt??(t.alt=f.props.alt),(r=L).title??(r.title=f.props.title)):L.type==n.DomType.Shape?((a=L).alt??(a.alt=f.props.alt),(s=L).title??(s.title=f.props.title)):L.type==n.DomType.Chart?((o=L).alt??(o.alt=f.props.alt),(l=L).title??(l.title=f.props.title)):L.type==n.DomType.SmartArt?((c=L).alt??(c.alt=f.props.alt),(u=L).title??(u.title=f.props.title)):L.type==n.DomType.Ink&&((h=L).alt??(h.alt=f.props.alt),(p=L).title??(p.title=f.props.title)),f.children.push(L))}f.props.anchorPosition={horizontal:{...C},vertical:{...A},wrapType:x,layoutInCell:i.default.boolAttr(e,"layoutInCell",!0),simplePos:w},"wrapNone"!=x&&(b("margin-left",y.left),b("margin-top",y.top),b("margin-right",y.right),b("margin-bottom",y.bottom));const F=()=>{switch(C.align){case"center":f.cssStyle["margin-left"]="auto",f.cssStyle["margin-right"]="auto";break;case"right":f.cssStyle["margin-left"]="auto"}};return"wrapTopAndBottom"==x?(f.cssStyle.display="block",f.cssStyle.clear="both",M?F():E&&C.offset&&(f.cssStyle["margin-inline-start"]=T.addSize(f.cssStyle["margin-inline-start"],C.offset)),N&&A.offset&&(f.cssStyle["margin-top"]=T.addSize(f.cssStyle["margin-top"],A.offset))):"wrapNone"==x?(f.cssStyle.display="block",f.cssStyle.position=g?"absolute":"relative",C.offset&&(f.cssStyle.left=C.offset),A.offset&&(f.cssStyle.top=A.offset)):"wrapSquare"==x||"wrapTight"==x||"wrapThrough"==x?(k&&(f.cssStyle["shape-outside"]=k,(m=f.cssStyle)["clip-path"]??(m["clip-path"]=k)),"left"==v?f.cssStyle.float="right":"right"==v?f.cssStyle.float="left":"left"==C.align||"right"==C.align?f.cssStyle.float=C.align:(f.cssStyle.display="block",F())):!g||"left"!=C.align&&"right"!=C.align?f.cssStyle["vertical-align"]="text-bottom":f.cssStyle.float=C.align,f}parseWrapPolygon(e){const t=i.default.element(e,"wrapPolygon");if(!t)return null;const r=[],a=e=>{const t=i.default.lengthAttr(e,"x",d.LengthUsage.Emu),a=i.default.lengthAttr(e,"y",d.LengthUsage.Emu);t&&a&&r.push(`${t} ${a}`)};for(const e of i.default.elements(t))"start"!=e.localName&&"lineTo"!=e.localName||a(e);return r.length>=3?`polygon(${r.join(", ")})`:null}parseGraphic(e){var t=i.default.element(e,"graphicData");if(!t)return null;for(let e of i.default.elements(t))switch(e.localName){case"pic":return this.parsePicture(e);case"wpc":case"wgp":case"grpSp":return this.parseDrawingContainer(e);case"wsp":case"sp":case"cxnSp":return this.parseWordprocessingShape(e);case"chart":return this.parseChartReference(e);case"relIds":case"diagram":return this.parseSmartArtReference(e);case"contentPart":case"ink":return this.parseInkReference(e)}const r=this.findDescendant(t,"contentPart");return r?this.parseInkReference(r):null}parseDrawingContainer(e,t){const r={type:n.DomType.Shape,children:[],cssStyle:{display:"inline-block",position:"relative",width:"100%",height:"100%",overflow:"visible","box-sizing":"border-box"},props:{dmlContainer:!0}},a=this.parseDmlGroupTransform(e,t);for(const t of i.default.elements(e))switch(t.localName){case"wsp":case"sp":case"cxnSp":const e=this.parseDmlPositionedShape(t,a);e&&r.children.push(e);break;case"pic":const n=this.parseDmlPositionedPicture(t,a);n&&r.children.push(n);break;case"grpSp":case"wgp":const s=this.parseDrawingContainer(t,a);s&&r.children.push(s)}return r}parseDmlGroupTransform(e,t){const r=i.default.element(e,"grpSpPr"),a=r?i.default.element(r,"xfrm"):i.default.element(e,"xfrm"),n=a?i.default.element(a,"off"):null,s=a?i.default.element(a,"ext"):null,o=a?i.default.element(a,"chOff"):null,l=a?i.default.element(a,"chExt"):null,c=s?i.default.floatAttr(s,"cx",null):null,d=s?i.default.floatAttr(s,"cy",null):null,u=l?i.default.floatAttr(l,"cx",null):null,h=l?i.default.floatAttr(l,"cy",null):null,p=t?.scaleX??1,m=t?.scaleY??1,f=n?i.default.floatAttr(n,"x",0):0,g=n?i.default.floatAttr(n,"y",0):0;return{originX:t?t.originX+(f-t.offsetX)*p:0,originY:t?t.originY+(g-t.offsetY)*m:0,offsetX:o?i.default.floatAttr(o,"x",0):0,offsetY:o?i.default.floatAttr(o,"y",0):0,scaleX:p*(c&&u?c/u:1),scaleY:m*(d&&h?d/h:1)}}parseDmlPositionedPicture(e,t){const r=this.parsePicture(e),a=i.default.element(e,"spPr");if(!r||!a)return r;const n=this.parseDmlShapeBounds(a,t);return r.cssStyle.position="absolute",r.cssStyle.left=this.pt(n.left),r.cssStyle.top=this.pt(n.top),r.cssStyle.width=this.pt(n.width),r.cssStyle.height=this.pt(n.height),r}parseDmlPositionedShape(e,t){const r=i.default.element(e,"spPr");if(!r)return null;const a=this.parseDmlShapeBounds(r,t),s=[];let o=null,l=!1;for(const t of i.default.elements(e))switch(t.localName){case"txbx":case"textBox":l=!0;for(const e of i.default.elements(t,"txbxContent"))s.push(...this.parseBodyElements(e));break;case"bodyPr":o=t}o??(o=i.default.element(e,"bodyPr"));const c={position:"absolute",left:this.pt(a.left),top:this.pt(a.top),width:this.pt(a.width),height:this.pt(a.height),"box-sizing":"border-box",overflow:"hidden"},d=i.default.element(e,"cNvPr"),u=i.default.element(r,"custGeom"),h=i.default.element(r,"prstGeom"),p=this.parseDmlFillStyle(r),m=this.parseDmlLineStyle(i.default.element(r,"ln"));if(u){const e=this.parseDmlCustomGeometry(u);return{type:n.DomType.Shape,children:[],cssStyle:{...c,overflow:"visible"},props:{dmlSvg:!0,viewBox:e?.viewBox??"0 0 1 1",pathD:e?.d??"",fill:p.fill??"none",stroke:m.stroke??"none",strokeWidth:m.strokeWidth??"0",strokeDasharray:m.strokeDasharray},title:d?i.default.attr(d,"title")??i.default.attr(d,"name"):null,alt:d?i.default.attr(d,"descr"):null}}p.backgroundColor&&(c["background-color"]=p.backgroundColor),p.backgroundImage&&(c["background-image"]=p.backgroundImage),m.stroke&&"none"!=m.stroke?c.border=`${m.strokeWidth||"0.75pt"} ${m.borderType||"solid"} ${m.stroke}`:c.border="none";const f=l?this.parseDmlTextBoxProperties(o):null;return{type:n.DomType.Shape,children:s,cssStyle:c,props:{dmlShape:!0,presetGeometry:h?i.default.attr(h,"prst"):null,...f},title:d?i.default.attr(d,"title")??i.default.attr(d,"name"):null,alt:d?i.default.attr(d,"descr"):null}}parseDmlShapeBounds(e,t){const r=i.default.element(e,"xfrm"),a=r?i.default.element(r,"off"):null,n=r?i.default.element(r,"ext"):null,s=t?.scaleX??1,o=t?.scaleY??1,l=t?.offsetX??0,c=t?.offsetY??0,d=t?.originX??0,u=t?.originY??0,h=a?i.default.floatAttr(a,"x",0):0,p=a?i.default.floatAttr(a,"y",0):0,m=n?i.default.floatAttr(n,"cx",0):0,f=n?i.default.floatAttr(n,"cy",0):0;return{left:this.emuToPt(d+(h-l)*s),top:this.emuToPt(u+(p-c)*o),width:Math.max(0,this.emuToPt(m*s)),height:Math.max(0,this.emuToPt(f*o))}}parseDmlFillStyle(e){if(i.default.element(e,"noFill"))return{fill:"none",backgroundColor:"transparent"};const t=i.default.element(e,"solidFill");if(t){const e=this.parseDmlColor(t)??"transparent";return{fill:e,backgroundColor:e}}const r=i.default.element(e,"pattFill");if(r){const e=this.parseDmlColor(i.default.element(r,"fgClr"))??"currentColor",t=this.parseDmlColor(i.default.element(r,"bgClr"))??"transparent",a=i.default.attr(r,"prst");return{fill:t,backgroundColor:t,backgroundImage:`repeating-linear-gradient(${a&&a.toLowerCase().includes("horz")?"0deg":"90deg"}, ${e} 0, ${e} 0.75pt, ${t} 0.75pt, ${t} 3pt)`}}return{fill:"none",backgroundColor:"transparent"}}parseDmlLineStyle(e){if(!e||i.default.element(e,"noFill"))return{stroke:"none",strokeWidth:"0",borderType:"none"};const t=this.parseDmlColor(i.default.element(e,"solidFill"))??"black",r=i.default.attr(e,"w")?this.pt(this.emuToPt(i.default.floatAttr(e,"w",0))):"0.75pt",a=i.default.elementAttr(e,"prstDash","val");let n=null,s="solid";return a&&"solid"!=a&&(s="dashed",n="dot"==a?"1 2":"4 3"),{stroke:t,strokeWidth:r,borderType:s,strokeDasharray:n}}parseDmlCustomGeometry(e){const t=i.default.element(e,"pathLst"),r=t?i.default.elements(t,"path"):[];let a="",n=1,s=1;for(const e of r){const t=i.default.floatAttr(e,"w",n),r=i.default.floatAttr(e,"h",s);n=Math.max(n,t||1),s=Math.max(s,r||1),a+=this.parseDmlPathData(e,t||1,r||1)}return{d:a.trim(),viewBox:`0 0 ${n} ${s}`}}parseDmlPathData(e,t,r){const a=[],n=e=>{const a=i.default.element(e,"pt");return a?`${this.dmlCoord(i.default.attr(a,"x"),t,r)} ${this.dmlCoord(i.default.attr(a,"y"),t,r)}`:"0 0"};for(const s of i.default.elements(e))switch(s.localName){case"moveTo":a.push(`M ${n(s)}`);break;case"lnTo":a.push(`L ${n(s)}`);break;case"cubicBezTo":const e=i.default.elements(s,"pt").map(e=>`${this.dmlCoord(i.default.attr(e,"x"),t,r)} ${this.dmlCoord(i.default.attr(e,"y"),t,r)}`);3==e.length&&a.push(`C ${e.join(" ")}`);break;case"quadBezTo":const o=i.default.elements(s,"pt").map(e=>`${this.dmlCoord(i.default.attr(e,"x"),t,r)} ${this.dmlCoord(i.default.attr(e,"y"),t,r)}`);2==o.length&&a.push(`Q ${o.join(" ")}`);break;case"close":a.push("Z")}return a.join(" ")+" "}dmlCoord(e,t,r){if("w"==e||"r"==e)return t;if("h"==e||"b"==e)return r;if("l"==e||"t"==e)return 0;const a=parseFloat(e);return Number.isFinite(a)?a:0}dmlVerticalAlign(e){switch(e?i.default.attr(e,"anchor"):null){case"ctr":return"center";case"b":return"flex-end";default:return"flex-start"}}applyDmlTextInsets(e,t){if(!e)return;const r={lIns:"padding-left",tIns:"padding-top",rIns:"padding-right",bIns:"padding-bottom"};for(const[a,n]of Object.entries(r)){const r=i.default.attr(e,a);null!=r&&(t[n]=this.pt(this.emuToPt(parseFloat(r))))}}parseDmlTextBoxProperties(e){const t={};return this.applyDmlTextInsets(e,t),{dmlTextBox:!0,textInsets:t,textVerticalAlign:this.dmlVerticalAlign(e)}}emuToPt(e){return(Number.isFinite(e)?e:0)/12700}pt(e){return Math.round(100*e)/100+"pt"}parseChartReference(e){return{type:n.DomType.Chart,id:i.default.attr(e,"id"),cssStyle:{width:"100%",height:"100%"}}}parseSmartArtReference(e){const t="relIds"==e.localName?e:this.findDescendant(e,"relIds");return{type:n.DomType.SmartArt,dataId:t?i.default.attr(t,"dm"):i.default.attr(e,"dm"),layoutId:t?i.default.attr(t,"lo"):i.default.attr(e,"lo"),styleId:t?i.default.attr(t,"qs"):i.default.attr(e,"qs"),colorId:t?i.default.attr(t,"cs"):i.default.attr(e,"cs"),cssStyle:{width:"100%",height:"100%"}}}parseInkReference(e){return{type:n.DomType.Ink,id:i.default.attr(e,"id"),cssStyle:{width:"100%",height:"100%"}}}parseGraphicPlaceholder(e){return{type:n.DomType.Shape,children:[{type:n.DomType.Text,text:`[${e}]`}],cssStyle:{display:"inline-flex","align-items":"center","justify-content":"center",border:"1px solid #999","background-color":"#f8f8f8",color:"#555","min-width":"2in","min-height":"1in"}}}parseWordprocessingShape(e){const t={type:n.DomType.Shape,children:[],cssStyle:{display:"inline-block",position:"relative","box-sizing":"border-box",overflow:"hidden"}},r=this.findDescendant(e,"cNvPr");let a=null,s=!1;r&&(t.title=i.default.attr(r,"title")??i.default.attr(r,"name"),t.alt=i.default.attr(r,"descr")??t.title);for(const r of i.default.elements(e))switch(r.localName){case"spPr":this.parseDmlShapeProperties(r,t.cssStyle);break;case"txbx":case"textBox":s=!0;for(const e of i.default.elements(r,"txbxContent"))t.children.push(...this.parseBodyElements(e));break;case"bodyPr":a=r}return s&&(t.props={...t.props??{},...this.parseDmlTextBoxProperties(a)}),t}parseDmlShapeProperties(e,t){const r=i.default.element(e,"xfrm");if(r)for(const e of i.default.elements(r))"ext"===e.localName&&(t.width=i.default.lengthAttr(e,"cx",d.LengthUsage.Emu),t.height=i.default.lengthAttr(e,"cy",d.LengthUsage.Emu));const a=i.default.element(e,"solidFill"),n=i.default.element(e,"noFill"),s=i.default.element(e,"ln");if(a?t["background-color"]=this.parseDmlColor(a)??t["background-color"]:n&&(t["background-color"]="transparent"),s&&i.default.element(s,"noFill"))t.border="none";else if(s){const e=this.parseDmlColor(i.default.element(s,"solidFill"))??"black",r=i.default.lengthAttr(s,"w",d.LengthUsage.Emu)??"1px",a=i.default.elementAttr(s,"prstDash","val"),n=a&&"solid"!=a?"dashed":"solid";t.border=`${r} ${n} ${e}`}}parseDmlColor(e){if(!e)return null;const t=i.default.element(e,"srgbClr"),r=i.default.element(e,"schemeClr"),a=i.default.element(e,"prstClr"),n=i.default.element(e,"sysClr");if(t)return this.applyDmlColorTransforms(t,`#${i.default.attr(t,"val")}`);if(r){const e=this.resolveDmlSchemeColor(i.default.attr(r,"val")),t=this.dmlSchemeColorFallback(e);return this.applyDmlColorTransforms(r,`var(--docx-${e}-color${t?`, ${t}`:""})`)}return n?this.applyDmlColorTransforms(n,`#${i.default.attr(n,"lastClr")??i.default.attr(n,"val")}`):a?this.applyDmlColorTransforms(a,i.default.attr(a,"val")):null}resolveDmlSchemeColor(e){switch(e){case"bg1":return"lt1";case"tx1":return"dk1";case"bg2":return"lt2";case"tx2":return"dk2";default:return e}}dmlSchemeColorFallback(e){return v(e)}applyDmlColorTransforms(e,t){const r=i.default.elementAttr(e,"lumMod","val"),a=i.default.elementAttr(e,"lumOff","val");if(null!=r){const e=Math.max(0,Math.min(100,parseFloat(r)/1e3));Number.isFinite(e)&&e<100&&(t=`color-mix(in srgb, ${t} ${e}%, black)`)}if(null!=a){const e=Math.max(0,Math.min(100,parseFloat(a)/1e3));Number.isFinite(e)&&e>0&&(t=`color-mix(in srgb, ${t} ${100-e}%, white)`)}return t}findDescendant(e,t){for(const r of i.default.elements(e)){if(r.localName==t)return r;const e=this.findDescendant(r,t);if(e)return e}return null}parsePicture(e){var t={type:n.DomType.Image,src:"",cssStyle:{}},r=i.default.element(e,"blipFill"),a=r?i.default.element(r,"blip"):null,s=r?i.default.element(r,"srcRect"):null;t.src=a?i.default.attr(a,"embed")??i.default.attr(a,"link"):"";const o=this.findDescendant(e,"cNvPr");o&&(t.title=i.default.attr(o,"title")??i.default.attr(o,"name"),t.alt=i.default.attr(o,"descr")??t.title),s&&(t.srcRect=[i.default.intAttr(s,"l",0)/1e5,i.default.intAttr(s,"t",0)/1e5,i.default.intAttr(s,"r",0)/1e5,i.default.intAttr(s,"b",0)/1e5]);var l=i.default.element(e,"spPr"),c=l?i.default.element(l,"xfrm"):null,u=[];if(t.cssStyle.display="block",t.cssStyle.position="relative",t.cssStyle["object-fit"]="contain",c)for(var h of(t.rotation=i.default.intAttr(c,"rot",0)/6e4,i.default.boolAttr(c,"flipH",!1)&&u.push("scaleX(-1)"),i.default.boolAttr(c,"flipV",!1)&&u.push("scaleY(-1)"),i.default.elements(c)))"ext"===h.localName&&(t.cssStyle.width=i.default.lengthAttr(h,"cx",d.LengthUsage.Emu),t.cssStyle.height=i.default.lengthAttr(h,"cy",d.LengthUsage.Emu));return u.length>0&&(t.cssStyle.transform=u.join(" ")),t.cssStyle.width||(t.cssStyle.width="100%"),t.cssStyle.height||(t.cssStyle.height="100%"),t}parseTable(e){var t={type:n.DomType.Table,children:[]};for(const r of i.default.elements(e))switch(r.localName){case"tr":t.children.push(this.parseTableRow(r));break;case"tblGrid":t.columns=this.parseTableColumns(r);break;case"tblPr":this.parseTableProperties(r,t)}return t}parseTableColumns(e){var t=[];for(const r of i.default.elements(e))"gridCol"===r.localName&&t.push({width:i.default.lengthAttr(r,"w")});return t}parseTableProperties(e,t){t.cssStyle={},t.cellStyle={};let r=null;switch(this.parseDefaultProperties(e,t.cssStyle,t.cellStyle,a=>{switch(a.localName){case"tblStyle":t.styleName=i.default.attr(a,"val");break;case"tblLook":t.className=T.classNameOftblLook(a);break;case"tblInd":r=this.parseTableIndentation(a);break;case"tblpPr":this.parseTablePosition(a,t);break;case"tblStyleColBandSize":t.colBandSize=i.default.intAttr(a,"val");break;case"tblStyleRowBandSize":t.rowBandSize=i.default.intAttr(a,"val");break;case"tblPrChange":this.addFormatRevision(t,a,"table-format",e);break;case"hidden":i.default.boolAttr(a,"val",!0)&&(t.cssStyle.display="none");break;default:return!1}return!0}),t.cssStyle["text-align"]){case"center":delete t.cssStyle["text-align"],t.cssStyle["margin-left"]="auto",t.cssStyle["margin-right"]="auto";break;case"right":delete t.cssStyle["text-align"],t.cssStyle["margin-left"]="auto";break;default:delete t.cssStyle["text-align"],r&&(t.cssStyle["margin-inline-start"]=T.addSize(t.cssStyle["margin-inline-start"],r))}}parseTableIndentation(e){const t=i.default.attr(e,"type");return"pct"==t||"auto"==t?null:i.default.lengthAttr(e,"w",d.LengthUsage.SignedDxa)}parseTablePosition(e,t){var r=i.default.lengthAttr(e,"topFromText"),a=i.default.lengthAttr(e,"bottomFromText"),n=i.default.lengthAttr(e,"rightFromText"),s=i.default.lengthAttr(e,"leftFromText");t.cssStyle.float="left",t.cssStyle["margin-bottom"]=T.addSize(t.cssStyle["margin-bottom"],a),t.cssStyle["margin-left"]=T.addSize(t.cssStyle["margin-left"],s),t.cssStyle["margin-right"]=T.addSize(t.cssStyle["margin-right"],n),t.cssStyle["margin-top"]=T.addSize(t.cssStyle["margin-top"],r)}parseTableRow(e){var t={type:n.DomType.Row,children:[]};for(const r of i.default.elements(e))switch(r.localName){case"tc":t.children.push(this.parseTableCell(r));break;case"trPr":case"tblPrEx":this.parseTableRowProperties(r,t)}return t.children=this.normalizeHorizontalMerges(t.children),t}normalizeHorizontalMerges(e){const t=[];for(let r=0;r<e.length;r++){const a=e[r];if("restart"!=a.horizontalMerge){t.push(a);continue}let n=a.span??1,s=r+1;for(;s<e.length&&"continue"==e[s].horizontalMerge;)n+=e[s].span??1,s++;s>r+1&&(a.span=n,r=s-1),t.push(a)}return t}parseTableRowProperties(e,t){const r={};t.cssStyle=this.parseDefaultProperties(e,r,null,a=>{switch(a.localName){case"cnfStyle":t.className=T.classNameOfCnfStyle(a);break;case"tblHeader":t.isHeader=i.default.boolAttr(a,"val");break;case"gridBefore":t.gridBefore=i.default.intAttr(a,"val");break;case"gridAfter":t.gridAfter=i.default.intAttr(a,"val");break;case"cantSplit":i.default.boolAttr(a,"val",!0)&&(r["break-inside"]="avoid");break;case"hidden":i.default.boolAttr(a,"val",!0)&&(r.display="none");break;case"ins":this.addStructuralRevision(t,a,"insert");break;case"del":this.addStructuralRevision(t,a,"delete");break;case"trPrChange":this.addFormatRevision(t,a,"row-format",e);break;default:return!1}return!0})}parseTableCell(e){var t={type:n.DomType.Cell,children:[]};for(const r of i.default.elements(e))switch(r.localName){case"tbl":t.children.push(this.parseTable(r));break;case"p":t.children.push(this.parseParagraph(r));break;case"tcPr":this.parseTableCellProperties(r,t)}return t}parseTableCellProperties(e,t){t.cssStyle=this.parseDefaultProperties(e,{},null,r=>{switch(r.localName){case"gridSpan":t.span=i.default.intAttr(r,"val",null);break;case"hMerge":t.horizontalMerge=i.default.attr(r,"val")??"continue";break;case"vMerge":t.verticalMerge=i.default.attr(r,"val")??"continue";break;case"cnfStyle":t.className=T.classNameOfCnfStyle(r);break;case"tcPrChange":this.addFormatRevision(t,r,"cell-format",e);break;default:return!1}return!0});const r=i.default.element(e,"tcBorders");if(r){const e={};for(const t of i.default.elements(r))"tl2br"!==t.localName&&"tr2bl"!==t.localName||(e[t.localName]=T.valueOfBorder(t));Object.keys(e).length&&(t.props={...t.props,diagonalBorders:e})}this.parseTableCellVerticalText(e,t)}addStructuralRevision(e,t,r){e.props={...e.props??{},revision:this.revisionMetadata(t,r)}}addFormatRevision(e,t,r,a){const n=i.default.elements(t)[0],s=this.captureFormatProperties(n),o=this.captureFormatProperties(a),l=[...new Set([...Object.keys(s),...Object.keys(o)])].sort().filter(e=>s[e]!==o[e]).map(e=>({property:e,before:s[e],after:o[e]})),c={...this.revisionMetadata(t,r),formatChanges:l},d=[...e.props?.formatRevisions??[],c];e.props={...e.props??{},formatRevisions:d}}captureFormatProperties(e){const t={};if(!e)return t;for(const r of i.default.elements(e))/PrChange$/.test(r.localName)||(t[r.localName]=this.serializeFormatProperty(r));return t}serializeFormatProperty(e){return[...Array.from(e.attributes??[]).map(e=>[e.localName||e.name,e.value]).sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>`${e}=${t}`),...i.default.elements(e).map(e=>`${e.localName}{${this.serializeFormatProperty(e)}}`)].join("|")||"true"}revisionMetadata(e,t){return{id:i.default.attr(e,"id"),author:i.default.attr(e,"author"),date:i.default.attr(e,"date"),kind:t}}parseTableCellVerticalText(e,t){const r={btLr:{writingMode:"vertical-rl",transform:"rotate(180deg)"},lrTb:{writingMode:"vertical-lr",transform:"none"},tbRl:{writingMode:"vertical-rl",transform:"none"}};for(const a of i.default.elements(e))if("textDirection"===a.localName){const e=r[i.default.attr(a,"val")]||{writingMode:"horizontal-tb"};t.cssStyle["writing-mode"]=e.writingMode,t.cssStyle.transform=e.transform}}parseDefaultProperties(e,t=null,a=null,n=null){t=t||{};const s=i.default.element(e,"lang"),o={latin:s?i.default.attr(s,"val"):"",eastAsia:s?i.default.attr(s,"eastAsia"):"",bidi:s?i.default.attr(s,"bidi"):""};for(const s of i.default.elements(e))if(!n?.(s))switch(s.localName){case"jc":t["text-align"]=T.valueOfJc(s);break;case"textAlignment":t["vertical-align"]=T.valueOfTextAlignment(s);break;case"color":t.color=k.colorAttr(s,"val",null,r.autos.color);break;case"sz":t["font-size"]=t["min-height"]=i.default.lengthAttr(s,"val",d.LengthUsage.FontSize);break;case"szCs":t["font-size"]??(t["font-size"]=i.default.lengthAttr(s,"val",d.LengthUsage.FontSize)),t["min-height"]??(t["min-height"]=t["font-size"]);break;case"shd":t["background-color"]=k.colorAttr(s,"fill",null,r.autos.shd);break;case"highlight":t["background-color"]=k.colorAttr(s,"val",null,r.autos.highlight);break;case"vertAlign":t["vertical-align"]=T.valueOfVertAlign(s);break;case"position":t["vertical-align"]=i.default.lengthAttr(s,"val",d.LengthUsage.SignedHalfPoint);break;case"w":case"scale":const n=i.default.intAttr(s,"val",100);Number.isFinite(n)&&n>0&&n<=600&&(t["--docx-text-scale"]=""+n/100);break;case"tcW":if(this.options.ignoreWidth)break;case"tblW":t.width=T.valueOfSize(s,"w");break;case"trHeight":this.parseTrHeight(s,t);break;case"strike":t["text-decoration"]=i.default.boolAttr(s,"val",!0)?"line-through":"none";break;case"dstrike":i.default.boolAttr(s,"val",!0)?(t["text-decoration-line"]="line-through",t["text-decoration-style"]="double"):t["text-decoration"]="none";break;case"b":t["font-weight"]=i.default.boolAttr(s,"val",!0)?"bold":"normal";break;case"i":t["font-style"]=i.default.boolAttr(s,"val",!0)?"italic":"normal";break;case"bCs":t["--docx-bidi-font-weight"]=i.default.boolAttr(s,"val",!0)?"bold":"normal","rtl"==t.direction&&(t["font-weight"]=t["--docx-bidi-font-weight"]);break;case"iCs":t["--docx-bidi-font-style"]=i.default.boolAttr(s,"val",!0)?"italic":"normal","rtl"==t.direction&&(t["font-style"]=t["--docx-bidi-font-style"]);break;case"caps":t["text-transform"]=i.default.boolAttr(s,"val",!0)?"uppercase":"none";break;case"smallCaps":t["font-variant"]=i.default.boolAttr(s,"val",!0)?"small-caps":"none";break;case"rtl":i.default.boolAttr(s,"val",!0)&&(t.direction="rtl",t["unicode-bidi"]="embed",t["--docx-bidi-font-weight"]&&(t["font-weight"]=t["--docx-bidi-font-weight"]),t["--docx-bidi-font-style"]&&(t["font-style"]=t["--docx-bidi-font-style"]));break;case"outline":i.default.boolAttr(s,"val",!0)&&(t["-webkit-text-stroke"]="0.5px currentColor");break;case"shadow":i.default.boolAttr(s,"val",!0)&&(t["text-shadow"]="1px 1px 0 currentColor");break;case"emboss":i.default.boolAttr(s,"val",!0)&&(t["text-shadow"]="-1px -1px 0 rgba(255,255,255,.75), 1px 1px 0 rgba(0,0,0,.35)");break;case"imprint":i.default.boolAttr(s,"val",!0)&&(t["text-shadow"]="1px 1px 0 rgba(255,255,255,.75), -1px -1px 0 rgba(0,0,0,.35)");break;case"em":t["text-emphasis-style"]=T.valueOfEmphasisMark(s);break;case"u":this.parseUnderline(s,t);break;case"ind":case"tblInd":this.parseIndentation(s,t);break;case"rFonts":this.parseFont(s,t,o);break;case"tblBorders":this.parseBorderProperties(s,a||t);break;case"tblCellSpacing":t["border-spacing"]=T.valueOfMargin(s),t["border-collapse"]="separate";break;case"pBdr":this.parseBorderProperties(s,t);break;case"bdr":t.border=T.valueOfBorder(s);break;case"tcBorders":this.parseBorderProperties(s,t);break;case"vanish":i.default.boolAttr(s,"val",!0)&&(t.display="none");break;case"kern":t["font-kerning"]=i.default.intAttr(s,"val",0)>0?"normal":"none";break;case"noWrap":t["white-space"]=i.default.boolAttr(s,"val",!0)?"nowrap":"normal";break;case"snapToGrid":t["--docx-snap-to-grid"]=i.default.boolAttr(s,"val",!0)?"1":"0";break;case"fitText":this.parseFitText(s,t);break;case"eastAsianLayout":this.parseEastAsianLayout(s,t);break;case"tblCellMar":case"tcMar":this.parseMarginProperties(s,a||t);break;case"tblLayout":t["table-layout"]=T.valueOfTblLayout(s);break;case"vAlign":t["vertical-align"]=T.valueOfTextAlignment(s);break;case"spacing":"pPr"==e.localName?this.parseSpacing(s,t):"rPr"==e.localName&&(t["letter-spacing"]=i.default.lengthAttr(s,"val",d.LengthUsage.SignedDxa));break;case"wordWrap":i.default.boolAttr(s,"val")&&(t["overflow-wrap"]="break-word");break;case"suppressAutoHyphens":t.hyphens=i.default.boolAttr(s,"val",!0)?"none":"auto";break;case"lang":t.$lang=i.default.attr(s,"val"),t["$lang-eastAsia"]=i.default.attr(s,"eastAsia"),t["$lang-bidi"]=i.default.attr(s,"bidi");break;case"rtl":case"bidi":i.default.boolAttr(s,"val",!0)&&(t.direction="rtl");break;case"pageBreakBefore":i.default.boolAttr(s,"val",!0)&&(t["break-before"]="page");break;case"keepLines":i.default.boolAttr(s,"val",!0)&&(t["break-inside"]="avoid");break;case"keepNext":i.default.boolAttr(s,"val",!0)&&(t["break-after"]="avoid");break;case"widowControl":i.default.boolAttr(s,"val",!0)&&(t.orphans="2",t.widows="2");break;case"webHidden":this.options.hideWebHiddenContent&&i.default.boolAttr(s,"val",!0)&&(t.display="none");break;case"specVanish":i.default.boolAttr(s,"val",!0)&&(t.display="none");break;case"tabs":case"outlineLvl":case"contextualSpacing":case"tblStyleColBandSize":case"tblStyleRowBandSize":case"suppressLineNumbers":case"noProof":break;default:this.options.debug&&console.warn(`DOCX: Unknown document element: ${e.localName}.${s.localName}`)}return t}parseFitText(e,t){const r=i.default.lengthAttr(e,"val");r&&(t.display="inline-block",t.width=r,t["text-align"]="justify",t["text-align-last"]="justify")}parseEastAsianLayout(e,t){i.default.boolAttr(e,"combine",!1)&&(t["text-combine-upright"]="all"),i.default.boolAttr(e,"vert",!1)&&(t["writing-mode"]="vertical-rl"),i.default.boolAttr(e,"vertCompress",!1)&&(t["font-stretch"]="condensed")}parseUnderline(e,t){var r=i.default.attr(e,"val");if(null!=r){switch(r){case"dash":case"dashDotDotHeavy":case"dashDotHeavy":case"dashedHeavy":case"dashLong":case"dashLongHeavy":case"dotDash":case"dotDotDash":t["text-decoration"]="underline dashed";break;case"dotted":case"dottedHeavy":t["text-decoration"]="underline dotted";break;case"double":t["text-decoration"]="underline double";break;case"single":case"thick":case"words":t["text-decoration"]="underline";break;case"wave":case"wavyDouble":case"wavyHeavy":t["text-decoration"]="underline wavy";break;case"none":t["text-decoration"]="none"}var a=k.colorAttr(e,"color");a&&(t["text-decoration-color"]=a)}}parseFont(e,t,r={}){var a=i.default.attr(e,"ascii"),n=i.default.attr(e,"hAnsi"),s=i.default.attr(e,"eastAsia"),o=i.default.attr(e,"cs"),l=T.themeValue(e,"asciiTheme"),c=T.themeValue(e,"hAnsiTheme"),d=this.scriptThemeFontValue(T.themeValue(e,"eastAsiaTheme"),r.eastAsia),u=this.scriptThemeFontValue(T.themeValue(e,"cstheme")??T.themeValue(e,"csTheme"),r.bidi);const h=(0,m.themeScriptForLanguage)(r.eastAsia),f=(e,t="")=>(0,p.isEastAsianFontFamily)(e)?(0,p.eastAsianFontFamilyStack)(e,t):[(0,p.encloseFontFamily)(e)];var g=[a,n].filter(e=>e).flatMap(e=>f(e,h));if(g.push(...[l,c].filter(e=>e).map(e=>e.startsWith("var(")?e:(0,p.encloseFontFamily)(e))),s&&g.push(...(0,p.eastAsianFontFamilyStack)(s,h)),d&&g.push(d.startsWith("var(")?d:(0,p.encloseFontFamily)(d)),o&&g.push(...f(o,(0,m.themeScriptForLanguage)(r.bidi))),u&&g.push(u.startsWith("var(")?u:(0,p.encloseFontFamily)(u)),g.length>0){const e=(t["font-family"]??"").split(",").map(e=>e.trim()).filter(e=>e);t["font-family"]=[...new Set([...e,...g])].join(", ")}}scriptThemeFontValue(e,t){if(!e)return e;const r=(0,m.themeScriptForLanguage)(t),a=/^var\((--docx-(?:major|minor)(?:EastAsia|Bidi|Cs)-font)\)$/.exec(e);return r&&a?`var(${a[1]}-${r}, ${e})`:e}parseIndentation(e,t){var r=i.default.lengthAttr(e,"firstLine"),a=i.default.lengthAttr(e,"hanging"),n=i.default.lengthAttr(e,"left"),s=i.default.lengthAttr(e,"start"),o=i.default.lengthAttr(e,"right"),l=i.default.lengthAttr(e,"end");r&&(t["text-indent"]=r,t["--docx-text-indent"]=r),a&&(t["text-indent"]=`-${a}`,t["--docx-text-indent"]=`-${a}`,t["--docx-hanging-indent"]=a),(n||s)&&(t["margin-inline-start"]=n||s,t["--docx-margin-inline-start"]=n||s),(o||l)&&(t["margin-inline-end"]=o||l,t["--docx-margin-inline-end"]=o||l)}parseSpacing(e,t){var r=i.default.lengthAttr(e,"before"),a=i.default.lengthAttr(e,"after"),n=i.default.intAttr(e,"beforeLines",null),s=i.default.intAttr(e,"afterLines",null),o=i.default.boolAttr(e,"beforeAutospacing",!1),l=i.default.boolAttr(e,"afterAutospacing",!1),c=i.default.intAttr(e,"line",null),d=i.default.attr(e,"lineRule");if(o?t["margin-top"]="auto":null!=n?t["margin-top"]=`${(n/100).toFixed(2)}em`:r&&(t["margin-top"]=r),l?t["margin-bottom"]="auto":null!=s?t["margin-bottom"]=`${(s/100).toFixed(2)}em`:a&&(t["margin-bottom"]=a),null!==c)switch(d??"auto"){case"auto":default:t["line-height"]=`${(c/240).toFixed(2)}`;break;case"atLeast":t["line-height"]=`max(1.2em, ${(c/20).toFixed(2)}pt)`,t["min-height"]=`max(1.2em, ${(c/20).toFixed(2)}pt)`;break;case"exact":case"exactly":t["line-height"]=t["min-height"]=`${(c/20).toFixed(2)}pt`}}parseMarginProperties(e,t){for(const r of i.default.elements(e))switch(r.localName){case"left":case"start":t["padding-left"]=T.valueOfMargin(r);break;case"right":case"end":t["padding-right"]=T.valueOfMargin(r);break;case"top":t["padding-top"]=T.valueOfMargin(r);break;case"bottom":t["padding-bottom"]=T.valueOfMargin(r)}}parseTrHeight(e,t){i.default.attr(e,"hRule"),t.height=i.default.lengthAttr(e,"val")}parseBorderProperties(e,t){for(const r of i.default.elements(e)){const e=T.valueOfBorder(r);switch(r.localName){case"start":case"left":t["border-left"]=e;break;case"end":case"right":t["border-right"]=e;break;case"top":t["border-top"]=e;break;case"bottom":t["border-bottom"]=e;break;case"insideH":t["border-top"]??(t["border-top"]=e),t["border-bottom"]??(t["border-bottom"]=e);break;case"insideV":t["border-left"]??(t["border-left"]=e),t["border-right"]??(t["border-right"]=e)}}}};const b=["black","blue","cyan","darkBlue","darkCyan","darkGray","darkGreen","darkMagenta","darkRed","darkYellow","green","lightGray","magenta","none","red","white","yellow"],x={dark1:"dk1",light1:"lt1",dark2:"dk2",light2:"lt2",text1:"dk1",background1:"lt1",text2:"dk2",background2:"lt2",hyperlink:"hlink",followedHyperlink:"folHlink"};function v(e){switch(e){case"dk1":return"#000000";case"lt1":return"#FFFFFF";case"dk2":return"#44546A";case"lt2":return"#E7E6E6";case"accent1":return"#4472C4";case"accent2":return"#ED7D31";case"accent3":return"#A5A5A5";case"accent4":return"#FFC000";case"accent5":return"#5B9BD5";case"accent6":return"#70AD47";case"hlink":return"#0563C1";case"folHlink":return"#954F72";default:return null}}class k{static colorAttr(e,t,a=null,n=r.autos.color){var s=i.default.attr(e,t);if(s)return"auto"==s?n:b.includes(s)?s:`#${s}`;var o,l=i.default.attr(e,"themeColor");if(l){const e=x[o=l]??o,t=v(e);return`var(--docx-${e}-color${t?`, ${t}`:""})`}return a}}class T{static themeValue(e,t){var r=i.default.attr(e,t);return r?`var(--docx-${r}-font)`:null}static valueOfSize(e,t){var r=d.LengthUsage.Dxa;switch(i.default.attr(e,"type")){case"dxa":break;case"pct":r=d.LengthUsage.Percent;break;case"auto":return"auto"}return i.default.lengthAttr(e,t,r)}static valueOfMargin(e){return i.default.lengthAttr(e,"w")}static valueOfBorder(e){var t=T.parseBorderType(i.default.attr(e,"val"));if("none"==t)return"none";var a=k.colorAttr(e,"color",r.autos.borderColor,r.autos.borderColor);return`${i.default.lengthAttr(e,"sz",d.LengthUsage.Border)??"1pt"} ${t} ${"auto"==a?r.autos.borderColor:a}`}static parseBorderType(e){switch(e){case"single":case"dashDotStroked":case"thick":case"thickThinLargeGap":case"thickThinMediumGap":case"thickThinSmallGap":case"thinThickLargeGap":case"thinThickMediumGap":case"thinThickSmallGap":case"thinThickThinLargeGap":case"thinThickThinMediumGap":case"thinThickThinSmallGap":case"threeDEmboss":case"threeDEngrave":case"wave":return"solid";case"dashed":case"dashSmallGap":return"dashed";case"dotDash":case"dotDotDash":case"dotted":return"dotted";case"double":case"doubleWave":case"triple":return"double";case"inset":return"inset";case"nil":case"none":return"none";case"outset":return"outset"}return"solid"}static valueOfTblLayout(e){return"fixed"==(i.default.attr(e,"type")??i.default.attr(e,"val"))?"fixed":"auto"}static classNameOfCnfStyle(e){const t=i.default.attr(e,"val");return["first-row","last-row","first-col","last-col","odd-col","even-col","odd-row","even-row","ne-cell","nw-cell","se-cell","sw-cell"].filter((e,r)=>"1"==t[r]).join(" ")}static valueOfJc(e){var t=i.default.attr(e,"val");switch(t){case"start":case"left":return"left";case"center":return"center";case"end":case"right":return"right";case"both":return"justify"}return t}static valueOfVertAlign(e,t=!1){var r=i.default.attr(e,"val");switch(r){case"subscript":return"sub";case"superscript":return t?"sup":"super"}return t?null:r}static valueOfEmphasisMark(e){switch(i.default.attr(e,"val")){case"none":return"none";case"comma":return'"﹐"';case"circle":return"circle";default:return"dot"}}static valueOfTextAlignment(e){var t=i.default.attr(e,"val");switch(t){case"auto":case"baseline":return"baseline";case"top":return"top";case"center":return"middle";case"bottom":return"bottom"}return t}static addSize(e,t){return e&&"0.00pt"!=e&&"0px"!=e?t&&"0.00pt"!=t&&"0px"!=t?`calc(${e} + ${t})`:e:t}static classNameOftblLook(e){const t=i.default.hexAttr(e,"val",0);let r="";return(i.default.boolAttr(e,"firstRow")||32&t)&&(r+=" first-row"),(i.default.boolAttr(e,"lastRow")||64&t)&&(r+=" last-row"),(i.default.boolAttr(e,"firstColumn")||128&t)&&(r+=" first-col"),(i.default.boolAttr(e,"lastColumn")||256&t)&&(r+=" last-col"),(i.default.boolAttr(e,"noHBand")||512&t)&&(r+=" no-hband"),(i.default.boolAttr(e,"noVBand")||1024&t)&&(r+=" no-vband"),r.trim()}}},"./document-props/core-props-part":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.CorePropsPart=void 0;const a=e("../common/part"),n=e("./core-props");class s extends a.Part{parseXml(e){this.props=(0,n.parseCoreProps)(e,this._package.xmlParser)}}r.CorePropsPart=s},"./document-props/core-props":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.parseCoreProps=function(e,t){const r={};for(let a of t.elements(e))switch(a.localName){case"title":r.title=a.textContent;break;case"description":r.description=a.textContent;break;case"subject":r.subject=a.textContent;break;case"creator":r.creator=a.textContent;break;case"keywords":r.keywords=a.textContent;break;case"language":r.language=a.textContent;break;case"lastModifiedBy":r.lastModifiedBy=a.textContent;break;case"revision":a.textContent&&(r.revision=parseInt(a.textContent))}return r}},"./document-props/custom-props-part":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.CustomPropsPart=void 0;const a=e("../common/part"),n=e("./custom-props");class s extends a.Part{parseXml(e){this.props=(0,n.parseCustomProps)(e,this._package.xmlParser)}}r.CustomPropsPart=s},"./document-props/custom-props":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.parseCustomProps=function(e,t){return t.elements(e,"property").map(e=>{const r=e.firstChild;return{formatId:t.attr(e,"fmtid"),name:t.attr(e,"name"),type:r.nodeName,value:r.textContent}})}},"./document-props/extended-props-part":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.ExtendedPropsPart=void 0;const a=e("../common/part"),n=e("./extended-props");class s extends a.Part{parseXml(e){this.props=(0,n.parseExtendedProps)(e,this._package.xmlParser)}}r.ExtendedPropsPart=s},"./document-props/extended-props":function(e,t,r){function a(e){if(void 0!==e)return parseInt(e)}Object.defineProperty(r,"__esModule",{value:!0}),r.parseExtendedProps=function(e,t){const r={};for(let n of t.elements(e))switch(n.localName){case"Template":r.template=n.textContent;break;case"Pages":r.pages=a(n.textContent);break;case"Words":r.words=a(n.textContent);break;case"Characters":r.characters=a(n.textContent);break;case"Application":r.application=n.textContent;break;case"Lines":r.lines=a(n.textContent);break;case"Paragraphs":r.paragraphs=a(n.textContent);break;case"Company":r.company=n.textContent;break;case"AppVersion":r.appVersion=n.textContent}return r}},"./docx-preview-worker":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0});const a=e("./word-document"),n=e("./document-parser"),s=e("./input-validation"),o=self;function i(e,t,r={}){o.postMessage({id:e,type:t,...r})}o.onmessage=async e=>{const t=e.data;if(!t||"parse"!==t.type)return;const r=t.id;try{const e={...t.options,useWorker:!1,h:void 0,progress:void 0};(0,s.assertNonEmptyDocxInput)(t.data),i(r,"progress",{current:1,total:3,message:"Loading package relationships"});const o=await a.WordDocument.load(t.data,new n.DocumentParser(e),e);i(r,"progress",{current:2,total:3,message:"Serializing parsed document model"});const l=await o.createSnapshot();i(r,"progress",{current:3,total:3,message:"Worker parse complete"}),i(r,"parsed",{snapshot:l})}catch(e){i(r,"error",{error:{message:e?.message??`${e}`,stack:e?.stack}})}}},"./docx-preview":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.defaultOptions=r.setDocxReviewMode=r.resolveDocxReviewState=r.collectDocxReviewChanges=void 0,r.parseAsync=p,r.renderDocument=f,r.renderAsync=async function(e,t,r,a){const n=u(a);(0,i.assertViewerLicense)("docx",n.licenseToken);const s=await p(e,n);h(s,n,a);const o=await f(s,n);r??(r=t),r===t||r.replaceChildren(),t.replaceChildren();let l=0;for(let e of o)("STYLE"===e.nodeName?r:t).appendChild(e),l++,n.renderYieldEveryMs>0&&l%8==0&&await C();(function(e){const t=g.get(e);t&&e.removeEventListener("click",t);const r=t=>{const r=t;if(r.defaultPrevented||0!=r.button||r.metaKey||r.ctrlKey||r.shiftKey||r.altKey)return;const a=r.target;if(!(a instanceof Element))return;const n=a.closest('a[href^="#"]');if(!n||!e.contains(n))return;const s=n.getAttribute("href");if(!s||"#"==s)return;let o=s.substring(1);try{o=decodeURIComponent(o)}catch{return}const i=Array.from(e.querySelectorAll("[id]")).find(e=>e.id==o);i&&(r.preventDefault(),i.scrollIntoView({block:"start",inline:"nearest"}))};e.addEventListener("click",r),g.set(e,r)})(t),(0,c.isReviewPreviewEnabled)(n)?(t.dataset.docxReviewEnabled="true",t.dataset.docxReviewMode=(0,c.resolveReviewMode)(n)):(delete t.dataset.docxReviewEnabled,delete t.dataset.docxReviewMode),k(t,n.className),w(t,n.className);let d=null;return n.awaitLayout&&(n.progress?.({phase:"layout",message:"Measuring rendered pages"}),d=await v(t,n),w(t,n.className)),n.progress?.({phase:"done",current:d?.pageCount,total:d?.pageCount,message:"DOCX render complete"}),s},r.parseAsyncInWorker=x,r.awaitRenderedLayout=v,r.collectLayoutSnapshot=T,r.syncNumberingMarkerStyles=w,r.yieldToBrowser=C;const a=e("./word-document"),n=e("./document-parser"),s=e("./html-renderer"),o=e("./html"),i=e("./license-gate"),l=e("./input-validation"),c=e("./review");var d=e("./review");function u(e){const t={...r.defaultOptions,...e};return null!=e?.reviewMode&&null==e.renderComments&&(t.renderComments=!0),t}function h(e,t,r){if("auto"!==t.reviewMode)return t;const a=(0,c.resolveDocxReviewState)(e,"auto");return t.reviewMode=a.enabled?a.mode:void 0,t.renderChanges=a.enabled,null==r?.renderComments&&(t.renderComments=a.enabled),t}function p(e,t){const r=u(t);return(0,i.assertViewerLicense)("docx",r.licenseToken),(0,l.assertNonEmptyDocxInput)(e),function(e){return!(!e.useWorker||!e.workerFactory&&!e.workerUrl||"undefined"==typeof Worker)}(r)?x(e,r).catch(t=>{if(!r.workerFallback)throw t;r.debug&&console.warn("docx-preview: worker parsing failed; falling back to main thread",t);const a={...r,useWorker:!1};return m(e,a)}):m(e,r)}function m(e,t){return(0,l.assertNonEmptyDocxInput)(e),t.progress?.({phase:"parse",message:"Parsing DOCX on main thread"}),a.WordDocument.load(e,new n.DocumentParser(t),t)}async function f(e,t){const r=h(e,u(t),t);(0,i.assertViewerLicense)("docx",r.licenseToken);const a=new s.HtmlRenderer;return await a.render(e,r)}Object.defineProperty(r,"collectDocxReviewChanges",{enumerable:!0,get:function(){return d.collectDocxReviewChanges}}),Object.defineProperty(r,"resolveDocxReviewState",{enumerable:!0,get:function(){return d.resolveDocxReviewState}}),Object.defineProperty(r,"setDocxReviewMode",{enumerable:!0,get:function(){return d.setDocxReviewMode}}),r.defaultOptions={ignoreHeight:!1,ignoreWidth:!1,fixedPageHeight:!0,ignoreFonts:!1,breakPages:!0,strictWordCompatibility:!0,paginationTolerance:2,maxDynamicPaginationPasses:1e3,awaitLayout:!0,useWorker:!0,workerUrl:void 0,workerFactory:void 0,workerJsZipUrl:void 0,workerFallback:!0,workerTimeout:12e4,renderPageBatchSize:2,renderYieldEveryMs:16,progress:void 0,preserveComplexFieldResults:!0,updatePageReferences:!1,hideWebHiddenContent:!1,externalLinkPolicy:"allow",externalResourcePolicy:"block",darkMode:!1,debug:!1,experimental:!1,className:"docx",inWrapper:!0,hideWrapperOnPrint:!1,trimXmlDeclaration:!0,ignoreLastRenderedPageBreak:!1,renderHeaders:!0,renderFooters:!0,renderFootnotes:!0,renderEndnotes:!0,useBase64URL:!1,renderChanges:!1,reviewMode:void 0,renderComments:!1,renderAltChunks:!0,h:o.h};const g=new WeakMap;function y(e){const{h:t,progress:r,licenseToken:a,workerFactory:n,...s}=e;return{...s,useWorker:!1}}let b=0;function x(e,t){const n={...r.defaultOptions,...t};return(0,i.assertViewerLicense)("docx",n.licenseToken),(0,l.assertNonEmptyDocxInput)(e),!n.workerFactory&&!n.workerUrl||"undefined"==typeof Worker?m(e,{...n,useWorker:!1}):(n.progress?.({phase:"worker",message:"Starting DOCX parse worker"}),new Promise((t,r)=>{const s=++b,o=n.workerFactory?n.workerFactory():new Worker(n.workerUrl);let i=!1,l=null;const c=()=>{i=!0,l&&clearTimeout(l),o.terminate()};n.workerTimeout>0&&(l=setTimeout(()=>{i||(c(),r(new Error(`docx-preview worker timed out after ${n.workerTimeout}ms`)))},n.workerTimeout)),o.onerror=e=>{i||(c(),r(new Error(e.message||"docx-preview worker error")))},o.onmessage=e=>{const o=e.data??{};if(o.id===s||"ready"===o.type)if("progress"!==o.type){if("parsed"===o.type)return c(),n.progress?.({phase:"worker",message:"Worker parse complete"}),void t(a.WordDocument.fromSnapshot(o.snapshot,n));if("error"===o.type){c();const e=new Error(o.error?.message??"docx-preview worker parse failed");e.stack=o.error?.stack,r(e)}}else n.progress?.({phase:"worker",current:o.current,total:o.total,message:o.message})},o.postMessage({type:"parse",id:s,data:e,options:y(n),jsZipUrl:n.workerJsZipUrl})}))}async function v(e,t){const a={...r.defaultOptions,...t};await async function(e){const t=Array.from(e.querySelectorAll("img"));await Promise.allSettled(t.map(e=>e.complete?Promise.resolve():new Promise(t=>{e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})})))}(e),document.fonts?.ready&&await document.fonts.ready;const n=e.querySelector(`.${a.className}-wrapper`);if(a.breakPages&&a.fixedPageHeight&&!a.ignoreHeight&&n){const e=Math.max(2,a.maxDynamicPaginationPasses??120);for(let t=0;t<e&&(await C(),"true"!==n.dataset.docxPaginated)&&("true"===n.dataset.docxPaginating||"true"===n.dataset.docxPaginationScheduled);t++);}return await C(),k(e,a.className),T(e,a)}function k(e,t){const r=Array.from(e.querySelectorAll('[data-docx-anchor-context="paragraph"]'));for(const e of r){const r=e.closest(`section.${t}`);if(!r)continue;const a=r.getBoundingClientRect(),n=e.getBoundingClientRect();e.style.setProperty("--docx-paragraph-page-offset-top",n.top-a.top+"px"),e.style.setProperty("--docx-paragraph-page-offset-left",n.left-a.left+"px")}}function T(e,t){const a={...r.defaultOptions,...t},n=Array.from(e.querySelectorAll(`section.${a.className}`)).map((e,t)=>{const r=Array.from(e.querySelectorAll("[data-docx-field-instr]")),n=Array.from(e.querySelectorAll("img")).filter(e=>!e.complete||0===e.naturalWidth).length,s=e.clientHeight>0&&e.scrollHeight>e.clientHeight+(a.paginationTolerance??2);return{index:t+1,section:e.dataset.docxSection??"",pageNumber:parseInt(e.dataset.docxPageNumber??`${t+1}`,10),sectionPageNumber:parseInt(e.dataset.docxSectionPageNumber??"1",10),width:e.clientWidth,height:e.clientHeight,scrollHeight:e.scrollHeight,overflow:s,textLength:e.textContent?.length??0,anchors:Array.from(e.querySelectorAll("[id]")).map(e=>e.id).filter(Boolean),fields:r.map(e=>({instruction:e.dataset.docxFieldInstr??"",value:e.textContent??""})),floats:e.querySelectorAll('[data-docx-float="true"]').length,unresolvedMedia:n}});return{pageCount:n.length,overflowPages:n.filter(e=>e.overflow).map(e=>e.index),unresolvedMedia:n.reduce((e,t)=>e+t.unresolvedMedia,0),textLength:n.reduce((e,t)=>e+t.textLength,0),fields:n.flatMap(e=>e.fields),floats:n.reduce((e,t)=>e+t.floats,0),pages:n}}function w(e,t="docx"){if(!e||"function"!=typeof getComputedStyle)return;const r=Array.from(e.querySelectorAll("p")),a=`${t}-num-`;for(const e of r){if(!e.className?.includes(a))continue;const t=getComputedStyle(e,"::before");if(!t.content||"none"==t.content||"normal"==t.content)continue;const r=P(e);if(!r||r==e)continue;const n=getComputedStyle(r);S(e,"--docx-marker-font-family",n.fontFamily),S(e,"--docx-marker-font-size",n.fontSize),S(e,"--docx-marker-font-style",n.fontStyle),S(e,"--docx-marker-font-weight",n.fontWeight)}}function P(e){const t=document.createTreeWalker(e,NodeFilter.SHOW_TEXT);for(;t.nextNode();){const r=t.currentNode;if(!r.nodeValue?.trim())continue;const a=r.parentElement;if(!a||a==e)return e;const n=getComputedStyle(a);if("none"!=n.display&&"hidden"!=n.visibility)return a}return null}function S(e,t,r){r&&e.style.setProperty(t,r)}function C(){return new Promise(e=>{const t=globalThis;"function"==typeof t.requestIdleCallback?t.requestIdleCallback(()=>e(),{timeout:32}):"function"==typeof t.requestAnimationFrame?t.requestAnimationFrame(()=>e()):setTimeout(e,0)})}},"./font-table/font-table":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.FontTablePart=void 0;const a=e("../common/part"),n=e("./fonts");class s extends a.Part{parseXml(e){this.fonts=(0,n.parseFonts)(e,this._package.xmlParser)}}r.FontTablePart=s},"./font-table/fonts":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.parseFonts=function(e,t){return t.elements(e).map(e=>n(e,t))},r.parseFont=n,r.parseEmbedFontRef=s;const a={embedRegular:"regular",embedBold:"bold",embedItalic:"italic",embedBoldItalic:"boldItalic"};function n(e,t){let r={name:t.attr(e,"name"),embedFontRefs:[]};for(let a of t.elements(e))switch(a.localName){case"family":r.family=t.attr(a,"val");break;case"altName":r.altName=t.attr(a,"val");break;case"embedRegular":case"embedBold":case"embedItalic":case"embedBoldItalic":r.embedFontRefs.push(s(a,t))}return r}function s(e,t){return{id:t.attr(e,"id"),key:t.attr(e,"fontKey"),type:a[e.localName]}}},"./header-footer/elements":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.WmlFooter=r.WmlHeader=void 0;const a=e("../document/dom");class n extends a.OpenXmlElementBase{constructor(){super(...arguments),this.type=a.DomType.Header}}r.WmlHeader=n;class s extends a.OpenXmlElementBase{constructor(){super(...arguments),this.type=a.DomType.Footer}}r.WmlFooter=s},"./header-footer/parts":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.FooterPart=r.HeaderPart=r.BaseHeaderFooterPart=void 0;const a=e("../common/part"),n=e("./elements");class s extends a.Part{constructor(e,t,r){super(e,t),this._documentParser=r}parseXml(e){this.rootElement=this.createRootElement(),this.rootElement.children=this._documentParser.parseBodyElements(e)}}r.BaseHeaderFooterPart=s,r.HeaderPart=class extends s{createRootElement(){return new n.WmlHeader}},r.FooterPart=class extends s{createRootElement(){return new n.WmlFooter}}},"./html-renderer":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.HtmlRenderer=void 0;const a=e("./table-diagonals"),n=e("./document/dom"),s=e("./utils"),o=e("./javascript"),i=e("./document/section"),l=e("./dark-mode-color"),c=e("./theme/theme"),d=e("./html"),u=e("./parser/xml-parser"),h=e("./review"),p=e("./security/links"),m=e("./security/trusted-types");function f(e){return e>="0"&&e<="9"}function g(e){if(!e)return!1;const t=e.charCodeAt(0);return t>=65&&t<=90||t>=97&&t<=122||t>=913&&t<=1023||t>=119808&&t<=120831}function y(e){return"()+-−=<>≤≥≈≠×÷*/·∙∑Σ∏∫√∞∂∇,.;:[]{}|‖!′″→←↔⇒⇔∈∉⊂⊃⊆⊇∧∨¬".includes(e)}r.HtmlRenderer=class{constructor(){this.className="docx",this.styleMap={},this.currentPart=null,this.currentSectionProps=null,this.currentPageNumber=1,this.currentSectionNumber=1,this.currentSectionPageNumber=1,this.totalPages=1,this.sectionPageCount=1,this.tableVerticalMerges=[],this.currentVerticalMerge=null,this.tableCellPositions=[],this.currentCellPosition=null,this.currentTableRow=null,this.footnoteMap={},this.endnoteMap={},this.currentEndnoteIds=[],this.usedHederFooterParts=[],this.currentTabs=[],this.currentParagraph=null,this.currentParagraphTabIndex=0,this.currentParagraphTabCount=0,this.commentMap={},this.bookmarkTextMap={},this.bookmarkIdToName={},this.tocEntries=[],this.fieldSeqCounters={},this.fieldSetValues={},this.headingIndex=0,this.tasks=[],this.postRenderTasks=[],this.h=d.h,this.darkModeVarNames=new Map,this.darkModePrintReset={}}async render(e,t){this.document=e,this.options=t,this.className=t.className,this.rootSelector=t.inWrapper?`.${this.className}-wrapper`:":root",this.h=t.h??d.h,this.styleMap=null,this.tasks=[],this.postRenderTasks=[],this.currentTabs=[],this.fieldSeqCounters={},this.fieldSetValues={},this.headingIndex=0,this.darkModeVarNames=new Map,this.darkModePrintReset={},this.options.renderComments&&globalThis.Highlight&&(this.commentHighlight=new Highlight);const r=[...this.renderDefaultStyle()];e.themePart&&r.push(...this.renderTheme(e.themePart)),null!=e.stylesPart&&(this.styleMap=this.processStyles(e.stylesPart.styles),r.push(...this.renderStyles(e.stylesPart.styles))),e.numberingPart&&(this.prodessNumberings(e.numberingPart.domNumberings),r.push(...await this.renderNumbering(e.numberingPart.domNumberings))),e.footnotesPart&&(this.footnoteMap=(0,s.keyBy)(e.footnotesPart.notes,e=>e.id)),e.endnotesPart&&(this.endnoteMap=(0,s.keyBy)(e.endnotesPart.notes,e=>e.id)),e.settingsPart&&(this.defaultTabSize=e.settingsPart.settings?.defaultTabStop),!t.ignoreFonts&&e.fontTablePart&&r.push(...await this.renderFontTable(e.fontTablePart));var a=await this.renderSections(e.documentPart.body);if(this.options.inWrapper){const e=this.renderWrapper(a);r.push(e),this.shouldRunDynamicPagination()&&this.scheduleDynamicPagination(e)}else r.push(...a);return r.push(...this.renderDarkModePrintReset()),this.commentHighlight&&t.renderComments&&CSS.highlights.set(`${this.className}-comments`,this.commentHighlight),await Promise.allSettled(this.tasks),this.postRenderTasks.forEach(e=>e()),this.refreshTabStops(),r}renderTheme(e){const t={},r=e.theme?.fontScheme,a=this.documentThemeLanguages();r&&(r.majorFont&&(t["--docx-majorHAnsi-font"]=this.themeFontFamily(r.majorFont,"latin",a.latin),t["--docx-majorEastAsia-font"]=this.themeFontFamily(r.majorFont,"eastAsia",a.eastAsia),t["--docx-majorBidi-font"]=this.themeFontFamily(r.majorFont,"complexScript",a.bidi),t["--docx-majorCs-font"]=t["--docx-majorBidi-font"],this.addThemeScriptFontVariables(t,"major",r.majorFont)),r.minorFont&&(t["--docx-minorHAnsi-font"]=this.themeFontFamily(r.minorFont,"latin",a.latin),t["--docx-minorEastAsia-font"]=this.themeFontFamily(r.minorFont,"eastAsia",a.eastAsia),t["--docx-minorBidi-font"]=this.themeFontFamily(r.minorFont,"complexScript",a.bidi),t["--docx-minorCs-font"]=t["--docx-minorBidi-font"],this.addThemeScriptFontVariables(t,"minor",r.minorFont)));const n=e.theme?.colorScheme,s=[];if(n)for(let[e,r]of Object.entries(n.colors)){const a=`--docx-${e}-color`;t[a]=`#${r}`,s.push(a)}let o=this.styleToString(`.${this.className}`,t);if(this.options.darkMode&&s.length){const e=s.map(e=>` ${e}: ${t[e]};\r\n`).join("");o+=`@media print {\r\n.${this.className} {\r\n${e}}\r\n}\r\n`}return[this.h({tagName:"#comment",children:["docxjs document theme values"]}),this.h({tagName:"style",children:[o]})]}documentThemeLanguages(){const e={latin:"",eastAsia:"",bidi:""},t=(this.document.stylesPart?.styles??[]).filter(e=>null==e.id||e.isDefault&&"span"==e.target).flatMap(e=>e.styles??[]).find(e=>"span"==e.target),r=t?.values??{};return e.latin=r.$lang??"",e.eastAsia=r["$lang-eastAsia"]??e.latin,e.bidi=r["$lang-bidi"]??e.latin,e}addThemeScriptFontVariables(e,t,r){const a=new Set(["Hans","Hant","Jpan","Hang"]);for(const n of Object.keys(r.scriptTypefaces??{})){const s=a.has(n)?"eastAsia":"complexScript",o=this.themeFontFamily(r,s,"",n);e[`--docx-${t}EastAsia-font-${n}`]=o,e[`--docx-${t}Bidi-font-${n}`]=o,e[`--docx-${t}Cs-font-${n}`]=o}}themeFontFamily(e,t,r,a=""){const n="latin"==t?e.latinTypeface:"eastAsia"==t?e.eaTypeface:e.csTypeface,o=a||(0,c.themeScriptForLanguage)(r),i=o?e.scriptTypefaces?.[o]:"",l=n?.trim()||i?.trim()||e.latinTypeface?.trim();if(!l)return"eastAsia"==t?"sans-serif":"serif";const d=[(0,s.encloseFontFamily)(l)];return"eastAsia"==t&&d.push(...(0,s.eastAsianFontFamilyStack)(l,o).slice(1)),[...new Set(d)].join(", ")}async renderFontTable(e){const t=[];for(let r of e.fonts)for(let e of r.embedFontRefs)try{const a=await this.document.loadFont(e.id,e.key),n={"font-family":(0,s.encloseFontFamily)(r.name),src:`url(${a})`};"bold"!=e.type&&"boldItalic"!=e.type||(n["font-weight"]="bold"),"italic"!=e.type&&"boldItalic"!=e.type||(n["font-style"]="italic"),t.push(this.h({tagName:"#comment",children:[`docxjs ${r.name} font`]})),t.push(this.h({tagName:"style",children:[this.styleToString("@font-face",n)]}))}catch(t){this.options.debug&&console.warn(`Can't load font with id ${e.id} and key ${e.key}`)}return t}processStyleName(e){return e?`${this.className}_${(0,s.escapeClassName)(e)}`:this.className}processStyles(e){const t=(0,s.keyBy)(e.filter(e=>null!=e.id),e=>e.id);for(const a of e.filter(e=>e.basedOn)){var r=t[a.basedOn];if(r){a.paragraphProps=(0,s.mergeDeep)({},r.paragraphProps,a.paragraphProps),a.runProps=(0,s.mergeDeep)({},r.runProps,a.runProps);for(const e of r.styles){const t=a.styles.find(t=>t.target==e.target);t?this.copyStyleProperties(e.values,t.values):a.styles.push({...e,values:{...e.values}})}}else this.options.debug&&console.warn(`Can't find base style ${a.basedOn}`)}for(let t of e)t.cssName=this.processStyleName(t.id);return t}prodessNumberings(e){for(let t of e.filter(e=>e.pStyleName)){const e=this.findStyle(t.pStyleName);e?.paragraphProps?.numbering&&(e.paragraphProps.numbering.level=t.level)}}processElement(e){if(e&&e.children)for(var t of e.children)t.parent=e,t.type==n.DomType.Table?this.processTable(t):this.processElement(t)}processTable(e){const t=e.children??[];let r=e.columns?.length??0;for(const e of t){let t=e.gridBefore??0;for(const r of e.children??[])t+=r.span??1;r=Math.max(r,t+(e.gridAfter??0))}const a=Math.max(e.rowBandSize??1,1),n=Math.max(e.colBandSize??1,1);t.forEach((s,o)=>{0==o&&this.appendClassName(s,"first-row"),o==t.length-1&&this.appendClassName(s,"last-row"),this.appendClassName(s,Math.floor(o/a)%2==0?"odd-row":"even-row");let i=s.gridBefore??0;for(const t of s.children??[]){t.cssStyle=this.copyStyleProperties(e.cellStyle,t.cssStyle,["border-left","border-right","border-top","border-bottom","padding-left","padding-right","padding-top","padding-bottom"]);const a=t.span??1,s=i+a-1;0==i&&this.appendClassName(t,"first-col"),r>0&&s>=r-1&&this.appendClassName(t,"last-col"),this.appendClassName(t,Math.floor(i/n)%2==0?"odd-col":"even-col"),this.processElement(t),i+=a}})}collectDocumentMetadata(e){this.bookmarkTextMap={},this.bookmarkIdToName={},this.tocEntries=[];const t={},r=e=>{if(e.type!=n.DomType.Deleted||(0,h.reviewModeShowsDeletions)((0,h.resolveReviewMode)(this.options))){switch(e.type){case n.DomType.BookmarkStart:{const r=e;r.id&&r.name&&(this.bookmarkIdToName[r.id]=r.name,t[r.id]=[]);break}case n.DomType.BookmarkEnd:{const r=e,a=this.bookmarkIdToName[r.id];a&&t[r.id]&&(this.bookmarkTextMap[a]=t[r.id].join("").trim(),delete t[r.id]);break}case n.DomType.Text:for(const r of Object.keys(t))t[r].push(e.text??"");break;case n.DomType.DeletedText:if((0,h.reviewModeShowsDeletions)((0,h.resolveReviewMode)(this.options)))for(const r of Object.keys(t))t[r].push(e.text??"")}for(const t of e.children??[])r(t)}};for(const t of e.children??[])r(t);for(const[e,r]of Object.entries(t)){const t=this.bookmarkIdToName[e];t&&(this.bookmarkTextMap[t]=r.join("").trim())}for(const t of e.children??[])this.collectTocEntries(t)}collectTocEntries(e){if(e.type!=n.DomType.Deleted||(0,h.reviewModeShowsDeletions)((0,h.resolveReviewMode)(this.options))){if(e.type==n.DomType.Paragraph){const t=e,r=this.findStyle(t.styleName),a=this.extractText(t).trim();let n=t.outlineLevel??r?.paragraphProps?.outlineLevel;if(null==n&&t.styleName){const e=/heading(\d+)|(?:^|[-_ ])h(\d+)$/i.exec(t.styleName);e&&(n=parseInt(e[1]??e[2],10)-1)}if(a&&null!=n&&n>=0&&n<9){const e=this.findFirstBookmark(t),r=e?.name&&!e.name.startsWith("_")?e.name:`${this.className}-heading-${++this.headingIndex}`;t.props={...t.props??{},anchorId:r},this.tocEntries.push({level:n+1,text:a,id:r})}}for(const t of e.children??[])this.collectTocEntries(t)}}findFirstBookmark(e){if(e.type==n.DomType.BookmarkStart)return e;for(const t of e.children??[]){const e=this.findFirstBookmark(t);if(e)return e}return null}extractText(e){switch(e.type){case n.DomType.Text:return e.text??"";case n.DomType.DeletedText:return(0,h.reviewModeShowsDeletions)((0,h.resolveReviewMode)(this.options))?e.text??"":"";case n.DomType.Deleted:return(0,h.reviewModeShowsDeletions)((0,h.resolveReviewMode)(this.options))?(e.children??[]).map(e=>this.extractText(e)).join(""):"";case n.DomType.Inserted:return"original"==(0,h.resolveReviewMode)(this.options)?"":(e.children??[]).map(e=>this.extractText(e)).join("");case n.DomType.Tab:case n.DomType.PositionalTab:return"\t";case n.DomType.NoBreakHyphen:return"‑";case n.DomType.SoftHyphen:return"";case n.DomType.Break:return"\n";case n.DomType.Instruction:case n.DomType.ComplexField:return""}return(e.children??[]).map(e=>this.extractText(e)).join("")}appendClassName(e,t){e.className=(0,d.cx)(e.className,t)}copyStyleProperties(e,t,r=null){if(!e)return t;for(var a of(null==t&&(t={}),null==r&&(r=Object.getOwnPropertyNames(e)),r))e.hasOwnProperty(a)&&!t.hasOwnProperty(a)&&(t[a]=e[a]);return t}createPageElement(e,t,r){const a={...r};let n=null,s=null;if(t){if(t.pageMargins&&(a.paddingLeft=this.addSize(t.pageMargins.left,t.pageMargins.gutter),a.paddingRight=t.pageMargins.right,a.paddingTop=t.pageMargins.top,a.paddingBottom=t.pageMargins.bottom),t.pageSize){let e=t.pageSize.width,r=t.pageSize.height;if("landscape"==t.pageSize.orientation){const t=this.parseCssLengthValue(e),a=this.parseCssLengthValue(r);null!=t&&null!=a&&t<a&&([e,r]=[r,e])}n=e,s=r,this.options.ignoreWidth||(a.width=e),(!this.options.ignoreHeight||!this.options.breakPages)&&(a.minHeight=r,!this.options.ignoreHeight&&this.options.breakPages&&this.options.fixedPageHeight&&(a.height=r))}t.pageBorders&&(this.applyPageBorder(a,"top",t.pageBorders.top),this.applyPageBorder(a,"right",t.pageBorders.right),this.applyPageBorder(a,"bottom",t.pageBorders.bottom),this.applyPageBorder(a,"left",t.pageBorders.left))}const o=this.h({tagName:"section",className:e,style:a});return a.paddingLeft&&this.setCssStyle(o,"--docx-page-padding-left",a.paddingLeft),a.paddingTop&&this.setCssStyle(o,"--docx-page-padding-top",a.paddingTop),n&&this.setCssStyle(o,"--docx-page-width",n),s&&this.setCssStyle(o,"--docx-page-height",s),o}addSize(e,t){return e?t&&"0.00pt"!=t&&"0px"!=t?`calc(${e} + ${t})`:e:t}parseCssLengthValue(e){if(!e)return null;const t=/^(-?\d+(?:\.\d+)?)/.exec(e);return t?parseFloat(t[1]):null}applyPageBorder(e,t,r){if(!r)return;const a=this.borderTypeToCss(r.type);e[`border-${t}`]="none"==a?"none":`${r.size??"1px"} ${a} ${this.borderColor(r.color)}`}borderTypeToCss(e){switch(e){case"nil":case"none":return"none";case"double":case"triple":return"double";case"dashed":case"dashSmallGap":return"dashed";case"dotted":case"dotDash":case"dotDotDash":return"dotted"}return"solid"}borderColor(e){return e&&"auto"!=e?/^[0-9a-f]{6}$/i.test(e)?`#${e}`:e:"var(--docx-auto-color, black)"}createSectionContent(e){const t={},r=e.columns?.numberOfColumns??e.columns?.columns?.length,a="linesAndChars"==e.docGrid?.type||"snapToChars"==e.docGrid?.type;return e.docGrid&&(e.docGrid.linePitch&&(t["--docx-doc-grid-line-pitch"]=e.docGrid.linePitch),a&&e.docGrid.charSpace&&(t.letterSpacing=e.docGrid.charSpace)),this.document.settingsPart?.settings?.kinsoku&&(t.lineBreak="strict",t.wordBreak="keep-all"),this.document.settingsPart?.settings?.overflowPunctuation&&(t.hangingPunctuation="allow-end"),this.document.settingsPart?.settings?.topLinePunctuation&&(t["text-spacing-trim"]="space-start"),(this.document.settingsPart?.settings?.autoSpaceDE||this.document.settingsPart?.settings?.autoSpaceDN)&&(t["text-autospace"]=[this.document.settingsPart?.settings?.autoSpaceDE?"ideograph-alpha":null,this.document.settingsPart?.settings?.autoSpaceDN?"ideograph-numeric":null].filter(Boolean).join(" ")),e.columns&&r&&(t.columnCount=`${r}`,t.columnGap=e.columns.space,!e.columns.equalWidth&&e.columns.columns?.length>0&&(t.columnWidth=e.columns.columns[0].width,t.columnGap=e.columns.columns[0].space??t.columnGap),e.columns.separator&&(t.columnRule="1px solid black")),this.h({tagName:"article",style:t})}async renderSections(e){const t=[];this.processElement(e),this.collectDocumentMetadata(e);const r=this.splitBySection(this.reviewParagraphs(e.children),e.props),a=this.groupByPageBreaks(r);let n=null,s=0,o=0;const i=new Map,l=new Map,c=new Map,d=new Map,u=e=>{if(!c.has(e)){const t=++o;c.set(e,`${this.className}-section-${t}`),d.set(e,t)}};for(const e of a){const t=e[0].sectProps;u(t),i.set(t,(i.get(t)??0)+1)}this.totalPages=a.length;for(let r=0,o=a.length;r<o;r++){this.currentFootnoteIds=[];let p=a[r][0].sectProps;u(p);const m=n!=p;s=m&&null!=p?.pageNumber?.start?p.pageNumber.start:s+1,this.currentPageNumber=s,this.currentSectionNumber=d.get(p)??1,this.currentSectionProps=p,this.currentSectionPageNumber=(l.get(p)??0)+1,this.sectionPageCount=i.get(p)??1,l.set(p,this.currentSectionPageNumber);const f=this.createPageElement(this.className,p,e.cssStyle);f.dataset.docxSection=c.get(p),f.dataset.docxSectionNumber=`${this.currentSectionNumber}`,f.dataset.docxSectionPageNumber=`${this.currentSectionPageNumber}`,f.dataset.docxSectionPageCount=`${this.sectionPageCount}`,f.dataset.docxPageNumber=`${s}`,m&&null!=p?.pageNumber?.start&&(f.dataset.docxPageStart=`${p.pageNumber.start}`),this.options.renderHeaders&&this.renderHeaderFooter(p.headerRefs,p,s,m,f);for(const e of a[r]){this.currentSectionProps=e.sectProps;var h=this.createSectionContent(e.sectProps);e.columnBreak&&(h.style.breakBefore="column"),this.renderElements(e.elements,h),f.appendChild(h),p=e.sectProps}if(this.options.renderFootnotes){const e=this.renderNotes(this.currentFootnoteIds,this.footnoteMap,this.document.footnotesPart);e&&f.appendChild(e)}if(this.options.renderEndnotes&&r==o-1){const e=this.renderNotes(this.currentEndnoteIds,this.endnoteMap,this.document.endnotesPart);e&&f.appendChild(e)}this.currentSectionProps=p,this.options.renderFooters&&this.renderHeaderFooter(p.footerRefs,p,s,m,f),t.push(f),await this.yieldDuringRender(r+1,o),n=p}return t}renderHeaderFooter(e,t,r,a,s){if(!e)return;const o=!!this.document.settingsPart?.settings?.evenAndOddHeaders,i=e.find(e=>"default"==e.type);var l=(t.titlePage&&a?e.find(e=>"first"==e.type):null)??(o&&r%2==0?e.find(e=>"even"==e.type):null)??i,c=l&&this.document.findPartByRelId(l.id,this.document.documentPart);if(c?.rootElement){this.currentPart=c,this.usedHederFooterParts.includes(c.path)||(this.processElement(c.rootElement),this.usedHederFooterParts.push(c.path));const[e]=this.renderElements([c.rootElement],s);t?.pageMargins&&(c.rootElement.type===n.DomType.Header?(e.style.marginTop=`calc(${t.pageMargins.header} - ${t.pageMargins.top})`,e.style.minHeight=`calc(${t.pageMargins.top} - ${t.pageMargins.header})`):c.rootElement.type===n.DomType.Footer&&(e.style.marginBottom=`calc(${t.pageMargins.footer} - ${t.pageMargins.bottom})`,e.style.minHeight=`calc(${t.pageMargins.bottom} - ${t.pageMargins.footer})`)),this.currentPart=null}else c&&this.options.debug&&console.warn(`docx-preview: skipping ${c.path} because its parsed root element is missing`)}isPageBreakElement(e){return e.type==n.DomType.Break&&("lastRenderedPageBreak"==e.break?!this.options.ignoreLastRenderedPageBreak:"page"==e.break)}isPageBreakSection(e,t){return!(!e||!t||e.pageSize?.orientation==t.pageSize?.orientation&&e.pageSize?.width==t.pageSize?.width&&e.pageSize?.height==t.pageSize?.height)}splitBySection(e,t){let r={sectProps:null,elements:[],pageBreak:!1,columnBreak:!1,startsAfterExplicitPageBreak:!1},a=[r];const s=(e=!1,t=!1,n=!1)=>{if(0==r.elements.length&&null==r.sectProps)return r.pageBreak||(r.pageBreak=e),void(r.columnBreak||(r.columnBreak=t));r.pageBreak||(r.pageBreak=e),r.columnBreak||(r.columnBreak=t),r={sectProps:null,elements:[],pageBreak:!1,columnBreak:!1,startsAfterExplicitPageBreak:n},a.push(r)};for(let t of e){if(t.type!=n.DomType.Paragraph){if(t.type==n.DomType.Table)for(const e of this.splitTableByPageBreaks(t))e.table.children?.length&&r.elements.push(e.table),e.breakAfter&&s(!0,!1,!0);else r.elements.push(t);continue}const e=t,a=this.findStyle(e.styleName),o=e.pageBreakBefore??a?.paragraphProps?.pageBreakBefore;this.options.breakPages&&o&&r.elements.length>0&&s(!0,!1,!0);const l=this.splitParagraphByPageBreaks(e);for(const e of l)r.elements.push(e.paragraph),e.breakAfter&&s(!0,!1,!0);e.sectionProps&&(r.sectProps=e.sectionProps,s((0,i.isSectionPageBreak)(e.sectionProps.type),(0,i.isSectionColumnBreak)(e.sectionProps.type)))}if(a=a.filter(e=>e.elements.length>0),0==a.length)return[{sectProps:t,elements:[],pageBreak:!1,columnBreak:!1}];let o=null;for(let e=a.length-1;e>=0;e--)null==a[e].sectProps?a[e].sectProps=o??t:o=a[e].sectProps;return a}hasPageBreakElement(e){return!!this.isPageBreakElement(e)||(e.children?.some(e=>this.hasPageBreakElement(e))??!1)}splitTableByPageBreaks(e){if(!this.options.breakPages||!e.children?.length)return[{table:e,breakAfter:!1}];if(!e.children.some(e=>this.hasPageBreakElement(e)))return[{table:e,breakAfter:!1}];const t=e.children,r=[];for(const e of t){if(!e.isHeader)break;r.push(e)}const a=[];let n=[];const s=t=>{if(0==n.length&&a.length>0)return;const s=a.length>0;let o=n;s&&r.length>0&&!n.some(e=>e.isHeader)&&(o=[...r,...n]),a.push({table:{...e,children:o},breakAfter:t}),n=[]};for(const e of t)n.push(e),this.hasPageBreakElement(e)&&s(!0);return s(!1),a.length>0?a:[{table:e,breakAfter:!1}]}splitElementByPageBreaks(e){if(this.isPageBreakElement(e))return[{breakAfter:!0}];if(!e.children?.length)return[{element:e}];const t=[];let r={...e,children:[]};const a=()=>{r.children.length>0&&t.push({element:r}),r={...e,children:[]}};for(const n of e.children)for(const e of this.splitElementByPageBreaks(n))e.element&&r.children.push(e.element),e.breakAfter&&(a(),t.push({breakAfter:!0}));return a(),t.length>0?t:[{element:e}]}splitParagraphByPageBreaks(e){if(!this.options.breakPages||!e.children?.length)return[{paragraph:e,breakAfter:!1}];const t=[];let r={...e,children:[]};const a=a=>{(r.children.length>0||0==t.length)&&t.push({paragraph:r,breakAfter:a}),r={...e,sectionProps:null,children:[]}};for(const t of e.children)for(const e of this.splitElementByPageBreaks(t))e.element&&r.children.push(e.element),e.breakAfter&&a(!0);(r.children.length>0||0==t.length)&&t.push({paragraph:r,breakAfter:!1});const n=t[t.length-1]?.paragraph;for(const e of t)e.paragraph!=n&&(e.paragraph.sectionProps=null);return t}styleValuesForTarget(e,t){return e?.styles?.find(e=>e.target==t)?.values}styleValue(e,t,r){return this.styleValuesForTarget(e,t)?.[r]}effectiveParagraphCssValue(e,t,r){return e.cssStyle?.[r]??this.styleValue(t,"p",r)}isInsideTableCell(e){for(let t=e.parent;t;t=t.parent)if(t.type==n.DomType.Cell)return!0;return!1}paragraphUsesDocumentGrid(e,t){const r=this.currentSectionProps?.docGrid?.linePitch;if(!r)return!1;if(this.isInsideTableCell(e)&&!this.document.settingsPart?.settings?.adjustLineHeightInTable)return!1;const a=this.effectiveParagraphCssValue(e,t,"--docx-snap-to-grid");return null==a||!/^(0|false|off)$/i.test(a)}setCssStyle(e,t,r){const a=e.style;"function"==typeof a.setProperty?a.setProperty(t,r):a[t]=r}applyDocumentGridMinimumHeight(e,t,r,a){const n=this.effectiveParagraphCssValue(e,t,"min-height");if(!n)return void this.setCssStyle(r,"min-height",a);const s=this.parseCssLengthValue(n),o=this.parseCssLengthValue(a);null!=s&&null!=o?s<o&&this.setCssStyle(r,"min-height",a):this.setCssStyle(r,"min-height",`max(${n}, ${a})`)}applyDocumentGridLinePitch(e,t,r){if(!this.paragraphUsesDocumentGrid(e,t))return;const a=this.currentSectionProps.docGrid.linePitch,n=this.effectiveParagraphCssValue(e,t,"line-height"),s=e.lineSpacing??t?.paragraphProps?.lineSpacing;if(n){if("exact"==s?.lineRule||"exactly"==s?.lineRule)return;const o=/^-?\d+(?:\.\d+)?$/.test(n)?`calc(${n} * 1em)`:n;return this.setCssStyle(r,"line-height",`max(${o}, ${a})`),void this.applyDocumentGridMinimumHeight(e,t,r,a)}this.applyDocumentGridMinimumHeight(e,t,r,a)}groupByPageBreaks(e){let t=[],r=null;const a=[t];for(let n of e)r&&(r.pageBreak||this.isPageBreakSection(r.sectProps,n.sectProps))&&(t=[],a.push(t)),t.push(n),r=n;const n=a.filter(e=>e.length>0).filter(e=>e[0]?.startsAfterExplicitPageBreak||e.some(e=>e.sectProps?.headerRefs?.length>0||e.sectProps?.footerRefs?.length>0||e.elements.some(e=>this.hasPageModelContent(e))));return n.length>0?n:a.filter(e=>e.length>0).slice(0,1)}hasPageModelContent(e){if(!e)return!1;switch(e.type){case n.DomType.Text:case n.DomType.DeletedText:return Boolean(e.text?.trim());case n.DomType.Break:case n.DomType.Symbol:case n.DomType.Drawing:case n.DomType.Image:case n.DomType.Table:case n.DomType.VmlPicture:case n.DomType.VmlElement:case n.DomType.MmlMath:case n.DomType.MmlMathParagraph:case n.DomType.Shape:case n.DomType.Chart:case n.DomType.SmartArt:case n.DomType.Ink:case n.DomType.AltChunk:case n.DomType.FootnoteReference:case n.DomType.EndnoteReference:return!0}return e.children?.some(e=>this.hasPageModelContent(e))??!1}async yieldDuringRender(e,t){const r=this.options.renderPageBatchSize??0;this.options.progress&&this.options.progress({phase:"render",current:e,total:t,message:`Rendered ${e}/${t} logical pages`}),r>0&&e%r==0&&await this.yieldToBrowser()}async yieldToBrowser(){(this.options.renderYieldEveryMs??0)<=0||await new Promise(e=>{const t=globalThis;"function"==typeof t.requestIdleCallback?t.requestIdleCallback(()=>e(),{timeout:Math.max(1,this.options.renderYieldEveryMs??16)}):"function"==typeof t.requestAnimationFrame?t.requestAnimationFrame(()=>e()):setTimeout(e,0)})}renderWrapper(e){const t=this.h({tagName:"div",className:this.className+"-wrapper",children:e});return(0,h.isReviewPreviewEnabled)(this.options)&&(t.dataset.docxReviewEnabled="true",t.dataset.docxReviewMode=(0,h.resolveReviewMode)(this.options)),t}shouldRunDynamicPagination(){return!(!this.options.breakPages||!this.options.fixedPageHeight||this.options.ignoreHeight||"undefined"==typeof document||"function"!=typeof requestAnimationFrame)}scheduleDynamicPagination(e){if(!e||"true"==e.dataset.docxPaginated||"true"==e.dataset.docxPaginating||"true"==e.dataset.docxPaginationScheduled)return;e.dataset.docxPaginationScheduled="true";const t=()=>{const t=document.fonts?.ready;(t??Promise.resolve()).finally(()=>{requestAnimationFrame(()=>requestAnimationFrame(()=>this.performDynamicPagination(e)))})},r=()=>{e&&"true"!=e.dataset.docxPaginated&&"true"!=e.dataset.docxPaginating&&(e.isConnected?t():setTimeout(r,0))};r()}async performDynamicPagination(e){if(!e||"true"==e.dataset.docxPaginated||"true"==e.dataset.docxPaginating)return;if(!e.isConnected)return void setTimeout(()=>this.performDynamicPagination(e),0);delete e.dataset.docxPaginationScheduled,e.dataset.docxPaginating="true";const t=Array.from(e.querySelectorAll(":scope > section."+this.className)),r=this.options.maxDynamicPaginationPasses??1e3;let a=0;for(let e=0;e<t.length;e++){const n=t[e];for(e%2==0&&await this.yieldToBrowser();this.isPageOverflowing(n)&&a++<r;){const r=Array.from(n.querySelectorAll(":scope > article"));if(!r.some(e=>e.children.length>0))break;const a=this.createContinuationPage(n),s=Array.from(a.querySelectorAll(":scope > article"));let o=!1;for(let e=r.length-1;e>=0&&this.isPageOverflowing(n);e--){const t=r[e],a=s[e];let i=0;if(a){for(;this.isPageOverflowing(n)&&t.lastElementChild&&i++<500;)if(i%20==0&&await this.yieldToBrowser(),t.children.length>1){let e=this.pickPaginationChunk(t);if(0==e.length)break;if(e.length>=t.children.length){if(this.splitOverflowBlock(t.lastElementChild,n,a)){o=!0;continue}e=[t.lastElementChild]}for(let t=e.length-1;t>=0;t--)a.prepend(e[t]),o=!0}else{if(!this.splitOverflowBlock(t.lastElementChild,n,a))break;o=!0}if(e>0&&this.isPageOverflowing(n))for(;t.lastElementChild;)a.prepend(t.lastElementChild),o=!0}}if(!o){a.remove();break}t.splice(e+1,0,a)}}this.cleanupEmptyNumberedParagraphs(e),this.removeEmptyDynamicPages(e),this.updateDynamicFieldPages(e),delete e.dataset.docxPaginating,e.dataset.docxPaginated="true"}pickPaginationChunk(e){const t=Array.from(e.children);if(0==t.length)return[];let r=t.length-1;for(;r>0&&this.isKeepWithNext(t[r-1]);)r--;return t.slice(r)}isKeepWithNext(e){if("true"==e.dataset.docxKeepNext)return!0;const t=getComputedStyle(e);return"avoid"==t.breakAfter||"avoid"==t.pageBreakAfter}isPageOverflowing(e){const t=this.options.paginationTolerance??2;if(e.clientHeight<=0)return!1;const r=e.getBoundingClientRect();let a=r.top;for(const t of Array.from(e.children)){const e=t.getBoundingClientRect();if(a=Math.max(a,e.bottom),"article"==t.tagName.toLowerCase())for(const e of Array.from(t.children)){const t=e.getBoundingClientRect();a=Math.max(a,t.bottom)}}return a>r.bottom+t}createContinuationPage(e){const t=e.cloneNode(!0);t.dataset.docxDynamicPage="true",t.removeAttribute("id");for(const e of Array.from(t.querySelectorAll(":scope > article")))e.textContent="";return e.after(t),t}splitOverflowBlock(e,t,r){if(!e||"true"==e.dataset.docxKeepLines)return!1;const a=getComputedStyle(e);if("avoid"==a.breakInside||"avoid"==a.pageBreakInside)return!1;switch(e.tagName.toLowerCase()){case"p":return this.splitParagraphBlock(e,t,r);case"table":return this.splitTableBlock(e,t,r)}return!1}splitParagraphBlock(e,t,r){if(!e.hasChildNodes())return!1;const a=this.cloneBlockShell(e);a.dataset.docxContinued="true",r.prepend(a);let n=!1,s=0;for(;this.isPageOverflowing(t)&&e.hasChildNodes()&&s++<1e3&&this.moveTailInlineNode(e,a,t);)n=!0,this.removeEmptyInlineContainers(e);return n?(e.hasChildNodes()?this.options.strictWordCompatibility&&"true"==e.dataset.docxWidowControl&&this.rebalanceWidowOrphan(e,a,t):e.remove(),!0):(a.remove(),!1)}splitTableBlock(e,t,r){const a=this.tableContentRows(e);if(a.length<=1)return!1;const n=this.cloneBlockShell(e);n.dataset.docxContinued="true";for(const t of Array.from(e.children))"colgroup"==t.tagName?.toLowerCase()&&n.appendChild(t.cloneNode(!0));for(const e of a.filter(e=>"true"==e.dataset.docxRepeatHeader)){const t=e.cloneNode(!0);t.dataset.docxRepeatedHeader="true",n.appendChild(t)}r.prepend(n);let s=!1,o=0;for(;this.isPageOverflowing(t)&&this.tableContentRows(e).length>1&&o++<500;){const t=this.tableContentRows(e).filter(e=>"true"!=e.dataset.docxRepeatedHeader),r=t[t.length-1];if(!r)break;n.insertBefore(r,this.firstMovedTableRow(n)),s=!0}return!!s||(n.remove(),!1)}cloneBlockShell(e){const t=e.cloneNode(!1);return t.removeAttribute("id"),t}tableContentRows(e){return Array.from(e.querySelectorAll(":scope > tr, :scope > tbody > tr"))}firstMovedTableRow(e){return this.tableContentRows(e).find(e=>"true"!=e.dataset.docxRepeatedHeader)??null}moveTailInlineNode(e,t,r){const a=e.lastChild;if(!a)return!1;if(a.nodeType==Node.TEXT_NODE)return this.moveTextTail(a,t,r);if(a instanceof Element&&a.childNodes.length>0&&"br"!=a.tagName?.toLowerCase()){const e=a.cloneNode(!1);e.removeAttribute("id"),t.prepend(e);const n=this.moveTailInlineNode(a,e,r);return a.hasChildNodes()||a.remove(),e.hasChildNodes()||e.remove(),n}return t.prepend(a),!0}moveTextTail(e,t,r){const a=e.data??"";if(!a)return!1;const n=document.createTextNode("");if(t.prepend(n),1==a.length)return n.data=a,e.remove(),!0;let s=1,o=a.length,i=a.length;for(;s<=o;){const t=Math.floor((s+o)/2);e.data=a.substring(0,a.length-t),n.data=a.substring(a.length-t),this.isPageOverflowing(r)?s=t+1:(i=t,o=t-1)}return i=this.adjustSplitToWordBoundary(a,i),e.data=a.substring(0,a.length-i),n.data=a.substring(a.length-i),e.data||e.remove(),!0}adjustSplitToWordBoundary(e,t){if(t<=1||t>=e.length)return t;const r=e.length-t,a=e.lastIndexOf(" ",r);return a>0&&r-a<32?e.length-a-1:t}removeEmptyInlineContainers(e){for(const t of Array.from(e.childNodes))t instanceof HTMLElement&&(this.removeEmptyInlineContainers(t),t.hasChildNodes()||/^(br|img|svg|math)$/i.test(t.tagName)||t.remove())}cleanupEmptyNumberedParagraphs(e){const t=`p[class*="${this.className}-num-"]`;for(const r of Array.from(e.querySelectorAll(t))){if(this.hasVisiblePaginationContent(r))continue;if(!r.id&&!r.querySelector("[id], a[name]"))continue;const t=this.findNextVisiblePaginationBlock(e,r);t&&this.moveAnchorsToBlock(r,t),r.remove()}}removeEmptyDynamicPages(e){const t=Array.from(e.querySelectorAll(`:scope > section.${this.className}[data-docx-dynamic-page="true"]`));for(const e of t){const t=Array.from(e.querySelectorAll(":scope > article")),r=t.some(e=>Array.from(e.children).some(e=>this.hasVisiblePaginationContent(e)));t.length>0&&!r&&e.remove()}}findNextVisiblePaginationBlock(e,t){const r=Array.from(e.querySelectorAll("article p, article table, article figure, article img, article svg, article math"));for(let e=r.indexOf(t)+1;e<r.length;e++){const t=r[e];if(this.hasVisiblePaginationContent(t))return t}return null}hasVisiblePaginationContent(e){return(e.textContent??"").replace(/\s+/g,"").length>0||!!e.querySelector("br,img,svg,math,object,canvas,video,table")}moveAnchorsToBlock(e,t){const r=Array.from(e.querySelectorAll("[id], a[name]"));e.id&&!t.id&&(t.id=e.id);for(let e=r.length-1;e>=0;e--){const a=r[e];a.id&&t.querySelector(`#${CSS.escape(a.id)}`)||t.prepend(a)}}rebalanceWidowOrphan(e,t,r){const a=this.visualLineCount(e),n=this.visualLineCount(t);if(a>=2&&n>=2)return;if(a<2&&e.parentElement&&t.hasChildNodes())return t.prepend(...Array.from(e.childNodes)),void e.remove();let s=0;for(;this.visualLineCount(t)<2&&e.hasChildNodes()&&s++<20&&!this.isPageOverflowing(r)&&this.moveTailInlineNode(e,t,r););}visualLineCount(e){try{const t=document.createRange();t.selectNodeContents(e);const r=Array.from(t.getClientRects());t.detach?.();const a=new Set(r.map(e=>Math.round(e.top)));return Math.max(a.size,1)}catch{return 1}}updateDynamicFieldPages(e){const t=Array.from(e.querySelectorAll(":scope > section."+this.className)),r={},a={},n={},s=[],o=[];let i=0,l="";for(const e of t){const t=e.dataset.docxSection??"";a[t]=(a[t]??0)+1}if(t.forEach((e,t)=>{const c=e.dataset.docxSection??"";if(c!=l){const t=null!=e.dataset.docxPageStart?parseInt(e.dataset.docxPageStart,10):null;i=Number.isFinite(t)?t:i+1,n[c]=1,l=c}else i++,n[c]=(n[c]??0)+1;e.dataset.docxPageNumber=`${i}`,e.dataset.docxSectionPageNumber=`${n[c]}`,e.dataset.docxSectionPageCount=`${a[c]??1}`,s[t]=i,o[t]=n[c];for(const t of Array.from(e.querySelectorAll("[id]")))t.id&&null==r[t.id]&&(r[t.id]=i)}),t.forEach((e,n)=>{const i=e.dataset.docxSection??"";for(const l of Array.from(e.querySelectorAll("[data-docx-field-instr]"))){const c=this.evaluateDynamicField(l.dataset.docxFieldInstr,s[n]??n+1,t.length,r,a[i]??1,o[n]??1,parseInt(e.dataset.docxSectionNumber??"1",10));null!=c&&(l.textContent=c)}}),this.options.updatePageReferences)for(const t of Array.from(e.querySelectorAll("[data-docx-page-ref]"))){const e=t.dataset.docxPageRef;t.textContent=`${r[e]??1}`}}evaluateDynamicField(e,t,r,a,n=r,s=t,o=1){const i=this.tokenizeFieldInstruction((e??"").replace(/\s+/g," ").trim()),l=i[0]?.replace(/^=/,"").toUpperCase();let c=null;switch(l){case"PAGE":c=this.formatFieldNumber(t,this.fieldFormatSwitchToNumFormat(this.fieldSwitch(i,"\\*")??this.currentSectionProps?.pageNumber?.format));break;case"NUMPAGES":c=this.formatFieldNumber(r,this.fieldFormatSwitchToNumFormat(this.fieldSwitch(i,"\\*")??this.currentSectionProps?.pageNumber?.format));break;case"SECTIONPAGES":c=this.formatFieldNumber(n,this.fieldFormatSwitchToNumFormat(this.fieldSwitch(i,"\\*")??this.currentSectionProps?.pageNumber?.format));break;case"SECTION":c=this.formatFieldNumber(o,this.fieldFormatSwitchToNumFormat(this.fieldSwitch(i,"\\*")??"decimal"));break;case"PAGEREF":{if(!this.options.updatePageReferences)return null;const e=this.firstFieldArgument(i);c=e?`${a[e]??1}`:"";break}}return null==c?null:this.applyFieldFormatting(c,e)}renderDefaultStyle(){var e=this.className;const t=!!this.options.darkMode,r=t?"#242424":"gray",a=t?(0,l.getDarkModeColor)("white"):"white",n=t?(0,l.getDarkModeColor)("black"):"black";var s=`\n.${e}-wrapper { background: ${r}; padding: 30px; padding-bottom: 0px; display: flex; flex-flow: column; align-items: center; }\n.${e}-wrapper>section.${e} { background: ${a}; box-shadow: ${t?"0 0 10px rgba(0, 0, 0, 0.8)":"0 0 10px rgba(0, 0, 0, 0.5)"}; margin-bottom: 30px;${t?" outline: 1px solid rgba(255, 255, 255, 0.15); outline-offset: -1px;":""} }`;this.options.hideWrapperOnPrint&&(s=`@media not print { ${s} }`);var o=`${s}\n.${e} { --docx-auto-color: ${n}; color: var(--docx-auto-color); font-size: 10.5pt; hyphens: auto; text-underline-position: from-font; font-kerning: normal; font-variant-ligatures: common-ligatures contextual; text-rendering: optimizeLegibility; line-break: auto; }\nsection.${e} { box-sizing: border-box; display: flex; flex-flow: column nowrap; position: relative; overflow: visible; isolation: isolate; }\nsection.${e}>header, section.${e}>footer { flex-shrink: 0; }\nsection.${e}>article { z-index: 1; }\nsection.${e}>article:last-of-type { margin-bottom: auto; }\nsection.${e}>footer { z-index: 1; }\n.${e} [data-docx-continued="true"] { margin-top: 0 !important; }\n.${e} tr[data-docx-repeat-header="true"], .${e} tr[data-docx-repeated-header="true"] { break-after: avoid; }\n.${e} table { border-collapse: collapse; }\n.${e} table td, .${e} table th { vertical-align: top; overflow-wrap: anywhere; }\n.${e} p { margin: 0pt; min-height: 1em; }\n.${e} .${e}-paragraph-frame > p { margin: 0; }\n.${e} span { white-space: pre-wrap; overflow-wrap: break-word; font-feature-settings: "kern" 1; }\n.${e} table span { overflow-wrap: anywhere; }\n.${e} .${e}-float-wrap { shape-margin: 0.15in; }\n.${e} .${e}-field { white-space: pre-wrap; }\n.${e} .${e}-tab-stop { display: inline-block; min-width: 1em; white-space: nowrap; line-height: 1; }\n.${e} .${e}-tab-stop[data-docx-tab-leader="dot"], .${e} .${e}-tab-stop[data-docx-tab-leader="middleDot"] { min-width: 2em; border-bottom: 1px dotted currentColor; height: .85em; transform: translateY(-.18em); }\n.${e} .${e}-tab-stop[data-docx-tab-leader="hyphen"], .${e} .${e}-tab-stop[data-docx-tab-leader="heavy"], .${e} .${e}-tab-stop[data-docx-tab-leader="underscore"] { min-width: 2em; border-bottom: 1px solid currentColor; height: .85em; transform: translateY(-.18em); }\n.${e} .${e}-tab-leader-paragraph > a, .${e} .${e}-tab-leader-paragraph > .${e}-tab-leader-line, .${e} .${e}-tab-leader-line { display: inline-flex; align-items: baseline; width: calc(100% - var(--docx-text-indent, 0pt)); color: inherit !important; text-decoration: none !important; box-sizing: border-box; max-width: none; text-indent: 0; }\n.${e} .${e}-tab-leader-paragraph > a, .${e} .${e}-tab-leader-paragraph > a * { color: inherit !important; text-decoration: none !important; }\n.${e} .${e}-toc-paragraph a, .${e} .${e}-toc-paragraph a * { color: inherit !important; text-decoration: none !important; }\n.${e} .${e}-toc-paragraph.${e}-tab-leader-paragraph[class*="${e}-num-"] { display: grid; grid-template-columns: max-content minmax(0, 1fr); column-gap: .35em; align-items: baseline; list-style-position: outside; list-style-type: none; text-indent: 0 !important; }\n.${e} .${e}-toc-paragraph.${e}-tab-leader-paragraph[class*="${e}-num-"]::before { grid-column: 1; grid-row: 1; white-space: pre; margin-inline-end: 0; }\n.${e} .${e}-toc-paragraph.${e}-tab-leader-paragraph[class*="${e}-num-"] > a { grid-column: 2; grid-row: 1; display: inline-flex; flex: 1 1 auto; width: auto; min-width: 0; max-width: 100%; }\n.${e} .${e}-tab-leader-title { flex: 0 1 auto; min-width: 0; }\n.${e} .${e}-tab-leader-page { flex: 0 0 auto; white-space: nowrap; text-align: right; }\n.${e} .${e}-tab-leader-fill, .${e} .${e}-tab-leader-paragraph > a > .${e}-tab-stop[data-docx-tab-leader="dot"], .${e} .${e}-tab-leader-paragraph > a > .${e}-tab-stop[data-docx-tab-leader="middleDot"], .${e} .${e}-tab-leader-paragraph > .${e}-tab-stop[data-docx-tab-leader="dot"], .${e} .${e}-tab-leader-paragraph > .${e}-tab-stop[data-docx-tab-leader="middleDot"] { flex: 1 1 auto; width: auto; margin: 0 .2em; }\n.${e} .${e}-literal-leader-line > .${e}-tab-leader-title { flex: 0 0 auto; white-space: nowrap; }\n.${e} .${e}-toc { display: table; width: 100%; }\n.${e} .${e}-toc-entry { display: table-row; }\n.${e} .${e}-toc-title, .${e} .${e}-toc-page { display: table-cell; }\n.${e} .${e}-toc-title { border-bottom: 1px dotted currentColor; }\n.${e} .${e}-toc-page { text-align: right; width: 3em; }\n.${e} math { font-family: Cambria Math, STIX Two Math, Latin Modern Math, serif; }\n.${e} ruby { ruby-position: over; }\n.${e} rt { font-size: 0.5em; line-height: 1; }\n.${e} .${e}-chart, .${e} .${e}-smartart, .${e} .${e}-ink { min-width: 2in; min-height: 1in; }\n.${e} a { color: inherit; text-decoration: inherit; }\n.${e} svg { fill: transparent; }\n[data-docx-review-enabled="true"] { --docx-review-color: #c2410c; }\n[data-docx-review-enabled="true"] ins[data-docx-change-kind], [data-docx-review-enabled="true"] del[data-docx-change-kind] { text-decoration: none; }\n[data-docx-review-enabled="true"][data-docx-review-mode="final"] [data-docx-change-kind="delete"], [data-docx-review-enabled="true"][data-docx-review-mode="final"] [data-docx-change-kind="move-from"], [data-docx-review-enabled="true"][data-docx-review-mode="simple"] [data-docx-change-kind="delete"], [data-docx-review-enabled="true"][data-docx-review-mode="simple"] [data-docx-change-kind="move-from"], [data-docx-review-enabled="true"][data-docx-review-mode="original"] [data-docx-change-kind="insert"], [data-docx-review-enabled="true"][data-docx-review-mode="original"] [data-docx-change-kind="move-to"] { display: none !important; }\n[data-docx-review-enabled="true"][data-docx-review-mode="all"] ins[data-docx-change-kind]:not([data-docx-change-empty="true"]) { color: var(--docx-review-color); text-decoration: underline; text-decoration-color: var(--docx-review-color); text-underline-offset: .16em; background: color-mix(in srgb, var(--docx-review-color) 7%, transparent); }\n[data-docx-review-enabled="true"][data-docx-review-mode="all"] ins[data-docx-change-empty="true"] { color: inherit; text-decoration: none; background: transparent; }\n[data-docx-review-enabled="true"][data-docx-review-mode="all"] del[data-docx-change-kind] { display: inline-block !important; width: 0 !important; max-width: 0 !important; height: 0 !important; margin: 0 !important; padding: 0 !important; overflow: hidden !important; line-height: 0 !important; vertical-align: baseline; color: transparent; }\n[data-docx-review-enabled="true"][data-docx-review-mode="simple"] ins[data-docx-change-kind] { color: inherit; text-decoration: none; background: transparent; }\n[data-docx-review-enabled="true"][data-docx-review-mode="original"] del[data-docx-change-kind] { color: inherit; text-decoration: none; background: transparent; }\n[data-docx-review-enabled="true"][data-docx-review-mode="all"] [data-docx-format-change="true"], [data-docx-review-enabled="true"][data-docx-review-mode="simple"] [data-docx-format-change="true"] { outline: 0; }\n[data-docx-review-enabled="true"][data-docx-review-mode="final"] [data-docx-change-kind="comment"], [data-docx-review-enabled="true"][data-docx-review-mode="original"] [data-docx-change-kind="comment"] { display: none !important; }\n@media print { .${e}-wrapper { background: transparent; padding: 0; display: block; } .${e}-wrapper>section.${e}, section.${e} { background: white; margin: 0 auto; box-shadow: none; outline: none; break-after: page; page-break-after: always; } .${e} { --docx-auto-color: black; color: black; } }\n`;return this.options.renderComments&&(o+=`\n.${e}-comment-ref { cursor: default; }\n.${e}-comment-anchor { display: inline-block; width: 0; height: 0; overflow: visible; vertical-align: baseline; }\n.${e}-comment-popover { display: none; z-index: 1000; padding: 0.5rem; background: ${a}; position: absolute; box-shadow: 0 0 0.25rem rgba(0, 0, 0, 0.25); width: 30ch; }\n.${e}-comment-ref:hover~.${e}-comment-popover { display: block; }\n.${e}-comment-author,.${e}-comment-date { font-size: 0.875rem; color: ${t?(0,l.getDarkModeColor)("#888888"):"#888"}; }\n`),[this.h({tagName:"#comment",children:["docxjs library predefined styles"]}),this.h({tagName:"style",children:[o]})]}async renderNumbering(e){var t="",r=[];const a=new Map,n=new Map(e.map(e=>[`${e.id}:${e.level}`,this.numFormatToCssValue(e.format)])),s=(e,t)=>{const r=a.get(e)??[];r.push(t),a.set(e,r)};for(var o of e){var i=this.numberingSelector(o.id,o.level),l="none";if(o.bullet){let e=`--${this.className}-${o.bullet.src}`.toLowerCase();t+=this.styleToString(`${i}:before`,{content:"' '",display:"inline-block",background:`var(${e})`},o.bullet.style);try{const r=await this.document.loadNumberingImage(o.bullet.src);t+=`${this.rootSelector} { ${e}: url(${r}) }`}catch(e){this.options.debug&&console.warn(`Can't load numbering image with src ${o.bullet.src}`)}}else if(o.levelText){let e=this.numberingCounter(o.id,o.level);const a=e+" "+(o.start-1),l=this.numberingRestartLevel(o);null!=l&&s(this.numberingSelector(o.id,l),a),r.push(a);const c=this.normalizeNumberingLevelText(o.levelText,o.format,o.rStyle),d=this.numberingMarkerRunStyle(o.rStyle,c.normalized);t+=this.styleToString(`${i}:before`,{content:this.levelTextToContent(c.text,o.suff,o.id,this.numFormatToCssValue(o.format),n),"counter-increment":e,"font-family":"var(--docx-marker-font-family, inherit)","font-size":"var(--docx-marker-font-size, inherit)","font-style":"var(--docx-marker-font-style, inherit)","font-weight":"var(--docx-marker-font-weight, inherit)",...d})}else l=this.numFormatToCssValue(o.format);t+=this.styleToString(i,{display:"list-item","list-style-position":"inside","list-style-type":l,...o.pStyle})}for(const[e,r]of a)t+=this.styleToString(e,{"counter-set":r.join(" ")});return r.length>0&&(t+=this.styleToString(this.rootSelector,{"counter-reset":r.join(" ")})),[this.h({tagName:"#comment",children:["docxjs document numbering styles"]}),this.h({tagName:"style",children:[t]})]}renderStyles(e){var t="";const r=this.styleMap,a=(0,s.keyBy)(e.filter(e=>e.isDefault),e=>e.target);for(const s of e){var n=s.styles;if(s.linked){var o=s.linked&&r[s.linked];o?n=n.concat(o.styles):this.options.debug&&console.warn(`Can't find linked style ${s.linked}`)}for(const e of n){var i=`${s.target??""}.${s.cssName}${e.mod??""}`;s.target!=e.target&&(i+=` ${e.target}`),i=this.scopeDocumentStyleSelector(i),a[s.target]==s&&(i=`.${this.className} ${s.target}, `+i),t+=this.styleToString(i,e.values)}}return[this.h({tagName:"#comment",children:["docxjs document styles"]}),this.h({tagName:"style",children:[t]})]}renderNotes(e,t,r){var a=e.map(e=>t[e]).filter(e=>e);if(a.length>0){const e=this.currentPart;this.currentPart=r??e;const t=this.renderElements(a);return this.currentPart=e,this.h({tagName:"ol",children:t})}}renderElement(e){switch(e.type){case n.DomType.Paragraph:return this.renderParagraph(e);case n.DomType.BookmarkStart:return this.renderBookmarkStart(e);case n.DomType.BookmarkEnd:return null;case n.DomType.Run:return this.renderRun(e);case n.DomType.Table:return this.renderTable(e);case n.DomType.Row:return this.renderTableRow(e);case n.DomType.Cell:return this.renderTableCell(e);case n.DomType.Hyperlink:return this.renderHyperlink(e);case n.DomType.SmartTag:return this.renderSmartTag(e);case n.DomType.Drawing:return this.renderDrawing(e);case n.DomType.Image:return this.renderImage(e);case n.DomType.Shape:return this.renderShape(e);case n.DomType.Chart:return this.renderChart(e);case n.DomType.SmartArt:return this.renderSmartArt(e);case n.DomType.Ink:return this.renderInk(e);case n.DomType.SimpleField:return this.renderSimpleField(e);case n.DomType.Instruction:case n.DomType.ComplexField:return null;case n.DomType.Text:return this.renderText(e);case n.DomType.DeletedText:return this.renderDeletedText(e);case n.DomType.Tab:return this.renderTab(e);case n.DomType.Symbol:return this.renderSymbol(e);case n.DomType.Break:return this.renderBreak(e);case n.DomType.Footer:return this.renderContainer(e,"footer");case n.DomType.Header:return this.renderContainer(e,"header");case n.DomType.Footnote:case n.DomType.Endnote:return this.renderContainer(e,"li");case n.DomType.FootnoteReference:return this.renderFootnoteReference(e);case n.DomType.EndnoteReference:return this.renderEndnoteReference(e);case n.DomType.NoBreakHyphen:return this.h("‑");case n.DomType.SoftHyphen:return this.h("");case n.DomType.PositionalTab:return this.renderTab(e);case n.DomType.Ruby:return this.renderRuby(e);case n.DomType.RubyBase:return this.renderContainer(e,"span");case n.DomType.RubyText:return this.toHTML(e,d.ns.html,"rt");case n.DomType.VmlPicture:return this.renderVmlPicture(e);case n.DomType.VmlElement:return this.renderVmlElement(e);case n.DomType.MmlMath:return this.renderContainerNS(e,d.ns.mathML,"math",{xmlns:d.ns.mathML});case n.DomType.MmlMathParagraph:return this.renderMmlMathParagraph(e);case n.DomType.MmlFraction:return this.renderContainerNS(e,d.ns.mathML,"mfrac");case n.DomType.MmlBase:return this.renderContainerNS(e,d.ns.mathML,e.parent?.type==n.DomType.MmlMatrixRow?"mtd":"mrow");case n.DomType.MmlNumerator:case n.DomType.MmlDenominator:case n.DomType.MmlFunction:case n.DomType.MmlLimit:case n.DomType.MmlBox:return this.renderContainerNS(e,d.ns.mathML,"mrow");case n.DomType.MmlGroupChar:return this.renderMmlGroupChar(e);case n.DomType.MmlLimitLower:return this.renderContainerNS(e,d.ns.mathML,"munder");case n.DomType.MmlLimitUpper:return this.renderContainerNS(e,d.ns.mathML,"mover");case n.DomType.MmlSubSuperscript:return this.renderContainerNS(e,d.ns.mathML,"msubsup");case n.DomType.MmlPhantom:return this.renderMmlPhantom(e);case n.DomType.MmlBorderBox:return this.renderContainerNS(e,d.ns.mathML,"menclose");case n.DomType.MmlAccent:return this.renderMmlAccent(e);case n.DomType.MmlMatrix:return this.renderContainerNS(e,d.ns.mathML,"mtable");case n.DomType.MmlMatrixRow:return this.renderContainerNS(e,d.ns.mathML,"mtr");case n.DomType.MmlRadical:return this.renderMmlRadical(e);case n.DomType.MmlSuperscript:return this.renderContainerNS(e,d.ns.mathML,"msup");case n.DomType.MmlSubscript:return this.renderContainerNS(e,d.ns.mathML,"msub");case n.DomType.MmlDegree:case n.DomType.MmlSuperArgument:case n.DomType.MmlSubArgument:return this.renderContainerNS(e,d.ns.mathML,"mrow");case n.DomType.MmlFunctionName:return this.renderContainerNS(e,d.ns.mathML,"mi");case n.DomType.MmlDelimiter:return this.renderMmlDelimiter(e);case n.DomType.MmlRun:return this.renderMmlRun(e);case n.DomType.MmlNary:return this.renderMmlNary(e);case n.DomType.MmlPreSubSuper:return this.renderMmlPreSubSuper(e);case n.DomType.MmlBar:return this.renderMmlBar(e);case n.DomType.MmlEquationArray:return this.renderMllList(e);case n.DomType.Inserted:return this.renderInserted(e);case n.DomType.Deleted:return this.renderDeleted(e);case n.DomType.CommentRangeStart:return this.renderCommentRangeStart(e);case n.DomType.CommentRangeEnd:return this.renderCommentRangeEnd(e);case n.DomType.CommentReference:return this.renderCommentReference(e);case n.DomType.AltChunk:return this.renderAltChunk(e)}return null}renderElements(e,t){if(null==e)return null;e=this.reviewParagraphs(e);const r=[];for(let t=0;t<e.length;t++){const a=e[t].type==n.DomType.Paragraph?e[t]:null;if(this.isPositionedParagraphFrame(a)){const o=this.paragraphFrameKey(a),i=[a];for(;t+1<e.length;){const r=e[t+1].type==n.DomType.Paragraph?e[t+1]:null;if(!this.isPositionedParagraphFrame(r)||this.paragraphFrameKey(r)!=o)break;i.push(r),t++}const l=i.flatMap(e=>(0,s.asArray)(this.renderElement(e)).filter(e=>null!=e)),c=this.h({tagName:"div",className:`${this.className}-paragraph-frame`,style:this.paragraphFrameStyle(a),children:l});c.dataset.docxFrameAnchor=`${a.frame.horizontalAnchor??"text"}/${a.frame.verticalAnchor??"text"}`,c.dataset.docxFrameParagraphs=`${i.length}`,r.push(c);continue}const o=this.tryRenderComplexField(e,t);o?(r.push(...(0,s.asArray)(o.node).filter(e=>null!=e)),t=o.nextIndex-1):r.push(...(0,s.asArray)(this.renderElement(e[t])).filter(e=>null!=e))}return t&&r.forEach(e=>t.appendChild((0,s.isString)(e)?document.createTextNode(e):e)),r}reviewParagraphs(e){const t=(0,h.resolveReviewMode)(this.options);if("all"==t)return e;const r=[];for(const a of e??[]){const e=r[r.length-1],s=a,o="original"==t?(e?.props?.paragraphMarkRevisions??[]).some(e=>"insert"==e.kind):e?.props?.deletedParagraphMark;e?.type==n.DomType.Paragraph&&a.type==n.DomType.Paragraph&&o&&!e.sectionProps&&this.paragraphFrameKey(e)==this.paragraphFrameKey(s)?r[r.length-1]={...s,children:[...e.children??[],...s.children??[]]}:r.push(a)}return r}isPositionedParagraphFrame(e){const t=e?.frame;return!!t&&"drop"!=t.dropCap&&!!(t.width||t.height||t.horizontalPosition||t.verticalPosition||t.horizontalAlignment||t.verticalAlignment)}paragraphFrameKey(e){const t=e.frame??{};return JSON.stringify([t.width,t.height,t.horizontalPosition,t.verticalPosition,t.horizontalAnchor,t.verticalAnchor,t.horizontalAlignment,t.verticalAlignment,t.horizontalSpace,t.verticalSpace,t.heightRule,t.wrap])}paragraphFrameStyle(e){const t=e.frame,r={position:"absolute",boxSizing:"border-box",zIndex:"2"},a="page"==t.horizontalAnchor,n="page"==t.verticalAnchor;return t.width&&(r.width=t.width),t.height&&("exact"==t.heightRule?(r.height=t.height,r.overflow="hidden"):r.minHeight=t.height),t.horizontalPosition?r.left=a?`calc(${t.horizontalPosition} - var(--docx-page-padding-left, 0pt))`:t.horizontalPosition:"center"==t.horizontalAlignment?(r.left="50%",r.transform="translateX(-50%)"):"right"==t.horizontalAlignment||"outside"==t.horizontalAlignment?r.right="0":"left"!=t.horizontalAlignment&&"inside"!=t.horizontalAlignment||(r.left="0"),t.verticalPosition?r.top=n?`calc(${t.verticalPosition} - var(--docx-page-padding-top, 0pt))`:t.verticalPosition:"center"==t.verticalAlignment?(r.top="50%",r.transform=`${r.transform??""} translateY(-50%)`.trim()):"bottom"==t.verticalAlignment||"outside"==t.verticalAlignment?r.bottom="0":"top"!=t.verticalAlignment&&"inside"!=t.verticalAlignment||(r.top="0"),r}tryRenderComplexField(e,t){if(!this.hasFieldChar(e[t],"begin"))return null;let r=0,a=!1,s="";const o=[];for(let i=t;i<e.length;i++){const t=e[i],l=t.type==n.DomType.Run?{...t,fieldRun:!1,children:[]}:null;if(t.type==n.DomType.Run){for(const e of t.children??[]){if(e.type==n.DomType.ComplexField){const t=e;if("begin"==t.charType)r++;else if("separate"==t.charType&&1==r)a=!0;else if("end"==t.charType&&(r--,0==r))return l.children.length>0&&o.push(l),{node:this.renderSimpleField({type:n.DomType.SimpleField,instruction:s,lock:!1,dirty:!1,children:o}),nextIndex:i+1};continue}a||1!=r||e.type!=n.DomType.Instruction?a&&r>0&&l.children.push(e):s+=e.text??""}l.children.length>0&&o.push(l)}else a&&r>0&&o.push(t)}return null}hasFieldChar(e,t){return e.type==n.DomType.Run&&e.children?.some(e=>e.type==n.DomType.ComplexField&&e.charType==t)}renderContainer(e,t){return this.h({tagName:t,children:this.renderElements(e.children)})}renderContainerNS(e,t,r,a){return this.h({ns:t,tagName:r,children:this.renderElements(e.children),...a})}effectiveParagraphTabs(e,t){if(!e?.length)return t;if(!t?.length)return e;const r=[...t];for(const t of e){const e=this.parseCssLengthValue(t.position),a=r.findIndex(t=>this.parseCssLengthValue(t.position)==e);a>=0?r[a]=t:r.push(t)}return r.sort((e,t)=>(this.parseCssLengthValue(e.position)??0)-(this.parseCssLengthValue(t.position)??0))}countParagraphTabs(e){let t=0;const r=e=>{e.type!=n.DomType.Tab&&e.type!=n.DomType.PositionalTab||t++;for(const t of e.children??[])r(t)};return r(e),t}isLeaderTabStop(e){return!!e?.leader&&"none"!=e.leader&&"clear"!=e.style}resolveRenderedTabStop(e,t,r){if(!e?.length)return null;const a=e[Math.min(t,Math.max(e.length-1,0))],n=[...e].reverse().find(e=>this.isLeaderTabStop(e)),s=this.findStyle(this.currentParagraph?.styleName),o=this.isTocParagraphStyle(this.currentParagraph?.styleName,s),i=!!n&&!!(this.currentParagraph?.numbering??s?.paragraphProps?.numbering)&&o;return n?r<=1?o||i?n:a:t>=r-1?n:this.isLeaderTabStop(a)?e.slice(0,Math.min(t+1,e.length)).reverse().find(e=>!this.isLeaderTabStop(e)&&"clear"!=e.style)??e.find(e=>!this.isLeaderTabStop(e)&&"clear"!=e.style)??null:a:a}renderParagraph(e){const t=this.findStyle(e.styleName);e.tabs=this.effectiveParagraphTabs(e.tabs,t?.paragraphProps?.tabs);const r=this.currentParagraph,a=this.currentParagraphTabIndex,n=this.currentParagraphTabCount;this.currentParagraph=e,this.currentParagraphTabIndex=0,this.currentParagraphTabCount=this.countParagraphTabs(e);let s=this.renderElements(e.children);const o=this.uniformParagraphTextScale(e,t);if(null!=o&&1!=o){const r=this.effectiveParagraphCssValue(e,t,"text-indent")??"0pt",a="rtl"==this.effectiveParagraphCssValue(e,t,"direction"),n=this.h({tagName:"span",className:`${this.className}-text-scale`,style:{display:"block",font:"inherit",background:"none",border:"none",width:100/o+"%",transform:`scaleX(${o})`,transformOrigin:a?"right top":"left top",textIndent:`calc(${r} / ${o})`},children:s});n.dataset.docxTextScale=`${o}`,s=[n]}var i=this.toHTML(e,d.ns.html,"p",this.wrapTabLeaderChildren(s,!0));if(this.options.exposeDisplayTargets&&e.displayAddress){const t=this.currentPart??this.document.documentPart;i.setAttribute("data-office-target",`${t.path}#${e.displayAddress}`)}const l=this.effectiveParagraphCssValue(e,t,"--docx-snap-to-grid");/^(0|false|off)$/i.test(l??"")&&(i.style.letterSpacing="normal"),this.currentParagraph=r,this.currentParagraphTabIndex=a,this.currentParagraphTabCount=n;const c=e.numbering??t?.paragraphProps?.numbering;c&&i.classList.add(this.numberingClass(c.id,c.level));const u=t?.paragraphProps;(e.pageBreakBefore??u?.pageBreakBefore)&&(i.style.breakBefore="page",i.dataset.docxPageBreakBefore="true"),(e.keepLines??u?.keepLines)&&(i.style.breakInside="avoid",i.dataset.docxKeepLines="true"),(e.keepNext??u?.keepNext)&&(i.style.breakAfter="avoid",i.dataset.docxKeepNext="true"),(e.widowControl??u?.widowControl)&&(i.style.orphans="2",i.style.widows="2",i.dataset.docxWidowControl="true"),this.applyDocumentGridLinePitch(e,t,i);const h=e.tabs?.find(e=>this.isLeaderTabStop(e));return h&&(i.classList.add(`${this.className}-tab-leader-paragraph`),i.dataset.docxHasTabLeader="true",i.dataset.docxTabLeader=h.leader,i.dataset.docxTabAlign=h.style),this.isTocParagraphStyle(e.styleName,t)&&(i.classList.add(`${this.className}-toc-paragraph`),i.dataset.docxTocEntry="true"),this.hasParagraphRelativeAnchor(e)&&(i.style.position&&"static"!=i.style.position||(i.style.position="relative"),i.dataset.docxAnchorContext="paragraph"),this.hasPageRelativeAnchor(e)&&this.compensatePageRelativeAnchors(i),e.props?.anchorId&&(i.id=e.props.anchorId,i.setAttribute("id",e.props.anchorId)),i}uniformParagraphTextScale(e,t){if(e.numbering||t?.paragraphProps?.numbering||e.frame||this.effectiveParagraphCssValue(e,t,"writing-mode"))return null;const r="--docx-text-scale",a=e.cssStyle?.[r]??this.styleValue(t,"span",r)??this.styleValue(t,"p",r)??"1";let s=null;const o=(e,t)=>{const a=e.cssStyle?.[r]??this.styleValue(this.findStyle(e.styleName),"span",r)??t;switch(e.type){case n.DomType.Text:case n.DomType.DeletedText:if(!e.text)return!0;const t=Number(a);return!(!Number.isFinite(t)||t<=0||t>6||null!=s&&s!=t||(s=t,0));case n.DomType.Run:case n.DomType.Hyperlink:case n.DomType.SmartTag:case n.DomType.Inserted:case n.DomType.Deleted:return(e.children??[]).every(e=>o(e,a));case n.DomType.BookmarkStart:case n.DomType.BookmarkEnd:case n.DomType.CommentRangeStart:case n.DomType.CommentRangeEnd:case n.DomType.NoBreakHyphen:case n.DomType.SoftHyphen:return!0;case n.DomType.Break:return["line","textWrapping"].includes(e.break);default:return!1}};return(e.children??[]).every(e=>o(e,a))?s:null}compensatePageRelativeAnchors(e){const t=e=>{for(const r of Array.from(e.children??[])){const e=r;"page"==e.dataset?.docxAnchorVertical&&e.style?.top&&(e.style.top=`calc(${e.style.top} - var(--docx-paragraph-page-offset-top, var(--docx-page-padding-top, 0pt)))`),"page"==e.dataset?.docxAnchorHorizontal&&e.style?.left&&(e.style.left=`calc(${e.style.left} - var(--docx-paragraph-page-offset-left, var(--docx-page-padding-left, 0pt)))`),t(e)}};t(e)}hasParagraphRelativeAnchor(e){for(const t of e.children??[]){if((t.type==n.DomType.Drawing||t.type==n.DomType.VmlElement)&&"absolute"==t.cssStyle?.position){const e=t.props?.anchorPosition,r=e?.vertical?.relative,a=e?.horizontal?.relative;if("paragraph"==r||"line"==r||"character"==r||"character"==a)return!0}if(this.hasParagraphRelativeAnchor(t))return!0}return!1}hasPageRelativeAnchor(e){for(const t of e.children??[]){if((t.type==n.DomType.Drawing||t.type==n.DomType.VmlElement)&&"absolute"==t.cssStyle?.position){const e=t.props?.anchorPosition,r=e?.vertical?.relative,a=e?.horizontal?.relative;if("page"==r||"page"==a)return!0}if(this.hasPageRelativeAnchor(t))return!0}return!1}renderHyperlink(e){const t=this.renderElements(e.children),r=this.h(this.toH(e,d.ns.html,"a",this.wrapTabLeaderChildren(t)));let a="",n=!1;if(e.id){const t=this.currentPart??this.document.documentPart,r=t?.rels?.find(t=>t.id==e.id&&"External"===t.targetMode);a=r?.target??a,n=!!a}return!a&&e.anchor&&(a=`#${e.anchor}`),this.applyHyperlinkTarget(r,a,n),r}applyHyperlinkTarget(e,t,r){const a=(0,p.sanitizeDocumentHyperlink)(t);if(a)return r&&"block"==this.options.externalLinkPolicy?(e.setAttribute("data-docx-external-href",a),void e.setAttribute("aria-disabled","true")):void e.setAttribute("href",a)}wrapTabLeaderChildren(e,t=!1){if(!e?.length||e.some(e=>this.hasCssClass(e,`${this.className}-tab-leader-title`)))return e;let r=-1;for(let t=e.length-1;t>=0;t--)if(this.isTabLeaderNode(e[t])){r=t;break}if(r<0)return this.wrapLiteralLeaderChildren(e,t)??e;const a=e.slice(0,r),n=e[r],s=e.slice(r+1);this.addCssClass(n,`${this.className}-tab-leader-fill`);const o=[this.h({tagName:"span",className:`${this.className}-tab-leader-title`,children:a}),n,this.h({tagName:"span",className:`${this.className}-tab-leader-page`,children:s})];return t?[this.h({tagName:"span",className:`${this.className}-tab-leader-line`,children:o})]:o}wrapLiteralLeaderChildren(e,t=!1){const r=this.findLastTextualNodeIndex(e);if(r<0)return null;const a=e[r],n=this.nodeTextContent(a),s=/^(.*?)([.\u2026\u00b7\u2022\u2027\u2219\u22c5]{6,})(\s*[0-90-9IVXLCDMivxlcdm]+)\s*$/.exec(n);if(!s)return null;const[,o,i,l]=s,c=e.slice(0,r),d=e.slice(r+1),u=[...c];o&&u.push(this.cloneTextNodeWithText(a,o));const h=this.h({tagName:"span",className:`${this.tabStopClass()} ${this.className}-tab-leader-fill`,children:[" "],style:this.nodeStyleObject(a)});h.dataset.docxTab="true",h.dataset.docxTabLeader=this.literalLeaderKind(i),h.dataset.docxLiteralLeader="true";const p=[this.h({tagName:"span",className:`${this.className}-tab-leader-title`,children:u}),h,this.h({tagName:"span",className:`${this.className}-tab-leader-page`,children:[this.cloneTextNodeWithText(a,l.trim()),...d]})];return t?[this.h({tagName:"span",className:`${this.className}-tab-leader-line ${this.className}-literal-leader-line`,children:p})]:p}findLastTextualNodeIndex(e){for(let t=e.length-1;t>=0;t--)if(this.nodeTextContent(e[t]).trim())return t;return-1}literalLeaderKind(e){return/^[.\u2026]+$/.test(e)?"dot":"middleDot"}cloneTextNodeWithText(e,t){return this.nodeElementName(e)?this.h({tagName:this.nodeElementName(e),className:this.nodeClassName(e),style:this.nodeStyleObject(e),children:[t]}):this.h({tagName:"span",children:[t]})}nodeElementName(e){const t=e,r=t?.tagName??t?.nodeName;return r&&!String(r).startsWith("#")?String(r).toLowerCase():""}nodeStyleObject(e){const t=e?.style,r={};if(!t)return r;if("number"==typeof t.length&&"function"==typeof t.getPropertyValue)for(let e=0;e<t.length;e++){const a=t.item(e),n=t.getPropertyValue(a);n&&(r[a]=n)}else for(const[e,a]of Object.entries(t))null!=a&&""!==a&&(r[e]=String(a));return r}nodeTextContent(e){const t=e;return t?"string"==typeof t.textContent?t.textContent:"string"==typeof t.text?t.text:Array.from(t.children??t.childNodes??[]).map(e=>this.nodeTextContent(e)).join(""):""}isTabLeaderNode(e){const t=this.nodeDatasetValue(e,"docxTabLeader");return this.hasCssClass(e,this.tabStopClass())&&!!t&&"none"!=t}nodeDatasetValue(e,t){const r=e,a=r?.dataset?.[t];if(null!=a)return String(a);const n="data-"+t.replace(/[A-Z]/g,e=>"-"+e.toLowerCase());return"function"==typeof r?.getAttribute?r.getAttribute(n):r?.attributes?.[n]}hasCssClass(e,t){const r=e;return!(!r||!t)&&("function"==typeof r.classList?.contains?r.classList.contains(t):this.nodeClassName(r).split(/\s+/).includes(t))}addCssClass(e,t){const r=e;if(!r||!t||this.hasCssClass(e,t))return;if("function"==typeof r.classList?.add)return void r.classList.add(t);const a=(0,d.cx)(this.nodeClassName(r),t);"function"==typeof r.setAttribute?r.setAttribute("class",a):(r.attributes??(r.attributes={}),r.attributes.class=a)}nodeClassName(e){return"string"==typeof e?.className?e.className:"string"==typeof e?.className?.baseVal?e.className.baseVal:"function"==typeof e?.getAttribute?e.getAttribute("class")??"":e?.attributes?.class??""}renderSmartTag(e){return this.renderContainer(e,"span")}renderCommentRangeStart(e){if(!this.options.renderComments)return null;const t="undefined"==typeof Range?null:new Range;t&&this.commentHighlight?.add(t);const r=this.h({tagName:"#comment",children:[`start of comment #${e.id}`]});return t&&(this.later(()=>t.setStart(r,0)),this.commentMap[e.id]=t),r}renderCommentRangeEnd(e){if(!this.options.renderComments)return null;const t=this.commentMap[e.id],r=this.document.commentsPart?.commentMap[e.id],a=this.h({tagName:"span",className:`${this.className}-comment-anchor`});return a.dataset.docxChangeKind="comment",a.dataset.docxChangeId=`${e.id}`,a.setAttribute("aria-hidden","true"),a.style.setProperty("--docx-review-color",(0,h.reviewAuthorColor)(r?.author)),r?.author&&(a.dataset.docxChangeAuthor=r.author),r?.date&&(a.dataset.docxChangeDate=r.date),this.later(()=>t?.setEnd(a,0)),a}renderCommentReference(e){if(!this.options.renderComments)return null;var t=this.document.commentsPart?.commentMap[e.id];if(!t)return null;const r=this.h({tagName:"span",className:`${this.className}-comment-ref`,children:["💬"]});r.dataset.docxChangeKind="comment",r.dataset.docxChangeId=`${t.id}`,r.style.setProperty("--docx-review-color",(0,h.reviewAuthorColor)(t.author)),t.author&&(r.dataset.docxChangeAuthor=t.author),t.date&&(r.dataset.docxChangeDate=t.date);const a=this.h({tagName:"div",className:`${this.className}-comment-popover`,children:[this.h({tagName:"div",className:`${this.className}-comment-author`,children:[t.author]}),this.h({tagName:"div",className:`${this.className}-comment-date`,children:[new Date(t.date).toLocaleString()]}),...this.renderElements(t.children)]});return this.h({tagName:"#fragment",children:[this.h({tagName:"#comment",children:[`comment #${t.id} by ${t.author} on ${t.date}`]}),r,a]})}renderAltChunk(e){if(!this.options.renderAltChunks)return null;var t=this.h({tagName:"iframe",sandbox:"",referrerPolicy:"no-referrer",loading:"lazy"});return this.tasks.push(this.document.loadAltChunk(e.id,this.currentPart).then(e=>{(0,m.setSafeAltChunkSrcdoc)(t,e)})),t}renderDrawing(e){e.cssStyle?.["shape-outside"]&&(e.className=(0,d.cx)(e.className,`${this.className}-float-wrap`));var t=this.toHTML(e,d.ns.html,"div");(e.cssStyle?.float||"absolute"==e.cssStyle?.position)&&(t.dataset.docxFloat="true");const r=e.props?.anchorPosition;r?.vertical?.relative&&(t.dataset.docxAnchorVertical=r.vertical.relative),r?.horizontal?.relative&&(t.dataset.docxAnchorHorizontal=r.horizontal.relative),t.style.display||(t.style.display="inline-block"),t.style.position||(t.style.position="relative"),t.style.textIndent="0px";for(const e of Array.from(t.children??[]))e.style.verticalAlign="top";return t}renderImage(e){let t=this.toHTML(e,d.ns.html,"img",[]),r=e.cssStyle?.transform;if(e.alt&&(t.alt=e.alt),e.title&&(t.title=e.title),e.srcRect&&e.srcRect.some(e=>0!=e)){var[a,n,s,o]=e.srcRect;r=`${r??""} scale(${1/(1-a-s)}, ${1/(1-n-o)})`,t.style.clipPath=`inset(${(100*n).toFixed(2)}% ${(100*s).toFixed(2)}% ${(100*o).toFixed(2)}% ${(100*a).toFixed(2)}%)`,t.style.transformOrigin="top left"}return e.rotation&&(r=`rotate(${e.rotation}deg) ${r??""}`),t.style.transform=r?.trim(),this.document&&e.src&&this.tasks.push(this.document.loadDocumentImage(e.src,this.currentPart,this.options.externalResourcePolicy).then(e=>{e&&t.setAttribute("src",e)})),t}renderShape(e){if(e.props?.dmlSvg)return this.renderDmlSvgShape(e);const t=e.props?.dmlTextBox?[this.renderDmlTextBox(e)]:null,r=this.toHTML(e,d.ns.html,"div",t);return r.style.display||(r.style.display="inline-block"),e.title&&(r.title=e.title),e.alt&&(r.setAttribute("role","img"),r.setAttribute("aria-label",e.alt)),r}renderDmlTextBox(e){return this.h({tagName:"div",className:`${this.className}-shape-textbox`,style:{"box-sizing":"border-box",display:"flex","flex-direction":"column","justify-content":e.props?.textVerticalAlign??"flex-start","align-items":"stretch",width:"100%",height:"100%",overflow:"hidden",...e.props?.textInsets??{}},children:this.renderElements(e.children)})}renderDmlSvgShape(e){const t=this.createSvgElement("svg",{style:e.cssStyle}),r=e.props??{};t.setAttribute("viewBox",r.viewBox??"0 0 1 1"),t.setAttribute("preserveAspectRatio","none"),t.setAttribute("focusable","false"),e.title&&t.appendChild(this.createSvgElement("title",null,[e.title])),e.alt&&(t.setAttribute("role","img"),t.setAttribute("aria-label",e.alt));const a=this.createSvgElement("path");return a.setAttribute("d",r.pathD??""),a.setAttribute("fill",this.darkenColorAttr(r.fill??"none")),a.setAttribute("stroke",this.darkenColorAttr(r.stroke??"none")),a.setAttribute("stroke-width",r.strokeWidth??"0"),a.setAttribute("stroke-linejoin","round"),a.setAttribute("stroke-linecap","round"),r.strokeDasharray&&a.setAttribute("stroke-dasharray",r.strokeDasharray),t.appendChild(a),t}renderChart(e){const t=this.toHTML(e,d.ns.html,"div",[]);if(t.className=(0,d.cx)(t.className,`${this.className}-chart`),e.title&&(t.title=e.title),e.alt&&(t.setAttribute("role","img"),t.setAttribute("aria-label",e.alt)),t.appendChild(this.renderGraphicLoading("Chart")),e.id){const r=this.currentPart;this.tasks.push(this.document.loadRelationshipXml(e.id,r).then(e=>{t.textContent="",t.appendChild(e?this.renderChartSvg(e):this.renderGraphicLoading("Chart"))}).catch(()=>{t.textContent="",t.appendChild(this.renderGraphicLoading("Chart"))}))}return t}renderSmartArt(e){const t=this.toHTML(e,d.ns.html,"div",[]);if(t.className=(0,d.cx)(t.className,`${this.className}-smartart`),e.title&&(t.title=e.title),e.alt&&(t.setAttribute("role","img"),t.setAttribute("aria-label",e.alt)),t.appendChild(this.renderGraphicLoading("SmartArt")),e.dataId){const r=this.currentPart;this.tasks.push(this.document.loadRelationshipXml(e.dataId,r).then(e=>{t.textContent="",t.appendChild(e?this.renderSmartArtSvg(e):this.renderGraphicLoading("SmartArt"))}).catch(()=>{t.textContent="",t.appendChild(this.renderGraphicLoading("SmartArt"))}))}return t}renderInk(e){const t=this.toHTML(e,d.ns.html,"div",[]);if(t.className=(0,d.cx)(t.className,`${this.className}-ink`),e.title&&(t.title=e.title),e.alt&&(t.setAttribute("role","img"),t.setAttribute("aria-label",e.alt)),t.appendChild(this.renderGraphicLoading("Ink")),e.id){const r=this.currentPart;this.tasks.push(this.document.loadRelationshipText(e.id,r).then(a=>{if(t.textContent="",a?.trim().startsWith("<"))try{return void t.appendChild(this.renderInkSvg((0,u.parseXmlString)(a,!0)))}catch{}return this.document.loadRelationshipBlobUrl(e.id,r,this.options.externalResourcePolicy).then(r=>{t.textContent="",r?t.appendChild(this.h({tagName:"img",src:r,alt:e.alt??"Ink",style:{width:"100%",height:"100%",objectFit:"contain"}})):t.appendChild(this.renderGraphicLoading("Ink"))})}).catch(()=>{t.textContent="",t.appendChild(this.renderGraphicLoading("Ink"))}))}return t}renderGraphicLoading(e){return this.h({tagName:"span",style:{display:"inline-flex","align-items":"center","justify-content":"center",width:"100%",height:"100%","min-width":"2in","min-height":"1in",border:"1px solid currentColor"},children:[`[${e}]`]})}renderChartSvg(e){const t=e.documentElement,r=this.detectChartType(t),a=this.parseChartSeries(t,r),n=this.createSvgElement("svg",{style:{width:"100%",height:"100%",display:"block"}});n.setAttribute("viewBox","0 0 640 360"),n.setAttribute("preserveAspectRatio","xMidYMid meet");const s=this.extractChartTitle(t);if(s&&n.appendChild(this.svgText(s,320,24,"middle","14px","bold")),0==a.length||a.every(e=>0==e.values.length))return n.appendChild(this.svgText("Chart",320,180,"middle","18px")),n;switch(r){case"pieChart":case"doughnutChart":this.drawPieChart(n,a[0]);break;case"lineChart":case"scatterChart":case"areaChart":this.drawLineChart(n,a,"areaChart"==r);break;default:this.drawBarChart(n,a)}return n}detectChartType(e){return["barChart","bar3DChart","lineChart","pieChart","doughnutChart","areaChart","scatterChart","ofPieChart","radarChart"].find(t=>this.firstByLocal(e,t))??"barChart"}parseChartSeries(e,t){const r=this.firstByLocal(e,t)??e;return this.elementsByLocal(r,"ser").map((e,t)=>{const r=this.firstByLocal(e,"tx"),a=this.firstByLocal(e,"cat")??this.firstByLocal(e,"xVal"),n=this.firstByLocal(e,"val")??this.firstByLocal(e,"yVal"),s=this.chartCacheValues(a),o=this.chartCacheValues(n).map(e=>parseFloat(e)).filter(e=>!Number.isNaN(e));return{name:this.chartText(r)||`Series ${t+1}`,categories:s.length>0?s:o.map((e,t)=>`${t+1}`),values:o}})}chartCacheValues(e){return e?this.elementsByLocal(e,"pt").map(e=>({index:parseInt(e.getAttribute("idx")??"0",10),value:this.firstByLocal(e,"v")?.textContent??""})).sort((e,t)=>e.index-t.index).map(e=>e.value):[]}chartText(e){if(!e)return"";const t=this.chartCacheValues(e);if(t.length>0)return t.join(" ");return this.elementsByLocal(e,"t").map(e=>e.textContent).filter(Boolean).join(" ").trim()||(this.firstByLocal(e,"v")?.textContent?.trim()??"")}extractChartTitle(e){const t=this.firstByLocal(e,"title");return this.chartText(t)}drawBarChart(e,t){const r=300,a=t[0]?.categories??[],n=Math.max(1,...t.flatMap(e=>e.values)),s=540/Math.max(a.length,1),o=s/Math.max(t.length+1,2);e.appendChild(this.svgLine(60,r,600,r)),e.appendChild(this.svgLine(60,r,60,70)),t.forEach((t,a)=>{t.values.forEach((t,i)=>{const l=Math.max(0,t/n*230),c=this.createSvgElement("rect");c.setAttribute("x",""+(60+i*s+a*o+.2*o)),c.setAttribute("y",""+(r-l)),c.setAttribute("width",""+.8*o),c.setAttribute("height",`${l}`),c.style.fill=this.chartColor(a),e.appendChild(c)})}),a.slice(0,12).forEach((t,r)=>{e.appendChild(this.svgText(t,60+r*s+s/2,318,"middle","10px"))}),this.drawBottomLegend(e,t.map(e=>e.name),335)}drawLineChart(e,t,r=!1){const a=300,n=Math.max(1,...t.flatMap(e=>e.values)),s=Math.max(...t.map(e=>e.values.length),1),o=540/Math.max(s-1,1);e.appendChild(this.svgLine(60,a,600,a)),e.appendChild(this.svgLine(60,a,60,70)),t.forEach((t,s)=>{const i=t.values.map((e,t)=>[60+t*o,a-e/n*230]),l=this.createSvgElement("path");if(l.setAttribute("d",i.map((e,t)=>`${0==t?"M":"L"}${e[0]},${e[1]}`).join(" ")),l.style.stroke=this.chartColor(s),l.style.strokeWidth="2",l.style.fill="none",e.appendChild(l),r&&i.length>1){const t=this.createSvgElement("path");t.setAttribute("d",`${i.map((e,t)=>`${0==t?"M":"L"}${e[0]},${e[1]}`).join(" ")} L${i[i.length-1][0]},300 L${i[0][0]},300 Z`),t.style.fill=this.chartColor(s),t.style.opacity="0.25",e.appendChild(t)}for(const[t,r]of i){const a=this.createSvgElement("circle");a.setAttribute("cx",`${t}`),a.setAttribute("cy",`${r}`),a.setAttribute("r","3"),a.style.fill=this.chartColor(s),e.appendChild(a)}}),(t[0]?.categories??[]).slice(0,12).forEach((t,r)=>{e.appendChild(this.svgText(t,60+r*o,318,"middle","10px"))}),this.drawBottomLegend(e,t.map(e=>e.name),335)}drawPieChart(e,t){const r=t.values,a=t.categories,n=r.reduce((e,t)=>e+Math.max(0,t),0)||1;let s=-90;r.forEach((t,r)=>{const o=Math.max(0,t)/n*360,i=this.createSvgElement("path");i.setAttribute("d",this.pieSlicePath(300,180,110,s,s+o)),i.style.fill=this.chartColor(r),e.appendChild(i),this.drawLegend(e,a[r]??`${r+1}`,r,450,90+22*r),s+=o})}pieSlicePath(e,t,r,a,n){const s=this.polar(e,t,r,n),o=this.polar(e,t,r,a),i=n-a<=180?"0":"1";return`M${e},${t} L${s.x},${s.y} A${r},${r} 0 ${i},0 ${o.x},${o.y} Z`}polar(e,t,r,a){const n=(a-90)*Math.PI/180;return{x:e+r*Math.cos(n),y:t+r*Math.sin(n)}}drawLegend(e,t,r,a,n){const s=this.createSvgElement("rect");s.setAttribute("x",`${a}`),s.setAttribute("y",""+(n-10)),s.setAttribute("width","10"),s.setAttribute("height","10"),s.style.fill=this.chartColor(r),e.appendChild(s),e.appendChild(this.svgText(t,a+14,n,"start","10px"))}drawBottomLegend(e,t,r){if(0==t.length)return;const a=t.map(e=>14+this.chartLegendTextWidth(e)),n=a.reduce((e,t)=>e+t,0)+18*Math.max(0,t.length-1),s=this.createSvgElement("g");s.setAttribute("data-docx-chart-legend","bottom"),s.setAttribute("transform",`translate(${Math.max(0,(640-n)/2)}, 0)`);let o=0;t.forEach((e,t)=>{this.drawLegend(s,e,t,o,r),o+=a[t]+18}),e.appendChild(s)}chartLegendTextWidth(e){return Array.from(e).reduce((e,t)=>/\s/.test(t)?e+3:e+((t.codePointAt(0)??0)>255?10:6),0)}chartColor(e){return`hsl(${47*e%360}, 65%, 48%)`}renderSmartArtSvg(e){const t=e.documentElement,r=this.elementsByLocal(t,"pt").map(e=>({id:e.getAttribute("modelId"),type:e.getAttribute("type"),text:this.elementsByLocal(e,"t").map(e=>e.textContent).filter(Boolean).join(" ").trim()})).filter(e=>e.id&&e.text&&"doc"!=e.type),a=this.elementsByLocal(t,"cxn").map(e=>({src:e.getAttribute("srcId"),dst:e.getAttribute("destId")})).filter(e=>e.src&&e.dst&&r.some(t=>t.id==e.src)&&r.some(t=>t.id==e.dst)),n=this.createSvgElement("svg",{style:{width:"100%",height:"100%",display:"block"}});if(n.setAttribute("viewBox","0 0 640 360"),n.setAttribute("preserveAspectRatio","xMidYMid meet"),0==r.length)return n.appendChild(this.svgText("SmartArt",320,180,"middle","18px")),n;const s=this.layoutDiagramNodes(r,a),o={},i=Math.min(90,260/Math.max(s.length,1));s.forEach((e,t)=>{const r=55+t*i,a=560/Math.max(e.length,1);e.forEach((e,t)=>{o[e.id]={x:40+a*t+Math.max(0,a-140)/2,y:r}})});for(const e of a){const t=o[e.src],r=o[e.dst];t&&r&&n.appendChild(this.svgLine(t.x+70,t.y+44,r.x+70,r.y))}return r.forEach((e,t)=>{const r=o[e.id];if(!r)return;const a=this.createSvgElement("rect");a.setAttribute("x",`${r.x}`),a.setAttribute("y",`${r.y}`),a.setAttribute("width","140"),a.setAttribute("height","44"),a.setAttribute("rx","8"),a.style.fill=this.chartColor(t),a.style.opacity="0.18",a.style.stroke=this.chartColor(t),n.appendChild(a),n.appendChild(this.svgText(e.text,r.x+70,r.y+27,"middle","11px"))}),n}layoutDiagramNodes(e,t){const r=new Map(e.map(e=>[e.id,0]));t.forEach(e=>r.set(e.dst,(r.get(e.dst)??0)+1));let a=e.filter(e=>0==(r.get(e.id)??0));const n=new Set,s=[];for(0==a.length&&(a=e.slice(0,1));a.length>0;){s.push(a),a.forEach(e=>n.add(e.id));const r=t.filter(e=>a.some(t=>t.id==e.src)).map(e=>e.dst).filter(e=>!n.has(e));a=[...new Set(r)].map(t=>e.find(e=>e.id==t)).filter(Boolean)}const o=e.filter(e=>!n.has(e.id));return o.length>0&&s.push(o),s}renderInkSvg(e){const t=this.createSvgElement("svg",{style:{width:"100%",height:"100%",display:"block"}});t.setAttribute("viewBox","0 0 640 360"),t.setAttribute("preserveAspectRatio","xMidYMid meet");const r=this.elementsByLocal(e.documentElement,"trace").map(e=>this.inkTraceToPoints(e.textContent)),a=this.elementsByLocal(e.documentElement,"path").map(e=>e.getAttribute("d")).filter(Boolean);if(0==r.length&&0==a.length)return t.appendChild(this.svgText("Ink",320,180,"middle","18px")),t;const n=r.flat(),s=Math.min(...n.map(e=>e[0]),0),o=Math.min(...n.map(e=>e[1]),0),i=Math.max(...n.map(e=>e[0]),640),l=Math.max(...n.map(e=>e[1]),360),c=Math.min(600/Math.max(i-s,1),320/Math.max(l-o,1)),d=20-s*c,u=20-o*c;for(const e of r){if(e.length<2)continue;const r=this.createSvgElement("path");r.setAttribute("d",e.map((e,t)=>`${0==t?"M":"L"}${e[0]*c+d},${e[1]*c+u}`).join(" ")),r.style.fill="none",r.style.stroke="currentColor",r.style.strokeWidth="2",r.style.strokeLinecap="round",r.style.strokeLinejoin="round",t.appendChild(r)}for(const e of a){const r=this.createSvgElement("path");r.setAttribute("d",e),r.style.fill="none",r.style.stroke="currentColor",r.style.strokeWidth="2",t.appendChild(r)}return t}inkTraceToPoints(e){const t=(e??"").match(/-?\d+(?:\.\d+)?/g)?.map(Number)??[],r=[];for(let e=0;e+1<t.length;e+=2)r.push([t[e],t[e+1]]);return r}svgLine(e,t,r,a){const n=this.createSvgElement("line");return n.setAttribute("x1",`${e}`),n.setAttribute("y1",`${t}`),n.setAttribute("x2",`${r}`),n.setAttribute("y2",`${a}`),n.style.stroke="currentColor",n.style.strokeWidth="1",n}svgText(e,t,r,a="start",n="12px",s=null){const o=this.createSvgElement("text");return o.setAttribute("x",`${t}`),o.setAttribute("y",`${r}`),o.setAttribute("text-anchor",a),o.style.fill="currentColor",o.style.fontSize=n,s&&(o.style.fontWeight=s),o.appendChild(document.createTextNode(e)),o}elementsByLocal(e,t){const r=e.documentElement??e;return Array.from(r.getElementsByTagName("*")).filter(e=>e.localName==t)}firstByLocal(e,t){return this.elementsByLocal(e,t)[0]??null}renderSimpleField(e){const t=this.evaluateFieldNode(e);return void 0===t?this.renderElements(e.children??[]):null==t?null:(0,s.isString)(t)?this.renderFieldText(t,e.instruction):t}renderFieldText(e,t){const r=this.h({tagName:"span",className:`${this.className}-field`,children:[e]});return t&&(r.dataset.docxFieldInstr=t),r}evaluateFieldNode(e){const t=(e.instruction??"").replace(/\s+/g," ").trim();if(!t)return;if(t.startsWith("=")){const e=this.evaluateFormula(t.substring(1));return null==e?void 0:this.applyFieldFormatting(`${e}`,t)}const r=this.tokenizeFieldInstruction(t),a=r[0]?.replace(/^=/,"").toUpperCase();if(!this.shouldPreserveStoredFieldResult(a,e))switch(a){case"PAGE":return this.applyFieldFormatting(this.formatFieldNumber(this.currentPageNumber,this.currentSectionProps?.pageNumber?.format),t);case"NUMPAGES":return this.applyFieldFormatting(this.formatFieldNumber(this.totalPages,this.currentSectionProps?.pageNumber?.format),t);case"SECTIONPAGES":return this.applyFieldFormatting(this.formatFieldNumber(this.sectionPageCount,this.currentSectionProps?.pageNumber?.format),t);case"SECTION":return this.applyFieldFormatting(this.formatFieldNumber(this.currentSectionNumber,"decimal"),t);case"DATE":case"TIME":case"CREATEDATE":case"SAVEDATE":case"PRINTDATE":return this.applyFieldFormatting(this.evaluateDateField(r,a),t);case"AUTHOR":return this.applyFieldFormatting(this.document.corePropsPart?.props?.creator??"",t);case"TITLE":return this.applyFieldFormatting(this.document.corePropsPart?.props?.title??"",t);case"SUBJECT":return this.applyFieldFormatting(this.document.corePropsPart?.props?.subject??"",t);case"KEYWORDS":return this.applyFieldFormatting(this.document.corePropsPart?.props?.keywords??"",t);case"NUMWORDS":return this.applyFieldFormatting(`${this.document.extendedPropsPart?.props?.words??""}`,t);case"NUMCHARS":return this.applyFieldFormatting(`${this.document.extendedPropsPart?.props?.characters??""}`,t);case"FILENAME":return this.applyFieldFormatting(this.document.documentPart?.path?.split("/").pop()??"",t);case"DOCPROPERTY":return this.applyFieldFormatting(this.evaluateDocPropertyField(r),t);case"DOCVARIABLE":return this.applyFieldFormatting(this.evaluateDocVariableField(r),t);case"MERGEFIELD":return;case"SET":return this.evaluateSetField(r),null;case"QUOTE":return this.applyFieldFormatting(r.slice(1).map(e=>this.resolveFieldValue(e)).join(""),t);case"HYPERLINK":return this.renderHyperlinkField(r,e);case"IF":return this.applyFieldFormatting(this.evaluateIfField(r),t);case"REF":case"STYLEREF":case"NOTEREF":return this.applyFieldFormatting(this.evaluateRefField(r),t);case"PAGEREF":return this.applyFieldFormatting(this.evaluatePageRefField(r),t);case"SEQ":return this.applyFieldFormatting(this.evaluateSeqField(r),t);case"LISTNUM":return this.applyFieldFormatting(this.evaluateListNumField(r),t);case"TC":case"XE":return null;case"TOC":return this.renderTocField(r);case"SYMBOL":return this.evaluateSymbolField(r)}}shouldPreserveStoredFieldResult(e,t){if(!this.options.preserveComplexFieldResults||!t.children?.length)return!1;switch(e){case"PAGE":case"NUMPAGES":case"SECTIONPAGES":case"SECTION":return!1;case"PAGEREF":return!this.options.updatePageReferences;case"TOC":case"REF":case"STYLEREF":case"NOTEREF":case"SEQ":case"LISTNUM":case"IF":case"DOCVARIABLE":case"MERGEFIELD":return!0}return!1}tokenizeFieldInstruction(e){const t=[];let r="",a=null,n=!1;for(const s of e)n?(r+=s,n=!1):"\\"!=s?'"'!=s&&"'"!=s?!/\s/.test(s)||a?r+=s:r&&(t.push(r),r=""):a==s?(a=null,t.push(r),r=""):a?r+=s:(r.trim()&&t.push(r.trim()),r="",a=s):a?n=!0:(r&&(t.push(r),r=""),r="\\");return r&&t.push(r),t}fieldSwitch(e,t){const r=t.toLowerCase(),a=e.findIndex(e=>e.toLowerCase()==r);return a>=0?e[a+1]:null}hasFieldSwitch(e,t){const r=t.toLowerCase();return e.some(e=>e.toLowerCase()==r)}firstFieldArgument(e,t=1){for(let r=t;r<e.length;r++){if(!e[r]?.startsWith("\\"))return e[r];r++}return null}evaluateDateField(e,t){const r=this.fieldSwitch(e,"\\@"),a=new Date;return r?this.formatFieldDate(a,r):"TIME"==t?a.toLocaleTimeString():a.toLocaleDateString()}formatFieldDate(e,t){const r=(e,t=2)=>`${e}`.padStart(t,"0"),a=["January","February","March","April","May","June","July","August","September","October","November","December"],n=a.map(e=>e.substring(0,3)),s=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],o=s.map(e=>e.substring(0,3)),i=[[/yyyy/g,`${e.getFullYear()}`],[/yy/g,r(e.getFullYear()%100)],[/MMMM/g,a[e.getMonth()]],[/MMM/g,n[e.getMonth()]],[/MM/g,r(e.getMonth()+1)],[/M/g,`${e.getMonth()+1}`],[/dddd/g,s[e.getDay()]],[/ddd/g,o[e.getDay()]],[/dd/g,r(e.getDate())],[/d/g,`${e.getDate()}`],[/HH/g,r(e.getHours())],[/H/g,`${e.getHours()}`],[/hh/g,r((e.getHours()+11)%12+1)],[/h/g,""+((e.getHours()+11)%12+1)],[/mm/g,r(e.getMinutes())],[/m/g,`${e.getMinutes()}`],[/ss/g,r(e.getSeconds())],[/s/g,`${e.getSeconds()}`],[/AM\/PM/g,e.getHours()<12?"AM":"PM"],[/am\/pm/g,e.getHours()<12?"am":"pm"]];let l=t;for(const[e,t]of i)l=l.replace(e,t);return l}evaluateDocPropertyField(e){const t=this.firstFieldArgument(e)?.toLowerCase();if(!t)return"";const r={...this.document.corePropsPart?.props??{},...this.document.extendedPropsPart?.props??{}};for(const[e,a]of Object.entries(r))if(e.toLowerCase()==t)return null==a?"":`${a}`;return""}evaluateSetField(e){const t=this.firstFieldArgument(e);if(!t)return;const r=e.slice(e.indexOf(t)+1).filter(e=>!e.startsWith("\\")).map(e=>this.resolveFieldValue(e)).join(" ");this.fieldSetValues[t]=r}evaluateDocVariableField(e){const t=this.firstFieldArgument(e);return t?this.fieldSetValues[t]??"":""}renderHyperlinkField(e,t){const r=this.fieldSwitch(e,"\\l"),a=this.firstFieldArgument(e)??"",n=r?`${a}#${r}`:a,s=this.h({tagName:"a",children:this.renderElements(t.children??[])});return this.applyHyperlinkTarget(s,n,!!a),s.textContent||(s.textContent=n||r),s}evaluateIfField(e){const t=["<>",">=","<=","=",">","<"],r=e.findIndex((e,r)=>r>0&&t.includes(e));if(r<0)return"";const a=this.resolveFieldValue(e.slice(1,r).join(" ")),n=e[r],s=this.resolveFieldValue(e[r+1]??""),o=e[r+2]??"",i=e[r+3]??"",l=parseFloat(a),c=parseFloat(s),d=!Number.isNaN(l)&&!Number.isNaN(c),u=d?l:a,h=d?c:s;let p=!1;switch(n){case"=":p=u==h;break;case"<>":p=u!=h;break;case">":p=u>h;break;case"<":p=u<h;break;case">=":p=u>=h;break;case"<=":p=u<=h}return this.resolveFieldValue(p?o:i)}resolveFieldValue(e){const t=(e??"").trim();if(/^[-+]?\d+(?:\.\d+)?$/.test(t))return t;if(this.bookmarkTextMap.hasOwnProperty(t))return this.bookmarkTextMap[t];if(this.fieldSetValues.hasOwnProperty(t))return this.fieldSetValues[t];if(t.startsWith("=")){const e=this.evaluateFormula(t.substring(1));return null==e?"":`${e}`}const r=this.tokenizeFieldInstruction(t)[0]?.toUpperCase();if(["PAGE","NUMPAGES","SECTIONPAGES","SECTION","DATE","TIME","AUTHOR","TITLE","SUBJECT","KEYWORDS","REF","PAGEREF","SEQ","DOCPROPERTY"].includes(r)){const e=this.evaluateFieldNode({type:n.DomType.SimpleField,instruction:t,lock:!1,dirty:!1,children:[]});if((0,s.isString)(e))return e}return t}evaluateRefField(e){const t=this.firstFieldArgument(e);return t?this.bookmarkTextMap[t]??this.fieldSetValues[t]??"":""}evaluatePageRefField(e){const t=this.firstFieldArgument(e);return t?`${null!=this.bookmarkTextMap[t]?Math.max(this.currentPageNumber,1):1}`:""}evaluateSeqField(e){const t=this.firstFieldArgument(e);if(!t)return"";if(this.hasFieldSwitch(e,"\\h"))return"";const r=this.fieldSwitch(e,"\\r"),a=this.hasFieldSwitch(e,"\\c");null!=r?this.fieldSeqCounters[t]=parseInt(r,10)||0:a||(this.fieldSeqCounters[t]=(this.fieldSeqCounters[t]??0)+1);const n=this.fieldSwitch(e,"\\*")??"decimal";return this.formatFieldNumber(this.fieldSeqCounters[t]??0,this.fieldFormatSwitchToNumFormat(n))}evaluateListNumField(e){const t=this.firstFieldArgument(e)??"LISTNUM";this.fieldSeqCounters[t]=(this.fieldSeqCounters[t]??0)+1;const r=this.fieldSwitch(e,"*")??"decimal";return this.formatFieldNumber(this.fieldSeqCounters[t],this.fieldFormatSwitchToNumFormat(r))}renderTocField(e){let t=1,r=9;const a=this.fieldSwitch(e,"\\o");if(a){const e=/(\d+)\s*-\s*(\d+)/.exec(a);e&&(t=parseInt(e[1],10),r=parseInt(e[2],10))}const n=this.tocEntries.filter(e=>e.level>=t&&e.level<=r).map(e=>{const t=this.h({tagName:"span",className:`${this.className}-toc-page`,children:["1"]});return t.dataset.docxPageRef=e.id,this.h({tagName:"div",className:`${this.className}-toc-entry ${this.className}-toc-level-${e.level}`,children:[this.h({tagName:"a",className:`${this.className}-toc-title`,href:`#${e.id}`,children:[e.text]}),t]})});return this.h({tagName:"div",className:`${this.className}-toc`,children:n})}evaluateSymbolField(e){const t=parseInt(e[1],10);return Number.isFinite(t)?String.fromCharCode(t):""}evaluateFormula(e){const t=e.replace(/,/g,"").trim();if(!/^[0-9+\-*/().\s]+$/.test(t))return null;try{const e=Function(`"use strict"; return (${t});`)();return Number.isFinite(e)?e:null}catch{return null}}applyFieldFormatting(e,t){const r=this.tokenizeFieldInstruction(t);let a=e??"";const n=this.fieldSwitch(r,"\\*"),s=n?.toUpperCase(),o=this.fieldSwitch(r,"\\#");if(o){const e=parseFloat(a);Number.isNaN(e)||(a=this.formatNumberPicture(e,o))}switch(s){case"UPPER":a=a.toUpperCase();break;case"LOWER":a=a.toLowerCase();break;case"FIRSTCAP":a=a.substring(0,1).toUpperCase()+a.substring(1).toLowerCase();break;case"CAPS":a=a.replace(/\b\w/g,e=>e.toUpperCase());break;case"ROMAN":{const e=parseInt(a,10);Number.isNaN(e)||(a="roman"==n?this.toRoman(e).toLowerCase():this.toRoman(e).toUpperCase());break}case"ALPHABETIC":{const e=parseInt(a,10);Number.isNaN(e)||(a="alphabetic"==n?this.toLetters(e).toLowerCase():this.toLetters(e).toUpperCase());break}}return a}formatNumberPicture(e,t){const r=t.indexOf("."),a=r>=0?t.length-r-1:0;let n=e.toFixed(a);if(t.includes(",")){const[e,t]=n.split(".");n=e.replace(/\B(?=(\d{3})+(?!\d))/g,",")+(null!=t?`.${t}`:"")}return n}fieldFormatSwitchToNumFormat(e){if("roman"==e)return"lowerRoman";if("alphabetic"==e)return"lowerLetter";switch(e?.toUpperCase()){case"ROMAN":return"upperRoman";case"ALPHABETIC":return"upperLetter";default:return"decimal"}}formatFieldNumber(e,t){switch(t){case"upperRoman":return this.toRoman(e).toUpperCase();case"lowerRoman":return this.toRoman(e).toLowerCase();case"upperLetter":return this.toLetters(e).toUpperCase();case"lowerLetter":return this.toLetters(e).toLowerCase();case"decimalZero":return e<10?`0${e}`:`${e}`;default:return`${e}`}}toRoman(e){const t=[[1e3,"M"],[900,"CM"],[500,"D"],[400,"CD"],[100,"C"],[90,"XC"],[50,"L"],[40,"XL"],[10,"X"],[9,"IX"],[5,"V"],[4,"IV"],[1,"I"]];let r=Math.max(Math.floor(e),0),a="";for(const[e,n]of t)for(;r>=e;)a+=n,r-=e;return a||`${e}`}toLetters(e){let t=Math.max(Math.floor(e),1),r="";for(;t>0;)t--,r=String.fromCharCode(65+t%26)+r,t=Math.floor(t/26);return r}renderRuby(e){const t=e.children?.find(e=>e.type==n.DomType.RubyBase),r=e.children?.find(e=>e.type==n.DomType.RubyText),a=[...t?this.renderElements(t.children):[],...r?(0,s.asArray)(this.renderElement(r)).filter(e=>null!=e):[]],o=this.h({tagName:"ruby",children:a});return e.align&&(o.style.rubyAlign=e.align),o}hasRenderedContent(e){for(const t of e??[]){if(!t)continue;const e=t,r=e.nodeType,a=String(e.localName??e.tagName??e.nodeName??"").toLowerCase();if(3==r||"#text"==a){if((e.textContent??e.text??e.data??"").length)return!0;continue}if(["br","img","svg","math","table"].includes(a))return!0;if((e.textContent??"").length)return!0;const n=Array.from(e.childNodes??e.children??[]);if(n.length&&this.hasRenderedContent(n))return!0}return!1}renderText(e){return this.h(this.applyCjkLineBreakGuards(e.text))}applyCjkLineBreakGuards(e){if(!e||!this.document.settingsPart?.settings?.kinsoku)return e;const t=this.document.settingsPart.settings.noLineBreaksBefore??"!),.:;?]}¢°·'\"†‡›℃∶、。々〉》」』】〕〗〙〛〜゠ァィゥェォッャュョヮ・ー-?!%,.:;゛゜ヽヾゝゞー",r=this.document.settingsPart.settings.noLineBreaksAfter??"([{$£¥'\"“‘〈《「『【〔〖〘〚";let a="";for(const n of e)t.includes(n)&&(a+=""),a+=n,r.includes(n)&&(a+="");return a}renderDeletedText(e){return(0,h.isReviewPreviewEnabled)(this.options)||(0,h.reviewModeShowsDeletions)((0,h.resolveReviewMode)(this.options))?this.renderText(e):null}renderBreak(e){switch(e.break){case"textWrapping":case"line":return this.h({tagName:"br"});case"column":return this.h({tagName:"span",style:{breakAfter:"column"}});case"page":return this.options.breakPages?null:this.h({tagName:"span",style:{breakAfter:"page"}});case"lastRenderedPageBreak":return this.options.breakPages||this.options.ignoreLastRenderedPageBreak?null:this.h({tagName:"span",style:{breakAfter:"page"}})}return null}renderInserted(e){return(0,h.isReviewPreviewEnabled)(this.options)?this.renderRevisionContainer(e,"ins"):"original"==(0,h.resolveReviewMode)(this.options)?null:this.renderElements(e.children)}renderDeleted(e){return(0,h.isReviewPreviewEnabled)(this.options)?this.renderRevisionContainer(e,"del"):"original"==(0,h.resolveReviewMode)(this.options)?this.renderElements(e.children):null}renderRevisionContainer(e,t){const r=this.renderContainer(e,t),a=e.props?.revision,n=a?.kind??("ins"==t?"insert":"delete");r.dataset.docxChangeKind=n,this.hasOwnRevisionContent(e)||(r.dataset.docxChangeEmpty="true"),r.style.setProperty("--docx-review-color",(0,h.reviewAuthorColor)(a?.author)),null!=a?.id&&(r.dataset.docxChangeId=`${a.id}`),a?.author&&(r.dataset.docxChangeAuthor=a.author),a?.date&&(r.dataset.docxChangeDate=a.date,r.setAttribute("datetime",a.date));const s=[a?.author,a?.date].filter(Boolean).join(" - ");return s&&r.setAttribute("title",s),r}hasOwnRevisionContent(e){const t=e=>{for(const r of e.children??[])if(!r.props?.revision){if((r.type==n.DomType.Text||r.type==n.DomType.DeletedText)&&(r.text??"").length)return!0;if(r.type==n.DomType.Tab||r.type==n.DomType.PositionalTab||r.type==n.DomType.Break||r.type==n.DomType.Symbol)return!0;if(t(r))return!0}return!1};return t(e)}renderSymbol(e){return this.h({tagName:"span",children:[String.fromCharCode(e.char)],style:{fontFamily:e.font}})}renderFootnoteReference(e){return this.currentFootnoteIds.push(e.id),this.h({tagName:"sup",children:[`${this.currentFootnoteIds.length}`]})}renderEndnoteReference(e){return this.currentEndnoteIds.push(e.id),this.h({tagName:"sup",children:[`${this.currentEndnoteIds.length}`]})}renderTab(e){const t=this.currentParagraph??function(e,t){for(var r=e.parent;null!=r&&r.type!=t;)r=r.parent;return r}(e,n.DomType.Paragraph),r=t?.tabs??[],a=r.filter(e=>"clear"!=e?.style),s=this.currentParagraphTabIndex++,o=this.resolveRenderedTabStop(a,s,this.currentParagraphTabCount);var i=this.h({tagName:"span",className:this.tabStopClass(),children:[" "]});return i.dataset.docxTab="true",o&&(i.dataset.docxTabAlign=o.style??"left",i.dataset.docxTabLeader=o.leader??"none",o.position&&(i.dataset.docxTabPos=o.position)),this.options.experimental&&this.currentTabs.push({stops:r,span:i}),i}renderBookmarkStart(e){const t=this.h({tagName:"span"});return e.name&&(t.id=e.name,t.setAttribute("id",e.name)),t}renderRun(e){const t=e.fieldRun?e.children?.filter(e=>e.type!=n.DomType.Instruction&&e.type!=n.DomType.ComplexField):e.children;if(e.fieldRun&&(!t||0==t.length))return null;let r=this.renderElements(t);if(e.verticalAlign&&(r=[this.h({tagName:e.verticalAlign,children:this.renderElements(t)})]),!e.verticalAlign&&1==t?.length&&(t[0].type==n.DomType.Tab||t[0].type==n.DomType.PositionalTab)&&1==r?.length){const t=r[0];return e.cssStyle&&Object.assign(t.style,e.cssStyle),e.className&&t.classList.add(e.className),t}const a=this.toHTML(e,d.ns.html,"span",r),s=this.findStyle(e.styleName),o=e.cssStyle?.["--docx-snap-to-grid"]??this.styleValue(s,"span","--docx-snap-to-grid");if(/^(0|false|off)$/i.test(o??""))a.style.letterSpacing="normal";else if(/^(1|true|on)$/i.test(o??"")){const e=this.currentSectionProps?.docGrid;"linesAndChars"!=e?.type&&"snapToChars"!=e?.type||!e.charSpace||(a.style.letterSpacing=e.charSpace)}return e.id&&(a.id=e.id),a}renderTable(e){e.columns?.length&&!e.cssStyle?.["table-layout"]&&(e.cssStyle??(e.cssStyle={}),e.cssStyle["table-layout"]="fixed"),this.tableCellPositions.push(this.currentCellPosition),this.tableVerticalMerges.push(this.currentVerticalMerge),this.currentVerticalMerge={},this.currentCellPosition={col:0,row:0};const t=[];return e.columns&&t.push(this.renderTableColumns(e.columns)),t.push(...this.renderElements(e.children)),this.currentVerticalMerge=this.tableVerticalMerges.pop(),this.currentCellPosition=this.tableCellPositions.pop(),this.toHTML(e,d.ns.html,"table",t)}renderTableColumns(e){const t=e.map(e=>this.h({tagName:"col",style:{width:e.width}}));return this.h({tagName:"colgroup",children:t})}renderTableRow(e){this.currentCellPosition.col=0;const t=[],r=this.currentTableRow;this.currentTableRow=e,e.gridBefore&&t.push(this.renderTableCellPlaceholder(e.gridBefore)),t.push(...this.renderElements(e.children)),e.gridAfter&&t.push(this.renderTableCellPlaceholder(e.gridAfter)),this.currentTableRow=r,this.currentCellPosition.row++;const a=this.toHTML(e,d.ns.html,"tr",t);return e.isHeader&&(a.dataset.docxRepeatHeader="true"),a}renderTableCellPlaceholder(e){return this.h({tagName:"td",colSpan:e,style:{border:"none"}})}renderTableCell(e){const t=this.currentTableRow?.isHeader?"th":"td";let r=this.toHTML(e,d.ns.html,t);const n=this.currentCellPosition.col;return e.verticalMerge?"restart"==e.verticalMerge?(this.currentVerticalMerge[n]=r,r.rowSpan=1):this.currentVerticalMerge[n]&&(this.currentVerticalMerge[n].rowSpan+=1,r.style.display="none"):this.currentVerticalMerge[n]=null,e.span&&(r.colSpan=e.span),this.currentCellPosition.col+=r.colSpan,(0,a.renderCellDiagonals)(r,e.props?.diagonalBorders,e=>this.darkenColorAttr(e)),r}renderVmlPicture(e){return this.renderContainer(e,"div")}vmlLengthInPoints(e){if(null==e)return null;const t=String(e).trim(),r=parseFloat(t);return!Number.isFinite(r)||t.endsWith("%")?null:/px$/i.test(t)?.75*r:/in$/i.test(t)?72*r:/cm$/i.test(t)?72*r/2.54:/mm$/i.test(t)?72*r/25.4:/pc$/i.test(t)?12*r:r}vmlRenderContext(e){const t=(0,s.parseCssRules)(e.cssStyleText),[r,a]=e.coordOrigin??[0,0],[n,o]=e.coordSize??[0,0],i=this.vmlLengthInPoints(t.width)??(Math.abs(n)||1),l=this.vmlLengthInPoints(t.height)??(Math.abs(o)||1);return{originX:r,originY:a,scaleX:i/(Math.abs(n)||i),scaleY:l/(Math.abs(o)||l),width:i,height:l}}vmlMappedValue(e,t,r,a){if(null==e)return 0;const n=String(e).trim(),s=parseFloat(n);if(!Number.isFinite(s))return 0;if(/[a-z%]/i.test(n))return this.vmlLengthInPoints(n)??0;const o="x"==r?t.scaleX:t.scaleY,i="x"==r?t.originX:t.originY;return a?s*o:(s-i)*o}vmlBounds(e,t,r){if(r)return r;const a=(0,s.parseCssRules)(e.cssStyleText),n=null==a.width?t.width:this.vmlMappedValue(a.width,t,"x",!0),o=null==a.height?t.height:this.vmlMappedValue(a.height,t,"y",!0);return{x:null==a.left?0:this.vmlMappedValue(a.left,t,"x",!1),y:null==a.top?0:this.vmlMappedValue(a.top,t,"y",!1),width:n,height:o}}vmlCombinedLength(e,t){if(!e)return t;if(!t)return e;const r=this.vmlLengthInPoints(e),a=this.vmlLengthInPoints(t);return null!=r&&null!=a?`${r+a}pt`:`calc(${e} + ${t})`}vmlRootStyle(e){const t=(0,s.parseCssRules)(e.cssStyleText),r={},a=["position","display","left","top","right","bottom","margin-left","margin-top","width","height","z-index","opacity","visibility","overflow"];for(const e of a)null!=t[e]&&(r[e]=t[e]);return"page"==t["mso-position-horizontal-relative"]&&(r.left=this.vmlCombinedLength(r.left,r["margin-left"]),delete r["margin-left"]),"page"==t["mso-position-vertical-relative"]&&(r.top=this.vmlCombinedLength(r.top,r["margin-top"]),delete r["margin-top"]),r.display??(r.display="block"),r.overflow="visible",r["pointer-events"]="none",r}applyVmlAttributes(e,t,r=new Set){for(const[a,n]of Object.entries(t??{}))r.has(a)||e.setAttribute(a,"fill"==a||"stroke"==a?this.darkenColorAttr(n):n)}loadVmlImage(e,t){e.imageHref?.id&&this.tasks.push(this.document?.loadDocumentImage(e.imageHref.id,this.currentPart,this.options.externalResourcePolicy).then(e=>{e&&t.setAttribute("href",e)}))}renderVmlElement(e){const t=this.vmlRenderContext(e),r=this.createSvgElement("svg",{style:this.vmlRootStyle(e)});if(r.setAttribute("viewBox",`0 0 ${t.width} ${t.height}`),r.setAttribute("preserveAspectRatio","none"),r.setAttribute("focusable","false"),"absolute"==e.cssStyle?.position){r.dataset.docxFloat="true";const t=e.props?.anchorPosition;t?.horizontal?.relative&&(r.dataset.docxAnchorHorizontal=t.horizontal.relative),t?.vertical?.relative&&(r.dataset.docxAnchorVertical=t.vertical.relative)}if(e.isGroup){const a=this.createSvgElement("g");for(const r of e.children??[])if(r.type==n.DomType.VmlElement)a.appendChild(this.renderVmlChildElement(r,t));else for(const e of(0,s.asArray)(this.renderElement(r)).filter(e=>null!=e))a.appendChild((0,s.isString)(e)?document.createTextNode(e):e);r.appendChild(a)}else r.appendChild(this.renderVmlChildElement(e,t,{x:0,y:0,width:t.width,height:t.height}));return r}renderVmlChildElement(e,t,r){const a=this.vmlBounds(e,t,r);let o;switch(e.tagName){case"image":{const t=this.createSvgElement("svg");t.setAttribute("x",`${a.x}`),t.setAttribute("y",`${a.y}`),t.setAttribute("width",`${a.width}`),t.setAttribute("height",`${a.height}`),t.setAttribute("viewBox","0 0 100 100"),t.setAttribute("preserveAspectRatio","none"),t.setAttribute("overflow","hidden");const r=this.createSvgElement("image");this.applyVmlAttributes(r,e.attrs),r.setAttribute("x",e.attrs.x??"0"),r.setAttribute("y",e.attrs.y??"0"),r.setAttribute("width",e.attrs.width??"100%"),r.setAttribute("height",e.attrs.height??"100%"),this.loadVmlImage(e,r),t.appendChild(r),o=t;break}case"line":{const r=this.createSvgElement("line"),n=null==e.attrs.x1?a.x:this.vmlMappedValue(e.attrs.x1,t,"x",!1),s=null==e.attrs.y1?a.y:this.vmlMappedValue(e.attrs.y1,t,"y",!1),i=null==e.attrs.x2?a.x+a.width:this.vmlMappedValue(e.attrs.x2,t,"x",!1),l=null==e.attrs.y2?a.y+a.height:this.vmlMappedValue(e.attrs.y2,t,"y",!1);r.setAttribute("x1",`${n}`),r.setAttribute("y1",`${s}`),r.setAttribute("x2",`${i}`),r.setAttribute("y2",`${l}`),this.applyVmlAttributes(r,e.attrs,new Set(["x1","y1","x2","y2"])),e.attrs.stroke||r.setAttribute("stroke","currentColor"),o=r;break}case"path":{const r=this.createSvgElement("path");this.applyVmlAttributes(r,e.attrs,new Set(["d"])),r.setAttribute("d",e.attrs.d??""),r.setAttribute("transform",`matrix(${t.scaleX} 0 0 ${t.scaleY} ${-t.originX*t.scaleX} ${-t.originY*t.scaleY})`),o=r;break}case"rect":{const t=this.createSvgElement("rect");t.setAttribute("x",`${a.x}`),t.setAttribute("y",`${a.y}`),t.setAttribute("width",`${a.width}`),t.setAttribute("height",`${a.height}`),this.applyVmlAttributes(t,e.attrs,new Set(["x","y","width","height"])),o=t;break}case"ellipse":{const t=this.createSvgElement("ellipse");t.setAttribute("cx",`${a.x+a.width/2}`),t.setAttribute("cy",`${a.y+a.height/2}`),t.setAttribute("rx",""+a.width/2),t.setAttribute("ry",""+a.height/2),this.applyVmlAttributes(t,e.attrs,new Set(["cx","cy","rx","ry"])),o=t;break}case"foreignObject":{const t=this.createSvgElement("foreignObject");t.setAttribute("x",`${a.x}`),t.setAttribute("y",`${a.y}`),t.setAttribute("width",`${a.width}`),t.setAttribute("height",`${a.height}`),t.setAttribute("overflow","hidden");const r=this.createElement("div",{style:{width:"100%",height:"100%",overflow:"hidden",boxSizing:"border-box"}});r.setAttribute("xmlns",d.ns.html);for(const t of e.children??[])for(const e of(0,s.asArray)(this.renderElement(t)).filter(e=>null!=e))r.appendChild((0,s.isString)(e)?document.createTextNode(e):e);t.appendChild(r),o=t;break}default:o=this.createSvgElement("g")}if("foreignObject"!=e.tagName)for(const r of e.children??[])if(r.type==n.DomType.VmlElement)o.appendChild(this.renderVmlChildElement(r,t,a));else for(const e of(0,s.asArray)(this.renderElement(r)).filter(e=>null!=e))o.appendChild((0,s.isString)(e)?document.createTextNode(e):e);return o}renderMmlMathParagraph(e){const t=this.renderElements(e.children);for(const e of t)"math"==e?.localName&&e.setAttribute("display","block");return this.h({tagName:"div",className:`${this.className}-math-paragraph`,style:{textAlign:"center"},children:t})}renderMmlPhantom(e){return this.renderContainerNS(e,d.ns.mathML,"mphantom")}renderMmlAccent(e){const t=e.children?.find(e=>e.type==n.DomType.MmlBase),r=this.createMathMLElement("mo",null,[e.props?.char??"^"]),a=t?(0,s.asArray)(this.renderElement(t)).filter(e=>null!=e):[];return this.createMathMLElement("mover",null,[...a,r])}renderMmlRadical(e){const t=e.children.find(e=>e.type==n.DomType.MmlBase);if(e.props?.hideDegree)return this.createMathMLElement("msqrt",null,this.renderElements([t]));const r=e.children.find(e=>e.type==n.DomType.MmlDegree);return this.createMathMLElement("mroot",null,this.renderElements([t,r]))}renderMmlDelimiter(e){const t=[],r=e.props?.beginChar,a=e.props?.endChar;return""!==r&&t.push(this.createMathMLElement("mo",null,[r??"("])),t.push(...this.renderElements(e.children)),""!==a&&t.push(this.createMathMLElement("mo",null,[a??")"])),this.createMathMLElement("mrow",null,t)}renderMmlNary(e){const t=[],r=(0,s.keyBy)(e.children,e=>e.type),a=r[n.DomType.MmlSuperArgument],o=r[n.DomType.MmlSubArgument],i=a?this.createMathMLElement("mrow",null,this.renderElements(a.children)):null,l=o?this.createMathMLElement("mrow",null,this.renderElements(o.children)):null,c=this.createMathMLElement("mo",null,[e.props?.char??"∫"]);return i&&l?t.push(this.createMathMLElement("munderover",null,[c,l,i])):i?t.push(this.createMathMLElement("mover",null,[c,i])):l?t.push(this.createMathMLElement("munder",null,[c,l])):t.push(c),r[n.DomType.MmlBase]&&t.push(...this.renderElements(r[n.DomType.MmlBase].children)),this.createMathMLElement("mrow",null,t)}renderMmlPreSubSuper(e){const t=[],r=(0,s.keyBy)(e.children,e=>e.type),a=r[n.DomType.MmlSuperArgument],o=r[n.DomType.MmlSubArgument],i=this.createMathMLElement("mrow",null,a?this.renderElements(a.children):[]),l=this.createMathMLElement("mrow",null,o?this.renderElements(o.children):[]),c=this.createMathMLElement("mrow",null,[]);return t.push(this.createMathMLElement("msubsup",null,[c,l,i])),r[n.DomType.MmlBase]&&t.push(...this.renderElements(r[n.DomType.MmlBase].children)),this.createMathMLElement("mrow",null,t)}renderMmlGroupChar(e){const t="bot"===e.props?.verticalJustification?"munder":"mover",r=this.createMathMLElement("mrow",null,this.renderElements(e.children)),a=this.createMathMLElement("mo",null,[e.props?.char??"⏞"]);return this.createMathMLElement(t,null,[r,a])}renderMmlBar(e){const t={};switch(e.props.position){case"top":t.textDecoration="overline";break;case"bottom":t.textDecoration="underline"}return this.renderContainerNS(e,d.ns.mathML,"mrow",{style:t})}renderMmlRun(e){const t=this.extractMathRunText(e);if(null!=t){const r=this.renderMathTextTokens(t,e.cssStyle);return r.length?r:null}return this.renderContainerNS(e,d.ns.mathML,"mrow")}extractMathRunText(e){let t="";for(const r of e.children??[])switch(r.type){case n.DomType.Text:t+=r.text??"";break;case n.DomType.DeletedText:(0,h.reviewModeShowsDeletions)((0,h.resolveReviewMode)(this.options))&&(t+=r.text??"");break;case n.DomType.Symbol:t+=String.fromCharCode(r.char);break;case n.DomType.Tab:t+=" ";break;case n.DomType.NoBreakHyphen:t+="‑";break;case n.DomType.SoftHyphen:break;default:return null}return t}renderMathTextTokens(e,t){const r=[];let a=0;for(;a<e.length;){const n=e[a];if(/\s/.test(n)){let t=a+1;for(;t<e.length&&/\s/.test(e[t]);)t++;r.push(this.createMathMLElement("mspace",{width:.25*Math.max(1,t-a)+"em"})),a=t;continue}if(f(n)){let n=a+1;for(;n<e.length&&(f(e[n])||"."==e[n]);)n++;r.push(this.createMathToken("mn",e.substring(a,n),t)),a=n;continue}if(g(n)){let n=a+1;for(;n<e.length&&g(e[n]);)n++;r.push(this.createMathToken("mi",e.substring(a,n),t)),a=n;continue}y(n)?r.push(this.createMathToken("mo",n,t)):r.push(this.createMathToken("mtext",n,t)),a++}return r}createMathToken(e,t,r){return this.createMathMLElement(e,r?{style:r}:null,[t])}renderMllList(e){const t=this.renderElements(e.children).map(e=>this.createMathMLElement("mtr",null,[this.createMathMLElement("mtd",null,[e])]));return this.toHTML(e,d.ns.mathML,"mtable",t)}toH(e,t,r,a=null){const{$lang:n,"$lang-eastAsia":s,"$lang-bidi":o,...i}=e.cssStyle??{};return{ns:t,tagName:r,className:(0,d.cx)(e.className,e.styleName&&this.processStyleName(e.styleName)),lang:n,style:this.darkenStyle(i),children:a??this.renderElements(e.children)}}darkenStyle(e){if(!this.options.darkMode)return e;const t=(0,l.applyDarkModeToStyle)(e);if(t===e)return e;const r={...t};for(const a in t){if(a.startsWith("--"))continue;const n=e[a],s=t[a];s===n||"string"!=typeof s||s.toLowerCase().includes("var(")||(r[a]=this.wrapForPrint(n,s))}return r}darkenColorAttr(e){if(!this.options.darkMode)return e;const t=(0,l.getDarkModeColor)(e);return t===e||t.toLowerCase().includes("var(")?t:this.wrapForPrint(e,t)}wrapForPrint(e,t){let r=this.darkModeVarNames.get(e);return r||(r=`--docx-dm-${this.darkModeVarNames.size}`,this.darkModeVarNames.set(e,r),this.darkModePrintReset[r]=e),`var(${r}, ${t})`}renderDarkModePrintReset(){const e=Object.entries(this.darkModePrintReset);if(!this.options.darkMode||0===e.length)return[];const t=e.map(([e,t])=>` ${e}: ${t};\r\n`).join(""),r=`@media print {\r\n.${this.className} {\r\n${t}}\r\n}\r\n`;return[this.h({tagName:"style",children:[r]})]}toHTML(e,t,r,a=null){const n=this.h(this.toH(e,t,r,a));return 1===n?.nodeType&&this.applyElementRevisionMetadata(n,e),n}applyElementRevisionMetadata(e,t){const r=t.props?.revision;"insert"!==r?.kind&&"delete"!==r?.kind||((0,h.isReviewPreviewEnabled)(this.options)?(e.dataset.docxChangeKind=r.kind,e.style.setProperty("--docx-review-color",(0,h.reviewAuthorColor)(r.author)),null!=r.id&&(e.dataset.docxChangeId=`${r.id}`),r.author&&(e.dataset.docxChangeAuthor=r.author),r.date&&(e.dataset.docxChangeDate=r.date)):"delete"===r.kind&&(e.style.display="none"));const a=t.props?.formatRevisions?.[0];a&&(0,h.isReviewPreviewEnabled)(this.options)&&(e.dataset.docxFormatChange="true",e.style.setProperty("--docx-review-color",(0,h.reviewAuthorColor)(a.author)),null!=a.id&&(e.dataset.docxChangeId=`${a.id}`),a.author&&(e.dataset.docxChangeAuthor=a.author),a.date&&(e.dataset.docxChangeDate=a.date))}findStyle(e){return e&&this.styleMap?.[e]}isTocParagraphStyle(e,t){return[e,t?.id,t?.name,t?.cssName,...t?.aliases??[]].filter(Boolean).map(e=>String(e).replace(/[\s_-]+/g,"").toLowerCase()).some(e=>/^toc[1-9]$/.test(e))}numberingClass(e,t){return`${this.className}-num-${e}-${t}`}numberingSelector(e,t){return`.${this.className} p.${this.numberingClass(e,t)}`}tabStopClass(){return`${this.className}-tab-stop`}scopeDocumentStyleSelector(e){const t=e.trim();return!t||t.startsWith(`.${this.className}`)||t.startsWith(`section.${this.className}`)||t.startsWith(`.${this.className}-wrapper`)?e:`.${this.className} ${e}`}styleToString(e,t,r=null){let a=`${e} {\r\n`;const n=this.darkenStyle(t);for(const e in n)e.startsWith("$")||(a+=` ${e}: ${n[e]};\r\n`);return r&&(a+=r),a+"}\r\n"}numberingCounter(e,t){return`${this.className}-num-${e}-${t}`}numberingRestartLevel(e){if(e.level<=0)return null;if(null==e.restart)return e.level-1;if(0==e.restart)return null;const t=e.restart-1;return t>=0&&t<e.level?t:null}numberingMarkerRunStyle(e,t){if(!e)return e;const r={...e};return t&&delete r["font-family"],r}normalizeNumberingLevelText(e,t,r){if("bullet"!=t||!e)return{text:e,normalized:!1};const a=(r?.["font-family"]??"").toLowerCase();let n=!1,s=null;if(a.includes("wingdings"))s=this.wingdingsBulletMap();else{if(!a.includes("symbol"))return{text:e,normalized:!1};s=this.symbolBulletMap()}let o="";for(const t of e){const e=s[t.charCodeAt(0)];e?(o+=e,n=!0):o+=t}return{text:o,normalized:n}}symbolBulletMap(){return{183:"•",8226:"•",61623:"•"}}wingdingsBulletMap(){return{61548:"●",61550:"■",61557:"◆",61598:"·",61599:"•",61600:"▪",61601:"○",61604:"◉",61605:"◎",61607:"▪",61608:"◻",61656:"➢",61672:"➔",61690:"▫",61691:"✗",61692:"✓",61693:"☒",61694:"☑"}}levelTextToContent(e,t,r,a,n){const s=[];let o=0;for(const t of e.matchAll(/%\d+/g)){t.index>o&&s.push(`"${this.escapeCssString(e.substring(o,t.index))}"`);let i=parseInt(t[0].substring(1),10)-1;const l=n?.get(`${r}:${i}`)??a??"decimal";s.push(`counter(${this.numberingCounter(r,i)}, ${l})`),o=t.index+t[0].length}const i=e.substring(o);i&&s.push(`"${this.escapeCssString(i)}"`);const l=this.numberingSuffixToCssContent(t);return l&&s.push(l),s.length>0?s.join(" "):'""'}numberingSuffixToCssContent(e){switch(e||"tab"){case"nothing":return"";case"space":return'"\\000020"';default:return'"\\000009"'}}escapeCssString(e){return e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\r?\n/g,"\\A ")}numFormatToCssValue(e){return{none:"none",bullet:"disc",decimal:"decimal",lowerLetter:"lower-alpha",upperLetter:"upper-alpha",lowerRoman:"lower-roman",upperRoman:"upper-roman",decimalZero:"decimal-leading-zero",aiueo:"katakana",aiueoFullWidth:"katakana",chineseCounting:"simp-chinese-informal",chineseCountingThousand:"simp-chinese-informal",chineseLegalSimplified:"simp-chinese-formal",chosung:"hangul-consonant",ideographDigital:"cjk-ideographic",ideographTraditional:"cjk-heavenly-stem",ideographLegalTraditional:"trad-chinese-formal",ideographZodiac:"cjk-earthly-branch",iroha:"katakana-iroha",irohaFullWidth:"katakana-iroha",japaneseCounting:"japanese-informal",japaneseDigitalTenThousand:"cjk-decimal",japaneseLegal:"japanese-formal",thaiNumbers:"thai",koreanCounting:"korean-hangul-formal",koreanDigital:"korean-hangul-formal",koreanDigital2:"korean-hanja-informal",hebrew1:"hebrew",hebrew2:"hebrew",hindiNumbers:"devanagari",ganada:"hangul",taiwaneseCounting:"cjk-ideographic",taiwaneseCountingThousand:"cjk-ideographic",taiwaneseDigital:"cjk-decimal"}[e]??e??"decimal"}refreshTabStops(){this.options.experimental&&setTimeout(()=>{const e=(0,o.computePixelToPoint)();for(let t of this.currentTabs)(0,o.updateTabStop)(t.span,t.stops,this.defaultTabSize,e)},500)}createElementNS(e,t,r,a){return this.h({ns:e,tagName:t,children:a,...r})}createElement(e,t,r){return this.createElementNS(d.ns.html,e,t,r)}createMathMLElement(e,t,r){return this.createElementNS(d.ns.mathML,e,t,r)}createSvgElement(e,t,r){return this.createElementNS(d.ns.svg,e,t,r)}later(e){this.postRenderTasks.push(e)}}},"./html":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.ns=void 0,r.h=function e(t){if((0,a.isString)(t))return document.createTextNode(t);if(t instanceof Node)return t;const{ns:r,tagName:n,className:s,style:o,children:i,...l}=t;if("#fragment"===n)return document.createDocumentFragment();if("#comment"===n)return document.createComment(i[0]);const c=r?document.createElementNS(r,n):document.createElement(n);if(s&&c.setAttribute("class",s),o)if((0,a.isString)(o))c.setAttribute("style",o);else for(const[e,t]of Object.entries(o))null!=t&&(e.startsWith("--")||e.includes("-")?c.style.setProperty(e,t):c.style[e]=t);if(l)for(const[e,t]of Object.entries(l))void 0!==t&&(c[e]=t);return i&&i.forEach(t=>c.appendChild(e(t))),c},r.cx=function(...e){return e.filter(Boolean).join(" ")};const a=e("./utils");var n;!function(e){e.html="http://www.w3.org/1999/xhtml",e.svg="http://www.w3.org/2000/svg",e.mathML="http://www.w3.org/1998/Math/MathML"}(n||(r.ns=n={}))},"./input-validation":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.EMPTY_DOCX_ERROR_MESSAGE=void 0,r.assertNonEmptyDocxInput=function(e){if(0===function(e){if(null==e)return 0;if("undefined"!=typeof Blob&&e instanceof Blob)return e.size;if("undefined"!=typeof ArrayBuffer){if(e instanceof ArrayBuffer)return e.byteLength;if(ArrayBuffer.isView(e))return e.byteLength}return"number"==typeof e.size?e.size:"number"==typeof e.byteLength?e.byteLength:"number"==typeof e.length?e.length:null}(e))throw new Error(r.EMPTY_DOCX_ERROR_MESSAGE)},r.EMPTY_DOCX_ERROR_MESSAGE="文件为空或尚未保存,无法作为 Word 文档打开。请在 WPS/Word 中保存后重新上传。"},"./javascript":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.computePixelToPoint=function(e=document.body){const t=document.createElement("div");t.style.width="100pt",e.appendChild(t);const r=100/t.offsetWidth;return e.removeChild(t),r},r.updateTabStop=function(e,t,r,l=.75){const c=e.closest("p");if(!c)return;const d=e.getBoundingClientRect(),u=c.getBoundingClientRect(),h=getComputedStyle(c),p=o(h.marginInlineStart||h.marginLeft),m=o(h.marginInlineEnd||h.marginRight),f=o(h.textIndent),g=t?.length>0?t.map(e=>({pos:i(e.position),leader:e.leader,style:e.style})).sort((e,t)=>e.pos-t.pos):[a],y=p*l,b=g.some(e=>Math.abs(e.pos-y)<=s);f<-s&&y>s&&!b&&(g.push({...a,pos:y}),g.sort((e,t)=>e.pos-t.pos));const x=g[g.length-1],v=(u.width+p+m)*l,k=Number.isFinite(i(r))?i(r):36;let T=x.pos+k;if(T<v)for(;T<v&&g.length<n;T+=k)g.push({...a,pos:T});const w=u.left-p,P=(d.left-w)*l,S=g.find(e=>"clear"!=e.style&&e.pos>P);if(null==S)return;let C=1;if("right"==S.style||"center"==S.style){const t=Array.from(c.querySelectorAll(`.${e.className}`)),r=t.indexOf(e)+1,a=document.createRange();a.setStart(e,1),r<t.length?a.setEndBefore(t[r]):a.setEnd(c,c.childNodes.length);const n="center"==S.style?.5:1,s=a.getBoundingClientRect(),o=s.left+n*s.width-w;C=S.pos-o*l}else C=S.pos-P;const A=Math.max(Number.isFinite(C)?C:0,0);switch(e.textContent=" ",e.style.display="inline-block",e.style.width=`${A.toFixed(2)}pt`,e.style.minWidth="0pt",e.style.lineHeight="1",e.style.whiteSpace="nowrap",e.style.wordSpacing="normal",e.style.textDecoration="none",e.style.borderBottom="",e.style.height="",e.style.transform="",S.leader){case"dot":case"middleDot":e.style.borderBottom="1px dotted currentColor",e.style.height=".85em",e.style.transform="translateY(-.18em)";break;case"hyphen":case"heavy":case"underscore":e.style.borderBottom="1px solid currentColor",e.style.height=".85em",e.style.transform="translateY(-.18em)"}};const a={pos:0,leader:"none",style:"left"},n=50,s=.1;function o(e){const t=parseFloat(e);return Number.isFinite(t)?t:0}function i(e){return parseFloat(e)}},"./length":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.Length=void 0;const a=e("./utils");class n{constructor(e,t){this.value=e,this.type=t}static parse(e){const t=parseFloat(e),r=/p[tx]$/i.exec(e)?.[0];return new n(t,r)}static from(e){return(0,a.isString)(e)?n.parse(e):e instanceof n?e:null}add(e){if(e.type!==this.type)throw new Error("Can't do math on different types");return new n(this.value+e.value,this.type)}mul(e){return new n(this.value*e,this.type)}valueOf(){return this.value}toString(){return`${this.value.toFixed(2)}${this.type??""}`}}r.Length=n},"./license-gate":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.assertViewerLicense=function(e,t){}},"./metafile/emf-to-svg":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.isEmfBinary=o,r.convertEmfToSvgDataUrl=function(e,t){const r=i(e,t);return r?`data:image/svg+xml;charset=utf-8,${encodeURIComponent(r)}`:null},r.convertEmfToSvg=i;const a={HEADER:1,POLYBEZIER:2,POLYGON:3,POLYLINE:4,POLYBEZIERTO:5,POLYLINETO:6,POLYPOLYLINE:7,POLYPOLYGON:8,SETWINDOWEXTEX:9,SETWINDOWORGEX:10,SETVIEWPORTEXTEX:11,SETVIEWPORTORGEX:12,EOF:14,SETPIXELV:15,SETMAPMODE:17,SETBKMODE:18,SETPOLYFILLMODE:19,SETTEXTALIGN:22,SETTEXTCOLOR:24,SETBKCOLOR:25,MOVETOEX:27,SCALEVIEWPORTEXTEX:31,SCALEWINDOWEXTEX:32,SAVEDC:33,RESTOREDC:34,SETWORLDTRANSFORM:35,MODIFYWORLDTRANSFORM:36,SELECTOBJECT:37,CREATEPEN:38,CREATEBRUSHINDIRECT:39,DELETEOBJECT:40,ANGLEARC:41,ELLIPSE:42,RECTANGLE:43,ROUNDRECT:44,ARC:45,CHORD:46,PIE:47,LINETO:54,ARCTO:55,POLYDRAW:56,BEGINPATH:59,ENDPATH:60,CLOSEFIGURE:61,FILLPATH:62,STROKEANDFILLPATH:63,STROKEPATH:64,BITBLT:76,STRETCHBLT:77,STRETCHDIBITS:81,EXTCREATEFONTINDIRECTW:82,EXTTEXTOUTA:83,EXTTEXTOUTW:84,POLYBEZIER16:85,POLYGON16:86,POLYLINE16:87,POLYBEZIERTO16:88,POLYLINETO16:89,POLYPOLYLINE16:90,POLYPOLYGON16:91,POLYDRAW16:92,EXTCREATEPEN:95,POLYTEXTOUTA:96,POLYTEXTOUTW:97,SMALLTEXTOUT:108,ALPHABLEND:114,TRANSPARENTBLT:116},n={0:{type:"brush",color:"#ffffff"},1:{type:"brush",color:"#c0c0c0"},2:{type:"brush",color:"#808080"},3:{type:"brush",color:"#404040"},4:{type:"brush",color:"#000000"},5:{type:"brush",color:"none",nullBrush:!0},6:{type:"pen",color:"#ffffff",width:1},7:{type:"pen",color:"#000000",width:1},8:{type:"pen",color:"none",width:0,nullPen:!0},18:{type:"brush",color:"#ffffff"},19:{type:"pen",color:"#000000",width:1}},s={m11:1,m12:0,m21:0,m22:1,dx:0,dy:0};function o(e){if(!e||e.length<48)return!1;const t=h(e);return t.getUint32(0,!0)==a.HEADER&&1179469088==t.getUint32(40,!0)}function i(e,t={}){if(!o(e))return null;const r=h(e),i=r.getUint32(4,!0),g=p(r,8),v=p(r,24),w=r.byteLength>=52?r.getUint32(48,!0):0,N=Math.max(1,g.right-g.left),U=Math.max(1,g.bottom-g.top),W=Math.max(1,v.right-v.left)/100,j=Math.max(1,v.bottom-v.top)/100,z={world:u(s),windowOrg:{x:0,y:0},windowExt:null,viewportOrg:{x:0,y:0},viewportExt:null,pen:{type:"pen",color:"#000000",width:1},brush:{type:"brush",color:"#ffffff",nullBrush:!0},font:null,textColor:"#000000",bkColor:"#ffffff",bkMode:1,polyFillMode:1,textAlign:0,currentPoint:{x:0,y:0}},V=[],J={},Q=[];let ee=Math.max(8,i||108),te=1,re="",ae=!1,ne=0;const se=t.maxRecords??Math.max(1e4,w+100),oe=t.maxShapes??5e4,ie=e=>{!e||ne>=oe||(Q.push(e),ne++)},le=e=>{e&&(re+=(re?" ":"")+e)};for(;ee+8<=r.byteLength&&te++<=se;){const e=r.getUint32(ee,!0),t=r.getUint32(ee+4,!0);if(t<8||ee+t>r.byteLength)break;switch(e){case a.EOF:ee+=t,te=se+1;break;case a.SETWINDOWEXTEX:z.windowExt=f(r,ee+8);break;case a.SETWINDOWORGEX:z.windowOrg=m(r,ee+8);break;case a.SETVIEWPORTEXTEX:z.viewportExt=f(r,ee+8);break;case a.SETVIEWPORTORGEX:z.viewportOrg=m(r,ee+8);break;case a.SCALEWINDOWEXTEX:z.windowExt&&(z.windowExt=k(r,ee,z.windowExt));break;case a.SCALEVIEWPORTEXTEX:z.viewportExt&&(z.viewportExt=k(r,ee,z.viewportExt));break;case a.SETWORLDTRANSFORM:z.world=y(r,ee+8);break;case a.MODIFYWORLDTRANSFORM:{const e=y(r,ee+8),t=r.getUint32(ee+32,!0);1==t?z.world=u(s):2==t?z.world=b(e,z.world):3==t?z.world=b(z.world,e):4==t&&(z.world=e);break}case a.SAVEDC:V.push(l(z));break;case a.RESTOREDC:{const e=r.getInt32(ee+8,!0);if(e<0)for(let t=0;t<Math.min(-e,V.length);t++)Object.assign(z,V.pop());else if(e>0&&e<=V.length){const t=V[e-1];V.length=e-1,Object.assign(z,l(t))}break}case a.SETBKMODE:z.bkMode=r.getUint32(ee+8,!0);break;case a.SETPOLYFILLMODE:z.polyFillMode=r.getUint32(ee+8,!0);break;case a.SETTEXTALIGN:z.textAlign=r.getUint32(ee+8,!0);break;case a.SETTEXTCOLOR:z.textColor=T(r.getUint32(ee+8,!0));break;case a.SETBKCOLOR:z.bkColor=T(r.getUint32(ee+8,!0));break;case a.CREATEPEN:{const e=r.getUint32(ee+8,!0),t=r.getUint32(ee+12,!0),a=Math.abs(r.getInt32(ee+16,!0)),n=T(r.getUint32(ee+24,!0));J[e]={type:"pen",color:n,width:a||1,nullPen:5==(15&t)};break}case a.EXTCREATEPEN:{const e=r.getUint32(ee+8,!0),t=r.getUint32(ee+28,!0),a=Math.abs(r.getInt32(ee+32,!0)),n=r.getUint32(ee+36,!0),s=T(r.getUint32(ee+40,!0));J[e]={type:"pen",color:s,width:a||1,nullPen:5==(15&t)||1==n};break}case a.CREATEBRUSHINDIRECT:{const e=r.getUint32(ee+8,!0),t=r.getUint32(ee+12,!0),a=T(r.getUint32(ee+16,!0));J[e]={type:"brush",color:a,nullBrush:1==t};break}case a.EXTCREATEFONTINDIRECTW:J[r.getUint32(ee+8,!0)]=O(r,ee+12,t-12);break;case a.SELECTOBJECT:{const e=r.getUint32(ee+8,!0),t=2147483648&e?n[2147483647&e]:J[e];"pen"==t?.type?z.pen=c(t):"brush"==t?.type?z.brush=d(t):"font"==t?.type&&(z.font={...t});break}case a.DELETEOBJECT:delete J[r.getUint32(ee+8,!0)];break;case a.BEGINPATH:ae=!0,re="";break;case a.ENDPATH:ae=!1;break;case a.CLOSEFIGURE:le("Z");break;case a.MOVETOEX:{const e=x(z,m(r,ee+8));z.currentPoint=e,ae&&le(`M ${P(e.x)} ${P(e.y)}`);break}case a.LINETO:{const e=x(z,m(r,ee+8));ae?le(`L ${P(e.x)} ${P(e.y)}`):ie(`<path d="M ${P(z.currentPoint.x)} ${P(z.currentPoint.y)} L ${P(e.x)} ${P(e.y)}" ${C(z,!1,!0)}/>`),z.currentPoint=e;break}case a.POLYLINE:case a.POLYGON:E(r,ee,e==a.POLYGON,!1,ae,z,le,ie);break;case a.POLYLINETO:E(r,ee,!1,!0,ae,z,le,ie);break;case a.POLYLINE16:case a.POLYGON16:M(r,ee,e==a.POLYGON16,!1,ae,z,le,ie);break;case a.POLYLINETO16:M(r,ee,!1,!0,ae,z,le,ie);break;case a.POLYBEZIER:D(r,ee,!1,!1,ae,z,le,ie);break;case a.POLYBEZIERTO:D(r,ee,!1,!0,ae,z,le,ie);break;case a.POLYBEZIER16:D(r,ee,!0,!1,ae,z,le,ie);break;case a.POLYBEZIERTO16:D(r,ee,!0,!0,ae,z,le,ie);break;case a.POLYPOLYLINE:case a.POLYPOLYGON:$(r,ee,e==a.POLYPOLYGON,!1,ae,z,le,ie);break;case a.POLYPOLYLINE16:case a.POLYPOLYGON16:$(r,ee,e==a.POLYPOLYGON16,!0,ae,z,le,ie);break;case a.POLYDRAW:R(r,ee,!1,ae,z,le,ie);break;case a.POLYDRAW16:R(r,ee,!0,ae,z,le,ie);break;case a.RECTANGLE:L(r,ee,z,ie,!1);break;case a.ELLIPSE:F(r,ee,z,ie);break;case a.ROUNDRECT:L(r,ee,z,ie,!0);break;case a.ARC:case a.ARCTO:case a.CHORD:case a.PIE:B(r,ee,e,ae,z,le,ie);break;case a.FILLPATH:A(re,z,ie,!0,!1),re="";break;case a.STROKEPATH:A(re,z,ie,!1,!0),re="";break;case a.STROKEANDFILLPATH:A(re,z,ie,!0,!0),re="";break;case a.EXTTEXTOUTA:case a.EXTTEXTOUTW:I(r,ee,t,z,ie,e==a.EXTTEXTOUTW);break;case a.POLYTEXTOUTA:case a.POLYTEXTOUTW:_(r,ee,t,z,ie,e==a.POLYTEXTOUTW);break;case a.SMALLTEXTOUT:H(r,ee,t,z,ie);break;case a.SETPIXELV:X(r,ee,z,ie);break;case a.BITBLT:case a.STRETCHBLT:case a.STRETCHDIBITS:case a.ALPHABLEND:case a.TRANSPARENTBLT:G(r,ee,t,e,z,ie)}ee+=t}if(re&&A(re,z,ie,!0,!0),!Q.length){const t=function(e,t){const r=function(e){const t=function(e){const t=[137,80,78,71,13,10,26,10];for(let r=0;r+t.length+12<=e.length;r++){if(!Y(e,t,r))continue;let a=r+8;for(;a+12<=e.length;){const t=K(e,a),n=String.fromCharCode(e[a+4],e[a+5],e[a+6],e[a+7]);if(a+=12+t,a>e.length)break;if("IEND"==n)return e.subarray(r,a)}}return null}(e);if(t)return`data:image/png;base64,${Z(t)}`;const r=function(e){for(let t=0;t+4<e.length;t++)if(255==e[t]&&216==e[t+1]&&255==e[t+2])for(let r=t+4;r+1<e.length;r++)if(255==e[r]&&217==e[r+1])return e.subarray(t,r+2);return null}(e);if(r)return`data:image/jpeg;base64,${Z(r)}`;const a=function(e){for(let t=0;t+14<e.length;t++){if(66!=e[t]||77!=e[t+1])continue;const r=q(e,t+2);if(r>14&&t+r<=e.length)return e.subarray(t,t+r)}return null}(e);return a?`data:image/bmp;base64,${Z(a)}`:null}(e);if(!r)return[];const a=Math.max(1,t.right-t.left),n=Math.max(1,t.bottom-t.top);return[`<image x="${P(t.left)}" y="${P(t.top)}" width="${P(a)}" height="${P(n)}" href="${r}" preserveAspectRatio="xMidYMid meet"/>`]}(e,g);t.length&&Q.push(...t)}return Q.length?`<svg xmlns="http://www.w3.org/2000/svg" width="${P(W)}mm" height="${P(j)}mm" viewBox="${P(g.left)} ${P(g.top)} ${P(N)} ${P(U)}" preserveAspectRatio="xMidYMid meet" data-docx-metafile="emf">${Q.join("")}</svg>`:function(e,t,r,a,n){return`<svg xmlns="http://www.w3.org/2000/svg" width="${P(a)}mm" height="${P(n)}mm" viewBox="${P(r.left)} ${P(r.top)} ${P(e)} ${P(t)}" preserveAspectRatio="xMidYMid meet" data-docx-metafile="emf"><rect x="${P(r.left)}" y="${P(r.top)}" width="${P(e)}" height="${P(t)}" fill="none" stroke="#999" stroke-width="1"/><text x="${P(r.left+e/2)}" y="${P(r.top+t/2)}" text-anchor="middle" font-size="12" fill="#666">${S("Unsupported EMF image")}</text></svg>`}(N,U,g,W,j)}function l(e){return{world:u(e.world),windowOrg:{...e.windowOrg},windowExt:e.windowExt?{...e.windowExt}:null,viewportOrg:{...e.viewportOrg},viewportExt:e.viewportExt?{...e.viewportExt}:null,pen:c(e.pen),brush:d(e.brush),font:e.font?{...e.font}:null,textColor:e.textColor,bkColor:e.bkColor,bkMode:e.bkMode,polyFillMode:e.polyFillMode,textAlign:e.textAlign,currentPoint:{...e.currentPoint}}}function c(e){return{...e}}function d(e){return{...e}}function u(e){return{...e}}function h(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function p(e,t){return{left:e.getInt32(t,!0),top:e.getInt32(t+4,!0),right:e.getInt32(t+8,!0),bottom:e.getInt32(t+12,!0)}}function m(e,t){return{x:e.getInt32(t,!0),y:e.getInt32(t+4,!0)}}function f(e,t){return m(e,t)}function g(e,t){return{x:e.getInt16(t,!0),y:e.getInt16(t+2,!0)}}function y(e,t){return{m11:e.getFloat32(t,!0),m12:e.getFloat32(t+4,!0),m21:e.getFloat32(t+8,!0),m22:e.getFloat32(t+12,!0),dx:e.getFloat32(t+16,!0),dy:e.getFloat32(t+20,!0)}}function b(e,t){return{m11:e.m11*t.m11+e.m12*t.m21,m12:e.m11*t.m12+e.m12*t.m22,m21:e.m21*t.m11+e.m22*t.m21,m22:e.m21*t.m12+e.m22*t.m22,dx:e.dx*t.m11+e.dy*t.m21+t.dx,dy:e.dx*t.m12+e.dy*t.m22+t.dy}}function x(e,t){const r=e.world;let a=t.x*r.m11+t.y*r.m21+r.dx,n=t.x*r.m12+t.y*r.m22+r.dy;return e.windowExt&&e.viewportExt&&e.windowExt.x&&e.windowExt.y&&(a=(a-e.windowOrg.x)*e.viewportExt.x/e.windowExt.x+e.viewportOrg.x,n=(n-e.windowOrg.y)*e.viewportExt.y/e.windowExt.y+e.viewportOrg.y),{x:a,y:n}}function v(e){let t=Math.hypot(e.world.m11,e.world.m12),r=Math.hypot(e.world.m21,e.world.m22);e.windowExt&&e.viewportExt&&e.windowExt.x&&e.windowExt.y&&(t*=Math.abs(e.viewportExt.x/e.windowExt.x),r*=Math.abs(e.viewportExt.y/e.windowExt.y));const a=(t+r)/2;return Number.isFinite(a)&&a>0?a:1}function k(e,t,r){const a=e.getInt32(t+8,!0),n=e.getInt32(t+12,!0),s=e.getInt32(t+16,!0),o=e.getInt32(t+20,!0);return{x:n?r.x*a/n:r.x,y:o?r.y*s/o:r.y}}function T(e){const t=e>>8&255,r=e>>16&255;return`#${w(255&e)}${w(t)}${w(r)}`}function w(e){return Math.max(0,Math.min(255,0|e)).toString(16).padStart(2,"0")}function P(e){return Number.isFinite(e)?""+Math.round(1e3*e)/1e3:"0"}function S(e){return`${e??""}`.replace(/[\u0000-\u0008\u000B\u000C\u000E-\u001F\u007F-\u009F]/g,"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}function C(e,t,r){const a=[];if(t&&!e.brush.nullBrush?(a.push(`fill="${e.brush.color}"`),a.push(`fill-rule="${2==e.polyFillMode?"nonzero":"evenodd"}"`)):a.push('fill="none"'),r&&!e.pen.nullPen){const t=v(e),r=0==e.pen.width?1:Math.max(.35,e.pen.width*t);a.push(`stroke="${e.pen.color}"`),a.push(`stroke-width="${P(r)}"`),a.push('stroke-linecap="square"'),a.push('stroke-linejoin="miter"')}else a.push('stroke="none"');return a.join(" ")}function A(e,t,r,a,n){e&&r(`<path d="${e}" ${C(t,a,n)}/>`)}function M(e,t,r,a,n,s,o,i){const l=e.getUint32(t+24,!0);if(!l||t+28+4*l>e.byteLength)return;const c=[];for(let r=0;r<l;r++)c.push(x(s,g(e,t+28+4*r)));N(c,r,a,n,s,o,i)}function E(e,t,r,a,n,s,o,i){const l=e.getUint32(t+24,!0);if(!l||t+28+8*l>e.byteLength)return;const c=[];for(let r=0;r<l;r++)c.push(x(s,m(e,t+28+8*r)));N(c,r,a,n,s,o,i)}function N(e,t,r,a,n,s,o){if(!e.length)return;let i=a&&r?"":r?`M ${P(n.currentPoint.x)} ${P(n.currentPoint.y)}`:`M ${P(e[0].x)} ${P(e[0].y)}`;for(let t=r?0:1;t<e.length;t++)i+=` L ${P(e[t].x)} ${P(e[t].y)}`;t&&(i+=" Z"),n.currentPoint=e[e.length-1],a?s(i.trim()):o(`<path d="${i.trim()}" ${C(n,t,!0)}/>`)}function D(e,t,r,a,n,s,o,i){const l=e.getUint32(t+24,!0),c=r?4:8;if(!l||t+28+l*c>e.byteLength)return;const d=[];for(let a=0;a<l;a++){const n=r?g(e,t+28+a*c):m(e,t+28+a*c);d.push(x(s,n))}let u=n&&a?"":a?`M ${P(s.currentPoint.x)} ${P(s.currentPoint.y)}`:`M ${P(d[0].x)} ${P(d[0].y)}`,h=a?s.currentPoint:d[0];for(let e=a?0:1;e+2<d.length;e+=3){const t=d[e],r=d[e+1],a=d[e+2];u+=` C ${P(t.x)} ${P(t.y)} ${P(r.x)} ${P(r.y)} ${P(a.x)} ${P(a.y)}`,h=a}s.currentPoint=h,n?o(u.trim()):i(`<path d="${u.trim()}" ${C(s,!1,!0)}/>`)}function $(e,t,r,a,n,s,o,i){const l=e.getUint32(t+24,!0),c=e.getUint32(t+28,!0),d=t+32,u=d+4*l,h=a?4:8;if(!l||!c||u+c*h>e.byteLength)return;let p=0;for(let t=0;t<l;t++){const l=e.getUint32(d+4*t,!0);if(!l||p+l>c)break;const f=[];for(let t=0;t<l;t++){const r=u+(p+t)*h,n=a?g(e,r):m(e,r);f.push(x(s,n))}N(f,r,!1,n,s,o,i),p+=l}}function R(e,t,r,a,n,s,o){const i=e.getUint32(t+24,!0),l=r?4:8,c=t+28,d=c+i*l;if(!i||d+i>e.byteLength)return;const u=[];for(let t=0;t<i;t++){const a=c+t*l,s=r?g(e,a):m(e,a);u.push(x(n,s))}let h="",p=0;for(;p<i;){const t=e.getUint8(d+p),r=6&t;6==r?(h+=` M ${P(u[p].x)} ${P(u[p].y)}`,n.currentPoint=u[p],p++):2==r?(h+=` L ${P(u[p].x)} ${P(u[p].y)}`,n.currentPoint=u[p],p++):4==r&&p+2<i?(h+=` C ${P(u[p].x)} ${P(u[p].y)} ${P(u[p+1].x)} ${P(u[p+1].y)} ${P(u[p+2].x)} ${P(u[p+2].y)}`,n.currentPoint=u[p+2],p+=3):p++,1&t&&(h+=" Z")}h=h.trim(),h&&(a?s(h):o(`<path d="${h}" ${C(n,!1,!0)}/>`))}function L(e,t,r,a,n){const s=p(e,t+8),o=x(r,{x:s.left,y:s.top}),i=x(r,{x:s.right,y:s.bottom}),l=Math.min(o.x,i.x),c=Math.min(o.y,i.y),d=Math.abs(i.x-o.x),u=Math.abs(i.y-o.y),h=n?` rx="${P(Math.min(d,u)/8)}" ry="${P(Math.min(d,u)/8)}"`:"";a(`<rect x="${P(l)}" y="${P(c)}" width="${P(d)}" height="${P(u)}"${h} ${C(r,!0,!0)}/>`)}function F(e,t,r,a){const n=p(e,t+8),s=x(r,{x:n.left,y:n.top}),o=x(r,{x:n.right,y:n.bottom}),i=(s.x+o.x)/2,l=(s.y+o.y)/2,c=Math.abs(o.x-s.x)/2,d=Math.abs(o.y-s.y)/2;a(`<ellipse cx="${P(i)}" cy="${P(l)}" rx="${P(c)}" ry="${P(d)}" ${C(r,!0,!0)}/>`)}function B(e,t,r,n,s,o,i){const l=p(e,t+8),c=m(e,t+24),d=m(e,t+32),u=(l.left+l.right)/2,h=(l.top+l.bottom)/2,f=Math.abs(l.right-l.left)/2,g=Math.abs(l.bottom-l.top)/2;if(!f||!g)return;const y=Math.atan2(c.y-h,c.x-u);let b=Math.atan2(d.y-h,d.x-u),v=b-y;v<=0&&(v+=2*Math.PI);const k=v>Math.PI?1:0,T=x(s,{x:u+Math.cos(y)*f,y:h+Math.sin(y)*g}),w=x(s,{x:u+Math.cos(b)*f,y:h+Math.sin(b)*g}),S=x(s,{x:u,y:h}),A=x(s,{x:u+f,y:h}),M=x(s,{x:u,y:h+g}),E=Math.max(.01,Math.abs(A.x-S.x)||Math.abs(M.x-S.x)),N=Math.max(.01,Math.abs(M.y-S.y)||Math.abs(A.y-S.y)),D=`A ${P(E)} ${P(N)} 0 ${k} 1 ${P(w.x)} ${P(w.y)}`;let $=`M ${P(T.x)} ${P(T.y)} ${D}`,R=!1;r==a.CHORD?($+=" Z",R=!0):r==a.PIE&&($+=` L ${P(S.x)} ${P(S.y)} Z`,R=!0),r==a.ARCTO&&(s.currentPoint=w),n?o($):i(`<path d="${$}" ${C(s,R,!0)}/>`)}function O(e,t,r){const a=r>=4?e.getInt32(t,!0):12,n=r>=20?e.getInt32(t+16,!0):400,s=r>=21&&0!=e.getUint8(t+20),o=r>=22&&0!=e.getUint8(t+21);let i="";const l=t+28,c=Math.max(0,Math.min(64,r-28));for(let t=0;t+1<c;t+=2){const r=e.getUint16(l+t,!0);if(!r)break;i+=String.fromCharCode(r)}return{type:"font",family:i,size:Math.abs(a)||12,weight:n,italic:s,underline:o}}function I(e,t,r,a,n,s){if(r<76)return;const o=x(a,m(e,t+36)),i=e.getUint32(t+44,!0),l=e.getUint32(t+48,!0);!i||l<=0||l+i*(s?2:1)>r||V(s?U(e,t+l,i):W(new Uint8Array(e.buffer,e.byteOffset+t+l,i)),o,a,n)}function _(e,t,r,a,n,s){if(r<40)return;const o=e.getUint32(t+36,!0);let i=t+40;for(let l=0;l<o&&i+40<=t+r;l++,i+=40){const o=x(a,m(e,i)),l=e.getUint32(i+8,!0),c=e.getUint32(i+12,!0);!l||!c||c+l*(s?2:1)>r||V(s?U(e,t+c,l):W(new Uint8Array(e.buffer,e.byteOffset+t+c,l)),o,a,n)}}function H(e,t,r,a,n){if(r<36)return;const s=x(a,m(e,t+8)),o=e.getUint32(t+16,!0),i=512&e.getUint32(t+20,!0)?40:28;!o||i+o>r||V(W(new Uint8Array(e.buffer,e.byteOffset+t+i,o)),s,a,n)}function U(e,t,r){let a="";for(let n=0;n<r;n++){const r=e.getUint16(t+2*n,!0);r&&(a+=String.fromCharCode(r))}return a}function W(e){if(!e.length)return"";const t=globalThis.TextDecoder;if(t)try{return new t("gb18030").decode(e).replace(/\0+$/g,"")}catch{try{return new t("windows-1252").decode(e).replace(/\0+$/g,"")}catch{}}let r="";for(const t of e)t&&(r+=String.fromCharCode(t));return r}function j(e){const t=6&e.textAlign;return 6==t?'text-anchor="middle"':2==t?'text-anchor="end"':""}function z(e){const t=24&e.textAlign;return 0==t?'dominant-baseline="text-before-edge"':8==t?'dominant-baseline="text-after-edge"':""}function V(e,t,r,a){e&&a(`<text ${function(e,t){const r=e.font,a=Math.max(1,(r?.size??12)*v(e));return[`x="${P(t.x)}"`,`y="${P(t.y)}"`,`fill="${e.textColor}"`,`font-size="${P(a)}"`,r?.family?`font-family="${S(r.family)}"`:"",r?.weight?`font-weight="${r.weight>=600?"bold":"normal"}"`:"",r?.italic?'font-style="italic"':"",r?.underline?'text-decoration="underline"':"",j(e),z(e)].filter(Boolean).join(" ")}(r,t)}>${S(e)}</text>`)}function X(e,t,r,a){if(t+20>e.byteLength)return;const n=x(r,m(e,t+8)),s=T(e.getUint32(t+16,!0));a(`<rect x="${P(n.x)}" y="${P(n.y)}" width="1" height="1" fill="${s}" stroke="none"/>`)}function G(e,t,r,n,s,o){let i=0,l=0,c=0,d=0,u=0,h=0,p=0,m=0;if(n==a.STRETCHDIBITS){if(r<80)return;i=e.getInt32(t+24,!0),l=e.getInt32(t+28,!0),u=e.getUint32(t+48,!0),h=e.getUint32(t+52,!0),p=e.getUint32(t+56,!0),m=e.getUint32(t+60,!0),c=e.getInt32(t+72,!0),d=e.getInt32(t+76,!0)}else{if(r<100)return;i=e.getInt32(t+24,!0),l=e.getInt32(t+28,!0),c=e.getInt32(t+32,!0),d=e.getInt32(t+36,!0),u=e.getUint32(t+84,!0),h=e.getUint32(t+88,!0),p=e.getUint32(t+92,!0),m=e.getUint32(t+96,!0)}if(!u||!h||!p||!m||u+h>r||p+m>r)return;const f=function(e,t,r,a,n,s){const o=t+r,i=t+n;if(a<4||o+a>e.byteLength||i+s>e.byteLength)return null;const l=e.getUint32(o,!0)>=40&&a>=20?e.getUint32(o+16,!0):0,c=new Uint8Array(e.buffer,e.byteOffset+i,s);if(4==l)return`data:image/jpeg;base64,${Z(c)}`;if(5==l)return`data:image/png;base64,${Z(c)}`;const d=new Uint8Array(a+s);return d.set(new Uint8Array(e.buffer,e.byteOffset+o,a),0),d.set(c,a),function(e,t){if(!e?.length||t<=0||t>e.length)return null;const r=14+e.length,a=14+t,n=new Uint8Array(r);return n[0]=66,n[1]=77,J(n,2,r),J(n,10,a),n.set(e,14),`data:image/bmp;base64,${Z(n)}`}(d,a)}(e,t,u,h,p,m);if(!f)return;const g=x(s,{x:i,y:l}),y=x(s,{x:i+c,y:l+d}),b=Math.min(g.x,y.x),v=Math.min(g.y,y.y),k=Math.abs(y.x-g.x),T=Math.abs(y.y-g.y);o(`<image x="${P(b)}" y="${P(v)}" width="${P(k)}" height="${P(T)}" href="${f}" preserveAspectRatio="none"/>`)}function Y(e,t,r){for(let a=0;a<t.length;a++)if(e[r+a]!=t[a])return!1;return!0}function K(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}function q(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function J(e,t,r){e[t]=255&r,e[t+1]=r>>8&255,e[t+2]=r>>16&255,e[t+3]=r>>24&255}function Z(e){let t="";for(let r=0;r<e.length;r+=32768)t+=String.fromCharCode(...e.subarray(r,r+32768));if("function"==typeof btoa)return btoa(t);const r=globalThis.Buffer;return r?r.from(e).toString("base64"):t}},"./metafile/wmf-to-svg":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.isWmfBinary=o,r.convertWmfToSvgDataUrl=function(e,t){const r=i(e,t);return r?`data:image/svg+xml;charset=utf-8,${encodeURIComponent(r)}`:null},r.convertWmfToSvg=i;const a=2596720087,n={EOF:0,SETBKMODE:258,SETMAPMODE:259,SETBKCOLOR:513,SETTEXTCOLOR:521,SETTEXTALIGN:302,SETWINDOWORG:523,SETWINDOWEXT:524,SETVIEWPORTORG:525,SETVIEWPORTEXT:526,MOVETO:532,LINETO:531,POLYLINE:805,POLYGON:804,RECTANGLE:1051,ELLIPSE:1048,CREATEPENINDIRECT:762,CREATEBRUSHINDIRECT:764,CREATEFONTINDIRECT:763,SELECTOBJECT:301,DELETEOBJECT:496,TEXTOUT:1313,EXTTEXTOUT:2610},s={0:{type:"brush",color:"#ffffff"},1:{type:"brush",color:"#c0c0c0"},2:{type:"brush",color:"#808080"},3:{type:"brush",color:"#404040"},4:{type:"brush",color:"#000000"},5:{type:"brush",color:"none",nullBrush:!0},6:{type:"pen",color:"#ffffff",width:1},7:{type:"pen",color:"#000000",width:1},8:{type:"pen",color:"none",width:0,nullPen:!0},18:{type:"brush",color:"#ffffff"},19:{type:"pen",color:"#000000",width:1}};function o(e){if(!e||e.length<22)return!1;const t=R(e);return t.getUint32(0,!0)==a||e.length>=18&&1==t.getUint16(0,!0)&&9==t.getUint16(2,!0)}function i(e,t={}){if(!o(e))return null;const r=R(e);let i=0,c={left:0,top:0,right:1e3,bottom:1e3},d=100,b=100;if(r.getUint32(0,!0)==a&&r.byteLength>=22){c={left:r.getInt16(6,!0),top:r.getInt16(8,!0),right:r.getInt16(10,!0),bottom:r.getInt16(12,!0)};const e=Math.max(1,r.getUint16(14,!0)||1440);d=Math.max(1,c.right-c.left)/e*25.4,b=Math.max(1,c.bottom-c.top)/e*25.4,i=22}if(i+18>r.byteLength)return null;const x=r.getUint32(i+6,!0),v=Math.max(1,r.getUint16(i+10,!0)||16),T=x>0?2*x:r.byteLength;i+=18;const P=Math.max(1,c.right-c.left),C=Math.max(1,c.bottom-c.top),N=function(e){return{windowOrg:{x:e.left,y:e.top},windowExt:{x:Math.max(1,e.right-e.left),y:Math.max(1,e.bottom-e.top)},viewportOrg:{x:0,y:0},viewportExt:null,currentPoint:{x:0,y:0},pen:{type:"pen",color:"#000000",width:1},brush:{type:"brush",color:"#ffffff",nullBrush:!0},font:{type:"font",family:"Times New Roman",size:12,weight:400,italic:!1,underline:!1,strike:!1,charset:0},textColor:"#000000",bkColor:"#ffffff",bkMode:1,textAlign:0}}(c),$=new Array(v).fill(null),B=[];let O=0,I=0;const _=t.maxRecords??1e4,H=t.maxShapes??5e4,U=Math.min(r.byteLength,T),W=e=>{!e||O>=H||(B.push(e),O++)};for(;i+6<=U&&I++<_;){const e=r.getUint32(i,!0),t=r.getUint16(i+4,!0),a=i+2*e;if(e<3||a>r.byteLength)break;const o=i+6;switch(t){case n.EOF:i=U;break;case n.SETBKMODE:N.bkMode=M(r,o);break;case n.SETBKCOLOR:N.bkColor=D(E(r,o));break;case n.SETTEXTCOLOR:N.textColor=D(E(r,o));break;case n.SETTEXTALIGN:N.textAlign=A(r,o);break;case n.SETWINDOWORG:N.windowOrg=S(r,o);break;case n.SETWINDOWEXT:N.windowExt=S(r,o),d&&b||(d=Math.max(1,Math.abs(N.windowExt.x))/100,b=Math.max(1,Math.abs(N.windowExt.y))/100);break;case n.SETVIEWPORTORG:N.viewportOrg=S(r,o);break;case n.SETVIEWPORTEXT:N.viewportExt=S(r,o);break;case n.CREATEPENINDIRECT:k($,u(r,o,a));break;case n.CREATEBRUSHINDIRECT:k($,h(r,o,a));break;case n.CREATEFONTINDIRECT:k($,p(r,o,a));break;case n.SELECTOBJECT:{const e=A(r,o),t=e>=32768?s[32767&e]:$[e];"pen"==t?.type?N.pen={...t}:"brush"==t?.type?N.brush={...t}:"font"==t?.type&&(N.font={...t});break}case n.DELETEOBJECT:{const e=A(r,o);e<$.length&&($[e]=null);break}case n.MOVETO:N.currentPoint=l(N,S(r,o));break;case n.LINETO:{const e=l(N,S(r,o));W(`<path d="M ${L(N.currentPoint.x)} ${L(N.currentPoint.y)} L ${L(e.x)} ${L(e.y)}" ${w(N)}/>`),N.currentPoint=e;break}case n.POLYLINE:case n.POLYGON:m(r,o,a,t==n.POLYGON,N,W);break;case n.RECTANGLE:f(r,o,N,W,!1);break;case n.ELLIPSE:f(r,o,N,W,!0);break;case n.TEXTOUT:g(r,o,a,N,W);break;case n.EXTTEXTOUT:y(r,o,a,N,W)}i=a}return B.length?`<svg xmlns="http://www.w3.org/2000/svg" width="${L(d)}mm" height="${L(b)}mm" viewBox="${L(c.left)} ${L(c.top)} ${L(P)} ${L(C)}" preserveAspectRatio="xMidYMid meet" data-docx-metafile="wmf">${B.join("")}</svg>`:function(e,t,r,a,n){return`<svg xmlns="http://www.w3.org/2000/svg" width="${L(a)}mm" height="${L(n)}mm" viewBox="${L(r.left)} ${L(r.top)} ${L(e)} ${L(t)}" preserveAspectRatio="xMidYMid meet" data-docx-metafile="wmf"><rect x="${L(r.left)}" y="${L(r.top)}" width="${L(e)}" height="${L(t)}" fill="none" stroke="#999" stroke-width="1"/><text x="${L(r.left+e/2)}" y="${L(r.top+t/2)}" text-anchor="middle" font-size="12" fill="#666">${F("Unsupported WMF image")}</text></svg>`}(P,C,c,d,b)}function l(e,t){const r=e.viewportExt??e.windowExt,a=d(r.x,e.windowExt.x),n=d(r.y,e.windowExt.y);return{x:e.viewportOrg.x+(t.x-e.windowOrg.x)*a,y:e.viewportOrg.y+(t.y-e.windowOrg.y)*n}}function c(e,t){const r=e.viewportExt??e.windowExt;return Math.abs(t*d(r.x,e.windowExt.x))}function d(e,t){return t?e/t:1}function u(e,t,r){const a=A(e,t),n=t+4<r?Math.abs(M(e,t+2)):1,s=t+6<r?Math.abs(M(e,t+4)):0;return{type:"pen",color:t+10<=r?D(E(e,t+6)):"#000000",width:Math.max(1,n,s),nullPen:5==(15&a)}}function h(e,t,r){const a=A(e,t);return{type:"brush",color:t+6<=r?D(E(e,t+2)):"#ffffff",nullBrush:1==a||5==a}}function p(e,t,r){const a=M(e,t),n=M(e,t+2),s=M(e,t+8)||400,o=0!=C(e,t+10),i=0!=C(e,t+11),l=0!=C(e,t+12),c=C(e,t+13),d=function(e,t,r){let a="";for(let n=0;n<r&&t+n<e.byteLength;n++){const r=e.getUint8(t+n);if(0==r)break;a+=String.fromCharCode(r)}return a}(e,t+18,Math.max(0,Math.min(32,r-t-18)));return{type:"font",family:(u=d,(u??"").replace(/[^\x20-\x7e]/g,"").trim()||"Times New Roman"),size:Math.max(1,Math.abs(a||n||12)),weight:s,italic:o,underline:i,strike:l,charset:c};var u}function m(e,t,r,a,n,s){const o=A(e,t);let i=t+2;const c=[];for(let t=0;t<o&&i+4<=r;t++,i+=4)c.push(l(n,{x:M(e,i),y:M(e,i+2)}));c.length&&(s(`<path d="${c.map((e,t)=>`${0==t?"M":"L"} ${L(e.x)} ${L(e.y)}`).join(" ")+(a?" Z":"")}" ${a?T(n):w(n)}/>`),n.currentPoint=c[c.length-1])}function f(e,t,r,a,n){const s=l(r,S(e,t)),o=l(r,S(e,t+4)),i=Math.min(o.x,s.x),c=Math.min(o.y,s.y),d=Math.abs(s.x-o.x),u=Math.abs(s.y-o.y);a(n?`<ellipse cx="${L(i+d/2)}" cy="${L(c+u/2)}" rx="${L(d/2)}" ry="${L(u/2)}" ${T(r)}/>`:`<rect x="${L(i)}" y="${L(c)}" width="${L(d)}" height="${L(u)}" ${T(r)}/>`)}function g(e,t,r,a,n){const s=A(e,t),o=t+2,i=o+s+s%2;if(i+4>r)return;const l=P(e,o,s,a.font.charset),c=M(e,i);v(l,b(a,{x:M(e,i+2),y:c}),null,a,n),x(l,null,a)}function y(e,t,r,a,n){const s=M(e,t),o=M(e,t+2),i=A(e,t+4);let l=t+8;if(6&A(e,t+6)&&(l+=8),l+i>r)return;const c=P(e,l,i,a.font.charset);l+=i+i%2;const d=[];for(;l+2<=r&&d.length<i;)d.push(M(e,l)),l+=2;v(c,b(a,{x:o,y:s}),d.length?d:null,a,n),x(c,d.length?d:null,a)}function b(e,t){return 1&e.textAlign?{...e.currentPoint}:l(e,t)}function x(e,t,r){if(!(1&r.textAlign))return;const a=t?.length?t.reduce((e,t)=>e+t,0):e.length*r.font.size*.5;r.currentPoint={x:r.currentPoint.x+c(r,a),y:r.currentPoint.y}}function v(e,t,r,a,n){if(!e)return;const s=a.font,o=Math.max(1,function(e,t){const r=e.viewportExt??e.windowExt;return Math.abs(t*d(r.y,e.windowExt.y))}(a,s.size)),i=[`font-family:${N(s.family)}`,`font-size:${L(o)}px`,`font-weight:${s.weight>=600?"700":s.weight}`,"font-style:"+(s.italic?"italic":"normal")],l=[];s.underline&&l.push("underline"),s.strike&&l.push("line-through"),l.length&&i.push(`text-decoration:${l.join(" ")}`);const u=[`x="${L(t.x)}"`,`y="${L(t.y)}"`,`fill="${B(a.textColor)}"`,`style="${B(i.join(";"))}"`,`dominant-baseline="${24&~a.textAlign?"text-before-edge":"alphabetic"}"`,(h=a.textAlign,6&h?'text-anchor="end"':2&h?'text-anchor="middle"':"")].filter(Boolean).join(" ");var h;if(!r||0==r.length)return void n(`<text ${u}>${F(e)}</text>`);let p=t.x;n(`<text ${u}>${Array.from(e).map((e,t)=>{const n=`<tspan x="${L(p)}">${F(e)}</tspan>`;return p+=c(a,r[t]??0),n}).join("")}</text>`)}function k(e,t){let r=e.findIndex(e=>null==e);r<0?e.push(t):e[r]=t}function T(e){return`${function(e){return e.brush?.nullBrush?'fill="none"':`fill="${B(e.brush?.color??"#ffffff")}"`}(e)} ${w(e)}`}function w(e){return e.pen?.nullPen?'stroke="none"':`fill="none" stroke="${B(e.pen?.color??"#000000")}" stroke-width="${L(Math.max(.5,c(e,e.pen?.width??1)))}"`}function P(e,t,r,a){const n=new Uint8Array(e.buffer,e.byteOffset+t,Math.max(0,Math.min(r,e.byteLength-t))),s=2==a?"symbol":134==a?"gb18030":"windows-1252";try{return new TextDecoder(s).decode(n).replace(/\0+$/g,"")}catch{let e="";for(const t of n)e+=String.fromCharCode(t);return e.replace(/\0+$/g,"")}}function S(e,t){return{y:M(e,t),x:M(e,t+2)}}function C(e,t){return t<e.byteLength?e.getUint8(t):0}function A(e,t){return t+2<=e.byteLength?e.getUint16(t,!0):0}function M(e,t){return t+2<=e.byteLength?e.getInt16(t,!0):0}function E(e,t){return t+4<=e.byteLength?e.getUint32(t,!0):0}function N(e){const t=(e||"Times New Roman").replace(/["\\]/g,"");return/[\s,]/.test(t)?`"${t}"`:t}function D(e){const t=e>>8&255,r=e>>16&255;return`#${$(255&e)}${$(t)}${$(r)}`}function $(e){return Math.max(0,Math.min(255,e)).toString(16).padStart(2,"0")}function R(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function L(e){if(!Number.isFinite(e))return"0";const t=Math.round(1e3*e)/1e3;return Number.isInteger(t),`${t}`}function F(e){return String(e??"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function B(e){return F(e).replace(/"/g,""")}},"./notes/elements":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.WmlEndnote=r.WmlFootnote=r.WmlBaseNote=void 0;const a=e("../document/dom");class n{}r.WmlBaseNote=n,r.WmlFootnote=class extends n{constructor(){super(...arguments),this.type=a.DomType.Footnote}},r.WmlEndnote=class extends n{constructor(){super(...arguments),this.type=a.DomType.Endnote}}},"./notes/parts":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.EndnotesPart=r.FootnotesPart=r.BaseNotePart=void 0;const a=e("../common/part"),n=e("./elements");class s extends a.Part{constructor(e,t,r){super(e,t),this._documentParser=r}}r.BaseNotePart=s,r.FootnotesPart=class extends s{constructor(e,t,r){super(e,t,r)}parseXml(e){this.notes=this._documentParser.parseNotes(e,"footnote",n.WmlFootnote)}},r.EndnotesPart=class extends s{constructor(e,t,r){super(e,t,r)}parseXml(e){this.notes=this._documentParser.parseNotes(e,"endnote",n.WmlEndnote)}}},"./numbering/numbering-part":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.NumberingPart=void 0;const a=e("../common/part"),n=e("./numbering");class s extends a.Part{constructor(e,t,r){super(e,t),this._documentParser=r}parseXml(e){Object.assign(this,(0,n.parseNumberingPart)(e,this._package.xmlParser)),this.domNumberings=this._documentParser.parseNumberingFile(e)}}r.NumberingPart=s},"./numbering/numbering":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.parseNumberingPart=function(e,t){let r={numberings:[],abstractNumberings:[],bulletPictures:[]};for(let a of t.elements(e))switch(a.localName){case"num":r.numberings.push(s(a,t));break;case"abstractNum":r.abstractNumberings.push(o(a,t));break;case"numPicBullet":r.bulletPictures.push(c(a,t))}return r},r.parseNumbering=s,r.parseAbstractNumbering=o,r.parseNumberingLevel=i,r.parseNumberingLevelOverrride=l,r.parseNumberingBulletPicture=c;const a=e("../document/paragraph"),n=e("../document/run");function s(e,t){let r={id:t.attr(e,"numId"),overrides:[]};for(let a of t.elements(e))switch(a.localName){case"abstractNumId":r.abstractId=t.attr(a,"val");break;case"lvlOverride":r.overrides.push(l(a,t))}return r}function o(e,t){let r={id:t.attr(e,"abstractNumId"),levels:[]};for(let a of t.elements(e))switch(a.localName){case"name":r.name=t.attr(a,"val");break;case"multiLevelType":r.multiLevelType=t.attr(a,"val");break;case"numStyleLink":r.numberingStyleLink=t.attr(a,"val");break;case"styleLink":r.styleLink=t.attr(a,"val");break;case"lvl":r.levels.push(i(a,t))}return r}function i(e,t){let r={level:t.intAttr(e,"ilvl")};for(let s of t.elements(e))switch(s.localName){case"start":r.start=t.attr(s,"val");break;case"lvlRestart":r.restart=t.intAttr(s,"val");break;case"numFmt":r.format=t.attr(s,"val");break;case"lvlText":r.text=t.attr(s,"val");break;case"lvlJc":r.justification=t.attr(s,"val");break;case"lvlPicBulletId":r.bulletPictureId=t.attr(s,"val");break;case"pStyle":r.paragraphStyle=t.attr(s,"val");break;case"pPr":r.paragraphProps=(0,a.parseParagraphProperties)(s,t);break;case"rPr":r.runProps=(0,n.parseRunProperties)(s,t)}return r}function l(e,t){let r={level:t.intAttr(e,"ilvl")};for(let a of t.elements(e))switch(a.localName){case"startOverride":r.start=t.intAttr(a,"val");break;case"lvl":r.numberingLevel=i(a,t)}return r}function c(e,t){var r=t.attr(e,"numPicBulletId"),a=t.element(e,"pict"),n=a&&t.element(a,"shape"),s=n&&t.element(n,"imagedata");if(s)return{id:r,referenceId:t.attr(s,"id"),style:t.attr(n,"style")};var o=t.element(e,"drawing"),i=o&&d(o,"blip",t);return i?{id:r,referenceId:t.attr(i,"embed")??t.attr(i,"link"),style:null}:null}function d(e,t,r){for(const a of r.elements(e)){if(a.localName==t)return a;const e=d(a,t,r);if(e)return e}return null}},"./parser/xml-parser":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.XmlParser=void 0,r.parseXmlString=function(e,t=!1){var r;t&&(e=e.replace(/<[?].*[?]>/,"")),e=65279===(r=e).charCodeAt(0)?r.substring(1):r;const a=(new DOMParser).parseFromString((0,n.trustedXmlForParsing)(e),"application/xml"),s=(o=a,o.getElementsByTagName("parsererror")[0]?.textContent);var o;if(s)throw new Error(s);return a},r.serializeXmlString=function(e){return(new XMLSerializer).serializeToString(e)};const a=e("../document/common"),n=e("../security/trusted-types");class s{elements(e,t=null){const r=[];for(let a=0,n=e.childNodes.length;a<n;a++){let n=e.childNodes.item(a);1!=n.nodeType||null!=t&&n.localName!=t||r.push(n)}return r}element(e,t){for(let r=0,a=e.childNodes.length;r<a;r++){let a=e.childNodes.item(r);if(1==a.nodeType&&a.localName==t)return a}return null}elementAttr(e,t,r){var a=this.element(e,t);return a?this.attr(a,r):void 0}attrs(e){return Array.from(e.attributes)}attr(e,t){if("blip"==e?.localName&&("embed"==t||"link"==t)){const r=this.descendantAttr(e,"svgBlip",t);if(null!=r)return r}if("cnfStyle"==e?.localName&&"val"==t){const r=this.rawAttr(e,t);return null!=r?r:this.cnfStyleValue(e)}return this.rawAttr(e,t)}rawAttr(e,t){for(let r=0,a=e.attributes.length;r<a;r++){let a=e.attributes.item(r);if(a.localName==t)return a.value}return null}descendantAttr(e,t,r){for(const a of this.elements(e)){if(a.localName==t){const e=this.rawAttr(a,r);if(null!=e)return e}const e=this.descendantAttr(a,t,r);if(null!=e)return e}return null}cnfStyleValue(e){return["firstRow","lastRow","firstColumn","lastColumn","oddVBand","evenVBand","oddHBand","evenHBand","firstRowLastColumn","firstRowFirstColumn","lastRowLastColumn","lastRowFirstColumn"].map(t=>(0,a.convertBoolean)(this.rawAttr(e,t),!1)?"1":"0").join("")}intAttr(e,t,r=null){var a=this.attr(e,t);return null!=a&&""!==a?parseInt(a,10):r}hexAttr(e,t,r=null){var a=this.attr(e,t);return null!=a&&""!==a?parseInt(a,16):r}floatAttr(e,t,r=null){var a=this.attr(e,t);return null!=a&&""!==a?parseFloat(a):r}boolAttr(e,t,r=null){return(0,a.convertBoolean)(this.attr(e,t),r)}lengthAttr(e,t,r=a.LengthUsage.Dxa){return(0,a.convertLength)(this.attr(e,t),r)}}r.XmlParser=s;const o=new s;r.default=o},"./review":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.resolveReviewMode=n,r.isReviewPreviewEnabled=function(e){return null!=e?.reviewMode||!0===e?.renderChanges},r.reviewModeShowsInsertions=function(e){return"original"!==e},r.reviewModeShowsDeletions=function(e){return"original"===e},r.setDocxReviewMode=function(e,t){if(!e||"final"!==(r=t)&&"original"!==r&&"simple"!==r&&"all"!==r)return!1;var r;const a=Array.from(e.querySelectorAll("[data-docx-review-enabled='true']"));if("true"===e.dataset?.docxReviewEnabled&&a.unshift(e),0===a.length)return!1;for(const e of new Set(a))e.dataset.docxReviewMode=t;return!0},r.collectDocxReviewChanges=s,r.resolveDocxReviewState=function(e,t){if("auto"===t){const t=s(e).length;return{enabled:t>0,mode:t>0?"all":"final",automatic:!0,changeCount:t}}return{enabled:null!=t,mode:n({reviewMode:t??void 0}),automatic:!1,changeCount:0}},r.reviewAuthorColor=function(e){const t=["#c2410c","#2563eb","#7c3aed","#0f766e","#be123c","#4d7c0f","#a21caf","#0369a1"],r=String(e||"Unknown");let a=2166136261;for(let e=0;e<r.length;e++)a^=r.charCodeAt(e),a=Math.imul(a,16777619);return t[(a>>>0)%t.length]};const a=e("./document/dom");function n(e){const t=e?.reviewMode;return"final"===t||"original"===t||"simple"===t||"all"===t?t:e?.renderChanges||"auto"===t?"all":"final"}function s(e){const t=[],r=e=>{if(!e)return;if(e.type===a.DomType.Paragraph)return void t.push(...function(e){const t=[];let r=null;const n=()=>{if(!r)return;const e=d(r.text);(e||r.structural)&&t.push(i(r.revision,e||"段落标记",r.structural,r.ids)),r=null},s=(e,t,a=!1)=>{const s=e.id;r&&c(r.revision)===c(e)?(null==s||r.ids.includes(s)||r.ids.push(s),r.structural||(r.structural=a)):(n(),r={revision:e,ids:null==s?[]:[s],text:"",structural:a}),r.text+=t},u=e=>{const r=e.props?.formatRevisions??[];if(r.length){n();for(const e of r)t.push(l(e))}};u(e);for(const t of e.props?.paragraphMarkRevisions??[]){const e=o(t,"delete"===t?.kind?a.DomType.Deleted:a.DomType.Inserted);e&&s(e,"","delete"===e.kind||"move-from"===e.kind)}const h=(e,t)=>{if(!e)return;u(e);const r=o(e.props?.revision,e.type),i=r?[...t,r]:t,l=function(e){return e.type===a.DomType.Text||e.type===a.DomType.DeletedText?e.text??"":e.type===a.DomType.Tab||e.type===a.DomType.PositionalTab?"\t":e.type===a.DomType.Break?"\n":e.type===a.DomType.NoBreakHyphen?"‑":null}(e);if(null!=l){const e=i[i.length-1];return void(e?s(e,l):l.length&&n())}for(const t of e.children??[])h(t,i)};for(const t of e.children??[])h(t,[]);return n(),t}(e));const n=o(e.props?.revision,e.type);if(n&&e.type!==a.DomType.Inserted&&e.type!==a.DomType.Deleted){const r=d(f(e));t.push(i(n,r||function(e){switch(e){case a.DomType.Row:return"表格行";case a.DomType.Cell:return"表格单元格";case a.DomType.Table:return"表格";case a.DomType.Paragraph:return"段落标记";default:return"结构修订"}}(e.type),!0))}for(const r of e.props?.formatRevisions??[])t.push(l(r));for(const t of e.children??[])r(t)};r(e?.documentPart?.body??e);for(const r of e?.commentsPart?.comments??[]){const e=null==r.id?void 0:String(r.id);t.push({id:e,ids:null==e?[]:[e],kind:"comment",author:r.author||void 0,date:r.date||void 0,text:d(f(r)),presentation:"balloon"})}return t}function o(e,t){if(!e)return null;const r=function(e,t){return"insert"===e||"delete"===e||"move-from"===e||"move-to"===e?e:t===a.DomType.Deleted?"delete":"insert"}(e.kind,t);return"insert"!==r&&"delete"!==r&&"move-from"!==r&&"move-to"!==r?null:{id:null==e.id?void 0:String(e.id),kind:r,author:e.author||void 0,date:e.date||void 0}}function i(e,t,r=!1,a){const n=m(a??(null==e.id?[]:[e.id]));return{id:n[0],ids:n,kind:e.kind,author:e.author,date:e.date,text:t||(r?"结构修订":""),presentation:"insert"===e.kind||"move-to"===e.kind?"inline":"balloon"}}function l(e){const t=null==e?.id?void 0:String(e.id),r=(a=e?.formatChanges,Array.isArray(a)?a.filter(e=>e&&e.property).map(e=>({property:String(e.property),before:null==e.before?void 0:String(e.before),after:null==e.after?void 0:String(e.after)})):[]);var a,n,s;return{id:t,ids:null==t?[]:[t],kind:"format",author:e?.author||void 0,date:e?.date||void 0,text:(n=r,s=e?.kind,n.length&&m(n.map(e=>function(e){const t=function(e){if(null==e)return;const t=/(?:^|\|)val=([^|]+)/.exec(e);return t?.[1]??e}(e.after);switch(e.property){case"u":return null==t||"none"===t||"0"===t||"false"===t?"无下划线":function(e){switch(e){case"single":return"单下划线";case"double":return"双下划线";case"words":return"仅字词下划线";case"wave":case"wavyDouble":case"wavyHeavy":return"波浪下划线";default:return"下划线"}}(t);case"b":return u(t)?"加粗":"取消加粗";case"i":return u(t)?"倾斜":"取消倾斜";case"strike":return u(t)?"删除线":"取消删除线";case"dstrike":return u(t)?"双删除线":"取消双删除线";case"color":return t?`字体颜色 ${h(t)}`:"自动字体颜色";case"highlight":return t&&"none"!==t?`突出显示 ${t}`:"无突出显示";case"sz":case"szCs":return t&&!Number.isNaN(Number(t))?`字号 ${Number(t)/2} 磅`:"字号已更改";case"rFonts":return t?`字体 ${function(e){const t=e.split("|").map(e=>e.split("=")).filter(e=>2===e.length),r=t.find(([e])=>"eastAsia"===e)??t.find(([e])=>"ascii"===e)??t[0];return r?.[1]??e}(t)}`:"使用默认字体";case"jc":return`对齐方式 ${function(e){switch(e){case"center":return"居中";case"right":case"end":return"右对齐";case"both":case"distribute":return"两端对齐";default:return"左对齐"}}(t)}`;case"spacing":return"段落间距已更改";case"ind":return"段落缩进已更改";case"shd":return t?`底纹 ${h(t)}`:"无底纹";case"vertAlign":return"superscript"===t?"上标":"subscript"===t?"下标":"基线对齐";default:return function(e,t){const r={caps:"全部大写",smallCaps:"小型大写字母",vanish:"隐藏文字",keepNext:"与下段同页",keepLines:"段中不分页",pageBreakBefore:"段前分页",tblBorders:"表格边框",tcBorders:"单元格边框",tblW:"表格宽度",tcW:"单元格宽度"}[e]??"格式";return t&&!["true","1"].includes(t)?`${r} ${t}`:r}(e.property,t)}}(e)).filter(Boolean)).join(";")||p(s)),presentation:"balloon",formatChanges:r}}function c(e){return[e.kind,e.author??"",e.date??""].join("\0")}function d(e){return String(e??"").replace(/[\u2060\u200b]/g,"").replace(/[ \t]+\n/g,"\n").trim()}function u(e){return null==e||""===e||"1"===e||"true"===e||"on"===e}function h(e){const t=/(?:val|fill)=([^|]+)/.exec(e);return t?.[1]??e}function p(e){switch(e){case"paragraph-format":return"段落格式已更改";case"table-format":return"表格格式已更改";case"row-format":return"表格行格式已更改";case"cell-format":return"单元格格式已更改";default:return"字符格式已更改"}}function m(e){return[...new Set(e.filter(e=>null!=e&&""!==e))]}function f(e){return e.type===a.DomType.Text||e.type===a.DomType.DeletedText?e.text??"":e.type===a.DomType.Tab||e.type===a.DomType.PositionalTab?"\t":e.type===a.DomType.Break?"\n":(e.children??[]).map(f).join("").trim()}},"./security/links":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.sanitizeDocumentHyperlink=function(e){const t=String(e??"").trim().replace(a,"");return t?t.startsWith("#")?t:t.startsWith("//")||t.includes("\\")||n.test(t)&&!s.test(t)?null:t:null};const a=/[\u0000-\u0020\u007f-\u009f]+/g,n=/^[a-z][a-z0-9+.-]*:/i,s=/^(?:https?|mailto|tel):/i},"./security/trusted-types":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.trustedXmlForParsing=function(e){return"undefined"==typeof document?e:d(s,e)},r.setSafeAltChunkSrcdoc=function(e,t){const r=function(e){const t=new DOMParser,r=d(o,String(e??"")),a=t.parseFromString(r,"text/html");for(const e of Array.from(a.getElementsByTagName("*"))){const t=e.localName?.toLowerCase()||e.nodeName.toLowerCase();l.has(t)&&u(e)}for(const e of Array.from(a.getElementsByTagName("*")))for(const t of Array.from(e.attributes??[])){const r=t.name.toLowerCase();(r.startsWith("on")||"style"===r||c.test(r))&&e.removeAttribute(t.name)}const n=a.documentElement;return`<!doctype html>${n?(new XMLSerializer).serializeToString(n):"<html><head></head><body></body></html>"}`}(t),a=d(i,r);e.srcdoc=a};const a=new Map,n=new Map,s="file-viewer-docx-xml-parser",o="file-viewer-docx-altchunk-parser",i="file-viewer-docx-altchunk-srcdoc",l=new Set(["script","style","base","meta","link","object","embed","applet","iframe","frame","frameset","form","input","button","textarea","select","option","audio","video","source","track","svg","math","template"]),c=/^(?:action|archive|background|cite|classid|codebase|data|dynsrc|formaction|href|longdesc|lowsrc|manifest|ping|poster|profile|src|srcdoc|srcset|usemap|xlink:href)$/;function d(e,t){const r=globalThis.trustedTypes;if(!r)return t;let s=a.get(e);s||(s=r.createPolicy(e,{createHTML(t){if(t!==n.get(e))throw new TypeError(`Rejected HTML outside the ${e} boundary`);return t}}),a.set(e,s)),n.set(e,t);try{return s.createHTML(t)}finally{n.delete(e)}}function u(e){e.parentNode&&e.parentNode.removeChild(e)}},"./settings/settings-part":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.SettingsPart=void 0;const a=e("../common/part"),n=e("./settings");class s extends a.Part{constructor(e,t){super(e,t)}parseXml(e){this.settings=(0,n.parseSettings)(e,this._package.xmlParser)}}r.SettingsPart=s},"./settings/settings":function(e,t,r){function a(e,t){var r={defaultNoteIds:[]};for(let a of t.elements(e))switch(a.localName){case"numFmt":r.nummeringFormat=t.attr(a,"val");break;case"footnote":case"endnote":r.defaultNoteIds.push(t.attr(a,"id"))}return r}Object.defineProperty(r,"__esModule",{value:!0}),r.parseSettings=function(e,t){var r={};for(let n of t.elements(e))switch(n.localName){case"defaultTabStop":r.defaultTabStop=t.lengthAttr(n,"val");break;case"footnotePr":r.footnoteProps=a(n,t);break;case"endnotePr":r.endnoteProps=a(n,t);break;case"autoHyphenation":r.autoHyphenation=t.boolAttr(n,"val");break;case"kinsoku":r.kinsoku=t.boolAttr(n,"val",!0);break;case"overflowPunct":r.overflowPunctuation=t.boolAttr(n,"val",!0);break;case"topLinePunct":r.topLinePunctuation=t.boolAttr(n,"val",!0);break;case"autoSpaceDE":r.autoSpaceDE=t.boolAttr(n,"val",!0);break;case"autoSpaceDN":r.autoSpaceDN=t.boolAttr(n,"val",!0);break;case"noLineBreaksAfter":r.noLineBreaksAfter=t.attr(n,"val")||n.textContent||"";break;case"noLineBreaksBefore":r.noLineBreaksBefore=t.attr(n,"val")||n.textContent||"";break;case"evenAndOddHeaders":r.evenAndOddHeaders=t.boolAttr(n,"val",!0);break;case"splitPgBreakAndParaMark":r.splitPageBreakAndParagraphMark=t.boolAttr(n,"val",!0);break;case"compat":for(const e of t.elements(n))"adjustLineHeightInTable"==e.localName&&(r.adjustLineHeightInTable=t.boolAttr(e,"val",!0))}return r},r.parseNoteProperties=a},"./styles/styles-part":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.StylesPart=void 0;const a=e("../common/part");class n extends a.Part{constructor(e,t,r){super(e,t),this._documentParser=r}parseXml(e){this.styles=this._documentParser.parseStylesFile(e)}}r.StylesPart=n},"./table-diagonals":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.renderCellDiagonals=function(e,t,r=e=>e){const a=["tl2br","tr2bl"].filter(e=>t?.[e]&&"none"!==t[e]);if(!a.length)return;const n=e.ownerDocument??document,s="http://www.w3.org/2000/svg",o=n.createElementNS(s,"svg"),i=n.createElement("span");for(const e of a){const a=/^(\d+(?:\.\d+)?)(pt|px)\s+(\w+)\s+(.+)$/.exec(t[e]);if(!a||!Number.isFinite(Number(a[1]))||Number(a[1])<=0)continue;const[,l,c,d,u]=a;if(/url\s*\(|[;{}<>\\\x00-\x1f]/i.test(u))continue;if(i.style.color="",i.style.color=u,!i.style.color)continue;const h=n.createElementNS(s,"line");h.dataset.docxDiagonal=e,h.setAttribute("x1","tl2br"===e?"0%":"100%"),h.setAttribute("y1","0%"),h.setAttribute("x2","tl2br"===e?"100%":"0%"),h.setAttribute("y2","100%"),h.style.stroke=r(i.style.color),h.style.strokeWidth=`${l}${c}`;const p=Number(l)*("pt"===c?4/3:1);"dotted"===d?(h.style.strokeDasharray="0 "+2*p,h.style.strokeLinecap="round"):"dashed"===d&&(h.style.strokeDasharray=`${4*p} ${2*p}`),o.appendChild(h)}o.hasChildNodes()&&(o.setAttribute("aria-hidden","true"),o.setAttribute("focusable","false"),Object.assign(o.style,{position:"absolute",left:"0",top:"0",width:"100%",height:"100%",overflow:"hidden",pointerEvents:"none"}),e.style.position&&"static"!==e.style.position||(e.style.position="relative"),e.appendChild(o))}},"./theme/theme-part":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.ThemePart=void 0;const a=e("../common/part"),n=e("./theme");class s extends a.Part{constructor(e,t){super(e,t)}parseXml(e){this.theme=(0,n.parseTheme)(e,this._package.xmlParser)}}r.ThemePart=s},"./theme/theme":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.DmlTheme=void 0,r.themeScriptForLanguage=function(e){const t=String(e??"").trim().replace(/_/g,"-").toLowerCase(),r=t.split("-")[0];return"zh"==r?/(?:^|-)hant(?:-|$)|-(?:tw|hk|mo)(?:-|$)/.test(t)?"Hant":"Hans":{ja:"Jpan",ko:"Hang",ar:"Arab",fa:"Arab",ur:"Arab",he:"Hebr",yi:"Hebr",th:"Thai",vi:"Viet",hi:"Deva",bn:"Beng",gu:"Gujr",kn:"Knda",pa:"Guru",ta:"Taml",te:"Telu",ml:"Mlym",or:"Orya",si:"Sinh",km:"Khmr",lo:"Laoo",my:"Mymr",mn:"Mong"}[r]??""},r.parseTheme=function(e,t){var r=new a,o=t.element(e,"themeElements");for(let e of t.elements(o))switch(e.localName){case"clrScheme":r.colorScheme=n(e,t);break;case"fontScheme":r.fontScheme=s(e,t)}return r},r.parseColorScheme=n,r.parseFontScheme=s,r.parseFontInfo=o;class a{}function n(e,t){var r={name:t.attr(e,"name"),colors:{}};for(let s of t.elements(e)){var a=t.element(s,"srgbClr"),n=t.element(s,"sysClr");a?r.colors[s.localName]=t.attr(a,"val"):n&&(r.colors[s.localName]=t.attr(n,"lastClr"))}return r}function s(e,t){var r={name:t.attr(e,"name")};for(let a of t.elements(e))switch(a.localName){case"majorFont":r.majorFont=o(a,t);break;case"minorFont":r.minorFont=o(a,t)}return r}function o(e,t){const r={};for(const a of t.elements(e).filter(e=>"font"==e.localName)){const e=t.attr(a,"script"),n=t.attr(a,"typeface");e&&n&&(r[e]=n)}return{latinTypeface:t.elementAttr(e,"latin","typeface"),eaTypeface:t.elementAttr(e,"ea","typeface"),csTypeface:t.elementAttr(e,"cs","typeface"),scriptTypefaces:r}}r.DmlTheme=a},"./utils":function(e,t,r){function a(e){let t=String(e??"").trim();return(t.startsWith("'")&&t.endsWith("'")||t.startsWith('"')&&t.endsWith('"'))&&(t=t.slice(1,-1)),/^(?:serif|sans-serif|monospace|cursive|fantasy|system-ui|ui-serif|ui-sans-serif|ui-monospace|ui-rounded|emoji|math|fangsong)$/i.test(t)||/^[^\u0000-\u0020\u007f-\u009f'"\\;:{}()[\]<>/,]+$/u.test(t)?t:`'${t.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/[\u0000-\u001f\u007f-\u009f]/g,e=>"\0"===e?"�":`\\${e.codePointAt(0).toString(16)} `)}'`}function n(e){const t=String(e??"").normalize("NFKC").toLowerCase().replace(/[\s_-]+/g,"");return[[/方正仿宋|fangzhengfangsong|fzfangsong|fzfs/,["方正仿宋","方正仿宋简体","方正仿宋_GBK","FZFangSong-Z02","FZFSK--GBK1-0"]],[/方正楷体|fangzhengkai|fzkai|fzkt/,["方正楷体","方正楷体简体","方正楷体_GBK","FZKai-Z03","FZKTK--GBK1-0"]],[/方正黑体|fangzhenghei|fzhei|fzht/,["方正黑体","方正黑体简体","FZHei-B01","FZHTK--GBK1-0"]],[/方正书宋|fangzhengshusong|fzshusong|fzss/,["方正书宋","方正书宋简体","FZShuSong-Z01","FZSSK--GBK1-0"]],[/方正小标宋|fangzhengxiaobiaosong|fzxiaobiaosong|fzxbs/,["方正小标宋简体","方正小标宋","FZXiaoBiaoSong-B05","FZXBSJW--GB1-0"]]].find(([e])=>e.test(t))?.[1]??[]}function s(e){return e&&"object"==typeof e&&!Array.isArray(e)}Object.defineProperty(r,"__esModule",{value:!0}),r.escapeClassName=function(e){return e?.replace(/[ .]+/g,"-").replace(/[&]+/g,"and").toLowerCase()},r.encloseFontFamily=a,r.isEastAsianFontFamily=function(e){const t=String(e??"").normalize("NFKC").toLowerCase();return/simsun|nsimsun|宋体|宋體|songti|shusong|书宋|書宋|fangsong|仿宋|mincho|明朝|明體|mingliu|pmingliu|batang|명조|kaiti|楷体|楷體|stkaiti|simhei|黑体|黑體|heiti|dengxian|等线|等線|yahei|fangzheng|方正|fz(?:fs|kt|ht|ss|xbs)|ゴシック|(?:^|\s)(?:ms|yu)\s+p?gothic|meiryo|メイリオ|malgun|맑은/.test(t)},r.eastAsianFontFamilyStack=function(e,t=""){const r=String(e??"").trim();if(!r)return[];const s=r.normalize("NFKC").toLowerCase(),o=/mincho|明朝|ゴシック|(?:^|\s)(?:ms|yu)\s+p?gothic|meiryo|メイリオ/.test(s),i=["Hans","Hant","Jpan","Hang"].includes(t)?t:o?"Jpan":t,l=[a(r)],c=n(r),d=/simsun|nsimsun|宋体|宋體|songti|shusong|书宋|書宋|fangsong|仿宋|fz(?:fs|ss|xbs)|小标宋|小標宋|mincho|明朝|明體|mingliu|pmingliu|batang|명조/.test(s),u=/kaiti|楷体|楷體|stkaiti|fzkt|kai/.test(s),h=/simhei|黑体|黑體|heiti|fzht|dengxian|等线|等線|yahei|gothic|ゴシック|malgun|맑은/.test(s);return c.length&&l.push(...c.map(a)),d?"Hant"==i?l.push("'Songti TC'","'Microsoft JhengHei'","'Noto Serif CJK TC'","serif"):"Jpan"==i?l.push("'Yu Mincho'","'Hiragino Mincho ProN'","'Noto Serif CJK JP'","serif"):"Hang"==i?l.push("Batang","AppleMyungjo","'Noto Serif CJK KR'","serif"):l.push("'Songti SC'","'Noto Serif CJK SC'","serif"):u?l.push("'Kaiti SC'","STKaiti","'Noto Serif CJK SC'","serif"):h?"Hant"==i?l.push("'Microsoft JhengHei'","'PingFang TC'","'Noto Sans CJK TC'","sans-serif"):"Jpan"==i?l.push("'Yu Gothic'","Meiryo","'Noto Sans CJK JP'","sans-serif"):"Hang"==i?l.push("'Malgun Gothic'","'Apple SD Gothic Neo'","'Noto Sans CJK KR'","sans-serif"):l.push("'Microsoft YaHei'","'PingFang SC'","'Noto Sans CJK SC'","sans-serif"):"Hant"==i?l.push("'PingFang TC'","'Noto Sans CJK TC'","sans-serif"):"Jpan"==i?l.push("'Yu Gothic'","Meiryo","'Noto Sans CJK JP'","sans-serif"):"Hang"==i?l.push("'Apple SD Gothic Neo'","'Noto Sans CJK KR'","sans-serif"):l.push("'PingFang SC'","'Noto Sans CJK SC'","sans-serif"),[...new Set(l)]},r.fangzhengFontFamilyAliases=n,r.splitPath=function(e){let t=e.lastIndexOf("/")+1;return[0==t?"":e.substring(0,t),0==t?e:e.substring(t)]},r.resolvePath=function(e,t){try{const r="http://docx/";return new URL(e,r+t).toString().substring(r.length)}catch{return`${t}${e}`}},r.keyBy=function(e,t){return e.reduce((e,r)=>(e[t(r)]=r,e),{})},r.blobToBase64=function(e){return new Promise((t,r)=>{const a=new FileReader;a.onloadend=()=>t(a.result),a.onerror=()=>r(),a.readAsDataURL(e)})},r.isObject=s,r.isString=function(e){return"string"==typeof e||e instanceof String},r.mergeDeep=function e(t,...r){if(!r.length)return t;const a=r.shift();if(s(t)&&s(a))for(const r in a)if(s(a[r])){e(t[r]??(t[r]={}),a[r])}else t[r]=a[r];return e(t,...r)},r.parseCssRules=function(e){const t={};for(const r of(e??"").split(";")){const e=r.indexOf(":");if(e<=0)continue;const a=r.substring(0,e).trim(),n=r.substring(e+1).trim();a&&(t[a]=n)}return t},r.formatCssRules=function(e){return Object.entries(e??{}).map(([e,t])=>`${e}: ${t}`).join(";")},r.asArray=function(e){return Array.isArray(e)?e:[e]},r.clamp=function(e,t,r){return t>e?t:r<e?r:e}},"./vml/vml":function(e,t,r){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0}),r.VmlElement=void 0,r.parseVmlElement=function e(t,r){var a=new l;switch(t.localName){case"group":a.tagName="g",a.isGroup=!0;break;case"rect":a.tagName="rect",Object.assign(a.attrs,{width:"100%",height:"100%"});break;case"oval":a.tagName="ellipse",Object.assign(a.attrs,{cx:"50%",cy:"50%",rx:"50%",ry:"50%"});break;case"line":a.tagName="line";break;case"shape":a.tagName="g";break;case"textbox":a.tagName="foreignObject",Object.assign(a.attrs,{width:"100%",height:"100%"});break;default:return null}for(const e of o.default.attrs(t))switch(e.localName){case"style":a.cssStyleText=e.value,a.cssStyle=(0,i.parseCssRules)(e.value);break;case"coordorigin":a.coordOrigin=f(e.value);break;case"coordsize":a.coordSize=f(e.value);break;case"fillcolor":a.attrs.fill=e.value;break;case"strokecolor":a.attrs.stroke=e.value;break;case"strokeweight":a.attrs["stroke-width"]=(0,n.convertLength)(e.value,n.LengthUsage.Point)??e.value;break;case"filled":"f"!=e.value&&"false"!=e.value||(a.attrs.fill="none");break;case"stroked":"f"!=e.value&&"false"!=e.value||(a.attrs.stroke="none");break;case"path":a.tagName="path",a.attrs.d=g(e.value);break;case"from":const[t,r]=m(e.value);Object.assign(a.attrs,{x1:t,y1:r});break;case"to":const[s,o]=m(e.value);Object.assign(a.attrs,{x2:s,y2:o})}for(const n of o.default.elements(t))switch(n.localName){case"stroke":Object.assign(a.attrs,h(n));break;case"fill":Object.assign(a.attrs,p(n));break;case"imagedata":const t=o.default.attr(n,"id")??o.default.attr(n,"relid")??o.default.attr(n,"pict");t&&(a.tagName="image",Object.assign(a.attrs,c(n)),a.imageHref={id:t,title:o.default.attr(n,"title")});break;case"txbxContent":a.children.push(...r.parseBodyElements(n));break;default:const s=e(n,r);s&&a.children.push(s)}return"absolute"==a.cssStyle?.position&&(a.props={anchorPosition:{horizontal:{relative:a.cssStyle["mso-position-horizontal-relative"]??"paragraph"},vertical:{relative:a.cssStyle["mso-position-vertical-relative"]??"paragraph"}}}),a};const n=e("../document/common"),s=e("../document/dom"),o=a(e("../parser/xml-parser")),i=e("../utils");class l extends s.OpenXmlElementBase{constructor(){super(...arguments),this.type=s.DomType.VmlElement,this.attrs={}}}function c(e){const t=d(o.default.attr(e,"cropleft")),r=d(o.default.attr(e,"croptop")),a=d(o.default.attr(e,"cropright")),n=d(o.default.attr(e,"cropbottom")),s=Math.max(1e-4,1-t-a),i=Math.max(1e-4,1-r-n),l={x:u(-t/s),y:u(-r/i),width:u(1/s),height:u(1/i)};return(t||r||a||n)&&(l.preserveAspectRatio="none"),l}function d(e){if(!e)return 0;const t=String(e).trim();if(!t)return 0;let r;return r=/^-?\d+(\.\d+)?f$/i.test(t)?parseFloat(t.slice(0,-1))/65536:t.endsWith("%")?parseFloat(t)/100:parseFloat(t),Number.isFinite(r)?Math.max(0,Math.min(.9999,r)):0}function u(e){return Math.round(1e5*e)/1e3+"%"}function h(e){const t={},r=o.default.attr(e,"color"),a=o.default.attr(e,"weight"),s=o.default.attr(e,"on");return"f"==s||"false"==s?t.stroke="none":r&&(t.stroke=r),t["stroke-width"]=a?(0,n.convertLength)(a,n.LengthUsage.Point)??a:"1px",t}function p(e){const t={},r=o.default.attr(e,"color")??o.default.attr(e,"color2"),a=o.default.attr(e,"on"),n=o.default.attr(e,"opacity");return"f"==a||"false"==a?t.fill="none":r&&(t.fill=r),n&&(t["fill-opacity"]=n.endsWith("%")?""+parseFloat(n)/100:n),t}function m(e){return e.split(",")}function f(e){const[t,r]=m(e).map(e=>parseFloat(e));return[Number.isFinite(t)?t:0,Number.isFinite(r)?r:0]}function g(e){return e.replace(/([mlxe])|([-\d]+)|([,])/g,e=>/[-\d]/.test(e)||/[ml,]/.test(e)?e:"")}r.VmlElement=l},"./word-document":function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.WordDocument=void 0,r.deobfuscate=S;const a=e("./common/relationship"),n=e("./font-table/font-table"),s=e("./common/open-xml-package"),o=e("./document/document-part"),i=e("./utils"),l=e("./numbering/numbering-part"),c=e("./styles/styles-part"),d=e("./header-footer/parts"),u=e("./document-props/extended-props-part"),h=e("./document-props/core-props-part"),p=e("./theme/theme-part"),m=e("./notes/parts"),f=e("./settings/settings-part"),g=e("./document-props/custom-props-part"),y=e("./comments/comments-part"),b=e("./comments/comments-extended-part"),x=e("./parser/xml-parser"),v=e("./metafile/emf-to-svg"),k=e("./metafile/wmf-to-svg"),T=[{type:a.RelationshipTypes.OfficeDocument,target:"word/document.xml"},{type:a.RelationshipTypes.ExtendedProperties,target:"docProps/app.xml"},{type:a.RelationshipTypes.CoreProperties,target:"docProps/core.xml"},{type:a.RelationshipTypes.CustomProperties,target:"docProps/custom.xml"}];class w{constructor(){this.parts=[],this.partsMap={},this.contentTypes=[],this._snapshotAssetDataUrls=null,this._snapshotTextParts=null}static fromSnapshot(e,t){const r=new w;r._options=t,r.rels=e.rels??[],r.contentTypes=e.contentTypes??[],r.parts=[],r.partsMap={},r._snapshotAssetDataUrls=e.assetDataUrls??{},r._snapshotTextParts=e.textParts??{},r._package={load:e=>Promise.resolve(r._snapshotTextParts?.[P(e)]??null),parseXmlDocument:e=>(0,x.parseXmlString)(e,t?.trimXmlDeclaration??!0),get:e=>null!=r._snapshotTextParts?.[P(e)]?{}:null};for(const t of e.parts??[]){const e=r.restoreSnapshotPart(t);e&&(r.parts.push(e),r.partsMap[e.path]=e)}return r}static async load(e,t,r){var a=new w;return a._options=r,a._parser=t,a._package=await s.OpenXmlPackage.load(e,r),a.rels=await a._package.loadRelationships(),a.contentTypes=await a._package.loadContentTypes(),await Promise.all(T.map(e=>{const t=a.rels.find(t=>t.type===e.type)??e;return a.loadRelationshipPart(t.target,t.type)})),a}restoreSnapshotPart(e){const t={path:e.path,rels:e.rels??[]};switch(Object.assign(t,e.data??{}),e.kind){case"document":this.documentPart=t;break;case"fontTable":this.fontTablePart=t;break;case"numbering":this.numberingPart=t;break;case"styles":this.stylesPart=t;break;case"theme":this.themePart=t;break;case"footnotes":this.footnotesPart=t;break;case"endnotes":this.endnotesPart=t;break;case"coreProps":this.corePropsPart=t;break;case"extendedProps":this.extendedPropsPart=t;break;case"settings":this.settingsPart=t;break;case"comments":t.commentMap=(0,i.keyBy)(t.comments??[],e=>e.id),this.commentsPart=t;break;case"commentsExtended":t.commentMap=(0,i.keyBy)(t.comments??[],e=>e.paraId),this.commentsExtendedPart=t}return t}async createSnapshot(){const e={rels:this.rels??[],contentTypes:this.contentTypes??[],parts:this.parts.map(e=>this.snapshotPart(e)).filter(Boolean),assetDataUrls:{},textParts:{}};return await this.preloadSnapshotRelationshipTargets(e),e}snapshotPart(e){const t=e;let r="part",a={};if(e===this.documentPart)r="document",a={body:t.body};else if(e===this.fontTablePart)r="fontTable",a={fonts:t.fonts};else if(e===this.numberingPart)r="numbering",a={numberings:t.numberings,abstractNumberings:t.abstractNumberings,bulletPictures:t.bulletPictures,domNumberings:t.domNumberings};else if(e===this.stylesPart)r="styles",a={styles:t.styles};else if(e===this.themePart)r="theme",a={theme:t.theme};else if(e===this.footnotesPart)r="footnotes",a={notes:t.notes};else if(e===this.endnotesPart)r="endnotes",a={notes:t.notes};else if(e===this.corePropsPart)r="coreProps",a={props:t.props};else if(e===this.extendedPropsPart)r="extendedProps",a={props:t.props};else if(e===this.settingsPart)r="settings",a={settings:t.settings};else if(e===this.commentsPart)r="comments",a={comments:t.comments};else if(e===this.commentsExtendedPart)r="commentsExtended",a={comments:t.comments};else{if(!t.rootElement)return null;r="header"===t.rootElement.type?"header":"footer",a={rootElement:t.rootElement}}return{kind:r,path:e.path,rels:e.rels??[],data:a}}async preloadSnapshotRelationshipTargets(e){const t=new Set,r=e=>{for(const r of e?.rels??[]){if(!r||(0,a.isExternalRelationship)(r))continue;const n=P(this.resolveRelationshipTarget(e,r));n&&!t.has(n)&&t.add(n)}};for(const e of this.parts)r(e);for(const r of t){if(this.partsMap[r])continue;const t=r.toLowerCase(),a=/\.(xml|rels|html?|txt)$/i.test(t);try{if(a){const t=await this._package.load(r,"string");null!=t&&(e.textParts[r]=t)}else{const t=await this.loadPackageAssetDataUrl(r);t&&(e.assetDataUrls[r]=t)}}catch(e){this._options?.debug&&console.warn(`docx-preview: unable to preload relationship target ${r}`,e)}}}blobWithContentType(e,t){if(!e)return null;const r=this.contentTypeForPath(t);return r?new Blob([e],{type:r}):e}save(e="blob"){return this._package.save(e)}async loadRelationshipPart(e,t){if(this.partsMap[e])return this.partsMap[e];if(!this._package.get(e))return null;let r=null;switch(t){case a.RelationshipTypes.OfficeDocument:this.documentPart=r=new o.DocumentPart(this._package,e,this._parser);break;case a.RelationshipTypes.FontTable:this.fontTablePart=r=new n.FontTablePart(this._package,e);break;case a.RelationshipTypes.Numbering:this.numberingPart=r=new l.NumberingPart(this._package,e,this._parser);break;case a.RelationshipTypes.Styles:this.stylesPart=r=new c.StylesPart(this._package,e,this._parser);break;case a.RelationshipTypes.Theme:this.themePart=r=new p.ThemePart(this._package,e);break;case a.RelationshipTypes.Footnotes:this.footnotesPart=r=new m.FootnotesPart(this._package,e,this._parser);break;case a.RelationshipTypes.Endnotes:this.endnotesPart=r=new m.EndnotesPart(this._package,e,this._parser);break;case a.RelationshipTypes.Footer:r=new d.FooterPart(this._package,e,this._parser);break;case a.RelationshipTypes.Header:r=new d.HeaderPart(this._package,e,this._parser);break;case a.RelationshipTypes.CoreProperties:this.corePropsPart=r=new h.CorePropsPart(this._package,e);break;case a.RelationshipTypes.ExtendedProperties:this.extendedPropsPart=r=new u.ExtendedPropsPart(this._package,e);break;case a.RelationshipTypes.CustomProperties:r=new g.CustomPropsPart(this._package,e);break;case a.RelationshipTypes.Settings:this.settingsPart=r=new f.SettingsPart(this._package,e);break;case a.RelationshipTypes.Comments:this.commentsPart=r=new y.CommentsPart(this._package,e,this._parser);break;case a.RelationshipTypes.CommentsExtended:this.commentsExtendedPart=r=new b.CommentsExtendedPart(this._package,e)}if(null==r)return Promise.resolve(null);if(this.partsMap[e]=r,this.parts.push(r),await r.load(),r.rels?.length>0){const[e]=(0,i.splitPath)(r.path);await Promise.all(r.rels.filter(e=>!(0,a.isExternalRelationship)(e)).map(t=>this.loadRelationshipPart((0,i.resolvePath)(t.target,e),t.type)))}return r}async loadRelationshipXml(e,t){const r=t??this.documentPart,n=this.getRelById(r,e);if(!n||(0,a.isExternalRelationship)(n))return null;const s=P(this.resolveRelationshipTarget(r,n)),o=s?this._snapshotTextParts?.[s]??await this._package.load(s,"string"):null;return o?this._package.parseXmlDocument(o):null}async loadRelationshipText(e,t){const r=t??this.documentPart,n=this.getRelById(r,e);if(!n||(0,a.isExternalRelationship)(n))return null;const s=P(this.resolveRelationshipTarget(r,n));return s?Promise.resolve(this._snapshotTextParts?.[s]??this._package.load(s,"string")):Promise.resolve(null)}async loadRelationshipBlobUrl(e,t,r=this._options?.externalResourcePolicy??"block"){const n=t??this.documentPart,s=this.getRelById(n,e);if(!s)return null;if((0,a.isExternalRelationship)(s))return(0,a.resolveExternalResourceTarget)(s,r);const o=P(this.resolveRelationshipTarget(n,s));return o?this.loadPackageAssetUrl(o):null}async loadDocumentImage(e,t,r=this._options?.externalResourcePolicy??"block"){const n=t??this.documentPart,s=this.getRelById(n,e);if(!s)return null;if((0,a.isExternalRelationship)(s))return(0,a.resolveExternalResourceTarget)(s,r);const o=P(this.resolveRelationshipTarget(n,s));return o?this.loadPackageAssetUrl(o):null}async loadNumberingImage(e){const t=P(this.getPathById(this.numberingPart,e));return t?this.loadPackageAssetUrl(t):null}async loadFont(e,t){const r=P(this.getPathById(this.fontTablePart,e));if(!r)return null;if(this._snapshotAssetDataUrls?.[r])return this._snapshotAssetDataUrls[r];const a=await this._package.load(r,"uint8array");return a?this.blobToURL(new Blob([S(a,t)]),r):a}async loadAltChunk(e,t){const r=t??this.documentPart,n=this.getRelById(r,e);if(!n||(0,a.isExternalRelationship)(n))return Promise.resolve(null);const s=P(this.resolveRelationshipTarget(r,n));return s?Promise.resolve(this._snapshotTextParts?.[s]??this._package.load(s,"string")):Promise.resolve(null)}blobToURL(e,t){return e?(e=this.blobWithContentType(e,t),this._options.useBase64URL?(0,i.blobToBase64)(e):URL.createObjectURL(e)):null}async loadPackageAssetUrl(e){const t=P(e);if(!t)return null;if(this._snapshotAssetDataUrls?.[t])return this._snapshotAssetDataUrls[t];if(this.isConvertibleMetafileAsset(t)){const e=await this._package.load(t,"uint8array");if(!e)return null;return this.convertMetafileAsset(e,t)||this.blobToURL(new Blob([e],{type:this.contentTypeForPath(t)||this.defaultMetafileContentType(t)}),t)}return this.blobToURL(await this._package.load(t,"blob"),t)}async loadPackageAssetDataUrl(e){const t=P(e);if(!t)return null;if(this.isConvertibleMetafileAsset(t)){const e=await this._package.load(t,"uint8array");if(!e)return null;const r=this.convertMetafileAsset(e,t);if(r)return r;const a=e?new Blob([e],{type:this.contentTypeForPath(t)||this.defaultMetafileContentType(t)}):null;return a?(0,i.blobToBase64)(a):null}const r=await this._package.load(t,"blob"),a=this.blobWithContentType(r,t);return a?(0,i.blobToBase64)(a):null}convertMetafileAsset(e,t){if(!e)return null;try{if((0,v.isEmfBinary)(e))return(0,v.convertEmfToSvgDataUrl)(e);if((0,k.isWmfBinary)(e))return(0,k.convertWmfToSvgDataUrl)(e)}catch(e){return this._options?.debug&&console.warn(`docx-preview: unable to convert metafile asset ${t}`,e),null}return null}isConvertibleMetafileAsset(e){const t=this.contentTypeForPath(e).toLowerCase();return/\.(emf|wmf)$/i.test(e??"")||"image/x-emf"==t||"image/emf"==t||"image/x-wmf"==t||"image/wmf"==t}defaultMetafileContentType(e){return/\.wmf$/i.test(e??"")?"image/x-wmf":"image/x-emf"}contentTypeForPath(e){const t=P(e??"").toLowerCase();for(const e of this.contentTypes??[])if(e.partName&&P(e.partName).toLowerCase()==t)return e.contentType??"";const r=/\.([^.\/]+)$/.exec(t),a=r?.[1]??"";if(!a)return"";const n=(this.contentTypes??[]).find(e=>e.extension?.toLowerCase()==a);return n?.contentType??""}findPartByRelId(e,t=null){var r=this.getRelById(t,e);const n=r&&!(0,a.isExternalRelationship)(r)?this.resolveRelationshipTarget(t,r):null;return n?this.partsMap[n]:null}getRelById(e,t){return(e?.rels??this.rels??[]).find(e=>e.id==t)}getPathById(e,t){const r=this.getRelById(e,t);return r&&!(0,a.isExternalRelationship)(r)?this.resolveRelationshipTarget(e,r):null}resolveRelationshipTarget(e,t){const[r]=e?(0,i.splitPath)(e.path):[""];return P((0,i.resolvePath)(t.target,r))}}function P(e){return e&&e.startsWith("/")?e.substring(1):e}function S(e,t){const r=t.replace(/{|}|-/g,""),a=new Array(16);for(let e=0;e<16;e++)a[16-e-1]=parseInt(r.substring(2*e,2*e+2),16);for(let t=0;t<32;t++)e[t]=e[t]^a[t%16];return e}r.WordDocument=w}},n={},function e(t,s){var o=function(e,t){if("jszip"===e)return"jszip";if("."===e[0]){var r=function(e){for(var t=e.split("/"),r=[],a=0;a<t.length;a++){var n=t[a];n&&"."!==n&&(".."===n?r.pop():r.push(n))}return"./"+r.join("/")}(t.substring(0,t.lastIndexOf("/")+1)+e);if(a[r])return r;if(a[r+"/index"])return r+"/index"}if(a[e])return e;throw new Error("Cannot resolve module "+e+" from "+t)}(t,s||"./docx-preview");if("jszip"===o)return r;if(n[o])return n[o].exports;var i={exports:{}};return n[o]=i,a[o](function(t){return e(t,o)},i,i.exports),i.exports}("./docx-preview","./docx-preview"));var r,a,n;export const defaultOptions=t.defaultOptions;export const parseAsync=t.parseAsync;export const parseAsyncInWorker=t.parseAsyncInWorker;export const renderDocument=t.renderDocument;export const renderAsync=t.renderAsync;export const awaitRenderedLayout=t.awaitRenderedLayout;export const collectLayoutSnapshot=t.collectLayoutSnapshot;export const yieldToBrowser=t.yieldToBrowser;export const collectDocxReviewChanges=t.collectDocxReviewChanges;export const resolveDocxReviewState=t.resolveDocxReviewState;export const setDocxReviewMode=t.setDocxReviewMode;export default t;
|
|
8
|
+
import e from"jszip";const t=new WeakMap,r=()=>new DOMException("DOCX layout was detached or replaced","AbortError");function n(e){t.get(e)?.cancel();const r=new AbortController,n={signal:r.signal,isCurrent:()=>!r.signal.aborted&&t.get(e)===n,cancel:()=>r.abort()};return t.set(e,n),n}function a(e){const r=t.get(e);return r?.isCurrent()?r:n(e)}function s(e,t,n=!0){if(!t.isCurrent()||n&&!e.isConnected)throw r()}function o(e,t=a(e)){const r=Array.from(e.querySelectorAll?.("[data-docx-layout-root]")??[]).length?()=>Array.from(e.querySelectorAll("[data-docx-layout-root]")):()=>Array.from(e.childNodes??[]);let n=r();return{signal:t.signal,cancel:()=>t.cancel(),isCurrent:()=>{if(!t.isCurrent())return!1;const e=new Set(r());return!n.length||n.some(t=>e.has(t))},acceptLayoutChanges:a=>{a===e&&t.isCurrent()&&(n=r()),t.acceptLayoutChanges?.(a)}}}async function i(e,t=[],n=a(e)){s(e,n);const o=e.ownerDocument;e.getBoundingClientRect?.();const i=[];let l;const c=Array.from(e.querySelectorAll("img")),h=Array.from(e.querySelectorAll("[data-docx-layout-root]")),d=Array.from(e.childNodes??[]),u=h.length?()=>Array.from(e.querySelectorAll("[data-docx-layout-root]")):d.length?()=>Array.from(e.childNodes??[]):()=>Array.from(e.querySelectorAll("img")),m=h.length?h:d.length?d:c,p=new Map,f=()=>{s(e,n);const t=new Set(u());if(m.length&&!m.some(e=>t.has(e)))throw n.cancel(),r();const a=new Set(Array.from(e.querySelectorAll("img")));for(const[e,t]of p)a.has(e)||t()},g=new Promise((t,a)=>{const s=()=>a(r());n.signal.addEventListener("abort",s,{once:!0}),i.push(()=>n.signal.removeEventListener("abort",s));const c=o.defaultView?.MutationObserver;if(c&&o.documentElement){l=new c(()=>{try{f()}catch(e){a(e)}}),l.observe(o.documentElement,{childList:!0,subtree:!0});for(let t=e.getRootNode?.();t&&t!==o;t=t.host?.getRootNode?.())l.observe(t,{childList:!0,subtree:!0})}}),b=c.map(e=>e.complete?Promise.resolve():new Promise(t=>{const r=()=>t();p.set(e,r),e.addEventListener("load",r,{once:!0}),e.addEventListener("error",r,{once:!0}),i.push(()=>{e.removeEventListener("load",r),e.removeEventListener("error",r)})}));try{await Promise.race([Promise.all([Promise.allSettled(t),o.fonts?.ready??Promise.resolve(),...b]),g]),f()}finally{l?.disconnect(),i.forEach(e=>e())}}const l=/[\u0000-\u001f\u007f]/,c=/^data:image\/[a-z0-9.+-]+(?:;[^,]*)?,/i;function h(e){return"external"===e?.targetMode?.trim().toLowerCase()}function d(e,t="block"){if(!h(e))return null;const r=`${e?.target??""}`.trim();if(!r||l.test(r))return null;let n;try{n=new URL(r)}catch{return null}switch(n.protocol.toLowerCase()){case"data:":return c.test(r)?r:null;case"blob:":return r;case"http:":case"https:":return"allow"===t?n.href:null;default:return null}}var u;function m(e){let t=String(e??"").trim();if((t.startsWith("'")&&t.endsWith("'")||t.startsWith('"')&&t.endsWith('"'))&&(t=t.slice(1,-1)),/^(?:serif|sans-serif|monospace|cursive|fantasy|system-ui|ui-serif|ui-sans-serif|ui-monospace|ui-rounded|emoji|math|fangsong)$/i.test(t))return t;if(/^[^\u0000-\u0020\u007f-\u009f'"\\;:{}()[\]<>/,]+$/u.test(t))return t;return`'${t.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/[\u0000-\u001f\u007f-\u009f]/g,e=>"\0"===e?"�":`\\${e.codePointAt(0).toString(16)} `)}'`}function p(e,t=""){const r=String(e??"").trim();if(!r)return[];const n=r.normalize("NFKC").toLowerCase(),a=/mincho|明朝|ゴシック|(?:^|\s)(?:ms|yu)\s+p?gothic|meiryo|メイリオ/.test(n),s=["Hans","Hant","Jpan","Hang"].includes(t)?t:a?"Jpan":t,o=[m(r)],i=function(e){const t=String(e??"").normalize("NFKC").toLowerCase().replace(/[\s_-]+/g,""),r=[[/方正仿宋|fangzhengfangsong|fzfangsong|fzfs/,["方正仿宋","方正仿宋简体","方正仿宋_GBK","FZFangSong-Z02","FZFSK--GBK1-0"]],[/方正楷体|fangzhengkai|fzkai|fzkt/,["方正楷体","方正楷体简体","方正楷体_GBK","FZKai-Z03","FZKTK--GBK1-0"]],[/方正黑体|fangzhenghei|fzhei|fzht/,["方正黑体","方正黑体简体","FZHei-B01","FZHTK--GBK1-0"]],[/方正书宋|fangzhengshusong|fzshusong|fzss/,["方正书宋","方正书宋简体","FZShuSong-Z01","FZSSK--GBK1-0"]],[/方正小标宋|fangzhengxiaobiaosong|fzxiaobiaosong|fzxbs/,["方正小标宋简体","方正小标宋","FZXiaoBiaoSong-B05","FZXBSJW--GB1-0"]]];return r.find(([e])=>e.test(t))?.[1]??[]}(r),l=/simsun|nsimsun|宋体|宋體|songti|shusong|书宋|書宋|fangsong|仿宋|fz(?:fs|ss|xbs)|小标宋|小標宋|mincho|明朝|明體|mingliu|pmingliu|batang|명조/.test(n),c=/kaiti|楷体|楷體|stkaiti|fzkt|kai/.test(n),h=/simhei|黑体|黑體|heiti|fzht|dengxian|等线|等線|yahei|gothic|ゴシック|malgun|맑은/.test(n);return i.length&&o.push(...i.map(m)),l?"Hant"==s?o.push("'Songti TC'","'Microsoft JhengHei'","'Noto Serif CJK TC'","serif"):"Jpan"==s?o.push("'Yu Mincho'","'Hiragino Mincho ProN'","'Noto Serif CJK JP'","serif"):"Hang"==s?o.push("Batang","AppleMyungjo","'Noto Serif CJK KR'","serif"):o.push("'Songti SC'","'Noto Serif CJK SC'","serif"):c?o.push("'Kaiti SC'","STKaiti","'Noto Serif CJK SC'","serif"):h?"Hant"==s?o.push("'Microsoft JhengHei'","'PingFang TC'","'Noto Sans CJK TC'","sans-serif"):"Jpan"==s?o.push("'Yu Gothic'","Meiryo","'Noto Sans CJK JP'","sans-serif"):"Hang"==s?o.push("'Malgun Gothic'","'Apple SD Gothic Neo'","'Noto Sans CJK KR'","sans-serif"):o.push("'Microsoft YaHei'","'PingFang SC'","'Noto Sans CJK SC'","sans-serif"):"Hant"==s?o.push("'PingFang TC'","'Noto Sans CJK TC'","sans-serif"):"Jpan"==s?o.push("'Yu Gothic'","Meiryo","'Noto Sans CJK JP'","sans-serif"):"Hang"==s?o.push("'Apple SD Gothic Neo'","'Noto Sans CJK KR'","sans-serif"):o.push("'PingFang SC'","'Noto Sans CJK SC'","sans-serif"),[...new Set(o)]}function f(e){let t=e.lastIndexOf("/")+1;return[0==t?"":e.substring(0,t),0==t?e:e.substring(t)]}function g(e,t){try{const r="http://docx/";return new URL(e,r+t).toString().substring(r.length)}catch{return`${t}${e}`}}function b(e,t){return e.reduce((e,r)=>(e[t(r)]=r,e),{})}function y(e){return new Promise((t,r)=>{const n=new FileReader;n.onloadend=()=>t(n.result),n.onerror=()=>r(),n.readAsDataURL(e)})}function x(e){return e&&"object"==typeof e&&!Array.isArray(e)}function w(e){return"string"==typeof e||e instanceof String}function v(e,...t){if(!t.length)return e;const r=t.shift();if(x(e)&&x(r))for(const t of Object.keys(r)){if("__proto__"===t||"constructor"===t||"prototype"===t)continue;const n=r[t];if(x(n)){const r=Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0,a=x(r)?r:{};e[t]=a,v(a,n)}else e[t]=n}return v(e,...t)}function k(e){const t={};for(const r of(e??"").split(";")){const e=r.indexOf(":");if(e<=0)continue;const n=r.substring(0,e).trim(),a=r.substring(e+1).trim();n&&(t[n]=a)}return t}function C(e){return Array.isArray(e)?e:[e]}!function(e){e.OfficeDocument="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",e.FontTable="http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable",e.Image="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",e.Numbering="http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering",e.Styles="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles",e.StylesWithEffects="http://schemas.microsoft.com/office/2007/relationships/stylesWithEffects",e.Theme="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme",e.Settings="http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings",e.WebSettings="http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings",e.Hyperlink="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",e.Footnotes="http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes",e.Endnotes="http://schemas.openxmlformats.org/officeDocument/2006/relationships/endnotes",e.Footer="http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer",e.Header="http://schemas.openxmlformats.org/officeDocument/2006/relationships/header",e.ExtendedProperties="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties",e.CoreProperties="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties",e.CustomProperties="http://schemas.openxmlformats.org/package/2006/relationships/metadata/custom-properties",e.Comments="http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments",e.CommentsExtended="http://schemas.microsoft.com/office/2011/relationships/commentsExtended",e.AltChunk="http://schemas.openxmlformats.org/officeDocument/2006/relationships/aFChunk",e.Chart="http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart",e.ChartUserShapes="http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartUserShapes",e.DiagramData="http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramData",e.DiagramLayout="http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramLayout",e.DiagramQuickStyle="http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramQuickStyle",e.DiagramColors="http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramColors",e.Ink="http://schemas.microsoft.com/office/2007/relationships/ink",e.ContentPart="http://schemas.openxmlformats.org/officeDocument/2006/relationships/contentPart"}(u||(u={}));const S="http://schemas.openxmlformats.org/wordprocessingml/2006/main",N="http://schemas.openxmlformats.org/drawingml/2006/main",A="http://schemas.openxmlformats.org/drawingml/2006/picture",P="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas",M="http://schemas.microsoft.com/office/word/2010/wordprocessingGroup",$="http://schemas.microsoft.com/office/word/2010/wordprocessingShape",T={mul:.05,unit:"pt"},F={mul:.05,unit:"pt"},L={mul:1/12700,unit:"pt"},R={mul:.5,unit:"pt"},E={mul:.5,unit:"pt"},B={mul:.125,unit:"pt",min:.25,max:12},D={mul:1,unit:"pt"},I={mul:.02,unit:"%"};function O(e,t=T){if(null==e||""===e||/.+(p[xt]|[%])$/i.test(e))return e;var r=parseFloat(e);if(Number.isNaN(r))return null;var n=r*t.mul;return null!=t.min&&null!=t.max&&(n=function(e,t,r){return t>e?t:r<e?r:e}(n,t.min,t.max)),`${n.toFixed(2)}${t.unit}`}function H(e,t=!1){switch(e){case"1":case"on":case"true":return!0;case"0":case"off":case"false":return!1;default:return t}}function z(e,t,r){if(e.namespaceURI!=S)return!1;switch(e.localName){case"color":t.color=r.attr(e,"val");break;case"sz":t.fontSize=r.lengthAttr(e,"val",R);break;case"szCs":t.fontSize??(t.fontSize=r.lengthAttr(e,"val",R));break;default:return!1}return!0}const W=new Map,V=new Map,U=new Set(["script","style","base","meta","link","object","embed","applet","iframe","frame","frameset","form","input","button","textarea","select","option","audio","video","source","track","svg","math","template"]),j=/^(?:action|archive|background|cite|classid|codebase|data|dynsrc|formaction|href|longdesc|lowsrc|manifest|ping|poster|profile|src|srcdoc|srcset|usemap|xlink:href)$/;function q(e,t){const r=globalThis.trustedTypes;if(!r)return t;let n=W.get(e);n||(n=r.createPolicy(e,{createHTML(t){if(t!==V.get(e))throw new TypeError(`Rejected HTML outside the ${e} boundary`);return t}}),W.set(e,n)),V.set(e,t);try{return n.createHTML(t)}finally{V.delete(e)}}function G(e){e.parentNode&&e.parentNode.removeChild(e)}function _(e,t){const r=function(e){const t=new DOMParser,r=q("file-viewer-docx-altchunk-parser",String(e??"")),n=t.parseFromString(r,"text/html");for(const e of Array.from(n.getElementsByTagName("*"))){const t=e.localName?.toLowerCase()||e.nodeName.toLowerCase();U.has(t)&&G(e)}for(const e of Array.from(n.getElementsByTagName("*")))for(const t of Array.from(e.attributes??[])){const r=t.name.toLowerCase();(r.startsWith("on")||"style"===r||j.test(r))&&e.removeAttribute(t.name)}const a=n.documentElement;return`<!doctype html>${a?(new XMLSerializer).serializeToString(a):"<html><head></head><body></body></html>"}`}(t),n=q("file-viewer-docx-altchunk-srcdoc",r);e.srcdoc=n}let X=e=>(new DOMParser).parseFromString(e,"application/xml"),K=e=>(new XMLSerializer).serializeToString(e);function Y(e,t=!1){var r;t&&(e=e.replace(/<[?].*[?]>/,"")),e=65279===(r=e).charCodeAt(0)?r.substring(1):r;const n=X((a=e,"undefined"==typeof document?a:q("file-viewer-docx-xml-parser",a)));var a;const s=(o=n,o.getElementsByTagName("parsererror")[0]?.textContent);var o;if(s)throw new Error(s);return n}class J{elements(e,t=null){const r=[];for(let n=0,a=e.childNodes.length;n<a;n++){let a=e.childNodes.item(n);1!=a.nodeType||null!=t&&a.localName!=t||r.push(a)}return r}element(e,t){for(let r=0,n=e.childNodes.length;r<n;r++){let n=e.childNodes.item(r);if(1==n.nodeType&&n.localName==t)return n}return null}elementAttr(e,t,r){var n=this.element(e,t);return n?this.attr(n,r):void 0}attrs(e){return Array.from(e.attributes)}attr(e,t){if("blip"==e?.localName&&("embed"==t||"link"==t)){const r=this.descendantAttr(e,"svgBlip",t);if(null!=r)return r}if("cnfStyle"==e?.localName&&"val"==t){const r=this.rawAttr(e,t);return null!=r?r:this.cnfStyleValue(e)}return this.rawAttr(e,t)}rawAttr(e,t){for(let r=0,n=e.attributes.length;r<n;r++){let n=e.attributes.item(r);if(n.localName==t)return n.value}return null}descendantAttr(e,t,r){for(const n of this.elements(e)){if(n.localName==t){const e=this.rawAttr(n,r);if(null!=e)return e}const e=this.descendantAttr(n,t,r);if(null!=e)return e}return null}cnfStyleValue(e){return["firstRow","lastRow","firstColumn","lastColumn","oddVBand","evenVBand","oddHBand","evenHBand","firstRowLastColumn","firstRowFirstColumn","lastRowLastColumn","lastRowFirstColumn"].map(t=>H(this.rawAttr(e,t),!1)?"1":"0").join("")}intAttr(e,t,r=null){var n=this.attr(e,t);return null!=n&&""!==n?parseInt(n,10):r}hexAttr(e,t,r=null){var n=this.attr(e,t);return null!=n&&""!==n?parseInt(n,16):r}floatAttr(e,t,r=null){var n=this.attr(e,t);return null!=n&&""!==n?parseFloat(n):r}boolAttr(e,t,r=null){return H(this.attr(e,t),r)}lengthAttr(e,t,r=T){return O(this.attr(e,t),r)}}const Z=new J;class Q{constructor(e,t){this._package=e,this.path=t}async load(){this.rels=await this._package.loadRelationships(this.path);const e=await this._package.load(this.path),t=this._package.parseXmlDocument(e);this._package.options.keepOrigin&&(this._xmlDocument=t),this.parseXml(t.firstElementChild??t.documentElement)}save(){var e;this._package.update(this.path,(e=this._xmlDocument,K(e)))}parseXml(e){}}const ee={embedRegular:"regular",embedBold:"bold",embedItalic:"italic",embedBoldItalic:"boldItalic"};function te(e,t){return t.elements(e).map(e=>function(e,t){let r={name:t.attr(e,"name"),embedFontRefs:[]};for(let n of t.elements(e))switch(n.localName){case"family":r.family=t.attr(n,"val");break;case"altName":r.altName=t.attr(n,"val");break;case"embedRegular":case"embedBold":case"embedItalic":case"embedBoldItalic":r.embedFontRefs.push(re(n,t))}return r}(e,t))}function re(e,t){return{id:t.attr(e,"id"),key:t.attr(e,"fontKey"),type:ee[e.localName]}}class ne extends Q{parseXml(e){this.fonts=te(e,this._package.xmlParser)}}class ae{constructor(e,t){this._zip=e,this.options=t,this.xmlParser=new J}get(e){const t=function(e){return e.startsWith("/")?e.substr(1):e}(e);return this._zip.files[t]??this._zip.files[t.replace(/\//g,"\\")]}update(e,t){this._zip.file(e,t)}static async load(t,r){const n=await(r.zipLoader?r.zipLoader(t):e.loadAsync(t));return new ae(n,r)}save(e="blob"){return this._zip.generateAsync({type:e})}load(e,t="string"){return this.get(e)?.async(t)??Promise.resolve(null)}async loadRelationships(e=null){let t="_rels/.rels";if(null!=e){const[r,n]=f(e);t=`${r}_rels/${n}.rels`}const r=await this.load(t);return r?(n=se(this.parseXmlDocument(r)),(a=this.xmlParser).elements(n).map(e=>({id:a.attr(e,"Id"),type:a.attr(e,"Type"),target:a.attr(e,"Target"),targetMode:a.attr(e,"TargetMode")}))):null;var n,a}async loadContentTypes(){const e=await this.load("[Content_Types].xml");return e?(t=se(this.parseXmlDocument(e)),(r=this.xmlParser).elements(t).map(e=>({extension:r.attr(e,"Extension"),partName:r.attr(e,"PartName"),contentType:r.attr(e,"ContentType")}))):[];var t,r}parseXmlDocument(e){return Y(e,this.options.trimXmlDeclaration)}}function se(e){return e.firstElementChild??e.documentElement}class oe extends Q{constructor(e,t,r){super(e,t),this._documentParser=r}parseXml(e){this.body=this._documentParser.parseDocumentFile(e)}}function ie(e,t){return{type:t.attr(e,"val"),color:t.attr(e,"color"),size:t.lengthAttr(e,"sz",B),offset:t.lengthAttr(e,"space",D),frame:t.boolAttr(e,"frame"),shadow:t.boolAttr(e,"shadow")}}function le(e,t){var r={};for(let n of t.elements(e))switch(n.localName){case"left":r.left=ie(n,t);break;case"top":r.top=ie(n,t);break;case"right":r.right=ie(n,t);break;case"bottom":r.bottom=ie(n,t)}return r}function ce(e,t){const r={defaultNoteIds:[]};for(const n of t.elements(e))switch(n.localName){case"numFmt":r.numberingFormat=r.nummeringFormat=t.attr(n,"val");break;case"numStart":const e=t.intAttr(n,"val",null);Number.isSafeInteger(e)&&e>=0&&(r.start=e);break;case"numRestart":const a=t.attr(n,"val");["continuous","eachSect","eachPage"].includes(a)&&(r.restart=a);break;case"footnote":case"endnote":r.defaultNoteIds.push(t.attr(n,"id"))}return r}class he{constructor(){this.assignments=new Map,this.counters=new Map}assign(e,t,r,n,a,s){const o=`${e}:${t}`,i=this.assignments.get(o);if(i)return i;const l=this.counters.get(e),c=!l||"eachSect"===n.restart&&l.section!==a||"eachPage"===n.restart&&l.page!==s,h=r?null:c?n.start:l.next;r||this.counters.set(e,{next:h+1,section:a,page:s});const d={id:t,kind:e,custom:r,value:h,properties:n};return this.assignments.set(o,d),d}}var de;function ue(e){return null==e||e===de.NextPage||e===de.EvenPage||e===de.OddPage}function me(e){return e===de.NextColumn}!function(e){e.Continuous="continuous",e.NextPage="nextPage",e.NextColumn="nextColumn",e.EvenPage="evenPage",e.OddPage="oddPage"}(de||(de={}));const pe="11906",fe="16838",ge="1440",be="1440",ye="1440",xe="1440",we="720",ve="720",ke="0";function Ce(e=null,t=Z){const r=e?t.element(e,"pgSz"):null,n=r?t.attr(r,"orient"):null,a=function(e=null){const t="landscape"===e;return{width:O(t?fe:pe),height:O(t?pe:fe),orientation:e}}(n),s={top:O(ge),right:O(be),bottom:O(ye),left:O(xe),header:O(we),footer:O(ve),gutter:O(ke)};var o={pageSize:a,pageMargins:s};if(!e)return o;for(let r of t.elements(e))switch(r.localName){case"pgSz":o.pageSize={width:t.lengthAttr(r,"w")??a.width,height:t.lengthAttr(r,"h")??a.height,orientation:n};break;case"type":o.type=t.attr(r,"val");break;case"pgMar":o.pageMargins={left:t.lengthAttr(r,"left")??s.left,right:t.lengthAttr(r,"right")??s.right,top:t.lengthAttr(r,"top")??s.top,bottom:t.lengthAttr(r,"bottom")??s.bottom,header:t.lengthAttr(r,"header")??s.header,footer:t.lengthAttr(r,"footer")??s.footer,gutter:t.lengthAttr(r,"gutter")??s.gutter};break;case"cols":o.columns=Se(r,t);break;case"headerReference":(o.headerRefs??(o.headerRefs=[])).push(Pe(r,t));break;case"footerReference":(o.footerRefs??(o.footerRefs=[])).push(Pe(r,t));break;case"titlePg":o.titlePage=t.boolAttr(r,"val",!0);break;case"pgBorders":o.pageBorders=le(r,t);break;case"pgNumType":o.pageNumber=Ne(r,t);break;case"footnotePr":o.footnoteProps=ce(r,t);break;case"endnotePr":o.endnoteProps=ce(r,t);break;case"docGrid":o.docGrid=Ae(r,t)}return o}function Se(e,t){return{numberOfColumns:t.intAttr(e,"num"),space:t.lengthAttr(e,"space"),separator:t.boolAttr(e,"sep"),equalWidth:t.boolAttr(e,"equalWidth",!0),columns:t.elements(e,"col").map(e=>({width:t.lengthAttr(e,"w"),space:t.lengthAttr(e,"space")}))}}function Ne(e,t){return{chapSep:t.attr(e,"chapSep"),chapStyle:t.attr(e,"chapStyle"),format:t.attr(e,"fmt"),start:t.intAttr(e,"start")}}function Ae(e,t){const r=t.intAttr(e,"charSpace",null),n=null==r?null:r/4096;return{type:t.attr(e,"type"),linePitch:t.lengthAttr(e,"linePitch"),charSpace:null==n?null:`${n.toFixed(4)}pt`,charSpaceRaw:r}}function Pe(e,t){return{id:t.attr(e,"id"),type:t.attr(e,"type")}}function Me(e,t){let r={};for(let n of t.elements(e))$e(n,r,t);return r}function $e(e,t,r){return!!z(e,t,r)}function Te(e,t){let r={};for(let n of t.elements(e))Fe(n,r,t);return r}function Fe(e,t,r){if(e.namespaceURI!=S)return!1;if(z(e,t,r))return!0;switch(e.localName){case"tabs":t.tabs=function(e,t){return t.elements(e,"tab").map(e=>({position:t.lengthAttr(e,"pos"),leader:t.attr(e,"leader"),style:t.attr(e,"val")}))}(e,r);break;case"sectPr":t.sectionProps=Ce(e,r);break;case"numPr":t.numbering=function(e,t){var r={};for(let n of t.elements(e))switch(n.localName){case"numId":r.id=t.attr(n,"val");break;case"ilvl":r.level=t.intAttr(n,"val")}return r}(e,r);break;case"spacing":return t.lineSpacing=function(e,t){return{before:t.lengthAttr(e,"before"),after:t.lengthAttr(e,"after"),line:t.intAttr(e,"line"),lineRule:t.attr(e,"lineRule")}}(e,r),!1;case"textAlignment":return t.textAlignment=r.attr(e,"val"),!1;case"keepLines":t.keepLines=r.boolAttr(e,"val",!0);break;case"keepNext":t.keepNext=r.boolAttr(e,"val",!0);break;case"pageBreakBefore":t.pageBreakBefore=r.boolAttr(e,"val",!0);break;case"widowControl":t.widowControl=r.boolAttr(e,"val",!0);break;case"outlineLvl":t.outlineLevel=r.intAttr(e,"val");break;case"pStyle":t.styleName=r.attr(e,"val");break;case"rPr":t.runProps=Me(e,r);break;default:return!1}return!0}function Le(e,t){let r={id:t.attr(e,"numId"),overrides:[]};for(let n of t.elements(e))switch(n.localName){case"abstractNumId":r.abstractId=t.attr(n,"val");break;case"lvlOverride":r.overrides.push(Be(n,t))}return r}function Re(e,t){let r={id:t.attr(e,"abstractNumId"),levels:[]};for(let n of t.elements(e))switch(n.localName){case"name":r.name=t.attr(n,"val");break;case"multiLevelType":r.multiLevelType=t.attr(n,"val");break;case"numStyleLink":r.numberingStyleLink=t.attr(n,"val");break;case"styleLink":r.styleLink=t.attr(n,"val");break;case"lvl":r.levels.push(Ee(n,t))}return r}function Ee(e,t){let r={level:t.intAttr(e,"ilvl")};for(let n of t.elements(e))switch(n.localName){case"start":r.start=t.attr(n,"val");break;case"lvlRestart":r.restart=t.intAttr(n,"val");break;case"numFmt":r.format=t.attr(n,"val");break;case"lvlText":r.text=t.attr(n,"val");break;case"lvlJc":r.justification=t.attr(n,"val");break;case"lvlPicBulletId":r.bulletPictureId=t.attr(n,"val");break;case"pStyle":r.paragraphStyle=t.attr(n,"val");break;case"pPr":r.paragraphProps=Te(n,t);break;case"rPr":r.runProps=Me(n,t)}return r}function Be(e,t){let r={level:t.intAttr(e,"ilvl")};for(let n of t.elements(e))switch(n.localName){case"startOverride":r.start=t.intAttr(n,"val");break;case"lvl":r.numberingLevel=Ee(n,t)}return r}function De(e,t){var r=t.attr(e,"numPicBulletId"),n=t.element(e,"pict"),a=n&&t.element(n,"shape"),s=a&&t.element(a,"imagedata");if(s)return{id:r,referenceId:t.attr(s,"id"),style:t.attr(a,"style")};var o=t.element(e,"drawing"),i=o&&Ie(o,"blip",t);return i?{id:r,referenceId:t.attr(i,"embed")??t.attr(i,"link"),style:null}:null}function Ie(e,t,r){for(const n of r.elements(e)){if(n.localName==t)return n;const e=Ie(n,t,r);if(e)return e}return null}class Oe extends Q{constructor(e,t,r){super(e,t),this._documentParser=r}parseXml(e){Object.assign(this,function(e,t){let r={numberings:[],abstractNumberings:[],bulletPictures:[]};for(let n of t.elements(e))switch(n.localName){case"num":r.numberings.push(Le(n,t));break;case"abstractNum":r.abstractNumberings.push(Re(n,t));break;case"numPicBullet":r.bulletPictures.push(De(n,t))}return r}(e,this._package.xmlParser)),this.domNumberings=this._documentParser.parseNumberingFile(e)}}class He extends Q{constructor(e,t,r){super(e,t),this._documentParser=r}parseXml(e){this.styles=this._documentParser.parseStylesFile(e)}}var ze;!function(e){e.Document="document",e.Paragraph="paragraph",e.Run="run",e.Break="break",e.NoBreakHyphen="noBreakHyphen",e.Table="table",e.Row="row",e.Cell="cell",e.Hyperlink="hyperlink",e.SmartTag="smartTag",e.Drawing="drawing",e.Image="image",e.Text="text",e.Tab="tab",e.PositionalTab="positionalTab",e.SoftHyphen="softHyphen",e.Symbol="symbol",e.BookmarkStart="bookmarkStart",e.BookmarkEnd="bookmarkEnd",e.Footer="footer",e.Header="header",e.FootnoteReference="footnoteReference",e.EndnoteReference="endnoteReference",e.Footnote="footnote",e.Endnote="endnote",e.SimpleField="simpleField",e.ComplexField="complexField",e.Instruction="instruction",e.VmlPicture="vmlPicture",e.MmlMath="mmlMath",e.Shape="shape",e.MmlMathParagraph="mmlMathParagraph",e.MmlFraction="mmlFraction",e.MmlFunction="mmlFunction",e.MmlFunctionName="mmlFunctionName",e.MmlNumerator="mmlNumerator",e.MmlDenominator="mmlDenominator",e.MmlRadical="mmlRadical",e.MmlBase="mmlBase",e.MmlDegree="mmlDegree",e.MmlSuperscript="mmlSuperscript",e.MmlSubscript="mmlSubscript",e.MmlPreSubSuper="mmlPreSubSuper",e.MmlSubArgument="mmlSubArgument",e.MmlSuperArgument="mmlSuperArgument",e.MmlNary="mmlNary",e.MmlDelimiter="mmlDelimiter",e.MmlRun="mmlRun",e.MmlEquationArray="mmlEquationArray",e.MmlLimit="mmlLimit",e.MmlLimitLower="mmlLimitLower",e.MmlLimitUpper="mmlLimitUpper",e.MmlSubSuperscript="mmlSubSuperscript",e.MmlPhantom="mmlPhantom",e.MmlBorderBox="mmlBorderBox",e.MmlAccent="mmlAccent",e.MmlMatrix="mmlMatrix",e.MmlMatrixRow="mmlMatrixRow",e.MmlBox="mmlBox",e.MmlBar="mmlBar",e.MmlGroupChar="mmlGroupChar",e.VmlElement="vmlElement",e.Chart="chart",e.SmartArt="smartArt",e.Ink="ink",e.Ruby="ruby",e.RubyBase="rubyBase",e.RubyText="rubyText",e.Inserted="inserted",e.Deleted="deleted",e.DeletedText="deletedText",e.Comment="comment",e.CommentReference="commentReference",e.CommentRangeStart="commentRangeStart",e.CommentRangeEnd="commentRangeEnd",e.AltChunk="altChunk"}(ze||(ze={}));class We{constructor(){this.children=[],this.cssStyle={}}}class Ve extends We{constructor(){super(...arguments),this.type=ze.Header}}class Ue extends We{constructor(){super(...arguments),this.type=ze.Footer}}class je extends Q{constructor(e,t,r){super(e,t),this._documentParser=r}parseXml(e){this.rootElement=this.createRootElement(),this.rootElement.children=this._documentParser.parseBodyElements(e)}}class qe extends je{createRootElement(){return new Ve}}class Ge extends je{createRootElement(){return new Ue}}function _e(e){if(void 0!==e)return parseInt(e)}class Xe extends Q{parseXml(e){this.props=function(e,t){const r={};for(let n of t.elements(e))switch(n.localName){case"Template":r.template=n.textContent;break;case"Pages":r.pages=_e(n.textContent);break;case"Words":r.words=_e(n.textContent);break;case"Characters":r.characters=_e(n.textContent);break;case"Application":r.application=n.textContent;break;case"Lines":r.lines=_e(n.textContent);break;case"Paragraphs":r.paragraphs=_e(n.textContent);break;case"Company":r.company=n.textContent;break;case"AppVersion":r.appVersion=n.textContent}return r}(e,this._package.xmlParser)}}class Ke extends Q{parseXml(e){this.props=function(e,t){const r={};for(let n of t.elements(e))switch(n.localName){case"title":r.title=n.textContent;break;case"description":r.description=n.textContent;break;case"subject":r.subject=n.textContent;break;case"creator":r.creator=n.textContent;break;case"keywords":r.keywords=n.textContent;break;case"language":r.language=n.textContent;break;case"lastModifiedBy":r.lastModifiedBy=n.textContent;break;case"revision":n.textContent&&(r.revision=parseInt(n.textContent))}return r}(e,this._package.xmlParser)}}class Ye{}function Je(e){const t=String(e??"").trim().replace(/_/g,"-").toLowerCase(),r=t.split("-")[0];if("zh"==r)return/(?:^|-)hant(?:-|$)|-(?:tw|hk|mo)(?:-|$)/.test(t)?"Hant":"Hans";return{ja:"Jpan",ko:"Hang",ar:"Arab",fa:"Arab",ur:"Arab",he:"Hebr",yi:"Hebr",th:"Thai",vi:"Viet",hi:"Deva",bn:"Beng",gu:"Gujr",kn:"Knda",pa:"Guru",ta:"Taml",te:"Telu",ml:"Mlym",or:"Orya",si:"Sinh",km:"Khmr",lo:"Laoo",my:"Mymr",mn:"Mong"}[r]??""}function Ze(e,t){var r={name:t.attr(e,"name"),colors:{}};for(let s of t.elements(e)){var n=t.element(s,"srgbClr"),a=t.element(s,"sysClr");n?r.colors[s.localName]=t.attr(n,"val"):a&&(r.colors[s.localName]=t.attr(a,"lastClr"))}return r}function Qe(e,t){var r={name:t.attr(e,"name")};for(let n of t.elements(e))switch(n.localName){case"majorFont":r.majorFont=et(n,t);break;case"minorFont":r.minorFont=et(n,t)}return r}function et(e,t){const r={};for(const n of t.elements(e).filter(e=>"font"==e.localName)){const e=t.attr(n,"script"),a=t.attr(n,"typeface");e&&a&&(r[e]=a)}return{latinTypeface:t.elementAttr(e,"latin","typeface"),eaTypeface:t.elementAttr(e,"ea","typeface"),csTypeface:t.elementAttr(e,"cs","typeface"),scriptTypefaces:r}}class tt extends Q{constructor(e,t){super(e,t)}parseXml(e){this.theme=function(e,t){var r=new Ye,n=t.element(e,"themeElements");for(let e of t.elements(n))switch(e.localName){case"clrScheme":r.colorScheme=Ze(e,t);break;case"fontScheme":r.fontScheme=Qe(e,t)}return r}(e,this._package.xmlParser)}}class rt{}class nt extends rt{constructor(){super(...arguments),this.type=ze.Footnote}}class at extends rt{constructor(){super(...arguments),this.type=ze.Endnote}}class st extends Q{constructor(e,t,r){super(e,t),this._documentParser=r}}class ot extends st{constructor(e,t,r){super(e,t,r)}parseXml(e){this.notes=this._documentParser.parseNotes(e,"footnote",nt)}}class it extends st{constructor(e,t,r){super(e,t,r)}parseXml(e){this.notes=this._documentParser.parseNotes(e,"endnote",at)}}class lt extends Q{constructor(e,t){super(e,t)}parseXml(e){this.settings=function(e,t){var r={};for(let n of t.elements(e))switch(n.localName){case"defaultTabStop":r.defaultTabStop=t.lengthAttr(n,"val");break;case"footnotePr":r.footnoteProps=ce(n,t);break;case"endnotePr":r.endnoteProps=ce(n,t);break;case"autoHyphenation":r.autoHyphenation=t.boolAttr(n,"val");break;case"kinsoku":r.kinsoku=t.boolAttr(n,"val",!0);break;case"overflowPunct":r.overflowPunctuation=t.boolAttr(n,"val",!0);break;case"topLinePunct":r.topLinePunctuation=t.boolAttr(n,"val",!0);break;case"autoSpaceDE":r.autoSpaceDE=t.boolAttr(n,"val",!0);break;case"autoSpaceDN":r.autoSpaceDN=t.boolAttr(n,"val",!0);break;case"noLineBreaksAfter":r.noLineBreaksAfter=t.attr(n,"val")||n.textContent||"";break;case"noLineBreaksBefore":r.noLineBreaksBefore=t.attr(n,"val")||n.textContent||"";break;case"evenAndOddHeaders":r.evenAndOddHeaders=t.boolAttr(n,"val",!0);break;case"splitPgBreakAndParaMark":r.splitPageBreakAndParagraphMark=t.boolAttr(n,"val",!0);break;case"compat":for(const e of t.elements(n))"adjustLineHeightInTable"==e.localName&&(r.adjustLineHeightInTable=t.boolAttr(e,"val",!0))}return r}(e,this._package.xmlParser)}}class ct extends Q{parseXml(e){this.props=function(e,t){return t.elements(e,"property").map(e=>{const r=e.firstChild;return{formatId:t.attr(e,"fmtid"),name:t.attr(e,"name"),type:r.nodeName,value:r.textContent}})}(e,this._package.xmlParser)}}class ht extends Q{constructor(e,t,r){super(e,t),this._documentParser=r}parseXml(e){this.comments=this._documentParser.parseComments(e),this.commentMap=b(this.comments,e=>e.id)}}class dt extends Q{constructor(e,t){super(e,t),this.comments=[]}parseXml(e){const t=this._package.xmlParser;for(let r of t.elements(e,"commentEx"))this.comments.push({paraId:t.attr(r,"paraId"),paraIdParent:t.attr(r,"paraIdParent"),done:t.boolAttr(r,"done")});this.commentMap=b(this.comments,e=>e.paraId)}}const ut=1,mt=2,pt=3,ft=4,gt=5,bt=6,yt=7,xt=8,wt=9,vt=10,kt=11,Ct=12,St=14,Nt=15,At=18,Pt=19,Mt=22,$t=24,Tt=25,Ft=27,Lt=31,Rt=32,Et=33,Bt=34,Dt=35,It=36,Ot=37,Ht=38,zt=39,Wt=40,Vt=42,Ut=43,jt=44,qt=45,Gt=46,_t=47,Xt=54,Kt=55,Yt=56,Jt=59,Zt=60,Qt=61,er=62,tr=63,rr=64,nr=76,ar=77,sr=81,or=82,ir=83,lr=84,cr=85,hr=86,dr=87,ur=88,mr=89,pr=90,fr=91,gr=92,br=95,yr=96,xr=97,wr=108,vr=114,kr=116,Cr={0:{type:"brush",color:"#ffffff"},1:{type:"brush",color:"#c0c0c0"},2:{type:"brush",color:"#808080"},3:{type:"brush",color:"#404040"},4:{type:"brush",color:"#000000"},5:{type:"brush",color:"none",nullBrush:!0},6:{type:"pen",color:"#ffffff",width:1},7:{type:"pen",color:"#000000",width:1},8:{type:"pen",color:"none",width:0,nullPen:!0},18:{type:"brush",color:"#ffffff"},19:{type:"pen",color:"#000000",width:1}},Sr={m11:1,m12:0,m21:0,m22:1,dx:0,dy:0};function Nr(e){if(!e||e.length<48)return!1;const t=Fr(e);return t.getUint32(0,!0)==ut&&1179469088==t.getUint32(40,!0)}function Ar(e,t){const r=function(e,t={}){if(!Nr(e))return null;const r=Fr(e),n=r.getUint32(4,!0),a=Lr(r,8),s=Lr(r,24),o=r.byteLength>=52?r.getUint32(48,!0):0,i=Math.max(1,a.right-a.left),l=Math.max(1,a.bottom-a.top),c=Math.max(1,s.right-s.left)/100,h=Math.max(1,s.bottom-s.top)/100,d={world:Tr(Sr),windowOrg:{x:0,y:0},windowExt:null,viewportOrg:{x:0,y:0},viewportExt:null,pen:{type:"pen",color:"#000000",width:1},brush:{type:"brush",color:"#ffffff",nullBrush:!0},font:null,textColor:"#000000",bkColor:"#ffffff",bkMode:1,polyFillMode:1,textAlign:0,currentPoint:{x:0,y:0}},u=[],m={},p=[];let f=Math.max(8,n||108),g=1,b="",y=!1,x=0;const w=t.maxRecords??Math.max(1e4,o+100),v=t.maxShapes??5e4,k=e=>{!e||x>=v||(p.push(e),x++)},C=e=>{e&&(b+=(b?" ":"")+e)};for(;f+8<=r.byteLength&&g++<=w;){const e=r.getUint32(f,!0),t=r.getUint32(f+4,!0);if(t<8||f+t>r.byteLength)break;switch(e){case St:f+=t,g=w+1;break;case wt:d.windowExt=Er(r,f+8);break;case vt:d.windowOrg=Rr(r,f+8);break;case kt:d.viewportExt=Er(r,f+8);break;case Ct:d.viewportOrg=Rr(r,f+8);break;case Rt:d.windowExt&&(d.windowExt=zr(r,f,d.windowExt));break;case Lt:d.viewportExt&&(d.viewportExt=zr(r,f,d.viewportExt));break;case Dt:d.world=Dr(r,f+8);break;case It:{const e=Dr(r,f+8),t=r.getUint32(f+32,!0);1==t?d.world=Tr(Sr):2==t?d.world=Ir(e,d.world):3==t?d.world=Ir(d.world,e):4==t&&(d.world=e);break}case Et:u.push(Pr(d));break;case Bt:{const e=r.getInt32(f+8,!0);if(e<0)for(let t=0;t<Math.min(-e,u.length);t++)Object.assign(d,u.pop());else if(e>0&&e<=u.length){const t=u[e-1];u.length=e-1,Object.assign(d,Pr(t))}break}case At:d.bkMode=r.getUint32(f+8,!0);break;case Pt:d.polyFillMode=r.getUint32(f+8,!0);break;case Mt:d.textAlign=r.getUint32(f+8,!0);break;case $t:d.textColor=Wr(r.getUint32(f+8,!0));break;case Tt:d.bkColor=Wr(r.getUint32(f+8,!0));break;case Ht:{const e=r.getUint32(f+8,!0),t=r.getUint32(f+12,!0),n=Math.abs(r.getInt32(f+16,!0)),a=Wr(r.getUint32(f+24,!0));m[e]={type:"pen",color:a,width:n||1,nullPen:5==(15&t)};break}case br:{const e=r.getUint32(f+8,!0),t=r.getUint32(f+28,!0),n=Math.abs(r.getInt32(f+32,!0)),a=r.getUint32(f+36,!0),s=Wr(r.getUint32(f+40,!0));m[e]={type:"pen",color:s,width:n||1,nullPen:5==(15&t)||1==a};break}case zt:{const e=r.getUint32(f+8,!0),t=r.getUint32(f+12,!0),n=Wr(r.getUint32(f+16,!0));m[e]={type:"brush",color:n,nullBrush:1==t};break}case or:m[r.getUint32(f+8,!0)]=rn(r,f+12,t-12);break;case Ot:{const e=r.getUint32(f+8,!0),t=2147483648&e?Cr[2147483647&e]:m[e];"pen"==t?.type?d.pen=Mr(t):"brush"==t?.type?d.brush=$r(t):"font"==t?.type&&(d.font={...t});break}case Wt:delete m[r.getUint32(f+8,!0)];break;case Jt:y=!0,b="";break;case Zt:y=!1;break;case Qt:C("Z");break;case Ft:{const e=Or(d,Rr(r,f+8));d.currentPoint=e,y&&C(`M ${Ur(e.x)} ${Ur(e.y)}`);break}case Xt:{const e=Or(d,Rr(r,f+8));y?C(`L ${Ur(e.x)} ${Ur(e.y)}`):k(`<path d="M ${Ur(d.currentPoint.x)} ${Ur(d.currentPoint.y)} L ${Ur(e.x)} ${Ur(e.y)}" ${qr(d,!1,!0)}/>`),d.currentPoint=e;break}case ft:case pt:Xr(r,f,e==pt,!1,y,d,C,k);break;case bt:Xr(r,f,!1,!0,y,d,C,k);break;case dr:case hr:_r(r,f,e==hr,!1,y,d,C,k);break;case mr:_r(r,f,!1,!0,y,d,C,k);break;case mt:Yr(r,f,!1,!1,y,d,C,k);break;case gt:Yr(r,f,!1,!0,y,d,C,k);break;case cr:Yr(r,f,!0,!1,y,d,C,k);break;case ur:Yr(r,f,!0,!0,y,d,C,k);break;case yt:case xt:Jr(r,f,e==xt,!1,y,d,C,k);break;case pr:case fr:Jr(r,f,e==fr,!0,y,d,C,k);break;case Yt:Zr(r,f,!1,y,d,C,k);break;case gr:Zr(r,f,!0,y,d,C,k);break;case Ut:Qr(r,f,d,k,!1);break;case Vt:en(r,f,d,k);break;case jt:Qr(r,f,d,k,!0);break;case qt:case Kt:case Gt:case _t:tn(r,f,e,y,d,C,k);break;case er:Gr(b,d,k,!0,!1),b="";break;case rr:Gr(b,d,k,!1,!0),b="";break;case tr:Gr(b,d,k,!0,!0),b="";break;case ir:case lr:nn(r,f,t,d,k,e==lr);break;case yr:case xr:an(r,f,t,d,k,e==xr);break;case wr:sn(r,f,t,d,k);break;case Nt:un(r,f,d,k);break;case nr:case ar:case sr:case vr:case kr:mn(r,f,t,e,d,k)}f+=t}b&&Gr(b,d,k,!0,!0);if(!p.length){const t=function(e,t){const r=function(e){const t=function(e){const t=[137,80,78,71,13,10,26,10];for(let r=0;r+t.length+12<=e.length;r++){if(!pn(e,t,r))continue;let n=r+8;for(;n+12<=e.length;){const t=fn(e,n),a=String.fromCharCode(e[n+4],e[n+5],e[n+6],e[n+7]);if(n+=12+t,n>e.length)break;if("IEND"==a)return e.subarray(r,n)}}return null}(e);if(t)return`data:image/png;base64,${yn(t)}`;const r=function(e){for(let t=0;t+4<e.length;t++)if(255==e[t]&&216==e[t+1]&&255==e[t+2])for(let r=t+4;r+1<e.length;r++)if(255==e[r]&&217==e[r+1])return e.subarray(t,r+2);return null}(e);if(r)return`data:image/jpeg;base64,${yn(r)}`;const n=function(e){for(let t=0;t+14<e.length;t++){if(66!=e[t]||77!=e[t+1])continue;const r=gn(e,t+2);if(r>14&&t+r<=e.length)return e.subarray(t,t+r)}return null}(e);return n?`data:image/bmp;base64,${yn(n)}`:null}(e);if(!r)return[];const n=Math.max(1,t.right-t.left),a=Math.max(1,t.bottom-t.top);return[`<image x="${Ur(t.left)}" y="${Ur(t.top)}" width="${Ur(n)}" height="${Ur(a)}" href="${r}" preserveAspectRatio="xMidYMid meet"/>`]}(e,a);t.length&&p.push(...t)}return p.length?`<svg xmlns="http://www.w3.org/2000/svg" width="${Ur(c)}mm" height="${Ur(h)}mm" viewBox="${Ur(a.left)} ${Ur(a.top)} ${Ur(i)} ${Ur(l)}" preserveAspectRatio="xMidYMid meet" data-docx-metafile="emf">${p.join("")}</svg>`:function(e,t,r,n,a,s){return`<svg xmlns="http://www.w3.org/2000/svg" width="${Ur(n)}mm" height="${Ur(a)}mm" viewBox="${Ur(r.left)} ${Ur(r.top)} ${Ur(e)} ${Ur(t)}" preserveAspectRatio="xMidYMid meet" data-docx-metafile="emf"><rect x="${Ur(r.left)}" y="${Ur(r.top)}" width="${Ur(e)}" height="${Ur(t)}" fill="none" stroke="#999" stroke-width="1"/><text x="${Ur(r.left+e/2)}" y="${Ur(r.top+t/2)}" text-anchor="middle" font-size="12" fill="#666">${jr(s)}</text></svg>`}(i,l,a,c,h,"Unsupported EMF image")}(e,t);return r?`data:image/svg+xml;charset=utf-8,${encodeURIComponent(r)}`:null}function Pr(e){return{world:Tr(e.world),windowOrg:{...e.windowOrg},windowExt:e.windowExt?{...e.windowExt}:null,viewportOrg:{...e.viewportOrg},viewportExt:e.viewportExt?{...e.viewportExt}:null,pen:Mr(e.pen),brush:$r(e.brush),font:e.font?{...e.font}:null,textColor:e.textColor,bkColor:e.bkColor,bkMode:e.bkMode,polyFillMode:e.polyFillMode,textAlign:e.textAlign,currentPoint:{...e.currentPoint}}}function Mr(e){return{...e}}function $r(e){return{...e}}function Tr(e){return{...e}}function Fr(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Lr(e,t){return{left:e.getInt32(t,!0),top:e.getInt32(t+4,!0),right:e.getInt32(t+8,!0),bottom:e.getInt32(t+12,!0)}}function Rr(e,t){return{x:e.getInt32(t,!0),y:e.getInt32(t+4,!0)}}function Er(e,t){return Rr(e,t)}function Br(e,t){return{x:e.getInt16(t,!0),y:e.getInt16(t+2,!0)}}function Dr(e,t){return{m11:e.getFloat32(t,!0),m12:e.getFloat32(t+4,!0),m21:e.getFloat32(t+8,!0),m22:e.getFloat32(t+12,!0),dx:e.getFloat32(t+16,!0),dy:e.getFloat32(t+20,!0)}}function Ir(e,t){return{m11:e.m11*t.m11+e.m12*t.m21,m12:e.m11*t.m12+e.m12*t.m22,m21:e.m21*t.m11+e.m22*t.m21,m22:e.m21*t.m12+e.m22*t.m22,dx:e.dx*t.m11+e.dy*t.m21+t.dx,dy:e.dx*t.m12+e.dy*t.m22+t.dy}}function Or(e,t){const r=e.world;let n=t.x*r.m11+t.y*r.m21+r.dx,a=t.x*r.m12+t.y*r.m22+r.dy;return e.windowExt&&e.viewportExt&&e.windowExt.x&&e.windowExt.y&&(n=(n-e.windowOrg.x)*e.viewportExt.x/e.windowExt.x+e.viewportOrg.x,a=(a-e.windowOrg.y)*e.viewportExt.y/e.windowExt.y+e.viewportOrg.y),{x:n,y:a}}function Hr(e){let t=Math.hypot(e.world.m11,e.world.m12),r=Math.hypot(e.world.m21,e.world.m22);e.windowExt&&e.viewportExt&&e.windowExt.x&&e.windowExt.y&&(t*=Math.abs(e.viewportExt.x/e.windowExt.x),r*=Math.abs(e.viewportExt.y/e.windowExt.y));const n=(t+r)/2;return Number.isFinite(n)&&n>0?n:1}function zr(e,t,r){const n=e.getInt32(t+8,!0),a=e.getInt32(t+12,!0),s=e.getInt32(t+16,!0),o=e.getInt32(t+20,!0);return{x:a?r.x*n/a:r.x,y:o?r.y*s/o:r.y}}function Wr(e){const t=e>>8&255,r=e>>16&255;return`#${Vr(255&e)}${Vr(t)}${Vr(r)}`}function Vr(e){return Math.max(0,Math.min(255,0|e)).toString(16).padStart(2,"0")}function Ur(e){if(!Number.isFinite(e))return"0";return`${Math.round(1e3*e)/1e3}`}function jr(e){return`${e??""}`.replace(/[\u0000-\u0008\u000B\u000C\u000E-\u001F\u007F-\u009F]/g,"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}function qr(e,t,r){const n=[];if(t&&!e.brush.nullBrush?(n.push(`fill="${e.brush.color}"`),n.push(`fill-rule="${2==e.polyFillMode?"nonzero":"evenodd"}"`)):n.push('fill="none"'),r&&!e.pen.nullPen){const t=Hr(e),r=0==e.pen.width?1:Math.max(.35,e.pen.width*t);n.push(`stroke="${e.pen.color}"`),n.push(`stroke-width="${Ur(r)}"`),n.push('stroke-linecap="square"'),n.push('stroke-linejoin="miter"')}else n.push('stroke="none"');return n.join(" ")}function Gr(e,t,r,n,a){e&&r(`<path d="${e}" ${qr(t,n,a)}/>`)}function _r(e,t,r,n,a,s,o,i){const l=e.getUint32(t+24,!0);if(!l||t+28+4*l>e.byteLength)return;const c=[];for(let r=0;r<l;r++)c.push(Or(s,Br(e,t+28+4*r)));Kr(c,r,n,a,s,o,i)}function Xr(e,t,r,n,a,s,o,i){const l=e.getUint32(t+24,!0);if(!l||t+28+8*l>e.byteLength)return;const c=[];for(let r=0;r<l;r++)c.push(Or(s,Rr(e,t+28+8*r)));Kr(c,r,n,a,s,o,i)}function Kr(e,t,r,n,a,s,o){if(!e.length)return;let i=n&&r?"":r?`M ${Ur(a.currentPoint.x)} ${Ur(a.currentPoint.y)}`:`M ${Ur(e[0].x)} ${Ur(e[0].y)}`;for(let t=r?0:1;t<e.length;t++)i+=` L ${Ur(e[t].x)} ${Ur(e[t].y)}`;t&&(i+=" Z"),a.currentPoint=e[e.length-1],n?s(i.trim()):o(`<path d="${i.trim()}" ${qr(a,t,!0)}/>`)}function Yr(e,t,r,n,a,s,o,i){const l=e.getUint32(t+24,!0),c=r?4:8;if(!l||t+28+l*c>e.byteLength)return;const h=[];for(let n=0;n<l;n++){const a=r?Br(e,t+28+n*c):Rr(e,t+28+n*c);h.push(Or(s,a))}let d=a&&n?"":n?`M ${Ur(s.currentPoint.x)} ${Ur(s.currentPoint.y)}`:`M ${Ur(h[0].x)} ${Ur(h[0].y)}`,u=n?s.currentPoint:h[0];for(let e=n?0:1;e+2<h.length;e+=3){const t=h[e],r=h[e+1],n=h[e+2];d+=` C ${Ur(t.x)} ${Ur(t.y)} ${Ur(r.x)} ${Ur(r.y)} ${Ur(n.x)} ${Ur(n.y)}`,u=n}s.currentPoint=u,a?o(d.trim()):i(`<path d="${d.trim()}" ${qr(s,!1,!0)}/>`)}function Jr(e,t,r,n,a,s,o,i){const l=e.getUint32(t+24,!0),c=e.getUint32(t+28,!0),h=t+32,d=h+4*l,u=n?4:8;if(!l||!c||d+c*u>e.byteLength)return;let m=0;for(let t=0;t<l;t++){const l=e.getUint32(h+4*t,!0);if(!l||m+l>c)break;const p=[];for(let t=0;t<l;t++){const r=d+(m+t)*u,a=n?Br(e,r):Rr(e,r);p.push(Or(s,a))}Kr(p,r,!1,a,s,o,i),m+=l}}function Zr(e,t,r,n,a,s,o){const i=e.getUint32(t+24,!0),l=r?4:8,c=t+28,h=c+i*l;if(!i||h+i>e.byteLength)return;const d=[];for(let t=0;t<i;t++){const n=c+t*l,s=r?Br(e,n):Rr(e,n);d.push(Or(a,s))}let u="",m=0;for(;m<i;){const t=e.getUint8(h+m),r=6&t;6==r?(u+=` M ${Ur(d[m].x)} ${Ur(d[m].y)}`,a.currentPoint=d[m],m++):2==r?(u+=` L ${Ur(d[m].x)} ${Ur(d[m].y)}`,a.currentPoint=d[m],m++):4==r&&m+2<i?(u+=` C ${Ur(d[m].x)} ${Ur(d[m].y)} ${Ur(d[m+1].x)} ${Ur(d[m+1].y)} ${Ur(d[m+2].x)} ${Ur(d[m+2].y)}`,a.currentPoint=d[m+2],m+=3):m++,1&t&&(u+=" Z")}u=u.trim(),u&&(n?s(u):o(`<path d="${u}" ${qr(a,!1,!0)}/>`))}function Qr(e,t,r,n,a){const s=Lr(e,t+8),o=Or(r,{x:s.left,y:s.top}),i=Or(r,{x:s.right,y:s.bottom}),l=Math.min(o.x,i.x),c=Math.min(o.y,i.y),h=Math.abs(i.x-o.x),d=Math.abs(i.y-o.y),u=a?` rx="${Ur(Math.min(h,d)/8)}" ry="${Ur(Math.min(h,d)/8)}"`:"";n(`<rect x="${Ur(l)}" y="${Ur(c)}" width="${Ur(h)}" height="${Ur(d)}"${u} ${qr(r,!0,!0)}/>`)}function en(e,t,r,n){const a=Lr(e,t+8),s=Or(r,{x:a.left,y:a.top}),o=Or(r,{x:a.right,y:a.bottom}),i=(s.x+o.x)/2,l=(s.y+o.y)/2,c=Math.abs(o.x-s.x)/2,h=Math.abs(o.y-s.y)/2;n(`<ellipse cx="${Ur(i)}" cy="${Ur(l)}" rx="${Ur(c)}" ry="${Ur(h)}" ${qr(r,!0,!0)}/>`)}function tn(e,t,r,n,a,s,o){const i=Lr(e,t+8),l=Rr(e,t+24),c=Rr(e,t+32),h=(i.left+i.right)/2,d=(i.top+i.bottom)/2,u=Math.abs(i.right-i.left)/2,m=Math.abs(i.bottom-i.top)/2;if(!u||!m)return;const p=Math.atan2(l.y-d,l.x-h);let f=Math.atan2(c.y-d,c.x-h),g=f-p;g<=0&&(g+=2*Math.PI);const b=g>Math.PI?1:0,y=Or(a,{x:h+Math.cos(p)*u,y:d+Math.sin(p)*m}),x=Or(a,{x:h+Math.cos(f)*u,y:d+Math.sin(f)*m}),w=Or(a,{x:h,y:d}),v=Or(a,{x:h+u,y:d}),k=Or(a,{x:h,y:d+m}),C=Math.max(.01,Math.abs(v.x-w.x)||Math.abs(k.x-w.x)),S=Math.max(.01,Math.abs(k.y-w.y)||Math.abs(v.y-w.y)),N=`A ${Ur(C)} ${Ur(S)} 0 ${b} 1 ${Ur(x.x)} ${Ur(x.y)}`;let A=`M ${Ur(y.x)} ${Ur(y.y)} ${N}`,P=!1;r==Gt?(A+=" Z",P=!0):r==_t&&(A+=` L ${Ur(w.x)} ${Ur(w.y)} Z`,P=!0),r==Kt&&(a.currentPoint=x),n?s(A):o(`<path d="${A}" ${qr(a,P,!0)}/>`)}function rn(e,t,r){const n=r>=4?e.getInt32(t,!0):12,a=r>=20?e.getInt32(t+16,!0):400,s=r>=21&&0!=e.getUint8(t+20),o=r>=22&&0!=e.getUint8(t+21);let i="";const l=t+28,c=Math.max(0,Math.min(64,r-28));for(let t=0;t+1<c;t+=2){const r=e.getUint16(l+t,!0);if(!r)break;i+=String.fromCharCode(r)}return{type:"font",family:i,size:Math.abs(n)||12,weight:a,italic:s,underline:o}}function nn(e,t,r,n,a,s){if(r<76)return;const o=Or(n,Rr(e,t+36)),i=e.getUint32(t+44,!0),l=e.getUint32(t+48,!0);if(!i||l<=0)return;if(l+i*(s?2:1)>r)return;dn(s?on(e,t+l,i):ln(new Uint8Array(e.buffer,e.byteOffset+t+l,i)),o,n,a)}function an(e,t,r,n,a,s){if(r<40)return;const o=e.getUint32(t+36,!0);let i=t+40;for(let l=0;l<o&&i+40<=t+r;l++,i+=40){const o=Or(n,Rr(e,i)),l=e.getUint32(i+8,!0),c=e.getUint32(i+12,!0);if(!l||!c||c+l*(s?2:1)>r)continue;dn(s?on(e,t+c,l):ln(new Uint8Array(e.buffer,e.byteOffset+t+c,l)),o,n,a)}}function sn(e,t,r,n,a){if(r<36)return;const s=Or(n,Rr(e,t+8)),o=e.getUint32(t+16,!0),i=512&e.getUint32(t+20,!0)?40:28;if(!o||i+o>r)return;dn(ln(new Uint8Array(e.buffer,e.byteOffset+t+i,o)),s,n,a)}function on(e,t,r){let n="";for(let a=0;a<r;a++){const r=e.getUint16(t+2*a,!0);r&&(n+=String.fromCharCode(r))}return n}function ln(e){if(!e.length)return"";const t=globalThis.TextDecoder;if(t)try{return new t("gb18030").decode(e).replace(/\0+$/g,"")}catch{try{return new t("windows-1252").decode(e).replace(/\0+$/g,"")}catch{}}let r="";for(const t of e)t&&(r+=String.fromCharCode(t));return r}function cn(e){const t=6&e.textAlign;return 6==t?'text-anchor="middle"':2==t?'text-anchor="end"':""}function hn(e){const t=24&e.textAlign;return 0==t?'dominant-baseline="text-before-edge"':8==t?'dominant-baseline="text-after-edge"':""}function dn(e,t,r,n){e&&n(`<text ${function(e,t){const r=e.font,n=Math.max(1,(r?.size??12)*Hr(e));return[`x="${Ur(t.x)}"`,`y="${Ur(t.y)}"`,`fill="${e.textColor}"`,`font-size="${Ur(n)}"`,r?.family?`font-family="${jr(r.family)}"`:"",r?.weight?`font-weight="${r.weight>=600?"bold":"normal"}"`:"",r?.italic?'font-style="italic"':"",r?.underline?'text-decoration="underline"':"",cn(e),hn(e)].filter(Boolean).join(" ")}(r,t)}>${jr(e)}</text>`)}function un(e,t,r,n){if(t+20>e.byteLength)return;const a=Or(r,Rr(e,t+8)),s=Wr(e.getUint32(t+16,!0));n(`<rect x="${Ur(a.x)}" y="${Ur(a.y)}" width="1" height="1" fill="${s}" stroke="none"/>`)}function mn(e,t,r,n,a,s){let o=0,i=0,l=0,c=0,h=0,d=0,u=0,m=0;if(n==sr){if(r<80)return;o=e.getInt32(t+24,!0),i=e.getInt32(t+28,!0),h=e.getUint32(t+48,!0),d=e.getUint32(t+52,!0),u=e.getUint32(t+56,!0),m=e.getUint32(t+60,!0),l=e.getInt32(t+72,!0),c=e.getInt32(t+76,!0)}else{if(r<100)return;o=e.getInt32(t+24,!0),i=e.getInt32(t+28,!0),l=e.getInt32(t+32,!0),c=e.getInt32(t+36,!0),h=e.getUint32(t+84,!0),d=e.getUint32(t+88,!0),u=e.getUint32(t+92,!0),m=e.getUint32(t+96,!0)}if(!h||!d||!u||!m||h+d>r||u+m>r)return;const p=function(e,t,r,n,a,s){const o=t+r,i=t+a;if(n<4||o+n>e.byteLength||i+s>e.byteLength)return null;const l=e.getUint32(o,!0),c=l>=40&&n>=20?e.getUint32(o+16,!0):0,h=new Uint8Array(e.buffer,e.byteOffset+i,s);if(4==c)return`data:image/jpeg;base64,${yn(h)}`;if(5==c)return`data:image/png;base64,${yn(h)}`;const d=new Uint8Array(n+s);return d.set(new Uint8Array(e.buffer,e.byteOffset+o,n),0),d.set(h,n),function(e,t){if(!e?.length||t<=0||t>e.length)return null;const r=14,n=r+e.length,a=r+t,s=new Uint8Array(n);return s[0]=66,s[1]=77,bn(s,2,n),bn(s,10,a),s.set(e,r),`data:image/bmp;base64,${yn(s)}`}(d,n)}(e,t,h,d,u,m);if(!p)return;const f=Or(a,{x:o,y:i}),g=Or(a,{x:o+l,y:i+c}),b=Math.min(f.x,g.x),y=Math.min(f.y,g.y),x=Math.abs(g.x-f.x),w=Math.abs(g.y-f.y);s(`<image x="${Ur(b)}" y="${Ur(y)}" width="${Ur(x)}" height="${Ur(w)}" href="${p}" preserveAspectRatio="none"/>`)}function pn(e,t,r){for(let n=0;n<t.length;n++)if(e[r+n]!=t[n])return!1;return!0}function fn(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}function gn(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function bn(e,t,r){e[t]=255&r,e[t+1]=r>>8&255,e[t+2]=r>>16&255,e[t+3]=r>>24&255}function yn(e){let t="";for(let r=0;r<e.length;r+=32768)t+=String.fromCharCode(...e.subarray(r,r+32768));if("function"==typeof btoa)return btoa(t);const r=globalThis.Buffer;return r?r.from(e).toString("base64"):t}const xn=2596720087,wn=0,vn=258,kn=513,Cn=521,Sn=302,Nn=523,An=524,Pn=525,Mn=526,$n=532,Tn=531,Fn=805,Ln=804,Rn=1051,En=1048,Bn=762,Dn=764,In=763,On=301,Hn=496,zn=1313,Wn=2610,Vn={0:{type:"brush",color:"#ffffff"},1:{type:"brush",color:"#c0c0c0"},2:{type:"brush",color:"#808080"},3:{type:"brush",color:"#404040"},4:{type:"brush",color:"#000000"},5:{type:"brush",color:"none",nullBrush:!0},6:{type:"pen",color:"#ffffff",width:1},7:{type:"pen",color:"#000000",width:1},8:{type:"pen",color:"none",width:0,nullPen:!0},18:{type:"brush",color:"#ffffff"},19:{type:"pen",color:"#000000",width:1}};function Un(e){if(!e||e.length<22)return!1;const t=ba(e);return t.getUint32(0,!0)==xn||e.length>=18&&1==t.getUint16(0,!0)&&9==t.getUint16(2,!0)}function jn(e,t){const r=function(e,t={}){if(!Un(e))return null;const r=ba(e);let n=0,a={left:0,top:0,right:1e3,bottom:1e3},s=100,o=100;if(r.getUint32(0,!0)==xn&&r.byteLength>=22){a={left:r.getInt16(6,!0),top:r.getInt16(8,!0),right:r.getInt16(10,!0),bottom:r.getInt16(12,!0)};const e=Math.max(1,r.getUint16(14,!0)||1440);s=Math.max(1,a.right-a.left)/e*25.4,o=Math.max(1,a.bottom-a.top)/e*25.4,n=22}if(n+18>r.byteLength)return null;const i=r.getUint32(n+6,!0),l=Math.max(1,r.getUint16(n+10,!0)||16),c=i>0?2*i:r.byteLength;n+=18;const h=Math.max(1,a.right-a.left),d=Math.max(1,a.bottom-a.top),u=function(e){return{windowOrg:{x:e.left,y:e.top},windowExt:{x:Math.max(1,e.right-e.left),y:Math.max(1,e.bottom-e.top)},viewportOrg:{x:0,y:0},viewportExt:null,currentPoint:{x:0,y:0},pen:{type:"pen",color:"#000000",width:1},brush:{type:"brush",color:"#ffffff",nullBrush:!0},font:{type:"font",family:"Times New Roman",size:12,weight:400,italic:!1,underline:!1,strike:!1,charset:0},textColor:"#000000",bkColor:"#ffffff",bkMode:1,textAlign:0}}(a),m=new Array(l).fill(null),p=[];let f=0,g=0;const b=t.maxRecords??1e4,y=t.maxShapes??5e4,x=Math.min(r.byteLength,c),w=e=>{!e||f>=y||(p.push(e),f++)};for(;n+6<=x&&g++<b;){const e=r.getUint32(n,!0),t=r.getUint16(n+4,!0),a=n+2*e;if(e<3||a>r.byteLength)break;const i=n+6;switch(t){case wn:n=x;break;case vn:u.bkMode=ua(r,i);break;case kn:u.bkColor=fa(ma(r,i));break;case Cn:u.textColor=fa(ma(r,i));break;case Sn:u.textAlign=da(r,i);break;case Nn:u.windowOrg=ca(r,i);break;case An:u.windowExt=ca(r,i),s&&o||(s=Math.max(1,Math.abs(u.windowExt.x))/100,o=Math.max(1,Math.abs(u.windowExt.y))/100);break;case Pn:u.viewportOrg=ca(r,i);break;case Mn:u.viewportExt=ca(r,i);break;case Bn:aa(m,Xn(r,i,a));break;case Dn:aa(m,Kn(r,i,a));break;case In:aa(m,Yn(r,i,a));break;case On:{const e=da(r,i),t=e>=32768?Vn[32767&e]:m[e];"pen"==t?.type?u.pen={...t}:"brush"==t?.type?u.brush={...t}:"font"==t?.type&&(u.font={...t});break}case Hn:{const e=da(r,i);e<m.length&&(m[e]=null);break}case $n:u.currentPoint=qn(u,ca(r,i));break;case Tn:{const e=qn(u,ca(r,i));w(`<path d="M ${ya(u.currentPoint.x)} ${ya(u.currentPoint.y)} L ${ya(e.x)} ${ya(e.y)}" ${oa(u)}/>`),u.currentPoint=e;break}case Fn:case Ln:Jn(r,i,a,t==Ln,u,w);break;case Rn:Zn(r,i,u,w,!1);break;case En:Zn(r,i,u,w,!0);break;case zn:Qn(r,i,a,u,w);break;case Wn:ea(r,i,a,u,w)}n=a}return p.length?`<svg xmlns="http://www.w3.org/2000/svg" width="${ya(s)}mm" height="${ya(o)}mm" viewBox="${ya(a.left)} ${ya(a.top)} ${ya(h)} ${ya(d)}" preserveAspectRatio="xMidYMid meet" data-docx-metafile="wmf">${p.join("")}</svg>`:function(e,t,r,n,a,s){return`<svg xmlns="http://www.w3.org/2000/svg" width="${ya(n)}mm" height="${ya(a)}mm" viewBox="${ya(r.left)} ${ya(r.top)} ${ya(e)} ${ya(t)}" preserveAspectRatio="xMidYMid meet" data-docx-metafile="wmf"><rect x="${ya(r.left)}" y="${ya(r.top)}" width="${ya(e)}" height="${ya(t)}" fill="none" stroke="#999" stroke-width="1"/><text x="${ya(r.left+e/2)}" y="${ya(r.top+t/2)}" text-anchor="middle" font-size="12" fill="#666">${xa(s)}</text></svg>`}(h,d,a,s,o,"Unsupported WMF image")}(e,t);return r?`data:image/svg+xml;charset=utf-8,${encodeURIComponent(r)}`:null}function qn(e,t){const r=e.viewportExt??e.windowExt,n=_n(r.x,e.windowExt.x),a=_n(r.y,e.windowExt.y);return{x:e.viewportOrg.x+(t.x-e.windowOrg.x)*n,y:e.viewportOrg.y+(t.y-e.windowOrg.y)*a}}function Gn(e,t){const r=e.viewportExt??e.windowExt;return Math.abs(t*_n(r.x,e.windowExt.x))}function _n(e,t){return t?e/t:1}function Xn(e,t,r){const n=da(e,t),a=t+4<r?Math.abs(ua(e,t+2)):1,s=t+6<r?Math.abs(ua(e,t+4)):0;return{type:"pen",color:t+10<=r?fa(ma(e,t+6)):"#000000",width:Math.max(1,a,s),nullPen:5==(15&n)}}function Kn(e,t,r){const n=da(e,t);return{type:"brush",color:t+6<=r?fa(ma(e,t+2)):"#ffffff",nullBrush:1==n||5==n}}function Yn(e,t,r){const n=ua(e,t),a=ua(e,t+2),s=ua(e,t+8)||400,o=0!=ha(e,t+10),i=0!=ha(e,t+11),l=0!=ha(e,t+12),c=ha(e,t+13),h=function(e,t,r){let n="";for(let a=0;a<r&&t+a<e.byteLength;a++){const r=e.getUint8(t+a);if(0==r)break;n+=String.fromCharCode(r)}return n}(e,t+18,Math.max(0,Math.min(32,r-t-18)));return{type:"font",family:(d=h,(d??"").replace(/[^\x20-\x7e]/g,"").trim()||"Times New Roman"),size:Math.max(1,Math.abs(n||a||12)),weight:s,italic:o,underline:i,strike:l,charset:c};var d}function Jn(e,t,r,n,a,s){const o=da(e,t);let i=t+2;const l=[];for(let t=0;t<o&&i+4<=r;t++,i+=4)l.push(qn(a,{x:ua(e,i),y:ua(e,i+2)}));if(!l.length)return;s(`<path d="${l.map((e,t)=>`${0==t?"M":"L"} ${ya(e.x)} ${ya(e.y)}`).join(" ")+(n?" Z":"")}" ${n?sa(a):oa(a)}/>`),a.currentPoint=l[l.length-1]}function Zn(e,t,r,n,a){const s=qn(r,ca(e,t)),o=qn(r,ca(e,t+4)),i=Math.min(o.x,s.x),l=Math.min(o.y,s.y),c=Math.abs(s.x-o.x),h=Math.abs(s.y-o.y);n(a?`<ellipse cx="${ya(i+c/2)}" cy="${ya(l+h/2)}" rx="${ya(c/2)}" ry="${ya(h/2)}" ${sa(r)}/>`:`<rect x="${ya(i)}" y="${ya(l)}" width="${ya(c)}" height="${ya(h)}" ${sa(r)}/>`)}function Qn(e,t,r,n,a){const s=da(e,t),o=t+2,i=o+s+s%2;if(i+4>r)return;const l=la(e,o,s,n.font.charset),c=ua(e,i);na(l,ta(n,{x:ua(e,i+2),y:c}),null,n,a),ra(l,null,n)}function ea(e,t,r,n,a){const s=ua(e,t),o=ua(e,t+2),i=da(e,t+4);let l=t+8;if(6&da(e,t+6)&&(l+=8),l+i>r)return;const c=la(e,l,i,n.font.charset);l+=i+i%2;const h=[];for(;l+2<=r&&h.length<i;)h.push(ua(e,l)),l+=2;na(c,ta(n,{x:o,y:s}),h.length?h:null,n,a),ra(c,h.length?h:null,n)}function ta(e,t){return 1&e.textAlign?{...e.currentPoint}:qn(e,t)}function ra(e,t,r){if(!(1&r.textAlign))return;const n=t?.length?t.reduce((e,t)=>e+t,0):e.length*r.font.size*.5;r.currentPoint={x:r.currentPoint.x+Gn(r,n),y:r.currentPoint.y}}function na(e,t,r,n,a){if(!e)return;const s=n.font,o=Math.max(1,function(e,t){const r=e.viewportExt??e.windowExt;return Math.abs(t*_n(r.y,e.windowExt.y))}(n,s.size)),i=[`font-family:${pa(s.family)}`,`font-size:${ya(o)}px`,`font-weight:${s.weight>=600?"700":s.weight}`,"font-style:"+(s.italic?"italic":"normal")],l=[];s.underline&&l.push("underline"),s.strike&&l.push("line-through"),l.length&&i.push(`text-decoration:${l.join(" ")}`);const c=[`x="${ya(t.x)}"`,`y="${ya(t.y)}"`,`fill="${wa(n.textColor)}"`,`style="${wa(i.join(";"))}"`,`dominant-baseline="${24&~n.textAlign?"text-before-edge":"alphabetic"}"`,ia(n.textAlign)].filter(Boolean).join(" ");if(!r||0==r.length)return void a(`<text ${c}>${xa(e)}</text>`);let h=t.x;a(`<text ${c}>${Array.from(e).map((e,t)=>{const a=`<tspan x="${ya(h)}">${xa(e)}</tspan>`;return h+=Gn(n,r[t]??0),a}).join("")}</text>`)}function aa(e,t){let r=e.findIndex(e=>null==e);r<0?e.push(t):e[r]=t}function sa(e){return`${function(e){return e.brush?.nullBrush?'fill="none"':`fill="${wa(e.brush?.color??"#ffffff")}"`}(e)} ${oa(e)}`}function oa(e){return e.pen?.nullPen?'stroke="none"':`fill="none" stroke="${wa(e.pen?.color??"#000000")}" stroke-width="${ya(Math.max(.5,Gn(e,e.pen?.width??1)))}"`}function ia(e){return 6&e?'text-anchor="end"':2&e?'text-anchor="middle"':""}function la(e,t,r,n){const a=new Uint8Array(e.buffer,e.byteOffset+t,Math.max(0,Math.min(r,e.byteLength-t))),s=2==n?"symbol":134==n?"gb18030":"windows-1252";try{return new TextDecoder(s).decode(a).replace(/\0+$/g,"")}catch{let e="";for(const t of a)e+=String.fromCharCode(t);return e.replace(/\0+$/g,"")}}function ca(e,t){return{y:ua(e,t),x:ua(e,t+2)}}function ha(e,t){return t<e.byteLength?e.getUint8(t):0}function da(e,t){return t+2<=e.byteLength?e.getUint16(t,!0):0}function ua(e,t){return t+2<=e.byteLength?e.getInt16(t,!0):0}function ma(e,t){return t+4<=e.byteLength?e.getUint32(t,!0):0}function pa(e){const t=(e||"Times New Roman").replace(/["\\]/g,"");return/[\s,]/.test(t)?`"${t}"`:t}function fa(e){const t=e>>8&255,r=e>>16&255;return`#${ga(255&e)}${ga(t)}${ga(r)}`}function ga(e){return Math.max(0,Math.min(255,e)).toString(16).padStart(2,"0")}function ba(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function ya(e){if(!Number.isFinite(e))return"0";const t=Math.round(1e3*e)/1e3;return Number.isInteger(t),`${t}`}function xa(e){return String(e??"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function wa(e){return xa(e).replace(/"/g,""")}const va=[{type:u.OfficeDocument,target:"word/document.xml"},{type:u.ExtendedProperties,target:"docProps/app.xml"},{type:u.CoreProperties,target:"docProps/core.xml"},{type:u.CustomProperties,target:"docProps/custom.xml"}];class ka{constructor(){this.parts=[],this.partsMap={},this.contentTypes=[],this._snapshotAssetDataUrls=null,this._snapshotTextParts=null}static fromSnapshot(e,t){const r=new ka;r._options=t,r.rels=e.rels??[],r.contentTypes=e.contentTypes??[],r.parts=[],r.partsMap={},r._snapshotAssetDataUrls=e.assetDataUrls??{},r._snapshotTextParts=e.textParts??{},r._package={load:e=>Promise.resolve(r._snapshotTextParts?.[Ca(e)]??null),parseXmlDocument:e=>Y(e,t?.trimXmlDeclaration??!0),get:e=>null!=r._snapshotTextParts?.[Ca(e)]?{}:null};for(const t of e.parts??[]){const e=r.restoreSnapshotPart(t);e&&(r.parts.push(e),r.partsMap[e.path]=e)}return r}static async load(e,t,r){var n=new ka;return n._options=r,n._parser=t,n._package=await ae.load(e,r),n.rels=await n._package.loadRelationships(),n.contentTypes=await n._package.loadContentTypes(),await Promise.all(va.map(e=>{const t=n.rels.find(t=>t.type===e.type)??e;return n.loadRelationshipPart(t.target,t.type)})),n}restoreSnapshotPart(e){const t={path:e.path,rels:e.rels??[]};switch(Object.assign(t,e.data??{}),e.kind){case"document":this.documentPart=t;break;case"fontTable":this.fontTablePart=t;break;case"numbering":this.numberingPart=t;break;case"styles":this.stylesPart=t;break;case"theme":this.themePart=t;break;case"footnotes":this.footnotesPart=t;break;case"endnotes":this.endnotesPart=t;break;case"coreProps":this.corePropsPart=t;break;case"extendedProps":this.extendedPropsPart=t;break;case"settings":this.settingsPart=t;break;case"comments":t.commentMap=b(t.comments??[],e=>e.id),this.commentsPart=t;break;case"commentsExtended":t.commentMap=b(t.comments??[],e=>e.paraId),this.commentsExtendedPart=t}return t}async createSnapshot(){const e={rels:this.rels??[],contentTypes:this.contentTypes??[],parts:this.parts.map(e=>this.snapshotPart(e)).filter(Boolean),assetDataUrls:{},textParts:{}};return await this.preloadSnapshotRelationshipTargets(e),e}snapshotPart(e){const t=e;let r="part",n={};if(e===this.documentPart)r="document",n={body:t.body};else if(e===this.fontTablePart)r="fontTable",n={fonts:t.fonts};else if(e===this.numberingPart)r="numbering",n={numberings:t.numberings,abstractNumberings:t.abstractNumberings,bulletPictures:t.bulletPictures,domNumberings:t.domNumberings};else if(e===this.stylesPart)r="styles",n={styles:t.styles};else if(e===this.themePart)r="theme",n={theme:t.theme};else if(e===this.footnotesPart)r="footnotes",n={notes:t.notes};else if(e===this.endnotesPart)r="endnotes",n={notes:t.notes};else if(e===this.corePropsPart)r="coreProps",n={props:t.props};else if(e===this.extendedPropsPart)r="extendedProps",n={props:t.props};else if(e===this.settingsPart)r="settings",n={settings:t.settings};else if(e===this.commentsPart)r="comments",n={comments:t.comments};else if(e===this.commentsExtendedPart)r="commentsExtended",n={comments:t.comments};else{if(!t.rootElement)return null;r="header"===t.rootElement.type?"header":"footer",n={rootElement:t.rootElement}}return{kind:r,path:e.path,rels:e.rels??[],data:n}}async preloadSnapshotRelationshipTargets(e){const t=new Set,r=e=>{for(const r of e?.rels??[]){if(!r||h(r))continue;const n=Ca(this.resolveRelationshipTarget(e,r));n&&!t.has(n)&&t.add(n)}};for(const e of this.parts)r(e);for(const r of t){if(this.partsMap[r])continue;const t=r.toLowerCase(),n=/\.(xml|rels|html?|txt)$/i.test(t);try{if(n){const t=await this._package.load(r,"string");null!=t&&(e.textParts[r]=t)}else{const t=await this.loadPackageAssetDataUrl(r);t&&(e.assetDataUrls[r]=t)}}catch(e){this._options?.debug&&console.warn(`docx-preview: unable to preload relationship target ${r}`,e)}}}blobWithContentType(e,t){if(!e)return null;const r=this.contentTypeForPath(t);return r?new Blob([e],{type:r}):e}save(e="blob"){return this._package.save(e)}async loadRelationshipPart(e,t){if(this.partsMap[e])return this.partsMap[e];if(!this._package.get(e))return null;let r=null;switch(t){case u.OfficeDocument:this.documentPart=r=new oe(this._package,e,this._parser);break;case u.FontTable:this.fontTablePart=r=new ne(this._package,e);break;case u.Numbering:this.numberingPart=r=new Oe(this._package,e,this._parser);break;case u.Styles:this.stylesPart=r=new He(this._package,e,this._parser);break;case u.Theme:this.themePart=r=new tt(this._package,e);break;case u.Footnotes:this.footnotesPart=r=new ot(this._package,e,this._parser);break;case u.Endnotes:this.endnotesPart=r=new it(this._package,e,this._parser);break;case u.Footer:r=new Ge(this._package,e,this._parser);break;case u.Header:r=new qe(this._package,e,this._parser);break;case u.CoreProperties:this.corePropsPart=r=new Ke(this._package,e);break;case u.ExtendedProperties:this.extendedPropsPart=r=new Xe(this._package,e);break;case u.CustomProperties:r=new ct(this._package,e);break;case u.Settings:this.settingsPart=r=new lt(this._package,e);break;case u.Comments:this.commentsPart=r=new ht(this._package,e,this._parser);break;case u.CommentsExtended:this.commentsExtendedPart=r=new dt(this._package,e)}if(null==r)return Promise.resolve(null);if(this.partsMap[e]=r,this.parts.push(r),await r.load(),r.rels?.length>0){const[e]=f(r.path);await Promise.all(r.rels.filter(e=>!h(e)).map(t=>this.loadRelationshipPart(g(t.target,e),t.type)))}return r}async loadRelationshipXml(e,t){const r=t??this.documentPart,n=this.getRelById(r,e);if(!n||h(n))return null;const a=Ca(this.resolveRelationshipTarget(r,n)),s=a?this._snapshotTextParts?.[a]??await this._package.load(a,"string"):null;return s?this._package.parseXmlDocument(s):null}async loadRelationshipText(e,t){const r=t??this.documentPart,n=this.getRelById(r,e);if(!n||h(n))return null;const a=Ca(this.resolveRelationshipTarget(r,n));return a?Promise.resolve(this._snapshotTextParts?.[a]??this._package.load(a,"string")):Promise.resolve(null)}async loadRelationshipBlobUrl(e,t,r=this._options?.externalResourcePolicy??"block"){const n=t??this.documentPart,a=this.getRelById(n,e);if(!a)return null;if(h(a))return d(a,r);const s=Ca(this.resolveRelationshipTarget(n,a));return s?this.loadPackageAssetUrl(s):null}async loadDocumentImage(e,t,r=this._options?.externalResourcePolicy??"block"){const n=t??this.documentPart,a=this.getRelById(n,e);if(!a)return null;if(h(a))return d(a,r);const s=Ca(this.resolveRelationshipTarget(n,a));return s?this.loadPackageAssetUrl(s):null}async loadNumberingImage(e){const t=Ca(this.getPathById(this.numberingPart,e));return t?this.loadPackageAssetUrl(t):null}async loadFont(e,t){const r=Ca(this.getPathById(this.fontTablePart,e));if(!r)return null;if(this._snapshotAssetDataUrls?.[r])return this._snapshotAssetDataUrls[r];const n=await this._package.load(r,"uint8array");return n?this.blobToURL(new Blob([Sa(n,t)]),r):n}async loadAltChunk(e,t){const r=t??this.documentPart,n=this.getRelById(r,e);if(!n||h(n))return Promise.resolve(null);const a=Ca(this.resolveRelationshipTarget(r,n));return a?Promise.resolve(this._snapshotTextParts?.[a]??this._package.load(a,"string")):Promise.resolve(null)}blobToURL(e,t){return e?(e=this.blobWithContentType(e,t),this._options.useBase64URL?y(e):URL.createObjectURL(e)):null}async loadPackageAssetUrl(e){const t=Ca(e);if(!t)return null;if(this._snapshotAssetDataUrls?.[t])return this._snapshotAssetDataUrls[t];if(this.isConvertibleMetafileAsset(t)){const e=await this._package.load(t,"uint8array");if(!e)return null;const r=this.convertMetafileAsset(e,t);return r||this.blobToURL(new Blob([e],{type:this.contentTypeForPath(t)||this.defaultMetafileContentType(t)}),t)}return this.blobToURL(await this._package.load(t,"blob"),t)}async loadPackageAssetDataUrl(e){const t=Ca(e);if(!t)return null;if(this.isConvertibleMetafileAsset(t)){const e=await this._package.load(t,"uint8array");if(!e)return null;const r=this.convertMetafileAsset(e,t);if(r)return r;const n=e?new Blob([e],{type:this.contentTypeForPath(t)||this.defaultMetafileContentType(t)}):null;return n?y(n):null}const r=await this._package.load(t,"blob"),n=this.blobWithContentType(r,t);return n?y(n):null}convertMetafileAsset(e,t){if(!e)return null;try{if(Nr(e))return Ar(e);if(Un(e))return jn(e)}catch(e){return this._options?.debug&&console.warn(`docx-preview: unable to convert metafile asset ${t}`,e),null}return null}isConvertibleMetafileAsset(e){const t=this.contentTypeForPath(e).toLowerCase();return/\.(emf|wmf)$/i.test(e??"")||"image/x-emf"==t||"image/emf"==t||"image/x-wmf"==t||"image/wmf"==t}defaultMetafileContentType(e){return/\.wmf$/i.test(e??"")?"image/x-wmf":"image/x-emf"}contentTypeForPath(e){const t=Ca(e??"").toLowerCase();for(const e of this.contentTypes??[])if(e.partName&&Ca(e.partName).toLowerCase()==t)return e.contentType??"";const r=/\.([^.\/]+)$/.exec(t),n=r?.[1]??"";if(!n)return"";const a=(this.contentTypes??[]).find(e=>e.extension?.toLowerCase()==n);return a?.contentType??""}findPartByRelId(e,t=null){var r=this.getRelById(t,e);const n=r&&!h(r)?this.resolveRelationshipTarget(t,r):null;return n?this.partsMap[n]:null}getRelById(e,t){return(e?.rels??this.rels??[]).find(e=>e.id==t)}getPathById(e,t){const r=this.getRelById(e,t);return r&&!h(r)?this.resolveRelationshipTarget(e,r):null}resolveRelationshipTarget(e,t){const[r]=e?f(e.path):[""];return Ca(g(t.target,r))}}function Ca(e){return e&&e.startsWith("/")?e.substring(1):e}function Sa(e,t){const r=t.replace(/{|}|-/g,""),n=new Array(16);for(let e=0;e<16;e++)n[16-e-1]=parseInt(r.substring(2*e,2*e+2),16);for(let t=0;t<32;t++)e[t]=e[t]^n[t%16];return e}function Na(e,t){return{type:ze.BookmarkStart,id:t.attr(e,"id"),name:t.attr(e,"name"),colFirst:t.intAttr(e,"colFirst"),colLast:t.intAttr(e,"colLast")}}function Aa(e,t){return{type:ze.BookmarkEnd,id:t.attr(e,"id")}}class Pa extends We{constructor(){super(...arguments),this.type=ze.VmlElement,this.attrs={}}}function Ma(e,t){var r=new Pa;switch(e.localName){case"group":r.tagName="g",r.isGroup=!0;break;case"rect":r.tagName="rect",Object.assign(r.attrs,{width:"100%",height:"100%"});break;case"oval":r.tagName="ellipse",Object.assign(r.attrs,{cx:"50%",cy:"50%",rx:"50%",ry:"50%"});break;case"line":r.tagName="line";break;case"shape":r.tagName="g";break;case"textbox":r.tagName="foreignObject",r.textInset=["0.1in","0.05in","0.1in","0.05in"],Object.assign(r.attrs,{width:"100%",height:"100%"});break;default:return null}for(const t of Z.attrs(e))switch(t.localName){case"style":r.cssStyleText=t.value,r.cssStyle=k(t.value);break;case"coordorigin":r.coordOrigin=Ba(t.value);break;case"coordsize":r.coordSize=Ba(t.value);break;case"inset":if(r.textInset){const e=t.value.trim().split(/\s*,\s*|\s+/);r.textInset=r.textInset.map((t,r)=>e[r]||t)}break;case"id":r.attrs.id=t.value;break;case"fillcolor":r.attrs.fill=t.value;break;case"strokecolor":r.attrs.stroke=t.value;break;case"strokeweight":r.attrs["stroke-width"]=O(t.value,D)??t.value;break;case"filled":"f"!=t.value&&"false"!=t.value||(r.attrs.fill="none");break;case"stroked":"f"!=t.value&&"false"!=t.value||(r.attrs.stroke="none");break;case"path":r.tagName="path",r.attrs.d=Da(t.value);break;case"from":const[e,n]=Ea(t.value);Object.assign(r.attrs,{x1:e,y1:n});break;case"to":const[a,s]=Ea(t.value);Object.assign(r.attrs,{x2:a,y2:s})}for(const n of Z.elements(e))switch(n.localName){case"stroke":Object.assign(r.attrs,La(n));break;case"fill":Object.assign(r.attrs,Ra(n));break;case"imagedata":const e=Z.attr(n,"id")??Z.attr(n,"relid")??Z.attr(n,"pict");e&&(r.tagName="image",Object.assign(r.attrs,$a(n)),r.imageHref={id:e,title:Z.attr(n,"title")});break;case"txbxContent":r.children.push(...t.parseBodyElements(n));break;default:const a=Ma(n,t);a&&r.children.push(a)}const n=r.cssStyle?.rotation?.trim();if(n&&/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:fd|deg)?$/i.test(n)){const e=parseFloat(n)/(/fd$/i.test(n)?65536:1);Number.isFinite(e)&&(r.rotation=e)}if("absolute"==r.cssStyle?.position){const t=r.cssStyle["mso-position-horizontal-relative"]??"paragraph",n=r.cssStyle["mso-position-vertical-relative"]??"paragraph",a=r.cssStyle["mso-position-horizontal"],s=r.cssStyle["mso-position-vertical"];r.props={anchorPosition:{layoutInCell:!/^(f|false|0|off)$/i.test(Z.attr(e,"allowincell")??""),horizontal:{relative:"text"==t?"column":t,align:a,alignSpecified:!!a&&"absolute"!=a},vertical:{relative:"text"==n?"paragraph":n,align:s,alignSpecified:!!s&&"absolute"!=s}}}}return r}function $a(e){const t=Ta(Z.attr(e,"cropleft")),r=Ta(Z.attr(e,"croptop")),n=Ta(Z.attr(e,"cropright")),a=Ta(Z.attr(e,"cropbottom")),s=Math.max(1e-4,1-t-n),o=Math.max(1e-4,1-r-a),i={x:Fa(-t/s),y:Fa(-r/o),width:Fa(1/s),height:Fa(1/o)};return(t||r||n||a)&&(i.preserveAspectRatio="none"),i}function Ta(e){if(!e)return 0;const t=String(e).trim();if(!t)return 0;let r;return r=/^-?\d+(\.\d+)?f$/i.test(t)?parseFloat(t.slice(0,-1))/65536:t.endsWith("%")?parseFloat(t)/100:parseFloat(t),Number.isFinite(r)?Math.max(0,Math.min(.9999,r)):0}function Fa(e){return Math.round(1e5*e)/1e3+"%"}function La(e){const t={},r=Z.attr(e,"color"),n=Z.attr(e,"weight"),a=Z.attr(e,"on");return"f"==a||"false"==a?t.stroke="none":r&&(t.stroke=r),t["stroke-width"]=n?O(n,D)??n:"1px",t}function Ra(e){const t={},r=Z.attr(e,"color")??Z.attr(e,"color2"),n=Z.attr(e,"on"),a=Z.attr(e,"opacity");return"f"==n||"false"==n?t.fill="none":r&&(t.fill=r),a&&(t["fill-opacity"]=a.endsWith("%")?""+parseFloat(a)/100:a),t}function Ea(e){return e.trim().split(/[\s,]+/)}function Ba(e){const[t,r]=Ea(e).map(e=>Number(e));return[Number.isFinite(t)?t:0,Number.isFinite(r)?r:0]}function Da(e){return e.replace(/([mlxe])|([-\d]+)|([,])/g,e=>/[-\d]/.test(e)||/[ml,]/.test(e)?e:"x"==e?"z":"")}class Ia extends We{constructor(){super(...arguments),this.type=ze.Comment}}class Oa extends We{constructor(e){super(),this.id=e,this.type=ze.CommentReference}}class Ha extends We{constructor(e){super(),this.id=e,this.type=ze.CommentRangeStart}}class za extends We{constructor(e){super(),this.id=e,this.type=ze.CommentRangeEnd}}function Wa(){const e=new WeakMap,t=new WeakSet;function r(n){const a=e.get(n);if(a)return a;const s=1===n.parentNode?.nodeType?n.parentNode:null;if(!s){const t=`/${n.nodeName}`;return e.set(n,t),t}const o=r(s);if(!t.has(s)){const r=new Map;for(const e of Array.from(s.childNodes)){if(1!==e.nodeType)continue;const t=e,n=`${t.namespaceURI}|${t.localName}`,a=r.get(n)??[];a.push(t),r.set(n,a)}for(const t of r.values())t.forEach((r,n)=>{e.set(r,`${o}/${r.nodeName}${t.length>1?`[${n+1}]`:""}`)});t.add(s)}return e.get(n)}return e=>{if("p"!==e.localName||"http://schemas.openxmlformats.org/wordprocessingml/2006/main"!==e.namespaceURI)return;const t=e.getAttributeNS("http://schemas.microsoft.com/office/word/2010/wordml","paraId");return t?`p:${t}`:`xpath:${r(e)}`}}var Va="inherit",Ua="var(--docx-auto-color, black)",ja="var(--docx-auto-color, black)",qa="transparent";const Ga=[$,P,M,N,A],_a={oMath:ze.MmlMath,oMathPara:ze.MmlMathParagraph,f:ze.MmlFraction,func:ze.MmlFunction,fName:ze.MmlFunctionName,num:ze.MmlNumerator,den:ze.MmlDenominator,rad:ze.MmlRadical,deg:ze.MmlDegree,e:ze.MmlBase,sSup:ze.MmlSuperscript,sSub:ze.MmlSubscript,sPre:ze.MmlPreSubSuper,sup:ze.MmlSuperArgument,sub:ze.MmlSubArgument,d:ze.MmlDelimiter,nary:ze.MmlNary,eqArr:ze.MmlEquationArray,lim:ze.MmlLimit,limLow:ze.MmlLimitLower,limUpp:ze.MmlLimitUpper,sSubSup:ze.MmlSubSuperscript,phant:ze.MmlPhantom,borderBox:ze.MmlBorderBox,acc:ze.MmlAccent,m:ze.MmlMatrix,mr:ze.MmlMatrixRow,box:ze.MmlBox,bar:ze.MmlBar,groupChr:ze.MmlGroupChar};class Xa{constructor(e){this.paragraphAddress=Wa(),this.options={ignoreWidth:!1,debug:!1,hideWebHiddenContent:!1,...e}}parseNotes(e,t,r){var n=[];for(let a of Z.elements(e,t)){const e=new r;e.id=Z.attr(a,"id"),e.noteType=Z.attr(a,"type"),e.children=this.parseBodyElements(a),n.push(e)}return n}parseComments(e){var t=[];for(let r of Z.elements(e,"comment")){const e=new Ia;e.id=Z.attr(r,"id"),e.author=Z.attr(r,"author"),e.initials=Z.attr(r,"initials"),e.date=Z.attr(r,"date"),e.children=this.parseBodyElements(r),t.push(e)}return t}parseDocumentFile(e){var t=Z.element(e,"body"),r=Z.element(e,"background"),n=Z.element(t,"sectPr");const a=r?.getElementsByTagNameNS("urn:schemas-microsoft-com:vml","fill")?.[0],s=a?.getAttributeNS("http://schemas.openxmlformats.org/officeDocument/2006/relationships","id");return{type:ze.Document,children:this.parseBodyElements(t),props:Ce(n,Z),cssStyle:r?this.parseBackground(r):{},backgroundImage:s?{id:s,type:a.getAttribute("type")||"tile"}:void 0}}parseBackground(e){var t={},r=Za.colorAttr(e,"color",null,Va);return r&&(t["background-color"]=r),t}parseBodyElements(e){var t=[];for(const r of Z.elements(e))switch(r.localName){case"p":t.push(this.parseParagraph(r));break;case"altChunk":t.push(this.parseAltChunk(r));break;case"tbl":t.push(this.parseTable(r));break;case"sdt":t.push(...this.parseSdt(r,e=>this.parseBodyElements(e)));break;case"ins":t.push(this.parseRevision(ze.Inserted,r,e=>({children:this.parseBodyElements(e)}),"insert"));break;case"del":t.push(this.parseRevision(ze.Deleted,r,e=>({children:this.parseBodyElements(e)}),"delete"));break;case"moveFrom":t.push(this.parseRevision(ze.Deleted,r,e=>({children:this.parseBodyElements(e)}),"move-from"));break;case"moveTo":t.push(this.parseRevision(ze.Inserted,r,e=>({children:this.parseBodyElements(e)}),"move-to"))}return t}parseStylesFile(e){var t=[];for(const r of Z.elements(e))switch(r.localName){case"style":t.push(this.parseStyle(r));break;case"docDefaults":t.push(this.parseDefaultStyles(r))}return t}parseDefaultStyles(e){var t={id:null,name:null,target:null,basedOn:null,styles:[]};for(const a of Z.elements(e))switch(a.localName){case"rPrDefault":var r=Z.element(a,"rPr");r&&t.styles.push({target:"span",values:this.parseDefaultProperties(r,{})});break;case"pPrDefault":var n=Z.element(a,"pPr");n&&t.styles.push({target:"p",values:this.parseDefaultProperties(n,{})})}return t}parseStyle(e){var t={id:Z.attr(e,"styleId"),isDefault:Z.boolAttr(e,"default"),name:null,target:null,basedOn:null,styles:[],linked:null};switch(Z.attr(e,"type")){case"paragraph":t.target="p";break;case"table":t.target="table";break;case"character":t.target="span"}for(const r of Z.elements(e))switch(r.localName){case"basedOn":t.basedOn=Z.attr(r,"val");break;case"name":t.name=Z.attr(r,"val");break;case"link":t.linked=Z.attr(r,"val");break;case"next":t.next=Z.attr(r,"val");break;case"aliases":t.aliases=Z.attr(r,"val").split(",");break;case"pPr":t.styles.push({target:"p",values:this.parseDefaultProperties(r,{})}),t.paragraphProps=Te(r,Z);break;case"rPr":t.styles.push({target:"span",values:this.parseDefaultProperties(r,{})}),t.runProps=Me(r,Z);break;case"tblPr":case"tcPr":t.styles.push({target:"td",values:this.parseDefaultProperties(r,{})});break;case"tblStylePr":for(let e of this.parseTableStyle(r))t.styles.push(e);break;case"rsid":case"qFormat":case"hidden":case"semiHidden":case"unhideWhenUsed":case"autoRedefine":case"uiPriority":break;default:this.options.debug&&console.warn(`DOCX: Unknown style element: ${r.localName}`)}return t}parseTableStyle(e){var t=[],r="",n="";switch(Z.attr(e,"type")){case"firstRow":n=".first-row",r="tr.first-row td";break;case"lastRow":n=".last-row",r="tr.last-row td";break;case"firstCol":n=".first-col",r="td.first-col";break;case"lastCol":n=".last-col",r="td.last-col";break;case"band1Vert":n=":not(.no-vband)",r="td.odd-col";break;case"band2Vert":n=":not(.no-vband)",r="td.even-col";break;case"band1Horz":n=":not(.no-hband)",r="tr.odd-row";break;case"band2Horz":n=":not(.no-hband)",r="tr.even-row";break;default:return[]}for(const a of Z.elements(e))switch(a.localName){case"pPr":t.push({target:`${r} p`,mod:n,values:this.parseDefaultProperties(a,{})});break;case"rPr":t.push({target:`${r} span`,mod:n,values:this.parseDefaultProperties(a,{})});break;case"tblPr":case"tcPr":t.push({target:r,mod:n,values:this.parseDefaultProperties(a,{})})}return t}parseNumberingFile(e){const t=[],r=[],n={},a=[],s=[];for(const t of Z.elements(e))switch(t.localName){case"numPicBullet":r.push(this.parseNumberingPicBullet(t));break;case"abstractNum":a.push(t);break;case"num":s.push(t)}for(const e of a)n[Z.attr(e,"abstractNumId")]=this.parseAbstractNumbering(e,r);for(const e of s){const a=Z.attr(e,"numId"),s=(n[Z.elementAttr(e,"abstractNumId","val")]??[]).map(e=>this.cloneNumberingLevel(e,a));for(const t of Z.elements(e,"lvlOverride")){const e=Z.intAttr(t,"ilvl"),n=Z.element(t,"lvl"),o=Z.element(t,"startOverride");let i=s.find(t=>t.level==e);if(n){i=this.parseNumberingLevel(a,n,r);const t=s.findIndex(t=>t.level==e);t>=0?s[t]=i:s.push(i)}o&&i&&(i.start=Z.intAttr(o,"val",i.start))}t.push(...s)}return t}cloneNumberingLevel(e,t){return{...e,id:t,pStyle:{...e.pStyle},rStyle:{...e.rStyle},bullet:e.bullet?{...e.bullet}:null}}parseNumberingPicBullet(e){const t=Z.intAttr(e,"numPicBulletId"),r=Z.element(e,"pict"),n=r&&Z.element(r,"shape"),a=n&&Z.element(n,"imagedata");if(a)return{id:t,src:Z.attr(a,"id"),style:Z.attr(n,"style")};const s=Z.element(e,"drawing"),o=s?this.findDescendant(s,"blip"):null;if(o){const e=s?this.findDescendant(s,"extent"):null,r=[];if(e){const t=Z.lengthAttr(e,"cx",L),n=Z.lengthAttr(e,"cy",L);t&&r.push(`width:${t};`),n&&r.push(`height:${n};`)}return{id:t,src:Z.attr(o,"embed")??Z.attr(o,"link"),style:r.join("")||void 0}}return null}parseAbstractNumbering(e,t){var r=[],n=Z.attr(e,"abstractNumId");for(const a of Z.elements(e))if("lvl"===a.localName)r.push(this.parseNumberingLevel(n,a,t));return r}parseNumberingLevel(e,t,r){var n={id:e,level:Z.intAttr(t,"ilvl"),start:1,pStyleName:void 0,pStyle:{},rStyle:{},suff:"tab"};for(const e of Z.elements(t))switch(e.localName){case"start":n.start=Z.intAttr(e,"val");break;case"pPr":this.parseDefaultProperties(e,n.pStyle);break;case"rPr":this.parseDefaultProperties(e,n.rStyle);break;case"lvlPicBulletId":var a=Z.intAttr(e,"val");n.bullet=r.find(e=>e?.id==a);break;case"lvlText":n.levelText=Z.attr(e,"val");break;case"pStyle":n.pStyleName=Z.attr(e,"val");break;case"numFmt":n.format=Z.attr(e,"val");break;case"lvlRestart":n.restart=Z.intAttr(e,"val");break;case"suff":n.suff=Z.attr(e,"val")}return n}parseSdt(e,t){const r=Z.element(e,"sdtContent");return r?t(r):[]}parseInserted(e,t){return this.parseRevision(ze.Inserted,e,t)}parseDeleted(e,t){return this.parseRevision(ze.Deleted,e,t)}parseRevision(e,t,r,n=(e==ze.Inserted?"insert":"delete")){return{type:e,children:r(t)?.children??[],props:{revision:{id:Z.attr(t,"id"),author:Z.attr(t,"author"),date:Z.attr(t,"date"),kind:n}}}}parseAltChunk(e){return{type:ze.AltChunk,children:[],id:Z.attr(e,"id")}}parseParagraph(e){var t={type:ze.Paragraph,children:[]};this.options.exposeDisplayTargets&&(t.displayAddress=this.paragraphAddress(e));for(let r of Z.elements(e))switch(r.localName){case"pPr":this.parseParagraphProperties(r,t);break;case"r":t.children.push(this.parseRun(r,t));break;case"hyperlink":t.children.push(this.parseHyperlink(r,t));break;case"fldSimple":t.children.push(this.parseSimpleField(r,t));break;case"smartTag":t.children.push(this.parseSmartTag(r,t));break;case"bookmarkStart":t.children.push(Na(r,Z));break;case"bookmarkEnd":t.children.push(Aa(r,Z));break;case"commentRangeStart":t.children.push(new Ha(Z.attr(r,"id")));break;case"commentRangeEnd":t.children.push(new za(Z.attr(r,"id")));break;case"oMath":case"oMathPara":{const e=this.parseMathElement(r);e&&t.children.push(e);break}case"sdt":t.children.push(...this.parseSdt(r,e=>this.parseParagraph(e).children));break;case"ins":t.children.push(this.parseInserted(r,e=>this.parseParagraph(e)));break;case"del":t.children.push(this.parseDeleted(r,e=>this.parseParagraph(e)));break;case"moveFrom":t.children.push(this.parseRevision(ze.Deleted,r,e=>this.parseParagraph(e),"move-from"));break;case"moveTo":t.children.push(this.parseRevision(ze.Inserted,r,e=>this.parseParagraph(e),"move-to"))}return t}parseParagraphProperties(e,t){this.parseDefaultProperties(e,t.cssStyle={},null,r=>{if("rPr"==r.localName){const e=Z.elements(r).filter(e=>"ins"==e.localName||"del"==e.localName).map(e=>this.revisionMetadata(e,"del"==e.localName?"delete":"insert"));e.length&&(t.props={...t.props??{},paragraphMarkRevisions:[...t.props?.paragraphMarkRevisions??[],...e]}),e.some(e=>"delete"==e.kind)&&(t.props={...t.props??{},deletedParagraphMark:!0});const n=t.cssStyle["background-color"];return this.parseDefaultProperties(r,t.cssStyle),null==n?delete t.cssStyle["background-color"]:t.cssStyle["background-color"]=n,Fe(r,t,Z),!0}if("pPrChange"==r.localName)return this.addFormatRevision(t,r,"paragraph-format",e),!0;if(Fe(r,t,Z))return!0;switch(r.localName){case"pStyle":t.styleName=Z.attr(r,"val");break;case"cnfStyle":t.className=Qa.classNameOfCnfStyle(r);break;case"framePr":this.parseFrame(r,t);break;default:return!1}return!0})}parseFrame(e,t){const r=Z.attr(e,"dropCap");t.frame={dropCap:r,width:Z.lengthAttr(e,"w"),height:Z.lengthAttr(e,"h"),horizontalPosition:Z.lengthAttr(e,"x"),verticalPosition:Z.lengthAttr(e,"y"),horizontalAnchor:Z.attr(e,"hAnchor"),verticalAnchor:Z.attr(e,"vAnchor"),horizontalAlignment:Z.attr(e,"xAlign"),verticalAlignment:Z.attr(e,"yAlign"),horizontalSpace:Z.lengthAttr(e,"hSpace"),verticalSpace:Z.lengthAttr(e,"vSpace"),heightRule:Z.attr(e,"hRule"),wrap:Z.attr(e,"wrap"),lines:Z.intAttr(e,"lines")},"drop"==r&&(t.cssStyle.float="left")}parseHyperlink(e,t){var r={type:ze.Hyperlink,parent:t,children:[]};r.anchor=Z.attr(e,"anchor"),r.id=Z.attr(e,"id");for(const t of Z.elements(e))if("r"===t.localName)r.children.push(this.parseRun(t,r));return r}parseSmartTag(e,t){var r={type:ze.SmartTag,parent:t,children:[]},n=Z.attr(e,"uri"),a=Z.attr(e,"element");n&&(r.uri=n),a&&(r.element=a);for(const t of Z.elements(e))switch(t.localName){case"r":r.children.push(this.parseRun(t,r));break;case"smartTag":r.children.push(this.parseSmartTag(t,r))}return r}parseSimpleField(e,t){const r={type:ze.SimpleField,parent:t,children:[],instruction:Z.attr(e,"instr"),lock:Z.boolAttr(e,"lock",!1),dirty:Z.boolAttr(e,"dirty",!1)};for(const t of Z.elements(e))switch(t.localName){case"r":r.children.push(this.parseRun(t,r));break;case"hyperlink":r.children.push(this.parseHyperlink(t,r));break;case"smartTag":r.children.push(this.parseSmartTag(t,r));break;case"bookmarkStart":r.children.push(Na(t,Z));break;case"bookmarkEnd":r.children.push(Aa(t,Z));break;case"commentRangeStart":r.children.push(new Ha(Z.attr(t,"id")));break;case"commentRangeEnd":r.children.push(new za(Z.attr(t,"id")));break;case"sdt":r.children.push(...this.parseSdt(t,e=>this.parseParagraph(e).children));break;case"ins":r.children.push(this.parseInserted(t,e=>this.parseParagraph(e)));break;case"del":r.children.push(this.parseDeleted(t,e=>this.parseParagraph(e)));break;case"moveFrom":r.children.push(this.parseRevision(ze.Deleted,t,e=>this.parseParagraph(e),"move-from"));break;case"moveTo":r.children.push(this.parseRevision(ze.Inserted,t,e=>this.parseParagraph(e),"move-to"))}return r}parseRun(e,t){var r={type:ze.Run,parent:t,children:[]};for(let t of Z.elements(e))if(t=this.checkAlternateContent(t),t)switch(t.localName){case"t":r.children.push({type:ze.Text,text:t.textContent});break;case"delText":r.children.push({type:ze.DeletedText,text:t.textContent});break;case"commentReference":r.children.push(new Oa(Z.attr(t,"id")));break;case"fldSimple":r.children.push(this.parseSimpleField(t,r));break;case"instrText":r.fieldRun=!0,r.children.push({type:ze.Instruction,text:t.textContent});break;case"fldChar":r.fieldRun=!0,r.children.push({type:ze.ComplexField,charType:Z.attr(t,"fldCharType"),lock:Z.boolAttr(t,"lock",!1),dirty:Z.boolAttr(t,"dirty",!1)});break;case"noBreakHyphen":r.children.push({type:ze.NoBreakHyphen});break;case"softHyphen":r.children.push({type:ze.SoftHyphen});break;case"cr":r.children.push({type:ze.Break,break:"line"});break;case"ptab":r.children.push({type:ze.PositionalTab});break;case"br":r.children.push({type:ze.Break,break:Z.attr(t,"type")||"textWrapping"});break;case"lastRenderedPageBreak":r.children.push({type:ze.Break,break:"lastRenderedPageBreak"});break;case"sym":r.children.push({type:ze.Symbol,font:m(Z.attr(t,"font")),char:Z.hexAttr(t,"char")});break;case"tab":r.children.push({type:ze.Tab});break;case"footnoteReference":r.children.push({type:ze.FootnoteReference,id:Z.attr(t,"id"),customMarkFollows:Z.boolAttr(t,"customMarkFollows",!1)});break;case"endnoteReference":r.children.push({type:ze.EndnoteReference,id:Z.attr(t,"id"),customMarkFollows:Z.boolAttr(t,"customMarkFollows",!1)});break;case"drawing":let e=this.parseDrawing(t);e&&r.children.push(e);break;case"pict":case"object":r.children.push(this.parseVmlPicture(t));break;case"ruby":r.children.push(this.parseRuby(t));break;case"rPr":this.parseRunProperties(t,r)}return r}parseRuby(e){const t={type:ze.Ruby,children:[]};for(const r of Z.elements(e))switch(r.localName){case"rubyPr":for(const e of Z.elements(r))if("rubyAlign"===e.localName)t.align=Z.attr(e,"val");break;case"rt":t.children.push(this.parseRubyContent(r,ze.RubyText));break;case"rubyBase":t.children.push(this.parseRubyContent(r,ze.RubyBase))}return t}parseRubyContent(e,t){const r={type:t,children:[]};for(const n of Z.elements(e))if("r"==n.localName)r.children.push(this.parseRun(n,r));else if(t==ze.RubyText&&"rPr"==n.localName){const e=Z.element(n,"hps"),t=e?Z.intAttr(e,"val",null):null;null!=t&&(r.cssStyle={...r.cssStyle??{},fontSize:t/2+"pt"})}return r}parseMathElement(e){const t=`${e.localName}Pr`,r={type:_a[e.localName],children:[]};let n=!1;const a=e=>{if(_a[e.localName]){const t=this.parseMathElement(e);t?(t.parent=r,r.children.push(t)):n=!0}else if("r"==e.localName){var s=this.parseRun(e,r);s.type=ze.MmlRun,r.children.push(s)}else if(e.localName==t)r.props=this.parseMathProperies(e);else if("ins"==e.localName)for(const t of Z.elements(e))a(t);else if("del"==e.localName)if(this.options.renderChanges||null!=this.options.reviewMode)for(const t of Z.elements(e))a(t);else n=!0};for(const t of Z.elements(e))a(t);return n&&!this.hasVisibleMathContent(r)?null:r}hasVisibleMathContent(e){for(const t of e.children??[]){switch(t.type){case ze.Text:if(t.text?.length)return!0;break;case ze.DeletedText:if((this.options.renderChanges||null!=this.options.reviewMode)&&t.text?.length)return!0;break;case ze.Symbol:case ze.Tab:case ze.PositionalTab:case ze.NoBreakHyphen:case ze.Break:return!0}if(this.hasVisibleMathContent(t))return!0}return!1}parseMathProperies(e){const t={};for(const r of Z.elements(e))switch(r.localName){case"chr":t.char=Z.attr(r,"val");break;case"vertJc":t.verticalJustification=Z.attr(r,"val");break;case"pos":t.position=Z.attr(r,"val");break;case"degHide":t.hideDegree=Z.boolAttr(r,"val");break;case"begChr":t.beginChar=Z.attr(r,"val");break;case"endChr":t.endChar=Z.attr(r,"val");break;case"limLoc":t.limitLocation=Z.attr(r,"val");break;case"grow":t.grow=Z.boolAttr(r,"val");break;case"sepChr":t.separatorChar=Z.attr(r,"val")}return t}parseRunProperties(e,t){this.parseDefaultProperties(e,t.cssStyle={},null,r=>{switch(r.localName){case"rStyle":t.styleName=Z.attr(r,"val");break;case"vertAlign":t.verticalAlign=Qa.valueOfVertAlign(r,!0);break;case"rPrChange":this.addFormatRevision(t,r,"run-format",e);break;default:return!1}return!0})}parseVmlPicture(e){const t={type:ze.VmlPicture,children:[]};for(const r of Z.elements(e)){const e=Ma(r,this);e&&t.children.push(e)}return t}checkAlternateContent(e){if("AlternateContent"!=e.localName)return e;for(const t of Z.elements(e).filter(e=>"Choice"==e.localName)){const r=(Z.attr(t,"Requires")??"").split(/\s+/).filter(Boolean);if(r.length>0&&r.every(t=>Ga.includes(e.lookupNamespaceURI(t)))){const e=Z.elements(t)[0];if(e)return e}}const t=Z.element(e,"Fallback");return t?Z.elements(t)[0]:null}parseDrawing(e){for(var t of Z.elements(e))switch(t.localName){case"inline":case"anchor":return this.parseDrawingWrapper(t)}}parseDrawingWrapper(e){var t,r,n,a,s,o,i,l,c,h,d,u={type:ze.Drawing,children:[],cssStyle:{},props:{}},m="anchor"==e.localName;const p={left:Z.lengthAttr(e,"distL",L),top:Z.lengthAttr(e,"distT",L),right:Z.lengthAttr(e,"distR",L),bottom:Z.lengthAttr(e,"distB",L)},f=(e,t)=>{t&&(u.cssStyle[e]=Qa.addSize(u.cssStyle[e],t))};let g=null,b=null,y=null,x=Z.boolAttr(e,"simplePos",!1),w=Z.boolAttr(e,"behindDoc",!1),v=Z.intAttr(e,"relativeHeight",null);null!=v&&(u.cssStyle["z-index"]=`${Math.max(1,Math.round(v/1e3))}`),w&&(u.cssStyle["z-index"]="0");let k={relative:"page",align:"left",offset:"0"},C={relative:"page",align:"top",offset:"0"},S=!1,N=!1,A=!1,P=!1;for(var M of Z.elements(e))switch(M.localName){case"simplePos":x&&(k.offset=Z.lengthAttr(M,"x",L),C.offset=Z.lengthAttr(M,"y",L),A=null!=k.offset,P=null!=C.offset);break;case"extent":u.cssStyle.width=Z.lengthAttr(M,"cx",L),u.cssStyle.height=Z.lengthAttr(M,"cy",L);break;case"effectExtent":f("margin-left",Z.lengthAttr(M,"l",L)),f("margin-top",Z.lengthAttr(M,"t",L)),f("margin-right",Z.lengthAttr(M,"r",L)),f("margin-bottom",Z.lengthAttr(M,"b",L));break;case"docPr":u.props.title=Z.attr(M,"title")??Z.attr(M,"name"),u.props.alt=Z.attr(M,"descr")??u.props.title;break;case"positionH":case"positionV":if(!x){let e="positionH"==M.localName,t=e?k:C;var $=Z.element(M,"align"),T=Z.element(M,"posOffset");t.relative=Z.attr(M,"relativeFrom")??t.relative,$&&(t.align=$.textContent,e?S=!0:N=!0),T&&(t.offset=O(T.textContent,L),e?A=null!=t.offset:P=null!=t.offset)}break;case"wrapTopAndBottom":g="wrapTopAndBottom";break;case"wrapNone":g="wrapNone";break;case"wrapSquare":g="wrapSquare",b=Z.attr(M,"wrapText");break;case"wrapTight":g="wrapTight",b=Z.attr(M,"wrapText"),y=this.parseWrapPolygon(M);break;case"wrapThrough":g="wrapThrough",b=Z.attr(M,"wrapText"),y=this.parseWrapPolygon(M);break;case"graphic":var F=this.parseGraphic(M);F&&(F.type==ze.Image?((t=F).alt??(t.alt=u.props.alt),(r=F).title??(r.title=u.props.title)):F.type==ze.Shape?((n=F).alt??(n.alt=u.props.alt),(a=F).title??(a.title=u.props.title)):F.type==ze.Chart?((s=F).alt??(s.alt=u.props.alt),(o=F).title??(o.title=u.props.title)):F.type==ze.SmartArt?((i=F).alt??(i.alt=u.props.alt),(l=F).title??(l.title=u.props.title)):F.type==ze.Ink&&((c=F).alt??(c.alt=u.props.alt),(h=F).title??(h.title=u.props.title)),u.children.push(F))}u.props.anchorPosition={horizontal:{...k,offsetSpecified:A,alignSpecified:S},vertical:{...C,offsetSpecified:P,alignSpecified:N},wrapType:g,layoutInCell:Z.boolAttr(e,"layoutInCell",!0),simplePos:x},"wrapNone"!=g&&(f("margin-left",p.left),f("margin-top",p.top),f("margin-right",p.right),f("margin-bottom",p.bottom));const R=()=>{switch(k.align){case"center":u.cssStyle["margin-left"]="auto",u.cssStyle["margin-right"]="auto";break;case"right":u.cssStyle["margin-left"]="auto"}};return"wrapTopAndBottom"==g?(u.cssStyle.display="block",u.cssStyle.clear="both",S?R():A&&k.offset&&(u.cssStyle["margin-inline-start"]=Qa.addSize(u.cssStyle["margin-inline-start"],k.offset)),P&&C.offset&&(u.cssStyle["margin-top"]=Qa.addSize(u.cssStyle["margin-top"],C.offset))):"wrapNone"==g?(u.cssStyle.display="block",u.cssStyle.position=m?"absolute":"relative",k.offset&&(u.cssStyle.left=k.offset),C.offset&&(u.cssStyle.top=C.offset)):"wrapSquare"==g||"wrapTight"==g||"wrapThrough"==g?(y&&(u.cssStyle["shape-outside"]=y,(d=u.cssStyle)["clip-path"]??(d["clip-path"]=y)),"left"==b?u.cssStyle.float="right":"right"==b?u.cssStyle.float="left":"left"==k.align||"right"==k.align?u.cssStyle.float=k.align:(u.cssStyle.display="block",R())):!m||"left"!=k.align&&"right"!=k.align?u.cssStyle["vertical-align"]="text-bottom":u.cssStyle.float=k.align,this.applyDrawingFloatOffsets(u,e)}applyDrawingFloatOffsets(e,t){const r=e.cssStyle,n=e.props?.anchorPosition;if(!r?.float||!n)return e;const a=e=>{if(n.simplePos)return!0;const r=Z.element(t,`position${e}`);return!!r&&!!Z.element(r,"posOffset")},s=/^-?\d+(?:\.\d+)?(?:pt|px|in|cm|mm)?$/,o=n.horizontal,i=n.vertical;return a("H")&&"column"==o?.relative&&s.test(o.offset??"")&&s.test(r.width??"")&&(r["--docx-float-column-position"]=o.offset,r["--docx-float-origin-offset"]="0px","right"==r.float?r["margin-right"]=`calc(100% - ${o.offset} - ${r.width} - var(--docx-float-origin-offset, 0px))`:"left"==r.float&&(r["margin-left"]=`calc(${o.offset} + var(--docx-float-origin-offset, 0px))`)),a("V")&&"paragraph"==i?.relative&&s.test(i.offset??"")&&(r["margin-top"]=i.offset),e}parseWrapPolygon(e){const t=Z.element(e,"wrapPolygon");if(!t)return null;const r=[],n=e=>{const t=Z.lengthAttr(e,"x",L),n=Z.lengthAttr(e,"y",L);t&&n&&r.push(`${t} ${n}`)};for(const e of Z.elements(t))"start"!=e.localName&&"lineTo"!=e.localName||n(e);return r.length>=3?`polygon(${r.join(", ")})`:null}parseGraphic(e){var t=Z.element(e,"graphicData");if(!t)return null;for(let e of Z.elements(t))switch(e.localName){case"pic":return this.parsePicture(e);case"wpc":case"wgp":case"grpSp":return this.parseDrawingContainer(e);case"wsp":case"sp":case"cxnSp":return this.parseWordprocessingShape(e);case"chart":return this.parseChartReference(e);case"relIds":case"diagram":return this.parseSmartArtReference(e);case"contentPart":case"ink":return this.parseInkReference(e)}const r=this.findDescendant(t,"contentPart");return r?this.parseInkReference(r):null}parseDrawingContainer(e,t){const r={type:ze.Shape,children:[],cssStyle:{display:"inline-block",position:"relative",width:"100%",height:"100%",overflow:"visible","box-sizing":"border-box"},props:{dmlContainer:!0}},n=this.parseDmlGroupTransform(e,t);for(const t of Z.elements(e))switch(t.localName){case"wsp":case"sp":case"cxnSp":const e=this.parseDmlPositionedShape(t,n);e&&r.children.push(e);break;case"pic":const a=this.parseDmlPositionedPicture(t,n);a&&r.children.push(a);break;case"grpSp":case"wgp":const s=this.parseDrawingContainer(t,n);s&&r.children.push(s)}return r}parseDmlGroupTransform(e,t){const r=Z.element(e,"grpSpPr"),n=r?Z.element(r,"xfrm"):Z.element(e,"xfrm"),a=n?Z.element(n,"off"):null,s=n?Z.element(n,"ext"):null,o=n?Z.element(n,"chOff"):null,i=n?Z.element(n,"chExt"):null,l=s?Z.floatAttr(s,"cx",null):null,c=s?Z.floatAttr(s,"cy",null):null,h=i?Z.floatAttr(i,"cx",null):null,d=i?Z.floatAttr(i,"cy",null):null,u=t?.scaleX??1,m=t?.scaleY??1,p=a?Z.floatAttr(a,"x",0):0,f=a?Z.floatAttr(a,"y",0):0;return{originX:t?t.originX+(p-t.offsetX)*u:0,originY:t?t.originY+(f-t.offsetY)*m:0,offsetX:o?Z.floatAttr(o,"x",0):0,offsetY:o?Z.floatAttr(o,"y",0):0,scaleX:u*(l&&h?l/h:1),scaleY:m*(c&&d?c/d:1)}}parseDmlPositionedPicture(e,t){const r=this.parsePicture(e),n=Z.element(e,"spPr");if(!r||!n)return r;const a=this.parseDmlShapeBounds(n,t);return r.cssStyle.position="absolute",r.cssStyle.left=this.pt(a.left),r.cssStyle.top=this.pt(a.top),r.cssStyle.width=this.pt(a.width),r.cssStyle.height=this.pt(a.height),r}parseDmlPositionedShape(e,t){const r=Z.element(e,"spPr");if(!r)return null;const n=this.parseDmlShapeBounds(r,t),a=[];let s=null,o=!1;for(const t of Z.elements(e))switch(t.localName){case"txbx":case"textBox":o=!0;for(const e of Z.elements(t,"txbxContent"))a.push(...this.parseBodyElements(e));break;case"bodyPr":s=t}s??(s=Z.element(e,"bodyPr"));const i={position:"absolute",left:this.pt(n.left),top:this.pt(n.top),width:this.pt(n.width),height:this.pt(n.height),"box-sizing":"border-box",overflow:"hidden"},l=Z.element(e,"cNvPr"),c=Z.element(r,"custGeom"),h=Z.element(r,"prstGeom"),d=this.parseDmlFillStyle(r),u=this.parseDmlLineStyle(Z.element(r,"ln"));if(c){const e=this.parseDmlCustomGeometry(c);return{type:ze.Shape,children:[],cssStyle:{...i,overflow:"visible"},props:{dmlSvg:!0,viewBox:e?.viewBox??"0 0 1 1",pathD:e?.d??"",fill:d.fill??"none",stroke:u.stroke??"none",strokeWidth:u.strokeWidth??"0",strokeDasharray:u.strokeDasharray},title:l?Z.attr(l,"title")??Z.attr(l,"name"):null,alt:l?Z.attr(l,"descr"):null}}d.backgroundColor&&(i["background-color"]=d.backgroundColor),d.backgroundImage&&(i["background-image"]=d.backgroundImage),u.stroke&&"none"!=u.stroke?i.border=`${u.strokeWidth||"0.75pt"} ${u.borderType||"solid"} ${u.stroke}`:i.border="none";const m=o?this.parseDmlTextBoxProperties(s):null;return{type:ze.Shape,children:a,cssStyle:i,props:{dmlShape:!0,presetGeometry:h?Z.attr(h,"prst"):null,...m},title:l?Z.attr(l,"title")??Z.attr(l,"name"):null,alt:l?Z.attr(l,"descr"):null}}parseDmlShapeBounds(e,t){const r=Z.element(e,"xfrm"),n=r?Z.element(r,"off"):null,a=r?Z.element(r,"ext"):null,s=t?.scaleX??1,o=t?.scaleY??1,i=t?.offsetX??0,l=t?.offsetY??0,c=t?.originX??0,h=t?.originY??0,d=n?Z.floatAttr(n,"x",0):0,u=n?Z.floatAttr(n,"y",0):0,m=a?Z.floatAttr(a,"cx",0):0,p=a?Z.floatAttr(a,"cy",0):0;return{left:this.emuToPt(c+(d-i)*s),top:this.emuToPt(h+(u-l)*o),width:Math.max(0,this.emuToPt(m*s)),height:Math.max(0,this.emuToPt(p*o))}}parseDmlFillStyle(e){if(Z.element(e,"noFill"))return{fill:"none",backgroundColor:"transparent"};const t=Z.element(e,"solidFill");if(t){const e=this.parseDmlColor(t)??"transparent";return{fill:e,backgroundColor:e}}const r=Z.element(e,"pattFill");if(r){const e=this.parseDmlColor(Z.element(r,"fgClr"))??"currentColor",t=this.parseDmlColor(Z.element(r,"bgClr"))??"transparent",n=Z.attr(r,"prst");return{fill:t,backgroundColor:t,backgroundImage:`repeating-linear-gradient(${n&&n.toLowerCase().includes("horz")?"0deg":"90deg"}, ${e} 0, ${e} 0.75pt, ${t} 0.75pt, ${t} 3pt)`}}return{fill:"none",backgroundColor:"transparent"}}parseDmlLineStyle(e){if(!e||Z.element(e,"noFill"))return{stroke:"none",strokeWidth:"0",borderType:"none"};const t=this.parseDmlColor(Z.element(e,"solidFill"))??"black",r=Z.attr(e,"w")?this.pt(this.emuToPt(Z.floatAttr(e,"w",0))):"0.75pt",n=Z.elementAttr(e,"prstDash","val");let a=null,s="solid";return n&&"solid"!=n&&(s="dashed",a="dot"==n?"1 2":"4 3"),{stroke:t,strokeWidth:r,borderType:s,strokeDasharray:a}}parseDmlCustomGeometry(e){const t=Z.element(e,"pathLst"),r=t?Z.elements(t,"path"):[];let n="",a=1,s=1;for(const e of r){const t=Z.floatAttr(e,"w",a),r=Z.floatAttr(e,"h",s);a=Math.max(a,t||1),s=Math.max(s,r||1),n+=this.parseDmlPathData(e,t||1,r||1)}return{d:n.trim(),viewBox:`0 0 ${a} ${s}`}}parseDmlPathData(e,t,r){const n=[],a=e=>{const n=Z.element(e,"pt");return n?`${this.dmlCoord(Z.attr(n,"x"),t,r)} ${this.dmlCoord(Z.attr(n,"y"),t,r)}`:"0 0"};for(const s of Z.elements(e))switch(s.localName){case"moveTo":n.push(`M ${a(s)}`);break;case"lnTo":n.push(`L ${a(s)}`);break;case"cubicBezTo":const e=Z.elements(s,"pt").map(e=>`${this.dmlCoord(Z.attr(e,"x"),t,r)} ${this.dmlCoord(Z.attr(e,"y"),t,r)}`);3==e.length&&n.push(`C ${e.join(" ")}`);break;case"quadBezTo":const o=Z.elements(s,"pt").map(e=>`${this.dmlCoord(Z.attr(e,"x"),t,r)} ${this.dmlCoord(Z.attr(e,"y"),t,r)}`);2==o.length&&n.push(`Q ${o.join(" ")}`);break;case"close":n.push("Z")}return n.join(" ")+" "}dmlCoord(e,t,r){if("w"==e||"r"==e)return t;if("h"==e||"b"==e)return r;if("l"==e||"t"==e)return 0;const n=parseFloat(e);return Number.isFinite(n)?n:0}dmlVerticalAlign(e){switch(e?Z.attr(e,"anchor"):null){case"ctr":return"center";case"b":return"flex-end";default:return"flex-start"}}applyDmlTextInsets(e,t){if(!e)return;const r={lIns:"padding-left",tIns:"padding-top",rIns:"padding-right",bIns:"padding-bottom"};for(const[n,a]of Object.entries(r)){const r=Z.attr(e,n);null!=r&&(t[a]=this.pt(this.emuToPt(parseFloat(r))))}}parseDmlTextBoxProperties(e){const t={};return this.applyDmlTextInsets(e,t),{dmlTextBox:!0,textInsets:t,textVerticalAlign:this.dmlVerticalAlign(e)}}emuToPt(e){return(Number.isFinite(e)?e:0)/12700}pt(e){return Math.round(100*e)/100+"pt"}parseChartReference(e){return{type:ze.Chart,id:Z.attr(e,"id"),cssStyle:{width:"100%",height:"100%"}}}parseSmartArtReference(e){const t="relIds"==e.localName?e:this.findDescendant(e,"relIds");return{type:ze.SmartArt,dataId:t?Z.attr(t,"dm"):Z.attr(e,"dm"),layoutId:t?Z.attr(t,"lo"):Z.attr(e,"lo"),styleId:t?Z.attr(t,"qs"):Z.attr(e,"qs"),colorId:t?Z.attr(t,"cs"):Z.attr(e,"cs"),cssStyle:{width:"100%",height:"100%"}}}parseInkReference(e){return{type:ze.Ink,id:Z.attr(e,"id"),cssStyle:{width:"100%",height:"100%"}}}parseGraphicPlaceholder(e){return{type:ze.Shape,children:[{type:ze.Text,text:`[${e}]`}],cssStyle:{display:"inline-flex","align-items":"center","justify-content":"center",border:"1px solid #999","background-color":"#f8f8f8",color:"#555","min-width":"2in","min-height":"1in"}}}parseWordprocessingShape(e){const t={type:ze.Shape,children:[],cssStyle:{display:"inline-block",position:"relative","box-sizing":"border-box",overflow:"hidden"}},r=this.findDescendant(e,"cNvPr");let n=null,a=!1;r&&(t.title=Z.attr(r,"title")??Z.attr(r,"name"),t.alt=Z.attr(r,"descr")??t.title);for(const r of Z.elements(e))switch(r.localName){case"spPr":this.parseDmlShapeProperties(r,t.cssStyle);break;case"txbx":case"textBox":a=!0;for(const e of Z.elements(r,"txbxContent"))t.children.push(...this.parseBodyElements(e));break;case"bodyPr":n=r}return a&&(t.props={...t.props??{},...this.parseDmlTextBoxProperties(n)}),t}parseDmlShapeProperties(e,t){const r=Z.element(e,"xfrm");if(r)for(const e of Z.elements(r))if("ext"===e.localName)t.width=Z.lengthAttr(e,"cx",L),t.height=Z.lengthAttr(e,"cy",L);const n=Z.element(e,"solidFill"),a=Z.element(e,"noFill"),s=Z.element(e,"ln");if(n?t["background-color"]=this.parseDmlColor(n)??t["background-color"]:a&&(t["background-color"]="transparent"),s&&Z.element(s,"noFill"))t.border="none";else if(s){const e=this.parseDmlColor(Z.element(s,"solidFill"))??"black",r=Z.lengthAttr(s,"w",L)??"1px",n=Z.elementAttr(s,"prstDash","val"),a=n&&"solid"!=n?"dashed":"solid";t.border=`${r} ${a} ${e}`}}parseDmlColor(e){if(!e)return null;const t=Z.element(e,"srgbClr"),r=Z.element(e,"schemeClr"),n=Z.element(e,"prstClr"),a=Z.element(e,"sysClr");if(t)return this.applyDmlColorTransforms(t,`#${Z.attr(t,"val")}`);if(r){const e=this.resolveDmlSchemeColor(Z.attr(r,"val")),t=this.dmlSchemeColorFallback(e);return this.applyDmlColorTransforms(r,`var(--docx-${e}-color${t?`, ${t}`:""})`)}return a?this.applyDmlColorTransforms(a,`#${Z.attr(a,"lastClr")??Z.attr(a,"val")}`):n?this.applyDmlColorTransforms(n,Z.attr(n,"val")):null}resolveDmlSchemeColor(e){switch(e){case"bg1":return"lt1";case"tx1":return"dk1";case"bg2":return"lt2";case"tx2":return"dk2";default:return e}}dmlSchemeColorFallback(e){return Ja(e)}applyDmlColorTransforms(e,t){const r=Z.elementAttr(e,"lumMod","val"),n=Z.elementAttr(e,"lumOff","val");if(null!=r){const e=Math.max(0,Math.min(100,parseFloat(r)/1e3));Number.isFinite(e)&&e<100&&(t=`color-mix(in srgb, ${t} ${e}%, black)`)}if(null!=n){const e=Math.max(0,Math.min(100,parseFloat(n)/1e3));Number.isFinite(e)&&e>0&&(t=`color-mix(in srgb, ${t} ${100-e}%, white)`)}return t}findDescendant(e,t){for(const r of Z.elements(e)){if(r.localName==t)return r;const e=this.findDescendant(r,t);if(e)return e}return null}parsePicture(e){var t={type:ze.Image,src:"",cssStyle:{}},r=Z.element(e,"blipFill"),n=r?Z.element(r,"blip"):null,a=r?Z.element(r,"srcRect"):null;t.src=n?Z.attr(n,"embed")??Z.attr(n,"link"):"";const s=this.findDescendant(e,"cNvPr");s&&(t.title=Z.attr(s,"title")??Z.attr(s,"name"),t.alt=Z.attr(s,"descr")??t.title),a&&(t.srcRect=[Z.intAttr(a,"l",0)/1e5,Z.intAttr(a,"t",0)/1e5,Z.intAttr(a,"r",0)/1e5,Z.intAttr(a,"b",0)/1e5]);var o=Z.element(e,"spPr"),i=o?Z.element(o,"xfrm"):null,l=[];if(t.cssStyle.display="block",t.cssStyle.position="relative",t.cssStyle["object-fit"]="contain",i)for(var c of(t.rotation=Z.intAttr(i,"rot",0)/6e4,Z.boolAttr(i,"flipH",!1)&&l.push("scaleX(-1)"),Z.boolAttr(i,"flipV",!1)&&l.push("scaleY(-1)"),Z.elements(i)))if("ext"===c.localName)t.cssStyle.width=Z.lengthAttr(c,"cx",L),t.cssStyle.height=Z.lengthAttr(c,"cy",L);return l.length>0&&(t.cssStyle.transform=l.join(" ")),t.cssStyle.width||(t.cssStyle.width="100%"),t.cssStyle.height||(t.cssStyle.height="100%"),t}parseTable(e){var t={type:ze.Table,children:[]};for(const r of Z.elements(e))switch(r.localName){case"tr":t.children.push(this.parseTableRow(r));break;case"tblGrid":t.columns=this.parseTableColumns(r);break;case"tblPr":this.parseTableProperties(r,t)}return t}parseTableColumns(e){var t=[];for(const r of Z.elements(e))if("gridCol"===r.localName)t.push({width:Z.lengthAttr(r,"w")});return t}parseTableProperties(e,t){t.cssStyle={},t.cellStyle={};let r=null;this.parseDefaultProperties(e,t.cssStyle,t.cellStyle,n=>{switch(n.localName){case"tblStyle":t.styleName=Z.attr(n,"val");break;case"tblLook":t.className=Qa.classNameOftblLook(n);break;case"tblInd":r=this.parseTableIndentation(n);break;case"tblpPr":this.parseTablePosition(n,t);break;case"tblStyleColBandSize":t.colBandSize=Z.intAttr(n,"val");break;case"tblStyleRowBandSize":t.rowBandSize=Z.intAttr(n,"val");break;case"tblPrChange":this.addFormatRevision(t,n,"table-format",e);break;case"hidden":Z.boolAttr(n,"val",!0)&&(t.cssStyle.display="none");break;default:return!1}return!0});switch(t.cssStyle["text-align"]){case"center":delete t.cssStyle["text-align"],t.cssStyle["margin-left"]="auto",t.cssStyle["margin-right"]="auto";break;case"right":delete t.cssStyle["text-align"],t.cssStyle["margin-left"]="auto";break;default:delete t.cssStyle["text-align"],r&&(t.cssStyle["margin-inline-start"]=Qa.addSize(t.cssStyle["margin-inline-start"],r))}}parseTableIndentation(e){const t=Z.attr(e,"type");return"pct"==t||"auto"==t?null:Z.lengthAttr(e,"w",F)}parseTablePosition(e,t){var r=Z.lengthAttr(e,"topFromText"),n=Z.lengthAttr(e,"bottomFromText"),a=Z.lengthAttr(e,"rightFromText"),s=Z.lengthAttr(e,"leftFromText");t.cssStyle.float="left",t.cssStyle["margin-bottom"]=Qa.addSize(t.cssStyle["margin-bottom"],n),t.cssStyle["margin-left"]=Qa.addSize(t.cssStyle["margin-left"],s),t.cssStyle["margin-right"]=Qa.addSize(t.cssStyle["margin-right"],a),t.cssStyle["margin-top"]=Qa.addSize(t.cssStyle["margin-top"],r)}parseTableRow(e){var t={type:ze.Row,children:[]};for(const r of Z.elements(e))switch(r.localName){case"tc":t.children.push(this.parseTableCell(r));break;case"trPr":case"tblPrEx":this.parseTableRowProperties(r,t)}return t.children=this.normalizeHorizontalMerges(t.children),t}normalizeHorizontalMerges(e){const t=[];for(let r=0;r<e.length;r++){const n=e[r];if("restart"!=n.horizontalMerge){t.push(n);continue}let a=n.span??1,s=r+1;for(;s<e.length&&"continue"==e[s].horizontalMerge;)a+=e[s].span??1,s++;s>r+1&&(n.span=a,r=s-1),t.push(n)}return t}parseTableRowProperties(e,t){const r={};t.cssStyle=this.parseDefaultProperties(e,r,null,n=>{switch(n.localName){case"cnfStyle":t.className=Qa.classNameOfCnfStyle(n);break;case"tblHeader":t.isHeader=Z.boolAttr(n,"val",!0);break;case"gridBefore":t.gridBefore=Z.intAttr(n,"val");break;case"gridAfter":t.gridAfter=Z.intAttr(n,"val");break;case"cantSplit":Z.boolAttr(n,"val",!0)&&(r["break-inside"]="avoid");break;case"hidden":Z.boolAttr(n,"val",!0)&&(r.display="none");break;case"ins":this.addStructuralRevision(t,n,"insert");break;case"del":this.addStructuralRevision(t,n,"delete");break;case"trPrChange":this.addFormatRevision(t,n,"row-format",e);break;default:return!1}return!0})}parseTableCell(e){var t={type:ze.Cell,children:[]};for(const r of Z.elements(e))switch(r.localName){case"tbl":t.children.push(this.parseTable(r));break;case"p":t.children.push(this.parseParagraph(r));break;case"tcPr":this.parseTableCellProperties(r,t)}return t}parseTableCellProperties(e,t){t.cssStyle=this.parseDefaultProperties(e,{},null,r=>{switch(r.localName){case"gridSpan":t.span=Z.intAttr(r,"val",null);break;case"hMerge":t.horizontalMerge=Z.attr(r,"val")??"continue";break;case"vMerge":t.verticalMerge=Z.attr(r,"val")??"continue";break;case"cnfStyle":t.className=Qa.classNameOfCnfStyle(r);break;case"tcPrChange":this.addFormatRevision(t,r,"cell-format",e);break;default:return!1}return!0});const r=Z.element(e,"tcBorders");if(r){const e={};for(const t of Z.elements(r))"tl2br"!==t.localName&&"tr2bl"!==t.localName||(e[t.localName]=Qa.valueOfBorder(t));Object.keys(e).length&&(t.props={...t.props,diagonalBorders:e})}this.parseTableCellVerticalText(e,t)}addStructuralRevision(e,t,r){e.props={...e.props??{},revision:this.revisionMetadata(t,r)}}addFormatRevision(e,t,r,n){const a=Z.elements(t)[0],s=this.captureFormatProperties(a),o=this.captureFormatProperties(n),i=[...new Set([...Object.keys(s),...Object.keys(o)])].sort().filter(e=>s[e]!==o[e]).map(e=>({property:e,before:s[e],after:o[e]})),l={...this.revisionMetadata(t,r),formatChanges:i},c=[...e.props?.formatRevisions??[],l];e.props={...e.props??{},formatRevisions:c}}captureFormatProperties(e){const t={};if(!e)return t;for(const r of Z.elements(e))/PrChange$/.test(r.localName)||(t[r.localName]=this.serializeFormatProperty(r));return t}serializeFormatProperty(e){return[...Array.from(e.attributes??[]).map(e=>[e.localName||e.name,e.value]).sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>`${e}=${t}`),...Z.elements(e).map(e=>`${e.localName}{${this.serializeFormatProperty(e)}}`)].join("|")||"true"}revisionMetadata(e,t){return{id:Z.attr(e,"id"),author:Z.attr(e,"author"),date:Z.attr(e,"date"),kind:t}}parseTableCellVerticalText(e,t){const r={btLr:{writingMode:"vertical-rl",transform:"rotate(180deg)"},lrTb:{writingMode:"vertical-lr",transform:"none"},tbRl:{writingMode:"vertical-rl",transform:"none"}};for(const n of Z.elements(e))if("textDirection"===n.localName){const e=r[Z.attr(n,"val")]||{writingMode:"horizontal-tb"};t.cssStyle["writing-mode"]=e.writingMode,t.cssStyle.transform=e.transform}}parseDefaultProperties(e,t=null,r=null,n=null){t=t||{};const a=Z.element(e,"lang"),s={latin:a?Z.attr(a,"val"):"",eastAsia:a?Z.attr(a,"eastAsia"):"",bidi:a?Z.attr(a,"bidi"):""};for(const a of Z.elements(e))if(!n?.(a))switch(a.localName){case"jc":t["text-align"]=Qa.valueOfJc(a);break;case"textAlignment":t["vertical-align"]=Qa.valueOfTextAlignment(a);break;case"color":t.color=Za.colorAttr(a,"val",null,Ua);break;case"sz":t["font-size"]=t["min-height"]=Z.lengthAttr(a,"val",R);break;case"szCs":t["font-size"]??(t["font-size"]=Z.lengthAttr(a,"val",R)),t["min-height"]??(t["min-height"]=t["font-size"]);break;case"shd":t["background-color"]=Za.colorAttr(a,"fill",null,Va);break;case"highlight":t["background-color"]=Za.colorAttr(a,"val",null,qa);break;case"vertAlign":t["vertical-align"]=Qa.valueOfVertAlign(a);break;case"position":t["vertical-align"]=Z.lengthAttr(a,"val",E);break;case"w":case"scale":const n=Z.intAttr(a,"val",100);Number.isFinite(n)&&n>0&&n<=600&&(t["--docx-text-scale"]=""+n/100);break;case"tcW":if(this.options.ignoreWidth)break;case"tblW":t.width=Qa.valueOfSize(a,"w");break;case"trHeight":this.parseTrHeight(a,t);break;case"strike":t["text-decoration"]=Z.boolAttr(a,"val",!0)?"line-through":"none";break;case"dstrike":Z.boolAttr(a,"val",!0)?(t["text-decoration-line"]="line-through",t["text-decoration-style"]="double"):t["text-decoration"]="none";break;case"b":t["font-weight"]=Z.boolAttr(a,"val",!0)?"bold":"normal";break;case"i":t["font-style"]=Z.boolAttr(a,"val",!0)?"italic":"normal";break;case"bCs":t["--docx-bidi-font-weight"]=Z.boolAttr(a,"val",!0)?"bold":"normal","rtl"==t.direction&&(t["font-weight"]=t["--docx-bidi-font-weight"]);break;case"iCs":t["--docx-bidi-font-style"]=Z.boolAttr(a,"val",!0)?"italic":"normal","rtl"==t.direction&&(t["font-style"]=t["--docx-bidi-font-style"]);break;case"caps":t["text-transform"]=Z.boolAttr(a,"val",!0)?"uppercase":"none";break;case"smallCaps":t["font-variant"]=Z.boolAttr(a,"val",!0)?"small-caps":"none";break;case"rtl":Z.boolAttr(a,"val",!0)&&(t.direction="rtl",t["unicode-bidi"]="embed",t["--docx-bidi-font-weight"]&&(t["font-weight"]=t["--docx-bidi-font-weight"]),t["--docx-bidi-font-style"]&&(t["font-style"]=t["--docx-bidi-font-style"]));break;case"outline":Z.boolAttr(a,"val",!0)&&(t["-webkit-text-stroke"]="0.5px currentColor");break;case"shadow":Z.boolAttr(a,"val",!0)&&(t["text-shadow"]="1px 1px 0 currentColor");break;case"emboss":Z.boolAttr(a,"val",!0)&&(t["text-shadow"]="-1px -1px 0 rgba(255,255,255,.75), 1px 1px 0 rgba(0,0,0,.35)");break;case"imprint":Z.boolAttr(a,"val",!0)&&(t["text-shadow"]="1px 1px 0 rgba(255,255,255,.75), -1px -1px 0 rgba(0,0,0,.35)");break;case"em":t["text-emphasis-style"]=Qa.valueOfEmphasisMark(a);break;case"u":this.parseUnderline(a,t);break;case"ind":case"tblInd":this.parseIndentation(a,t);break;case"rFonts":this.parseFont(a,t,s);break;case"tblBorders":this.parseBorderProperties(a,r||t);break;case"tblCellSpacing":t["border-spacing"]=Qa.valueOfMargin(a),t["border-collapse"]="separate";break;case"pBdr":this.parseBorderProperties(a,t);break;case"bdr":t.border=Qa.valueOfBorder(a);break;case"tcBorders":this.parseBorderProperties(a,t);break;case"vanish":Z.boolAttr(a,"val",!0)&&(t.display="none");break;case"kern":t["font-kerning"]=Z.intAttr(a,"val",0)>0?"normal":"none";break;case"noWrap":t["white-space"]=Z.boolAttr(a,"val",!0)?"nowrap":"normal";break;case"snapToGrid":t["--docx-snap-to-grid"]=Z.boolAttr(a,"val",!0)?"1":"0";break;case"fitText":this.parseFitText(a,t);break;case"eastAsianLayout":this.parseEastAsianLayout(a,t);break;case"tblCellMar":case"tcMar":this.parseMarginProperties(a,r||t);break;case"tblLayout":t["table-layout"]=Qa.valueOfTblLayout(a);break;case"vAlign":t["vertical-align"]=Qa.valueOfTextAlignment(a);break;case"spacing":"pPr"==e.localName?this.parseSpacing(a,t):"rPr"==e.localName&&(t["letter-spacing"]=Z.lengthAttr(a,"val",F));break;case"wordWrap":Z.boolAttr(a,"val")&&(t["overflow-wrap"]="break-word");break;case"suppressAutoHyphens":t.hyphens=Z.boolAttr(a,"val",!0)?"none":"auto";break;case"lang":t.$lang=Z.attr(a,"val"),t["$lang-eastAsia"]=Z.attr(a,"eastAsia"),t["$lang-bidi"]=Z.attr(a,"bidi");break;case"rtl":case"bidi":Z.boolAttr(a,"val",!0)&&(t.direction="rtl");break;case"pageBreakBefore":Z.boolAttr(a,"val",!0)&&(t["break-before"]="page");break;case"keepLines":Z.boolAttr(a,"val",!0)&&(t["break-inside"]="avoid");break;case"keepNext":Z.boolAttr(a,"val",!0)&&(t["break-after"]="avoid");break;case"widowControl":Z.boolAttr(a,"val",!0)&&(t.orphans="2",t.widows="2");break;case"webHidden":this.options.hideWebHiddenContent&&Z.boolAttr(a,"val",!0)&&(t.display="none");break;case"specVanish":Z.boolAttr(a,"val",!0)&&(t.display="none");break;case"tabs":case"outlineLvl":case"contextualSpacing":case"tblStyleColBandSize":case"tblStyleRowBandSize":case"suppressLineNumbers":case"noProof":break;default:this.options.debug&&console.warn(`DOCX: Unknown document element: ${e.localName}.${a.localName}`)}return t}parseFitText(e,t){const r=Z.lengthAttr(e,"val");r&&(t.display="inline-block",t.width=r,t["text-align"]="justify",t["text-align-last"]="justify")}parseEastAsianLayout(e,t){Z.boolAttr(e,"combine",!1)&&(t["text-combine-upright"]="all"),Z.boolAttr(e,"vert",!1)&&(t["writing-mode"]="vertical-rl"),Z.boolAttr(e,"vertCompress",!1)&&(t["font-stretch"]="condensed")}parseUnderline(e,t){var r=Z.attr(e,"val");if(null!=r){switch(r){case"dash":case"dashDotDotHeavy":case"dashDotHeavy":case"dashedHeavy":case"dashLong":case"dashLongHeavy":case"dotDash":case"dotDotDash":t["text-decoration"]="underline dashed";break;case"dotted":case"dottedHeavy":t["text-decoration"]="underline dotted";break;case"double":t["text-decoration"]="underline double";break;case"single":case"thick":case"words":t["text-decoration"]="underline";break;case"wave":case"wavyDouble":case"wavyHeavy":t["text-decoration"]="underline wavy";break;case"none":t["text-decoration"]="none"}var n=Za.colorAttr(e,"color");n&&(t["text-decoration-color"]=n)}}parseFont(e,t,r={}){var n=Z.attr(e,"ascii"),a=Z.attr(e,"hAnsi"),s=Z.attr(e,"eastAsia"),o=Z.attr(e,"cs"),i=Qa.themeValue(e,"asciiTheme"),l=Qa.themeValue(e,"hAnsiTheme"),c=this.scriptThemeFontValue(Qa.themeValue(e,"eastAsiaTheme"),r.eastAsia),h=this.scriptThemeFontValue(Qa.themeValue(e,"cstheme")??Qa.themeValue(e,"csTheme"),r.bidi);const d=Je(r.eastAsia),u=(e,t="")=>function(e){const t=String(e??"").normalize("NFKC").toLowerCase();return/simsun|nsimsun|宋体|宋體|songti|shusong|书宋|書宋|fangsong|仿宋|mincho|明朝|明體|mingliu|pmingliu|batang|명조|kaiti|楷体|楷體|stkaiti|simhei|黑体|黑體|heiti|dengxian|等线|等線|yahei|fangzheng|方正|fz(?:fs|kt|ht|ss|xbs)|ゴシック|(?:^|\s)(?:ms|yu)\s+p?gothic|meiryo|メイリオ|malgun|맑은/.test(t)}(e)?p(e,t):[m(e)];var f=[n,a].filter(e=>e).flatMap(e=>u(e,d));if(f.push(...[i,l].filter(e=>e).map(e=>e.startsWith("var(")?e:m(e))),s&&f.push(...p(s,d)),c&&f.push(c.startsWith("var(")?c:m(c)),o&&f.push(...u(o,Je(r.bidi))),h&&f.push(h.startsWith("var(")?h:m(h)),f.length>0){const e=(t["font-family"]??"").split(",").map(e=>e.trim()).filter(e=>e);t["font-family"]=[...new Set([...e,...f])].join(", ")}}scriptThemeFontValue(e,t){if(!e)return e;const r=Je(t),n=/^var\((--docx-(?:major|minor)(?:EastAsia|Bidi|Cs)-font)\)$/.exec(e);return r&&n?`var(${n[1]}-${r}, ${e})`:e}parseIndentation(e,t){var r=Z.lengthAttr(e,"firstLine"),n=Z.lengthAttr(e,"hanging"),a=Z.lengthAttr(e,"left"),s=Z.lengthAttr(e,"start"),o=Z.lengthAttr(e,"right"),i=Z.lengthAttr(e,"end");r&&(t["text-indent"]=r,t["--docx-text-indent"]=r),n&&(t["text-indent"]=`-${n}`,t["--docx-text-indent"]=`-${n}`,t["--docx-hanging-indent"]=n),(a||s)&&(t["margin-inline-start"]=a||s,t["--docx-margin-inline-start"]=a||s),(o||i)&&(t["margin-inline-end"]=o||i,t["--docx-margin-inline-end"]=o||i)}parseSpacing(e,t){var r=Z.lengthAttr(e,"before"),n=Z.lengthAttr(e,"after"),a=Z.intAttr(e,"beforeLines",null),s=Z.intAttr(e,"afterLines",null),o=Z.boolAttr(e,"beforeAutospacing",!1),i=Z.boolAttr(e,"afterAutospacing",!1),l=Z.intAttr(e,"line",null),c=Z.attr(e,"lineRule");if(o?t["margin-top"]="auto":Number.isFinite(a)&&a>=0?t["margin-top"]=`${(a/100).toFixed(2)}em`:r&&(t["margin-top"]=r),i?t["margin-bottom"]="auto":Number.isFinite(s)&&s>=0?t["margin-bottom"]=`${(s/100).toFixed(2)}em`:n&&(t["margin-bottom"]=n),null!==l)switch(c??"auto"){case"auto":default:t["line-height"]=`${(l/240).toFixed(2)}`;break;case"atLeast":t["line-height"]=`max(1.2em, ${(l/20).toFixed(2)}pt)`,t["min-height"]=`max(1.2em, ${(l/20).toFixed(2)}pt)`;break;case"exact":case"exactly":t["line-height"]=t["min-height"]=`${(l/20).toFixed(2)}pt`}}parseMarginProperties(e,t){for(const r of Z.elements(e))switch(r.localName){case"left":case"start":t["padding-left"]=Qa.valueOfMargin(r);break;case"right":case"end":t["padding-right"]=Qa.valueOfMargin(r);break;case"top":t["padding-top"]=Qa.valueOfMargin(r);break;case"bottom":t["padding-bottom"]=Qa.valueOfMargin(r)}}parseTrHeight(e,t){Z.attr(e,"hRule"),t.height=Z.lengthAttr(e,"val")}parseBorderProperties(e,t){for(const r of Z.elements(e)){const e=Qa.valueOfBorder(r);switch(r.localName){case"start":case"left":t["border-left"]=e;break;case"end":case"right":t["border-right"]=e;break;case"top":t["border-top"]=e;break;case"bottom":t["border-bottom"]=e;break;case"insideH":t["border-top"]??(t["border-top"]=e),t["border-bottom"]??(t["border-bottom"]=e);break;case"insideV":t["border-left"]??(t["border-left"]=e),t["border-right"]??(t["border-right"]=e)}}}}const Ka=["black","blue","cyan","darkBlue","darkCyan","darkGray","darkGreen","darkMagenta","darkRed","darkYellow","green","lightGray","magenta","none","red","white","yellow"],Ya={dark1:"dk1",light1:"lt1",dark2:"dk2",light2:"lt2",text1:"dk1",background1:"lt1",text2:"dk2",background2:"lt2",hyperlink:"hlink",followedHyperlink:"folHlink"};function Ja(e){switch(e){case"dk1":return"#000000";case"lt1":return"#FFFFFF";case"dk2":return"#44546A";case"lt2":return"#E7E6E6";case"accent1":return"#4472C4";case"accent2":return"#ED7D31";case"accent3":return"#A5A5A5";case"accent4":return"#FFC000";case"accent5":return"#5B9BD5";case"accent6":return"#70AD47";case"hlink":return"#0563C1";case"folHlink":return"#954F72";default:return null}}class Za{static colorAttr(e,t,r=null,n=Ua){var a=Z.attr(e,t);if(a)return"auto"==a?n:Ka.includes(a)?a:`#${a}`;var s,o=Z.attr(e,"themeColor");if(o){const e=Ya[s=o]??s,t=Ja(e);return`var(--docx-${e}-color${t?`, ${t}`:""})`}return r}}class Qa{static themeValue(e,t){var r=Z.attr(e,t);return r?`var(--docx-${r}-font)`:null}static valueOfSize(e,t){var r=T;switch(Z.attr(e,"type")){case"dxa":break;case"pct":r=I;break;case"auto":return"auto"}return Z.lengthAttr(e,t,r)}static valueOfMargin(e){return Z.lengthAttr(e,"w")}static valueOfBorder(e){var t=Qa.parseBorderType(Z.attr(e,"val"));if("none"==t)return"none";var r=Za.colorAttr(e,"color",ja,ja);return`${Z.lengthAttr(e,"sz",B)??"1pt"} ${t} ${"auto"==r?ja:r}`}static parseBorderType(e){switch(e){case"single":case"dashDotStroked":case"thick":case"thickThinLargeGap":case"thickThinMediumGap":case"thickThinSmallGap":case"thinThickLargeGap":case"thinThickMediumGap":case"thinThickSmallGap":case"thinThickThinLargeGap":case"thinThickThinMediumGap":case"thinThickThinSmallGap":case"threeDEmboss":case"threeDEngrave":case"wave":return"solid";case"dashed":case"dashSmallGap":return"dashed";case"dotDash":case"dotDotDash":case"dotted":return"dotted";case"double":case"doubleWave":case"triple":return"double";case"inset":return"inset";case"nil":case"none":return"none";case"outset":return"outset"}return"solid"}static valueOfTblLayout(e){return"fixed"==(Z.attr(e,"type")??Z.attr(e,"val"))?"fixed":"auto"}static classNameOfCnfStyle(e){const t=Z.attr(e,"val");return["first-row","last-row","first-col","last-col","odd-col","even-col","odd-row","even-row","ne-cell","nw-cell","se-cell","sw-cell"].filter((e,r)=>"1"==t[r]).join(" ")}static valueOfJc(e){var t=Z.attr(e,"val");switch(t){case"start":case"left":return"left";case"center":return"center";case"end":case"right":return"right";case"both":return"justify"}return t}static valueOfVertAlign(e,t=!1){var r=Z.attr(e,"val");switch(r){case"subscript":return"sub";case"superscript":return t?"sup":"super"}return t?null:r}static valueOfEmphasisMark(e){switch(Z.attr(e,"val")){case"none":return"none";case"comma":return'"﹐"';case"circle":return"circle";default:return"dot"}}static valueOfTextAlignment(e){var t=Z.attr(e,"val");switch(t){case"auto":case"baseline":return"baseline";case"top":return"top";case"center":return"middle";case"bottom":return"bottom"}return t}static addSize(e,t){return e&&"0.00pt"!=e&&"0px"!=e?t&&"0.00pt"!=t&&"0px"!=t?`calc(${e} + ${t})`:e:t}static classNameOftblLook(e){const t=Z.hexAttr(e,"val",0);let r="";return(Z.boolAttr(e,"firstRow")||32&t)&&(r+=" first-row"),(Z.boolAttr(e,"lastRow")||64&t)&&(r+=" last-row"),(Z.boolAttr(e,"firstColumn")||128&t)&&(r+=" first-col"),(Z.boolAttr(e,"lastColumn")||256&t)&&(r+=" last-col"),(Z.boolAttr(e,"noHBand")||512&t)&&(r+=" no-hband"),(Z.boolAttr(e,"noVBand")||1024&t)&&(r+=" no-vband"),r.trim()}}
|
|
9
|
+
/*! @license Adobe Symbol Encoding to Unicode
|
|
10
|
+
* Copyright (c) 1991-2011 Unicode, Inc. All Rights reserved.
|
|
11
|
+
*
|
|
12
|
+
* This file is provided as-is by Unicode, Inc. (The Unicode Consortium). No
|
|
13
|
+
* claims are made as to fitness for any particular purpose. No warranties of
|
|
14
|
+
* any kind are expressed or implied. The recipient agrees to determine
|
|
15
|
+
* applicability of information provided. If this file has been provided on
|
|
16
|
+
* magnetic media by Unicode, Inc., the sole remedy for any claim will be
|
|
17
|
+
* exchange of defective media within 90 days of receipt.
|
|
18
|
+
*
|
|
19
|
+
* Unicode, Inc. hereby grants the right to freely use the information
|
|
20
|
+
* supplied in this file in the creation of products supporting the
|
|
21
|
+
* Unicode Standard, and to make copies of this file in any form for
|
|
22
|
+
* internal or external distribution as long as this notice remains
|
|
23
|
+
* attached.
|
|
24
|
+
*
|
|
25
|
+
* Source: https://www.unicode.org/Public/MAPPINGS/VENDORS/ADOBE/symbol.txt
|
|
26
|
+
*/const es={33:33,34:8704,35:35,36:8707,37:37,38:38,39:8715,40:40,41:41,42:8727,43:43,44:44,45:8722,46:46,47:47,48:48,49:49,50:50,51:51,52:52,53:53,54:54,55:55,56:56,57:57,58:58,59:59,60:60,61:61,62:62,63:63,64:8773,65:913,66:914,67:935,69:917,70:934,71:915,72:919,73:921,74:977,75:922,76:923,77:924,78:925,79:927,80:928,81:920,82:929,83:931,84:932,85:933,86:962,88:926,89:936,90:918,91:91,92:8756,93:93,94:8869,95:95,97:945,98:946,99:967,100:948,101:949,102:966,103:947,104:951,105:953,106:981,107:954,108:955,110:957,111:959,112:960,113:952,114:961,115:963,116:964,117:965,118:982,119:969,120:958,121:968,122:950,123:123,124:124,125:125,126:8764,160:8364,161:978,162:8242,163:8804,165:8734,166:402,167:9827,168:9830,169:9829,170:9824,171:8596,172:8592,173:8593,174:8594,175:8595,176:176,177:177,178:8243,179:8805,180:215,181:8733,182:8706,183:8226,184:247,185:8800,186:8801,187:8776,188:8230,191:8629,192:8501,193:8465,194:8476,195:8472,196:8855,197:8853,198:8709,199:8745,200:8746,201:8835,202:8839,203:8836,204:8834,205:8838,206:8712,207:8713,208:8736,209:8711,213:8719,214:8730,215:8901,216:172,217:8743,218:8744,219:8660,220:8656,221:8657,222:8658,223:8659,224:9674,225:9001,229:8721,241:9002,242:8747,243:8992,245:8993};class ts{constructor(e,t,r){this.className=e,this.createLayer=t,this.layoutContent=r,this.records=new Map,this.bindingRoot=null,this.binding=null,this.root=t(),this.root.dataset.docxCommentLayer="true"}add(e){this.records.set(e.key,e),this.root.appendChild(e.popup)}references(e,t){return Array.from(e.querySelectorAll("[data-docx-comment-reference]")).filter(e=>e.dataset.docxCommentReference===t.key)}place(e,t){const r=t.ownerDocument?.defaultView;if(!r||!t.isConnected||!this.root.isConnected)return;const n=this.root,a=n.getBoundingClientRect(),s=t.getBoundingClientRect(),o=e.references.find(e=>!e.closest("a"))??e.references[0]??t,i=o.getBoundingClientRect(),l=parseFloat(r.getComputedStyle(n).width),c=l>0?a.width/l:0;if(!(c>0&&Number.isFinite(c)&&s.width&&s.height&&i.width&&i.height))return;e.positionedReference!==o&&e.positionedReference&&delete e.positionedReference.dataset.docxCommentPositioned,e.positionedReference=o,e.reference=t;const h=(s.left-a.left)/c,d=(s.top-a.top)/c;let u=(i.left-a.left)/c;const m=(i.top-a.top)/c,p=i.width/c,f=o.closest("a");if(f){const e=f.getBoundingClientRect(),t=o.closest("section")??n,s=t.getBoundingClientRect(),i=r.getComputedStyle(t),h=(s.left-a.left)/c,d=(s.right-a.left)/c,m=(e.left-a.left)/c,g=(e.right-a.left)/c,b=4;u=[h+(parseFloat(i.paddingLeft)||0)-p-b,d-(parseFloat(i.paddingRight)||0)+b,h-p-b,d+b].find(e=>e>=0&&e+p<=l&&(e+p<=m-b||e>=g+b))??Math.max(l,g)+b}e.popup.style.position="absolute",e.popup.style.left=`${u}px`,e.popup.style.top=`${m}px`;const g=r.getComputedStyle(o);if(e.summary.style.fontSize=g.fontSize,e.summary.style.fontFamily=g.fontFamily,e.summary.style.lineHeight=g.lineHeight,e.summary.style.width=`${p}px`,e.summary.style.height=i.height/c+"px",f?delete o.dataset.docxCommentPositioned:o.dataset.docxCommentPositioned="true",e.popup.open){const t=e.body.getBoundingClientRect().width/c,n=Math.min(0,Math.max(-h,l-h-t));e.body.style.left=`${h-u+n}px`,e.body.style.maxWidth=`${Math.max(0,l)}px`;const o=a.height/c,p=Math.max(0,Math.min(o-d-s.height/c,(r.innerHeight-s.bottom)/c)),f=Math.max(0,Math.min(d,s.top/c)),g=p<120&&f>p;e.body.style.top=g?"auto":d-m+s.height/c+"px",e.body.style.bottom=g?m+i.height/c-d+"px":"auto",e.body.style.maxHeight=`${Math.max(1,g?f:p)}px`}}close(e){delete e.restoringOpen,e.revision++,e.opening?.abort(),e.opening=null,e.open=!1,e.popup.open=!1,e.references.forEach(e=>e.setAttribute("aria-expanded","false"))}activate(e,t,r,n=!1){if(!r.generation.isCurrent()||!t.isConnected)return Promise.resolve();delete e.restoringOpen,e.reference=t;const a=e.open;if(e.open=!0,e.popup.open=!0,e.references.forEach(e=>e.setAttribute("aria-expanded","true")),this.place(e,t),a&&!n)return e.layout??Promise.resolve();e.opening?.abort();const s=e.opening=new AbortController,o=++e.revision,l=()=>s.abort();r.generation.signal.addEventListener("abort",l,{once:!0});const c={signal:s.signal,cancel:l,isCurrent:()=>!s.signal.aborted&&r.generation.isCurrent()&&e.revision===o&&e.popup.open&&e.reference.isConnected};return e.body.dataset.docxCommentLayout="pending",e.layout=i(e.body,[],c).then(()=>{c.isCurrent()&&(this.layoutContent(e.body),this.place(e,e.reference),e.body.dataset.docxCommentLayout="ready")}).catch(t=>{e.revision===o&&(e.body.dataset.docxCommentLayout="AbortError"===t?.name?"cancelled":"failed")}).finally(()=>r.generation.signal.removeEventListener("abort",l)),e.layout}async bind(e,t){if(!e.isConnected||!t.isCurrent()||"function"!=typeof e.addEventListener)return;let r=this.binding;if(r&&r.generation.signal===t.signal&&(this.bindingRoot===e||this.bindingRoot.contains(e)))return r.generation=t,void await this.sync(this.bindingRoot,r,!0);r&&r.dispose(r.generation.isCurrent()&&e.isConnected),r=null;const n=[],a=(e,t,r,a=!1)=>{e.addEventListener(t,r,a),n.push(()=>e.removeEventListener(t,r,a))};let s=Array.from(this.records.values()).find(e=>e.popup.open)??null,o=null,i=!1,l=!1;const c=()=>{let t=e.getRootNode().activeElement??e.ownerDocument.activeElement;for(;t?.shadowRoot?.activeElement;)t=t.shadowRoot.activeElement;return t},h=e=>{const t=e.reference.hasAttribute("tabindex")?e.reference:e.summary;i=!0,t.focus(),i=!1},d=e=>e&&1===e.nodeType?e:null,u=e=>{const t=d(e)?.closest("[data-docx-comment-reference], [data-docx-comment-popup]");return t?this.records.get(t.dataset.docxCommentReference??t.dataset.docxCommentPopup):null},m=(e,t)=>{const r=t;return!!r&&(e.popup.contains(r)||e.references.some(e=>e.contains(r)))},p=(e=s)=>{e&&this.close(e),s===e&&(s=null)};r={generation:t,dispose:(t=!1)=>{n.splice(0).forEach(e=>e());for(const e of this.records.values())t||this.close(e),e.positionedReference&&delete e.positionedReference.dataset.docxCommentPositioned,delete e.positionedReference;this.binding===r&&(this.binding=null,this.bindingRoot=null),e.isConnected&&r.generation.isCurrent()||this.root.remove()}},this.binding=r,this.bindingRoot=e;const f=(e,t)=>{if(l)return;s&&s!==e&&this.close(s),s=e;const n=d(t),a=n?.closest("[data-docx-comment-reference]")??(e.summary.contains(n)?e.positionedReference:null)??e.reference;this.activate(e,a,r)};a(e,"mouseover",e=>{const t=u(e.target);if(t){if(s&&s!==t&&m(s,c()))return;o=t,f(t,e.target)}}),a(e,"mouseout",e=>{const t=e.relatedTarget;s&&!m(s,t)&&(o=null,m(s,c())||p())}),a(e,"focusin",e=>{const t=u(e.target);!i&&t&&d(e.target)?.dataset.docxCommentReference&&f(t,e.target)}),a(e,"focusout",e=>{s&&o!==s&&!m(s,e.relatedTarget)&&p()}),a(e,"click",e=>{const t=d(e.target)?.closest("[data-docx-comment-reference]"),r=t&&this.records.get(t.dataset.docxCommentReference);r&&(e.preventDefault(),e.stopPropagation(),r.popup.open?p(r):f(r,t))}),a(e,"keydown",e=>{const t=e,r=u(e.target);if(!r)return;const n=d(e.target)?.closest("[data-docx-comment-reference]");if(!n||"Enter"!==t.key&&" "!==t.key){if("Escape"===t.key)e.preventDefault(),e.stopPropagation(),p(r),h(r);else if("Tab"===t.key&&r.popup.open){const a=Array.from(r.body.querySelectorAll("a[href], button, input, select, textarea, [tabindex]")).filter(e=>e.tabIndex>=0&&!e.disabled);n&&!t.shiftKey&&a.length?(e.preventDefault(),a[0].focus()):t.shiftKey&&e.target===a[0]?(e.preventDefault(),h(r)):t.shiftKey||e.target!==a[a.length-1]||(h(r),p(r))}}else e.preventDefault(),e.stopPropagation(),r.popup.open?p(r):f(r,n)}),a(e,"toggle",e=>{const t=u(e.target);if(t&&e.target===t.popup&&!l){if(void 0!==t.restoringOpen){const e=t.restoringOpen;if(delete t.restoringOpen,t.popup.open===e)return}t.popup.open&&!t.open?f(t,t.reference):!t.popup.open&&t.open&&(this.close(t),s===t&&(s=null))}},!0);const g=e.ownerDocument.defaultView;if(g){const t=()=>{!l&&r.generation.isCurrent()&&this.sync(e,r,!0)};a(g,"resize",t),a(g,"scroll",t,!0);const s=new Map;a(g,"beforeprint",()=>{if(!l&&r.generation.isCurrent()){l=!0;for(const e of this.records.values())s.set(e,e.popup.open),e.popup.open=!0,this.layoutContent(e.body)}}),a(g,"afterprint",()=>{if(l){for(const[e,t]of s)e.restoringOpen=t,t||e.opening?.abort(),e.open=t,e.popup.open=t,e.references.forEach(e=>e.setAttribute("aria-expanded",`${t}`));s.clear(),l=!1,this.sync(e,r,!0)}});const o=g.MutationObserver;if(o){const t=new o(()=>{e.isConnected&&r.generation.isCurrent()||r.dispose()});t.observe(e.ownerDocument.documentElement,{childList:!0,subtree:!0});for(let r=e.getRootNode();r&&r!==e.ownerDocument;r=r.host?.getRootNode())t.observe(r,{childList:!0,subtree:!0});n.push(()=>t.disconnect())}}a(t.signal,"abort",()=>r.dispose()),await this.sync(e,r,!0)}async sync(e,t,r=!1){const n=[];for(const a of this.records.values()){const s=this.references(e,a);if(!s.length)continue;a.references=s;const o=s.includes(a.reference)?a.reference:s[0];this.place(a,o),t&&a.popup.open&&r?n.push(this.activate(a,o,t,!0)):a.layout&&n.push(a.layout)}await Promise.all(n)}}const rs={pos:0,leader:"none",style:"left"},ns=.1;function as(e=document.body){const t=document.createElement("div");t.style.width="100pt",e.appendChild(t);const r=100/t.offsetWidth;return e.removeChild(t),r}function ss(e,t,r,n=.75){const a=e.closest("p");if(!a)return;const s=e.getBoundingClientRect(),o=a.getBoundingClientRect(),i=getComputedStyle(a);if("rtl"==i.direction||i.writingMode&&"horizontal-tb"!=i.writingMode)return;const l=os(i.marginInlineStart||i.marginLeft),c=os(i.marginInlineEnd||i.marginRight),h=os(i.textIndent),d=t?.length>0?t.map(e=>({pos:is(e.position),leader:e.leader,style:e.style})).sort((e,t)=>e.pos-t.pos):[rs],u=l*n,m=d.some(e=>Math.abs(e.pos-u)<=ns);h<-.1&&u>ns&&!m&&(d.push({...rs,pos:u}),d.sort((e,t)=>e.pos-t.pos));const p=d[d.length-1],f=(o.width+l+c)*n,g=Number.isFinite(is(r))?is(r):36;let b=p.pos+g;if(b<f)for(;b<f&&d.length<50;b+=g)d.push({...rs,pos:b});const y=o.left-l,x=(s.left-y)*n,w=d.find(e=>"clear"!=e.style&&e.pos>x);if(null==w)return;if(!["left","right","center"].includes(w.style||"left"))return;let v=1;if("right"==w.style||"center"==w.style){const t=Array.from(a.querySelectorAll(`.${e.className}`)),r=t.indexOf(e)+1,s=document.createRange();s.setStart(e,1),r<t.length?s.setEndBefore(t[r]):s.setEnd(a,a.childNodes.length);const o="center"==w.style?.5:1,i=s.getBoundingClientRect(),l=i.left+o*i.width-y;v=w.pos-l*n}else v=w.pos-x;const k=Math.max(Number.isFinite(v)?v:0,0);switch(" "!==e.textContent&&(e.textContent=" "),e.style.display="inline-block",e.style.width=`${k.toFixed(2)}pt`,e.style.minWidth="0pt",e.style.lineHeight="1",e.style.whiteSpace="nowrap",e.style.wordSpacing="normal",e.style.textDecoration="none",e.style.borderBottom="",e.style.height="",e.style.transform="",w.leader){case"dot":case"middleDot":e.style.borderBottom="1px dotted currentColor",e.style.height=".85em",e.style.transform="translateY(-.18em)";break;case"hyphen":case"heavy":case"underscore":e.style.borderBottom="1px solid currentColor",e.style.height=".85em",e.style.transform="translateY(-.18em)"}}function os(e){const t=parseFloat(e);return Number.isFinite(t)?t:0}function is(e){return parseFloat(e)}function ls(e){const t=/^\s*([-+]?(?:\d+(?:\.\d*)?|\.\d+))(pt|px|pc|in|cm|mm)?\s*$/i.exec(e??"");if(!t)return null;const r={pt:1,px:.75,pc:12,in:72,cm:72/2.54,mm:72/25.4}[t[2]?.toLowerCase()??"pt"],n=Number(t[1])*r;return Number.isFinite(n)?n:null}function cs(e,t){const r="explicit"==e.dataset.docxTabLayout,n=r?e.dataset.docxTabFallbackWidth??"":e.style.width,a=r?e.dataset.docxTabFallbackMinWidth??"":e.style.minWidth??"",s=e.style.display,o=()=>(r&&(e.style.width=n,e.style.minWidth=a),e.style.display=s,!1),i=e.closest("p"),l=e.ownerDocument?.defaultView;if(!i||!l||!e.isConnected)return o();const c=l.getComputedStyle(i);if("rtl"==c.direction||c.writingMode&&"horizontal-tb"!=c.writingMode)return o();const h=t.filter(e=>"clear"!=e.style).map(e=>({...e,point:ls(e.position)}));if(!h.length||h.some(e=>null==e.point))return o();h.sort((e,t)=>e.point-t.point);const d=e.style.width;e.style.display="inline-block",e.style.width="0pt";const u=e.getBoundingClientRect(),m=i.getBoundingClientRect(),p=os(c.width)+("border-box"==c.boxSizing?0:os(c.paddingLeft)+os(c.paddingRight)+os(c.borderLeftWidth)+os(c.borderRightWidth)),f=p>0?m.width/p:0;if(!(f>0&&Number.isFinite(f)))return e.style.width=d,o();const g=m.left/f-os(c.marginLeft),b=.75*(u.left/f-g),y=h.find(e=>e.point>b+ns);if(!y||!["left","right","center"].includes(y.style||"left")||y.leader&&"none"!=y.leader)return e.style.width=d,o();const x=e=>{for(;e&&e!=i;){if(e.nextSibling)return e.nextSibling;e=e.parentNode}return null};let w=null;for(let t=x(e);t;){if(1==t.nodeType){const e=t;if("BR"==e.tagName||"P"==e.tagName||"true"==e.dataset.docxTab||"true"==e.dataset.docxDrawing){w=e;break}}t=t.firstChild??x(t)}let v=0;if("right"==y.style||"center"==y.style){const t=e.ownerDocument.createRange();if(t.setStartAfter(e),w?t.setEndBefore(w):t.setEnd(i,i.childNodes.length),v=t.getBoundingClientRect().width/f*.75,!Number.isFinite(v))return e.style.width=d,o()}const k="right"==y.style?1:"center"==y.style?.5:0,C=Math.max(0,y.point-b-k*v);return" "!==e.textContent&&(e.textContent=" "),e.style.width=`${C.toFixed(2)}pt`,e.style.minWidth="0pt",e.style.lineHeight="1",e.style.whiteSpace="nowrap",e.style.wordSpacing="normal",e.dataset.docxTabLayout="explicit",e.dataset.docxTabFallbackWidth=n,e.dataset.docxTabFallbackMinWidth=a,!0}function hs(e,t,r){if(!t||![t.start,t.size,r].every(Number.isFinite))return null;if(e.alignSpecified)return"center"==e.align?t.start+(t.size-r)/2:"right"==e.align||"bottom"==e.align?t.start+t.size-r:"left"==e.align||"top"==e.align?t.start:null;const n=ls(e.offset??"0pt");return null==n?null:t.start+4*n/3}const ds=e=>Number.parseFloat(e)||0;function us(e,t,r){const n=e.ownerDocument?.defaultView,a=e.closest("p"),s=e.closest("[data-docx-comment-story]")??e.closest(`section.${r}`);if(!(n&&a&&s&&e.isConnected))return;if(a.closest("foreignObject"))return;const o=n.getComputedStyle(a);if("rtl"==o.direction||o.writingMode&&"horizontal-tb"!=o.writingMode)return;const i=n.getComputedStyle(s),l=s.getBoundingClientRect(),c=ds(i.width)+("border-box"==i.boxSizing?0:ds(i.paddingLeft)+ds(i.paddingRight)+ds(i.borderLeftWidth)+ds(i.borderRightWidth)),h=c>0?l.width/c:0;if(!(h>0&&Number.isFinite(h)))return;const d=(e,t=!1)=>{const r=e.getBoundingClientRect(),a=n.getComputedStyle(e),s=t?ds(a.borderLeftWidth)+ds(a.paddingLeft):0,o=t?ds(a.borderTopWidth)+ds(a.paddingTop):0,i=t?ds(a.borderRightWidth)+ds(a.paddingRight):0,l=t?ds(a.borderBottomWidth)+ds(a.paddingBottom):0;return{x:{start:r.left/h+s,size:r.width/h-s-i},y:{start:r.top/h+o,size:r.height/h-o-l}}},u=d(s),m=d(s,!0),p=d(a);if(p.x.size<=0||p.y.size<=0)return;const f=a.closest("article, header, footer");if(!f)return;const g=d(f,!0),b=n.getComputedStyle(f),y=e.previousElementSibling,x="true"==y?.dataset.docxAnchorMarker?d(y):null,w=y?.querySelector?.('[data-docx-anchor-line="top"]'),v=y?.querySelector?.('[data-docx-anchor-line="bottom"]'),k=w?d(w).y.start:null,C=v?d(v).y.start:null,S=null!=k&&null!=C&&C>k?{start:k,size:C-k}:null,N={...g.x},A=ds(b.columnCount),P=ds(b.columnWidth);if(A>1||P>0){const e="normal"==b.columnGap?ds(b.fontSize):ds(b.columnGap),t=P>0?Math.max(1,Math.floor((N.size+e)/(P+e))):A,r=A>0?Math.min(A,t):t,n=(N.size+e)/r;if(!(n>0))return;const a=x?.x.start??p.x.start-ds(o.marginLeft),s=Math.max(0,Math.min(r-1,Math.floor((a-N.start+.1)/n)));N.start+=s*n,N.size=n-e}const M=!1!==t.layoutInCell?a.closest("td, th"):null,$=M?d(M,!0):null,T=(e,t)=>$&&["page","margin","column","cell"].includes(t)?$[e]:"page"==t?u[e]:"margin"==t?m[e]:"column"==t?"x"==e?N:g.y:"paragraph"==t?p[e]:"character"==t?x?.[e]:"line"==t?"y"==e?S:x?.x:"cell"==t&&M?d(M,!0)[e]:null,F=n.getComputedStyle(e),L={x:ds(F.width),y:ds(F.height)},R={x:p.x.start+ds(o.borderLeftWidth),y:p.y.start+ds(o.borderTopWidth)};for(const[r,n]of[["x",t.horizontal],["y",t.vertical]]){const t=hs(n,T(r,n.relative),L[r]),a=ls(n.offset??"0pt");if(null==t||null==a)continue;const s=t-R[r]-4*a/3;e.style.setProperty(`--docx-anchor-origin-${r}`,`${(Math.abs(s)<5e-5?0:s).toFixed(4)}px`)}}const ms=new WeakMap,ps=e=>Number.parseFloat(e)||0;function fs(e,t=()=>!0){const r=e.ownerDocument.defaultView;if(!r)return;const n=e.getBoundingClientRect(),a=r.getComputedStyle(e),s=ps(a.width)+("border-box"===a.boxSizing?0:ps(a.paddingLeft)+ps(a.paddingRight)+ps(a.borderLeftWidth)+ps(a.borderRightWidth)),o=s?n.width/s:0;if(Number.isFinite(o)&&!(o<=0))for(const n of Array.from(e.querySelectorAll('[data-docx-anchor-horizontal="column"], [data-docx-anchor-horizontal="margin"]'))){if(null!=n.dataset.docxAnchorId||!t(n))continue;const a=n.closest('[data-docx-anchor-context="paragraph"]');if(!a||n.offsetParent!==a||"absolute"!==r.getComputedStyle(n).position||!n.style.left)continue;if(a.closest("td, th"))continue;const s="margin"===n.dataset.docxAnchorHorizontal?e:a.closest("article, header, footer");if(!s||!e.contains(s)&&s!==e)continue;const i=r.getComputedStyle(s);let l=s.getBoundingClientRect().left+(ps(i.borderLeftWidth)+ps(i.paddingLeft))*o;const c=r.getComputedStyle(a),h=a.getBoundingClientRect();if(s!==e){const e=ps(i.columnCount),t=ps(i.columnWidth);if(e>1||t>0){const r="normal"===i.columnGap?ps(i.fontSize):ps(i.columnGap),n=s.clientWidth-ps(i.paddingLeft)-ps(i.paddingRight),a=(n+r)/(e>0?e:Math.max(1,Math.floor((n+r)/(t+r))));if(a>0){const e=(h.left-l)/o-ps(c.marginLeft);l+=Math.round(e/a)*a*o}}}const d=(l-(h.left+ps(c.borderLeftWidth)*o))/o;if(!Number.isFinite(d))continue;const u=ms.get(n)??n.style.left;ms.set(n,u),n.style.left=Math.abs(d)<.01?u:`calc(${u} + ${d.toFixed(4)}px)`}}const gs=new WeakMap,bs=/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(?:px|pt|pc|in|cm|mm)?$/i,ys=e=>""!==e&&"none"!==e&&"normal"!==e;function xs(e,t){for(let r=e.parentElement;r;r=r.parentElement){const e=t.getComputedStyle(r);if(e.position&&"static"!==e.position||ys(e.transform)||ys(e.perspective)||ys(e.filter)||/(?:layout|paint|strict|content)/.test(e.contain)||/(?:transform|perspective|filter)/.test(e.willChange))return r}return null}function ws(e,t=()=>!0){const r=e.ownerDocument.defaultView;if(!r)return 0;const n=r.getComputedStyle(e),a=ps(n.width)+("border-box"===n.boxSizing?0:ps(n.paddingLeft)+ps(n.paddingRight)+ps(n.borderLeftWidth)+ps(n.borderRightWidth)),s=a>0?e.getBoundingClientRect().width/a:0;if(!Number.isFinite(s)||s<=0)return 0;let o=0;for(const n of Array.from(e.querySelectorAll('svg[data-docx-float="true"]'))){if(null!=n.dataset.docxAnchorId||!t(n))continue;if("http://www.w3.org/2000/svg"!==n.namespaceURI||n.ownerSVGElement||"absolute"!==r.getComputedStyle(n).position)continue;const a=!("text"!==n.dataset.docxAnchorHorizontal||!n.style.left&&!n.style.marginLeft||n.style.right&&"auto"!==n.style.right),i=!("text"!==n.dataset.docxAnchorVertical||!n.style.top&&!n.style.marginTop||n.style.bottom&&"auto"!==n.style.bottom);if(!a&&!i)continue;const l=n.closest("p");if(!l||l.closest("td, th, svg, [data-docx-shape-textbox]"))continue;const c=l.closest("article, header, footer"),h=xs(n,r);if(!c||!e.contains(c)||!h||h!==l&&h!==c&&h!==e)continue;const d=r.getComputedStyle(h),u=h.getBoundingClientRect(),m=r.getComputedStyle(l);if("rtl"===m.direction||m.writingMode&&"horizontal-tb"!==m.writingMode)continue;const p=gs.get(n)??{left:n.style.left,top:n.style.top},f=e=>!e||"auto"===e||bs.test(e);if(a&&(!f(p.left)||!f(n.style.marginLeft))||i&&(!f(p.top)||!f(n.style.marginTop)))continue;let g=p.left;if(a){const e=r.getComputedStyle(c);let t=c.getBoundingClientRect().left+(ps(e.borderLeftWidth)+ps(e.paddingLeft))*s;const n=l.getBoundingClientRect(),a=ps(e.columnCount),o=ps(e.columnWidth);if(a>1||o>0){const r="normal"===e.columnGap?ps(e.fontSize):ps(e.columnGap),i=c.clientWidth-ps(e.paddingLeft)-ps(e.paddingRight),l=(i+r)/(a>0?a:Math.max(1,Math.floor((i+r)/(o+r))));if(!(l>0))continue;const h=(n.left-t)/s-ps(m.marginLeft);t+=Math.round(h/l)*l*s}const i=(t-u.left)/s-ps(d.borderLeftWidth);if(!Number.isFinite(i))continue;const h=p.left&&"auto"!==p.left?p.left:"0px";g=Math.abs(i)<.01?h:`calc(${h} + ${i.toFixed(4)}px)`}if(gs.set(n,p),a&&(n.style.left=g),i){const e=(l.getBoundingClientRect().top-u.top)/s+ps(m.borderTopWidth)-ps(d.borderTopWidth),t=p.top&&"auto"!==p.top?p.top:"0px";Number.isFinite(e)&&(n.style.top=Math.abs(e)<.01?t:`calc(${t} + ${e.toFixed(4)}px)`)}o++}return o}const vs=e=>Number.parseFloat(e)||0;function ks(e,t,r){for(const n of Array.from(e.querySelectorAll("[data-docx-vml-text-viewport]"))){if(!r(n))continue;const e=n.ownerSVGElement;if(!e||"true"!==e.dataset.docxVml)continue;const a=e.getScreenCTM?.();if(!a)continue;const s=Math.hypot(a.a,a.b)/t,o=Math.hypot(a.c,a.d)/t,i=n.dataset.docxVmlTextViewport.split(" ").map(Number);if([s,o].every(e=>Number.isFinite(e)&&e>0)&&4===i.length&&i.every(Number.isFinite)&&!(Math.abs(a.a*a.c+a.b*a.d)>1e-5*t*t*s*o)){for(const[e,t]of["x","y","width","height"].entries())n.setAttribute(t,""+i[e]*(e%2?o:s));n.setAttribute("transform",`scale(${1/s} ${1/o})`)}}}function Cs(e){const t=/^([+-]?(?:\d+(?:\.\d*)?|\.\d+))(pt|px|in|cm|mm|pc)?$/i.exec(e?.trim()||"");if(!t)return null;const r=Number(t[1])*({pt:4/3,px:1,in:96,cm:96/2.54,mm:96/25.4,pc:16}[t[2]?.toLowerCase()||"px"]??1);return Number.isFinite(r)?r:null}function Ss(e){return vs(e.width)+("border-box"===e.boxSizing?0:vs(e.paddingLeft)+vs(e.paddingRight)+vs(e.borderLeftWidth)+vs(e.borderRightWidth))}function Ns(e,t){const r=t.ownerDocument.createTreeWalker(t,1);r.currentNode=e;for(let e=r.nextNode();e;e=r.nextNode())if(e.closest("p")!==t||e.matches("br, [data-docx-tab], [data-docx-float], [data-docx-frame-anchor]"))return e;return null}function As(e,t=()=>!0){const r=e.ownerDocument.defaultView;if(!r)return 0;const n=new Map;for(const r of Array.from(e.querySelectorAll('[data-docx-tab="true"][data-docx-tab-pos]'))){if(null!=r.dataset.docxTabId||!t(r))continue;const a=r.closest("p");if(!a||!e.contains(a)||r.closest('[data-docx-has-tab-leader="true"], [data-docx-toc-entry="true"]')||r.dataset.docxTabLeader&&"none"!==r.dataset.docxTabLeader||!["left","right","center"].includes(r.dataset.docxTabAlign||"left")||null===Cs(r.dataset.docxTabPos))continue;const s=n.get(a)||[];s.push(r),n.set(a,s)}let a=0;for(const[e,t]of n){const n=r.getComputedStyle(e);if("rtl"===n.direction||n.writingMode&&"horizontal-tb"!==n.writingMode||"center"===n.textAlign||"right"===n.textAlign||"end"===n.textAlign)continue;const s=e.getBoundingClientRect(),o=Ss(n),i=o>0?s.width/o:0;if(!Number.isFinite(i)||i<=0||s.width<=0)continue;const l=s.left+(vs(n.borderLeftWidth)+vs(n.paddingLeft))*i;for(const e of t)e.style.width="0px",e.style.minWidth="0px";for(const r of t){const t=Cs(r.dataset.docxTabPos),n=r.getBoundingClientRect(),s=e.ownerDocument.createRange();s.setStartAfter(r);const o=Ns(r,e);o?s.setEndBefore(o):s.setEnd(e,e.childNodes.length);const c=Array.from(s.getClientRects()).filter(e=>e.width>0&&e.bottom>n.top+.1&&e.top<n.bottom-.1);let h=Number.POSITIVE_INFINITY,d=Number.NEGATIVE_INFINITY;for(const e of c)h=Math.min(h,e.left),d=Math.max(d,e.right);const u=c.length?Math.max(0,d-h)/i:0,m="right"===r.dataset.docxTabAlign?1:"center"===r.dataset.docxTabAlign?.5:0,p=Math.max(0,t-(n.left-l)/i-u*m);Number.isFinite(p)&&(r.style.width=`${p.toFixed(4)}px`,a++)}}return a}const Ps=Math.pow(6/29,3);function Ms(e){return e>.04045?Math.pow((e+.055)/1.055,2.4):e/12.92}function $s(e){const t=e>.0031308?1.055*Math.pow(e,1/2.4)-.055:12.92*e;return Math.min(Math.max(0,t),1)}const Ts={black:[0,0,0],blue:[0,0,255],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgray:[169,169,169],darkgrey:[169,169,169],darkgreen:[0,100,0],darkmagenta:[139,0,139],darkred:[139,0,0],darkyellow:[128,128,0],green:[0,128,0],gray:[128,128,128],grey:[128,128,128],lightgray:[211,211,211],lightgrey:[211,211,211],magenta:[255,0,255],red:[255,0,0],white:[255,255,255],yellow:[255,255,0]};function Fs(e){return Math.min(255,Math.max(0,e))}const Ls=new Map,Rs=/^var\(\s*(--[\w-]+)\s*,\s*([\s\S]+)\)$/i;function Es(e,t=21.247){if(!e)return e;const r=e.trim(),n=r.toLowerCase();if(n.startsWith("var(")){const n=Rs.exec(r);if(!n)return e;const a=n[2].trim(),s=Es(a,t);return s===a?e:`var(${n[1]}, ${s})`}if(function(e){return""===e||"none"===e||"transparent"===e||"inherit"===e||"initial"===e||"unset"===e||"currentcolor"===e||e.startsWith("var(")||e.startsWith("color-mix(")||e.startsWith("url(")||e.startsWith("linear-gradient(")||e.startsWith("radial-gradient(")||e.startsWith("conic-gradient(")}(n))return e;const a=`${t}|${r}`,s=Ls.get(a);if(void 0!==s)return s;const o=function(e){const t=e.trim();if(t.startsWith("#")){const e=t.slice(1);if(3===e.length||4===e.length){const t=parseInt(e[0]+e[0],16),r=parseInt(e[1]+e[1],16),n=parseInt(e[2]+e[2],16),a=4===e.length?parseInt(e[3]+e[3],16)/255:1;return Number.isNaN(t)||Number.isNaN(r)||Number.isNaN(n)?null:{r:t,g:r,b:n,a:a}}if(6===e.length||8===e.length){const t=parseInt(e.slice(0,2),16),r=parseInt(e.slice(2,4),16),n=parseInt(e.slice(4,6),16),a=8===e.length?parseInt(e.slice(6,8),16)/255:1;return Number.isNaN(t)||Number.isNaN(r)||Number.isNaN(n)?null:{r:t,g:r,b:n,a:a}}return null}const r=/^rgba?\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)\s*(?:,\s*([\d.]+)\s*)?\)$/i.exec(t);if(r)return{r:Fs(parseFloat(r[1])),g:Fs(parseFloat(r[2])),b:Fs(parseFloat(r[3])),a:void 0!==r[4]?parseFloat(r[4]):1};const n=Ts[t.toLowerCase()];return n?{r:n[0],g:n[1],b:n[2],a:1}:null}(r);if(!o||0===o.a)return Ls.set(a,e),e;const[i,l,c]=function(e,t,r){const n=Ms(e/255),a=Ms(t/255),s=Ms(r/255);let o=100*(.4124564*n+.3575761*a+.1804375*s)/95.047,i=100*(.2126729*n+.7151522*a+.072175*s)/100,l=100*(.0193339*n+.119192*a+.9503041*s)/108.883;const c=e=>e>Ps?Math.cbrt(e):7.787*e+16/116;return o=c(o),i=c(i),l=c(l),[116*i-16,500*(o-i),200*(i-l)]}(o.r,o.g,o.b),h=(100-t)/100*(100-i)+t,[d,u,m]=function(e,t,r){const n=(e+16)/116,a=n-r/200,s=e=>e*e*e>Ps?e*e*e:(e-16/116)/7.787,o=95.047*s(n+t/500)/100,i=100*s(n)/100,l=108.883*s(a)/100,c=$s(3.2404542*o+-1.5371385*i+-.4985314*l),h=$s(-.969266*o+1.8760108*i+.041556*l),d=$s(.0556434*o+-.2040259*i+1.0572252*l);return[Math.round(255*c),Math.round(255*h),Math.round(255*d)]}(h,l,c),p=o.a>=1?`rgb(${d}, ${u}, ${m})`:`rgba(${d}, ${u}, ${m}, ${Math.round(1e3*o.a)/1e3})`;return Ls.set(a,p),p}const Bs=new Set(["color","background-color","border-color","border-top-color","border-right-color","border-bottom-color","border-left-color","outline-color","text-decoration-color","caret-color","column-rule-color","fill","stroke"]),Ds=new Set(["border","border-top","border-right","border-bottom","border-left","outline","column-rule"]),Is=/(var\([^)]*\)|rgba?\([^)]*\)|#[0-9a-fA-F]{3,8}|[a-zA-Z]+)\s*$/;function Os(e,t){return e?e.replace(Is,e=>Es(e,t)):e}var Hs;function zs(e){if(w(e))return document.createTextNode(e);if(e instanceof Node)return e;const{ns:t,tagName:r,className:n,style:a,children:s,...o}=e;if("#fragment"===r){const e=document.createDocumentFragment();return s?.forEach(t=>e.appendChild(zs(t))),e}if("#comment"===r)return document.createComment(s[0]);const i=t?document.createElementNS(t,r):document.createElement(r);if(n&&i.setAttribute("class",n),a)if(w(a))i.setAttribute("style",a);else for(const[e,t]of Object.entries(a))null!=t&&(e.startsWith("--")||e.includes("-")?i.style.setProperty(e,t):i.style[e]=t);if(o)for(const[e,t]of Object.entries(o))void 0!==t&&(i[e]=t);return s&&s.forEach(e=>i.appendChild(zs(e))),i}function Ws(...e){return e.filter(Boolean).join(" ")}function Vs(e){const t=e?.reviewMode;return"final"===t||"original"===t||"simple"===t||"all"===t?t:e?.renderChanges||"auto"===t?"all":"final"}function Us(e){return null!=e?.reviewMode||!0===e?.renderChanges}function js(e){return"original"===e}function qs(e,t){if(!e||"final"!==(r=t)&&"original"!==r&&"simple"!==r&&"all"!==r)return!1;var r;const n=Array.from(e.querySelectorAll("[data-docx-review-enabled='true']"));if("true"===e.dataset?.docxReviewEnabled&&n.unshift(e),0===n.length)return!1;for(const e of new Set(n))e.dataset.docxReviewMode=t;return!0}function Gs(e){const t=[],r=e=>{if(!e)return;if(e.type===ze.Paragraph)return void t.push(...function(e){const t=[];let r=null;const n=()=>{if(!r)return;const e=Zs(r.text);(e||r.structural)&&t.push(Ks(r.revision,e||"段落标记",r.structural,r.ids)),r=null},a=(e,t,a=!1)=>{const s=e.id;r&&Js(r.revision)===Js(e)?(null==s||r.ids.includes(s)||r.ids.push(s),r.structural||(r.structural=a)):(n(),r={revision:e,ids:null==s?[]:[s],text:"",structural:a}),r.text+=t},s=e=>{const r=e.props?.formatRevisions??[];if(r.length){n();for(const e of r)t.push(Ys(e))}};s(e);for(const t of e.props?.paragraphMarkRevisions??[]){const e=Xs(t,"delete"===t?.kind?ze.Deleted:ze.Inserted);e&&a(e,"","delete"===e.kind||"move-from"===e.kind)}const o=(e,t)=>{if(!e)return;s(e);const r=Xs(e.props?.revision,e.type),i=r?[...t,r]:t,l=function(e){return e.type===ze.Text||e.type===ze.DeletedText?e.text??"":e.type===ze.Tab||e.type===ze.PositionalTab?"\t":e.type===ze.Break?"\n":e.type===ze.NoBreakHyphen?"‑":null}(e);if(null!=l){const e=i[i.length-1];return void(e?a(e,l):l.length&&n())}for(const t of e.children??[])o(t,i)};for(const t of e.children??[])o(t,[]);return n(),t}(e));const n=Xs(e.props?.revision,e.type);if(n&&e.type!==ze.Inserted&&e.type!==ze.Deleted){const r=Zs(so(e));t.push(Ks(n,r||function(e){switch(e){case ze.Row:return"表格行";case ze.Cell:return"表格单元格";case ze.Table:return"表格";case ze.Paragraph:return"段落标记";default:return"结构修订"}}(e.type),!0))}for(const r of e.props?.formatRevisions??[])t.push(Ys(r));for(const t of e.children??[])r(t)};r(e?.documentPart?.body??e);for(const r of e?.commentsPart?.comments??[]){const e=null==r.id?void 0:String(r.id);t.push({id:e,ids:null==e?[]:[e],kind:"comment",author:r.author||void 0,date:r.date||void 0,text:Zs(so(r)),presentation:"balloon"})}return t}function _s(e,t){if("auto"===t){const t=Gs(e).length;return{enabled:t>0,mode:t>0?"all":"final",automatic:!0,changeCount:t}}return{enabled:null!=t,mode:Vs({reviewMode:t??void 0}),automatic:!1,changeCount:0}}function Xs(e,t){if(!e)return null;const r=function(e,t){return"insert"===e||"delete"===e||"move-from"===e||"move-to"===e?e:t===ze.Deleted?"delete":"insert"}(e.kind,t);return"insert"!==r&&"delete"!==r&&"move-from"!==r&&"move-to"!==r?null:{id:null==e.id?void 0:String(e.id),kind:r,author:e.author||void 0,date:e.date||void 0}}function Ks(e,t,r=!1,n){const a=no(n??(null==e.id?[]:[e.id]));return{id:a[0],ids:a,kind:e.kind,author:e.author,date:e.date,text:t||(r?"结构修订":""),presentation:"insert"===e.kind||"move-to"===e.kind?"inline":"balloon"}}function Ys(e){const t=null==e?.id?void 0:String(e.id),r=(n=e?.formatChanges,Array.isArray(n)?n.filter(e=>e&&e.property).map(e=>({property:String(e.property),before:null==e.before?void 0:String(e.before),after:null==e.after?void 0:String(e.after)})):[]);var n;return{id:t,ids:null==t?[]:[t],kind:"format",author:e?.author||void 0,date:e?.date||void 0,text:Qs(r,e?.kind),presentation:"balloon",formatChanges:r}}function Js(e){return[e.kind,e.author??"",e.date??""].join("\0")}function Zs(e){return String(e??"").replace(/[\u2060\u200b]/g,"").replace(/[ \t]+\n/g,"\n").trim()}function Qs(e,t){if(!e.length)return ro(t);return no(e.map(e=>function(e){const t=function(e){if(null==e)return;const t=/(?:^|\|)val=([^|]+)/.exec(e);return t?.[1]??e}(e.after);switch(e.property){case"u":return null==t||"none"===t||"0"===t||"false"===t?"无下划线":function(e){switch(e){case"single":return"单下划线";case"double":return"双下划线";case"words":return"仅字词下划线";case"wave":case"wavyDouble":case"wavyHeavy":return"波浪下划线";default:return"下划线"}}(t);case"b":return eo(t)?"加粗":"取消加粗";case"i":return eo(t)?"倾斜":"取消倾斜";case"strike":return eo(t)?"删除线":"取消删除线";case"dstrike":return eo(t)?"双删除线":"取消双删除线";case"color":return t?`字体颜色 ${to(t)}`:"自动字体颜色";case"highlight":return t&&"none"!==t?`突出显示 ${t}`:"无突出显示";case"sz":case"szCs":return t&&!Number.isNaN(Number(t))?`字号 ${Number(t)/2} 磅`:"字号已更改";case"rFonts":return t?`字体 ${function(e){const t=e.split("|").map(e=>e.split("=")).filter(e=>2===e.length),r=t.find(([e])=>"eastAsia"===e)??t.find(([e])=>"ascii"===e)??t[0];return r?.[1]??e}(t)}`:"使用默认字体";case"jc":return`对齐方式 ${function(e){switch(e){case"center":return"居中";case"right":case"end":return"右对齐";case"both":case"distribute":return"两端对齐";default:return"左对齐"}}(t)}`;case"spacing":return"段落间距已更改";case"ind":return"段落缩进已更改";case"shd":return t?`底纹 ${to(t)}`:"无底纹";case"vertAlign":return"superscript"===t?"上标":"subscript"===t?"下标":"基线对齐";default:return function(e,t){const r={caps:"全部大写",smallCaps:"小型大写字母",vanish:"隐藏文字",keepNext:"与下段同页",keepLines:"段中不分页",pageBreakBefore:"段前分页",tblBorders:"表格边框",tcBorders:"单元格边框",tblW:"表格宽度",tcW:"单元格宽度"}[e]??"格式";return t&&!["true","1"].includes(t)?`${r} ${t}`:r}(e.property,t)}}(e)).filter(Boolean)).join(";")||ro(t)}function eo(e){return null==e||""===e||"1"===e||"true"===e||"on"===e}function to(e){const t=/(?:val|fill)=([^|]+)/.exec(e);return t?.[1]??e}function ro(e){switch(e){case"paragraph-format":return"段落格式已更改";case"table-format":return"表格格式已更改";case"row-format":return"表格行格式已更改";case"cell-format":return"单元格格式已更改";default:return"字符格式已更改"}}function no(e){return[...new Set(e.filter(e=>null!=e&&""!==e))]}function ao(e){const t=["#c2410c","#2563eb","#7c3aed","#0f766e","#be123c","#4d7c0f","#a21caf","#0369a1"],r=String(e||"Unknown");let n=2166136261;for(let e=0;e<r.length;e++)n^=r.charCodeAt(e),n=Math.imul(n,16777619);return t[(n>>>0)%t.length]}function so(e){return e.type===ze.Text||e.type===ze.DeletedText?e.text??"":e.type===ze.Tab||e.type===ze.PositionalTab?"\t":e.type===ze.Break?"\n":(e.children??[]).map(so).join("").trim()}!function(e){e.html="http://www.w3.org/1999/xhtml",e.svg="http://www.w3.org/2000/svg",e.mathML="http://www.w3.org/1998/Math/MathML"}(Hs||(Hs={}));const oo=/[\u0000-\u0020\u007f-\u009f]+/g,io=/^[a-z][a-z0-9+.-]*:/i,lo=/^(?:https?|mailto|tel):/i;const co=["http://schemas.openxmlformats.org/drawingml/2006/chart","http://purl.oclc.org/ooxml/drawingml/chart"],ho=["http://schemas.openxmlformats.org/drawingml/2006/main","http://purl.oclc.org/ooxml/drawingml/main"],uo=new WeakMap;async function mo(e,t=o(e)){s(e,t);const r=new Set;for(const t of[e,...Array.from(e.querySelectorAll("[data-docx-layout-root]"))]){const e=uo.get(t);e&&r.add(e)}for(const n of r)s(e,t),await n.prepareLayout(e,t);s(e,t);for(const r of[e,...Array.from(e.querySelectorAll("[data-docx-layout-root]"))]){const e=uo.get(r);e?.shouldRunDynamicPagination()&&r.classList.contains(`${e.className}-wrapper`)&&e.scheduleDynamicPagination(r,t)}}class po{constructor(){this.className="docx",this.styleMap={},this.currentPart=null,this.currentSectionProps=null,this.currentPageNumber=1,this.currentSectionNumber=1,this.currentSectionPageNumber=1,this.totalPages=1,this.sectionPageCount=1,this.tableVerticalMerges=[],this.currentVerticalMerge=null,this.tableCellPositions=[],this.currentCellPosition=null,this.currentTableRow=null,this.repeatedTableHeaderRows=new WeakSet,this.footnoteMap={},this.endnoteMap={},this.currentEndnoteIds=[],this.noteNumbering=new he,this.renderedNoteIds=new Set,this.noteSectionIds=new Map,this.notePageIndex=1,this.dynamicNoteState=new WeakMap,this.noteContinuationOrigins=new WeakMap,this.headerFooterModels=new Map,this.pageHeaderFooterState=new WeakMap,this.currentTabs=[],this.anchorLayouts=new Map,this.currentParagraph=null,this.currentParagraphTabIndex=0,this.currentParagraphTabCount=0,this.commentMap={},this.commentLayer=null,this.commentPresentations=new Map,this.renderingComment=!1,this.hyperlinkDepth=0,this.layoutGenerations=new Map,this.bookmarkTextMap={},this.bookmarkIdToName={},this.tocEntries=[],this.fieldSeqCounters={},this.fieldSetValues={},this.headingIndex=0,this.tasks=[],this.postRenderTasks=[],this.h=zs,this.darkModeVarNames=new Map,this.darkModePrintReset={}}async render(e,t){this.document=e,this.options=t,this.className=t.className,this.rootSelector=t.inWrapper?`.${this.className}-wrapper`:":root",this.h=t.h??zs,this.styleMap=null,this.tasks=[],this.postRenderTasks=[],this.commentLayer=null,this.commentPresentations.clear(),this.renderingComment=!1,this.currentTabs=[],this.currentFootnoteIds=[],this.currentEndnoteIds=[],this.footnoteMap={},this.endnoteMap={},this.noteNumbering=new he,this.renderedNoteIds=new Set,this.repeatedTableHeaderRows=new WeakSet,this.noteSectionIds=new Map,this.notePageIndex=1,this.dynamicNoteState=new WeakMap,this.noteContinuationOrigins=new WeakMap,this.anchorLayouts.clear(),this.headerFooterModels.clear(),this.pageHeaderFooterState=new WeakMap,this.fieldSeqCounters={},this.fieldSetValues={},this.headingIndex=0,this.darkModeVarNames=new Map,this.darkModePrintReset={},this.options.renderComments&&globalThis.Highlight&&(this.commentHighlight=new Highlight);const r=[...this.renderDefaultStyle()];if(e.themePart&&r.push(...this.renderTheme(e.themePart)),null!=e.stylesPart){const t=this.cloneRenderData(e.stylesPart.styles);this.styleMap=this.processStyles(t),r.push(...this.renderStyles(t))}e.numberingPart&&(this.prodessNumberings(e.numberingPart.domNumberings),r.push(...await this.renderNumbering(e.numberingPart.domNumberings))),e.footnotesPart&&(this.footnoteMap=b(this.cloneRenderData(e.footnotesPart.notes),e=>e.id)),e.endnotesPart&&(this.endnoteMap=b(this.cloneRenderData(e.endnotesPart.notes),e=>e.id)),e.settingsPart&&(this.defaultTabSize=e.settingsPart.settings?.defaultTabStop),!t.ignoreFonts&&e.fontTablePart&&r.push(...await this.renderFontTable(e.fontTablePart));var n=await this.renderSections(this.cloneRenderData(e.documentPart.body));if(this.options.inWrapper){const e=this.renderWrapper(n);this.commentLayer&&e.appendChild(this.commentLayer.root),r.push(e),this.shouldRunDynamicPagination()&&this.scheduleDynamicPagination(e)}else r.push(...n),this.commentLayer&&(this.commentLayer.root.style.position="fixed",r.push(this.commentLayer.root));r.push(...this.renderDarkModePrintReset()),this.commentHighlight&&t.renderComments&&CSS.highlights.set(`${this.className}-comments`,this.commentHighlight),await Promise.allSettled(this.tasks),this.postRenderTasks.forEach(e=>e()),this.commentLayer&&uo.set(this.commentLayer.root,this);for(const e of r)["section","div"].includes(e.tagName?.toLowerCase())&&!e.dataset?.docxCommentLayer&&(e.dataset.docxLayoutRoot="true",uo.set(e,this));return r}renderTheme(e){const t={},r=e.theme?.fontScheme,n=this.documentThemeLanguages();r&&(r.majorFont&&(t["--docx-majorHAnsi-font"]=this.themeFontFamily(r.majorFont,"latin",n.latin),t["--docx-majorEastAsia-font"]=this.themeFontFamily(r.majorFont,"eastAsia",n.eastAsia),t["--docx-majorBidi-font"]=this.themeFontFamily(r.majorFont,"complexScript",n.bidi),t["--docx-majorCs-font"]=t["--docx-majorBidi-font"],this.addThemeScriptFontVariables(t,"major",r.majorFont)),r.minorFont&&(t["--docx-minorHAnsi-font"]=this.themeFontFamily(r.minorFont,"latin",n.latin),t["--docx-minorEastAsia-font"]=this.themeFontFamily(r.minorFont,"eastAsia",n.eastAsia),t["--docx-minorBidi-font"]=this.themeFontFamily(r.minorFont,"complexScript",n.bidi),t["--docx-minorCs-font"]=t["--docx-minorBidi-font"],this.addThemeScriptFontVariables(t,"minor",r.minorFont)));const a=e.theme?.colorScheme,s=[];if(a)for(let[e,r]of Object.entries(a.colors)){const n=`--docx-${e}-color`;t[n]=`#${r}`,s.push(n)}let o=this.styleToString(`.${this.className}`,t);if(this.options.darkMode&&s.length){const e=s.map(e=>` ${e}: ${t[e]};\r\n`).join("");o+=`@media print {\r\n.${this.className} {\r\n${e}}\r\n}\r\n`}return[this.h({tagName:"#comment",children:["docxjs document theme values"]}),this.h({tagName:"style",children:[o]})]}documentThemeLanguages(){const e={latin:"",eastAsia:"",bidi:""},t=(this.document.stylesPart?.styles??[]).filter(e=>null==e.id||e.isDefault&&"span"==e.target).flatMap(e=>e.styles??[]).find(e=>"span"==e.target),r=t?.values??{};return e.latin=r.$lang??"",e.eastAsia=r["$lang-eastAsia"]??e.latin,e.bidi=r["$lang-bidi"]??e.latin,e}addThemeScriptFontVariables(e,t,r){const n=new Set(["Hans","Hant","Jpan","Hang"]);for(const a of Object.keys(r.scriptTypefaces??{})){const s=n.has(a)?"eastAsia":"complexScript",o=this.themeFontFamily(r,s,"",a);e[`--docx-${t}EastAsia-font-${a}`]=o,e[`--docx-${t}Bidi-font-${a}`]=o,e[`--docx-${t}Cs-font-${a}`]=o}}themeFontFamily(e,t,r,n=""){const a="latin"==t?e.latinTypeface:"eastAsia"==t?e.eaTypeface:e.csTypeface,s=n||Je(r),o=s?e.scriptTypefaces?.[s]:"",i=a?.trim()||o?.trim()||e.latinTypeface?.trim();if(!i)return"eastAsia"==t?"sans-serif":"serif";const l=[m(i)];return"eastAsia"==t&&l.push(...p(i,s).slice(1)),[...new Set(l)].join(", ")}async renderFontTable(e){const t=[];for(let r of e.fonts)for(let e of r.embedFontRefs)try{const n=await this.document.loadFont(e.id,e.key),a={"font-family":m(r.name),src:`url(${n})`};"bold"!=e.type&&"boldItalic"!=e.type||(a["font-weight"]="bold"),"italic"!=e.type&&"boldItalic"!=e.type||(a["font-style"]="italic"),t.push(this.h({tagName:"#comment",children:[`docxjs ${r.name} font`]})),t.push(this.h({tagName:"style",children:[this.styleToString("@font-face",a)]}))}catch(t){this.options.debug&&console.warn(`Can't load font with id ${e.id} and key ${e.key}`)}return t}processStyleName(e){return e?`${this.className}_${function(e){return e?.replace(/[ .]+/g,"-").replace(/[&]+/g,"and").toLowerCase()}(e)}`:this.className}processStyles(e){const t=b(e.filter(e=>null!=e.id),e=>e.id);for(const n of e.filter(e=>e.basedOn)){var r=t[n.basedOn];if(r){n.paragraphProps=v({},r.paragraphProps,n.paragraphProps),n.runProps=v({},r.runProps,n.runProps);for(const e of r.styles){const t=n.styles.find(t=>t.target==e.target);t?this.copyStyleProperties(e.values,t.values):n.styles.push({...e,values:{...e.values}})}}else this.options.debug&&console.warn(`Can't find base style ${n.basedOn}`)}for(let t of e)t.cssName=this.processStyleName(t.id);return t}prodessNumberings(e){for(let t of e.filter(e=>e.pStyleName)){const e=this.findStyle(t.pStyleName);e?.paragraphProps?.numbering&&(e.paragraphProps.numbering.level=t.level)}}processElement(e){if(e&&e.children)for(var t of e.children)t.parent=e,t.type==ze.Table?this.processTable(t):this.processElement(t)}processTable(e){const t=e.children??[];let r=e.columns?.length??0;for(const e of t){let t=e.gridBefore??0;for(const r of e.children??[])t+=r.span??1;r=Math.max(r,t+(e.gridAfter??0))}const n=Math.max(e.rowBandSize??1,1),a=Math.max(e.colBandSize??1,1);t.forEach((s,o)=>{0==o&&this.appendClassName(s,"first-row"),o==t.length-1&&this.appendClassName(s,"last-row"),this.appendClassName(s,Math.floor(o/n)%2==0?"odd-row":"even-row");let i=s.gridBefore??0;for(const t of s.children??[]){t.cssStyle=this.copyStyleProperties(e.cellStyle,t.cssStyle,["border-left","border-right","border-top","border-bottom","padding-left","padding-right","padding-top","padding-bottom"]);const n=t.span??1,s=i+n-1;0==i&&this.appendClassName(t,"first-col"),r>0&&s>=r-1&&this.appendClassName(t,"last-col"),this.appendClassName(t,Math.floor(i/a)%2==0?"odd-col":"even-col"),this.processElement(t),i+=n}})}collectDocumentMetadata(e){this.bookmarkTextMap={},this.bookmarkIdToName={},this.tocEntries=[];const t={},r=e=>{if(e.type!=ze.Deleted||js(Vs(this.options))){switch(e.type){case ze.BookmarkStart:{const r=e;r.id&&r.name&&(this.bookmarkIdToName[r.id]=r.name,t[r.id]=[]);break}case ze.BookmarkEnd:{const r=e,n=this.bookmarkIdToName[r.id];n&&t[r.id]&&(this.bookmarkTextMap[n]=t[r.id].join("").trim(),delete t[r.id]);break}case ze.Text:for(const r of Object.keys(t))t[r].push(e.text??"");break;case ze.DeletedText:if(js(Vs(this.options)))for(const r of Object.keys(t))t[r].push(e.text??"")}for(const t of e.children??[])r(t)}};for(const t of e.children??[])r(t);for(const[e,r]of Object.entries(t)){const t=this.bookmarkIdToName[e];t&&(this.bookmarkTextMap[t]=r.join("").trim())}for(const t of e.children??[])this.collectTocEntries(t)}collectTocEntries(e){if(e.type!=ze.Deleted||js(Vs(this.options))){if(e.type==ze.Paragraph){const t=e,r=this.findStyle(t.styleName),n=this.extractText(t).trim();let a=t.outlineLevel??r?.paragraphProps?.outlineLevel;if(null==a&&t.styleName){const e=/heading(\d+)|(?:^|[-_ ])h(\d+)$/i.exec(t.styleName);e&&(a=parseInt(e[1]??e[2],10)-1)}if(n&&null!=a&&a>=0&&a<9){const e=this.findFirstBookmark(t),r=e?.name&&!e.name.startsWith("_")?e.name:`${this.className}-heading-${++this.headingIndex}`;t.props={...t.props??{},anchorId:r},this.tocEntries.push({level:a+1,text:n,id:r})}}for(const t of e.children??[])this.collectTocEntries(t)}}findFirstBookmark(e){if(e.type==ze.BookmarkStart)return e;for(const t of e.children??[]){const e=this.findFirstBookmark(t);if(e)return e}return null}extractText(e){switch(e.type){case ze.Text:return e.text??"";case ze.DeletedText:return js(Vs(this.options))?e.text??"":"";case ze.Deleted:return js(Vs(this.options))?(e.children??[]).map(e=>this.extractText(e)).join(""):"";case ze.Inserted:return"original"==Vs(this.options)?"":(e.children??[]).map(e=>this.extractText(e)).join("");case ze.Tab:case ze.PositionalTab:return"\t";case ze.NoBreakHyphen:return"‑";case ze.SoftHyphen:return"";case ze.Break:return"\n";case ze.Instruction:case ze.ComplexField:return""}return(e.children??[]).map(e=>this.extractText(e)).join("")}appendClassName(e,t){e.className=[...new Set(Ws(e.className,t).split(/\s+/).filter(Boolean))].join(" ")}copyStyleProperties(e,t,r=null){if(!e)return t;for(var n of(null==t&&(t={}),null==r&&(r=Object.getOwnPropertyNames(e)),r))e.hasOwnProperty(n)&&!t.hasOwnProperty(n)&&(t[n]=e[n]);return t}createPageElement(e,t,r){const n={...r};let a=null,s=null;if(t){if(t.pageMargins&&(n.paddingLeft=this.addSize(t.pageMargins.left,t.pageMargins.gutter),n.paddingRight=t.pageMargins.right,n.paddingTop=t.pageMargins.top,n.paddingBottom=t.pageMargins.bottom),t.pageSize){let e=t.pageSize.width,r=t.pageSize.height;if("landscape"==t.pageSize.orientation){const t=this.parseCssLengthValue(e),n=this.parseCssLengthValue(r);null!=t&&null!=n&&t<n&&([e,r]=[r,e])}a=e,s=r,this.options.ignoreWidth||(n.width=e);(!this.options.ignoreHeight||!this.options.breakPages)&&(n.minHeight=r,!this.options.ignoreHeight&&this.options.breakPages&&this.options.fixedPageHeight&&(n.height=r))}t.pageBorders&&(this.applyPageBorder(n,"top",t.pageBorders.top),this.applyPageBorder(n,"right",t.pageBorders.right),this.applyPageBorder(n,"bottom",t.pageBorders.bottom),this.applyPageBorder(n,"left",t.pageBorders.left))}const o=this.h({tagName:"section",className:e,style:n});return n.paddingLeft&&this.setCssStyle(o,"--docx-page-padding-left",n.paddingLeft),n.paddingTop&&this.setCssStyle(o,"--docx-page-padding-top",n.paddingTop),a&&this.setCssStyle(o,"--docx-page-width",a),s&&this.setCssStyle(o,"--docx-page-height",s),o}addSize(e,t){return e?t&&"0.00pt"!=t&&"0px"!=t?`calc(${e} + ${t})`:e:t}parseCssLengthValue(e){if(!e)return null;const t=/^(-?\d+(?:\.\d+)?)/.exec(e);return t?parseFloat(t[1]):null}applyPageBorder(e,t,r){if(!r)return;const n=this.borderTypeToCss(r.type);e[`border-${t}`]="none"==n?"none":`${r.size??"1px"} ${n} ${this.borderColor(r.color)}`}borderTypeToCss(e){switch(e){case"nil":case"none":return"none";case"double":case"triple":return"double";case"dashed":case"dashSmallGap":return"dashed";case"dotted":case"dotDash":case"dotDotDash":return"dotted"}return"solid"}borderColor(e){return e&&"auto"!=e?/^[0-9a-f]{6}$/i.test(e)?`#${e}`:e:"var(--docx-auto-color, black)"}createSectionContent(e){const t={},r=e.columns?.numberOfColumns??e.columns?.columns?.length,n="linesAndChars"==e.docGrid?.type||"snapToChars"==e.docGrid?.type;return e.docGrid&&(e.docGrid.linePitch&&(t["--docx-doc-grid-line-pitch"]=e.docGrid.linePitch),n&&e.docGrid.charSpace&&(t.letterSpacing=e.docGrid.charSpace)),this.document.settingsPart?.settings?.kinsoku&&(t.lineBreak="strict",t.wordBreak="keep-all"),this.document.settingsPart?.settings?.overflowPunctuation&&(t.hangingPunctuation="allow-end"),this.document.settingsPart?.settings?.topLinePunctuation&&(t["text-spacing-trim"]="space-start"),(this.document.settingsPart?.settings?.autoSpaceDE||this.document.settingsPart?.settings?.autoSpaceDN)&&(t["text-autospace"]=[this.document.settingsPart?.settings?.autoSpaceDE?"ideograph-alpha":null,this.document.settingsPart?.settings?.autoSpaceDN?"ideograph-numeric":null].filter(Boolean).join(" ")),e.columns&&r&&(r>1||e.columns.columns?.length>0)&&(t.columnCount=`${r}`,t.columnGap=e.columns.space,!e.columns.equalWidth&&e.columns.columns?.length>0&&(t.columnWidth=e.columns.columns[0].width,t.columnGap=e.columns.columns[0].space??t.columnGap),e.columns.separator&&(t.columnRule="1px solid black")),this.h({tagName:"article",style:t})}async renderSections(e){const t=[];this.processElement(e),this.collectDocumentMetadata(e);const r=this.splitBySection(this.reviewParagraphs(e.children),e.props);this.resolveSectionHeaderFooterReferences(r);const n=this.groupByPageBreaks(r);if(e.backgroundImage){const t=await this.document.loadDocumentImage(e.backgroundImage.id,this.document.documentPart,this.options.externalResourcePolicy).catch(()=>null);t&&(e={...e,cssStyle:{...e.cssStyle,"background-image":`url(${JSON.stringify(t)})`,"background-repeat":"tile"==e.backgroundImage.type?"repeat":"no-repeat","background-position":"center","background-size":"tile"==e.backgroundImage.type?"auto":"100% 100%"}})}let a=null,s=0,o=0;const i=new Map,l=new Map,c=new Map,h=new Map,d=e=>{if(!c.has(e)){const t=++o;c.set(e,`${this.className}-section-${t}`),h.set(e,t)}};for(const e of n){const t=e[0].sectProps;d(t),i.set(t,(i.get(t)??0)+1)}this.totalPages=n.length;for(let r=0,o=n.length;r<o;r++){this.currentFootnoteIds=[],this.notePageIndex=r+1;let m=n[r][0].sectProps;const p=m;d(m);const f=a!=m;s=f&&null!=m?.pageNumber?.start?m.pageNumber.start:s+1,this.currentPageNumber=s,this.currentSectionNumber=h.get(m)??1,this.currentSectionProps=m,this.currentSectionPageNumber=(l.get(m)??0)+1,this.sectionPageCount=i.get(m)??1,l.set(m,this.currentSectionPageNumber);const g=this.createPageElement(this.className,m,e.cssStyle);g.dataset.docxSection=c.get(m),g.dataset.docxSectionNumber=`${this.currentSectionNumber}`,g.dataset.docxSectionPageNumber=`${this.currentSectionPageNumber}`,g.dataset.docxSectionPageCount=`${this.sectionPageCount}`,g.dataset.docxPageNumber=`${s}`,f&&null!=m?.pageNumber?.start&&(g.dataset.docxPageStart=`${m.pageNumber.start}`),this.options.renderHeaders&&this.renderHeaderFooter(m.headerRefs,m,s,f,g);for(const e of n[r]){this.currentSectionProps=e.sectProps;var u=this.createSectionContent(e.sectProps);e.columnBreak&&(u.style.breakBefore="column"),this.renderElements(e.elements,u),g.appendChild(u),m=e.sectProps}if(this.options.renderFootnotes){const e=this.renderNotes(this.currentFootnoteIds,this.footnoteMap,this.document.footnotesPart,"footnote");e&&g.appendChild(e)}if(this.options.renderEndnotes&&r==o-1){const e=this.renderNotes(this.currentEndnoteIds,this.endnoteMap,this.document.endnotesPart,"endnote");e&&g.appendChild(e)}this.currentSectionProps=m,this.options.renderFooters&&this.renderHeaderFooter(m.footerRefs,m,s,f,g),this.pageHeaderFooterState.set(g,{headerProps:p,footerProps:m,headerId:this.selectHeaderFooterReference(p.headerRefs,p,s,f)?.id,footerId:this.selectHeaderFooterReference(m.footerRefs,m,s,f)?.id}),t.push(g),await this.yieldDuringRender(r+1,o),a=m}return t}resolveSectionHeaderFooterReferences(e){const t=new Map;let r=null;const n=(e,t)=>{const r=new Map((t??[]).map(e=>[e.type,e]));for(const t of e??[])r.set(t.type,t);return Array.from(r.values())};for(const a of e){const e=a.sectProps;let s=t.get(e);s||(s={...e,headerRefs:n(e.headerRefs,r?.headerRefs),footerRefs:n(e.footerRefs,r?.footerRefs)},t.set(e,s),r=s),a.sectProps=s}}selectHeaderFooterReference(e,t,r,n){const a=!!this.document.settingsPart?.settings?.evenAndOddHeaders,s=t.titlePage&&n?"first":a&&r%2==0?"even":"default";return e?.find(e=>e.type==s)}renderHeaderFooter(e,t,r,n,a){const s=this.selectHeaderFooterReference(e,t,r,n);var o=s&&this.document.findPartByRelId(s.id,this.document.documentPart);if(o?.rootElement){this.currentPart=o;let e=this.headerFooterModels.get(o.path);e||(e=this.cloneRenderData(o.rootElement),this.processElement(e),this.headerFooterModels.set(o.path,e));const[r]=this.renderElements([e],a);t?.pageMargins&&(o.rootElement.type===ze.Header?(r.style.marginTop=`calc(${t.pageMargins.header} - ${t.pageMargins.top})`,r.style.minHeight=`calc(${t.pageMargins.top} - ${t.pageMargins.header})`):o.rootElement.type===ze.Footer&&(r.style.marginBottom=`calc(${t.pageMargins.footer} - ${t.pageMargins.bottom})`,r.style.minHeight=`calc(${t.pageMargins.bottom} - ${t.pageMargins.footer})`)),this.currentPart=null}else o&&this.options.debug&&console.warn(`docx-preview: skipping ${o.path} because its parsed root element is missing`)}isPageBreakElement(e){return e.type==ze.Break&&("lastRenderedPageBreak"==e.break?!this.options.ignoreLastRenderedPageBreak:"page"==e.break)}isPageBreakSection(e,t){return!!e&&(!!t&&(e.pageSize?.orientation!=t.pageSize?.orientation||e.pageSize?.width!=t.pageSize?.width||e.pageSize?.height!=t.pageSize?.height))}splitBySection(e,t){this.options.breakPages&&!this.options.ignoreLastRenderedPageBreak&&(e=function(e,t){let r=!1,n=null;const a=new Set,s=()=>{r=!1,n=null};for(const o of e){if(o.type!==ze.Paragraph){s();continue}const e=o;let i=!1;const l=e=>{if(!t(e))switch(e.type){case ze.Break:const t=e.break;"page"===t?(r=!0,n=null,i=!0):"lastRenderedPageBreak"===t?(i=!0,r?(a.add(e),n=e):n&&(a.delete(n),n=null),r=!1):s();break;case ze.BookmarkStart:case ze.BookmarkEnd:break;case ze.Run:case ze.Hyperlink:(e.children??[]).forEach(l);break;case ze.Text:case ze.DeletedText:e.text&&s();break;default:s()}};(e.children??[]).forEach(l),i&&!e.sectionProps||s()}if(!a.size)return e;const o=e=>{if(a.has(e))return null;if(!e.children?.length)return e;let t=!1;const r=[];for(const n of e.children){const e=o(n);t||(t=e!==n),e&&r.push(e)}return!t||0!==r.length||e.type!==ze.Run&&e.type!==ze.Hyperlink?t?{...e,children:r}:e:null};return e.map(o)}(e,e=>this.isHiddenRevisionForPagination(e)));let r={sectProps:null,elements:[],pageBreak:!1,columnBreak:!1,startsAfterExplicitPageBreak:!1},n=[r];const a=(e=!1,t=!1,a=!1)=>{if(0==r.elements.length&&null==r.sectProps)return r.pageBreak||(r.pageBreak=e),void(r.columnBreak||(r.columnBreak=t));r.pageBreak||(r.pageBreak=e),r.columnBreak||(r.columnBreak=t),r={sectProps:null,elements:[],pageBreak:!1,columnBreak:!1,startsAfterExplicitPageBreak:a},n.push(r)};for(let t of e){if(t.type!=ze.Paragraph){if(t.type==ze.Table)for(const e of this.splitTableByPageBreaks(t))e.table.children?.length&&r.elements.push(e.table),e.breakAfter&&a(!0,!1,!0);else r.elements.push(t);continue}const e=t,n=this.findStyle(e.styleName),s=e.pageBreakBefore??n?.paragraphProps?.pageBreakBefore;this.options.breakPages&&s&&r.elements.length>0&&a(!0,!1,!0);const o=this.splitParagraphByPageBreaks(e);for(const e of o){r.elements.push(e.paragraph);const t=e.paragraph.sectionProps;t&&(r.sectProps=t),(e.breakAfter||t)&&(r.endsWithExplicitPageBreak||(r.endsWithExplicitPageBreak=!0===e.explicitPageBreak),a(e.breakAfter||t&&ue(t.type),t&&me(t.type),!0===e.explicitPageBreak))}}if(n=n.filter(e=>e.elements.length>0),0==n.length)return[{sectProps:t,elements:[],pageBreak:!1,columnBreak:!1}];let s=null;for(let e=n.length-1;e>=0;e--)null==n[e].sectProps?n[e].sectProps=s??t:s=n[e].sectProps;return n}hasPageBreakElement(e){return!this.isHiddenRevisionForPagination(e)&&(!!this.isPageBreakElement(e)||(e.children?.some(e=>this.hasPageBreakElement(e))??!1))}splitTableByPageBreaks(e){if(!this.options.breakPages||!e.children?.length)return[{table:e,breakAfter:!1}];if(!e.children.some(e=>this.hasPageBreakElement(e)))return[{table:e,breakAfter:!1}];const t=e.children,r=[];for(const e of t){if(!e.isHeader)break;r.push(e)}const n=[];let a=[];const s=t=>{if(0==a.length&&n.length>0)return;const s=n.length>0;let o=a;if(s&&r.length>0&&!a.some(e=>e.isHeader)){o=[...r.map(e=>{const t={...e};return this.repeatedTableHeaderRows.add(t),t}),...a]}n.push({table:{...e,children:o},breakAfter:t}),a=[]};for(const e of t)a.push(e),this.hasPageBreakElement(e)&&s(!0);return s(!1),n.length>0?n:[{table:e,breakAfter:!1}]}isHiddenRevisionForPagination(e){const t=Vs(this.options),r="all"===t&&"inline"===this.options.reviewPresentation;return e.type===ze.Deleted&&!js(t)&&!r||e.type===ze.Inserted&&!function(e){return"original"!==e}(t)}hasOnlyHiddenRevisionTail(e){let t=!1;const r=e=>this.isHiddenRevisionForPagination(e)?(t=!0,!0):e.type===ze.BookmarkStart||e.type===ze.BookmarkEnd||!!([ze.Run,ze.Hyperlink,ze.Inserted,ze.Deleted].includes(e.type)&&e.children?.length>0)&&e.children.every(r);return e.every(r)&&t}splitElementByPageBreaks(e){if(this.isHiddenRevisionForPagination(e))return[{element:e}];if(this.isPageBreakElement(e))return[{breakAfter:!0,explicitPageBreak:"page"===e.break}];if(!e.children?.length)return[{element:e}];const t=[];let r={...e,children:[]};const n=()=>{r.children.length>0&&t.push({element:r}),r={...e,children:[]}};for(const a of e.children)for(const e of this.splitElementByPageBreaks(a))e.element&&r.children.push(e.element),e.breakAfter&&(n(),t.push({breakAfter:!0,explicitPageBreak:e.explicitPageBreak}));return n(),t.length>0?t:[{element:e}]}splitParagraphByPageBreaks(e){if(!this.options.breakPages||!e.children?.length)return[{paragraph:e,breakAfter:!1}];const t=[];let r={...e,children:[]};const n=(n,a=!1)=>{(r.children.length>0||0==t.length||a)&&t.push({paragraph:r,breakAfter:n,explicitPageBreak:a}),r={...e,sectionProps:null,children:[]}};for(const t of e.children)for(const e of this.splitElementByPageBreaks(t))e.element&&r.children.push(e.element),e.breakAfter&&n(!0,!0===e.explicitPageBreak);t.length>0&&this.hasOnlyHiddenRevisionTail(r.children)?t[t.length-1].paragraph.children.push(...r.children):(r.children.length>0||0==t.length)&&t.push({paragraph:r,breakAfter:!1});const a=t[t.length-1]?.paragraph;for(const r of t)r.paragraph.sectionProps=r.paragraph===a?e.sectionProps:null;if(e.props?.anchorId&&t.length>1){const e=t.find(e=>this.extractText(e.paragraph).trim())??t[0];for(const r of t)r!==e&&(r.paragraph.props={...r.paragraph.props,anchorId:void 0})}return t}styleValuesForTarget(e,t){return e?.styles?.find(e=>e.target==t)?.values}styleValue(e,t,r){return this.styleValuesForTarget(e,t)?.[r]}effectiveParagraphCssValue(e,t,r){return e.cssStyle?.[r]??this.styleValue(t,"p",r)}isInsideTableCell(e){for(let t=e.parent;t;t=t.parent)if(t.type==ze.Cell)return!0;return!1}paragraphUsesDocumentGrid(e,t){const r=this.currentSectionProps?.docGrid?.linePitch;if(!r)return!1;if(this.isInsideTableCell(e)&&!this.document.settingsPart?.settings?.adjustLineHeightInTable)return!1;const n=this.effectiveParagraphCssValue(e,t,"--docx-snap-to-grid");return null==n||!/^(0|false|off)$/i.test(n)}setCssStyle(e,t,r){const n=e.style;"function"==typeof n.setProperty?n.setProperty(t,r):n[t]=r}applyDocumentGridMinimumHeight(e,t,r,n){const a=this.effectiveParagraphCssValue(e,t,"min-height");this.setCssStyle(r,"min-height",a?`max(${a}, ${n})`:n)}applyDocumentGridLinePitch(e,t,r){if(!this.paragraphUsesDocumentGrid(e,t))return;const n=this.currentSectionProps.docGrid.linePitch,a=this.effectiveParagraphCssValue(e,t,"line-height"),s=e.lineSpacing??t?.paragraphProps?.lineSpacing;if(a){if("exact"==s?.lineRule||"exactly"==s?.lineRule)return;const o=/^-?\d+(?:\.\d+)?$/.test(a)?`calc(${a} * 1em)`:a;return this.preserveGridInlineMetrics(r),this.setCssStyle(r,"line-height",`max(${o}, ${n})`),void this.applyDocumentGridMinimumHeight(e,t,r,n)}this.applyDocumentGridMinimumHeight(e,t,r,n)}preserveGridInlineMetrics(e){const t=/^(span|a|sub|sup|b|i|u|s|strike|strong|em)$/,r=e=>{for(const n of Array.from(e.children??[])){if(n.namespaceURI!==Hs.html||!t.test(n.localName)||!n.style)continue;const e=n.style;n.dataset?.docxTextScale&&"block"===e.display?r(n):e.lineHeight||e.display&&"inline"!==e.display||/^(absolute|fixed)$/.test(e.position)||e.cssFloat&&"none"!==e.cssFloat||(e.lineHeight="normal",r(n))}};r(e)}groupByPageBreaks(e){let t=[],r=null;const n=[t];for(let a of e)r&&(r.pageBreak||this.isPageBreakSection(r.sectProps,a.sectProps))&&(t=[],n.push(t)),t.push(a),r=a;const a=n.filter(e=>e.length>0).filter(e=>e[0]?.startsAfterExplicitPageBreak||e.some(e=>e.endsWithExplicitPageBreak||e.elements.some(e=>this.hasPageModelContent(e))));return a.length>0?a:n.filter(e=>e.length>0).slice(0,1)}hasPageModelContent(e){if(!e||this.isHiddenRevisionForPagination(e))return!1;switch(e.type){case ze.Text:case ze.DeletedText:return Boolean(e.text?.trim());case ze.Break:case ze.Symbol:case ze.Drawing:case ze.Image:case ze.Table:case ze.VmlPicture:case ze.VmlElement:case ze.MmlMath:case ze.MmlMathParagraph:case ze.Shape:case ze.Chart:case ze.SmartArt:case ze.Ink:case ze.AltChunk:case ze.FootnoteReference:case ze.EndnoteReference:return!0}return e.children?.some(e=>this.hasPageModelContent(e))??!1}async yieldDuringRender(e,t){const r=this.options.renderPageBatchSize??0;this.options.progress&&this.options.progress({phase:"render",current:e,total:t,message:`Rendered ${e}/${t} logical pages`}),r>0&&e%r==0&&await this.yieldToBrowser()}async yieldToBrowser(){(this.options.renderYieldEveryMs??0)<=0||await new Promise(e=>{const t=globalThis;"function"==typeof t.requestIdleCallback?t.requestIdleCallback(()=>e(),{timeout:Math.max(1,this.options.renderYieldEveryMs??16)}):"function"==typeof t.requestAnimationFrame?t.requestAnimationFrame(()=>e()):setTimeout(e,0)})}renderWrapper(e){const t=this.h({tagName:"div",className:this.className+"-wrapper",children:e});return Us(this.options)&&(t.dataset.docxReviewEnabled="true",t.dataset.docxReviewMode=Vs(this.options),t.dataset.docxReviewPresentation=this.options.reviewPresentation??"balloon"),t}shouldRunDynamicPagination(){return!(!this.options.breakPages||!this.options.fixedPageHeight||this.options.ignoreHeight||"undefined"==typeof document||"function"!=typeof requestAnimationFrame)}scheduleDynamicPagination(e,t=o(e)){e?.isConnected&&t.isCurrent()&&"true"!=e.dataset.docxPaginated&&"true"!=e.dataset.docxPaginating&&"true"!=e.dataset.docxPaginationScheduled&&(e.dataset.docxPaginationScheduled="true",delete e.dataset.docxLayoutError,i(e,this.tasks,t).then(async()=>{await this.yieldToBrowser(),e.isConnected&&t.isCurrent()&&await this.performDynamicPagination(e,t)}).catch(r=>{delete e.dataset.docxPaginating,e.isConnected&&t.isCurrent()&&(e.dataset.docxLayoutError=r?.message??"DOCX layout failed")}).finally(()=>{delete e.dataset.docxPaginationScheduled,e.isConnected||delete e.dataset.docxPaginating}))}async performDynamicPagination(e,t=a(e)){if(!e||"true"==e.dataset.docxPaginated||"true"==e.dataset.docxPaginating)return;if(!e.isConnected||!t.isCurrent())return;if(delete e.dataset.docxPaginationScheduled,e.dataset.docxPaginating="true",this.syncDynamicNotes(e),await this.prepareLayout(e,t),!e.isConnected||!t.isCurrent())return void delete e.dataset.docxPaginating;const r=Array.from(e.querySelectorAll(":scope > section."+this.className)),n=this.options.maxDynamicPaginationPasses??1e3;let s=0;for(let a=0;a<r.length;a++){const o=r[a];if(a%2==0&&await this.yieldToBrowser(),!e.isConnected||!t.isCurrent())return void delete e.dataset.docxPaginating;for(;this.isPageOverflowing(o)&&s++<n;){const n=Array.from(o.querySelectorAll(":scope > article"));if(!n.some(e=>e.children.length>0)&&!o.querySelector(":scope > [data-docx-note-list] > li"))break;const s=this.createContinuationPage(o);if(await this.refreshDynamicHeaderFooters([...r.slice(0,a+1),s,...r.slice(a+1)]),!e.isConnected||!t.isCurrent())return void delete e.dataset.docxPaginating;const i=Array.from(s.querySelectorAll(":scope > article"));let l=this.splitDynamicNotes(o,s);for(let r=n.length-1;r>=0&&this.isPageOverflowing(o);r--){const a=n[r],s=i[r];let c=0;if(s){for(;this.isPageOverflowing(o)&&a.lastElementChild&&c++<500;){if(c%20==0&&await this.yieldToBrowser(),!e.isConnected||!t.isCurrent())return void delete e.dataset.docxPaginating;if(a.children.length>1){if(this.moveOverflowingTail(a,o,s)){l=!0;continue}let e=this.pickPaginationChunk(a);if(0==e.length)break;if(e.length>=a.children.length){if(this.splitOverflowBlock(a.lastElementChild,o,s)){l=!0;continue}e=[a.lastElementChild]}for(let t=e.length-1;t>=0;t--)s.prepend(e[t]),l=!0}else{if(!this.splitOverflowBlock(a.lastElementChild,o,s))break;l=!0}}if(r>0&&this.isPageOverflowing(o))for(;a.lastElementChild;)s.prepend(a.lastElementChild),l=!0}}if(l||(l=Array.from(s.children).some(e=>e.dataset.docxNoteList&&e.children.length>0)),!l){if(s.remove(),this.syncDynamicNotes(e),await this.refreshDynamicHeaderFooters(r),!e.isConnected||!t.isCurrent())return void delete e.dataset.docxPaginating;break}this.refreshTabStops(e),this.refreshAnchors(e),r.splice(a+1,0,s)}}if(s>=n&&r.some(e=>this.isPageOverflowing(e)))throw new Error("DOCX pagination exceeded the configured pass budget");this.cleanupEmptyNumberedParagraphs(e),this.removeEmptyDynamicPages(e),t.acceptLayoutChanges?.(e),this.syncDynamicNotes(e),await this.refreshDynamicHeaderFooters(Array.from(e.querySelectorAll(":scope > section."+this.className))),e.isConnected&&t.isCurrent()?(this.updateDynamicFieldPages(e),this.refreshTabStops(e),this.refreshAnchors(e),this.assertDynamicNotesFit(e),delete e.dataset.docxPaginating,e.dataset.docxPaginated="true"):delete e.dataset.docxPaginating}moveOverflowingTail(e,t,r){const n=e.ownerDocument?.defaultView;if(!n||e.children.length<3)return!1;const a=n.getComputedStyle(e);if("block"!==a.display||!["auto","1"].includes(a.columnCount)||"auto"!==a.columnWidth||"horizontal-tb"!==a.writingMode)return!1;const s=Array.from(e.children),o=this.getPageBodyBottom(t)+(this.options.paginationTolerance??2);let i=s.length;for(;i>1;){let e=i-1;for(;e>0&&this.isKeepWithNext(s[e-1]);)e--;if(0===e)break;let t=!0;for(let r=e;r<i;r++){const e=s[r],a=n.getComputedStyle(e),i=e.getBoundingClientRect();if(!/^(P|TABLE)$/.test(e.tagName)||!["block","table","list-item"].includes(a.display)||"static"!==a.position||"none"!==a.cssFloat||"none"!==a.transform||"none"!==a.clear||"horizontal-tb"!==a.writingMode||!(parseFloat(a.marginTop)>=0&&parseFloat(a.marginBottom)>=0)||!(i.top>o&&i.bottom>i.top)||e.querySelector("[data-docx-float]")){t=!1;break}}if(!t)break;i=e}if(s.length-i<2)return!1;const l=e.ownerDocument.createDocumentFragment();for(let e=i;e<s.length;e++)l.appendChild(s[e]);return r.prepend(l),!0}pickPaginationChunk(e){const t=Array.from(e.children);if(0==t.length)return[];let r=t.length-1;for(;r>0&&this.isKeepWithNext(t[r-1]);)r--;return t.slice(r)}isKeepWithNext(e){if("true"==e.dataset.docxKeepNext)return!0;const t=getComputedStyle(e);return"avoid"==t.breakAfter||"avoid"==t.pageBreakAfter}isPageOverflowing(e){e.parentElement&&this.syncDynamicNotes(e.parentElement),this.refreshTabStops(e);const t=this.options.paginationTolerance??2;if(e.clientHeight<=0)return!1;const r=e.getBoundingClientRect(),n=this.getPageBodyBottom(e);let a=r.top;for(const r of Array.from(e.children)){const e=r.getBoundingClientRect();if(a=Math.max(a,e.bottom),"article"==r.tagName.toLowerCase())for(const e of Array.from(r.children)){const r=e.getBoundingClientRect();if(a=Math.max(a,r.bottom),r.bottom>n+t)return!0}}const s=this.getPageNoteBottom(e);return Array.from(e.querySelectorAll(":scope > [data-docx-note-list]")).some(e=>Array.from(e.querySelectorAll("*")).some(e=>e.getBoundingClientRect().bottom>s+t))||a>r.bottom+t}createContinuationPage(e,t=!0){const r=e.cloneNode(!1);r.dataset.docxDynamicPage="true",r.removeAttribute("id"),delete r.dataset.docxPageStart;const n=this.pageHeaderFooterState.get(e);n&&this.pageHeaderFooterState.set(r,{...n});for(const t of Array.from(e.childNodes)){if(1===t.nodeType&&t.dataset.docxNoteList)continue;const e=1===t.nodeType&&"article"===t.localName;r.appendChild(t.cloneNode(!e))}return t&&e.after(r),r}syncDynamicNotes(e){let t=this.dynamicNoteState.get(e);if(!t){t={references:Array.from(e.querySelectorAll("article [data-docx-note-reference]")),items:[],fragments:new Map,owners:new Map,text:new Map,fields:new Map};const r=new Map;for(const n of Array.from(e.querySelectorAll("[data-docx-note-list] > li[data-docx-note-id]"))){const e=`${n.dataset.docxNoteKind}:${n.dataset.docxNoteId}`;let a=r.get(e);a||(r.set(e,a=n),t.items.push(a),t.fragments.set(a,[]),t.fields.set(a,[]));const s=t.fragments.get(a);n.dataset.docxNoteFragment=`${s.length}`,s.push(n),t.fields.get(a).push(...Array.from(n.querySelectorAll("[data-docx-field-instr]"))),t.text.set(a,(t.text.get(a)??"")+this.noteTextSignature(n,t.fields.get(a)))}this.dynamicNoteState.set(e,t)}if(0===t.items.length)return;const r=Array.from(e.querySelectorAll(`:scope > section.${this.className}`));if(0===r.length)return;const n=new Set(r),a=e=>{for(;e&&!n.has(e);)e=e.parentElement;return e},s=new Map;for(const e of t.references){if("true"===e.dataset.docxNoteHidden)continue;const t=`${e.dataset.docxNoteReference}:${e.dataset.docxNoteId}`;if(s.has(t))continue;const r=a(e);r&&s.set(t,r)}const o=r.slice().reverse().find(e=>e.querySelector(':scope > [data-docx-note-list="footnote"] > li')||Array.from(e.querySelectorAll(":scope > article > *")).some(e=>this.hasVisiblePaginationContent(e)))??r[0],i=new Map;for(const e of t.items){const l=e.dataset.docxNoteKind,c=t.owners.get(e),h="endnote"===l?n.has(c)&&r.indexOf(c)>=r.indexOf(o)?c:o:s.get(`${l}:${e.dataset.docxNoteId}`);if(!h){e.dataset.docxNoteOwnershipError="missing-reference";continue}delete e.dataset.docxNoteOwnershipError;const d=t.fragments.get(e);if(c&&c!==h||d.some(e=>!a(e))){for(const t of d.slice(1))this.mergeNoteContents(e,t),t.remove();d.splice(1)}t.owners.set(e,h);for(let e=0;e<d.length;e++){const t=d[e];t.dataset.docxNoteFragment=`${e}`;const r=0===e?h:a(t);let n=i.get(r);n||i.set(r,n=new Map);let s=n.get(l);s||n.set(l,s=[]),s.push(t)}}for(const[e,t]of i)for(const r of["footnote","endnote"]){const n=t.get(r);if(!n)continue;const a=this.getOrCreateNoteList(e,r);for(let e=0;e<n.length;e++)a.children[e]!==n[e]&&a.insertBefore(n[e],a.children[e]??null)}for(const e of r)for(const t of Array.from(e.children))t.dataset.docxNoteList&&0===t.children.length&&t.remove()}getOrCreateNoteList(e,t){let r=Array.from(e.children).find(e=>e.dataset.docxNoteList===t);if(!r){r=this.h({tagName:"ol"}),r.dataset.docxNoteList=t;const n=Array.from(e.children).find(e=>"footer"===e.localName||"footnote"===t&&"endnote"===e.dataset.docxNoteList);e.insertBefore(r,n??null)}return r}mergeNoteContents(e,t){const r=e=>{for(;this.noteContinuationOrigins.has(e);)e=this.noteContinuationOrigins.get(e);return e};for(const n of Array.from(t.childNodes)){const t=e.lastChild;1===n.nodeType&&1===t?.nodeType&&r(n)===r(t)?(this.mergeNoteContents(t,n),n.id&&!t.id&&(t.id=n.id),n.remove()):1===n.nodeType&&"true"===n.dataset.docxNoteColumns?n.remove():e.appendChild(n)}}getPageNoteBottom(e){const t=e.getBoundingClientRect(),r=e.ownerDocument?.defaultView;if(!r)return t.bottom;const n=r.getComputedStyle(e),a=e=>Number.parseFloat(e)||0,s=t.bottom-a(n.borderBottomWidth)-a(n.paddingBottom),o=Array.from(e.children).find(e=>"footer"===e.localName);if(!o)return s;const i=r.getComputedStyle(o),l=o.getBoundingClientRect(),c=l.height+a(i.marginTop)+a(i.marginBottom);return Math.min(s,s-c,l.top-a(i.marginTop))}getPageBodyBottom(e){const t=Array.from(e.children).filter(e=>e.dataset.docxNoteList),r=e.ownerDocument?.defaultView;if(!t.length||!r)return e.getBoundingClientRect().bottom;let n=this.getPageNoteBottom(e);for(const e of t){const t=e.getBoundingClientRect(),a=r.getComputedStyle(e);let s=t.bottom;for(const t of Array.from(e.querySelectorAll("*")))s=Math.max(s,t.getBoundingClientRect().bottom);n-=Math.max(t.height,s-t.top)+(Number.parseFloat(a.marginTop)||0)+(Number.parseFloat(a.marginBottom)||0)}return n}getMinimumNoteBodyBottom(e){const t=e.ownerDocument?.defaultView,r=t?.getComputedStyle(e);let n=e.getBoundingClientRect().top+(parseFloat(r?.paddingTop)||0)+(parseFloat(r?.borderTopWidth)||0);const a=e.querySelector(":scope > header");a&&(n=Math.max(n,a.getBoundingClientRect().bottom));const s=Array.from(e.querySelectorAll(":scope > article > *")).find(e=>this.hasVisiblePaginationContent(e));if(!s)return n;const o=s.getBoundingClientRect();if("table"===s.localName){const e=this.tableContentRows(s)[0];if(e)return Math.max(n,e.getBoundingClientRect().bottom,...Array.from(e.cells,e=>e.getBoundingClientRect().bottom))}if("p"!==s.localName||"true"===s.dataset.docxKeepLines)return Math.max(n,o.bottom);const i=[],l=e.ownerDocument.createTreeWalker(s,NodeFilter.SHOW_TEXT);for(;l.nextNode();){const t=e.ownerDocument.createRange();t.selectNodeContents(l.currentNode);for(const e of Array.from(t.getClientRects()))e.height>0&&e.width>0&&i.push(e)}i.sort((e,t)=>e.top-t.top);const c=i.find(e=>e.top>(i[0]?.top??1/0)+2);return Math.max(n,c?o.top+c.top-i[0].top:o.bottom)}moveEndnotesAfterBody(e,t){const r=this.dynamicNoteState.get(e.parentElement);if(!r||!e.querySelector(":scope > article > *")||!this.isPageOverflowing(e))return!1;const n=Array.from(e.querySelectorAll(':scope > [data-docx-note-list="endnote"] > li'));if(!n.length||n.some(e=>1!==r.fragments.get(e)?.length))return!1;const a=n[0].parentElement,s=a.nextSibling,o=n.map(e=>({item:e,next:e.nextSibling,owner:r.owners.get(e)})),i=this.getOrCreateNoteList(t,"endnote");for(const e of n)i.appendChild(e),r.owners.set(e,t);if(a.children.length||a.remove(),!this.isPageOverflowing(e))return!0;a.parentNode!==e&&e.insertBefore(a,s?.parentNode===e?s:null);for(const{item:e,next:t,owner:n}of o.reverse())a.insertBefore(e,t?.parentNode===a?t:null),r.owners.set(e,n);return i.children.length||i.remove(),!1}splitDynamicNotes(e,t){const r=e.parentElement,n=this.dynamicNoteState.get(r);if(!n?.items.length||e.clientHeight<=0)return!1;if(this.moveEndnotesAfterBody(e,t))return!0;const a=this.options.paginationTolerance??2,s=this.getMinimumNoteBodyBottom(e),o=()=>this.getPageBodyBottom(e)+a<s;if(!o())return!1;let i=!1;const l=new Map,c=Array.from(e.querySelectorAll(":scope > [data-docx-note-list] > li"));for(const h of c.slice().reverse()){if(!o())break;const d=n.items.find(e=>e.dataset.docxNoteKind===h.dataset.docxNoteKind&&e.dataset.docxNoteId===h.dataset.docxNoteId);if(!d)continue;const u=n.fragments.get(d),m=u.indexOf(h),p=h.dataset.docxNoteKind,f=this.getOrCreateNoteList(t,p);if("endnote"===p&&0===m&&e.querySelector(":scope > article > *")){const e=h.parentElement;f.prepend(h),e.children.length||e.remove(),n.owners.set(d,t),i=!0;continue}const g=Array.from(e.querySelectorAll(":scope > [data-docx-note-list] > li")),b=new Map(g.map(e=>[e,this.getNoteItemHeight(e)])),y=this.getPageBodyBottom(e)-s+Array.from(b.values()).reduce((e,t)=>e+t,0);for(const r of g)l.has(r)||l.set(r,this.measureNoteMinimum(r,t,e));const x=g.find(e=>l.get(e)>y+a);if(x)throw t.remove(),this.syncDynamicNotes(r),e.dataset.docxNoteLayoutError=r.dataset.docxNoteLayoutError="unresolved-overflow",new Error(`docx-preview: unbreakable ${x.dataset.docxNoteKind}:${x.dataset.docxNoteId} exceeds its note region; all note content has been preserved`);let w=y-g.reduce((e,t)=>e+l.get(t),0);const v=g.map(e=>Math.max(0,b.get(e)-l.get(e))).sort((e,t)=>e-t);let k=v.length;for(const e of v){if(e*k>w)break;w-=e,k--}const C=k>0?Math.max(0,w/k):1/0,S=l.get(h)+Math.min(b.get(h)-l.get(h),C),N=()=>o()&&this.getNoteItemHeight(h)>S;if(!N()){f.children.length||f.remove();continue}const A=this.cloneBlockShell(h);A.dataset.docxNoteFragment=`${m+1}`,A.dataset.docxContinued="true",f.prepend(A);if(!this.moveNoteItemTail(h,A,e,N)||!this.hasVisibleNoteContent(h)||N()&&this.getNoteItemHeight(h)>y+a){if(this.mergeNoteContents(h,A),A.remove(),m>0&&this.getNoteItemHeight(h)<=y+a&&e.querySelector(":scope > article > *")){f.prepend(h),i=!0;continue}if(f.children.length||f.remove(),o()&&(1===c.length||this.getNoteItemHeight(h)>y+a))throw t.remove(),this.syncDynamicNotes(r),e.dataset.docxNoteLayoutError=r.dataset.docxNoteLayoutError="unresolved-overflow",new Error(`docx-preview: unbreakable ${p}:${h.dataset.docxNoteId} exceeds its note region; all note content has been preserved`)}else u.splice(m+1,0,A),u.forEach((e,t)=>e.dataset.docxNoteFragment=`${t}`),i=!0}return this.syncDynamicNotes(r),i}measureNoteMinimum(e,t,r){const n=this.getOrCreateNoteList(t,e.dataset.docxNoteKind),a=this.cloneBlockShell(e);a.dataset.docxNoteFragment="1",n.appendChild(a);try{return this.moveNoteItemTail(e,a,r,()=>!0),this.getNoteItemHeight(e)}finally{this.mergeNoteContents(e,a),a.remove()}}moveNoteItemTail(e,t,r,n){let a=!1;for(;n()&&e.lastChild;){const s=e.lastChild;if(e.childNodes.length>1&&this.hasNoteContentOutside(e,s))t.prepend(s),a=!0;else{if(1!==s.nodeType||!this.splitNoteBlock(s,t,r,n,e))break;a=!0}}return a}hasNoteContentOutside(e,t){const r=Array.from(e.childNodes);for(;r.length;){const e=r.pop();if(e!==t){if(e.nodeType===Node.TEXT_NODE&&e.textContent.length>0)return!0;if(1===e.nodeType){if(this.isNoteAtomicElement(e))return!0;r.push(...Array.from(e.childNodes))}}}return!1}firstNoteTextBoundary(e){const t=globalThis.Intl?.Segmenter;if(t){let r=0;for(const n of new t(void 0,{granularity:"grapheme"}).segment(e))if(r||(r=n.segment.length),n.segment.trim())return n.index+n.segment.length;return r}const r=e.search(/\S/);let n=Math.max(0,r);return n+(e.codePointAt(n)>65535?2:1)}getNoteItemHeight(e){const t=e.getBoundingClientRect();let r=t.bottom;for(const t of Array.from(e.querySelectorAll("*")))r=Math.max(r,t.getBoundingClientRect().bottom);const n=e.ownerDocument.defaultView.getComputedStyle(e);return Math.max(t.height,r-t.top)+(parseFloat(n.marginTop)||0)+(parseFloat(n.marginBottom)||0)}hasVisibleNoteContent(e){return!!e.textContent?.length||!!e.querySelector("img,svg,math,object,canvas,video,br,[data-docx-field-instr]")}splitNoteBlock(e,t,r,n,a=e.parentElement){const s=e.ownerDocument.defaultView.getComputedStyle(e);if("true"===e.dataset.docxKeepLines||"avoid"===s.breakInside||"avoid"===s.pageBreakInside)return!1;if(!/^(p|table|div|blockquote)$/.test(e.localName))return!1;const o=this.cloneBlockShell(e);o.dataset.docxContinued="true",this.noteContinuationOrigins.set(o,e),t.prepend(o);let i=!1;if("table"===e.localName){for(const t of Array.from(e.querySelectorAll(":scope > colgroup"))){const e=t.cloneNode(!0);e.removeAttribute("id"),e.querySelectorAll("[id]").forEach(e=>e.removeAttribute("id")),e.dataset.docxNoteColumns="true",o.appendChild(e)}const t=new Map,s=(r,n)=>{if(n===e)return void o.appendChild(r);let a=t.get(n);a||(a=this.cloneBlockShell(n),this.noteContinuationOrigins.set(a,n),t.set(n,a),o.appendChild(a)),a.appendChild(r)},l=this.tableContentRows(e);let c=l.length-1;for(;c>0&&l.slice(0,c).some((e,t)=>Array.from(e.cells).some(e=>t+e.rowSpan>c));)c--;if(c>0){for(const e of l.slice(c))s(e,e.parentElement);i=!0}else if(1===l.length&&1===l[0].cells.length&&1===l[0].cells[0].rowSpan){const e=l[0],t=e.cells[0],o=e.ownerDocument.defaultView.getComputedStyle(e);if("avoid"!==o.breakInside&&"avoid"!==o.pageBreakInside){const o=this.cloneBlockShell(e),l=this.cloneBlockShell(t);this.noteContinuationOrigins.set(o,e),this.noteContinuationOrigins.set(l,t),s(o,e.parentElement),o.appendChild(l),i=this.moveNoteBlockTail(t,l,r,n,a)}}}else if("p"===e.localName)for(;n()&&e.lastChild&&this.moveNoteTailNode(e,o,r,n,a);)i=!0;else i=this.moveNoteBlockTail(e,o,r,n,a);return i?e.hasChildNodes()||(e.id&&(o.id=e.id),e.remove()):o.remove(),i}moveNoteBlockTail(e,t,r,n,a){let s=!1;for(;n()&&e.lastChild;){const o=e.lastChild;if(e.childNodes.length>1&&this.hasNoteContentOutside(a,o))t.prepend(o),s=!0;else{if(1!==o.nodeType||!this.splitNoteBlock(o,t,r,n,a))break;s=!0}}return s}moveNoteTailNode(e,t,r,n,a){const s=e.lastChild;if(!s)return!1;if(s.nodeType===Node.TEXT_NODE){const e=this.hasNoteContentOutside(a,s)?0:this.firstNoteTextBoundary(s.textContent);return this.moveTextTail(s,t,r,n,!0,e)}if(1===s.nodeType){const e=s;if(e.hasChildNodes()&&!this.isNoteAtomicElement(e)&&!e.dataset.docxFloat&&!e.dataset.docxNoteReference){const s=this.cloneBlockShell(e);s.removeAttribute("name"),this.noteContinuationOrigins.set(s,e),t.prepend(s);const o=this.moveNoteTailNode(e,s,r,n,a);return e.hasChildNodes()||(e.id&&(s.id=e.id),e.hasAttribute("name")&&s.setAttribute("name",e.getAttribute("name")),e.remove()),s.hasChildNodes()||s.remove(),o}}return!(1===s.nodeType&&this.isNoteAtomicElement(s)&&!this.hasNoteContentOutside(a,s))&&(t.prepend(s),!0)}isNoteAtomicElement(e){return/^(img|svg|math|object|canvas|video|picture|br)$/i.test(e.localName)||e.hasAttribute("data-docx-field-instr")}isMutableNoteField(e){if(!e.hasAttribute("data-docx-field-instr"))return!1;const t=this.tokenizeFieldInstruction((e.dataset.docxFieldInstr??"").replace(/\s+/g," ").trim()),r=t[0]?.replace(/^=/,"").toUpperCase();return["PAGE","NUMPAGES","SECTIONPAGES","SECTION"].includes(r)||"PAGEREF"===r&&!!this.options.updatePageReferences}noteTextSignature(e,t){const r=e=>e.nodeType===Node.TEXT_NODE?e.textContent:1===e.nodeType&&this.isMutableNoteField(e)?`\0docx-field-${t.indexOf(e)}\0`:Array.from(e.childNodes).map(r).join("");return r(e)}assertDynamicNotesFit(e){const t=[],r=this.dynamicNoteState.get(e);if(r)for(const n of r.items){const a=r.fragments.get(n),s=r.fields.get(n),o=a.flatMap(e=>Array.from(e.querySelectorAll("[data-docx-field-instr]")));(a.map(e=>this.noteTextSignature(e,s)).join("")!==r.text.get(n)||o.length!==s.length||o.some((e,t)=>e!==s[t])||a.some((t,r)=>!e.contains(t)||t.dataset.docxNoteFragment!==`${r}`))&&t.push(`fragment conservation ${n.dataset.docxNoteKind}:${n.dataset.docxNoteId}`)}const n=this.options.paginationTolerance??2;for(const r of Array.from(e.querySelectorAll(`:scope > section.${this.className}`))){const e=Array.from(r.children).filter(e=>e.dataset.docxNoteList);if(!e.length||r.clientHeight<=0)continue;delete r.dataset.docxNoteLayoutError;const a=this.getPageBodyBottom(r),s=this.getPageNoteBottom(r),o=Array.from(r.querySelectorAll(":scope > article > *")).some(e=>e.getBoundingClientRect().bottom>a+n),i=e.some(e=>Array.from(e.querySelectorAll("*")).some(e=>e.getBoundingClientRect().bottom>s+n));(o||i)&&(r.dataset.docxNoteLayoutError="unresolved-overflow",t.push(e.flatMap(e=>Array.from(e.children,e=>`${e.dataset.docxNoteKind}:${e.dataset.docxNoteId}`)).join(",")))}if(t.length)throw e.dataset.docxNoteLayoutError="unresolved-overflow",new Error(`docx-preview: note layout requires continuation or unsupported geometry (${t.join("; ")}); all note content has been preserved`);delete e.dataset.docxNoteLayoutError}async refreshDynamicHeaderFooters(e){let t="",r=0,n=0;const a=this.tasks.length;for(const a of e){const e=a.dataset.docxSection??"",s=e!==t;if(s){const s=Number(a.dataset.docxPageStart);r=null!=a.dataset.docxPageStart&&Number.isFinite(s)?s:r+1,n=1,t=e}else r++,n++;const o=this.pageHeaderFooterState.get(a);if(o){this.currentPageNumber=r,this.currentSectionPageNumber=n,this.currentSectionNumber=Number(a.dataset.docxSectionNumber)||1;for(const e of["header","footer"]){const t="header"===e?o.headerProps:o.footerProps,n="header"===e?t.headerRefs:t.footerRefs,i="header"===e?"headerId":"footerId",l=this.selectHeaderFooterReference(n,t,r,s);if(o[i]!==l?.id&&(o[i]=l?.id,a.querySelector(`:scope > ${e}`)?.remove(),("header"===e?this.options.renderHeaders:this.options.renderFooters)&&(this.currentSectionProps=t,this.renderHeaderFooter(n,t,r,s,a),"header"===e))){const e=a.querySelector(":scope > header");e&&a.prepend(e)}}}}await Promise.allSettled(this.tasks.slice(a))}splitOverflowBlock(e,t,r){if(!r.isConnected&&t.isConnected&&r.parentElement&&t.after(r.parentElement),!e||"true"==e.dataset.docxKeepLines)return!1;const n=getComputedStyle(e);if("avoid"==n.breakInside||"avoid"==n.pageBreakInside)return!1;switch(e.tagName.toLowerCase()){case"p":return this.splitParagraphBlock(e,t,r);case"table":return this.splitTableBlock(e,t,r)}return!1}splitParagraphBlock(e,t,r){if(!e.hasChildNodes())return!1;const n=this.cloneBlockShell(e);n.dataset.docxContinued="true",r.prepend(n);let a=!1,s=0;for(;this.isPageOverflowing(t)&&e.hasChildNodes()&&s++<1e3;){if(!this.moveTailInlineNode(e,n,t))break;a=!0,this.removeEmptyInlineContainers(e)}return a?(e.hasChildNodes()?this.options.strictWordCompatibility&&"true"==e.dataset.docxWidowControl&&this.rebalanceWidowOrphan(e,n,t):e.remove(),!0):(n.remove(),!1)}splitTableBlock(e,t,r){const n=this.tableContentRows(e);if(n.length<=1)return!1;const a=this.cloneBlockShell(e);a.dataset.docxContinued="true";for(const t of Array.from(e.children))"colgroup"==t.tagName?.toLowerCase()&&a.appendChild(t.cloneNode(!0));for(const e of n.filter(e=>"true"==e.dataset.docxRepeatHeader)){const t=e.cloneNode(!0);t.dataset.docxRepeatedHeader="true",a.appendChild(t)}r.prepend(a);let s=!1,o=0;for(;this.isPageOverflowing(t)&&this.tableContentRows(e).length>1&&o++<500;){const t=this.tableContentRows(e).filter(e=>"true"!=e.dataset.docxRepeatedHeader),r=t[t.length-1];if(!r)break;a.insertBefore(r,this.firstMovedTableRow(a)),s=!0}return!!s||(a.remove(),!1)}cloneBlockShell(e){const t=e.cloneNode(!1);return t.removeAttribute("id"),t}tableContentRows(e){return Array.from(e.querySelectorAll(":scope > tr, :scope > tbody > tr"))}firstMovedTableRow(e){return this.tableContentRows(e).find(e=>"true"!=e.dataset.docxRepeatedHeader)??null}moveTailInlineNode(e,t,r){const n=e.lastChild;if(!n)return!1;if(n.nodeType==Node.TEXT_NODE)return this.moveTextTail(n,t,r);if(n instanceof Element){if(n.dataset?.docxNoteReference)return t.prepend(n),!0;if(n.childNodes.length>0&&"br"!=n.tagName?.toLowerCase()){const e=n.cloneNode(!1);e.removeAttribute("id"),t.prepend(e);const a=this.moveTailInlineNode(n,e,r);return n.hasChildNodes()||n.remove(),e.hasChildNodes()||e.remove(),a}}return t.prepend(n),!0}moveTextTail(e,t,r,n=()=>this.isPageOverflowing(r),a=!1,s=0){const o=e.data??"";if(!o||o.length<=s)return!1;const i=document.createTextNode("");if(t.prepend(i),1==o.length)return i.data=o,e.remove(),!0;let l=1,c=o.length-s,h=c;for(;l<=c;){const t=Math.floor((l+c)/2);e.data=o.substring(0,o.length-t),i.data=o.substring(o.length-t),n()?l=t+1:(h=t,c=t-1)}if(h=Math.min(o.length-s,this.adjustSplitToWordBoundary(o,h)),a){const e=o.length-h,t=globalThis.Intl?.Segmenter;let r=0;if(t)for(const n of new t(void 0,{granularity:"grapheme"}).segment(o)){if(n.index>e)break;r=n.index}else for(r=e,r>0&&/[\uDC00-\uDFFF]/.test(o[r])&&/[\uD800-\uDBFF]/.test(o[r-1])&&r--;r>0&&/[\u0300-\u036f\u1ab0-\u1aff\u1dc0-\u1dff\u20d0-\u20ff\ufe20-\ufe2f\ufe00-\ufe0f\u200d]/.test(o[r]);)r--;h=o.length-Math.max(r,s)}return e.data=o.substring(0,o.length-h),i.data=o.substring(o.length-h),e.data||e.remove(),!0}adjustSplitToWordBoundary(e,t){if(t<=1||t>=e.length)return t;const r=e.length-t,n=e.lastIndexOf(" ",r);return n>0&&r-n<32?e.length-n-1:t}removeEmptyInlineContainers(e){for(const t of Array.from(e.childNodes))t instanceof HTMLElement&&(this.removeEmptyInlineContainers(t),t.hasChildNodes()||/^(br|img|svg|math)$/i.test(t.tagName)||t.remove())}cleanupEmptyNumberedParagraphs(e){const t=`p[class*="${this.className}-num-"]`;for(const r of Array.from(e.querySelectorAll(t))){if(this.hasVisiblePaginationContent(r))continue;if(!r.id&&!r.querySelector("[id], a[name]"))continue;const t=this.findNextVisiblePaginationBlock(e,r);t&&this.moveAnchorsToBlock(r,t),r.remove()}}removeEmptyDynamicPages(e){const t=Array.from(e.querySelectorAll(`:scope > section.${this.className}[data-docx-dynamic-page="true"]`));for(const e of t){const t=Array.from(e.querySelectorAll(":scope > article")),r=t.some(e=>Array.from(e.children).some(e=>this.hasVisiblePaginationContent(e))),n=Array.from(e.children).some(e=>e.dataset.docxNoteList&&e.children.length>0);t.length>0&&!r&&!n&&e.remove()}}findNextVisiblePaginationBlock(e,t){const r=Array.from(e.querySelectorAll("article p, article table, article figure, article img, article svg, article math"));for(let e=r.indexOf(t)+1;e<r.length;e++){const t=r[e];if(this.hasVisiblePaginationContent(t))return t}return null}hasVisiblePaginationContent(e){return(e.textContent??"").replace(/\s+/g,"").length>0||!!e.querySelector("br,img,svg,math,object,canvas,video,table")}moveAnchorsToBlock(e,t){const r=Array.from(e.querySelectorAll("[id], a[name]"));e.id&&!t.id&&(t.id=e.id);for(let e=r.length-1;e>=0;e--){const n=r[e];n.id&&t.querySelector(`#${CSS.escape(n.id)}`)||t.prepend(n)}}rebalanceWidowOrphan(e,t,r){const n=this.visualLineCount(e),a=this.visualLineCount(t);if(n>=2&&a>=2)return;if(n<2&&e.parentElement&&t.hasChildNodes())return t.prepend(...Array.from(e.childNodes)),void e.remove();let s=0;for(;this.visualLineCount(t)<2&&e.hasChildNodes()&&s++<20&&!this.isPageOverflowing(r)&&this.moveTailInlineNode(e,t,r););}visualLineCount(e){try{const t=document.createRange();t.selectNodeContents(e);const r=Array.from(t.getClientRects());t.detach?.();const n=new Set(r.map(e=>Math.round(e.top)));return Math.max(n.size,1)}catch{return 1}}updateDynamicFieldPages(e){const t=Array.from(e.querySelectorAll(":scope > section."+this.className)),r={},n={},a={},s=[],o=[];let i=0,l="";for(const e of t){const t=e.dataset.docxSection??"";n[t]=(n[t]??0)+1}if(t.forEach((e,t)=>{const c=e.dataset.docxSection??"";if(c!=l){const t=null!=e.dataset.docxPageStart?parseInt(e.dataset.docxPageStart,10):null;i=Number.isFinite(t)?t:i+1,a[c]=1,l=c}else i++,a[c]=(a[c]??0)+1;e.dataset.docxPageNumber=`${i}`,e.dataset.docxSectionPageNumber=`${a[c]}`,e.dataset.docxSectionPageCount=`${n[c]??1}`,s[t]=i,o[t]=a[c];for(const t of Array.from(e.querySelectorAll("[id]")))t.id&&null==r[t.id]&&(r[t.id]=i)}),t.forEach((e,a)=>{const i=e.dataset.docxSection??"";for(const l of Array.from(e.querySelectorAll("[data-docx-field-instr]"))){const c=this.evaluateDynamicField(l.dataset.docxFieldInstr,s[a]??a+1,t.length,r,n[i]??1,o[a]??1,parseInt(e.dataset.docxSectionNumber??"1",10));null!=c&&(l.textContent=c)}}),this.options.updatePageReferences)for(const t of Array.from(e.querySelectorAll("[data-docx-page-ref]"))){const e=t.dataset.docxPageRef;t.textContent=`${r[e]??1}`}this.updateDynamicNoteNumbers(e)}evaluateDynamicField(e,t,r,n,a=r,s=t,o=1){const i=this.tokenizeFieldInstruction((e??"").replace(/\s+/g," ").trim()),l=i[0]?.replace(/^=/,"").toUpperCase();let c=null;switch(l){case"PAGE":c=this.formatFieldNumber(t,this.fieldFormatSwitchToNumFormat(this.fieldSwitch(i,"\\*")??this.currentSectionProps?.pageNumber?.format));break;case"NUMPAGES":c=this.formatFieldNumber(r,this.fieldFormatSwitchToNumFormat(this.fieldSwitch(i,"\\*")??this.currentSectionProps?.pageNumber?.format));break;case"SECTIONPAGES":c=this.formatFieldNumber(a,this.fieldFormatSwitchToNumFormat(this.fieldSwitch(i,"\\*")??this.currentSectionProps?.pageNumber?.format));break;case"SECTION":c=this.formatFieldNumber(o,this.fieldFormatSwitchToNumFormat(this.fieldSwitch(i,"\\*")??"decimal"));break;case"PAGEREF":{if(!this.options.updatePageReferences)return null;const e=this.firstFieldArgument(i);c=e?`${n[e]??1}`:"";break}}return null==c?null:this.applyFieldFormatting(c,e)}renderDefaultStyle(){var e=this.className;const t=!!this.options.darkMode,r=t?"#242424":"gray",n=t?Es("white"):"white",a=t?Es("black"):"black";var s=`\n.${e}-wrapper { position: relative; background: ${r}; padding: 30px; padding-bottom: 0px; display: flex; flex-flow: column; align-items: center; }\n.${e}-wrapper>section.${e} { background: ${n}; box-shadow: ${t?"0 0 10px rgba(0, 0, 0, 0.8)":"0 0 10px rgba(0, 0, 0, 0.5)"}; margin-bottom: 30px;${t?" outline: 1px solid rgba(255, 255, 255, 0.15); outline-offset: -1px;":""} }`;this.options.hideWrapperOnPrint&&(s=`@media not print { ${s} }`);var o=`${s}\n.${e} { --docx-auto-color: ${a}; color: var(--docx-auto-color); font-size: 10.5pt; font-family: var(--docx-minorHAnsi-font, "Times New Roman", serif); hyphens: auto; text-underline-position: from-font; font-kerning: normal; font-variant-ligatures: common-ligatures contextual; text-rendering: optimizeLegibility; line-break: auto; }\nsection.${e} { box-sizing: border-box; display: flex; flex-flow: column nowrap; position: relative; overflow: visible; isolation: isolate; }\nsection.${e}>header, section.${e}>footer { flex-shrink: 0; }\nsection.${e}>[data-docx-note-list] { flex-shrink: 0; }\nsection.${e}>article { z-index: 1; }\nsection.${e}>article:last-of-type { margin-bottom: auto; }\nsection.${e}>footer { z-index: 1; }\n.${e} [data-docx-continued="true"] { margin-top: 0 !important; }\n.${e} tr[data-docx-repeat-header="true"], .${e} tr[data-docx-repeated-header="true"] { break-after: avoid; }\n.${e} li[data-docx-note-label]::marker { content: attr(data-docx-note-label) " "; }\n.${e} li[data-docx-note-custom="true"]::marker, .${e} li[data-docx-note-label=""]::marker,\n.${e} li[data-docx-note-fragment]:not([data-docx-note-fragment="0"])::marker { content: ""; }\n.${e} table { border-collapse: collapse; }\n.${e} table td, .${e} table th { vertical-align: top; overflow-wrap: anywhere; }\n.${e} p { margin: 0pt; min-height: 1em; }\n.${e} .${e}-paragraph-frame > p { margin: 0; }\n.${e} span { white-space: pre-wrap; overflow-wrap: break-word; font-feature-settings: "kern" 1; }\n.${e} table span { overflow-wrap: anywhere; }\n.${e} .${e}-float-wrap { shape-margin: 0.15in; }\n.${e} .${e}-field { white-space: pre-wrap; }\n.${e} .${e}-tab-stop { display: inline-block; min-width: 1em; white-space: nowrap; line-height: 1; }\n.${e} .${e}-tab-stop[data-docx-tab-leader="dot"], .${e} .${e}-tab-stop[data-docx-tab-leader="middleDot"] { min-width: 2em; border-bottom: 1px dotted currentColor; height: .85em; transform: translateY(-.18em); }\n.${e} .${e}-tab-stop[data-docx-tab-leader="hyphen"], .${e} .${e}-tab-stop[data-docx-tab-leader="heavy"], .${e} .${e}-tab-stop[data-docx-tab-leader="underscore"] { min-width: 2em; border-bottom: 1px solid currentColor; height: .85em; transform: translateY(-.18em); }\n.${e} .${e}-tab-leader-paragraph > a, .${e} .${e}-tab-leader-paragraph > .${e}-tab-leader-line, .${e} .${e}-tab-leader-line { display: inline-flex; align-items: baseline; width: calc(100% - var(--docx-text-indent, 0pt)); color: inherit !important; text-decoration: none !important; box-sizing: border-box; max-width: none; text-indent: 0; }\n.${e} .${e}-tab-leader-paragraph > a, .${e} .${e}-tab-leader-paragraph > a * { color: inherit !important; text-decoration: none !important; }\n.${e} .${e}-toc-paragraph a, .${e} .${e}-toc-paragraph a * { color: inherit !important; text-decoration: none !important; }\n.${e} .${e}-toc-paragraph.${e}-tab-leader-paragraph[class*="${e}-num-"] { display: grid; grid-template-columns: max-content minmax(0, 1fr); column-gap: .35em; align-items: baseline; list-style-position: outside; list-style-type: none; text-indent: 0 !important; }\n.${e} .${e}-toc-paragraph.${e}-tab-leader-paragraph[class*="${e}-num-"]::before { grid-column: 1; grid-row: 1; white-space: pre; margin-inline-end: 0; }\n.${e} .${e}-toc-paragraph.${e}-tab-leader-paragraph[class*="${e}-num-"] > a { grid-column: 2; grid-row: 1; display: inline-flex; flex: 1 1 auto; width: auto; min-width: 0; max-width: 100%; }\n.${e} .${e}-tab-leader-title { flex: 0 1 auto; min-width: 0; }\n.${e} .${e}-tab-leader-page { flex: 0 0 auto; white-space: nowrap; text-align: right; }\n.${e} .${e}-tab-leader-fill, .${e} .${e}-tab-leader-paragraph > a > .${e}-tab-stop[data-docx-tab-leader="dot"], .${e} .${e}-tab-leader-paragraph > a > .${e}-tab-stop[data-docx-tab-leader="middleDot"], .${e} .${e}-tab-leader-paragraph > .${e}-tab-stop[data-docx-tab-leader="dot"], .${e} .${e}-tab-leader-paragraph > .${e}-tab-stop[data-docx-tab-leader="middleDot"] { flex: 1 1 auto; width: auto; margin: 0 .2em; }\n.${e} .${e}-literal-leader-line > .${e}-tab-leader-title { flex: 0 0 auto; white-space: nowrap; }\n.${e} .${e}-toc { display: table; width: 100%; }\n.${e} .${e}-toc-entry { display: table-row; }\n.${e} .${e}-toc-title, .${e} .${e}-toc-page { display: table-cell; }\n.${e} .${e}-toc-title { border-bottom: 1px dotted currentColor; }\n.${e} .${e}-toc-page { text-align: right; width: 3em; }\n.${e} math { font-family: Cambria Math, STIX Two Math, Latin Modern Math, serif; }\n.${e} ruby { ruby-position: over; }\n.${e} rt { font-size: 0.5em; line-height: 1; }\n.${e} .${e}-chart, .${e} .${e}-smartart, .${e} .${e}-ink { min-width: 2in; min-height: 1in; }\n.${e} a { color: inherit; text-decoration: inherit; }\n.${e} svg { fill: transparent; }\n[data-docx-review-enabled="true"] { --docx-review-color: #c2410c; }\n[data-docx-review-enabled="true"] ins[data-docx-change-kind], [data-docx-review-enabled="true"] del[data-docx-change-kind] { text-decoration: none; }\n[data-docx-review-enabled="true"][data-docx-review-mode="final"] [data-docx-change-kind="delete"], [data-docx-review-enabled="true"][data-docx-review-mode="final"] [data-docx-change-kind="move-from"], [data-docx-review-enabled="true"][data-docx-review-mode="simple"] [data-docx-change-kind="delete"], [data-docx-review-enabled="true"][data-docx-review-mode="simple"] [data-docx-change-kind="move-from"], [data-docx-review-enabled="true"][data-docx-review-mode="original"] [data-docx-change-kind="insert"], [data-docx-review-enabled="true"][data-docx-review-mode="original"] [data-docx-change-kind="move-to"] { display: none !important; }\n[data-docx-review-enabled="true"][data-docx-review-mode="all"] ins[data-docx-change-kind]:not([data-docx-change-empty="true"]) { color: var(--docx-review-color); text-decoration: underline; text-decoration-color: var(--docx-review-color); text-underline-offset: .16em; background: color-mix(in srgb, var(--docx-review-color) 7%, transparent); }\n[data-docx-review-enabled="true"][data-docx-review-mode="all"] ins[data-docx-change-empty="true"] { color: inherit; text-decoration: none; background: transparent; }\n[data-docx-review-enabled="true"][data-docx-review-mode="all"] del[data-docx-change-kind] { display: inline-block !important; width: 0 !important; max-width: 0 !important; height: 0 !important; margin: 0 !important; padding: 0 !important; overflow: hidden !important; line-height: 0 !important; vertical-align: baseline; color: transparent; }\n[data-docx-review-enabled="true"][data-docx-review-mode="all"][data-docx-review-presentation="inline"] del[data-docx-change-kind] { display: inline !important; width: auto !important; max-width: none !important; height: auto !important; overflow: visible !important; line-height: inherit !important; color: var(--docx-review-color); text-decoration: line-through; text-decoration-color: var(--docx-review-color); }\n[data-docx-review-enabled="true"][data-docx-review-mode="simple"] ins[data-docx-change-kind] { color: inherit; text-decoration: none; background: transparent; }\n[data-docx-review-enabled="true"][data-docx-review-mode="original"] del[data-docx-change-kind] { color: inherit; text-decoration: none; background: transparent; }\n[data-docx-review-enabled="true"][data-docx-review-mode="all"] [data-docx-format-change="true"], [data-docx-review-enabled="true"][data-docx-review-mode="simple"] [data-docx-format-change="true"] { outline: 0; }\n[data-docx-review-enabled="true"][data-docx-review-mode="final"] [data-docx-change-kind="comment"], [data-docx-review-enabled="true"][data-docx-review-mode="original"] [data-docx-change-kind="comment"] { display: none !important; }\n@media print { .${e}-wrapper { background: transparent; padding: 0; display: block; } .${e}-wrapper>section.${e}, section.${e} { background: white; margin: 0 auto; box-shadow: none; outline: none; break-after: page; page-break-after: always; } .${e} { --docx-auto-color: black; color: black; } }\n`;return this.options.renderComments&&(o+=`\n.${e}-comment-ref { cursor: pointer; }\n.${e}-comment-ref[data-docx-comment-positioned="true"]:not(:focus) { opacity: 0; }\n.${e}-comment-ref:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }\n.${e}-comment-anchor { display: inline-block; width: 0; height: 0; overflow: visible; vertical-align: baseline; }\n.${e}-comment-layer { position: absolute; inset: 0; pointer-events: none; z-index: 1000; }\n.${e}-comment-popover { display: block; width: max-content; pointer-events: auto; margin: 0; padding: 0; }\n.${e}-comment-popover > summary { list-style: none; cursor: pointer; display: block; padding: 0; margin: 0; }\n.${e}-comment-popover > summary::-webkit-details-marker { display: none; }\n.${e}-comment-popover > summary:focus-visible { outline: 2px solid currentColor; }\n.${e}-comment-body { position: absolute; top: 100%; width: 30ch; box-sizing: border-box; overflow: auto; padding: .5rem; background: ${n}; color: var(--docx-auto-color); box-shadow: 0 0 .25rem rgba(0,0,0,.25); }\n.${e}-comment-author,.${e}-comment-date { font-size: .875rem; color: ${t?Es("#888888"):"#888"}; }\n@media print { .${e}-comment-layer, .${e}-comment-popover, .${e}-comment-body { position: static !important; width: auto !important; max-width: none !important; max-height: none !important; overflow: visible; } .${e}-comment-layer { pointer-events: auto; } .${e}-comment-body { box-shadow: none; } }\n\n`),[this.h({tagName:"#comment",children:["docxjs library predefined styles"]}),this.h({tagName:"style",children:[o]})]}async renderNumbering(e){var t="",r=[];const n=new Map,a=new Map(e.map(e=>[`${e.id}:${e.level}`,this.numFormatToCssValue(e.format)])),s=(e,t)=>{const r=n.get(e)??[];r.push(t),n.set(e,r)};for(var o of e){var i=this.numberingSelector(o.id,o.level),l="none";if(o.bullet){let e=`--${this.className}-${o.bullet.src}`.toLowerCase();t+=this.styleToString(`${i}:before`,{content:"' '",display:"inline-block",background:`var(${e})`},o.bullet.style);try{const r=await this.document.loadNumberingImage(o.bullet.src);t+=`${this.rootSelector} { ${e}: url(${r}) }`}catch(e){this.options.debug&&console.warn(`Can't load numbering image with src ${o.bullet.src}`)}}else if(o.levelText){let e=this.numberingCounter(o.id,o.level);const n=e+" "+(o.start-1),l=this.numberingRestartLevel(o);null!=l&&s(this.numberingSelector(o.id,l),n),r.push(n);const c=this.normalizeNumberingLevelText(o.levelText,o.format,o.rStyle),h=this.numberingMarkerRunStyle(o.rStyle,c.normalized);t+=this.styleToString(`${i}:before`,{content:this.levelTextToContent(c.text,o.suff,o.id,this.numFormatToCssValue(o.format),a),"counter-increment":e,"font-family":"var(--docx-marker-font-family, inherit)","font-size":"var(--docx-marker-font-size, inherit)","font-style":"var(--docx-marker-font-style, inherit)","font-weight":"var(--docx-marker-font-weight, inherit)",...h})}else l=this.numFormatToCssValue(o.format);t+=this.styleToString(i,{display:"list-item","list-style-position":"inside","list-style-type":l,...o.pStyle})}for(const[e,r]of n)t+=this.styleToString(e,{"counter-set":r.join(" ")});return r.length>0&&(t+=this.styleToString(this.rootSelector,{"counter-reset":r.join(" ")})),[this.h({tagName:"#comment",children:["docxjs document numbering styles"]}),this.h({tagName:"style",children:[t]})]}renderStyles(e){var t="";const r=this.styleMap,n=b(e.filter(e=>e.isDefault),e=>e.target);for(const i of e){var a=i.styles;if(i.linked){var s=i.linked&&r[i.linked];s?a=a.concat(s.styles):this.options.debug&&console.warn(`Can't find linked style ${i.linked}`)}for(const e of a){var o=`${i.target??""}.${i.cssName}${e.mod??""}`;i.target!=e.target&&(o+=` ${e.target}`),o=this.scopeDocumentStyleSelector(o),n[i.target]==i&&(o=`.${this.className} ${i.target}, `+o),t+=this.styleToString(o,e.values)}}return[this.h({tagName:"#comment",children:["docxjs document styles"]}),this.h({tagName:"style",children:[t]})]}renderNotes(e,t,r,n="footnote"){const a=Array.from(new Set(e)).filter(e=>t[e]&&!["separator","continuationSeparator","continuationNotice"].includes(t[e].noteType)&&!this.renderedNoteIds.has(`${n}:${e}`));if(0===a.length)return null;const s=this.currentPart;this.currentPart=r??s;try{const e=a.map(e=>{const r=this.renderElement(t[e]);return r.dataset.docxNoteId=e,r.dataset.docxNoteKind=n,r.dataset.docxNoteFragment="0",this.applyNoteAssignment(r,this.noteNumbering.assignments.get(`${n}:${e}`),!1),this.renderedNoteIds.add(`${n}:${e}`),r}),r=this.h({tagName:"ol",children:e});return r.dataset.docxNoteList=n,r}finally{this.currentPart=s}}formatNoteAssignment(e){return function(e){if(!e||e.custom||"none"===e.properties.format)return"";const t=e.value,r=e.properties.format;switch(r){case"chicago":{const e=["*","†","‡","§"];return t>0&&t<=384?e[(t-1)%e.length].repeat(Math.floor((t-1)/e.length)+1):`${t}`}case"upperLetter":case"lowerLetter":{if(t<=0||t>3328)return`${t}`;const e="upperLetter"===r?65:97;return String.fromCharCode(e+(t-1)%26).repeat(Math.floor((t-1)/26)+1)}case"upperRoman":case"lowerRoman":{if(t<=0||t>3999)return`${t}`;const e=[[1e3,"M"],[900,"CM"],[500,"D"],[400,"CD"],[100,"C"],[90,"XC"],[50,"L"],[40,"XL"],[10,"X"],[9,"IX"],[5,"V"],[4,"IV"],[1,"I"]];let n=t,a="";for(const[t,r]of e)for(;n>=t;)a+=r,n-=t;return"lowerRoman"===r?a.toLowerCase():a}case"decimalZero":return t<10?`0${t}`:`${t}`;case"numberInDash":return`-${t}-`;case"hex":return t.toString(16).toUpperCase();case"ordinal":return`${t}${t%100>=11&&t%100<=13?"th":{1:"st",2:"nd",3:"rd"}[t%10]??"th"}`;default:return`${t}`}}(e)}applyNoteAssignment(e,t,r){if(!t)return;const n=this.formatNoteAssignment(t);e.dataset.docxNoteLabel=n,e.dataset.docxNoteCustom=`${t.custom}`,r?e.childNodes?.length?e.textContent=n:e.appendChild(this.h(n)):(null!=t.value&&e.setAttribute("value",`${t.value}`),e.style.listStyleType=t.custom?"none":this.numFormatToCssValue(t.properties.format))}renderElement(e){switch(e.type){case ze.Paragraph:return this.renderParagraph(e);case ze.BookmarkStart:return this.renderBookmarkStart(e);case ze.BookmarkEnd:return null;case ze.Run:return this.renderRun(e);case ze.Table:return this.renderTable(e);case ze.Row:return this.renderTableRow(e);case ze.Cell:return this.renderTableCell(e);case ze.Hyperlink:return this.renderHyperlink(e);case ze.SmartTag:return this.renderSmartTag(e);case ze.Drawing:return this.renderAnchoredElement(e,this.renderDrawing(e));case ze.Image:return this.renderImage(e);case ze.Shape:return this.renderShape(e);case ze.Chart:return this.renderChart(e);case ze.SmartArt:return this.renderSmartArt(e);case ze.Ink:return this.renderInk(e);case ze.SimpleField:return this.renderSimpleField(e);case ze.Instruction:case ze.ComplexField:return null;case ze.Text:return this.renderText(e);case ze.DeletedText:return this.renderDeletedText(e);case ze.Tab:return this.renderTab(e);case ze.Symbol:return this.renderSymbol(e);case ze.Break:return this.renderBreak(e);case ze.Footer:return this.renderContainer(e,"footer");case ze.Header:return this.renderContainer(e,"header");case ze.Footnote:case ze.Endnote:return this.renderContainer(e,"li");case ze.FootnoteReference:return this.renderFootnoteReference(e);case ze.EndnoteReference:return this.renderEndnoteReference(e);case ze.NoBreakHyphen:return this.h("‑");case ze.SoftHyphen:return this.h("");case ze.PositionalTab:return this.renderTab(e);case ze.Ruby:return this.renderRuby(e);case ze.RubyBase:return this.renderContainer(e,"span");case ze.RubyText:return this.toHTML(e,Hs.html,"rt");case ze.VmlPicture:return this.renderVmlPicture(e);case ze.VmlElement:return this.renderAnchoredElement(e,this.renderVmlElement(e));case ze.MmlMath:return this.renderContainerNS(e,Hs.mathML,"math",{xmlns:Hs.mathML});case ze.MmlMathParagraph:return this.renderMmlMathParagraph(e);case ze.MmlFraction:return this.renderContainerNS(e,Hs.mathML,"mfrac");case ze.MmlBase:return this.renderContainerNS(e,Hs.mathML,e.parent?.type==ze.MmlMatrixRow?"mtd":"mrow");case ze.MmlNumerator:case ze.MmlDenominator:case ze.MmlFunction:case ze.MmlLimit:case ze.MmlBox:return this.renderContainerNS(e,Hs.mathML,"mrow");case ze.MmlGroupChar:return this.renderMmlGroupChar(e);case ze.MmlLimitLower:return this.renderContainerNS(e,Hs.mathML,"munder");case ze.MmlLimitUpper:return this.renderContainerNS(e,Hs.mathML,"mover");case ze.MmlSubSuperscript:return this.renderContainerNS(e,Hs.mathML,"msubsup");case ze.MmlPhantom:return this.renderMmlPhantom(e);case ze.MmlBorderBox:return this.renderContainerNS(e,Hs.mathML,"menclose");case ze.MmlAccent:return this.renderMmlAccent(e);case ze.MmlMatrix:return this.renderContainerNS(e,Hs.mathML,"mtable");case ze.MmlMatrixRow:return this.renderContainerNS(e,Hs.mathML,"mtr");case ze.MmlRadical:return this.renderMmlRadical(e);case ze.MmlSuperscript:return this.renderContainerNS(e,Hs.mathML,"msup");case ze.MmlSubscript:return this.renderContainerNS(e,Hs.mathML,"msub");case ze.MmlDegree:case ze.MmlSuperArgument:case ze.MmlSubArgument:return this.renderContainerNS(e,Hs.mathML,"mrow");case ze.MmlFunctionName:return this.renderContainerNS(e,Hs.mathML,"mi");case ze.MmlDelimiter:return this.renderMmlDelimiter(e);case ze.MmlRun:return this.renderMmlRun(e);case ze.MmlNary:return this.renderMmlNary(e);case ze.MmlPreSubSuper:return this.renderMmlPreSubSuper(e);case ze.MmlBar:return this.renderMmlBar(e);case ze.MmlEquationArray:return this.renderMllList(e);case ze.Inserted:return this.renderInserted(e);case ze.Deleted:return this.renderDeleted(e);case ze.CommentRangeStart:return this.renderCommentRangeStart(e);case ze.CommentRangeEnd:return this.renderCommentRangeEnd(e);case ze.CommentReference:return this.renderCommentReference(e);case ze.AltChunk:return this.renderAltChunk(e)}return null}renderElements(e,t){if(null==e)return null;e=this.reviewParagraphs(e);const r=[];for(let t=0;t<e.length;t++){const n=e[t].type==ze.Paragraph?e[t]:null;if(this.isPositionedParagraphFrame(n)){const a=this.paragraphFrameKey(n),s=[n];for(;t+1<e.length;){const r=e[t+1].type==ze.Paragraph?e[t+1]:null;if(!this.isPositionedParagraphFrame(r)||this.paragraphFrameKey(r)!=a)break;s.push(r),t++}const o=s.flatMap(e=>C(this.renderElement(e)).filter(e=>null!=e)),i=this.h({tagName:"div",className:`${this.className}-paragraph-frame`,style:this.paragraphFrameStyle(n),children:o});i.dataset.docxFrameAnchor=`${n.frame.horizontalAnchor??"text"}/${n.frame.verticalAnchor??"text"}`,i.dataset.docxFrameParagraphs=`${s.length}`,r.push(i);continue}const a=this.tryRenderComplexField(e,t);a?(r.push(...C(a.node).filter(e=>null!=e)),t=a.nextIndex-1):r.push(...C(this.renderElement(e[t])).filter(e=>null!=e))}return t&&r.forEach(e=>t.appendChild(w(e)?document.createTextNode(e):e)),r}reviewParagraphs(e){const t=Vs(this.options);if("all"==t)return e;const r=[];for(const n of e??[]){const e=r[r.length-1],a=n,s="original"==t?(e?.props?.paragraphMarkRevisions??[]).some(e=>"insert"==e.kind):e?.props?.deletedParagraphMark;e?.type==ze.Paragraph&&n.type==ze.Paragraph&&s&&!e.sectionProps&&this.paragraphFrameKey(e)==this.paragraphFrameKey(a)?r[r.length-1]={...a,children:[...e.children??[],...a.children??[]]}:r.push(n)}return r}isPositionedParagraphFrame(e){const t=e?.frame;return!!t&&"drop"!=t.dropCap&&!!(t.width||t.height||t.horizontalPosition||t.verticalPosition||t.horizontalAlignment||t.verticalAlignment)}paragraphFrameKey(e){const t=e.frame??{};return JSON.stringify([t.width,t.height,t.horizontalPosition,t.verticalPosition,t.horizontalAnchor,t.verticalAnchor,t.horizontalAlignment,t.verticalAlignment,t.horizontalSpace,t.verticalSpace,t.heightRule,t.wrap])}paragraphFrameStyle(e){const t=e.frame,r={position:"absolute",boxSizing:"border-box",zIndex:"2"},n="page"==t.horizontalAnchor,a="page"==t.verticalAnchor;return t.width&&(r.width=t.width),t.height&&("exact"==t.heightRule?(r.height=t.height,r.overflow="hidden"):r.minHeight=t.height),t.horizontalPosition?r.left=n?`calc(${t.horizontalPosition} - var(--docx-page-padding-left, 0pt))`:t.horizontalPosition:"center"==t.horizontalAlignment?(r.left="50%",r.transform="translateX(-50%)"):"right"==t.horizontalAlignment||"outside"==t.horizontalAlignment?r.right="0":"left"!=t.horizontalAlignment&&"inside"!=t.horizontalAlignment||(r.left="0"),t.verticalPosition?r.top=a?`calc(${t.verticalPosition} - var(--docx-page-padding-top, 0pt))`:t.verticalPosition:"center"==t.verticalAlignment?(r.top="50%",r.transform=`${r.transform??""} translateY(-50%)`.trim()):"bottom"==t.verticalAlignment||"outside"==t.verticalAlignment?r.bottom="0":"top"!=t.verticalAlignment&&"inside"!=t.verticalAlignment||(r.top="0"),r}tryRenderComplexField(e,t){if(!this.hasFieldChar(e[t],"begin"))return null;let r=0,n=!1,a="";const s=[];for(let o=t;o<e.length;o++){const t=e[o],i=t.type==ze.Run?{...t,fieldRun:!1,children:[]}:null;if(t.type==ze.Run){for(const e of t.children??[]){if(e.type==ze.ComplexField){const t=e;if("begin"==t.charType)r++;else if("separate"==t.charType&&1==r)n=!0;else if("end"==t.charType&&(r--,0==r))return i.children.length>0&&s.push(i),{node:this.renderSimpleField({type:ze.SimpleField,instruction:a,lock:!1,dirty:!1,children:s}),nextIndex:o+1};continue}n||1!=r||e.type!=ze.Instruction?n&&r>0&&i.children.push(e):a+=e.text??""}i.children.length>0&&s.push(i)}else n&&r>0&&s.push(t)}return null}hasFieldChar(e,t){return e.type==ze.Run&&e.children?.some(e=>e.type==ze.ComplexField&&e.charType==t)}renderContainer(e,t){return this.h({tagName:t,children:this.renderElements(e.children)})}renderContainerNS(e,t,r,n){return this.h({ns:t,tagName:r,children:this.renderElements(e.children),...n})}effectiveParagraphTabs(e,t){if(!e?.length)return t;if(!t?.length)return e;const r=[...t];for(const t of e){const e=this.parseCssLengthValue(t.position),n=r.findIndex(t=>this.parseCssLengthValue(t.position)==e);n>=0?r[n]=t:r.push(t)}return r.sort((e,t)=>(this.parseCssLengthValue(e.position)??0)-(this.parseCssLengthValue(t.position)??0))}countParagraphTabs(e){let t=0;const r=e=>{e.type!=ze.Tab&&e.type!=ze.PositionalTab||t++;for(const t of e.children??[])r(t)};return r(e),t}isLeaderTabStop(e){return!!e?.leader&&"none"!=e.leader&&"clear"!=e.style}resolveRenderedTabStop(e,t,r){if(!e?.length)return null;const n=e[Math.min(t,Math.max(e.length-1,0))],a=[...e].reverse().find(e=>this.isLeaderTabStop(e)),s=this.findStyle(this.currentParagraph?.styleName),o=this.isTocParagraphStyle(this.currentParagraph?.styleName,s),i=!!a&&!!(this.currentParagraph?.numbering??s?.paragraphProps?.numbering)&&o;return a?r<=1?o||i?a:n:t>=r-1?a:this.isLeaderTabStop(n)?e.slice(0,Math.min(t+1,e.length)).reverse().find(e=>!this.isLeaderTabStop(e)&&"clear"!=e.style)??e.find(e=>!this.isLeaderTabStop(e)&&"clear"!=e.style)??null:n:n}renderParagraph(e){const t=this.findStyle(e.styleName);e.tabs=this.effectiveParagraphTabs(e.tabs,t?.paragraphProps?.tabs);const r=this.currentParagraph,n=this.currentParagraphTabIndex,a=this.currentParagraphTabCount;this.currentParagraph=e,this.currentParagraphTabIndex=0,this.currentParagraphTabCount=this.countParagraphTabs(e);let s=this.renderElements(e.children);const o=this.uniformParagraphTextScale(e,t);if(null!=o&&1!=o){const r=this.effectiveParagraphCssValue(e,t,"text-indent")??"0pt",n="rtl"==this.effectiveParagraphCssValue(e,t,"direction"),a=this.h({tagName:"span",className:`${this.className}-text-scale`,style:{display:"block",font:"inherit",background:"none",border:"none",width:100/o+"%",transform:`scaleX(${o})`,transformOrigin:n?"right top":"left top",textIndent:`calc(${r} / ${o})`},children:s});a.dataset.docxTextScale=`${o}`,s=[a]}var i=this.toHTML(e,Hs.html,"p",this.wrapTabLeaderChildren(s,!0));if(this.options.exposeDisplayTargets&&e.displayAddress){const t=this.currentPart??this.document.documentPart;i.setAttribute("data-office-target",`${t.path}#${e.displayAddress}`)}const l=this.effectiveParagraphCssValue(e,t,"--docx-snap-to-grid");/^(0|false|off)$/i.test(l??"")&&(i.style.letterSpacing="normal"),this.currentParagraph=r,this.currentParagraphTabIndex=n,this.currentParagraphTabCount=a;const c=e.numbering??t?.paragraphProps?.numbering;c&&i.classList.add(this.numberingClass(c.id,c.level));const h=t?.paragraphProps;(e.pageBreakBefore??h?.pageBreakBefore)&&(i.style.breakBefore="page",i.dataset.docxPageBreakBefore="true"),(e.keepLines??h?.keepLines)&&(i.style.breakInside="avoid",i.dataset.docxKeepLines="true"),(e.keepNext??h?.keepNext)&&(i.style.breakAfter="avoid",i.dataset.docxKeepNext="true"),(e.widowControl??h?.widowControl)&&(i.style.orphans="2",i.style.widows="2",i.dataset.docxWidowControl="true"),this.applyDocumentGridLinePitch(e,t,i);const d=e.tabs?.find(e=>this.isLeaderTabStop(e));return d&&(i.classList.add(`${this.className}-tab-leader-paragraph`),i.dataset.docxHasTabLeader="true",i.dataset.docxTabLeader=d.leader,i.dataset.docxTabAlign=d.style),this.isTocParagraphStyle(e.styleName,t)&&(i.classList.add(`${this.className}-toc-paragraph`),i.dataset.docxTocEntry="true"),this.hasParagraphRelativeAnchor(e)&&(i.style.position&&"static"!=i.style.position||(i.style.position="relative"),i.dataset.docxAnchorContext="paragraph"),e.props?.anchorId&&(i.id=e.props.anchorId,i.setAttribute("id",e.props.anchorId)),i}uniformParagraphTextScale(e,t){if(e.numbering||t?.paragraphProps?.numbering||e.frame||this.effectiveParagraphCssValue(e,t,"writing-mode"))return null;const r="--docx-text-scale",n=e.cssStyle?.[r]??this.styleValue(t,"span",r)??this.styleValue(t,"p",r)??"1";let a=null;const s=(e,t)=>{const n=e.cssStyle?.[r]??this.styleValue(this.findStyle(e.styleName),"span",r)??t;switch(e.type){case ze.Text:case ze.DeletedText:if(!e.text)return!0;const t=Number(n);return!(!Number.isFinite(t)||t<=0||t>6)&&((null==a||a==t)&&(a=t,!0));case ze.Run:case ze.Hyperlink:case ze.SmartTag:case ze.Inserted:case ze.Deleted:return(e.children??[]).every(e=>s(e,n));case ze.BookmarkStart:case ze.BookmarkEnd:case ze.CommentRangeStart:case ze.CommentRangeEnd:case ze.NoBreakHyphen:case ze.SoftHyphen:return!0;case ze.Break:return["line","textWrapping"].includes(e.break);default:return!1}};return(e.children??[]).every(e=>s(e,n))?a:null}hasParagraphRelativeAnchor(e){return(e.children??[]).some(e=>(e.type==ze.Drawing||e.type==ze.VmlElement)&&"absolute"==e.cssStyle?.position||this.hasParagraphRelativeAnchor(e))}renderAnchoredElement(e,t){if(t.dataset.docxDrawing="true","absolute"!=e.cssStyle?.position||!e.props?.anchorPosition)return t;const r=e.props.anchorPosition,n={...r,horizontal:{...r.horizontal,offset:r.horizontal.offset??(t.style.left||"0pt")},vertical:{...r.vertical,offset:r.vertical.offset??(t.style.top||"0pt")}},a=`${this.anchorLayouts.size}`;this.anchorLayouts.set(a,n),t.dataset.docxAnchorId=a,t.dataset.docxLayoutInCell=`${!1!==r.layoutInCell}`;const s=e=>/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)$/.test(e)?`${e}pt`:e;t.style.left=`calc(${s(n.horizontal.offset)} + var(--docx-anchor-origin-x, 0px))`,t.style.top=`calc(${s(n.vertical.offset)} + var(--docx-anchor-origin-y, 0px))`;const o=["top","bottom"].map(e=>{const t=this.h({tagName:"span",style:{display:"inline-block",width:"0px",height:"0px",padding:"0px",border:"0px",verticalAlign:e}});return t.dataset.docxAnchorLine=e,t}),i=this.h({tagName:"span",children:o});i.dataset.docxAnchorMarker="true",i.setAttribute("aria-hidden","true");const l=this.h({tagName:"span",children:[i,t]});return l.dataset.docxDrawing="true",l}refreshAnchors(e){!function(e,t,r=()=>!0){const n=e.ownerDocument?.defaultView;if(!n||"function"!=typeof e.querySelectorAll)return;const a=Array.from(e.querySelectorAll("section"));e.matches?.("section")&&a.unshift(e);for(const e of a){if(!e.classList.contains(t)||!r(e))continue;const a=n.getComputedStyle(e),s=ps(a.width)+("border-box"===a.boxSizing?0:ps(a.paddingLeft)+ps(a.paddingRight)+ps(a.borderLeftWidth)+ps(a.borderRightWidth)),o=e.getBoundingClientRect(),i=s>0?o.width/s:0;if(Number.isFinite(i)&&!(i<=0)){for(const t of Array.from(e.querySelectorAll('[data-docx-anchor-context="paragraph"]'))){if(!r(t))continue;const e=t.getBoundingClientRect();t.style.setProperty("--docx-paragraph-page-offset-top",(e.top-o.top)/i+"px"),t.style.setProperty("--docx-paragraph-page-offset-left",(e.left-o.left)/i+"px")}fs(e,r),ws(e,r),ks(e,i,r),As(e,r)}}}(e,this.className,e=>this.ownsLayoutElement(e));for(const t of Array.from(e.querySelectorAll("[data-docx-anchor-id]"))){if(!this.ownsLayoutElement(t))continue;const e=this.anchorLayouts.get(t.dataset.docxAnchorId);e&&us(t,e,this.className)}}ownsLayoutElement(e){for(let t=e;t;t=t.parentElement){const e=uo.get(t);if(e)return e==this}return!0}async prepareLayout(e,t=a(e)){if(e.isConnected&&t.isCurrent()&&(this.layoutGenerations.has(t.signal)||(this.layoutGenerations.set(t.signal,t),t.signal.addEventListener("abort",()=>this.layoutGenerations.delete(t.signal),{once:!0})),await this.yieldToBrowser(),e.isConnected&&t.isCurrent())){if(this.commentLayer&&(uo.set(this.commentLayer.root,this),!this.commentLayer.root.parentElement)){const t=[e,...Array.from(e.querySelectorAll("[data-docx-layout-root]"))].find(e=>uo.get(e)===this&&e.classList.contains(`${this.className}-wrapper`));t||(this.commentLayer.root.style.position="fixed"),(t??e).appendChild(this.commentLayer.root)}this.refreshTabStops(e),this.refreshAnchors(e),await(this.commentLayer?.bind(e,t))}}disposeLayout(){for(const e of Array.from(this.layoutGenerations.values()))e.cancel();this.layoutGenerations.clear(),this.commentLayer?.root.remove();const e=globalThis.CSS?.highlights;e&&this.commentHighlight&&e.get(`${this.className}-comments`)===this.commentHighlight&&e.delete(`${this.className}-comments`)}renderHyperlink(e){const t=this.renderHyperlinkChildren(e.children),r=this.h(this.toH(e,Hs.html,"a",this.wrapTabLeaderChildren(t)));let n="",a=!1;if(e.id){const t=this.currentPart??this.document.documentPart,r=t?.rels?.find(t=>t.id==e.id&&"External"===t.targetMode);n=r?.target??n,a=!!n}return!n&&e.anchor&&(n=`#${e.anchor}`),this.applyHyperlinkTarget(r,n,a),r}renderHyperlinkChildren(e){this.hyperlinkDepth++;try{return this.renderElements(e)}finally{this.hyperlinkDepth--}}applyHyperlinkTarget(e,t,r){const n=function(e){const t=String(e??"").trim().replace(oo,"");return t?t.startsWith("#")?t:t.startsWith("//")||t.includes("\\")||io.test(t)&&!lo.test(t)?null:t:null}(t);if(n)return r&&"block"==this.options.externalLinkPolicy?(e.setAttribute("data-docx-external-href",n),void e.setAttribute("aria-disabled","true")):void e.setAttribute("href",n)}wrapTabLeaderChildren(e,t=!1){if(!e?.length||e.some(e=>this.hasCssClass(e,`${this.className}-tab-leader-title`)))return e;let r=-1;for(let t=e.length-1;t>=0;t--)if(this.isTabLeaderNode(e[t])){r=t;break}if(r<0)return this.wrapLiteralLeaderChildren(e,t)??e;const n=e.slice(0,r),a=e[r],s=e.slice(r+1);this.addCssClass(a,`${this.className}-tab-leader-fill`);const o=[this.h({tagName:"span",className:`${this.className}-tab-leader-title`,children:n}),a,this.h({tagName:"span",className:`${this.className}-tab-leader-page`,children:s})];return t?[this.h({tagName:"span",className:`${this.className}-tab-leader-line`,children:o})]:o}wrapLiteralLeaderChildren(e,t=!1){const r=this.findLastTextualNodeIndex(e);if(r<0)return null;const n=e[r],a=this.nodeTextContent(n),s=/^(.*?)([.\u2026\u00b7\u2022\u2027\u2219\u22c5]{6,})(\s*[0-90-9IVXLCDMivxlcdm]+)\s*$/.exec(a);if(!s)return null;const[,o,i,l]=s,c=e.slice(0,r),h=e.slice(r+1),d=[...c];o&&d.push(this.cloneTextNodeWithText(n,o));const u=this.h({tagName:"span",className:`${this.tabStopClass()} ${this.className}-tab-leader-fill`,children:[" "],style:this.nodeStyleObject(n)});u.dataset.docxTab="true",u.dataset.docxTabLeader=this.literalLeaderKind(i),u.dataset.docxLiteralLeader="true";const m=[this.h({tagName:"span",className:`${this.className}-tab-leader-title`,children:d}),u,this.h({tagName:"span",className:`${this.className}-tab-leader-page`,children:[this.cloneTextNodeWithText(n,l.trim()),...h]})];return t?[this.h({tagName:"span",className:`${this.className}-tab-leader-line ${this.className}-literal-leader-line`,children:m})]:m}findLastTextualNodeIndex(e){for(let t=e.length-1;t>=0;t--)if(this.nodeTextContent(e[t]).trim())return t;return-1}literalLeaderKind(e){return/^[.\u2026]+$/.test(e)?"dot":"middleDot"}cloneTextNodeWithText(e,t){return this.nodeElementName(e)?this.h({tagName:this.nodeElementName(e),className:this.nodeClassName(e),style:this.nodeStyleObject(e),children:[t]}):this.h({tagName:"span",children:[t]})}nodeElementName(e){const t=e,r=t?.tagName??t?.nodeName;return r&&!String(r).startsWith("#")?String(r).toLowerCase():""}nodeStyleObject(e){const t=e?.style,r={};if(!t)return r;if("number"==typeof t.length&&"function"==typeof t.getPropertyValue)for(let e=0;e<t.length;e++){const n=t.item(e),a=t.getPropertyValue(n);a&&(r[n]=a)}else for(const[e,n]of Object.entries(t))null!=n&&""!==n&&(r[e]=String(n));return r}nodeTextContent(e){const t=e;return t?"string"==typeof t.textContent?t.textContent:"string"==typeof t.text?t.text:Array.from(t.children??t.childNodes??[]).map(e=>this.nodeTextContent(e)).join(""):""}isTabLeaderNode(e){const t=this.nodeDatasetValue(e,"docxTabLeader");return this.hasCssClass(e,this.tabStopClass())&&!!t&&"none"!=t}nodeDatasetValue(e,t){const r=e,n=r?.dataset?.[t];if(null!=n)return String(n);const a="data-"+t.replace(/[A-Z]/g,e=>"-"+e.toLowerCase());return"function"==typeof r?.getAttribute?r.getAttribute(a):r?.attributes?.[a]}hasCssClass(e,t){const r=e;if(!r||!t)return!1;if("function"==typeof r.classList?.contains)return r.classList.contains(t);return this.nodeClassName(r).split(/\s+/).includes(t)}addCssClass(e,t){const r=e;if(!r||!t||this.hasCssClass(e,t))return;if("function"==typeof r.classList?.add)return void r.classList.add(t);const n=Ws(this.nodeClassName(r),t);"function"==typeof r.setAttribute?r.setAttribute("class",n):(r.attributes??(r.attributes={}),r.attributes.class=n)}nodeClassName(e){return"string"==typeof e?.className?e.className:"string"==typeof e?.className?.baseVal?e.className.baseVal:"function"==typeof e?.getAttribute?e.getAttribute("class")??"":e?.attributes?.class??""}renderSmartTag(e){return this.renderContainer(e,"span")}renderCommentRangeStart(e){if(!this.options.renderComments)return null;const t="undefined"==typeof Range?null:new Range;t&&this.commentHighlight?.add(t);const r=this.h({tagName:"#comment",children:["start of DOCX comment"]});return t&&(this.later(()=>t.setStart(r,0)),this.commentMap[e.id]=t),r}renderCommentRangeEnd(e){if(!this.options.renderComments)return null;const t=this.commentMap[e.id],r=this.document.commentsPart?.commentMap[e.id],n=this.h({tagName:"span",className:`${this.className}-comment-anchor`});return n.dataset.docxChangeKind="comment",n.dataset.docxChangeId=`${e.id}`,n.setAttribute("aria-hidden","true"),n.style.setProperty("--docx-review-color",ao(r?.author)),r?.author&&(n.dataset.docxChangeAuthor=r.author),r?.date&&(n.dataset.docxChangeDate=r.date),this.later(()=>t?.setEnd(n,0)),n}renderCommentReference(e){if(!this.options.renderComments||this.renderingComment)return null;const t=this.document.commentsPart?.commentMap[e.id];if(!t)return null;this.commentLayer||(this.commentLayer=new ts(this.className,()=>this.h({tagName:"div",className:`${this.className} ${this.className}-comment-layer`}),e=>{this.refreshTabStops(e),this.refreshAnchors(e)}));const r=`${t.id}`,n=this.h({tagName:"span",className:`${this.className}-comment-ref`,children:["💬"]});n.dataset.docxChangeKind="comment",n.dataset.docxChangeId=r,n.style.setProperty("--docx-review-color",ao(t.author)),t.author&&(n.dataset.docxChangeAuthor=t.author),t.date&&(n.dataset.docxChangeDate=t.date),this.hyperlinkDepth||n.setAttribute("tabindex","0"),n.setAttribute("role","note"),n.setAttribute("aria-label",t.author?`Comment by ${t.author}`:"Comment"),n.setAttribute("aria-expanded","false");let a=this.commentPresentations.get(r);if(!a){const e=`${this.className}-comment-${++po.nextCommentId}`,s=this.h({tagName:"summary",children:["💬"]});s.setAttribute("aria-label",t.author?`Comment by ${t.author}`:"Comment");const o=t.date?new Date(t.date):null,i=this.h({tagName:"article",children:this.renderCommentContent(t)});i.dataset.docxCommentStory="true";const l=this.h({tagName:"div",className:`${this.className}-comment-body`,children:[this.h({tagName:"div",className:`${this.className}-comment-author`,children:[t.author??""]}),this.h({tagName:"div",className:`${this.className}-comment-date`,children:[o&&Number.isFinite(o.getTime())?o.toLocaleString():t.date??""]}),i]});l.setAttribute("id",e),l.setAttribute("role","note");const c=this.h({tagName:"details",className:`${this.className}-comment-popover`,children:[s,l]});c.dataset.docxCommentPopup=e,Object.assign(c.dataset,{docxChangeKind:"comment",docxChangeId:r}),t.author&&(c.dataset.docxChangeAuthor=t.author),t.date&&(c.dataset.docxChangeDate=t.date),a={key:e,descriptionId:e,reference:n,references:[],popup:c,summary:s,body:l,revision:0,open:!1},this.commentLayer.add(a),this.commentPresentations.set(r,a)}return n.dataset.docxCommentReference=a.key,a.references.push(n),n.setAttribute("aria-describedby",a.descriptionId),n.setAttribute("aria-controls",a.descriptionId),n}cloneRenderData(e,t=new Map){if(!e||"object"!=typeof e)return e;if(t.has(e))return t.get(e);const r=Array.isArray(e)?[]:Object.create(Object.getPrototypeOf(e));t.set(e,r);for(const n of Object.keys(e))"parent"!==n&&Object.defineProperty(r,n,{value:this.cloneRenderData(e[n],t),writable:!0,enumerable:!0,configurable:!0});return r}renderCommentContent(e){const t={part:this.currentPart,paragraph:this.currentParagraph,index:this.currentParagraphTabIndex,count:this.currentParagraphTabCount,rendering:this.renderingComment};this.currentPart=this.document.commentsPart,this.currentParagraph=null,this.renderingComment=!0;try{const t=this.cloneRenderData(e);return this.processElement(t),this.renderElements(t.children)??[]}finally{this.currentPart=t.part,this.currentParagraph=t.paragraph,this.currentParagraphTabIndex=t.index,this.currentParagraphTabCount=t.count,this.renderingComment=t.rendering}}renderAltChunk(e){if(!this.options.renderAltChunks)return null;var t=this.h({tagName:"iframe",sandbox:"",referrerPolicy:"no-referrer",loading:"lazy"});return this.tasks.push(this.document.loadAltChunk(e.id,this.currentPart).then(e=>{_(t,e)})),t}renderDrawing(e){e.cssStyle?.["shape-outside"]&&(e.className=Ws(e.className,`${this.className}-float-wrap`));var t=this.toHTML(e,Hs.html,this.currentParagraph?"span":"div");(e.cssStyle?.float||"absolute"==e.cssStyle?.position)&&(t.dataset.docxFloat="true");const r=e.props?.anchorPosition;r?.vertical?.relative&&(t.dataset.docxAnchorVertical=r.vertical.relative),r?.horizontal?.relative&&(t.dataset.docxAnchorHorizontal=r.horizontal.relative),t.style.display||(t.style.display="inline-block"),t.style.position||(t.style.position="relative"),t.style.textIndent="0px";for(const e of Array.from(t.children??[]))e.style.verticalAlign="top";return t}renderImage(e){let t=this.toHTML(e,Hs.html,"img",[]),r=e.cssStyle?.transform;if(e.alt&&(t.alt=e.alt),e.title&&(t.title=e.title),e.srcRect&&e.srcRect.some(e=>0!=e)){var[n,a,s,o]=e.srcRect;r=`${r??""} scale(${1/(1-n-s)}, ${1/(1-a-o)})`,t.style.clipPath=`inset(${(100*a).toFixed(2)}% ${(100*s).toFixed(2)}% ${(100*o).toFixed(2)}% ${(100*n).toFixed(2)}%)`,t.style.transformOrigin="top left"}return e.rotation&&(r=`rotate(${e.rotation}deg) ${r??""}`),t.style.transform=r?.trim(),this.document&&e.src&&this.tasks.push(this.document.loadDocumentImage(e.src,this.currentPart,this.options.externalResourcePolicy).then(e=>{e&&t.setAttribute("src",e)})),t}renderShape(e){if(e.props?.dmlSvg)return this.renderDmlSvgShape(e);const t=e.props?.dmlTextBox?[this.renderDmlTextBox(e)]:null,r=this.toHTML(e,Hs.html,this.currentParagraph?"span":"div",t);return r.style.display||(r.style.display="inline-block"),e.title&&(r.title=e.title),e.alt&&(r.setAttribute("role","img"),r.setAttribute("aria-label",e.alt)),r}renderDmlTextBox(e){const t=this.currentParagraph;this.currentParagraph=null;const r=this.renderElements(e.children);this.currentParagraph=t;const n=this.h({tagName:"div",className:`${this.className}-shape-textbox`,style:{"box-sizing":"border-box",display:"flex","flex-direction":"column","justify-content":e.props?.textVerticalAlign??"flex-start","align-items":"stretch",width:"100%",height:"100%",overflow:"hidden",...e.props?.textInsets??{}},children:r});n.dataset.docxShapeTextbox="true",n.setAttribute("xmlns",Hs.html);const a=this.createSvgElement("svg",{style:{width:"100%",height:"100%",display:"block",overflow:"hidden"}});a.setAttribute("focusable","false");const s=this.createSvgElement("foreignObject");return s.setAttribute("width","100%"),s.setAttribute("height","100%"),s.appendChild(n),a.appendChild(s),a}renderDmlSvgShape(e){const t=this.createSvgElement("svg",{style:e.cssStyle}),r=e.props??{};t.setAttribute("viewBox",r.viewBox??"0 0 1 1"),t.setAttribute("preserveAspectRatio","none"),t.setAttribute("focusable","false"),e.title&&t.appendChild(this.createSvgElement("title",null,[e.title])),e.alt&&(t.setAttribute("role","img"),t.setAttribute("aria-label",e.alt));const n=this.createSvgElement("path");return n.setAttribute("d",r.pathD??""),n.setAttribute("fill",this.darkenColorAttr(r.fill??"none")),n.setAttribute("stroke",this.darkenColorAttr(r.stroke??"none")),n.setAttribute("stroke-width",r.strokeWidth??"0"),n.setAttribute("stroke-linejoin","round"),n.setAttribute("stroke-linecap","round"),r.strokeDasharray&&n.setAttribute("stroke-dasharray",r.strokeDasharray),t.appendChild(n),t}renderChart(e){var t;const r=this.toHTML(e,Hs.html,this.currentParagraph?"span":"div",[]);if((t=r.style).display||(t.display="block"),r.className=Ws(r.className,`${this.className}-chart`),e.title&&(r.title=e.title),e.alt&&(r.setAttribute("role","img"),r.setAttribute("aria-label",e.alt)),r.appendChild(this.renderGraphicLoading("Chart")),e.id){const t=this.currentPart;this.tasks.push(this.document.loadRelationshipXml(e.id,t).then(e=>{r.textContent="",r.appendChild(e?this.renderChartSvg(e):this.renderGraphicLoading("Chart"))}).catch(()=>{r.textContent="",r.appendChild(this.renderGraphicLoading("Chart"))}))}return r}renderSmartArt(e){var t;const r=this.toHTML(e,Hs.html,this.currentParagraph?"span":"div",[]);if((t=r.style).display||(t.display="block"),r.className=Ws(r.className,`${this.className}-smartart`),e.title&&(r.title=e.title),e.alt&&(r.setAttribute("role","img"),r.setAttribute("aria-label",e.alt)),r.appendChild(this.renderGraphicLoading("SmartArt")),e.dataId){const t=this.currentPart;this.tasks.push(this.document.loadRelationshipXml(e.dataId,t).then(e=>{r.textContent="",r.appendChild(e?this.renderSmartArtSvg(e):this.renderGraphicLoading("SmartArt"))}).catch(()=>{r.textContent="",r.appendChild(this.renderGraphicLoading("SmartArt"))}))}return r}renderInk(e){var t;const r=this.toHTML(e,Hs.html,this.currentParagraph?"span":"div",[]);if((t=r.style).display||(t.display="block"),r.className=Ws(r.className,`${this.className}-ink`),e.title&&(r.title=e.title),e.alt&&(r.setAttribute("role","img"),r.setAttribute("aria-label",e.alt)),r.appendChild(this.renderGraphicLoading("Ink")),e.id){const t=this.currentPart;this.tasks.push(this.document.loadRelationshipText(e.id,t).then(n=>{if(r.textContent="",n?.trim().startsWith("<"))try{return void r.appendChild(this.renderInkSvg(Y(n,!0)))}catch{}return this.document.loadRelationshipBlobUrl(e.id,t,this.options.externalResourcePolicy).then(t=>{r.textContent="",t?r.appendChild(this.h({tagName:"img",src:t,alt:e.alt??"Ink",style:{width:"100%",height:"100%",objectFit:"contain"}})):r.appendChild(this.renderGraphicLoading("Ink"))})}).catch(()=>{r.textContent="",r.appendChild(this.renderGraphicLoading("Ink"))}))}return r}renderGraphicLoading(e){return this.h({tagName:"span",style:{display:"inline-flex","align-items":"center","justify-content":"center",width:"100%",height:"100%","min-width":"2in","min-height":"1in",border:"1px solid currentColor"},children:[`[${e}]`]})}renderChartSvg(e){const t=e.documentElement,r=this.detectChartType(t),n=this.parseChartSeries(t,r),a=this.createSvgElement("svg",{style:{width:"100%",height:"100%",display:"block"}});a.setAttribute("viewBox","0 0 640 360"),a.setAttribute("preserveAspectRatio","xMidYMid meet");const s=this.extractChartTitle(t);if(s){const e=this.svgText(s,320,24,"middle","14px","bold");e.setAttribute("data-docx-chart-title","true"),a.appendChild(e)}if(!n.length||n.every(e=>!e.values.length))return a.appendChild(this.svgText("Chart",320,180,"middle","18px")),a;const o="chart"==t.localName?t:this.chartChild(t,"chart"),i=this.chartChild(o,"plotArea"),l=this.chartChildren(i).filter(e=>e.localName.endsWith("Chart")),c=l.length>1&&l.every(e=>{const r=this.resolveChartAxes(t,e.localName,e),n=this.chartChild(e,"barDir")?.getAttribute("val"),a=this.chartChild(e,"grouping")?.getAttribute("val");return r?.category&&r.value&&["barChart","lineChart"].includes(e.localName)&&(!n||"col"==n)&&!["stacked","percentStacked"].includes(a)});if(c)return this.drawCombinedChartAxes(a,t,l),a;const h=this.resolveChartAxes(t,r);return"lineChart"==r&&"dateAx"==h?.category?.localName?this.drawDateLineChart(a,n,h,{seriesNodes:this.chartChildren(this.chartChild(i,r),"ser")}):"pieChart"==r||"doughnutChart"==r?this.drawPieChart(a,n[0]):["lineChart","scatterChart","areaChart"].includes(r)?this.drawLineChart(a,n,"areaChart"==r):this.drawBarChart(a,n),this.drawChartAxisTitles(a,h),a}chartChildren(e,t){return Array.from(e?.childNodes??[]).filter(e=>1==e.nodeType&&co.includes(e.namespaceURI)&&(!t||e.localName==t))}chartChild(e,t){return this.chartChildren(e,t)[0]??null}chartDescendant(e,t){return e?Array.from(e.getElementsByTagName("*")).find(e=>e.localName==t&&co.includes(e.namespaceURI))??null:null}detectChartType(e){return["barChart","bar3DChart","lineChart","pieChart","doughnutChart","areaChart","scatterChart","ofPieChart","radarChart"].find(t=>e.localName==t&&co.includes(e.namespaceURI)||this.chartDescendant(e,t))??"barChart"}parseChartSeries(e,t){const r=e.localName==t&&co.includes(e.namespaceURI)?e:this.chartDescendant(e,t);return this.chartChildren(r,"ser").map((e,t)=>{const r=this.chartCacheValues(this.chartChild(e,"cat")??this.chartChild(e,"xVal")),n=this.chartCacheValues(this.chartChild(e,"val")??this.chartChild(e,"yVal")).map(e=>e.trim()&&Number.isFinite(Number(e))?Number(e):NaN);return{name:this.chartText(this.chartChild(e,"tx"))||`Series ${t+1}`,categories:r.length?r:n.map((e,t)=>`${t+1}`),values:n}})}chartCacheValues(e){if(!e)return[];const t=["strCache","numCache","strLit","numLit"].map(t=>this.chartDescendant(e,t)).find(Boolean)??e,r=this.chartChild(t,"ptCount")?.getAttribute("val")??"";let n=/^\d+$/.test(r)?Math.min(Number(r),2e4):0;const a=[];for(const e of this.chartChildren(t,"pt")){const t=e.getAttribute("idx")??"";if(!/^\d+$/.test(t))continue;const r=Number(t);!Number.isSafeInteger(r)||r>=2e4||(n=Math.max(n,r+1),a.push({index:r,value:this.chartChild(e,"v")?.textContent??""}))}const s=Array(n).fill(""),o=new Set;for(const e of a)o.has(e.index)||(s[e.index]=e.value),o.add(e.index);return s}chartText(e){if(!e)return"";const t=this.chartCacheValues(e);if(t.length)return t.join(" ");return Array.from(e.getElementsByTagName("*")).filter(e=>"t"==e.localName&&ho.includes(e.namespaceURI)).map(e=>e.textContent).filter(Boolean).join(" ").trim()||this.chartDescendant(e,"v")?.textContent?.trim()||""}chartNumber(e,t){const r=this.chartChild(e,t)?.getAttribute("val");return null!=r&&r.trim()&&Number.isFinite(Number(r))?Number(r):null}chartBoolean(e){return!!e&&!["0","false","off"].includes((e.getAttribute("val")??"1").toLowerCase())}chartTitleText(e){const t=this.chartChild(this.chartChild(e,"tx"),"rich");return t?Array.from(t.childNodes).filter(e=>1==e.nodeType&&"p"==e.localName&&ho.includes(e.namespaceURI)).map(e=>Array.from(e.getElementsByTagNameNS(e.namespaceURI,"t")).map(e=>e.textContent??"").join("")).join("\n"):this.chartText(e)}extractChartTitle(e){const t="chart"==e.localName?e:this.chartChild(e,"chart");return this.chartTitleText(this.chartChild(t,"title"))}resolveChartAxes(e,t,r){const n="chart"==e.localName?e:this.chartChild(e,"chart"),a=this.chartChild(n,"plotArea"),s=r??this.chartChild(a,t);if(!s)return null;const o=this.chartChildren(s,"axId").map(e=>e.getAttribute("val")),i=this.chartChildren(a).filter(e=>/^(catAx|dateAx|valAx)$/.test(e.localName)&&o.includes(this.chartChild(e,"axId")?.getAttribute("val"))),l=i.find(e=>"dateAx"==e.localName)??i.find(e=>"catAx"==e.localName)??null,c=i.find(e=>"valAx"==e.localName&&(!l||this.chartChild(l,"crossAx")?.getAttribute("val")==this.chartChild(e,"axId")?.getAttribute("val")))??i.find(e=>"valAx"==e.localName)??null;return{category:l,value:c,date1904:this.chartBoolean(this.chartChild(e,"date1904"))}}chartValueBounds(e){let t=0,r=0;for(const n of e)for(const e of n.values)Number.isFinite(e)&&(t=Math.min(t,e),r=Math.max(r,e));return{min:t,max:t==r?t+1:r}}drawCategoryLabels(e,t,r,n){const a=t.map((e,t)=>({text:e,index:t})).filter(e=>e.text.trim());if(!a.length)return;const s=a[a.length-1],o=r(s.index)-this.chartLegendTextWidth(s.text)/2;let i=-1/0;a.forEach((t,s)=>{const l=r(t.index),c=this.chartLegendTextWidth(t.text)/2;if(s>0&&s<a.length-1&&(l-c<i+3||l+c+3>o))return;const h=this.svgText(t.text,l,n,"middle","10px");h.setAttribute("data-docx-chart-category-index",`${t.index}`),e.appendChild(h),i=l+c})}drawBarChart(e,t){const r=t[0]?.categories??[],n=Math.max(1,r.length,...t.map(e=>e.values.length)),a=this.chartValueBounds(t),s=e=>300-(e-a.min)/(a.max-a.min)*230,o=s(0),i=540/n,l=i/Math.max(t.length+1,2);e.appendChild(this.svgLine(60,o,600,o)),e.appendChild(this.svgLine(60,300,60,70)),t.forEach((t,r)=>t.values.forEach((t,n)=>{if(!Number.isFinite(t))return;const a=s(t),c=this.createSvgElement("rect");c.setAttribute("x",""+(60+n*i+r*l+.2*l)),c.setAttribute("y",`${Math.min(o,a)}`),c.setAttribute("width",""+.8*l),c.setAttribute("height",`${Math.abs(a-o)}`),c.setAttribute("data-docx-chart-point-index",`${n}`),c.style.fill=this.chartColor(r),e.appendChild(c)})),this.drawCategoryLabels(e,r,e=>60+(e+.5)*i,318),this.drawBottomLegend(e,t.map(e=>e.name),335)}drawLineChart(e,t,r=!1){const n=this.chartValueBounds(t),a=e=>300-(e-n.min)/(n.max-n.min)*230,s=a(0),o=Math.max(1,...t.map(e=>Math.max(e.values.length,e.categories.length))),i=540/Math.max(o-1,1);e.appendChild(this.svgLine(60,s,600,s)),e.appendChild(this.svgLine(60,300,60,70)),t.forEach((t,n)=>{let o=[];const l=()=>{if(!o.length)return;const t=o.map((e,t)=>`${t?"L":"M"}${e[0]},${e[1]}`).join(" ");if(r&&o.length>1){const r=this.createSvgElement("path");r.setAttribute("d",`${t} L${o[o.length-1][0]},${s} L${o[0][0]},${s} Z`),r.style.fill=this.chartColor(n),r.style.opacity="0.25",e.appendChild(r)}const a=this.createSvgElement("path");a.setAttribute("d",t),a.style.stroke=this.chartColor(n),a.style.strokeWidth="2",a.style.fill="none",e.appendChild(a),o=[]};t.values.forEach((t,r)=>{if(!Number.isFinite(t))return void l();const s=60+r*i,c=a(t);o.push([s,c]);const h=this.createSvgElement("circle");h.setAttribute("cx",`${s}`),h.setAttribute("cy",`${c}`),h.setAttribute("r","3"),h.setAttribute("data-docx-chart-point-index",`${r}`),h.style.fill=this.chartColor(n),e.appendChild(h)}),l()}),this.drawCategoryLabels(e,t[0]?.categories??[],e=>60+e*i,318),this.drawBottomLegend(e,t.map(e=>e.name),335)}drawPieChart(e,t){const r=t.values.reduce((e,t)=>e+(Number.isFinite(t)?Math.max(0,t):0),0)||1;let n=-90;t.values.forEach((a,s)=>{if(!Number.isFinite(a)||a<0)return;const o=a/r*360,i=this.createSvgElement(360==o?"circle":"path");360==o?(i.setAttribute("cx","300"),i.setAttribute("cy","180"),i.setAttribute("r","110")):i.setAttribute("d",this.pieSlicePath(300,180,110,n,n+o)),i.setAttribute("data-docx-chart-point-index",`${s}`),i.style.fill=this.chartColor(s),e.appendChild(i),this.drawLegend(e,t.categories[s]||`${s+1}`,s,450,90+22*s),n+=o})}drawCombinedChartAxes(e,t,r){let n=0;const a=[];for(const s of r){const r=this.resolveChartAxes(t,s.localName,s),o=this.parseChartSeries(s,s.localName);if(!r?.category||!r.value||!o.length)continue;const i=this.createSvgElement("g");i.setAttribute("data-docx-chart-axis-group",s.localName),i.setAttribute("data-docx-chart-value-axis-id",this.chartChild(r.value,"axId")?.getAttribute("val")??""),e.appendChild(i),this.drawDateLineChart(i,o,r,{type:s.localName,group:s,colorOffset:n,noLegend:!0,seriesNodes:this.chartChildren(s,"ser")}),this.drawChartAxisTitles(e,r),n+=o.length,a.push(...o.map(e=>e.name))}this.drawBottomLegend(e,a,335),this.syncChartAxisLegend(e)}drawDateLineChart(e,t,r,n={}){const a=r.category,s=r.value,o="dateAx"!=a?.localName,i=t.map(e=>e.categories.map(e=>e.trim()&&Number.isFinite(Number(e))?Number(e):NaN)),l=i.flat().filter(Number.isFinite);if(!o&&!l.length)return void this.drawLineChart(e,t);const c=t.reduce((e,t)=>Math.max(e,t.values.length,t.categories.length),1),h=this.chartChild(a,"scaling"),d=this.chartChild(s,"scaling"),u=o?0:this.chartNumber(h,"min")??l.reduce((e,t)=>Math.min(e,t),1/0);let m=o?c:this.chartNumber(h,"max")??l.reduce((e,t)=>Math.max(e,t),-1/0);m<=u&&(m=u+1);const p=this.chartValueBounds(t);let f=this.chartNumber(d,"min")??p.min,g=this.chartNumber(d,"max")??p.max;if(g<=f&&(f=p.min,g=p.max),!Number.isFinite(m-u)||!Number.isFinite(g-f))return;const b="maxMin"==this.chartChild(h,"orientation")?.getAttribute("val"),y="maxMin"==this.chartChild(d,"orientation")?.getAttribute("val"),x=e=>{const t=(e-u)/(m-u);return 60+540*(b?1-t:t)},w=e=>{const t=(e-f)/(g-f);return 300-230*(y?1-t:t)},v=(e,t)=>x(o?t+.5:e),k="r"==this.chartChild(s,"axPos")?.getAttribute("val"),C=this.chartBoolean(this.chartChild(a,"delete")),S=this.chartBoolean(this.chartChild(s,"delete")),N=this.chartChild(s,"crosses")?.getAttribute("val"),A=this.chartChild(a,"crosses")?.getAttribute("val"),P=Math.min(g,Math.max(f,this.chartNumber(s,"crossesAt")??("max"==N?g:"min"==N?f:0))),M=Math.min(m,Math.max(u,this.chartNumber(a,"crossesAt")??("max"==A?m:u)));if(C||e.appendChild(this.svgLine(60,w(P),600,w(P))),!S){const t=k?600:x(M);e.appendChild(this.svgLine(t,300,t,70))}e.setAttribute("data-docx-chart-x-range",`${u},${m}`),e.setAttribute("data-docx-chart-y-range",`${f},${g}`);const $=this.createSvgElement("svg");for(const[e,t]of Object.entries({x:60,y:70,width:540,height:230,viewBox:"60 70 540 230",overflow:"hidden"}))$.setAttribute(e,String(t));if($.setAttribute("data-docx-chart-date-plot","true"),e.appendChild($),t.forEach((e,r)=>{const a=n.seriesNodes?.[r],s=this.chartChild(a,"spPr"),l=(e,t)=>Array.from(e?.getElementsByTagName("*")??[]).find(e=>e.localName==t&&ho.includes(e.namespaceURI)),h=l(s,"ln"),d=l("barChart"==n.type?s:h,"srgbClr")?.getAttribute("val"),u=r+(n.colorOffset??0),m=/^[0-9a-f]{6}$/i.test(d??"")?`#${d}`:this.chartColor(u),p=h?.getAttribute("w"),b=p&&Number.isFinite(Number(p))?Math.max(0,Number(p)/9525):2,y="none"!=this.chartChild(this.chartChild(a,"marker"),"symbol")?.getAttribute("val");let x=[];const k=()=>{if(!x.length)return;const e=this.createSvgElement("path");e.setAttribute("d",x.map(([e,t],r)=>`${r?"L":"M"}${e},${t}`).join(" ")),e.style.stroke=m,e.style.strokeWidth=String(b),e.style.fill="none",$.appendChild(e),x=[]};e.values.forEach((e,a)=>{const s=i[r][a];if(!o&&!Number.isFinite(s)||!Number.isFinite(e))return void k();const l=v(s,a),h=w(e),d="barChart"==n.type;d||x.push([l,h]);const p=this.createSvgElement(d?"rect":"circle"),b={"data-docx-chart-point-index":a,"data-docx-chart-series-index":u,"data-docx-chart-date-value":s,"data-docx-chart-center-x":l,"data-docx-chart-center-y":h};if(d){const e=Math.max(0,Math.min(500,this.chartNumber(n.group,"gapWidth")??150)),a=540/c/(t.length+e/100),s=w(Math.min(g,Math.max(f,0)));Object.assign(b,{x:l-t.length*a/2+r*a,y:Math.min(h,s),width:a,height:Math.abs(s-h)})}else Object.assign(b,{cx:l,cy:h,r:y?3:0});for(const[e,t]of Object.entries(b))Number.isFinite(t)&&p.setAttribute(e,String(t));p.style.fill=m,$.appendChild(p)}),k()}),!C&&"none"!=this.chartChild(a,"tickLblPos")?.getAttribute("val")){const n=this.chartChild(a,"numFmt")?.getAttribute("formatCode")??(o?"General":"yyyy/m/d"),s=o?t[0].categories.map((e,t)=>({raw:e,value:Number(e),x:v(Number(e),t),index:t})):this.chartDateTicks(a,l,u,m,r.date1904).map(e=>({raw:String(e),value:e,x:x(e)}));s.sort((e,t)=>e.x-t.x);let i=-1/0,c=null;for(const t of s){const a=this.formatChartDateLabel(t.raw,n,r.date1904),s=this.chartLegendTextWidth(a)/2;if(a==c||t.x-s<i+4)continue;const l=this.svgText(a,t.x,318,"middle","10px");l.setAttribute("data-docx-chart-date-tick",Number.isFinite(t.value)?String(t.value):t.raw),o&&l.setAttribute("data-docx-chart-category-index",String(t.index)),e.appendChild(l),i=t.x+s,c=a}}if(!S&&"none"!=this.chartChild(s,"tickLblPos")?.getAttribute("val")){const t=this.chartNumber(s,"majorUnit"),r=null!=t&&t>0?t:(g-f)/5,n=Math.floor((g-f)/r+1e-8)+1;if(n>0&&n<=100)for(let t=0;t<n;t++){const n=Number((f+t*r).toPrecision(12)),a=this.chartAxisNumberLabel(n,this.chartChild(s,"numFmt")?.getAttribute("formatCode")),o=this.svgText(a,k?606:54,w(n)+3,k?"start":"end","10px");o.setAttribute("data-docx-chart-value-tick",String(n)),e.appendChild(o)}}n.noLegend||(this.drawBottomLegend(e,t.map(e=>e.name),335),this.syncChartAxisLegend(e))}drawChartAxisTitles(e,t){for(const r of[t?.category,t?.value]){if(!r||this.chartBoolean(this.chartChild(r,"delete")))continue;const t=this.chartChild(r,"title"),n=this.chartTitleText(t);if(!n)continue;const a=this.chartChild(r,"axPos")?.getAttribute("val")??("valAx"==r.localName?"l":"b"),s=this.chartChild(this.chartChild(t,"layout"),"manualLayout"),o=this.chartNumber(s,"x"),i=this.chartNumber(s,"y"),l=null!=o&&null!=i&&"edge"==this.chartChild(s,"xMode")?.getAttribute("val")&&"edge"==this.chartChild(s,"yMode")?.getAttribute("val"),c={b:[330,349],t:[330,50],l:[16,185],r:[625,185]},h=c[a]??c.b,d=l?640*o:h[0],u=l?360*i:h[1],m=this.svgText(n,d,u,l?"start":"middle","12px");m.setAttribute("data-docx-chart-axis-title",this.chartChild(r,"axId")?.getAttribute("val")??a),l?m.setAttribute("dominant-baseline","hanging"):"l"!=a&&"r"!=a||m.setAttribute("transform",`rotate(${"l"==a?-90:90} ${d} ${u})`),e.appendChild(m)}}syncChartAxisLegend(e){const t=new Map;for(const r of Array.from(e.querySelectorAll("[data-docx-chart-series-index]"))){const e=Number(r.getAttribute("data-docx-chart-series-index"));t.has(e)||t.set(e,r.style.fill)}e.querySelector("[data-docx-chart-legend]")?.querySelectorAll("rect").forEach((e,r)=>{t.has(r)&&(e.style.fill=t.get(r))})}chartAxisNumberLabel(e,t){const r=/^(0)(?:\.(0{1,10}))?(%)?$/.exec(t??"");return r?(e*(r[3]?100:1)).toFixed(r[2]?.length??0)+(r[3]?"%":""):String(e)}chartDateTicks(e,t,r,n,a){const s=this.chartNumber(e,"majorUnit"),o=this.chartChild(e,"majorTimeUnit")?.getAttribute("val")??"days";if(null!=s&&s>0)if("days"==o){const e=Math.floor((n-r)/s+1e-9)+1;if(e>0&&e<=1e3)return Array.from({length:e},(e,t)=>r+t*s)}else if(Number.isInteger(s)&&["months","years"].includes(o)){const e=this.formatChartDateLabel(String(r),"yyyy/mm/dd",a);if(/^\d{4}\/\d{2}\/\d{2}$/.test(e)){const[t,i,l]=e.split("/").map(Number),c=[];for(let e=0;e<1e3;e++){const h=new Date(Date.UTC(t,i-1+e*s*("years"==o?12:1),1)),d=new Date(Date.UTC(h.getUTCFullYear(),h.getUTCMonth()+1,0)).getUTCDate(),u=Date.UTC(h.getUTCFullYear(),h.getUTCMonth(),Math.min(l,d));let m=(u-Date.UTC(a?1904:1899,a?0:11,a?1:31))/864e5;if(!a&&u>=Date.UTC(1900,2,1)&&m++,m+=r-Math.floor(r),!Number.isFinite(m)||m>n+1e-9)break;m>=r-1e-9&&c.push(m)}if(c.length&&c.length<1e3)return c}}return[...new Set(t)].filter(e=>e>=r&&e<=n)}formatChartDateLabel(e,t,r=!1){if(!e.trim()||!Number.isFinite(Number(e)))return e;const n=Number(e),a=Math.floor(n);if(a<0||a>(r?2957003:2958465))return e;const s=Math.min(86399999,Math.round(864e5*(n-a))),o=new Date(Date.UTC(r?1904:1899,r?0:11,r?1:31)+864e5*(a-(!r&&a>60?1:0))+s),i=!r&&60==a,l=i?1900:o.getUTCFullYear(),c=i?2:o.getUTCMonth()+1,h=i?29:o.getUTCDate(),d=(e,t=2)=>String(e).padStart(t,"0"),u=["January","February","March","April","May","June","July","August","September","October","November","December"],m=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];let p="",f=!1;for(let e=0;e<(t??"").length;e++){const r=t[e];if("\\"==r&&e+1<t.length)p+=r+t[++e];else{if('"'==r&&(f=!f),";"==r&&!f)break;p+=r}}if(!p||f)return e;const g=p.match(/"[^"]*"|\\.|\[\$-[\w-]+\]|AM\/PM|A\/P|y+|m+|d+|h+|s+|./gi)??[];if(!g.some(e=>/^(y+|m+|d+|h+|s+)$/i.test(e)))return e;const b=g.some(e=>/^(AM\/PM|A\/P)$/i.test(e));let y="";for(let t=0;t<g.length;t++){const r=g[t],n=r.toLowerCase();if(r.startsWith('"')){y+=r.slice(1,-1);continue}if(r.startsWith("\\")){y+=r.slice(1);continue}if(/^\[\$-/i.test(r)){if(!/^\[\$-(409|en-us)\]$/i.test(r))return e;continue}const a=g.slice(0,t).reverse().find(e=>/^[ymdhs]+$/i.test(e)),s=g.slice(t+1).find(e=>/^[ymdhs]+$/i.test(e));if(/^y{1,4}$/.test(n))y+=n.length<=2?d(l%100):d(l,4);else if(/^m{1,5}$/.test(n)){y+=/^h+$/i.test(a??"")||/^s+$/i.test(s??"")?1==n.length?o.getUTCMinutes():d(o.getUTCMinutes()):1==n.length?c:2==n.length?d(c):3==n.length?u[c-1].slice(0,3):4==n.length?u[c-1]:u[c-1][0]}else if(/^d{1,4}$/.test(n))y+=1==n.length?h:2==n.length?d(h):3==n.length?m[o.getUTCDay()].slice(0,3):m[o.getUTCDay()];else if(/^h{1,2}$/.test(n)){const e=b?o.getUTCHours()%12||12:o.getUTCHours();y+=1==n.length?e:d(e)}else if(/^s{1,2}$/.test(n))y+=1==n.length?o.getUTCSeconds():d(o.getUTCSeconds());else if(/^(am\/pm|a\/p)$/.test(n)){const e=o.getUTCHours()<12?"AM":"PM",t="a/p"==n?e[0]:e;y+=r==n?t.toLowerCase():t}else{if(!/^[\s/.,:\-年月日时分秒()]$/.test(r))return e;y+=r}}return y}pieSlicePath(e,t,r,n,a){const s=this.polar(e,t,r,a),o=this.polar(e,t,r,n),i=a-n<=180?"0":"1";return`M${e},${t} L${s.x},${s.y} A${r},${r} 0 ${i},0 ${o.x},${o.y} Z`}polar(e,t,r,n){const a=(n-90)*Math.PI/180;return{x:e+r*Math.cos(a),y:t+r*Math.sin(a)}}drawLegend(e,t,r,n,a){const s=this.createSvgElement("rect");s.setAttribute("x",`${n}`),s.setAttribute("y",""+(a-10)),s.setAttribute("width","10"),s.setAttribute("height","10"),s.style.fill=this.chartColor(r),e.appendChild(s),e.appendChild(this.svgText(t,n+14,a,"start","10px"))}drawBottomLegend(e,t,r){if(0==t.length)return;const n=t.map(e=>14+this.chartLegendTextWidth(e)),a=n.reduce((e,t)=>e+t,0)+18*Math.max(0,t.length-1),s=this.createSvgElement("g");s.setAttribute("data-docx-chart-legend","bottom"),s.setAttribute("transform",`translate(${Math.max(0,(640-a)/2)}, 0)`);let o=0;t.forEach((e,t)=>{this.drawLegend(s,e,t,o,r),o+=n[t]+18}),e.appendChild(s)}chartLegendTextWidth(e){return Array.from(e).reduce((e,t)=>/\s/.test(t)?e+3:e+((t.codePointAt(0)??0)>255?10:6),0)}chartColor(e){return`hsl(${47*e%360}, 65%, 48%)`}renderSmartArtSvg(e){const t=e.documentElement,r=this.elementsByLocal(t,"pt").map(e=>({id:e.getAttribute("modelId"),type:e.getAttribute("type"),text:this.elementsByLocal(e,"t").map(e=>e.textContent).filter(Boolean).join(" ").trim()})).filter(e=>e.id&&e.text&&"doc"!=e.type),n=this.elementsByLocal(t,"cxn").map(e=>({src:e.getAttribute("srcId"),dst:e.getAttribute("destId")})).filter(e=>e.src&&e.dst&&r.some(t=>t.id==e.src)&&r.some(t=>t.id==e.dst)),a=this.createSvgElement("svg",{style:{width:"100%",height:"100%",display:"block"}});if(a.setAttribute("viewBox","0 0 640 360"),a.setAttribute("preserveAspectRatio","xMidYMid meet"),0==r.length)return a.appendChild(this.svgText("SmartArt",320,180,"middle","18px")),a;const s=this.layoutDiagramNodes(r,n),o={},i=140,l=Math.min(90,260/Math.max(s.length,1));s.forEach((e,t)=>{const r=55+t*l,n=560/Math.max(e.length,1);e.forEach((e,t)=>{o[e.id]={x:40+n*t+Math.max(0,n-i)/2,y:r}})});for(const e of n){const t=o[e.src],r=o[e.dst];t&&r&&a.appendChild(this.svgLine(t.x+70,t.y+44,r.x+70,r.y))}return r.forEach((e,t)=>{const r=o[e.id];if(!r)return;const n=this.createSvgElement("rect");n.setAttribute("x",`${r.x}`),n.setAttribute("y",`${r.y}`),n.setAttribute("width","140"),n.setAttribute("height","44"),n.setAttribute("rx","8"),n.style.fill=this.chartColor(t),n.style.opacity="0.18",n.style.stroke=this.chartColor(t),a.appendChild(n),a.appendChild(this.svgText(e.text,r.x+70,r.y+27,"middle","11px"))}),a}layoutDiagramNodes(e,t){const r=new Map(e.map(e=>[e.id,0]));t.forEach(e=>r.set(e.dst,(r.get(e.dst)??0)+1));let n=e.filter(e=>0==(r.get(e.id)??0));const a=new Set,s=[];for(0==n.length&&(n=e.slice(0,1));n.length>0;){s.push(n),n.forEach(e=>a.add(e.id));const r=t.filter(e=>n.some(t=>t.id==e.src)).map(e=>e.dst).filter(e=>!a.has(e));n=[...new Set(r)].map(t=>e.find(e=>e.id==t)).filter(Boolean)}const o=e.filter(e=>!a.has(e.id));return o.length>0&&s.push(o),s}renderInkSvg(e){const t=this.createSvgElement("svg",{style:{width:"100%",height:"100%",display:"block"}});t.setAttribute("viewBox","0 0 640 360"),t.setAttribute("preserveAspectRatio","xMidYMid meet");const r=this.elementsByLocal(e.documentElement,"trace").map(e=>this.inkTraceToPoints(e.textContent)),n=this.elementsByLocal(e.documentElement,"path").map(e=>e.getAttribute("d")).filter(Boolean);if(0==r.length&&0==n.length)return t.appendChild(this.svgText("Ink",320,180,"middle","18px")),t;const a=r.flat(),s=Math.min(...a.map(e=>e[0]),0),o=Math.min(...a.map(e=>e[1]),0),i=Math.max(...a.map(e=>e[0]),640),l=Math.max(...a.map(e=>e[1]),360),c=Math.min(600/Math.max(i-s,1),320/Math.max(l-o,1)),h=20-s*c,d=20-o*c;for(const e of r){if(e.length<2)continue;const r=this.createSvgElement("path");r.setAttribute("d",e.map((e,t)=>`${0==t?"M":"L"}${e[0]*c+h},${e[1]*c+d}`).join(" ")),r.style.fill="none",r.style.stroke="currentColor",r.style.strokeWidth="2",r.style.strokeLinecap="round",r.style.strokeLinejoin="round",t.appendChild(r)}for(const e of n){const r=this.createSvgElement("path");r.setAttribute("d",e),r.style.fill="none",r.style.stroke="currentColor",r.style.strokeWidth="2",t.appendChild(r)}return t}inkTraceToPoints(e){const t=(e??"").match(/-?\d+(?:\.\d+)?/g)?.map(Number)??[],r=[];for(let e=0;e+1<t.length;e+=2)r.push([t[e],t[e+1]]);return r}svgLine(e,t,r,n){const a=this.createSvgElement("line");return a.setAttribute("x1",`${e}`),a.setAttribute("y1",`${t}`),a.setAttribute("x2",`${r}`),a.setAttribute("y2",`${n}`),a.style.stroke="currentColor",a.style.strokeWidth="1",a}svgText(e,t,r,n="start",a="12px",s=null){const o=this.createSvgElement("text");return o.setAttribute("x",`${t}`),o.setAttribute("y",`${r}`),o.setAttribute("text-anchor",n),o.style.fill="currentColor",o.style.fontSize=a,s&&(o.style.fontWeight=s),o.appendChild(document.createTextNode(e)),o}elementsByLocal(e,t){const r=e.documentElement??e;return Array.from(r.getElementsByTagName("*")).filter(e=>e.localName==t)}firstByLocal(e,t){return this.elementsByLocal(e,t)[0]??null}renderSimpleField(e){const t=this.evaluateFieldNode(e);return void 0===t?this.renderElements(e.children??[]):null==t?null:w(t)?this.renderFieldText(t,e.instruction):t}renderFieldText(e,t){const r=this.h({tagName:"span",className:`${this.className}-field`,children:[e]});return t&&(r.dataset.docxFieldInstr=t),r}evaluateFieldNode(e){const t=(e.instruction??"").replace(/\s+/g," ").trim();if(!t)return;if(t.startsWith("=")){const e=this.evaluateFormula(t.substring(1));return null==e?void 0:this.applyFieldFormatting(`${e}`,t)}const r=this.tokenizeFieldInstruction(t),n=r[0]?.replace(/^=/,"").toUpperCase();if(!this.shouldPreserveStoredFieldResult(n,e))switch(n){case"PAGE":return this.applyFieldFormatting(this.formatFieldNumber(this.currentPageNumber,this.currentSectionProps?.pageNumber?.format),t);case"NUMPAGES":return this.applyFieldFormatting(this.formatFieldNumber(this.totalPages,this.currentSectionProps?.pageNumber?.format),t);case"SECTIONPAGES":return this.applyFieldFormatting(this.formatFieldNumber(this.sectionPageCount,this.currentSectionProps?.pageNumber?.format),t);case"SECTION":return this.applyFieldFormatting(this.formatFieldNumber(this.currentSectionNumber,"decimal"),t);case"DATE":case"TIME":case"CREATEDATE":case"SAVEDATE":case"PRINTDATE":return this.applyFieldFormatting(this.evaluateDateField(r,n),t);case"AUTHOR":return this.applyFieldFormatting(this.document.corePropsPart?.props?.creator??"",t);case"TITLE":return this.applyFieldFormatting(this.document.corePropsPart?.props?.title??"",t);case"SUBJECT":return this.applyFieldFormatting(this.document.corePropsPart?.props?.subject??"",t);case"KEYWORDS":return this.applyFieldFormatting(this.document.corePropsPart?.props?.keywords??"",t);case"NUMWORDS":return this.applyFieldFormatting(`${this.document.extendedPropsPart?.props?.words??""}`,t);case"NUMCHARS":return this.applyFieldFormatting(`${this.document.extendedPropsPart?.props?.characters??""}`,t);case"FILENAME":return this.applyFieldFormatting(this.document.documentPart?.path?.split("/").pop()??"",t);case"DOCPROPERTY":return this.applyFieldFormatting(this.evaluateDocPropertyField(r),t);case"DOCVARIABLE":return this.applyFieldFormatting(this.evaluateDocVariableField(r),t);case"MERGEFIELD":return;case"SET":return this.evaluateSetField(r),null;case"QUOTE":return this.applyFieldFormatting(r.slice(1).map(e=>this.resolveFieldValue(e)).join(""),t);case"HYPERLINK":return this.renderHyperlinkField(r,e);case"IF":return this.applyFieldFormatting(this.evaluateIfField(r),t);case"REF":case"STYLEREF":case"NOTEREF":return this.applyFieldFormatting(this.evaluateRefField(r),t);case"PAGEREF":return this.applyFieldFormatting(this.evaluatePageRefField(r),t);case"SEQ":return this.applyFieldFormatting(this.evaluateSeqField(r),t);case"LISTNUM":return this.applyFieldFormatting(this.evaluateListNumField(r),t);case"TC":case"XE":return null;case"TOC":return this.renderTocField(r);case"SYMBOL":return this.evaluateSymbolField(r)}}shouldPreserveStoredFieldResult(e,t){if(!this.options.preserveComplexFieldResults||!t.children?.length)return!1;switch(e){case"PAGE":case"NUMPAGES":case"SECTIONPAGES":case"SECTION":return!1;case"PAGEREF":return!this.options.updatePageReferences;case"TOC":case"REF":case"STYLEREF":case"NOTEREF":case"SEQ":case"LISTNUM":case"IF":case"DOCVARIABLE":case"MERGEFIELD":return!0}return!1}tokenizeFieldInstruction(e){const t=[];let r="",n=null,a=!1;for(const s of e)a?(r+=s,a=!1):"\\"!=s?'"'!=s&&"'"!=s?!/\s/.test(s)||n?r+=s:r&&(t.push(r),r=""):n==s?(n=null,t.push(r),r=""):n?r+=s:(r.trim()&&t.push(r.trim()),r="",n=s):n?a=!0:(r&&(t.push(r),r=""),r="\\");return r&&t.push(r),t}fieldSwitch(e,t){const r=t.toLowerCase(),n=e.findIndex(e=>e.toLowerCase()==r);return n>=0?e[n+1]:null}hasFieldSwitch(e,t){const r=t.toLowerCase();return e.some(e=>e.toLowerCase()==r)}firstFieldArgument(e,t=1){for(let r=t;r<e.length;r++){if(!e[r]?.startsWith("\\"))return e[r];r++}return null}evaluateDateField(e,t){const r=this.fieldSwitch(e,"\\@"),n=new Date;return r?this.formatFieldDate(n,r):"TIME"==t?n.toLocaleTimeString():n.toLocaleDateString()}formatFieldDate(e,t){const r=(e,t=2)=>`${e}`.padStart(t,"0"),n=["January","February","March","April","May","June","July","August","September","October","November","December"],a=n.map(e=>e.substring(0,3)),s=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],o=s.map(e=>e.substring(0,3)),i=[[/yyyy/g,`${e.getFullYear()}`],[/yy/g,r(e.getFullYear()%100)],[/MMMM/g,n[e.getMonth()]],[/MMM/g,a[e.getMonth()]],[/MM/g,r(e.getMonth()+1)],[/M/g,`${e.getMonth()+1}`],[/dddd/g,s[e.getDay()]],[/ddd/g,o[e.getDay()]],[/dd/g,r(e.getDate())],[/d/g,`${e.getDate()}`],[/HH/g,r(e.getHours())],[/H/g,`${e.getHours()}`],[/hh/g,r((e.getHours()+11)%12+1)],[/h/g,""+((e.getHours()+11)%12+1)],[/mm/g,r(e.getMinutes())],[/m/g,`${e.getMinutes()}`],[/ss/g,r(e.getSeconds())],[/s/g,`${e.getSeconds()}`],[/AM\/PM/g,e.getHours()<12?"AM":"PM"],[/am\/pm/g,e.getHours()<12?"am":"pm"]];let l=t;for(const[e,t]of i)l=l.replace(e,t);return l}evaluateDocPropertyField(e){const t=this.firstFieldArgument(e)?.toLowerCase();if(!t)return"";const r={...this.document.corePropsPart?.props??{},...this.document.extendedPropsPart?.props??{}};for(const[e,n]of Object.entries(r))if(e.toLowerCase()==t)return null==n?"":`${n}`;return""}evaluateSetField(e){const t=this.firstFieldArgument(e);if(!t)return;const r=e.slice(e.indexOf(t)+1).filter(e=>!e.startsWith("\\")).map(e=>this.resolveFieldValue(e)).join(" ");this.fieldSetValues[t]=r}evaluateDocVariableField(e){const t=this.firstFieldArgument(e);return t?this.fieldSetValues[t]??"":""}renderHyperlinkField(e,t){const r=this.fieldSwitch(e,"\\l"),n=this.firstFieldArgument(e)??"",a=r?`${n}#${r}`:n,s=this.h({tagName:"a",children:this.renderHyperlinkChildren(t.children??[])});return this.applyHyperlinkTarget(s,a,!!n),s.textContent||(s.textContent=a||r),s}evaluateIfField(e){const t=["<>",">=","<=","=",">","<"],r=e.findIndex((e,r)=>r>0&&t.includes(e));if(r<0)return"";const n=this.resolveFieldValue(e.slice(1,r).join(" ")),a=e[r],s=this.resolveFieldValue(e[r+1]??""),o=e[r+2]??"",i=e[r+3]??"",l=parseFloat(n),c=parseFloat(s),h=!Number.isNaN(l)&&!Number.isNaN(c),d=h?l:n,u=h?c:s;let m=!1;switch(a){case"=":m=d==u;break;case"<>":m=d!=u;break;case">":m=d>u;break;case"<":m=d<u;break;case">=":m=d>=u;break;case"<=":m=d<=u}return this.resolveFieldValue(m?o:i)}resolveFieldValue(e){const t=(e??"").trim();if(/^[-+]?\d+(?:\.\d+)?$/.test(t))return t;if(this.bookmarkTextMap.hasOwnProperty(t))return this.bookmarkTextMap[t];if(this.fieldSetValues.hasOwnProperty(t))return this.fieldSetValues[t];if(t.startsWith("=")){const e=this.evaluateFormula(t.substring(1));return null==e?"":`${e}`}const r=this.tokenizeFieldInstruction(t)[0]?.toUpperCase();if(["PAGE","NUMPAGES","SECTIONPAGES","SECTION","DATE","TIME","AUTHOR","TITLE","SUBJECT","KEYWORDS","REF","PAGEREF","SEQ","DOCPROPERTY"].includes(r)){const e=this.evaluateFieldNode({type:ze.SimpleField,instruction:t,lock:!1,dirty:!1,children:[]});if(w(e))return e}return t}evaluateRefField(e){const t=this.firstFieldArgument(e);return t?this.bookmarkTextMap[t]??this.fieldSetValues[t]??"":""}evaluatePageRefField(e){const t=this.firstFieldArgument(e);return t?`${null!=this.bookmarkTextMap[t]?Math.max(this.currentPageNumber,1):1}`:""}evaluateSeqField(e){const t=this.firstFieldArgument(e);if(!t)return"";if(this.hasFieldSwitch(e,"\\h"))return"";const r=this.fieldSwitch(e,"\\r"),n=this.hasFieldSwitch(e,"\\c");null!=r?this.fieldSeqCounters[t]=parseInt(r,10)||0:n||(this.fieldSeqCounters[t]=(this.fieldSeqCounters[t]??0)+1);const a=this.fieldSwitch(e,"\\*")??"decimal";return this.formatFieldNumber(this.fieldSeqCounters[t]??0,this.fieldFormatSwitchToNumFormat(a))}evaluateListNumField(e){const t=this.firstFieldArgument(e)??"LISTNUM";this.fieldSeqCounters[t]=(this.fieldSeqCounters[t]??0)+1;const r=this.fieldSwitch(e,"*")??"decimal";return this.formatFieldNumber(this.fieldSeqCounters[t],this.fieldFormatSwitchToNumFormat(r))}renderTocField(e){let t=1,r=9;const n=this.fieldSwitch(e,"\\o");if(n){const e=/(\d+)\s*-\s*(\d+)/.exec(n);e&&(t=parseInt(e[1],10),r=parseInt(e[2],10))}const a=this.tocEntries.filter(e=>e.level>=t&&e.level<=r).map(e=>{const t=this.h({tagName:"span",className:`${this.className}-toc-page`,children:["1"]});return t.dataset.docxPageRef=e.id,this.h({tagName:"div",className:`${this.className}-toc-entry ${this.className}-toc-level-${e.level}`,children:[this.h({tagName:"a",className:`${this.className}-toc-title`,href:`#${e.id}`,children:[e.text]}),t]})});return this.h({tagName:"div",className:`${this.className}-toc`,children:a})}evaluateSymbolField(e){const t=parseInt(e[1],10);return Number.isFinite(t)?String.fromCharCode(t):""}evaluateFormula(e){const t=e.replace(/,/g,"").trim();if(!/^[0-9+\-*/().\s]+$/.test(t))return null;try{const e=Function(`"use strict"; return (${t});`)();return Number.isFinite(e)?e:null}catch{return null}}applyFieldFormatting(e,t){const r=this.tokenizeFieldInstruction(t);let n=e??"";const a=this.fieldSwitch(r,"\\*"),s=a?.toUpperCase(),o=this.fieldSwitch(r,"\\#");if(o){const e=parseFloat(n);Number.isNaN(e)||(n=this.formatNumberPicture(e,o))}switch(s){case"UPPER":n=n.toUpperCase();break;case"LOWER":n=n.toLowerCase();break;case"FIRSTCAP":n=n.substring(0,1).toUpperCase()+n.substring(1).toLowerCase();break;case"CAPS":n=n.replace(/\b\w/g,e=>e.toUpperCase());break;case"ROMAN":{const e=parseInt(n,10);Number.isNaN(e)||(n="roman"==a?this.toRoman(e).toLowerCase():this.toRoman(e).toUpperCase());break}case"ALPHABETIC":{const e=parseInt(n,10);Number.isNaN(e)||(n="alphabetic"==a?this.toLetters(e).toLowerCase():this.toLetters(e).toUpperCase());break}}return n}formatNumberPicture(e,t){const r=t.indexOf("."),n=r>=0?t.length-r-1:0;let a=e.toFixed(n);if(t.includes(",")){const[e,t]=a.split(".");a=e.replace(/\B(?=(\d{3})+(?!\d))/g,",")+(null!=t?`.${t}`:"")}return a}fieldFormatSwitchToNumFormat(e){if("roman"==e)return"lowerRoman";if("alphabetic"==e)return"lowerLetter";switch(e?.toUpperCase()){case"ROMAN":return"upperRoman";case"ALPHABETIC":return"upperLetter";default:return"decimal"}}formatFieldNumber(e,t){switch(t){case"upperRoman":return this.toRoman(e).toUpperCase();case"lowerRoman":return this.toRoman(e).toLowerCase();case"upperLetter":return this.toLetters(e).toUpperCase();case"lowerLetter":return this.toLetters(e).toLowerCase();case"decimalZero":return e<10?`0${e}`:`${e}`;default:return`${e}`}}toRoman(e){const t=[[1e3,"M"],[900,"CM"],[500,"D"],[400,"CD"],[100,"C"],[90,"XC"],[50,"L"],[40,"XL"],[10,"X"],[9,"IX"],[5,"V"],[4,"IV"],[1,"I"]];let r=Math.max(Math.floor(e),0),n="";for(const[e,a]of t)for(;r>=e;)n+=a,r-=e;return n||`${e}`}toLetters(e){let t=Math.max(Math.floor(e),1),r="";for(;t>0;)t--,r=String.fromCharCode(65+t%26)+r,t=Math.floor(t/26);return r}renderRuby(e){const t=e.children?.find(e=>e.type==ze.RubyBase),r=e.children?.find(e=>e.type==ze.RubyText),n=[...t?this.renderElements(t.children):[],...r?C(this.renderElement(r)).filter(e=>null!=e):[]],a=this.h({tagName:"ruby",children:n});return e.align&&(a.style.rubyAlign=e.align),a}hasRenderedContent(e){for(const t of e??[]){if(!t)continue;const e=t,r=e.nodeType,n=String(e.localName??e.tagName??e.nodeName??"").toLowerCase();if(3==r||"#text"==n){if((e.textContent??e.text??e.data??"").length)return!0;continue}if(["br","img","svg","math","table"].includes(n))return!0;if((e.textContent??"").length)return!0;const a=Array.from(e.childNodes??e.children??[]);if(a.length&&this.hasRenderedContent(a))return!0}return!1}renderText(e){return this.h(this.applyCjkLineBreakGuards(e.text))}applyCjkLineBreakGuards(e){if(!e||!this.document.settingsPart?.settings?.kinsoku)return e;const t=this.document.settingsPart.settings.noLineBreaksBefore??"!),.:;?]}¢°·'\"†‡›℃∶、。々〉》」』】〕〗〙〛〜゠ァィゥェォッャュョヮ・ー-?!%,.:;゛゜ヽヾゝゞー",r=this.document.settingsPart.settings.noLineBreaksAfter??"([{$£¥'\"“‘〈《「『【〔〖〘〚";let n="";for(const a of e)t.includes(a)&&(n+=""),n+=a,r.includes(a)&&(n+="");return n}renderDeletedText(e){return Us(this.options)||js(Vs(this.options))?this.renderText(e):null}renderBreak(e){switch(e.break){case"textWrapping":case"line":return this.h({tagName:"br"});case"column":return this.h({tagName:"span",style:{breakAfter:"column"}});case"page":return this.options.breakPages?null:this.h({tagName:"span",style:{breakAfter:"page"}});case"lastRenderedPageBreak":return this.options.breakPages||this.options.ignoreLastRenderedPageBreak?null:this.h({tagName:"span",style:{breakAfter:"page"}})}return null}renderInserted(e){return Us(this.options)?this.renderRevisionContainer(e,"ins"):"original"==Vs(this.options)?null:this.renderElements(e.children)}renderDeleted(e){return Us(this.options)?this.renderRevisionContainer(e,"del"):"original"==Vs(this.options)?this.renderElements(e.children):null}renderRevisionContainer(e,t){const r=this.renderContainer(e,t),n=e.props?.revision,a=n?.kind??("ins"==t?"insert":"delete");r.dataset.docxChangeKind=a,this.hasOwnRevisionContent(e)||(r.dataset.docxChangeEmpty="true"),r.style.setProperty("--docx-review-color",ao(n?.author)),null!=n?.id&&(r.dataset.docxChangeId=`${n.id}`),n?.author&&(r.dataset.docxChangeAuthor=n.author),n?.date&&(r.dataset.docxChangeDate=n.date,r.setAttribute("datetime",n.date));const s=[n?.author,n?.date].filter(Boolean).join(" - ");return s&&r.setAttribute("title",s),r}hasOwnRevisionContent(e){const t=e=>{for(const r of e.children??[])if(!r.props?.revision){if((r.type==ze.Text||r.type==ze.DeletedText)&&(r.text??"").length)return!0;if(r.type==ze.Tab||r.type==ze.PositionalTab||r.type==ze.Break||r.type==ze.Symbol)return!0;if(t(r))return!0}return!1};return t(e)}renderSymbol(e){const t=function(e,t){const r=String.fromCharCode(t);if("symbol"!==(e??"").trim().replace(/^(["'])(.*)\1$/,"$2").trim().toLowerCase())return{text:r,normalized:!1};const n=t>=61440&&t<=61695?t-61440:t,a=n>=0&&n<=255?es[n]:void 0,s=void 0===a?r:String.fromCharCode(a);return{text:s,normalized:s!==r}}(e.font,e.char),r=this.h({tagName:"span",children:[t.text],style:{fontFamily:e.font}});return Number.isFinite(e.char)&&r.setAttribute("data-docx-symbol-code",e.char.toString(16).padStart(4,"0").toUpperCase()),e.font&&r.setAttribute("data-docx-symbol-font",e.font),t.normalized&&r.setAttribute("data-docx-symbol-normalized","true"),r}renderFootnoteReference(e){return this.renderNoteReference(e,"footnote")}renderEndnoteReference(e){return this.renderNoteReference(e,"endnote")}renderNoteReference(e,t){const r=this.h({tagName:"sup",children:[]});r.dataset.docxNoteReference=t,r.dataset.docxNoteId=e.id;for(let t=e;t;t=t.parent)if(this.isHiddenRevisionForPagination(t))return r.dataset.docxNoteHidden="true",r;const n="footnote"===t?"footnoteProps":"endnoteProps",a=function(e,t){return{format:t?.numberingFormat??t?.nummeringFormat??e?.numberingFormat??e?.nummeringFormat??"decimal",start:t?.start??e?.start??1,restart:t?.restart??e?.restart??"continuous"}}(this.document.settingsPart?.settings?.[n],this.currentSectionProps?.[n]);let s=this.noteSectionIds.get(this.currentSectionProps);null==s&&(s=`${this.noteSectionIds.size+1}`,this.noteSectionIds.set(this.currentSectionProps,s));const o=this.noteNumbering.assign(t,e.id,!!e.customMarkFollows,a,s,`${this.notePageIndex}`),i="footnote"===t?this.currentFootnoteIds:this.currentEndnoteIds;return i.includes(e.id)||i.push(e.id),r.dataset.docxNoteSection=s,r.dataset.docxNoteFormat=a.format,r.dataset.docxNoteStart=`${a.start}`,r.dataset.docxNoteRestart=a.restart,this.applyNoteAssignment(r,o,!0),r}updateDynamicNoteNumbers(e){const t=Array.from(e.querySelectorAll(`:scope > section.${this.className}`)),r=new he;for(let e=0;e<t.length;e++)for(const n of Array.from(t[e].querySelectorAll("article [data-docx-note-reference]"))){if("true"===n.dataset.docxNoteHidden)continue;const t=r.assign(n.dataset.docxNoteReference,n.dataset.docxNoteId,"true"===n.dataset.docxNoteCustom,{format:n.dataset.docxNoteFormat,start:Number(n.dataset.docxNoteStart),restart:n.dataset.docxNoteRestart},n.dataset.docxNoteSection,`${e+1}`);this.applyNoteAssignment(n,t,!0)}for(const t of Array.from(e.querySelectorAll("li[data-docx-note-id]")))this.applyNoteAssignment(t,r.assignments.get(`${t.dataset.docxNoteKind}:${t.dataset.docxNoteId}`),!1)}renderTab(e){const t=this.currentParagraph??function(e,t){var r=e.parent;for(;null!=r&&r.type!=t;)r=r.parent;return r}(e,ze.Paragraph),r=t?.tabs??[],n=r.filter(e=>"clear"!=e?.style),a=this.currentParagraphTabIndex++,s=this.resolveRenderedTabStop(n,a,this.currentParagraphTabCount);var o=this.h({tagName:"span",className:this.tabStopClass(),children:[" "]});return o.dataset.docxTab="true",s&&(o.dataset.docxTabAlign=s.style??"left",o.dataset.docxTabLeader=s.leader??"none",s.position&&(o.dataset.docxTabPos=s.position)),o.dataset.docxTabId=`${this.currentTabs.length}`,this.currentTabs.push({stops:r,span:o}),o}renderBookmarkStart(e){const t=this.h({tagName:"span"});return e.name&&(t.id=e.name,t.setAttribute("id",e.name)),t}renderRun(e){const t=e.fieldRun?e.children?.filter(e=>e.type!=ze.Instruction&&e.type!=ze.ComplexField):e.children;if(e.fieldRun&&(!t||0==t.length))return null;let r=this.renderElements(t);e.verticalAlign&&(r=[this.h({tagName:e.verticalAlign,children:r})]);if(!e.verticalAlign&&1==t?.length&&(t[0].type==ze.Tab||t[0].type==ze.PositionalTab)&&1==r?.length){const t=r[0];return e.cssStyle&&Object.assign(t.style,e.cssStyle),e.className&&t.classList.add(e.className),t}const n=this.toHTML(e,Hs.html,"span",r),a=this.findStyle(e.styleName),s=e.cssStyle?.["--docx-snap-to-grid"]??this.styleValue(a,"span","--docx-snap-to-grid");if(/^(0|false|off)$/i.test(s??""))n.style.letterSpacing="normal";else if(/^(1|true|on)$/i.test(s??"")){const e=this.currentSectionProps?.docGrid;"linesAndChars"!=e?.type&&"snapToChars"!=e?.type||!e.charSpace||(n.style.letterSpacing=e.charSpace)}return e.id&&(n.id=e.id),n}renderTable(e){e.columns?.length&&!e.cssStyle?.["table-layout"]&&(e.cssStyle??(e.cssStyle={}),e.cssStyle["table-layout"]="fixed"),this.tableCellPositions.push(this.currentCellPosition),this.tableVerticalMerges.push(this.currentVerticalMerge),this.currentVerticalMerge={},this.currentCellPosition={col:0,row:0};const t=[];return e.columns&&t.push(this.renderTableColumns(e.columns)),t.push(...this.renderElements(e.children)),this.currentVerticalMerge=this.tableVerticalMerges.pop(),this.currentCellPosition=this.tableCellPositions.pop(),this.toHTML(e,Hs.html,"table",t)}renderTableColumns(e){const t=e.map(e=>this.h({tagName:"col",style:{width:e.width}}));return this.h({tagName:"colgroup",children:t})}renderTableRow(e){this.currentCellPosition.col=e.gridBefore??0;const t=[],r=this.currentTableRow;this.currentTableRow=e,e.gridBefore&&t.push(this.renderTableCellPlaceholder(e.gridBefore)),t.push(...this.renderElements(e.children)),e.gridAfter&&t.push(this.renderTableCellPlaceholder(e.gridAfter));for(const e of Object.keys(this.currentVerticalMerge))this.currentVerticalMerge[e]?.lastRow!=this.currentCellPosition.row&&delete this.currentVerticalMerge[e];this.currentTableRow=r,this.currentCellPosition.row++;const n=this.toHTML(e,Hs.html,"tr",t);return e.isHeader&&(n.dataset.docxRepeatHeader="true"),this.repeatedTableHeaderRows.has(e)&&(n.dataset.docxRepeatedHeader="true"),n}renderTableCellPlaceholder(e){return this.h({tagName:"td",colSpan:e,style:{border:"none"}})}renderTableCell(e){const t=this.currentTableRow?.isHeader?"th":"td";let r=this.toHTML(e,Hs.html,t);const n=this.currentCellPosition.col,a=Math.max(1,e.span??1),s=this.currentVerticalMerge[n],o=r.style.getPropertyValue?.("border-bottom")||r.style["border-bottom"]||e.cssStyle?.["border-bottom"]||"",i=r.style.getPropertyPriority?.("border-bottom")||"";if(e.verticalMerge)if("restart"==e.verticalMerge)this.currentVerticalMerge[n]={cell:r,span:a,lastRow:this.currentCellPosition.row,bottomBorder:o,bottomBorderPriority:i},r.rowSpan=1;else if(s?.span==a&&s.lastRow==this.currentCellPosition.row-1){s.cell.rowSpan+=1,s.lastRow=this.currentCellPosition.row;const e=o||s.bottomBorder||"";s.cell.style.setProperty?s.cell.style.setProperty("border-bottom",e,i||s.bottomBorderPriority):s.cell.style["border-bottom"]=e,r.style.display="none"}else delete this.currentVerticalMerge[n];else delete this.currentVerticalMerge[n];return e.span&&(r.colSpan=e.span),this.currentCellPosition.col+=r.colSpan,function(e,t,r=e=>e){const n=["tl2br","tr2bl"].filter(e=>t?.[e]&&"none"!==t[e]);if(!n.length)return;const a=e.ownerDocument??document,s="http://www.w3.org/2000/svg",o=a.createElementNS(s,"svg"),i=a.createElement("span");for(const e of n){const n=/^(\d+(?:\.\d+)?)(pt|px)\s+(\w+)\s+(.+)$/.exec(t[e]);if(!n||!Number.isFinite(Number(n[1]))||Number(n[1])<=0)continue;const[,l,c,h,d]=n;if(/url\s*\(|[;{}<>\\\x00-\x1f]/i.test(d))continue;if(i.style.color="",i.style.color=d,!i.style.color)continue;const u=a.createElementNS(s,"line");u.dataset.docxDiagonal=e,u.setAttribute("x1","tl2br"===e?"0%":"100%"),u.setAttribute("y1","0%"),u.setAttribute("x2","tl2br"===e?"100%":"0%"),u.setAttribute("y2","100%"),u.style.stroke=r(i.style.color),u.style.strokeWidth=`${l}${c}`;const m=Number(l)*("pt"===c?4/3:1);"dotted"===h?(u.style.strokeDasharray="0 "+2*m,u.style.strokeLinecap="round"):"dashed"===h&&(u.style.strokeDasharray=`${4*m} ${2*m}`),o.appendChild(u)}o.hasChildNodes()&&(o.setAttribute("aria-hidden","true"),o.setAttribute("focusable","false"),Object.assign(o.style,{position:"absolute",left:"0",top:"0",width:"100%",height:"100%",overflow:"hidden",pointerEvents:"none"}),e.style.position&&"static"!==e.style.position||(e.style.position="relative"),e.appendChild(o))}(r,e.props?.diagonalBorders,e=>this.darkenColorAttr(e)),r}renderVmlPicture(e){const t=this.renderContainer(e,this.currentParagraph?"span":"div");return t.style.display="block",t}vmlLengthInPoints(e){if(null==e)return null;const t=String(e).trim();if(!/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?(?:pt|px|in|cm|mm|pc)?$/i.test(t))return null;const r=parseFloat(t);return Number.isFinite(r)?/px$/i.test(t)?.75*r:/in$/i.test(t)?72*r:/cm$/i.test(t)?72*r/2.54:/mm$/i.test(t)?72*r/25.4:/pc$/i.test(t)?12*r:r:null}vmlRenderContext(e,t){const r=k(e.cssStyleText),[n,a]=e.coordOrigin??[0,0],s=e=>Number.isFinite(e)?e:0,o=this.vmlLengthInPoints(r.width),i=this.vmlLengthInPoints(r.height),l=Math.max(0,s(t?.width??4*(o??Math.abs(e.coordSize?.[0]??1))/3)),c=Math.max(0,s(t?.height??4*(i??Math.abs(e.coordSize?.[1]??1))/3)),h=e.coordSize?.[0]??o??3*l/4,d=e.coordSize?.[1]??i??3*c/4;return{originX:s(n),originY:s(a),offsetX:s(t?.x??0),offsetY:s(t?.y??0),scaleX:h>0?s(l/h):0,scaleY:d>0?s(c/d):0,width:l,height:c}}vmlMappedValue(e,t,r,n){if(null==e)return 0;const a=String(e).trim(),s=parseFloat(a);if(!Number.isFinite(s))return 0;const o="x"==r?t.scaleX:t.scaleY,i="x"==r?t.originX:t.originY,l=n?0:"x"==r?t.offsetX:t.offsetY;let c;return c=/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)%$/.test(a)?s*("x"==r?t.width:t.height)/100+l:/(?:pt|px|in|cm|mm|pc)$/i.test(a)?4*(this.vmlLengthInPoints(a)??0)/3+l:null!=this.vmlLengthInPoints(a)?(n?s:s-i)*o+l:0,Number.isFinite(c)?c:0}vmlBounds(e,t,r){if(r)return r;const n=k(e.cssStyleText),a=null==n.width?t.width:this.vmlMappedValue(n.width,t,"x",!0),s=null==n.height?t.height:this.vmlMappedValue(n.height,t,"y",!0);return{x:null==n.left?t.offsetX:this.vmlMappedValue(n.left,t,"x",!1),y:null==n.top?t.offsetY:this.vmlMappedValue(n.top,t,"y",!1),width:Math.max(0,a),height:Math.max(0,s)}}vmlCombinedLength(e,t){if(!e)return t;if(!t)return e;const r=this.vmlLengthInPoints(e),n=this.vmlLengthInPoints(t);return null!=r&&null!=n?`${r+n}pt`:`calc(${e} + ${t})`}vmlRootStyle(e){const t=k(e.cssStyleText),r={},n=["position","display","left","top","right","bottom","margin-left","margin-top","width","height","z-index","opacity","visibility","overflow"];for(const e of n)null!=t[e]&&(r[e]=t[e]);return"page"==t["mso-position-horizontal-relative"]&&(r.left=this.vmlCombinedLength(r.left,r["margin-left"]),delete r["margin-left"]),"page"==t["mso-position-vertical-relative"]&&(r.top=this.vmlCombinedLength(r.top,r["margin-top"]),delete r["margin-top"]),r.display??(r.display="block"),r.overflow??(r.overflow="visible"),r["pointer-events"]="none",r}applyVmlAttributes(e,t,r=new Set){for(const[n,a]of Object.entries(t??{}))r.has(n)||e.setAttribute(n,"fill"==n||"stroke"==n?this.darkenColorAttr(a):a)}loadVmlImage(e,t){e.imageHref?.id&&this.tasks.push(this.document?.loadDocumentImage(e.imageHref.id,this.currentPart,this.options.externalResourcePolicy).then(e=>{e&&t.setAttribute("href",e)}))}renderVmlElement(e){const t=this.vmlRenderContext(e),r=this.vmlRootStyle(e);r.width??(r.width=`${t.width}px`),r.height??(r.height=`${t.height}px`);for(const e of["width","height"])/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)$/.test(r[e])&&(r[e]=`${t[e]}px`);const n=this.createSvgElement("svg",{style:r});if(t.width>0&&t.height>0&&null!=this.vmlLengthInPoints(r.width)&&null!=this.vmlLengthInPoints(r.height)&&n.setAttribute("viewBox",`0 0 ${t.width} ${t.height}`),n.setAttribute("preserveAspectRatio","none"),n.setAttribute("focusable","false"),n.dataset.docxVml="true","absolute"==e.cssStyle?.position){n.dataset.docxFloat="true";const t=e.props?.anchorPosition;t?.horizontal?.relative&&(n.dataset.docxAnchorHorizontal=t.horizontal.relative),t?.vertical?.relative&&(n.dataset.docxAnchorVertical=t.vertical.relative)}return n.appendChild(this.renderVmlChildElement(e,t,{x:0,y:0,width:t.width,height:t.height},!0)),n}renderVmlChildElement(e,t,r,n=!1){const a=this.vmlBounds(e,t,r),s=this.vmlRenderContext(e,a),o=k(e.cssStyleText);let i;switch(e.tagName){case"image":{const t=this.createSvgElement("svg");t.setAttribute("x",`${a.x}`),t.setAttribute("y",`${a.y}`),t.setAttribute("width",`${a.width}`),t.setAttribute("height",`${a.height}`),t.setAttribute("viewBox","0 0 100 100"),t.setAttribute("preserveAspectRatio","none"),t.setAttribute("overflow","hidden");const r=this.createSvgElement("image");this.applyVmlAttributes(r,e.attrs),r.setAttribute("x",e.attrs.x??"0"),r.setAttribute("y",e.attrs.y??"0"),r.setAttribute("width",e.attrs.width??"100%"),r.setAttribute("height",e.attrs.height??"100%"),this.loadVmlImage(e,r),t.appendChild(r),i=t;break}case"line":{const r=this.createSvgElement("line"),n=null==e.attrs.x1?a.x:this.vmlMappedValue(e.attrs.x1,t,"x",!1),s=null==e.attrs.y1?a.y:this.vmlMappedValue(e.attrs.y1,t,"y",!1),o=null==e.attrs.x2?a.x+a.width:this.vmlMappedValue(e.attrs.x2,t,"x",!1),l=null==e.attrs.y2?a.y+a.height:this.vmlMappedValue(e.attrs.y2,t,"y",!1);r.setAttribute("x1",`${n}`),r.setAttribute("y1",`${s}`),r.setAttribute("x2",`${o}`),r.setAttribute("y2",`${l}`),this.applyVmlAttributes(r,e.attrs,new Set(["x1","y1","x2","y2"])),e.attrs.stroke||r.setAttribute("stroke","currentColor"),i=r;break}case"path":{const t=this.createSvgElement("path");this.applyVmlAttributes(t,e.attrs,new Set(["d"])),t.setAttribute("d",e.attrs.d??""),t.setAttribute("transform",`matrix(${s.scaleX} 0 0 ${s.scaleY} ${a.x-s.originX*s.scaleX} ${a.y-s.originY*s.scaleY})`),t.setAttribute("vector-effect","non-scaling-stroke"),i=t;break}case"rect":{const t=this.createSvgElement("rect");t.setAttribute("x",`${a.x}`),t.setAttribute("y",`${a.y}`),t.setAttribute("width",`${a.width}`),t.setAttribute("height",`${a.height}`),this.applyVmlAttributes(t,e.attrs,new Set(["x","y","width","height"])),i=t;break}case"ellipse":{const t=this.createSvgElement("ellipse");t.setAttribute("cx",`${a.x+a.width/2}`),t.setAttribute("cy",`${a.y+a.height/2}`),t.setAttribute("rx",""+a.width/2),t.setAttribute("ry",""+a.height/2),this.applyVmlAttributes(t,e.attrs,new Set(["cx","cy","rx","ry"])),i=t;break}case"foreignObject":{const t=this.createSvgElement("foreignObject"),[r,n,s,o]=(e.textInset??["0","0","0","0"]).map(e=>4*(this.vmlLengthInPoints(e)??0)/3);t.setAttribute("x",`${a.x+r}`),t.setAttribute("y",`${a.y+n}`),t.setAttribute("width",`${Math.max(0,a.width-r-s)}`),t.setAttribute("height",`${Math.max(0,a.height-n-o)}`),this.applyVmlAttributes(t,e.attrs,new Set(["x","y","width","height"])),t.setAttribute("overflow","hidden");const l=this.createElement("div",{style:{width:"100%",height:"100%",overflow:"hidden",boxSizing:"border-box"}});l.setAttribute("xmlns",Hs.html);for(const t of e.children??[])for(const e of C(this.renderElement(t)).filter(e=>null!=e))l.appendChild(w(e)?document.createTextNode(e):e);t.appendChild(l),i=t;break}default:i=this.createSvgElement("g"),this.applyVmlAttributes(i,e.attrs)}if("foreignObject"!=e.tagName){if(e.children?.length&&"g"!=e.tagName){const e=this.createSvgElement("g");e.appendChild(i),i=e}for(const t of e.children??[])if(t.type==ze.VmlElement)i.appendChild(this.renderVmlChildElement(t,s,e.isGroup?void 0:a));else for(const e of C(this.renderElement(t)).filter(e=>null!=e))i.appendChild(w(e)?document.createTextNode(e):e)}if(e.isGroup&&"hidden"==o.overflow){const e=this.createSvgElement("svg");e.setAttribute("x",`${a.x}`),e.setAttribute("y",`${a.y}`),e.setAttribute("width",`${a.width}`),e.setAttribute("height",`${a.height}`),a.width>0&&a.height>0&&e.setAttribute("viewBox",`${a.x} ${a.y} ${a.width} ${a.height}`),e.setAttribute("overflow","hidden"),e.appendChild(i),i=e}const l=[],c=a.x+a.width/2,h=a.y+a.height/2;Number.isFinite(e.rotation)&&e.rotation&&l.push(`rotate(${e.rotation} ${c} ${h})`);const d=/x/i.test(o.flip??""),u=/y/i.test(o.flip??"");if((d||u)&&l.push(`translate(${c} ${h}) scale(${d?-1:1} ${u?-1:1}) translate(${-c} ${-h})`),l.length){const e=this.createSvgElement("g");e.setAttribute("transform",l.join(" ")),e.appendChild(i),i=e}if(!n)for(const e of["display","visibility","opacity"])null!=o[e]&&i.style.setProperty(e,o[e]);return i}renderMmlMathParagraph(e){const t=this.renderElements(e.children);for(const e of t)"math"==e?.localName&&e.setAttribute("display","block");return this.h({tagName:this.currentParagraph?"span":"div",className:`${this.className}-math-paragraph`,style:{display:"block",textAlign:"center"},children:t})}renderMmlPhantom(e){return this.renderContainerNS(e,Hs.mathML,"mphantom")}renderMmlAccent(e){const t=e.children?.find(e=>e.type==ze.MmlBase),r=this.createMathMLElement("mo",null,[e.props?.char??"^"]),n=t?C(this.renderElement(t)).filter(e=>null!=e):[];return this.createMathMLElement("mover",null,[...n,r])}renderMmlRadical(e){const t=e.children.find(e=>e.type==ze.MmlBase);if(e.props?.hideDegree)return this.createMathMLElement("msqrt",null,this.renderElements([t]));const r=e.children.find(e=>e.type==ze.MmlDegree);return this.createMathMLElement("mroot",null,this.renderElements([t,r]))}renderMmlDelimiter(e){const t=[],r=e.props?.beginChar,n=e.props?.endChar;return""!==r&&t.push(this.createMathMLElement("mo",null,[r??"("])),t.push(...this.renderElements(e.children)),""!==n&&t.push(this.createMathMLElement("mo",null,[n??")"])),this.createMathMLElement("mrow",null,t)}renderMmlNary(e){const t=[],r=b(e.children,e=>e.type),n=r[ze.MmlSuperArgument],a=r[ze.MmlSubArgument],s=n?this.createMathMLElement("mrow",null,this.renderElements(n.children)):null,o=a?this.createMathMLElement("mrow",null,this.renderElements(a.children)):null,i=this.createMathMLElement("mo",null,[e.props?.char??"∫"]);return s&&o?t.push(this.createMathMLElement("munderover",null,[i,o,s])):s?t.push(this.createMathMLElement("mover",null,[i,s])):o?t.push(this.createMathMLElement("munder",null,[i,o])):t.push(i),r[ze.MmlBase]&&t.push(...this.renderElements(r[ze.MmlBase].children)),this.createMathMLElement("mrow",null,t)}renderMmlPreSubSuper(e){const t=[],r=b(e.children,e=>e.type),n=r[ze.MmlSuperArgument],a=r[ze.MmlSubArgument],s=this.createMathMLElement("mrow",null,n?this.renderElements(n.children):[]),o=this.createMathMLElement("mrow",null,a?this.renderElements(a.children):[]),i=this.createMathMLElement("mrow",null,[]);return t.push(this.createMathMLElement("msubsup",null,[i,o,s])),r[ze.MmlBase]&&t.push(...this.renderElements(r[ze.MmlBase].children)),this.createMathMLElement("mrow",null,t)}renderMmlGroupChar(e){const t="bot"===e.props?.verticalJustification?"munder":"mover",r=this.createMathMLElement("mrow",null,this.renderElements(e.children)),n=this.createMathMLElement("mo",null,[e.props?.char??"⏞"]);return this.createMathMLElement(t,null,[r,n])}renderMmlBar(e){const t={};switch(e.props.position){case"top":t.textDecoration="overline";break;case"bottom":t.textDecoration="underline"}return this.renderContainerNS(e,Hs.mathML,"mrow",{style:t})}renderMmlRun(e){const t=this.extractMathRunText(e);if(null!=t){const r=this.renderMathTextTokens(t,e.cssStyle);return r.length?r:null}return this.renderContainerNS(e,Hs.mathML,"mrow")}extractMathRunText(e){let t="";for(const r of e.children??[])switch(r.type){case ze.Text:t+=r.text??"";break;case ze.DeletedText:js(Vs(this.options))&&(t+=r.text??"");break;case ze.Symbol:t+=String.fromCharCode(r.char);break;case ze.Tab:t+=" ";break;case ze.NoBreakHyphen:t+="‑";break;case ze.SoftHyphen:break;default:return null}return t}renderMathTextTokens(e,t){const r=[];let n=0;for(;n<e.length;){const a=e[n];if(/\s/.test(a)){let t=n+1;for(;t<e.length&&/\s/.test(e[t]);)t++;r.push(this.createMathMLElement("mspace",{width:.25*Math.max(1,t-n)+"em"})),n=t;continue}if(fo(a)){let a=n+1;for(;a<e.length&&(fo(e[a])||"."==e[a]);)a++;r.push(this.createMathToken("mn",e.substring(n,a),t)),n=a;continue}if(go(a)){let a=n+1;for(;a<e.length&&go(e[a]);)a++;r.push(this.createMathToken("mi",e.substring(n,a),t)),n=a;continue}bo(a)?r.push(this.createMathToken("mo",a,t)):r.push(this.createMathToken("mtext",a,t)),n++}return r}createMathToken(e,t,r){return this.createMathMLElement(e,r?{style:r}:null,[t])}renderMllList(e){const t=this.renderElements(e.children).map(e=>this.createMathMLElement("mtr",null,[this.createMathMLElement("mtd",null,[e])]));return this.toHTML(e,Hs.mathML,"mtable",t)}toH(e,t,r,n=null){const{$lang:a,"$lang-eastAsia":s,"$lang-bidi":o,...i}=e.cssStyle??{};return{ns:t,tagName:r,className:Ws(e.className,e.styleName&&this.processStyleName(e.styleName)),lang:a,style:this.darkenStyle(i),children:n??this.renderElements(e.children)}}darkenStyle(e){if(!this.options.darkMode)return e;const t=function(e,t){if(!e)return e;let r=e;for(const n in e){const a=e[n];if("string"!=typeof a||!a)continue;let s;Bs.has(n)||n.startsWith("--")&&n.endsWith("-color")?s=Es(a,t):Ds.has(n)&&(s=Os(a,t)),void 0!==s&&s!==a&&(r===e&&(r={...e}),r[n]=s)}return r}(e);if(t===e)return e;const r={...t};for(const n in t){if(n.startsWith("--"))continue;const a=e[n],s=t[n];s===a||"string"!=typeof s||s.toLowerCase().includes("var(")||(r[n]=this.wrapForPrint(a,s))}return r}darkenColorAttr(e){if(!this.options.darkMode)return e;const t=Es(e);return t===e||t.toLowerCase().includes("var(")?t:this.wrapForPrint(e,t)}wrapForPrint(e,t){let r=this.darkModeVarNames.get(e);return r||(r=`--docx-dm-${this.darkModeVarNames.size}`,this.darkModeVarNames.set(e,r),this.darkModePrintReset[r]=e),`var(${r}, ${t})`}renderDarkModePrintReset(){const e=Object.entries(this.darkModePrintReset);if(!this.options.darkMode||0===e.length)return[];const t=e.map(([e,t])=>` ${e}: ${t};\r\n`).join(""),r=`@media print {\r\n.${this.className} {\r\n${t}}\r\n}\r\n`;return[this.h({tagName:"style",children:[r]})]}toHTML(e,t,r,n=null){const a=this.h(this.toH(e,t,r,n));return 1===a?.nodeType&&this.applyElementRevisionMetadata(a,e),a}applyElementRevisionMetadata(e,t){const r=t.props?.revision;"insert"!==r?.kind&&"delete"!==r?.kind||(Us(this.options)?(e.dataset.docxChangeKind=r.kind,e.style.setProperty("--docx-review-color",ao(r.author)),null!=r.id&&(e.dataset.docxChangeId=`${r.id}`),r.author&&(e.dataset.docxChangeAuthor=r.author),r.date&&(e.dataset.docxChangeDate=r.date)):"delete"===r.kind&&(e.style.display="none"));const n=t.props?.formatRevisions?.[0];n&&Us(this.options)&&(e.dataset.docxFormatChange="true",e.style.setProperty("--docx-review-color",ao(n.author)),null!=n.id&&(e.dataset.docxChangeId=`${n.id}`),n.author&&(e.dataset.docxChangeAuthor=n.author),n.date&&(e.dataset.docxChangeDate=n.date))}findStyle(e){return e&&this.styleMap?.[e]}isTocParagraphStyle(e,t){return[e,t?.id,t?.name,t?.cssName,...t?.aliases??[]].filter(Boolean).map(e=>String(e).replace(/[\s_-]+/g,"").toLowerCase()).some(e=>/^toc[1-9]$/.test(e))}numberingClass(e,t){return`${this.className}-num-${e}-${t}`}numberingSelector(e,t){return`.${this.className} p.${this.numberingClass(e,t)}`}tabStopClass(){return`${this.className}-tab-stop`}scopeDocumentStyleSelector(e){const t=e.trim();return!t||t.startsWith(`.${this.className}`)||t.startsWith(`section.${this.className}`)||t.startsWith(`.${this.className}-wrapper`)?e:`.${this.className} ${e}`}styleToString(e,t,r=null){let n=`${e} {\r\n`;const a=this.darkenStyle(t);for(const e in a)e.startsWith("$")||(n+=` ${e}: ${a[e]};\r\n`);return r&&(n+=r),n+"}\r\n"}numberingCounter(e,t){return`${this.className}-num-${e}-${t}`}numberingRestartLevel(e){if(e.level<=0)return null;if(null==e.restart)return e.level-1;if(0==e.restart)return null;const t=e.restart-1;return t>=0&&t<e.level?t:null}numberingMarkerRunStyle(e,t){if(!e)return e;const r={...e};return t&&delete r["font-family"],r}normalizeNumberingLevelText(e,t,r){if("bullet"!=t||!e)return{text:e,normalized:!1};const n=(r?.["font-family"]??"").toLowerCase();let a=!1,s=null;if(n.includes("wingdings"))s=this.wingdingsBulletMap();else{if(!n.includes("symbol"))return{text:e,normalized:!1};s=this.symbolBulletMap()}let o="";for(const t of e){const e=s[t.charCodeAt(0)];e?(o+=e,a=!0):o+=t}return{text:o,normalized:a}}symbolBulletMap(){return{183:"•",8226:"•",61623:"•"}}wingdingsBulletMap(){return{61548:"●",61550:"■",61557:"◆",61598:"·",61599:"•",61600:"▪",61601:"○",61604:"◉",61605:"◎",61607:"▪",61608:"◻",61656:"➢",61672:"➔",61690:"▫",61691:"✗",61692:"✓",61693:"☒",61694:"☑"}}levelTextToContent(e,t,r,n,a){const s=[];let o=0;for(const t of e.matchAll(/%\d+/g)){t.index>o&&s.push(`"${this.escapeCssString(e.substring(o,t.index))}"`);let i=parseInt(t[0].substring(1),10)-1;const l=a?.get(`${r}:${i}`)??n??"decimal";s.push(`counter(${this.numberingCounter(r,i)}, ${l})`),o=t.index+t[0].length}const i=e.substring(o);i&&s.push(`"${this.escapeCssString(i)}"`);const l=this.numberingSuffixToCssContent(t);return l&&s.push(l),s.length>0?s.join(" "):'""'}numberingSuffixToCssContent(e){switch(e||"tab"){case"nothing":return"";case"space":return'"\\000020"';default:return'"\\000009"'}}escapeCssString(e){return e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\r?\n/g,"\\A ")}numFormatToCssValue(e){return{none:"none",bullet:"disc",decimal:"decimal",lowerLetter:"lower-alpha",upperLetter:"upper-alpha",lowerRoman:"lower-roman",upperRoman:"upper-roman",decimalZero:"decimal-leading-zero",aiueo:"katakana",aiueoFullWidth:"katakana",chineseCounting:"simp-chinese-informal",chineseCountingThousand:"simp-chinese-informal",chineseLegalSimplified:"simp-chinese-formal",chosung:"hangul-consonant",ideographDigital:"cjk-ideographic",ideographTraditional:"cjk-heavenly-stem",ideographLegalTraditional:"trad-chinese-formal",ideographZodiac:"cjk-earthly-branch",iroha:"katakana-iroha",irohaFullWidth:"katakana-iroha",japaneseCounting:"japanese-informal",japaneseDigitalTenThousand:"cjk-decimal",japaneseLegal:"japanese-formal",thaiNumbers:"thai",koreanCounting:"korean-hangul-formal",koreanDigital:"korean-hangul-formal",koreanDigital2:"korean-hanja-informal",hebrew1:"hebrew",hebrew2:"hebrew",hindiNumbers:"devanagari",ganada:"hangul",taiwaneseCounting:"cjk-ideographic",taiwaneseCountingThousand:"cjk-ideographic",taiwaneseDigital:"cjk-decimal"}[e]??e??"decimal"}refreshTabStops(e){const t=e?.querySelectorAll?Array.from(e.querySelectorAll("[data-docx-tab-id]")):this.currentTabs.map(e=>e.span);for(const e of t){if(!e.isConnected||!this.ownsLayoutElement(e))continue;const t=this.currentTabs[Number(e.dataset.docxTabId)];t&&(!cs(e,t.stops)&&this.options.experimental&&ss(e,t.stops,this.defaultTabSize,as()))}}createElementNS(e,t,r,n){return this.h({ns:e,tagName:t,children:n,...r})}createElement(e,t,r){return this.createElementNS(Hs.html,e,t,r)}createMathMLElement(e,t,r){return this.createElementNS(Hs.mathML,e,t,r)}createSvgElement(e,t,r){return this.createElementNS(Hs.svg,e,t,r)}later(e){this.postRenderTasks.push(e)}}function fo(e){return e>="0"&&e<="9"}function go(e){if(!e)return!1;const t=e.charCodeAt(0);return t>=65&&t<=90||t>=97&&t<=122||t>=913&&t<=1023||t>=119808&&t<=120831}function bo(e){return"()+-−=<>≤≥≈≠×÷*/·∙∑Σ∏∫√∞∂∇,.;:[]{}|‖!′″→←↔⇒⇔∈∉⊂⊃⊆⊇∧∨¬".includes(e)}po.nextCommentId=0;function yo(e){const t=function(e){if(null==e)return 0;if("undefined"!=typeof Blob&&e instanceof Blob)return e.size;if("undefined"!=typeof ArrayBuffer){if(e instanceof ArrayBuffer)return e.byteLength;if(ArrayBuffer.isView(e))return e.byteLength}return"number"==typeof e.size?e.size:"number"==typeof e.byteLength?e.byteLength:"number"==typeof e.length?e.length:null}(e);if(0===t)throw new Error("文件为空或尚未保存,无法作为 Word 文档打开。请在 WPS/Word 中保存后重新上传。")}const xo={ignoreHeight:!1,ignoreWidth:!1,fixedPageHeight:!0,ignoreFonts:!1,breakPages:!0,strictWordCompatibility:!0,paginationTolerance:2,maxDynamicPaginationPasses:1e3,awaitLayout:!0,useWorker:!0,workerUrl:void 0,workerFactory:void 0,workerJsZipUrl:void 0,workerFallback:!0,workerTimeout:12e4,renderPageBatchSize:2,renderYieldEveryMs:16,progress:void 0,preserveComplexFieldResults:!0,updatePageReferences:!1,hideWebHiddenContent:!1,externalLinkPolicy:"allow",externalResourcePolicy:"block",darkMode:!1,debug:!1,experimental:!1,className:"docx",inWrapper:!0,hideWrapperOnPrint:!1,trimXmlDeclaration:!0,ignoreLastRenderedPageBreak:!1,renderHeaders:!0,renderFooters:!0,renderFootnotes:!0,renderEndnotes:!0,useBase64URL:!1,renderChanges:!1,reviewMode:void 0,reviewPresentation:"balloon",renderComments:!1,renderAltChunks:!0,h:zs};function wo(e){const t={...xo,...e};return null!=e?.reviewMode&&null==e.renderComments&&(t.renderComments=!0),t}function vo(e,t,r){if("auto"!==t.reviewMode)return t;const n=_s(e,"auto");return t.reviewMode=n.enabled?n.mode:void 0,t.renderChanges=n.enabled,null==r?.renderComments&&(t.renderComments=n.enabled),t}function ko(e,t){const r=wo(t);return r.licenseToken,yo(e),function(e){return!(!e.useWorker||!e.workerFactory&&!e.workerUrl||"undefined"==typeof Worker)}(r)?$o(e,r).catch(t=>{if(!r.workerFallback)throw t;r.debug&&console.warn("docx-preview: worker parsing failed; falling back to main thread",t);const n={...r,useWorker:!1};return Co(e,n)}):Co(e,r)}function Co(e,t){return yo(e),t.progress?.({phase:"parse",message:"Parsing DOCX on main thread"}),ka.load(e,new Xa(t),t)}async function So(e,t){const r=vo(e,wo(t),t);r.licenseToken;const n=new po;return await n.render(e,r)}async function No(e,t,r,a){const l=wo(a);l.licenseToken,Lo(t);const c=n(t),h=await ko(e,l);s(t,c,!1),vo(h,l,a);const d=await So(h,l);s(t,c,!1),r??(r=t),r===t||r.replaceChildren(),t.replaceChildren();let u=0;for(let e of d){("STYLE"===e.nodeName?r:t).appendChild(e),u++,l.renderYieldEveryMs>0&&u%8==0&&(await Io(),s(t,c,!1))}!function(e){const t=Ao.get(e);t&&e.removeEventListener("click",t);const r=t=>{const r=t;if(r.defaultPrevented||0!=r.button||r.metaKey||r.ctrlKey||r.shiftKey||r.altKey)return;const n=r.target;if(!(n instanceof Element))return;const a=n.closest('a[href^="#"]');if(!a||!e.contains(a))return;const s=a.getAttribute("href");if(!s||"#"==s)return;let o=s.substring(1);try{o=decodeURIComponent(o)}catch{return}const i=Array.from(e.querySelectorAll("[id]")).find(e=>e.id==o);i&&(r.preventDefault(),i.scrollIntoView({block:"start",inline:"nearest"}))};e.addEventListener("click",r),Ao.set(e,r)}(t),Us(l)?(t.dataset.docxReviewEnabled="true",t.dataset.docxReviewMode=Vs(l),t.dataset.docxReviewPresentation=l.reviewPresentation??"balloon"):(delete t.dataset.docxReviewEnabled,delete t.dataset.docxReviewMode,delete t.dataset.docxReviewPresentation),Eo(t,l.className);let m=null;if(l.awaitLayout)l.progress?.({phase:"layout",message:"Measuring rendered pages"}),m=await To(t,l),s(t,c),Eo(t,l.className);else{const e=o(t,c);i(t,[],e).then(()=>mo(t,e)).catch(()=>{})}return function(e,t,r){Fo.get(e)?.();const n=e.ownerDocument.defaultView;if(!n||"function"!=typeof n.requestAnimationFrame||"function"!=typeof n.cancelAnimationFrame)return;let a=0,s=!1,l=!1,c=!1;const h=async()=>{if(a=0,s||l||!r.isCurrent()||!e.isConnected)return;const n=e.querySelector(`.${t.className}-wrapper`);if("true"!==n?.dataset.docxPaginating&&"true"!==n?.dataset.docxPaginationScheduled){l=!0,c=!1;try{const t=o(e,r);await i(e,[],t),await mo(e,t)}catch(e){r.isCurrent()&&"AbortError"!==e?.name&&(n&&(n.dataset.docxLayoutError=e?.message??"DOCX layout failed"),t.debug&&console.warn("DOCX layout refresh failed",e))}finally{l=!1,c&&d()}}},d=()=>{!s&&r.isCurrent()&&(l?c=!0:a||(a=n.requestAnimationFrame(()=>{h()})))},u=n.ResizeObserver?new n.ResizeObserver(d):null,m=e=>{const t=new Set(e.flatMap(e=>Array.from(e.addedNodes))),r=new Set(e.flatMap(e=>Array.from(e.removedNodes)));[...t,...r].some(e=>e.isConnected||!t.has(e)||!r.has(e))&&d()},p="function"==typeof n.MutationObserver?new n.MutationObserver(m):null;u?.observe(e),p?.observe(e,{childList:!0,subtree:!0}),n.addEventListener("resize",d),e.ownerDocument.fonts?.addEventListener?.("loadingdone",d);const f=()=>{s||(s=!0,n.cancelAnimationFrame(a),u?.disconnect(),p?.disconnect(),n.removeEventListener("resize",d),e.ownerDocument.fonts?.removeEventListener?.("loadingdone",d),r.signal.removeEventListener("abort",f))};r.signal.addEventListener("abort",f,{once:!0}),Fo.set(e,f)}(t,l,c),l.progress?.({phase:"done",current:m?.pageCount,total:m?.pageCount,message:"DOCX render complete"}),h}const Ao=new WeakMap;function Po(e){const{h:t,progress:r,licenseToken:n,workerFactory:a,...s}=e;return{...s,useWorker:!1}}let Mo=0;function $o(e,t){const r={...xo,...t};return r.licenseToken,yo(e),!r.workerFactory&&!r.workerUrl||"undefined"==typeof Worker?Co(e,{...r,useWorker:!1}):(r.progress?.({phase:"worker",message:"Starting DOCX parse worker"}),new Promise((t,n)=>{const a=++Mo,s=r.workerFactory?r.workerFactory():new Worker(r.workerUrl);let o=!1,i=null;const l=()=>{o=!0,i&&clearTimeout(i),s.terminate()};r.workerTimeout>0&&(i=setTimeout(()=>{o||(l(),n(new Error(`docx-preview worker timed out after ${r.workerTimeout}ms`)))},r.workerTimeout)),s.onerror=e=>{o||(l(),n(new Error(e.message||"docx-preview worker error")))},s.onmessage=e=>{const s=e.data??{};if(s.id===a||"ready"===s.type)if("progress"!==s.type){if("parsed"===s.type)return l(),r.progress?.({phase:"worker",message:"Worker parse complete"}),void t(ka.fromSnapshot(s.snapshot,r));if("error"===s.type){l();const e=new Error(s.error?.message??"docx-preview worker parse failed");e.stack=s.error?.stack,n(e)}}else r.progress?.({phase:"worker",current:s.current,total:s.total,message:s.message})},s.postMessage({type:"parse",id:a,data:e,options:Po(r),jsZipUrl:r.workerJsZipUrl})}))}async function To(e,t){const r={...xo,...t},n=o(e);await i(e,[],n),await mo(e,n);const a=Array.from(e.querySelectorAll(`.${r.className}-wrapper`));if(e.classList?.contains(`${r.className}-wrapper`)&&a.unshift(e),r.breakPages&&r.fixedPageHeight&&!r.ignoreHeight&&a.length){const t=Math.max(2,r.maxDynamicPaginationPasses??120),o=()=>a.some(e=>"true"===e.dataset.docxPaginating||"true"===e.dataset.docxPaginationScheduled);for(let r=0;r<t;r++){await Io(),s(e,n);const t=a.find(e=>e.dataset.docxLayoutError);if(t)throw new Error(t.dataset.docxLayoutError);if(!o())break}if(o())throw new Error("DOCX layout did not settle within the configured pagination wait budget")}return await Io(),s(e,n),await mo(e,n),s(e,n),Ro(e,r)}const Fo=new WeakMap;function Lo(e){!function(e){t.get(e)?.cancel(),t.delete(e)}(e),Fo.get(e)?.(),Fo.delete(e),function(e){const t=new Set,r=[e,...Array.from(e.querySelectorAll("[data-docx-layout-root], [data-docx-comment-layer]"))];for(const e of r){const r=uo.get(e);r&&t.add(r),uo.delete(e)}for(const e of t)e.disposeLayout()}(e);const r=Ao.get(e);r&&e.removeEventListener("click",r),Ao.delete(e)}function Ro(e,t){const r={...xo,...t},n=Array.from(e.querySelectorAll(`section.${r.className}`)).map((e,t)=>{const n=Array.from(e.querySelectorAll("[data-docx-field-instr]")),a=Array.from(e.querySelectorAll("img")).filter(e=>!e.complete||0===e.naturalWidth).length,s=e.clientHeight>0&&e.scrollHeight>e.clientHeight+(r.paginationTolerance??2);return{index:t+1,section:e.dataset.docxSection??"",pageNumber:parseInt(e.dataset.docxPageNumber??`${t+1}`,10),sectionPageNumber:parseInt(e.dataset.docxSectionPageNumber??"1",10),width:e.clientWidth,height:e.clientHeight,scrollHeight:e.scrollHeight,overflow:s,textLength:e.textContent?.length??0,anchors:Array.from(e.querySelectorAll("[id]")).map(e=>e.id).filter(Boolean),fields:n.map(e=>({instruction:e.dataset.docxFieldInstr??"",value:e.textContent??""})),floats:e.querySelectorAll('[data-docx-float="true"]').length,unresolvedMedia:a}});return{pageCount:n.length,overflowPages:n.filter(e=>e.overflow).map(e=>e.index),unresolvedMedia:n.reduce((e,t)=>e+t.unresolvedMedia,0),textLength:n.reduce((e,t)=>e+t.textLength,0),fields:n.flatMap(e=>e.fields),floats:n.reduce((e,t)=>e+t.floats,0),pages:n}}function Eo(e,t="docx"){if(!e||"function"!=typeof getComputedStyle)return;const r=Array.from(e.querySelectorAll("p")),n=`${t}-num-`;for(const e of r){if(!e.className?.includes(n))continue;const t=getComputedStyle(e,"::before");if(!t.content||"none"==t.content||"normal"==t.content)continue;const r=Bo(e);if(!r||r==e)continue;const a=getComputedStyle(r);Do(e,"--docx-marker-font-family",a.fontFamily),Do(e,"--docx-marker-font-size",a.fontSize),Do(e,"--docx-marker-font-style",a.fontStyle),Do(e,"--docx-marker-font-weight",a.fontWeight)}}function Bo(e){const t=document.createTreeWalker(e,NodeFilter.SHOW_TEXT);for(;t.nextNode();){const r=t.currentNode;if(!r.nodeValue?.trim())continue;const n=r.parentElement;if(!n||n==e)return e;const a=getComputedStyle(n);if("none"!=a.display&&"hidden"!=a.visibility)return n}return null}function Do(e,t,r){r&&e.style.setProperty(t,r)}function Io(){return new Promise(e=>{const t=globalThis;"function"==typeof t.requestIdleCallback?t.requestIdleCallback(()=>e(),{timeout:32}):"function"==typeof t.requestAnimationFrame?t.requestAnimationFrame(()=>e()):setTimeout(e,0)})}var Oo=Object.freeze({__proto__:null,awaitRenderedLayout:To,collectDocxReviewChanges:Gs,collectLayoutSnapshot:Ro,defaultOptions:xo,disposeRenderedDocument:Lo,parseAsync:ko,parseAsyncInWorker:$o,renderAsync:No,renderDocument:So,resolveDocxReviewState:_s,setDocxReviewMode:qs,syncNumberingMarkerStyles:Eo,yieldToBrowser:Io});export{To as awaitRenderedLayout,Gs as collectDocxReviewChanges,Ro as collectLayoutSnapshot,Oo as default,xo as defaultOptions,Lo as disposeRenderedDocument,ko as parseAsync,$o as parseAsyncInWorker,No as renderAsync,So as renderDocument,_s as resolveDocxReviewState,qs as setDocxReviewMode,Eo as syncNumberingMarkerStyles,Io as yieldToBrowser};
|