@eigenpal/docx-js-editor 0.0.10 → 0.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-QYKJKSKZ.cjs → chunk-56AGRHVO.cjs} +2 -2
- package/dist/{chunk-TPUJJJWA.js → chunk-E23CAQXT.js} +1 -1
- package/dist/{chunk-TRAQI6RX.cjs → chunk-GIZ5CTBD.cjs} +4 -4
- package/dist/{chunk-QOIY4Y6N.cjs → chunk-HIBC7HTU.cjs} +2 -2
- package/dist/{chunk-GQ4JYQWC.js → chunk-ICEPOA7G.js} +1 -1
- package/dist/{chunk-L2UUZRZI.js → chunk-IZGUXSCC.js} +1 -1
- package/dist/{chunk-PM4Y7OFN.js → chunk-P332HWDE.js} +4 -4
- package/dist/{chunk-H3JNHCD7.cjs → chunk-XF3IPO7C.cjs} +2 -2
- package/dist/core-plugins.cjs +1 -1
- package/dist/core-plugins.js +1 -1
- package/dist/headless.cjs +2 -2
- package/dist/headless.js +1 -1
- package/dist/index.cjs +8 -8
- package/dist/index.js +3 -3
- package/dist/mcp-cli.js +1 -1
- package/dist/mcp.cjs +3 -3
- package/dist/mcp.js +1 -1
- package/package.json +1 -1
package/dist/mcp-cli.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import Ct from'pizzip';import Ft from'docxtemplater';import lt from'jszip';import {xml2js,js2xml}from'xml-js';var dt=Object.defineProperty;var cr=(e,t,n)=>t in e?dt(e,t,{enumerable:true,configurable:true,writable:true,value:n}):e[t]=n;var mt=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var ht=(e,t)=>()=>(e&&(t=e(e=0)),t);var ur=(e,t)=>{for(var n in t)dt(e,n,{get:t[n],enumerable:true});};var me=(e,t,n)=>cr(e,typeof t!="symbol"?t+"":t,n);var Ve,re,Te=ht(()=>{Ve=class{constructor(){me(this,"plugins",new Map);me(this,"commandHandlers",new Map);me(this,"eventListeners",new Set);me(this,"initialized",new Set);}register(t,n){let r=[];if(!t.id)return {success:false,error:"Plugin must have an id"};if(this.plugins.has(t.id))return {success:false,error:`Plugin '${t.id}' is already registered`};if(t.dependencies){for(let o of t.dependencies)if(!this.plugins.has(o))return {success:false,error:`Plugin '${t.id}' requires '${o}' which is not registered`}}if(t.commandHandlers)for(let[o,i]of Object.entries(t.commandHandlers)){if(this.commandHandlers.has(o)){let s=this.commandHandlers.get(o);r.push(`Command '${o}' from '${t.id}' overrides handler from '${s.pluginId}'`);}this.commandHandlers.set(o,{pluginId:t.id,handler:i});}if(this.plugins.set(t.id,t),t.initialize&&!this.initialized.has(t.id))try{let o=t.initialize();o instanceof Promise?o.then(()=>{this.initialized.add(t.id);}).catch(i=>{this.emit({type:"error",pluginId:t.id,error:i});}):this.initialized.add(t.id);}catch(o){this.emit({type:"error",pluginId:t.id,error:o});}return n?.debug&&console.log(`[PluginRegistry] Registered plugin: ${t.id}`),this.emit({type:"registered",plugin:t}),{success:true,plugin:t,warnings:r.length>0?r:void 0}}unregister(t){let n=this.plugins.get(t);if(!n)return false;for(let[r,o]of this.plugins)if(o.dependencies?.includes(t))return console.warn(`Cannot unregister '${t}': '${r}' depends on it`),false;for(let[r,{pluginId:o}]of this.commandHandlers)o===t&&this.commandHandlers.delete(r);if(n.destroy)try{let r=n.destroy();r instanceof Promise&&r.catch(o=>{this.emit({type:"error",pluginId:t,error:o});});}catch(r){this.emit({type:"error",pluginId:t,error:r});}return this.plugins.delete(t),this.initialized.delete(t),this.emit({type:"unregistered",pluginId:t}),true}get(t){return this.plugins.get(t)}getAll(){return Array.from(this.plugins.values())}has(t){return this.plugins.has(t)}get size(){return this.plugins.size}getCommandHandler(t){return this.commandHandlers.get(t)?.handler}getCommandTypes(){return Array.from(this.commandHandlers.keys())}hasCommandHandler(t){return this.commandHandlers.has(t)}getMcpTools(){let t=[];for(let n of this.plugins.values())n.mcpTools&&t.push(...n.mcpTools);return t}getMcpToolsForPlugin(t){return this.plugins.get(t)?.mcpTools||[]}getMcpTool(t){for(let n of this.plugins.values())if(n.mcpTools){let r=n.mcpTools.find(o=>o.name===t);if(r)return r}}addEventListener(t){this.eventListeners.add(t);}removeEventListener(t){this.eventListeners.delete(t);}emit(t){for(let n of this.eventListeners)try{n(t);}catch(r){console.error("[PluginRegistry] Event listener error:",r);}}clear(){for(let t of this.plugins.values())if(t.destroy)try{t.destroy();}catch{}this.plugins.clear(),this.commandHandlers.clear(),this.initialized.clear();}getDebugInfo(){return {plugins:Array.from(this.plugins.keys()),commandTypes:Array.from(this.commandHandlers.keys()),mcpTools:this.getMcpTools().map(t=>t.name),initialized:Array.from(this.initialized)}}},re=new Ve;});var jn={};ur(jn,{executeCommand:()=>ie,executeCommands:()=>mi});function ie(e,t){let n=re.getCommandHandler(t.type);if(n)return n(e,t);switch(t.type){case "insertText":return hi(e,t);case "replaceText":return gi(e,t);case "deleteText":return wi(e,t);case "formatText":return yi(e,t);case "formatParagraph":return xi(e,t);case "applyStyle":return bi(e,t);case "insertTable":return Ti(e,t);case "insertImage":return Ci(e,t);case "insertHyperlink":return Fi(e,t);case "removeHyperlink":return Si(e,t);case "insertParagraphBreak":return On(e,t);case "mergeParagraphs":return vi(e,t);case "splitParagraph":return ki(e,t);case "setVariable":return Pi(e,t);case "applyVariables":return Ri(e,t);default:let r=t;throw new Error(`Unknown command type: ${r.type}`)}}function mi(e,t){return t.reduce((n,r)=>ie(n,r),e)}function W(e){return JSON.parse(JSON.stringify(e))}function O(e,t){let n=0;for(let r=0;r<e.content.length;r++)if(e.content[r].type==="paragraph"){if(n===t)return r;n++;}return -1}function ye(e){let t="";for(let n of e.content)if(n.type==="run")for(let r of n.content)r.type==="text"&&(t+=r.text);else if(n.type==="hyperlink"){for(let r of n.children)if(r.type==="run")for(let o of r.content)o.type==="text"&&(t+=o.text);}return t}function Xe(e,t){return {type:"run",formatting:t,content:[{type:"text",text:e}]}}function He(e,t,n,r){let o=[],i=0,s=false;for(let a of e.content)if(a.type==="run"){let c=a.content.filter(d=>d.type==="text").map(d=>d.text).join(""),p=i,f=i+c.length;if(!s&&t>=p&&t<=f){let d=t-p;d>0&&o.push({...a,content:[{type:"text",text:c.slice(0,d)}]}),o.push(Xe(n,r||a.formatting)),d<c.length&&o.push({...a,content:[{type:"text",text:c.slice(d)}]}),s=true;}else o.push(a);i=f;}else o.push(a);return s||o.push(Xe(n,r)),o}function oe(e,t,n){let r=[],o=0;for(let i of e.content)if(i.type==="run"){let s=i.content.filter(p=>p.type==="text").map(p=>p.text).join(""),a=o,c=o+s.length;if(c<=t||a>=n)r.push(i);else {let p="";a<t&&(p+=s.slice(0,t-a)),c>n&&(p+=s.slice(n-a)),p.length>0&&r.push({...i,content:[{type:"text",text:p}]});}o=c;}else r.push(i);return r}function Hn(e,t,n,r){let o=[],i=0;for(let s of e.content)if(s.type==="run"){let a=s.content.filter(f=>f.type==="text").map(f=>f.text).join(""),c=i,p=i+a.length;if(p<=t||c>=n)o.push(s);else if(c>=t&&p<=n)o.push({...s,formatting:{...s.formatting,...r}});else {let f=Math.max(t,c),d=Math.min(n,p);c<f&&o.push({...s,content:[{type:"text",text:a.slice(0,f-c)}]}),o.push({...s,formatting:{...s.formatting,...r},content:[{type:"text",text:a.slice(f-c,d-c)}]}),p>d&&o.push({...s,content:[{type:"text",text:a.slice(d-c)}]});}i=p;}else o.push(s);return o}function hi(e,t){let n=W(e),r=n.package.document,o=O(r,t.position.paragraphIndex);if(o===-1)throw new Error(`Paragraph index ${t.position.paragraphIndex} not found`);let i=r.content[o];return i.content=He(i,t.position.offset,t.text,t.formatting),n}function gi(e,t){let n=W(e),r=n.package.document,{start:o,end:i}=t.range;if(o.paragraphIndex===i.paragraphIndex){let s=O(r,o.paragraphIndex);if(s===-1)throw new Error(`Paragraph index ${o.paragraphIndex} not found`);let a=r.content[s];a.content=oe(a,o.offset,i.offset),a.content=He(a,o.offset,t.text,t.formatting);}else {let s=O(r,o.paragraphIndex),a=r.content[s],c=ye(a);a.content=oe(a,o.offset,c.length),a.content=He(a,o.offset,t.text,t.formatting);let p=[];for(let f=o.paragraphIndex+1;f<=i.paragraphIndex;f++)p.push(O(r,f));for(let f=p.length-1;f>=0;f--)p[f]!==-1&&r.content.splice(p[f],1);}return n}function wi(e,t){let n=W(e),r=n.package.document,{start:o,end:i}=t.range;if(o.paragraphIndex===i.paragraphIndex){let s=O(r,o.paragraphIndex);if(s===-1)throw new Error(`Paragraph index ${o.paragraphIndex} not found`);let a=r.content[s];a.content=oe(a,o.offset,i.offset);}else {let s=O(r,o.paragraphIndex),a=r.content[s],c=ye(a);a.content=oe(a,o.offset,c.length);let p=O(r,i.paragraphIndex),f=r.content[p];f.content=oe(f,0,i.offset),a.content.push(...f.content);let d=[];for(let h=o.paragraphIndex+1;h<=i.paragraphIndex;h++)d.push(O(r,h));for(let h=d.length-1;h>=0;h--)d[h]!==-1&&r.content.splice(d[h],1);}return n}function yi(e,t){let n=W(e),r=n.package.document,{start:o,end:i}=t.range;if(o.paragraphIndex===i.paragraphIndex){let s=O(r,o.paragraphIndex);if(s===-1)throw new Error(`Paragraph index ${o.paragraphIndex} not found`);let a=r.content[s];a.content=Hn(a,o.offset,i.offset,t.formatting);}else for(let s=o.paragraphIndex;s<=i.paragraphIndex;s++){let a=O(r,s);if(a===-1)continue;let c=r.content[a],p=ye(c),f=0,d=p.length;s===o.paragraphIndex&&(f=o.offset),s===i.paragraphIndex&&(d=i.offset),c.content=Hn(c,f,d,t.formatting);}return n}function xi(e,t){let n=W(e),r=n.package.document,o=O(r,t.paragraphIndex);if(o===-1)throw new Error(`Paragraph index ${t.paragraphIndex} not found`);let i=r.content[o];if(i.formatting={...i.formatting,...t.formatting},"numPr"in t.formatting){let s=t.formatting.numPr;if(s&&s.numId!==void 0&&s.numId!==0){let a=s.ilvl??0,c=s.numId===1,p=c?"\u2022":"1.";if(n.package.numbering){let f=n.package.numbering.nums.find(d=>d.numId===s.numId);if(f){let d=n.package.numbering.abstractNums.find(h=>h.abstractNumId===f.abstractNumId);if(d){let h=d.levels.find(g=>g.ilvl===a);h&&(p=h.lvlText||p);}}}i.listRendering={level:a,numId:s.numId,marker:p,isBullet:c};}else delete i.listRendering;}return n}function bi(e,t){let n=W(e),r=n.package.document,o=O(r,t.paragraphIndex);if(o===-1)throw new Error(`Paragraph index ${t.paragraphIndex} not found`);let i=r.content[o];return i.formatting={...i.formatting,styleId:t.styleId},n}function Ti(e,t){let n=W(e),r=n.package.document,o=[];for(let a=0;a<t.rows;a++){let c=[];for(let p=0;p<t.columns;p++){let f=t.data?.[a]?.[p]||"";c.push({type:"tableCell",content:[{type:"paragraph",content:f?[Xe(f)]:[]}]});}o.push({type:"tableRow",formatting:a===0&&t.hasHeader?{header:true}:void 0,cells:c});}let i={type:"table",rows:o},s=O(r,t.position.paragraphIndex);return s===-1?r.content.push(i):r.content.splice(s+1,0,i),n}function Ci(e,t){let n=W(e),r=n.package.document,o=O(r,t.position.paragraphIndex);if(o===-1)throw new Error(`Paragraph index ${t.position.paragraphIndex} not found`);let i=r.content[o],a={type:"run",content:[{type:"drawing",image:{type:"image",rId:`rId_img_${Date.now()}`,src:t.src,alt:t.alt,size:{width:(t.width||100)*914400,height:(t.height||100)*914400},wrap:{type:"inline"}}}]},c=He(i,t.position.offset,"",void 0),p=false,f=0;for(let d=0;d<c.length;d++){let h=c[d];if(h.type==="run"){let g=h.content.filter(m=>m.type==="text").map(m=>m.text).join("");if(f+=g.length,!p&&f>=t.position.offset){c.splice(d+1,0,a),p=true;break}}}return p||c.push(a),i.content=c,n}function Fi(e,t){let n=W(e),r=n.package.document,{start:o,end:i}=t.range;if(o.paragraphIndex!==i.paragraphIndex)throw new Error("Hyperlinks cannot span multiple paragraphs");let s=O(r,o.paragraphIndex);if(s===-1)throw new Error(`Paragraph index ${o.paragraphIndex} not found`);let a=r.content[s],c=ye(a),p=t.displayText||c.slice(o.offset,i.offset);a.content=oe(a,o.offset,i.offset);let f={type:"hyperlink",href:t.url,tooltip:t.tooltip,children:[Xe(p)]},d=false,h=0,g=[];for(let m of a.content)if(m.type==="run"){let y=m.content.filter(S=>S.type==="text").map(S=>S.text).join(""),k=h+y.length;if(!d&&h<=o.offset&&o.offset<=k){let S=o.offset-h;S>0&&g.push({...m,content:[{type:"text",text:y.slice(0,S)}]}),g.push(f),S<y.length&&g.push({...m,content:[{type:"text",text:y.slice(S)}]}),d=true;}else g.push(m);h=k;}else g.push(m);return d||g.push(f),a.content=g,n}function Si(e,t){let n=W(e),r=n.package.document,{start:o}=t.range,i=O(r,o.paragraphIndex);if(i===-1)throw new Error(`Paragraph index ${o.paragraphIndex} not found`);let s=r.content[i],a=[];for(let c of s.content)if(c.type==="hyperlink")for(let p of c.children)p.type==="run"&&a.push(p);else a.push(c);return s.content=a,n}function On(e,t){let n=W(e),r=n.package.document,o=O(r,t.position.paragraphIndex);if(o===-1)throw new Error(`Paragraph index ${t.position.paragraphIndex} not found`);let i=r.content[o],s=ye(i),a=oe({...i,content:[...i.content]},t.position.offset,s.length),c=oe({...i,content:[...i.content]},0,t.position.offset);i.content=a;let p={type:"paragraph",formatting:i.formatting,content:c};return r.content.splice(o+1,0,p),n}function vi(e,t){let n=W(e),r=n.package.document,o=O(r,t.paragraphIndex);if(o===-1)throw new Error(`Paragraph index ${t.paragraphIndex} not found`);let i=r.content[o],s=[];for(let a=1;a<=t.count;a++){let c=O(r,t.paragraphIndex+a);if(c!==-1){let p=r.content[c];i.content.push(...p.content),s.push(c);}}for(let a=s.length-1;a>=0;a--)r.content.splice(s[a],1);return n}function ki(e,t){return On(e,{position:t.position})}function Pi(e,t){let n=W(e);return n.templateVariables||(n.templateVariables=[]),n.templateVariables.includes(t.name)||n.templateVariables.push(t.name),n}function Ri(e,t){let n=W(e),r=n.package.document;function o(a){for(let c of a.content)if(c.type==="text")for(let[p,f]of Object.entries(t.values)){let d=new RegExp(`\\{${p}\\}`,"g");c.text=c.text.replace(d,f);}}function i(a){for(let c of a.content)if(c.type==="run")o(c);else if(c.type==="hyperlink")for(let p of c.children)p.type==="run"&&o(p);}function s(a){if(a.type==="paragraph")i(a);else if(a.type==="table")for(let c of a.rows)for(let p of c.cells)for(let f of p.content)s(f);}for(let a of r.content)s(a);return n}var rt=ht(()=>{Te();});Te();function _e(e,t){let n=t,{position:r,variableName:o}=n,i=JSON.parse(JSON.stringify(e)),a=i.package.document.content.filter(f=>f.type==="paragraph");if(r.paragraphIndex>=a.length)throw new Error(`Paragraph index ${r.paragraphIndex} out of bounds`);let c=a[r.paragraphIndex],p=`{{${o}}}`;return gt(c,r.offset,p),i.templateVariables||(i.templateVariables=[]),i.templateVariables.includes(o)||i.templateVariables.push(o),i}function Ue(e,t){let n=t,{range:r,variableName:o}=n,i=JSON.parse(JSON.stringify(e)),a=i.package.document.content.filter(f=>f.type==="paragraph");if(r.start.paragraphIndex!==r.end.paragraphIndex)throw new Error("Template variable replacement cannot span multiple paragraphs");if(r.start.paragraphIndex>=a.length)throw new Error(`Paragraph index ${r.start.paragraphIndex} out of bounds`);let c=a[r.start.paragraphIndex];pr(c,r.start.offset,r.end.offset);let p=`{{${o}}}`;return gt(c,r.start.offset,p),i.templateVariables||(i.templateVariables=[]),i.templateVariables.includes(o)||i.templateVariables.push(o),i}function gt(e,t,n){let r=0,o=false;for(let i=0;i<e.content.length;i++){let s=e.content[i];if(s.type==="run"){let a=We(s),c=r,p=r+a.length;if(!o&&t>=c&&t<=p){let f=t-c,d=a.slice(0,f),h=a.slice(f),g=[];for(let m=0;m<i;m++)g.push(e.content[m]);d&&g.push({type:"run",formatting:s.formatting,content:[{type:"text",text:d}]}),g.push({type:"run",formatting:s.formatting,content:[{type:"text",text:n}]}),h&&g.push({type:"run",formatting:s.formatting,content:[{type:"text",text:h}]});for(let m=i+1;m<e.content.length;m++)g.push(e.content[m]);e.content=g,o=true;break}r=p;}else if(s.type==="hyperlink")for(let a of s.children)a.type==="run"&&(r+=We(a).length);}o||e.content.push({type:"run",content:[{type:"text",text:n}]});}function pr(e,t,n){let r=[],o=0;for(let i of e.content)if(i.type==="run"){let s=We(i),a=o,c=o+s.length;if(c<=t||a>=n)r.push(i);else {let p="";a<t&&(p+=s.slice(0,t-a)),c>n&&(p+=s.slice(n-a)),p.length>0&&r.push({type:"run",formatting:i.formatting,content:[{type:"text",text:p}]});}o=c;}else r.push(i);e.content=r;}function We(e){return e.content.filter(t=>t.type==="text").map(t=>t.text).join("")}function xt(e){let t=[],n={body:[],headers:[],footers:[],footnotes:[],endnotes:[],textBoxes:[]};if(e.package?.document){let o=fr(e.package.document);o.forEach(i=>{t.push({name:i,location:"body"});}),n.body=Array.from(new Set(o)).sort();}if(e.package?.document?.sections&&e.package.document.sections.forEach((o,i)=>{o.properties.headerReferences&&o.properties.headerReferences.forEach(s=>{});}),e.package?.footnotes){let o=yt(e.package.footnotes);o.forEach(i=>{t.push({name:i,location:"footnote"});}),n.footnotes=Array.from(new Set(o)).sort();}if(e.package?.endnotes){let o=yt(e.package.endnotes);o.forEach(i=>{t.push({name:i,location:"endnote"});}),n.endnotes=Array.from(new Set(o)).sort();}e.templateVariables&&e.templateVariables.forEach(o=>{t.some(i=>i.name===o)||t.push({name:o,location:"body"});});let r=new Set;return t.forEach(o=>r.add(o.name)),{variables:Array.from(r).sort(),totalOccurrences:t.length,byLocation:n,occurrences:t}}function fr(e){let t=[];if(e.content&&t.push(...wt(e.content)),e.sections)for(let n of e.sections)n.content&&t.push(...wt(n.content));return t}function wt(e){let t=[];for(let n of e)n.type==="paragraph"?t.push(...Ge(n)):n.type==="table"&&t.push(...bt(n));return t}function Ge(e){let t=[];if(!e.content)return t;for(let n of e.content)n.type==="run"?t.push(...he(n)):n.type==="hyperlink"?t.push(...dr(n)):n.type==="simpleField"?t.push(...mr(n)):n.type==="complexField"&&t.push(...hr(n));return t}function he(e){let t=[];if(!e.content)return t;for(let n of e.content)n.type==="text"&&n.text&&t.push(...Tt(n.text));return t}function dr(e){let t=[];if(!e.children)return t;for(let n of e.children)n.type==="run"&&t.push(...he(n));return t}function mr(e){let t=[];if(e.instruction&&t.push(...Tt(e.instruction)),e.content)for(let n of e.content)n.type==="run"&&t.push(...he(n));return t}function hr(e){let t=[];if(e.fieldCode)for(let n of e.fieldCode)n.type==="run"&&t.push(...he(n));if(e.fieldResult)for(let n of e.fieldResult)n.type==="run"&&t.push(...he(n));return t}function bt(e){let t=[];if(!e.rows)return t;for(let n of e.rows)if(n.cells)for(let r of n.cells)t.push(...gr(r));return t}function gr(e){let t=[];if(!e.content)return t;for(let n of e.content)n.type==="paragraph"?t.push(...Ge(n)):n.type==="table"&&t.push(...bt(n));return t}function yt(e){let t=[];for(let n of e)if(n.content)for(let r of n.content)t.push(...Ge(r));return t}var wr=/\{([a-zA-Z_][a-zA-Z0-9_\-\.]*)\}/g;function Tt(e){if(!e)return [];let t=[],n=new RegExp(wr),r;for(;(r=n.exec(e))!==null;)t.push(r[1]);return t}function St(e,t,n={}){let{nullGetter:r="keep",linebreaks:o=true,delimiters:i}=n,s=[],a=[],c=[];try{let p=new Ct(e),f=new Ft(p,{paragraphLoop:!0,linebreaks:o,nullGetter:h=>{let g=h.value||"";if(r==="error")throw new Error(`Undefined variable: ${g}`);return r==="empty"?(c.push(g),""):(c.push(g),`{${g}}`)},delimiters:i?{start:i.start||"{",end:i.end||"}"}:void 0});return Object.keys(t).forEach(h=>{t[h]!==void 0&&t[h]!==null&&a.push(h);}),f.setData(t),f.render(),{buffer:f.getZip().generate({type:"arraybuffer",compression:"DEFLATE",compressionOptions:{level:6}}),replacedVariables:a,unreplacedVariables:c,warnings:s}}catch(p){throw kt(p)}}function vt(e){let t=[],n=[];try{let r=new Ct(e),i=new Ft(r,{paragraphLoop:!0,linebreaks:!0}).getFullText();n=yr(i);let s=xr(i);for(let a of s)t.push({message:`Unclosed tag: ${a}`,variable:a,type:"parse"});return {valid:t.length===0,errors:t,tags:n}}catch(r){return t.push(kt(r)),{valid:false,errors:t,tags:n}}}function yr(e){let t=[],n=/\{([^{}]+)\}/g,r;for(;(r=n.exec(e))!==null;){let o=r[1].trim();o&&!t.includes(o)&&t.push(o);}return t.sort()}function xr(e){let t=[],n=0,r="";for(let o of e)o==="{"?(n++,r=""):o==="}"?(n--,n<0&&(n=0)):n>0&&(r+=o);return n>0&&r.trim()&&t.push(r.trim()),t}function br(e){return "properties"in e&&typeof e.properties=="object"}function kt(e){if(e instanceof Error){if(br(e)&&e.properties?.errors){let t=e.properties.errors[0];return {message:t?.message||"Template processing error",variable:t?.properties?.tag,type:"render",originalError:e}}if(e.message.includes("undefined")){let t=e.message.match(/undefined (?:variable|tag):\s*(\S+)/i);return {message:e.message,variable:t?t[1]:void 0,type:"undefined",originalError:e}}return e.message.includes("parse")||e.message.includes("unclosed")||e.message.includes("syntax")?{message:e.message,type:"parse",originalError:e}:{message:e.message,type:"unknown",originalError:e}}return {message:String(e),type:"unknown"}}async function Pt(e){let t=await lt.loadAsync(e),n={documentXml:null,stylesXml:null,themeXml:null,numberingXml:null,fontTableXml:null,settingsXml:null,webSettingsXml:null,headers:new Map,footers:new Map,footnotesXml:null,endnotesXml:null,commentsXml:null,commentsExtensibleXml:null,documentRels:null,packageRels:null,contentTypesXml:null,corePropsXml:null,appPropsXml:null,customPropsXml:null,media:new Map,fonts:new Map,allXml:new Map,originalZip:t,originalBuffer:e};for(let[r,o]of Object.entries(t.files)){if(o.dir)continue;let i=r.toLowerCase();if(i.endsWith(".xml")||i.endsWith(".rels")){let s=await o.async("text");if(n.allXml.set(r,s),i==="word/document.xml")n.documentXml=s;else if(i==="word/styles.xml")n.stylesXml=s;else if(i==="word/theme/theme1.xml")n.themeXml=s;else if(i==="word/numbering.xml")n.numberingXml=s;else if(i==="word/fonttable.xml")n.fontTableXml=s;else if(i==="word/settings.xml")n.settingsXml=s;else if(i==="word/websettings.xml")n.webSettingsXml=s;else if(i==="word/footnotes.xml")n.footnotesXml=s;else if(i==="word/endnotes.xml")n.endnotesXml=s;else if(i==="word/comments.xml")n.commentsXml=s;else if(i==="word/commentsextensible.xml"||i==="word/commentsextended.xml")n.commentsExtensibleXml||(n.commentsExtensibleXml=s);else if(i==="word/_rels/document.xml.rels")n.documentRels=s;else if(i==="_rels/.rels")n.packageRels=s;else if(i==="[content_types].xml")n.contentTypesXml=s;else if(i==="docprops/core.xml")n.corePropsXml=s;else if(i==="docprops/app.xml")n.appPropsXml=s;else if(i==="docprops/custom.xml")n.customPropsXml=s;else if(i.match(/^word\/header\d+\.xml$/)){let a=r.split("/").pop()||r;n.headers.set(a,s);}else if(i.match(/^word\/footer\d+\.xml$/)){let a=r.split("/").pop()||r;n.footers.set(a,s);}}else if(i.startsWith("word/media/")){let s=await o.async("arraybuffer");n.media.set(r,s);}else if(i.startsWith("word/fonts/")){let s=await o.async("arraybuffer");n.fonts.set(r,s);}}return n}function Rt(e){switch(e.toLowerCase().split(".").pop()){case "png":return "image/png";case "jpg":case "jpeg":return "image/jpeg";case "gif":return "image/gif";case "bmp":return "image/bmp";case "tif":case "tiff":return "image/tiff";case "wmf":return "image/x-wmf";case "emf":return "image/x-emf";case "svg":return "image/svg+xml";case "webp":return "image/webp";default:return "application/octet-stream"}}function U(e){return xml2js(e,{compact:false,ignoreComment:true,ignoreInstruction:true,ignoreDoctype:true,alwaysArray:false,trim:false,captureSpacesBetweenElements:true,attributesKey:"attributes",textKey:"text"})}function Et(e){return js2xml({elements:[e]},{compact:false,spaces:0})}function K(e){try{let t=U(e);return t.elements&&t.elements.length>0?t.elements.find(n=>n.type==="element")??null:t}catch(t){return console.warn("Failed to parse XML:",t),null}}function Ce(e){let t=e.indexOf(":");return t>=0?e.substring(t+1):e}function u(e,t,n){if(!e||!e.elements)return null;let r=`${t}:${n}`;for(let o of e.elements)if(o.type==="element"&&(o.name===r||Ce(o.name||"")===n))return o;return null}function D(e,t,n){if(!e||!e.elements)return [];let r=`${t}:${n}`,o=[];for(let i of e.elements)i.type==="element"&&(i.name===r||Ce(i.name||"")===n)&&o.push(i);return o}function N(e){return !e||!e.elements?[]:e.elements.filter(t=>t.type==="element")}function l(e,t,n){if(!e||!e.attributes)return null;let r=e.attributes;if(t){let o=`${t}:${n}`;if(o in r)return r[o]}return n in r?r[n]:null}function Fe(e){if(!e)return "";if("text"in e&&typeof e.text=="string")return e.text;if(!e.elements)return "";let t="";for(let n of e.elements)n.type==="text"&&"text"in n?t+=n.text??"":n.type==="element"&&(t+=Fe(n));return t}function w(e,t,n,r=1){let o=l(e,t,n);if(o===null)return;let i=parseInt(o,10);if(!isNaN(i))return i*r}function C(e,t="w"){if(!e)return false;let n=l(e,t,"val");return n===null?true:!(n==="0"||n==="false"||n==="off")}var ce={hyperlink:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",header:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/header",footer:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer"};function Se(e){let t=new Map;if(!e||e.trim().length===0)return t;let n=K(e);if(!n)return console.warn("Failed to parse relationships XML"),t;let r=N(n);for(let o of r){let i=o.name||"";if(!i.endsWith("Relationship")&&!i.includes(":Relationship"))continue;let s=l(o,null,"Id"),a=l(o,null,"Type"),c=l(o,null,"Target"),p=l(o,null,"TargetMode");if(!s||!a||!c){console.warn("Relationship missing required attributes:",{id:s,type:a,target:c});continue}let f={id:s,type:a,target:c};p==="External"?f.targetMode="External":p==="Internal"&&(f.targetMode="Internal"),t.set(s,f);}return t}function Mt(e){return e.type===ce.hyperlink&&e.targetMode==="External"}var Dt={dk1:"000000",lt1:"FFFFFF",dk2:"44546A",lt2:"E7E6E6",accent1:"4472C4",accent2:"ED7D31",accent3:"A5A5A5",accent4:"FFC000",accent5:"5B9BD5",accent6:"70AD47",hlink:"0563C1",folHlink:"954F72"},ve={majorFont:{latin:"Calibri Light",ea:"",cs:"",fonts:{}},minorFont:{latin:"Calibri",ea:"",cs:"",fonts:{}}},qe={name:"Office Theme",colorScheme:Dt,fontScheme:ve},Sr=["dk1","lt1","dk2","lt2","accent1","accent2","accent3","accent4","accent5","accent6","hlink","folHlink"];function vr(e){if(!e)return null;switch(Ce(e.name||"")){case "srgbClr":return l(e,"a","val")??l(e,null,"val")??null;case "sysClr":{let n=l(e,"a","lastClr")??l(e,null,"lastClr");if(n)return n;switch(l(e,"a","val")??l(e,null,"val")){case "windowText":case "menuText":case "captionText":case "btnText":return "000000";case "window":case "menu":case "btnFace":case "btnHighlight":return "FFFFFF";case "highlight":return "0078D7";case "highlightText":return "FFFFFF";case "grayText":return "808080";default:return null}}case "schemeClr":{l(e,"a","val")??l(e,null,"val");return null}default:return null}}function kr(e){let t={...Dt};if(!e)return t;for(let n of Sr){let r=u(e,"a",n);if(r){let o=N(r);if(o.length>0){let i=vr(o[0]);i&&(t[n]=i);}}}return t}function It(e){let t={latin:"",ea:"",cs:"",fonts:{}};if(!e)return t;let n=u(e,"a","latin");n&&(t.latin=l(n,"a","typeface")??l(n,null,"typeface")??"");let r=u(e,"a","ea");r&&(t.ea=l(r,"a","typeface")??l(r,null,"typeface")??"");let o=u(e,"a","cs");o&&(t.cs=l(o,"a","typeface")??l(o,null,"typeface")??"");let i=D(e,"a","font");for(let s of i){let a=l(s,"a","script")??l(s,null,"script"),c=l(s,"a","typeface")??l(s,null,"typeface");a&&c&&(t.fonts=t.fonts||{},t.fonts[a]=c);}return t}function Pr(e){let t={...ve};if(!e)return t;let n=u(e,"a","majorFont");n&&(t.majorFont=It(n));let r=u(e,"a","minorFont");return r&&(t.minorFont=It(r)),t}function At(e){if(!e)return {...qe};try{let t=K(e);if(!t)return {...qe};let n=l(t,"a","name")??l(t,null,"name")??"Office Theme",r=u(t,"a","themeElements"),o=u(r,"a","clrScheme"),i=kr(o),s=u(r,"a","fontScheme"),a=Pr(s);return {name:n,colorScheme:i,fontScheme:a}}catch(t){return console.warn("Failed to parse theme:",t),{...qe}}}function Rr(e,t="latin"){if(!e?.fontScheme?.majorFont)return ve.majorFont?.latin??"Calibri Light";let n=e.fontScheme.majorFont;return t==="latin"?n.latin||"Calibri Light":t==="ea"?n.ea||"":t==="cs"?n.cs||"":n.fonts?.[t]?n.fonts[t]:n.latin||"Calibri Light"}function $t(e,t="latin"){if(!e?.fontScheme?.minorFont)return ve.minorFont?.latin??"Calibri";let n=e.fontScheme.minorFont;return t==="latin"?n.latin||"Calibri":t==="ea"?n.ea||"":t==="cs"?n.cs||"":n.fonts?.[t]?n.fonts[t]:n.latin||"Calibri"}function Y(e,t){if(!t)return "Calibri";let n=t.toLowerCase().includes("major"),r=t.toLowerCase().includes("minor"),o="latin",i=t.toLowerCase();return i.includes("eastasia")?o="ea":(i.includes("bidi")||i.includes("cs"))&&(o="cs"),n?Rr(e,o):r?$t(e,o):$t(e,"latin")}function ke(e,t){if(!e)return;let n={},r=u(e,"w","b");r&&(n.bold=C(r));let o=u(e,"w","bCs");o&&(n.boldCs=C(o));let i=u(e,"w","i");i&&(n.italic=C(i));let s=u(e,"w","iCs");s&&(n.italicCs=C(s));let a=u(e,"w","u");if(a){let M=l(a,"w","val");if(M){n.underline={style:M};let P=l(a,"w","color"),L=l(a,"w","themeColor");(P||L)&&(n.underline.color=Je(P,L,l(a,"w","themeTint"),l(a,"w","themeShade")));}}let c=u(e,"w","strike");c&&(n.strike=C(c));let p=u(e,"w","dstrike");p&&(n.doubleStrike=C(p));let f=u(e,"w","vertAlign");if(f){let M=l(f,"w","val");(M==="superscript"||M==="subscript"||M==="baseline")&&(n.vertAlign=M);}let d=u(e,"w","smallCaps");d&&(n.smallCaps=C(d));let h=u(e,"w","caps");h&&(n.allCaps=C(h));let g=u(e,"w","vanish");g&&(n.hidden=C(g));let m=u(e,"w","color");m&&(n.color=Je(l(m,"w","val"),l(m,"w","themeColor"),l(m,"w","themeTint"),l(m,"w","themeShade")));let y=u(e,"w","highlight");if(y){let M=l(y,"w","val");M&&(n.highlight=M);}let k=u(e,"w","shd");k&&(n.shading=Pe(k));let S=u(e,"w","sz");if(S){let M=w(S,"w","val");M!==void 0&&(n.fontSize=M);}let R=u(e,"w","szCs");if(R){let M=w(R,"w","val");M!==void 0&&(n.fontSizeCs=M);}let v=u(e,"w","rFonts");if(v){n.fontFamily={ascii:l(v,"w","ascii")??void 0,hAnsi:l(v,"w","hAnsi")??void 0,eastAsia:l(v,"w","eastAsia")??void 0,cs:l(v,"w","cs")??void 0};let M=l(v,"w","asciiTheme");M&&(n.fontFamily.asciiTheme=M,t&&!n.fontFamily.ascii&&(n.fontFamily.ascii=Y(t,M)));let P=l(v,"w","hAnsiTheme");P&&(n.fontFamily.hAnsiTheme=P,t&&!n.fontFamily.hAnsi&&(n.fontFamily.hAnsi=Y(t,P)));let L=l(v,"w","eastAsiaTheme");L&&(n.fontFamily.eastAsiaTheme=L,t&&!n.fontFamily.eastAsia&&(n.fontFamily.eastAsia=Y(t,L)));let Z=l(v,"w","cstheme");Z&&(n.fontFamily.csTheme=Z,t&&!n.fontFamily.cs&&(n.fontFamily.cs=Y(t,Z)));}let x=u(e,"w","spacing");if(x){let M=w(x,"w","val");M!==void 0&&(n.spacing=M);}let b=u(e,"w","position");if(b){let M=w(b,"w","val");M!==void 0&&(n.position=M);}let F=u(e,"w","w");if(F){let M=w(F,"w","val");M!==void 0&&(n.scale=M);}let T=u(e,"w","kern");if(T){let M=w(T,"w","val");M!==void 0&&(n.kerning=M);}let E=u(e,"w","effect");if(E){let M=l(E,"w","val");M&&(n.effect=M);}let I=u(e,"w","em");if(I){let M=l(I,"w","val");M&&(n.emphasisMark=M);}let $=u(e,"w","emboss");$&&(n.emboss=C($));let A=u(e,"w","imprint");A&&(n.imprint=C(A));let H=u(e,"w","outline");H&&(n.outline=C(H));let J=u(e,"w","shadow");J&&(n.shadow=C(J));let ne=u(e,"w","rtl");ne&&(n.rtl=C(ne));let X=u(e,"w","cs");X&&(n.cs=C(X));let V=u(e,"w","rStyle");if(V){let M=l(V,"w","val");M&&(n.styleId=M);}return Object.keys(n).length>0?n:void 0}function Je(e,t,n,r){let o={};return e&&e!=="auto"?o.rgb=e:e==="auto"&&(o.auto=true),t&&(o.themeColor=t),n&&(o.themeTint=n),r&&(o.themeShade=r),o}function Pe(e){if(!e)return;let t={},n=l(e,"w","color");n&&n!=="auto"&&(t.color={rgb:n});let r=l(e,"w","fill");r&&r!=="auto"&&(t.fill={rgb:r});let o=l(e,"w","themeFill");o&&(t.fill=t.fill||{},t.fill.themeColor=o);let i=l(e,"w","themeFillTint");i&&t.fill&&(t.fill.themeTint=i);let s=l(e,"w","themeFillShade");s&&t.fill&&(t.fill.themeShade=s);let a=l(e,"w","val");return a&&(t.pattern=a),Object.keys(t).length>0?t:void 0}function G(e){if(!e)return;let t=l(e,"w","val");if(!t)return;let n={style:t},r=l(e,"w","color"),o=l(e,"w","themeColor");(r||o)&&(n.color=Je(r,o,l(e,"w","themeTint"),l(e,"w","themeShade")));let i=w(e,"w","sz");i!==void 0&&(n.size=i);let s=w(e,"w","space");s!==void 0&&(n.space=s);let a=l(e,"w","shadow");a&&(n.shadow=a==="1"||a==="true");let c=l(e,"w","frame");return c&&(n.frame=c==="1"||c==="true"),n}function Er(e){if(!e)return;let t=D(e,"w","tab");if(t.length===0)return;let n=[];for(let r of t){let o=w(r,"w","pos"),i=l(r,"w","val");if(o!==void 0&&i){let s={position:o,alignment:i},a=l(r,"w","leader");a&&(s.leader=a),n.push(s);}}return n.length>0?n:void 0}function Ze(e,t){if(!e)return;let n={},r=u(e,"w","jc");if(r){let b=l(r,"w","val");b&&(n.alignment=b);}let o=u(e,"w","bidi");o&&(n.bidi=C(o));let i=u(e,"w","spacing");if(i){let b=w(i,"w","before");b!==void 0&&(n.spaceBefore=b);let F=w(i,"w","after");F!==void 0&&(n.spaceAfter=F);let T=w(i,"w","line");T!==void 0&&(n.lineSpacing=T);let E=l(i,"w","lineRule");E&&(n.lineSpacingRule=E);let I=l(i,"w","beforeAutospacing");I&&(n.beforeAutospacing=I==="1"||I==="true");let $=l(i,"w","afterAutospacing");$&&(n.afterAutospacing=$==="1"||$==="true");}let s=u(e,"w","ind");if(s){let b=w(s,"w","left");b!==void 0&&(n.indentLeft=b);let F=w(s,"w","right");F!==void 0&&(n.indentRight=F);let T=w(s,"w","firstLine");T!==void 0&&(n.indentFirstLine=T);let E=w(s,"w","hanging");E!==void 0&&(n.indentFirstLine=-E,n.hangingIndent=true);}let a=u(e,"w","pBdr");if(a){let b={},F=G(u(a,"w","top"));F&&(b.top=F);let T=G(u(a,"w","bottom"));T&&(b.bottom=T);let E=G(u(a,"w","left"));E&&(b.left=E);let I=G(u(a,"w","right"));I&&(b.right=I);let $=G(u(a,"w","between"));$&&(b.between=$);let A=G(u(a,"w","bar"));A&&(b.bar=A),Object.keys(b).length>0&&(n.borders=b);}let c=u(e,"w","shd");c&&(n.shading=Pe(c));let p=u(e,"w","tabs");p&&(n.tabs=Er(p));let f=u(e,"w","keepNext");f&&(n.keepNext=C(f));let d=u(e,"w","keepLines");d&&(n.keepLines=C(d));let h=u(e,"w","widowControl");h&&(n.widowControl=C(h));let g=u(e,"w","pageBreakBefore");g&&(n.pageBreakBefore=C(g));let m=u(e,"w","contextualSpacing");m&&(n.contextualSpacing=C(m));let y=u(e,"w","numPr");if(y){let b=u(y,"w","numId"),F=u(y,"w","ilvl");if(b||F){if(n.numPr={},b){let T=w(b,"w","val");T!==void 0&&(n.numPr.numId=T);}if(F){let T=w(F,"w","val");T!==void 0&&(n.numPr.ilvl=T);}}}let k=u(e,"w","outlineLvl");if(k){let b=w(k,"w","val");b!==void 0&&(n.outlineLevel=b);}let S=u(e,"w","pStyle");if(S){let b=l(S,"w","val");b&&(n.styleId=b);}let R=u(e,"w","suppressLineNumbers");R&&(n.suppressLineNumbers=C(R));let v=u(e,"w","suppressAutoHyphens");v&&(n.suppressAutoHyphens=C(v));let x=u(e,"w","rPr");return x&&(n.runProperties=ke(x,t)),Object.keys(n).length>0?n:void 0}function Q(e){if(!e)return;let t=w(e,"w","w"),n=l(e,"w","type");if(t!==void 0&&n)return {value:t,type:n}}function Xt(e){if(!e)return;let t={},n=G(u(e,"w","top"));n&&(t.top=n);let r=G(u(e,"w","bottom"));r&&(t.bottom=r);let o=G(u(e,"w","left"));o&&(t.left=o);let i=G(u(e,"w","right"));i&&(t.right=i);let s=G(u(e,"w","insideH"));s&&(t.insideH=s);let a=G(u(e,"w","insideV"));return a&&(t.insideV=a),Object.keys(t).length>0?t:void 0}function Ht(e){if(!e)return;let t={},n=Q(u(e,"w","top"));n&&(t.top=n);let r=Q(u(e,"w","bottom"));r&&(t.bottom=r);let o=Q(u(e,"w","left"));o&&(t.left=o);let i=Q(u(e,"w","right"));return i&&(t.right=i),Object.keys(t).length>0?t:void 0}function Mr(e){if(!e)return;let t={},n=l(e,"w","val");if(n){let p=parseInt(n,16);isNaN(p)||(t.firstRow=(p&32)!==0,t.lastRow=(p&64)!==0,t.firstColumn=(p&128)!==0,t.lastColumn=(p&256)!==0,t.noHBand=(p&512)!==0,t.noVBand=(p&1024)!==0);}let r=l(e,"w","firstColumn");r&&(t.firstColumn=r==="1");let o=l(e,"w","firstRow");o&&(t.firstRow=o==="1");let i=l(e,"w","lastColumn");i&&(t.lastColumn=i==="1");let s=l(e,"w","lastRow");s&&(t.lastRow=s==="1");let a=l(e,"w","noHBand");a&&(t.noHBand=a==="1");let c=l(e,"w","noVBand");return c&&(t.noVBand=c==="1"),Object.keys(t).length>0?t:void 0}function Bt(e,t){if(!e)return;let n={},r=u(e,"w","tblW");r&&(n.width=Q(r));let o=u(e,"w","jc");if(o){let m=l(o,"w","val");(m==="left"||m==="center"||m==="right")&&(n.justification=m);}let i=u(e,"w","tblCellSpacing");i&&(n.cellSpacing=Q(i));let s=u(e,"w","tblInd");s&&(n.indent=Q(s));let a=u(e,"w","tblBorders");a&&(n.borders=Xt(a));let c=u(e,"w","tblCellMar");c&&(n.cellMargins=Ht(c));let p=u(e,"w","tblLayout");if(p){let m=l(p,"w","type");(m==="fixed"||m==="autofit")&&(n.layout=m);}let f=u(e,"w","tblStyle");if(f){let m=l(f,"w","val");m&&(n.styleId=m);}let d=u(e,"w","tblLook");d&&(n.look=Mr(d));let h=u(e,"w","shd");h&&(n.shading=Pe(h));let g=u(e,"w","bidiVisual");return g&&(n.bidi=C(g)),Object.keys(n).length>0?n:void 0}function Lt(e){if(!e)return;let t={},n=u(e,"w","trHeight");if(n){t.height=Q(n);let a=l(n,"w","hRule");a&&(t.heightRule=a);}let r=u(e,"w","tblHeader");r&&(t.header=C(r));let o=u(e,"w","cantSplit");o&&(t.cantSplit=C(o));let i=u(e,"w","jc");if(i){let a=l(i,"w","val");(a==="left"||a==="center"||a==="right")&&(t.justification=a);}let s=u(e,"w","hidden");return s&&(t.hidden=C(s)),Object.keys(t).length>0?t:void 0}function Nt(e,t){if(!e)return;let n={},r=u(e,"w","tcW");r&&(n.width=Q(r));let o=u(e,"w","tcBorders");o&&(n.borders=Xt(o));let i=u(e,"w","tcMar");i&&(n.margins=Ht(i));let s=u(e,"w","shd");s&&(n.shading=Pe(s));let a=u(e,"w","vAlign");if(a){let m=l(a,"w","val");(m==="top"||m==="center"||m==="bottom")&&(n.verticalAlign=m);}let c=u(e,"w","textDirection");if(c){let m=l(c,"w","val");m&&(n.textDirection=m);}let p=u(e,"w","gridSpan");if(p){let m=w(p,"w","val");m!==void 0&&(n.gridSpan=m);}let f=u(e,"w","vMerge");if(f){let m=l(f,"w","val");n.vMerge=m==="restart"?"restart":"continue";}let d=u(e,"w","tcFitText");d&&(n.fitText=C(d));let h=u(e,"w","noWrap");h&&(n.noWrap=C(h));let g=u(e,"w","hideMark");return g&&(n.hideMark=C(g)),Object.keys(n).length>0?n:void 0}function Ir(e,t){let n={styleId:l(e,"w","styleId")??"",type:l(e,"w","type")??"paragraph"},r=l(e,"w","default");r&&(n.default=r==="1"||r==="true");let o=u(e,"w","name");o&&(n.name=l(o,"w","val")??void 0);let i=u(e,"w","basedOn");i&&(n.basedOn=l(i,"w","val")??void 0);let s=u(e,"w","next");s&&(n.next=l(s,"w","val")??void 0);let a=u(e,"w","link");a&&(n.link=l(a,"w","val")??void 0);let c=u(e,"w","uiPriority");if(c){let x=w(c,"w","val");x!==void 0&&(n.uiPriority=x);}let p=u(e,"w","hidden");p&&(n.hidden=C(p));let f=u(e,"w","semiHidden");f&&(n.semiHidden=C(f));let d=u(e,"w","unhideWhenUsed");d&&(n.unhideWhenUsed=C(d));let h=u(e,"w","qFormat");h&&(n.qFormat=C(h));let g=u(e,"w","personal");g&&(n.personal=C(g));let m=u(e,"w","pPr");m&&(n.pPr=Ze(m,t));let y=u(e,"w","rPr");y&&(n.rPr=ke(y,t));let k=u(e,"w","tblPr");k&&(n.tblPr=Bt(k));let S=u(e,"w","trPr");S&&(n.trPr=Lt(S));let R=u(e,"w","tcPr");R&&(n.tcPr=Nt(R));let v=D(e,"w","tblStylePr");if(v.length>0){n.tblStylePr=[];for(let x of v){let b=l(x,"w","type");if(b){let F={type:b},T=u(x,"w","pPr");T&&(F.pPr=Ze(T,t));let E=u(x,"w","rPr");E&&(F.rPr=ke(E,t));let I=u(x,"w","tblPr");I&&(F.tblPr=Bt(I));let $=u(x,"w","trPr");$&&(F.trPr=Lt($));let A=u(x,"w","tcPr");A&&(F.tcPr=Nt(A)),n.tblStylePr.push(F);}}}return n}function $r(e,t){if(!e)return;let n={},r=u(e,"w","rPrDefault");if(r){let i=u(r,"w","rPr");i&&(n.rPr=ke(i,t));}let o=u(e,"w","pPrDefault");if(o){let i=u(o,"w","pPr");i&&(n.pPr=Ze(i,t));}return n.rPr||n.pPr?n:void 0}function Ot(e,t){if(!t)return e;if(!e)return t?{...t}:void 0;let n={...e};for(let r of Object.keys(t)){let o=t[r];o!==void 0&&(n[r]=typeof o=="object"&&o!==null?{...n[r]||{},...o}:o);}return n}function Dr(e,t){if(!t)return e;if(!e)return t?{...t}:void 0;let n={...e};for(let r of Object.keys(t)){let o=t[r];if(o!==void 0)if(r==="runProperties")n.runProperties=Ot(n.runProperties,t.runProperties);else if(r==="borders"||r==="numPr"||r==="frame"){let i=n[r],s=o;n[r]={...i||{},...s||{}};}else r==="tabs"&&Array.isArray(o)?n.tabs=[...o]:n[r]=o;}return n}function jt(e,t,n,r=new Set){if(r.has(e.styleId)||(r.add(e.styleId),!e.basedOn))return e;let o=t.get(e.basedOn);if(!o)return e;let i=jt(o,t,n,r),s={...e,pPr:Dr(i.pPr,e.pPr),rPr:Ot(i.rPr,e.rPr)};return e.type==="table"&&((i.tblPr||e.tblPr)&&(s.tblPr={...i.tblPr||{},...e.tblPr||{}}),(i.trPr||e.trPr)&&(s.trPr={...i.trPr||{},...e.trPr||{}}),(i.tcPr||e.tcPr)&&(s.tcPr={...i.tcPr||{},...e.tcPr||{}})),s}function Ye(e,t){let n=new Map;try{let r=K(e);if(!r)return n;let o=D(r,"w","style");for(let i of o){let s=Ir(i,t);s.styleId&&n.set(s.styleId,s);}for(let[i,s]of n){let a=jt(s,n,t);n.set(i,a);}}catch(r){console.warn("Failed to parse styles:",r);}return n}function zt(e,t){let n={styles:[]};try{let r=K(e);if(!r)return n;let o=u(r,"w","docDefaults");n.docDefaults=$r(o,t);let i=u(r,"w","latentStyles");i&&(n.latentStyles={defLockedState:l(i,"w","defLockedState")==="1",defUIPriority:w(i,"w","defUIPriority"),defSemiHidden:l(i,"w","defSemiHidden")==="1",defUnhideWhenUsed:l(i,"w","defUnhideWhenUsed")==="1",defQFormat:l(i,"w","defQFormat")==="1",count:w(i,"w","count")});let s=Ye(e,t);n.styles=Array.from(s.values());}catch(r){console.warn("Failed to parse style definitions:",r);}return n}function Vt(e){let t={abstractNums:[],nums:[]};if(!e)return Ke(t);let n=K(e);if(!n)return Ke(t);let r=D(n,"w","abstractNum");for(let i of r){let s=Ar(i);s&&t.abstractNums.push(s);}let o=D(n,"w","num");for(let i of o){let s=Br(i);s&&t.nums.push(s);}return Ke(t)}function Ar(e){let t=l(e,"w","abstractNumId");if(t===null)return null;let n=parseInt(t,10);if(isNaN(n))return null;let r={abstractNumId:n,levels:[]},o=u(e,"w","multiLevelType");if(o){let p=l(o,"w","val");(p==="hybridMultilevel"||p==="multilevel"||p==="singleLevel")&&(r.multiLevelType=p);}let i=u(e,"w","name");i&&(r.name=l(i,"w","val")??void 0);let s=u(e,"w","numStyleLink");s&&(r.numStyleLink=l(s,"w","val")??void 0);let a=u(e,"w","styleLink");a&&(r.styleLink=l(a,"w","val")??void 0);let c=D(e,"w","lvl");for(let p of c){let f=Wt(p);f&&r.levels.push(f);}return r.levels.sort((p,f)=>p.ilvl-f.ilvl),r}function Br(e){let t=l(e,"w","numId");if(t===null)return null;let n=parseInt(t,10);if(isNaN(n))return null;let r=u(e,"w","abstractNumId");if(!r)return null;let o=l(r,"w","val");if(o===null)return null;let i=parseInt(o,10);if(isNaN(i))return null;let s={numId:n,abstractNumId:i},a=D(e,"w","lvlOverride");if(a.length>0){s.levelOverrides=[];for(let c of a){let p=l(c,"w","ilvl");if(p===null)continue;let f=parseInt(p,10);if(isNaN(f))continue;let d={ilvl:f},h=u(c,"w","startOverride");if(h){let m=l(h,"w","val");if(m!==null){let y=parseInt(m,10);isNaN(y)||(d.startOverride=y);}}let g=u(c,"w","lvl");g&&(d.lvl=Wt(g)??void 0),s.levelOverrides.push(d);}}return s}function Wt(e){let t=l(e,"w","ilvl");if(t===null)return null;let n=parseInt(t,10);if(isNaN(n)||n<0||n>8)return null;let r={ilvl:n,numFmt:"decimal",lvlText:""},o=u(e,"w","start");if(o){let m=l(o,"w","val");if(m!==null){let y=parseInt(m,10);isNaN(y)||(r.start=y);}}let i=u(e,"w","numFmt");if(i){let m=l(i,"w","val");m&&(r.numFmt=Lr(m));}let s=u(e,"w","lvlText");s&&(r.lvlText=l(s,"w","val")??"");let a=u(e,"w","lvlJc");if(a){let m=l(a,"w","val");(m==="left"||m==="center"||m==="right")&&(r.lvlJc=m);}let c=u(e,"w","suff");if(c){let m=l(c,"w","val");(m==="tab"||m==="space"||m==="nothing")&&(r.suffix=m);}let p=u(e,"w","isLgl");p&&(r.isLgl=C(p));let f=u(e,"w","lvlRestart");if(f){let m=l(f,"w","val");if(m!==null){let y=parseInt(m,10);isNaN(y)||(r.lvlRestart=y);}}let d=u(e,"w","legacy");d&&(r.legacy={legacy:C(d),legacySpace:w(d,"w","legacySpace"),legacyIndent:w(d,"w","legacyIndent")});let h=u(e,"w","pPr");h&&(r.pPr=Nr(h));let g=u(e,"w","rPr");return g&&(r.rPr=Or(g)),r}function Lr(e){return {decimal:"decimal",upperRoman:"upperRoman",lowerRoman:"lowerRoman",upperLetter:"upperLetter",lowerLetter:"lowerLetter",ordinal:"ordinal",cardinalText:"cardinalText",ordinalText:"ordinalText",hex:"hex",chicago:"chicago",bullet:"bullet",none:"none",decimalZero:"decimalZero",ganada:"ganada",chosung:"chosung",ideographDigital:"ideographDigital",japaneseCounting:"japaneseCounting",aiueo:"aiueo",iroha:"iroha",decimalFullWidth:"decimalFullWidth",decimalHalfWidth:"decimalHalfWidth",japaneseLegal:"japaneseLegal",japaneseDigitalTenThousand:"japaneseDigitalTenThousand",decimalEnclosedCircle:"decimalEnclosedCircle",decimalFullWidth2:"decimalFullWidth2",aiueoFullWidth:"aiueoFullWidth",irohaFullWidth:"irohaFullWidth",decimalEnclosedFullstop:"decimalEnclosedFullstop",decimalEnclosedParen:"decimalEnclosedParen",decimalEnclosedCircleChinese:"decimalEnclosedCircleChinese",ideographEnclosedCircle:"ideographEnclosedCircle",ideographTraditional:"ideographTraditional",ideographZodiac:"ideographZodiac",ideographZodiacTraditional:"ideographZodiacTraditional",taiwaneseCounting:"taiwaneseCounting",ideographLegalTraditional:"ideographLegalTraditional",taiwaneseCountingThousand:"taiwaneseCountingThousand",taiwaneseDigital:"taiwaneseDigital",chineseCounting:"chineseCounting",chineseLegalSimplified:"chineseLegalSimplified",chineseCountingThousand:"chineseCountingThousand",koreanDigital:"koreanDigital",koreanCounting:"koreanCounting",koreanLegal:"koreanLegal",koreanDigital2:"koreanDigital2",vietnameseCounting:"vietnameseCounting",russianLower:"russianLower",russianUpper:"russianUpper",numberInDash:"numberInDash",hebrew1:"hebrew1",hebrew2:"hebrew2",arabicAlpha:"arabicAlpha",arabicAbjad:"arabicAbjad",hindiVowels:"hindiVowels",hindiConsonants:"hindiConsonants",hindiNumbers:"hindiNumbers",hindiCounting:"hindiCounting",thaiLetters:"thaiLetters",thaiNumbers:"thaiNumbers",thaiCounting:"thaiCounting"}[e]??"decimal"}function Nr(e){let t={},n=u(e,"w","ind");if(n){let o=w(n,"w","left"),i=w(n,"w","right"),s=w(n,"w","firstLine"),a=w(n,"w","hanging");o!==void 0&&(t.indentLeft=o),i!==void 0&&(t.indentRight=i),a!==void 0?(t.indentFirstLine=-a,t.hangingIndent=true):s!==void 0&&(t.indentFirstLine=s);}let r=u(e,"w","tabs");if(r){t.tabs=[];let o=D(r,"w","tab");for(let i of o){let s=w(i,"w","pos"),a=l(i,"w","val"),c=l(i,"w","leader");s!==void 0&&a&&t.tabs.push({position:s,alignment:Xr(a),leader:Hr(c)});}}return t}function Xr(e){switch(e){case "left":return "left";case "center":return "center";case "right":return "right";case "decimal":return "decimal";case "bar":return "bar";case "clear":return "clear";case "num":return "num";default:return "left"}}function Hr(e){if(e)switch(e){case "none":return "none";case "dot":return "dot";case "hyphen":return "hyphen";case "underscore":return "underscore";case "heavy":return "heavy";case "middleDot":return "middleDot";default:return}}function Or(e){let t={},n=u(e,"w","rFonts");n&&(t.fontFamily={ascii:l(n,"w","ascii")??void 0,hAnsi:l(n,"w","hAnsi")??void 0,eastAsia:l(n,"w","eastAsia")??void 0,cs:l(n,"w","cs")??void 0});let r=u(e,"w","sz");if(r){let a=w(r,"w","val");a!==void 0&&(t.fontSize=a);}let o=u(e,"w","color");if(o){let a=l(o,"w","val"),c=l(o,"w","themeColor");a==="auto"?t.color={auto:true}:c?t.color={themeColor:c,themeTint:l(o,"w","themeTint")??void 0,themeShade:l(o,"w","themeShade")??void 0}:a&&(t.color={rgb:a});}let i=u(e,"w","b");i&&(t.bold=C(i));let s=u(e,"w","i");return s&&(t.italic=C(s)),t}function Ke(e){let t=new Map;for(let r of e.abstractNums)t.set(r.abstractNumId,r);let n=new Map;for(let r of e.nums)n.set(r.numId,r);return {definitions:e,getLevel(r,o){let i=n.get(r);if(!i)return null;if(i.levelOverrides){let a=i.levelOverrides.find(c=>c.ilvl===o);if(a){if(a.lvl)return a.lvl;let c=t.get(i.abstractNumId);if(c){let p=c.levels.find(f=>f.ilvl===o);if(p&&a.startOverride!==void 0)return {...p,start:a.startOverride}}}}let s=t.get(i.abstractNumId);return s?s.levels.find(a=>a.ilvl===o)??null:null},getAbstract(r){return t.get(r)??null},hasNumbering(r){return n.has(r)}}}function jr(e){if(!e)return;let t=parseInt(e,10);if(!isNaN(t))return t/6e4}function B(e,t){let n=N(e);for(let r of n)if(r.name===t)return r;return null}function zr(e,t){let n=N(e);for(let r of n)if(t.includes(r.name||""))return r;return null}function _t(e){if(!e)return {width:0,height:0};let t=w(e,null,"cx")??0,n=w(e,null,"cy")??0;return {width:t,height:n}}function Ut(e){if(!e)return;let t=w(e,null,"l")??0,n=w(e,null,"t")??0,r=w(e,null,"r")??0,o=w(e,null,"b")??0;if(!(t===0&&n===0&&r===0&&o===0))return {left:t,top:n,right:r,bottom:o}}function Gt(e){if(!e)return {};let t=l(e,null,"id")??void 0,n=l(e,null,"name")??void 0,r=l(e,null,"descr")??void 0,o=l(e,null,"title")??void 0,i=l(e,null,"decorative")==="1";return {id:t,name:n,alt:r,title:o,decorative:i||void 0}}function Vr(e){if(!e)return;let t=l(e,null,"relativeFrom")??"column",n=B(e,"wp:align");if(n){let o=n.elements?.[0]?.text??null;return {relativeTo:t,alignment:o}}let r=B(e,"wp:posOffset");if(r){let o=String(r.elements?.[0]?.text??"0"),i=parseInt(o,10);return {relativeTo:t,posOffset:isNaN(i)?0:i}}return {relativeTo:t}}function Wr(e){if(!e)return;let t=l(e,null,"relativeFrom")??"paragraph",n=B(e,"wp:align");if(n){let o=n.elements?.[0]?.text??null;return {relativeTo:t,alignment:o}}let r=B(e,"wp:posOffset");if(r){let o=String(r.elements?.[0]?.text??"0"),i=parseInt(o,10);return {relativeTo:t,posOffset:isNaN(i)?0:i}}return {relativeTo:t}}var _r=["wp:wrapNone","wp:wrapSquare","wp:wrapTight","wp:wrapThrough","wp:wrapTopAndBottom"];function Ur(e,t,n){if(!e){let k={type:t?"behind":"inFront"};return n?.distT!==void 0&&(k.distT=n.distT),n?.distB!==void 0&&(k.distB=n.distB),n?.distL!==void 0&&(k.distL=n.distL),n?.distR!==void 0&&(k.distR=n.distR),k}let o=(e.name||"").replace("wp:",""),i=w(e,null,"distT")??void 0,s=w(e,null,"distB")??void 0,a=w(e,null,"distL")??void 0,c=w(e,null,"distR")??void 0,p=i??n?.distT,f=s??n?.distB,d=a??n?.distL,h=c??n?.distR,g=l(e,null,"wrapText")??void 0,m;switch(o){case "wrapNone":m=t?"behind":"inFront";break;case "wrapSquare":m="square";break;case "wrapTight":m="tight";break;case "wrapThrough":m="through";break;case "wrapTopAndBottom":m="topAndBottom";break;default:m="square";}let y={type:m};return g&&(y.wrapText=g),p!==void 0&&(y.distT=p),f!==void 0&&(y.distB=f),d!==void 0&&(y.distL=d),h!==void 0&&(y.distR=h),y}function qt(e){if(!e)return;let t=l(e,null,"rot"),n=l(e,null,"flipH")==="1",r=l(e,null,"flipV")==="1",o=jr(t);if(o===void 0&&!n&&!r)return;let i={};return o!==void 0&&(i.rotation=o),n&&(i.flipH=true),r&&(i.flipV=true),i}function Jt(e){let t=B(e,"a:graphic");if(!t)return null;let n=B(t,"a:graphicData");if(!n)return null;let r=B(n,"pic:pic");if(!r)return null;let o=B(r,"pic:blipFill");return o?B(o,"a:blip"):null}function Zt(e){if(!e)return "";let t=l(e,"r","embed");if(t)return t;let n=l(e,null,"embed");if(n)return n;let r=l(e,"r","link");return r||""}function Yt(e){let t=B(e,"a:graphic");if(!t)return null;let n=B(t,"a:graphicData");if(!n)return null;let r=B(n,"pic:pic");if(!r)return null;let o=B(r,"pic:spPr");return o?B(o,"a:xfrm"):null}function Gr(e){if(!e)return e;let t=e.replace(/^\/+/,"");return t.startsWith("media/")?t=`word/${t}`:t.startsWith("word/")||(t=`word/${t}`),t}function qr(e){let t=e.split(".").pop()?.toLowerCase()??"";return {png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",bmp:"image/bmp",tiff:"image/tiff",tif:"image/tiff",webp:"image/webp",svg:"image/svg+xml",emf:"image/x-emf",wmf:"image/x-wmf"}[t]??"application/octet-stream"}function Kt(e,t,n){if(!e||!t)return {};let r=t.get(e);if(!r)return {};let o=r.target;if(!o)return {};let i=Gr(o),s=o.split("/").pop(),a=(c,p)=>{let f=p.toLowerCase();for(let[d,h]of c.entries())if(d.toLowerCase()===f)return h};if(n){let c=a(n,i);if(c)return {src:c.dataUrl||c.base64,mimeType:c.mimeType,filename:s};let p=o.replace(/^\/+/,""),f=a(n,p);if(f)return {src:f.dataUrl||f.base64,mimeType:f.mimeType,filename:s};let d=`word/${p}`,h=a(n,d);if(h)return {src:h.dataUrl||h.base64,mimeType:h.mimeType,filename:s}}return {mimeType:qr(o),filename:s}}function Jr(e,t,n){let r=B(e,"wp:extent"),o=_t(r),i=B(e,"wp:effectExtent"),s=Ut(i),a=B(e,"wp:docPr"),c=Gt(a),p=Jt(e),f=Zt(p),d=Kt(f,t,n),h=Yt(e),g=qt(h),m=w(e,null,"distT")??void 0,y=w(e,null,"distB")??void 0,k=w(e,null,"distL")??void 0,S=w(e,null,"distR")??void 0,R={type:"inline"};m!==void 0&&(R.distT=m),y!==void 0&&(R.distB=y),k!==void 0&&(R.distL=k),S!==void 0&&(R.distR=S);let v={type:"image",rId:f,size:o,wrap:R};return c.id&&(v.id=c.id),c.alt&&(v.alt=c.alt),c.title&&(v.title=c.title),c.decorative&&(v.decorative=true),d.src&&(v.src=d.src),d.mimeType&&(v.mimeType=d.mimeType),d.filename&&(v.filename=d.filename),s&&(v.padding=s),g&&(v.transform=g),v}function Zr(e,t,n){let r=B(e,"wp:extent"),o=_t(r),i=B(e,"wp:effectExtent"),s=Ut(i),a=B(e,"wp:docPr"),c=Gt(a),p=l(e,null,"behindDoc")==="1",f={distT:w(e,null,"distT")??void 0,distB:w(e,null,"distB")??void 0,distL:w(e,null,"distL")??void 0,distR:w(e,null,"distR")??void 0},d=zr(e,_r),h=Ur(d,p,f),g=B(e,"wp:positionH"),m=B(e,"wp:positionV"),y=Vr(g),k=Wr(m),S;(y||k)&&(S={horizontal:y??{relativeTo:"column"},vertical:k??{relativeTo:"paragraph"}});let R=Jt(e),v=Zt(R),x=Kt(v,t,n),b=Yt(e),F=qt(b),T={type:"image",rId:v,size:o,wrap:h};return c.id&&(T.id=c.id),c.alt&&(T.alt=c.alt),c.title&&(T.title=c.title),c.decorative&&(T.decorative=true),x.src&&(T.src=x.src),x.mimeType&&(T.mimeType=x.mimeType),x.filename&&(T.filename=x.filename),S&&(T.position=S),s&&(T.padding=s),F&&(T.transform=F),T}function Yr(e,t,n){let r=N(e);for(let o of r){let i=o.name||"";if(i==="wp:inline")return Jr(o,t,n);if(i==="wp:anchor")return Zr(o,t,n)}return null}function Qt(e,t,n){return Yr(e,t,n)}function en(e,t,n,r){let o={};return e&&e!=="auto"?o.rgb=e:e==="auto"&&(o.auto=true),t&&(o.themeColor=t),n&&(o.themeTint=n),r&&(o.themeShade=r),o}function Kr(e){if(!e)return;let t={},n=l(e,"w","color");n&&n!=="auto"&&(t.color={rgb:n});let r=l(e,"w","fill");r&&r!=="auto"&&(t.fill={rgb:r});let o=l(e,"w","themeFill");o&&(t.fill=t.fill||{},t.fill.themeColor=o);let i=l(e,"w","themeFillTint");i&&t.fill&&(t.fill.themeTint=i);let s=l(e,"w","themeFillShade");s&&t.fill&&(t.fill.themeShade=s);let a=l(e,"w","val");return a&&(t.pattern=a),Object.keys(t).length>0?t:void 0}function Qe(e,t,n){if(!e)return;let r={},o=u(e,"w","b");o&&(r.bold=C(o));let i=u(e,"w","bCs");i&&(r.boldCs=C(i));let s=u(e,"w","i");s&&(r.italic=C(s));let a=u(e,"w","iCs");a&&(r.italicCs=C(a));let c=u(e,"w","u");if(c){let P=l(c,"w","val");if(P){r.underline={style:P};let L=l(c,"w","color"),Z=l(c,"w","themeColor");(L||Z)&&(r.underline.color=en(L,Z,l(c,"w","themeTint"),l(c,"w","themeShade")));}}let p=u(e,"w","strike");p&&(r.strike=C(p));let f=u(e,"w","dstrike");f&&(r.doubleStrike=C(f));let d=u(e,"w","vertAlign");if(d){let P=l(d,"w","val");(P==="superscript"||P==="subscript"||P==="baseline")&&(r.vertAlign=P);}let h=u(e,"w","smallCaps");h&&(r.smallCaps=C(h));let g=u(e,"w","caps");g&&(r.allCaps=C(g));let m=u(e,"w","vanish");m&&(r.hidden=C(m));let y=u(e,"w","color");y&&(r.color=en(l(y,"w","val"),l(y,"w","themeColor"),l(y,"w","themeTint"),l(y,"w","themeShade")));let k=u(e,"w","highlight");if(k){let P=l(k,"w","val");P&&(r.highlight=P);}let S=u(e,"w","shd");S&&(r.shading=Kr(S));let R=u(e,"w","sz");if(R){let P=w(R,"w","val");P!==void 0&&(r.fontSize=P);}let v=u(e,"w","szCs");if(v){let P=w(v,"w","val");P!==void 0&&(r.fontSizeCs=P);}let x=u(e,"w","rFonts");if(x){r.fontFamily={ascii:l(x,"w","ascii")??void 0,hAnsi:l(x,"w","hAnsi")??void 0,eastAsia:l(x,"w","eastAsia")??void 0,cs:l(x,"w","cs")??void 0};let P=l(x,"w","asciiTheme");P&&(r.fontFamily.asciiTheme=P,t&&!r.fontFamily.ascii&&(r.fontFamily.ascii=Y(t,P)));let L=l(x,"w","hAnsiTheme");L&&(r.fontFamily.hAnsiTheme=L,t&&!r.fontFamily.hAnsi&&(r.fontFamily.hAnsi=Y(t,L)));let Z=l(x,"w","eastAsiaTheme");Z&&(r.fontFamily.eastAsiaTheme=Z,t&&!r.fontFamily.eastAsia&&(r.fontFamily.eastAsia=Y(t,Z)));let ze=l(x,"w","cstheme");ze&&(r.fontFamily.csTheme=ze,t&&!r.fontFamily.cs&&(r.fontFamily.cs=Y(t,ze)));}let b=u(e,"w","spacing");if(b){let P=w(b,"w","val");P!==void 0&&(r.spacing=P);}let F=u(e,"w","position");if(F){let P=w(F,"w","val");P!==void 0&&(r.position=P);}let T=u(e,"w","w");if(T){let P=w(T,"w","val");P!==void 0&&(r.scale=P);}let E=u(e,"w","kern");if(E){let P=w(E,"w","val");P!==void 0&&(r.kerning=P);}let I=u(e,"w","effect");if(I){let P=l(I,"w","val");P&&(r.effect=P);}let $=u(e,"w","em");if($){let P=l($,"w","val");P&&(r.emphasisMark=P);}let A=u(e,"w","emboss");A&&(r.emboss=C(A));let H=u(e,"w","imprint");H&&(r.imprint=C(H));let J=u(e,"w","outline");J&&(r.outline=C(J));let ne=u(e,"w","shadow");ne&&(r.shadow=C(ne));let X=u(e,"w","rtl");X&&(r.rtl=C(X));let V=u(e,"w","cs");V&&(r.cs=C(V));let M=u(e,"w","rStyle");if(M){let P=l(M,"w","val");P&&(r.styleId=P);}return Object.keys(r).length>0?r:void 0}function Qr(e){let t=Fe(e),n=l(e,"xml","space")==="preserve";return {type:"text",text:t,preserveSpace:n||void 0}}function eo(){return {type:"tab"}}function to(e){let t=l(e,"w","type"),n=l(e,"w","clear"),r={type:"break"};return (t==="page"||t==="column"||t==="textWrapping")&&(r.breakType=t),(n==="none"||n==="left"||n==="right"||n==="all")&&(r.clear=n),r}function no(e){let t=l(e,"w","font")??"",n=l(e,"w","char")??"";return {type:"symbol",font:t,char:n}}function ro(e){return {type:"footnoteRef",id:w(e,"w","id")??0}}function oo(e){return {type:"endnoteRef",id:w(e,"w","id")??0}}function io(e){let t=l(e,"w","fldCharType"),n=l(e,"w","fldLock")==="true"||l(e,"w","fldLock")==="1",r=l(e,"w","dirty")==="true"||l(e,"w","dirty")==="1",o="begin";return t==="separate"?o="separate":t==="end"&&(o="end"),{type:"fieldChar",charType:o,fldLock:n||void 0,dirty:r||void 0}}function so(e){return {type:"instrText",text:Fe(e)}}function ao(e,t,n){let r=Qt(e,t??void 0,n??void 0);return r?{type:"drawing",image:r}:null}function lo(e){if(!e)return "";let t=e.indexOf(":");return t>=0?e.substring(t+1):e}function co(e,t,n){let r=[],o=N(e);for(let i of o)switch(lo(i.name)){case "t":r.push(Qr(i));break;case "tab":r.push(eo());break;case "br":r.push(to(i));break;case "sym":r.push(no(i));break;case "footnoteReference":r.push(ro(i));break;case "endnoteReference":r.push(oo(i));break;case "fldChar":r.push(io(i));break;case "instrText":r.push(so(i));break;case "softHyphen":r.push({type:"softHyphen"});break;case "noBreakHyphen":r.push({type:"noBreakHyphen"});break;case "drawing":let a=ao(i,t,n);a&&r.push(a);break;case "pict":case "object":break;case "rPr":break;case "lastRenderedPageBreak":break;case "cr":r.push({type:"break",breakType:"textWrapping"});break;}return r}function ge(e,t,n,r=null,o=null){let i={type:"run",content:[]},s=u(e,"w","rPr");return s&&(i.formatting=Qe(s,n)),i.content=co(e,r,o),i}function uo(e){if(!e)return "";let t=e.indexOf(":");return t>=0?e.substring(t+1):e}function po(e){let t=w(e,"w","id")??0,n=l(e,"w","name")??"",r={type:"bookmarkStart",id:t,name:n},o=w(e,"w","colFirst");o!==void 0&&(r.colFirst=o);let i=w(e,"w","colLast");return i!==void 0&&(r.colLast=i),r}function fo(e){return {type:"bookmarkEnd",id:w(e,"w","id")??0}}function tn(e,t,n=null,r=null,o=null){let i={type:"hyperlink",children:[]},s=l(e,"r","id");if(s&&(i.rId=s,t)){let g=t.get(s);g&&(Mt(g),i.href=g.target);}let a=l(e,"w","anchor");a&&(i.anchor=a,i.href||(i.href=`#${a}`));let c=l(e,"w","tooltip");c&&(i.tooltip=c);let p=l(e,"w","tgtFrame");p&&(i.target=p);let f=l(e,"w","history");(f==="1"||f==="true")&&(i.history=true);let d=l(e,"w","docLocation");d&&(i.docLocation=d);let h=N(e);for(let g of h)switch(uo(g.name)){case "r":i.children.push(ge(g,n,r,t,o));break;case "bookmarkStart":i.children.push(po(g));break;case "bookmarkEnd":i.children.push(fo(g));break}return i}function nn(e){let t=w(e,"w","id")??0,n=l(e,"w","name")??"",r={type:"bookmarkStart",id:t,name:n},o=w(e,"w","colFirst");o!==void 0&&(r.colFirst=o);let i=w(e,"w","colLast");return i!==void 0&&(r.colLast=i),r}function rn(e){return {type:"bookmarkEnd",id:w(e,"w","id")??0}}function mo(e){if(!e)return;let t=w(e,"w","w")??0,n=l(e,"w","type")??"dxa",r="dxa";return (n==="auto"||n==="dxa"||n==="nil"||n==="pct")&&(r=n),{value:t,type:r}}function ee(e){return mo(e)}function ue(e){if(!e)return;let r={style:l(e,"w","val")??"none"},o=w(e,"w","sz");o!==void 0&&(r.size=o);let i=w(e,"w","space");i!==void 0&&(r.space=i);let s=l(e,"w","color"),a=l(e,"w","themeColor"),c=l(e,"w","themeTint"),p=l(e,"w","themeShade");(s||a||c||p)&&(r.color={rgb:s??void 0,themeColor:a,themeTint:c??void 0,themeShade:p??void 0});let f=l(e,"w","shadow");(f==="1"||f==="true")&&(r.shadow=true);let d=l(e,"w","frame");return (d==="1"||d==="true")&&(r.frame=true),r}function on(e){if(!e)return;let t={},n=ue(u(e,"w","top"));n&&(t.top=n);let r=ue(u(e,"w","bottom"));r&&(t.bottom=r);let o=ue(u(e,"w","left")??u(e,"w","start"));o&&(t.left=o);let i=ue(u(e,"w","right")??u(e,"w","end"));i&&(t.right=i);let s=ue(u(e,"w","insideH"));s&&(t.insideH=s);let a=ue(u(e,"w","insideV"));if(a&&(t.insideV=a),Object.keys(t).length!==0)return t}function sn(e){if(!e)return;let t={},n=ee(u(e,"w","top"));n&&(t.top=n);let r=ee(u(e,"w","bottom"));r&&(t.bottom=r);let o=ee(u(e,"w","left")??u(e,"w","start"));o&&(t.left=o);let i=ee(u(e,"w","right")??u(e,"w","end"));if(i&&(t.right=i),Object.keys(t).length!==0)return t}function an(e){if(!e)return;let t={},n=l(e,"w","fill");n&&n!=="auto"&&(t.fill={rgb:n});let r=l(e,"w","themeFill");if(r){t.fill={themeColor:r};let s=l(e,"w","themeFillTint");s&&t.fill&&(t.fill.themeTint=s);let a=l(e,"w","themeFillShade");a&&t.fill&&(t.fill.themeShade=a);}let o=l(e,"w","color");o&&o!=="auto"&&(t.color={rgb:o});let i=l(e,"w","val");if(i&&(t.pattern=i),Object.keys(t).length!==0)return t}function ho(e){if(!e)return;let t={},n=l(e,"w","firstRow");(n==="1"||n==="true")&&(t.firstRow=true);let r=l(e,"w","lastRow");(r==="1"||r==="true")&&(t.lastRow=true);let o=l(e,"w","firstColumn");(o==="1"||o==="true")&&(t.firstColumn=true);let i=l(e,"w","lastColumn");(i==="1"||i==="true")&&(t.lastColumn=true);let s=l(e,"w","noHBand");(s==="1"||s==="true")&&(t.noHBand=true);let a=l(e,"w","noVBand");(a==="1"||a==="true")&&(t.noVBand=true);let c=l(e,"w","val");if(c){let p=parseInt(c,16);isNaN(p)||(p&32&&(t.firstRow=true),p&64&&(t.lastRow=true),p&128&&(t.firstColumn=true),p&256&&(t.lastColumn=true),p&512&&(t.noHBand=true),p&1024&&(t.noVBand=true));}if(Object.keys(t).length!==0)return t}function go(e){if(!e)return;let t={},n=l(e,"w","horzAnchor");(n==="margin"||n==="page"||n==="text")&&(t.horzAnchor=n);let r=l(e,"w","vertAnchor");(r==="margin"||r==="page"||r==="text")&&(t.vertAnchor=r);let o=w(e,"w","tblpX");o!==void 0&&(t.tblpX=o);let i=l(e,"w","tblpXSpec");i&&(t.tblpXSpec=i);let s=w(e,"w","tblpY");s!==void 0&&(t.tblpY=s);let a=l(e,"w","tblpYSpec");a&&(t.tblpYSpec=a);let c=w(e,"w","topFromText");c!==void 0&&(t.topFromText=c);let p=w(e,"w","bottomFromText");p!==void 0&&(t.bottomFromText=p);let f=w(e,"w","leftFromText");f!==void 0&&(t.leftFromText=f);let d=w(e,"w","rightFromText");if(d!==void 0&&(t.rightFromText=d),Object.keys(t).length!==0)return t}function wo(e){if(!e)return;let t={},n=ee(u(e,"w","tblW"));n&&(t.width=n);let r=u(e,"w","jc");if(r){let y=l(r,"w","val");(y==="left"||y==="center"||y==="right"||y==="start")&&(t.justification=y==="start"?"left":y);}let o=ee(u(e,"w","tblCellSpacing"));o&&(t.cellSpacing=o);let i=ee(u(e,"w","tblInd"));i&&(t.indent=i);let s=on(u(e,"w","tblBorders"));s&&(t.borders=s);let a=sn(u(e,"w","tblCellMar"));a&&(t.cellMargins=a);let c=u(e,"w","tblLayout");if(c){let y=l(c,"w","type");(y==="fixed"||y==="autofit")&&(t.layout=y);}let p=u(e,"w","tblStyle");if(p){let y=l(p,"w","val");y&&(t.styleId=y);}let f=ho(u(e,"w","tblLook"));f&&(t.look=f);let d=an(u(e,"w","shd"));d&&(t.shading=d);let h=u(e,"w","tblOverlap");if(h){let y=l(h,"w","val");(y==="never"||y==="overlap")&&(t.overlap=y);}let g=go(u(e,"w","tblpPr"));if(g&&(t.floating=g),C(u(e,"w","bidiVisual"))&&(t.bidi=true),Object.keys(t).length!==0)return t}function yo(e){if(!e)return;let t={},n=u(e,"w","trHeight");if(n){let c=ee(n);c&&(t.height=c);let p=l(n,"w","hRule");(p==="auto"||p==="atLeast"||p==="exact")&&(t.heightRule=p);}C(u(e,"w","tblHeader"))&&(t.header=true),C(u(e,"w","cantSplit"))&&(t.cantSplit=true);let i=u(e,"w","jc");if(i){let c=l(i,"w","val");(c==="left"||c==="center"||c==="right")&&(t.justification=c);}C(u(e,"w","hidden"))&&(t.hidden=true);let a=ln(u(e,"w","cnfStyle"));if(a&&(t.conditionalFormat=a),Object.keys(t).length!==0)return t}function ln(e){if(!e)return;let t={},n=l(e,"w","firstRow");(n==="1"||n==="true")&&(t.firstRow=true);let r=l(e,"w","lastRow");(r==="1"||r==="true")&&(t.lastRow=true);let o=l(e,"w","firstColumn");(o==="1"||o==="true")&&(t.firstColumn=true);let i=l(e,"w","lastColumn");(i==="1"||i==="true")&&(t.lastColumn=true);let s=l(e,"w","oddHBand");(s==="1"||s==="true")&&(t.oddHBand=true);let a=l(e,"w","evenHBand");(a==="1"||a==="true")&&(t.evenHBand=true);let c=l(e,"w","oddVBand");(c==="1"||c==="true")&&(t.oddVBand=true);let p=l(e,"w","evenVBand");(p==="1"||p==="true")&&(t.evenVBand=true);let f=l(e,"w","firstRowFirstColumn");(f==="1"||f==="true")&&(t.nwCell=true);let d=l(e,"w","firstRowLastColumn");(d==="1"||d==="true")&&(t.neCell=true);let h=l(e,"w","lastRowFirstColumn");(h==="1"||h==="true")&&(t.swCell=true);let g=l(e,"w","lastRowLastColumn");(g==="1"||g==="true")&&(t.seCell=true);let m=l(e,"w","val");if(m&&m.length===12&&(m[0]==="1"&&(t.firstRow=true),m[1]==="1"&&(t.lastRow=true),m[2]==="1"&&(t.firstColumn=true),m[3]==="1"&&(t.lastColumn=true),m[4]==="1"&&(t.oddVBand=true),m[5]==="1"&&(t.evenVBand=true),m[6]==="1"&&(t.oddHBand=true),m[7]==="1"&&(t.evenHBand=true),m[8]==="1"&&(t.nwCell=true),m[9]==="1"&&(t.neCell=true),m[10]==="1"&&(t.swCell=true),m[11]==="1"&&(t.seCell=true)),Object.keys(t).length!==0)return t}function xo(e){if(!e)return;let t={},n=ee(u(e,"w","tcW"));n&&(t.width=n);let r=on(u(e,"w","tcBorders"));r&&(t.borders=r);let o=sn(u(e,"w","tcMar"));o&&(t.margins=o);let i=an(u(e,"w","shd"));i&&(t.shading=i);let s=u(e,"w","vAlign");if(s){let m=l(s,"w","val");(m==="top"||m==="center"||m==="bottom")&&(t.verticalAlign=m);}let a=u(e,"w","textDirection");if(a){let m=l(a,"w","val");m&&(t.textDirection=m);}let c=u(e,"w","gridSpan");if(c){let m=w(c,"w","val");m!==void 0&&m>1&&(t.gridSpan=m);}let p=u(e,"w","vMerge");p&&(l(p,"w","val")==="restart"?t.vMerge="restart":t.vMerge="continue"),C(u(e,"w","tcFitText"))&&(t.fitText=true),C(u(e,"w","noWrap"))&&(t.noWrap=true),C(u(e,"w","hideMark"))&&(t.hideMark=true);let g=ln(u(e,"w","cnfStyle"));if(g&&(t.conditionalFormat=g),Object.keys(t).length!==0)return t}function bo(e,t,n,r,o,i){let s=[],a=e.elements||[];for(let c of a){if(!c.name)continue;let p=c.name.split(":").pop();if(p==="p"){let f=q(c,t,n,r,o,i);s.push(f);}else if(p==="tbl"){let f=we(c,t,n,r,o,i);s.push(f);}}return s.length===0&&s.push({type:"paragraph",content:[]}),s}function To(e,t,n,r,o,i){let s={type:"tableCell",content:[]},a=xo(u(e,"w","tcPr"));return a&&(s.formatting=a),s.content=bo(e,t,n,r,o,i),s}function Co(e,t,n,r,o,i){let s={type:"tableRow",cells:[]},a=yo(u(e,"w","trPr"));a&&(s.formatting=a);let c=D(e,"w","tc");for(let p of c){let f=To(p,t,n,r,o,i);s.cells.push(f);}return s}function Fo(e){if(!e)return;let t=[],n=D(e,"w","gridCol");for(let r of n){let o=w(r,"w","w")??0;t.push(o);}return t.length>0?t:void 0}function we(e,t,n,r,o,i){let s={type:"table",rows:[]},a=wo(u(e,"w","tblPr"));a&&(s.formatting=a);let c=Fo(u(e,"w","tblGrid"));c&&(s.columnWidths=c);let p=D(e,"w","tr");for(let f of p){let d=Co(f,t,n,r,o,i);s.rows.push(d);}return s}function cn(e){switch(e){case "first":return "first";case "even":return "even";default:return "default"}}function un(e){let t=l(e,"w","type"),n=l(e,"r","id")??"";return {type:cn(t),rId:n}}function pn(e){let t=l(e,"w","type"),n=l(e,"r","id")??"";return {type:cn(t),rId:n}}function et(e,t,n,r,o,i){let s=[],a=e.elements??[];for(let c of a){if(c.type!=="element")continue;let p=c.name??"";if(p==="w:p"||p.endsWith(":p")){let f=q(c,t,n,r,o,i);s.push(f);}else if(p==="w:tbl"||p.endsWith(":tbl")){let f=we(c,t,n,r,o,i);s.push(f);}else if(p==="w:sdt"||p.endsWith(":sdt")){let f=(c.elements??[]).find(d=>d.type==="element"&&(d.name==="w:sdtContent"||d.name?.endsWith(":sdtContent")));if(f){let d=et(f,t,n,r,o,i);s.push(...d);}}}return s}function fn(e,t="default",n=null,r=null,o=null,i=null,s=null){let a={type:"header",hdrFtrType:t,content:[]};if(!e)return a;let c=U(e);if(!c)return a;let p=c.elements?.find(f=>f.type==="element"&&(f.name==="w:hdr"||f.name?.endsWith(":hdr")));return p&&(a.content=et(p,n,r,o,i,s)),a}function dn(e,t="default",n=null,r=null,o=null,i=null,s=null){let a={type:"footer",hdrFtrType:t,content:[]};if(!e)return a;let c=U(e);if(!c)return a;let p=c.elements?.find(f=>f.type==="element"&&(f.name==="w:ftr"||f.name?.endsWith(":ftr")));return p&&(a.content=et(p,n,r,o,i,s)),a}function mn(e){switch(e){case "separator":return "separator";case "continuationSeparator":return "continuationSeparator";case "continuationNotice":return "continuationNotice";default:return "normal"}}function So(e,t,n,r,o,i){let s=w(e,"w","id")??0,a=l(e,"w","type"),c=mn(a),f=D(e,"w","p").map(d=>q(d,t,n,r,o));return {type:"footnote",id:s,noteType:c,content:f}}function hn(e,t=null,n=null,r=null,o=null,i=null){let s=new Map,a=[];if(!e)return Re(s,a);let c=U(e);if(!c)return Re(s,a);let p=c.elements?.find(d=>d.type==="element"&&(d.name==="w:footnotes"||d.name?.endsWith(":footnotes")));if(!p)return Re(s,a);let f=D(p,"w","footnote");for(let d of f){let h=So(d,t,n,r,o);s.set(h.id,h),a.push(h);}return Re(s,a)}function Re(e,t){return {byId:e,footnotes:t,getFootnote(n){return e.get(n)},hasFootnote(n){return e.has(n)},getNormalFootnotes(){return t.filter(n=>n.noteType==="normal")},getSeparator(){return t.find(n=>n.noteType==="separator")},getContinuationSeparator(){return t.find(n=>n.noteType==="continuationSeparator")}}}function vo(e,t,n,r,o,i){let s=w(e,"w","id")??0,a=l(e,"w","type"),c=mn(a),f=D(e,"w","p").map(d=>q(d,t,n,r,o));return {type:"endnote",id:s,noteType:c,content:f}}function gn(e,t=null,n=null,r=null,o=null,i=null){let s=new Map,a=[];if(!e)return Ee(s,a);let c=U(e);if(!c)return Ee(s,a);let p=c.elements?.find(d=>d.type==="element"&&(d.name==="w:endnotes"||d.name?.endsWith(":endnotes")));if(!p)return Ee(s,a);let f=D(p,"w","endnote");for(let d of f){let h=vo(d,t,n,r,o);s.set(h.id,h),a.push(h);}return Ee(s,a)}function Ee(e,t){return {byId:e,endnotes:t,getEndnote(n){return e.get(n)},hasEndnote(n){return e.has(n)},getNormalEndnotes(){return t.filter(n=>n.noteType==="normal")},getSeparator(){return t.find(n=>n.noteType==="separator")},getContinuationSeparator(){return t.find(n=>n.noteType==="continuationSeparator")}}}function wn(e){return e?{decimal:"decimal",upperRoman:"upperRoman",lowerRoman:"lowerRoman",upperLetter:"upperLetter",lowerLetter:"lowerLetter",ordinal:"ordinal",cardinalText:"cardinalText",ordinalText:"ordinalText",bullet:"bullet",chicago:"chicago",none:"none"}[e]:void 0}function ko(e){switch(e){case "pageBottom":return "pageBottom";case "beneathText":return "beneathText";case "sectEnd":return "sectEnd";case "docEnd":return "docEnd";default:return}}function Po(e){switch(e){case "sectEnd":return "sectEnd";case "docEnd":return "docEnd";default:return}}function yn(e){switch(e){case "continuous":return "continuous";case "eachSect":return "eachSect";case "eachPage":return "eachPage";default:return}}function xn(e){let t={};if(!e)return t;let n=u(e,"w","pos");if(n){let s=l(n,"w","val");t.position=ko(s);}let r=u(e,"w","numFmt");if(r){let s=l(r,"w","val");t.numFmt=wn(s);}let o=u(e,"w","numStart");o&&(t.numStart=w(o,"w","val")??void 0);let i=u(e,"w","numRestart");if(i){let s=l(i,"w","val");t.numRestart=yn(s);}return t}function bn(e){let t={};if(!e)return t;let n=u(e,"w","pos");if(n){let s=l(n,"w","val");t.position=Po(s);}let r=u(e,"w","numFmt");if(r){let s=l(r,"w","val");t.numFmt=wn(s);}let o=u(e,"w","numStart");o&&(t.numStart=w(o,"w","val")??void 0);let i=u(e,"w","numRestart");if(i){let s=l(i,"w","val");t.numRestart=yn(s);}return t}function Ro(e,t,n,r){if(!e&&!t)return;let o={};return e&&e!=="auto"?o.rgb=e:e==="auto"&&(o.auto=true),t&&(o.themeColor=t),n&&(o.themeTint=n),r&&(o.themeShade=r),Object.keys(o).length>0?o:void 0}function Me(e){if(!e)return;let r={style:l(e,"w","val")??"none"},o=w(e,"w","sz");o!==void 0&&(r.size=o);let i=w(e,"w","space");i!==void 0&&(r.space=i);let s=l(e,"w","color"),a=l(e,"w","themeColor"),c=l(e,"w","themeTint"),p=l(e,"w","themeShade"),f=Ro(s,a,c,p);f&&(r.color=f);let d=l(e,"w","shadow");(d==="1"||d==="true")&&(r.shadow=true);let h=l(e,"w","frame");return (h==="1"||h==="true")&&(r.frame=true),r}function Eo(e){switch(e){case "landscape":return "landscape";case "portrait":return "portrait";default:return}}function Mo(e){switch(e){case "continuous":return "continuous";case "nextPage":return "nextPage";case "oddPage":return "oddPage";case "evenPage":return "evenPage";case "nextColumn":return "nextColumn";default:return}}function Io(e){switch(e){case "top":return "top";case "center":return "center";case "both":return "both";case "bottom":return "bottom";default:return}}function $o(e){switch(e){case "continuous":return "continuous";case "newPage":return "newPage";case "newSection":return "newSection";default:return}}function Ie(e,t){let n={};if(!e)return n;let r=u(e,"w","pgSz");if(r){let x=w(r,"w","w");x!==void 0&&(n.pageWidth=x);let b=w(r,"w","h");b!==void 0&&(n.pageHeight=b);let F=l(r,"w","orient"),T=Eo(F);T&&(n.orientation=T);}let o=u(e,"w","pgMar");if(o){let x=w(o,"w","top");x!==void 0&&(n.marginTop=x);let b=w(o,"w","bottom");b!==void 0&&(n.marginBottom=b);let F=w(o,"w","left");F!==void 0&&(n.marginLeft=F);let T=w(o,"w","right");T!==void 0&&(n.marginRight=T);let E=w(o,"w","header");E!==void 0&&(n.headerDistance=E);let I=w(o,"w","footer");I!==void 0&&(n.footerDistance=I);let $=w(o,"w","gutter");$!==void 0&&(n.gutter=$);}let i=u(e,"w","cols");if(i){let x=w(i,"w","num");x!==void 0&&(n.columnCount=x);let b=w(i,"w","space");b!==void 0&&(n.columnSpace=b);let F=l(i,"w","equalWidth");F==="1"||F==="true"?n.equalWidth=true:(F==="0"||F==="false")&&(n.equalWidth=false);let T=l(i,"w","sep");(T==="1"||T==="true")&&(n.separator=true);let E=D(i,"w","col");if(E.length>0){n.columns=[];for(let I of E){let $={},A=w(I,"w","w");A!==void 0&&($.width=A);let H=w(I,"w","space");H!==void 0&&($.space=H),n.columns.push($);}}}let s=u(e,"w","type");if(s){let x=l(s,"w","val"),b=Mo(x);b&&(n.sectionStart=b);}let a=u(e,"w","vAlign");if(a){let x=l(a,"w","val"),b=Io(x);b&&(n.verticalAlign=b);}let c=u(e,"w","bidi");c&&(n.bidi=C(c));let p=D(e,"w","headerReference");p.length>0&&(n.headerReferences=p.map(x=>un(x)));let f=D(e,"w","footerReference");f.length>0&&(n.footerReferences=f.map(x=>pn(x)));let d=u(e,"w","titlePg");d&&(n.titlePg=C(d));let h=u(e,"w","evenAndOddHeaders");h&&(n.evenAndOddHeaders=C(h));let g=u(e,"w","lnNumType");if(g){n.lineNumbers={};let x=w(g,"w","start");x!==void 0&&(n.lineNumbers.start=x);let b=w(g,"w","countBy");b!==void 0&&(n.lineNumbers.countBy=b);let F=w(g,"w","distance");F!==void 0&&(n.lineNumbers.distance=F);let T=l(g,"w","restart"),E=$o(T);E&&(n.lineNumbers.restart=E);}let m=u(e,"w","pgBorders");if(m){n.pageBorders={};let x=Me(u(m,"w","top"));x&&(n.pageBorders.top=x);let b=Me(u(m,"w","bottom"));b&&(n.pageBorders.bottom=b);let F=Me(u(m,"w","left"));F&&(n.pageBorders.left=F);let T=Me(u(m,"w","right"));T&&(n.pageBorders.right=T);let E=l(m,"w","display");(E==="allPages"||E==="firstPage"||E==="notFirstPage")&&(n.pageBorders.display=E);let I=l(m,"w","offsetFrom");(I==="page"||I==="text")&&(n.pageBorders.offsetFrom=I);let $=l(m,"w","zOrder");($==="front"||$==="back")&&(n.pageBorders.zOrder=$);}let y=u(e,"w","background");if(y){n.background={};let x=l(y,"w","color");x&&x!=="auto"&&(n.background.color={rgb:x});let b=l(y,"w","themeColor");b&&(n.background.themeColor=b);let F=l(y,"w","themeTint");F&&(n.background.themeTint=F);let T=l(y,"w","themeShade");T&&(n.background.themeShade=T);}let k=u(e,"w","footnotePr");if(k){let x=xn(k);Object.keys(x).length>0&&(n.footnotePr=x);}let S=u(e,"w","endnotePr");if(S){let x=bn(S);Object.keys(x).length>0&&(n.endnotePr=x);}let R=u(e,"w","docGrid");if(R){n.docGrid={};let x=l(R,"w","type");(x==="default"||x==="lines"||x==="linesAndChars"||x==="snapToChars")&&(n.docGrid.type=x);let b=w(R,"w","linePitch");b!==void 0&&(n.docGrid.linePitch=b);let F=w(R,"w","charSpace");F!==void 0&&(n.docGrid.charSpace=F);}let v=u(e,"w","paperSrc");if(v){let x=w(v,"w","first");x!==void 0&&(n.paperSrcFirst=x);let b=w(v,"w","other");b!==void 0&&(n.paperSrcOther=b);}return n}function Tn(){return {pageWidth:12240,pageHeight:15840,orientation:"portrait",marginTop:1440,marginBottom:1440,marginLeft:1440,marginRight:1440,headerDistance:720,footerDistance:720,gutter:0,columnCount:1,columnSpace:720,equalWidth:true,sectionStart:"nextPage",verticalAlign:"top"}}function Do(e,t){return !e&&!t?true:!(!e||!t||e.bold!==t.bold||e.boldCs!==t.boldCs||e.italic!==t.italic||e.italicCs!==t.italicCs||e.strike!==t.strike||e.doubleStrike!==t.doubleStrike||e.smallCaps!==t.smallCaps||e.allCaps!==t.allCaps||e.hidden!==t.hidden||e.emboss!==t.emboss||e.imprint!==t.imprint||e.outline!==t.outline||e.shadow!==t.shadow||e.rtl!==t.rtl||e.cs!==t.cs||e.fontSize!==t.fontSize||e.fontSizeCs!==t.fontSizeCs||e.spacing!==t.spacing||e.position!==t.position||e.scale!==t.scale||e.kerning!==t.kerning||e.vertAlign!==t.vertAlign||e.highlight!==t.highlight||e.effect!==t.effect||e.emphasisMark!==t.emphasisMark||e.styleId!==t.styleId||!Ao(e.underline,t.underline)||!$e(e.color,t.color)||!Bo(e.shading,t.shading)||!Lo(e.fontFamily,t.fontFamily))}function Ao(e,t){return !e&&!t?true:!e||!t||e.style!==t.style?false:$e(e.color,t.color)}function $e(e,t){return !e&&!t?true:!e||!t?false:e.rgb===t.rgb&&e.auto===t.auto&&e.themeColor===t.themeColor&&e.themeTint===t.themeTint&&e.themeShade===t.themeShade}function Bo(e,t){return !e&&!t?true:!(!e||!t||e.pattern!==t.pattern||!$e(e.color,t.color)||!$e(e.fill,t.fill))}function Lo(e,t){return !e&&!t?true:!e||!t?false:e.ascii===t.ascii&&e.hAnsi===t.hAnsi&&e.eastAsia===t.eastAsia&&e.cs===t.cs&&e.asciiTheme===t.asciiTheme&&e.hAnsiTheme===t.hAnsiTheme&&e.eastAsiaTheme===t.eastAsiaTheme&&e.csTheme===t.csTheme}function No(e){return e.type==="text"||e.type==="softHyphen"||e.type==="noBreakHyphen"}function Cn(e){return e.content.length===0?true:e.content.every(No)}function Xo(e,t){let n=[];for(let r of e)n.push(r);if(n.length>0&&t.length>0&&n[n.length-1].type==="text"&&t[0].type==="text"){let r=n[n.length-1],o=t[0];n[n.length-1]={type:"text",text:r.text+o.text,preserveSpace:r.preserveSpace||o.preserveSpace||void 0};for(let i=1;i<t.length;i++)n.push(t[i]);}else for(let r of t)n.push(r);return n}function Ho(e){if(e.length<=1)return e;let t=[],n=null;for(let r of e)if(r.content.length!==0){if(n===null){n={...r,content:[...r.content]};continue}Cn(n)&&Cn(r)&&Do(n.formatting,r.formatting)?n={type:"run",formatting:n.formatting,content:Xo(n.content,r.content)}:(t.push(n),n={...r,content:[...r.content]});}return n!==null&&t.push(n),t}function tt(e){if(e.length<=1)return e;let t=[],n=[];function r(){if(n.length>0){let o=Ho(n);t.push(...o),n.length=0;}}for(let o of e)if(o.type==="run")n.push(o);else if(r(),o.type==="hyperlink"){let i={...o,children:tt(o.children)};t.push(i);}else t.push(o);return r(),t}function Oo(e){let t={sdtType:"richText"};if(!e||!e.elements)return t;for(let n of e.elements){if(n.type!=="element")continue;switch(n.name?.replace(/^w:/,"")??""){case "alias":t.alias=l(n,"w","val")??void 0;break;case "tag":t.tag=l(n,"w","val")??void 0;break;case "lock":t.lock=l(n,"w","val")??"unlocked";break;case "placeholder":{let o=u(n,"w","docPart");if(o){let i=u(o,"w","val");t.placeholder=i?l(i,"w","val")??void 0:void 0;}break}case "showingPlcHdr":t.showingPlaceholder=true;break;case "text":t.sdtType="plainText";break;case "date":t.sdtType="date",t.dateFormat=l(n,"w","fullDate")??void 0;break;case "dropDownList":t.sdtType="dropdown",t.listItems=Fn(n);break;case "comboBox":t.sdtType="comboBox",t.listItems=Fn(n);break;case "checkbox":{t.sdtType="checkbox";let o=u(n,"w14","checked")??u(n,"w","checked");t.checked=o?l(o,"w14","val")==="1"||l(o,"w","val")==="1":false;break}case "picture":t.sdtType="picture";break;case "docPartObj":t.sdtType="buildingBlockGallery";break;case "group":t.sdtType="group";break}}return t}function Fn(e){let t=[];for(let n of e.elements??[])n.type==="element"&&(n.name==="w:listItem"||n.name?.endsWith(":listItem"))&&t.push({displayText:l(n,"w","displayText")??"",value:l(n,"w","value")??""});return t}function Sn(e){let t="";if(e.type==="text"&&typeof e.text=="string")return e.text;if(e.elements)for(let n of e.elements)if((n.name?.replace(/^.*:/,"")??"")==="t"&&n.elements)for(let o of n.elements)o.type==="text"&&typeof o.text=="string"&&(t+=o.text);else t+=Sn(n);return t}function jo(e,t,n,r){let o={};return e&&e!=="auto"?o.rgb=e:e==="auto"&&(o.auto=true),t&&(o.themeColor=t),n&&(o.themeTint=n),r&&(o.themeShade=r),o}function zo(e){if(!e)return;let t={},n=l(e,"w","color");n&&n!=="auto"&&(t.color={rgb:n});let r=l(e,"w","fill");r&&r!=="auto"&&(t.fill={rgb:r});let o=l(e,"w","themeFill");o&&(t.fill=t.fill||{},t.fill.themeColor=o);let i=l(e,"w","themeFillTint");i&&t.fill&&(t.fill.themeTint=i);let s=l(e,"w","themeFillShade");s&&t.fill&&(t.fill.themeShade=s);let a=l(e,"w","val");return a&&(t.pattern=a),Object.keys(t).length>0?t:void 0}function pe(e){if(!e)return;let t=l(e,"w","val");if(!t)return;let n={style:t},r=l(e,"w","color"),o=l(e,"w","themeColor");(r||o)&&(n.color=jo(r,o,l(e,"w","themeTint"),l(e,"w","themeShade")));let i=w(e,"w","sz");i!==void 0&&(n.size=i);let s=w(e,"w","space");s!==void 0&&(n.space=s);let a=l(e,"w","shadow");a&&(n.shadow=a==="1"||a==="true");let c=l(e,"w","frame");return c&&(n.frame=c==="1"||c==="true"),n}function Vo(e){if(!e)return;let t=D(e,"w","tab");if(t.length===0)return;let n=[];for(let r of t){let o=w(r,"w","pos"),i=l(r,"w","val");if(o!==void 0&&i){let s={position:o,alignment:i},a=l(r,"w","leader");a&&(s.leader=a),n.push(s);}}return n.length>0?n:void 0}function Wo(e){if(!e)return;let t={},n=w(e,"w","w");n!==void 0&&(t.width=n);let r=w(e,"w","h");r!==void 0&&(t.height=r);let o=l(e,"w","hAnchor");(o==="text"||o==="margin"||o==="page")&&(t.hAnchor=o);let i=l(e,"w","vAnchor");(i==="text"||i==="margin"||i==="page")&&(t.vAnchor=i);let s=w(e,"w","x");s!==void 0&&(t.x=s);let a=w(e,"w","y");a!==void 0&&(t.y=a);let c=l(e,"w","xAlign");c&&(t.xAlign=c);let p=l(e,"w","yAlign");p&&(t.yAlign=p);let f=l(e,"w","wrap");return f&&(t.wrap=f),Object.keys(t).length>0?t:void 0}function _o(e,t,n){if(!e)return;let r={},o=u(e,"w","jc");if(o){let T=l(o,"w","val");T&&(r.alignment=T);}let i=u(e,"w","bidi");i&&(r.bidi=C(i));let s=u(e,"w","spacing");if(s){let T=w(s,"w","before");T!==void 0&&(r.spaceBefore=T);let E=w(s,"w","after");E!==void 0&&(r.spaceAfter=E);let I=w(s,"w","line");I!==void 0&&(r.lineSpacing=I);let $=l(s,"w","lineRule");$&&(r.lineSpacingRule=$);let A=l(s,"w","beforeAutospacing");A&&(r.beforeAutospacing=A==="1"||A==="true");let H=l(s,"w","afterAutospacing");H&&(r.afterAutospacing=H==="1"||H==="true");}let a=u(e,"w","ind");if(a){let T=w(a,"w","left");T!==void 0&&(r.indentLeft=T);let E=w(a,"w","right");E!==void 0&&(r.indentRight=E);let I=w(a,"w","firstLine");I!==void 0&&(r.indentFirstLine=I);let $=w(a,"w","hanging");$!==void 0&&(r.indentFirstLine=-$,r.hangingIndent=true);let A=w(a,"w","start");A!==void 0&&r.indentLeft===void 0&&(r.indentLeft=A);let H=w(a,"w","end");H!==void 0&&r.indentRight===void 0&&(r.indentRight=H);}let c=u(e,"w","pBdr");if(c){let T={},E=pe(u(c,"w","top"));E&&(T.top=E);let I=pe(u(c,"w","bottom"));I&&(T.bottom=I);let $=pe(u(c,"w","left"));$&&(T.left=$);let A=pe(u(c,"w","right"));A&&(T.right=A);let H=pe(u(c,"w","between"));H&&(T.between=H);let J=pe(u(c,"w","bar"));J&&(T.bar=J),Object.keys(T).length>0&&(r.borders=T);}let p=u(e,"w","shd");p&&(r.shading=zo(p));let f=u(e,"w","tabs");f&&(r.tabs=Vo(f));let d=u(e,"w","keepNext");d&&(r.keepNext=C(d));let h=u(e,"w","keepLines");h&&(r.keepLines=C(h));let g=u(e,"w","widowControl");g&&(r.widowControl=C(g));let m=u(e,"w","pageBreakBefore");m&&(r.pageBreakBefore=C(m));let y=u(e,"w","contextualSpacing");y&&(r.contextualSpacing=C(y));let k=u(e,"w","numPr");if(k){let T=u(k,"w","numId"),E=u(k,"w","ilvl");if(T||E){if(r.numPr={},T){let I=w(T,"w","val");I!==void 0&&(r.numPr.numId=I);}if(E){let I=w(E,"w","val");I!==void 0&&(r.numPr.ilvl=I);}}}let S=u(e,"w","outlineLvl");if(S){let T=w(S,"w","val");T!==void 0&&(r.outlineLevel=T);}let R=u(e,"w","pStyle");if(R){let T=l(R,"w","val");T&&(r.styleId=T);}let v=u(e,"w","framePr");v&&(r.frame=Wo(v));let x=u(e,"w","suppressLineNumbers");x&&(r.suppressLineNumbers=C(x));let b=u(e,"w","suppressAutoHyphens");b&&(r.suppressAutoHyphens=C(b));let F=u(e,"w","rPr");return F&&(r.runProperties=Qe(F,t)),Object.keys(r).length>0?r:void 0}function vn(e){if(!e)return "";let t=e.indexOf(":");return t>=0?e.substring(t+1):e}function Uo(e,t,n,r,o){return tn(e,t,n,r,o)}function Go(e){return nn(e)}function qo(e){return rn(e)}function kn(e){let t=e.trim().match(/^\\?([A-Z]+)/i);if(!t)return "UNKNOWN";let n=t[1].toUpperCase();return ["PAGE","NUMPAGES","NUMWORDS","NUMCHARS","DATE","TIME","CREATEDATE","SAVEDATE","PRINTDATE","AUTHOR","TITLE","SUBJECT","KEYWORDS","COMMENTS","FILENAME","FILESIZE","TEMPLATE","DOCPROPERTY","DOCVARIABLE","REF","PAGEREF","NOTEREF","HYPERLINK","TOC","TOA","INDEX","SEQ","STYLEREF","AUTONUM","AUTONUMLGL","AUTONUMOUT","IF","MERGEFIELD","NEXT","NEXTIF","ASK","SET","QUOTE","INCLUDETEXT","INCLUDEPICTURE","SYMBOL","ADVANCE","EDITTIME","REVNUM","SECTION","SECTIONPAGES","USERADDRESS","USERNAME","USERINITIALS"].includes(n)?n:"UNKNOWN"}function Jo(e,t,n,r,o){let i=l(e,"w","instr")??"",s=kn(i),a={type:"simpleField",instruction:i,fieldType:s,content:[]},c=l(e,"w","fldLock");(c==="1"||c==="true")&&(a.fldLock=true);let p=l(e,"w","dirty");(p==="1"||p==="true")&&(a.dirty=true);let f=N(e);for(let d of f)vn(d.name)==="r"&&a.content.push(ge(d,t,n,r,o));return a}function De(e,t,n,r,o,i){let s=[],a=N(e),c=false,p="",f=[],d=[],h=false,g=false,m=false;for(let y of a){let k=vn(y.name);switch(k){case "r":{let S=ge(y,t,n,o,i),R=false,v=false,x=false,b="";for(let F of S.content)F.type==="fieldChar"?F.charType==="begin"?(R=true,F.fldLock&&(g=true),F.dirty&&(m=true)):F.charType==="separate"?v=true:F.charType==="end"&&(x=true):F.type==="instrText"&&(b+=F.text);if(R&&(c=true,h=false,p="",f=[],d=[],g=false,m=false),c){if(b&&(p+=b),v&&(h=true),h&&!x?v||d.push(S):!h&&!R&&f.push(S),x){let F={type:"complexField",instruction:p.trim(),fieldType:kn(p),fieldCode:f,fieldResult:d};g&&(F.fldLock=true),m&&(F.dirty=true),s.push(F),c=false;}}else s.push(S);break}case "hyperlink":s.push(Uo(y,o,t,n,i));break;case "bookmarkStart":s.push(Go(y));break;case "bookmarkEnd":s.push(qo(y));break;case "fldSimple":s.push(Jo(y,t,n,o,i));break;case "pPr":break;case "proofErr":case "permStart":case "permEnd":case "customXml":break;case "sdt":{let S=(y.elements??[]).find(v=>v.type==="element"&&(v.name==="w:sdtPr"||v.name?.endsWith(":sdtPr"))),R=(y.elements??[]).find(v=>v.type==="element"&&(v.name==="w:sdtContent"||v.name?.endsWith(":sdtContent")));if(R){let v=De(R,t,n,null,o,i),b={type:"inlineSdt",properties:Oo(S??null),content:v.filter(F=>F.type==="run"||F.type==="hyperlink")};s.push(b);}break}case "ins":{let S={id:parseInt(l(y,"w","id")??"0",10),author:l(y,"w","author")??"Unknown",date:l(y,"w","date")??void 0},R=De(y,t,n,null,o,i),v={type:"insertion",info:S,content:R.filter(x=>x.type==="run"||x.type==="hyperlink")};s.push(v);break}case "del":{let S={id:parseInt(l(y,"w","id")??"0",10),author:l(y,"w","author")??"Unknown",date:l(y,"w","date")??void 0},R=De(y,t,n,null,o,i),v={type:"deletion",info:S,content:R.filter(x=>x.type==="run"||x.type==="hyperlink")};s.push(v);break}case "smartTag":case "moveTo":case "moveFrom":break;case "commentRangeStart":{let S=parseInt(l(y,"w","id")??"0",10);s.push({type:"commentRangeStart",id:S});break}case "commentRangeEnd":{let S=parseInt(l(y,"w","id")??"0",10);s.push({type:"commentRangeEnd",id:S});break}case "oMath":case "oMathPara":{let S=k==="oMathPara",R=Et(y),v=Sn(y),x={type:"mathEquation",display:S?"block":"inline",ommlXml:R,plainText:v||void 0};s.push(x);break}}}return s}function q(e,t,n,r,o=null,i=null){let s={type:"paragraph",content:[]},a=l(e,"w14","paraId")??l(e,"w","paraId");a&&(s.paraId=a);let c=l(e,"w14","textId")??l(e,"w","textId");c&&(s.textId=c);let p=u(e,"w","pPr");if(p){s.formatting=_o(p,n);let h=u(p,"w","sectPr");h&&(s.sectionProperties=Ie(h));}let f=De(e,t,n,r,o,i);s.content=tt(f);let d=s.formatting?.numPr;if(!d&&s.formatting?.styleId&&t){let h=t.get(s.formatting.styleId);h?.pPr?.numPr&&(d=h.pPr.numPr,s.formatting||(s.formatting={}),s.formatting.numPr=d);}if(d&&r){let{numId:h,ilvl:g=0}=d;if(h!==void 0&&h!==0){let m=r.getLevel(h,g);if(m&&(s.listRendering={level:g,numId:h,marker:m.lvlText,isBullet:m.numFmt==="bullet",numFmt:m.numFmt},m.pPr)){s.formatting||(s.formatting={});let y=p?u(p,"w","ind"):null,k=y!=null&&(l(y,"w","left")!==null||l(y,"w","start")!==null),S=y!=null&&(l(y,"w","firstLine")!==null||l(y,"w","hanging")!==null);!k&&m.pPr.indentLeft!==void 0&&(s.formatting.indentLeft=m.pPr.indentLeft),S||(m.pPr.indentFirstLine!==void 0&&(s.formatting.indentFirstLine=m.pPr.indentFirstLine),m.pPr.hangingIndent!==void 0&&(s.formatting.hangingIndent=m.pPr.hangingIndent));}}}return s}function nt(e){let t="";for(let n of e.content)if(n.type==="run")for(let r of n.content)r.type==="text"?t+=r.text:r.type==="tab"?t+=" ":r.type==="break"&&(r.breakType==="page"?t+="\f":t+=`
|
|
2
|
+
import Ct from'pizzip';import Ft from'docxtemplater';import lt from'jszip';import {xml2js,js2xml}from'xml-js';var dt=Object.defineProperty;var cr=(e,t,n)=>t in e?dt(e,t,{enumerable:true,configurable:true,writable:true,value:n}):e[t]=n;var mt=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var ht=(e,t)=>()=>(e&&(t=e(e=0)),t);var ur=(e,t)=>{for(var n in t)dt(e,n,{get:t[n],enumerable:true});};var me=(e,t,n)=>cr(e,typeof t!="symbol"?t+"":t,n);var Ve,re,Te=ht(()=>{Ve=class{constructor(){me(this,"plugins",new Map);me(this,"commandHandlers",new Map);me(this,"eventListeners",new Set);me(this,"initialized",new Set);}register(t,n){let r=[];if(!t.id)return {success:false,error:"Plugin must have an id"};if(this.plugins.has(t.id))return {success:false,error:`Plugin '${t.id}' is already registered`};if(t.dependencies){for(let o of t.dependencies)if(!this.plugins.has(o))return {success:false,error:`Plugin '${t.id}' requires '${o}' which is not registered`}}if(t.commandHandlers)for(let[o,i]of Object.entries(t.commandHandlers)){if(this.commandHandlers.has(o)){let s=this.commandHandlers.get(o);r.push(`Command '${o}' from '${t.id}' overrides handler from '${s.pluginId}'`);}this.commandHandlers.set(o,{pluginId:t.id,handler:i});}if(this.plugins.set(t.id,t),t.initialize&&!this.initialized.has(t.id))try{let o=t.initialize();o instanceof Promise?o.then(()=>{this.initialized.add(t.id);}).catch(i=>{this.emit({type:"error",pluginId:t.id,error:i});}):this.initialized.add(t.id);}catch(o){this.emit({type:"error",pluginId:t.id,error:o});}return n?.debug&&console.log(`[PluginRegistry] Registered plugin: ${t.id}`),this.emit({type:"registered",plugin:t}),{success:true,plugin:t,warnings:r.length>0?r:void 0}}unregister(t){let n=this.plugins.get(t);if(!n)return false;for(let[r,o]of this.plugins)if(o.dependencies?.includes(t))return console.warn(`Cannot unregister '${t}': '${r}' depends on it`),false;for(let[r,{pluginId:o}]of this.commandHandlers)o===t&&this.commandHandlers.delete(r);if(n.destroy)try{let r=n.destroy();r instanceof Promise&&r.catch(o=>{this.emit({type:"error",pluginId:t,error:o});});}catch(r){this.emit({type:"error",pluginId:t,error:r});}return this.plugins.delete(t),this.initialized.delete(t),this.emit({type:"unregistered",pluginId:t}),true}get(t){return this.plugins.get(t)}getAll(){return Array.from(this.plugins.values())}has(t){return this.plugins.has(t)}get size(){return this.plugins.size}getCommandHandler(t){return this.commandHandlers.get(t)?.handler}getCommandTypes(){return Array.from(this.commandHandlers.keys())}hasCommandHandler(t){return this.commandHandlers.has(t)}getMcpTools(){let t=[];for(let n of this.plugins.values())n.mcpTools&&t.push(...n.mcpTools);return t}getMcpToolsForPlugin(t){return this.plugins.get(t)?.mcpTools||[]}getMcpTool(t){for(let n of this.plugins.values())if(n.mcpTools){let r=n.mcpTools.find(o=>o.name===t);if(r)return r}}addEventListener(t){this.eventListeners.add(t);}removeEventListener(t){this.eventListeners.delete(t);}emit(t){for(let n of this.eventListeners)try{n(t);}catch(r){console.error("[PluginRegistry] Event listener error:",r);}}clear(){for(let t of this.plugins.values())if(t.destroy)try{t.destroy();}catch{}this.plugins.clear(),this.commandHandlers.clear(),this.initialized.clear();}getDebugInfo(){return {plugins:Array.from(this.plugins.keys()),commandTypes:Array.from(this.commandHandlers.keys()),mcpTools:this.getMcpTools().map(t=>t.name),initialized:Array.from(this.initialized)}}},re=new Ve;});var jn={};ur(jn,{executeCommand:()=>ie,executeCommands:()=>mi});function ie(e,t){let n=re.getCommandHandler(t.type);if(n)return n(e,t);switch(t.type){case "insertText":return hi(e,t);case "replaceText":return gi(e,t);case "deleteText":return wi(e,t);case "formatText":return yi(e,t);case "formatParagraph":return xi(e,t);case "applyStyle":return bi(e,t);case "insertTable":return Ti(e,t);case "insertImage":return Ci(e,t);case "insertHyperlink":return Fi(e,t);case "removeHyperlink":return Si(e,t);case "insertParagraphBreak":return On(e,t);case "mergeParagraphs":return vi(e,t);case "splitParagraph":return ki(e,t);case "setVariable":return Pi(e,t);case "applyVariables":return Ri(e,t);default:let r=t;throw new Error(`Unknown command type: ${r.type}`)}}function mi(e,t){return t.reduce((n,r)=>ie(n,r),e)}function W(e){return JSON.parse(JSON.stringify(e))}function O(e,t){let n=0;for(let r=0;r<e.content.length;r++)if(e.content[r].type==="paragraph"){if(n===t)return r;n++;}return -1}function ye(e){let t="";for(let n of e.content)if(n.type==="run")for(let r of n.content)r.type==="text"&&(t+=r.text);else if(n.type==="hyperlink"){for(let r of n.children)if(r.type==="run")for(let o of r.content)o.type==="text"&&(t+=o.text);}return t}function Xe(e,t){return {type:"run",formatting:t,content:[{type:"text",text:e}]}}function He(e,t,n,r){let o=[],i=0,s=false;for(let a of e.content)if(a.type==="run"){let c=a.content.filter(d=>d.type==="text").map(d=>d.text).join(""),p=i,f=i+c.length;if(!s&&t>=p&&t<=f){let d=t-p;d>0&&o.push({...a,content:[{type:"text",text:c.slice(0,d)}]}),o.push(Xe(n,r||a.formatting)),d<c.length&&o.push({...a,content:[{type:"text",text:c.slice(d)}]}),s=true;}else o.push(a);i=f;}else o.push(a);return s||o.push(Xe(n,r)),o}function oe(e,t,n){let r=[],o=0;for(let i of e.content)if(i.type==="run"){let s=i.content.filter(p=>p.type==="text").map(p=>p.text).join(""),a=o,c=o+s.length;if(c<=t||a>=n)r.push(i);else {let p="";a<t&&(p+=s.slice(0,t-a)),c>n&&(p+=s.slice(n-a)),p.length>0&&r.push({...i,content:[{type:"text",text:p}]});}o=c;}else r.push(i);return r}function Hn(e,t,n,r){let o=[],i=0;for(let s of e.content)if(s.type==="run"){let a=s.content.filter(f=>f.type==="text").map(f=>f.text).join(""),c=i,p=i+a.length;if(p<=t||c>=n)o.push(s);else if(c>=t&&p<=n)o.push({...s,formatting:{...s.formatting,...r}});else {let f=Math.max(t,c),d=Math.min(n,p);c<f&&o.push({...s,content:[{type:"text",text:a.slice(0,f-c)}]}),o.push({...s,formatting:{...s.formatting,...r},content:[{type:"text",text:a.slice(f-c,d-c)}]}),p>d&&o.push({...s,content:[{type:"text",text:a.slice(d-c)}]});}i=p;}else o.push(s);return o}function hi(e,t){let n=W(e),r=n.package.document,o=O(r,t.position.paragraphIndex);if(o===-1)throw new Error(`Paragraph index ${t.position.paragraphIndex} not found`);let i=r.content[o];return i.content=He(i,t.position.offset,t.text,t.formatting),n}function gi(e,t){let n=W(e),r=n.package.document,{start:o,end:i}=t.range;if(o.paragraphIndex===i.paragraphIndex){let s=O(r,o.paragraphIndex);if(s===-1)throw new Error(`Paragraph index ${o.paragraphIndex} not found`);let a=r.content[s];a.content=oe(a,o.offset,i.offset),a.content=He(a,o.offset,t.text,t.formatting);}else {let s=O(r,o.paragraphIndex),a=r.content[s],c=ye(a);a.content=oe(a,o.offset,c.length),a.content=He(a,o.offset,t.text,t.formatting);let p=[];for(let f=o.paragraphIndex+1;f<=i.paragraphIndex;f++)p.push(O(r,f));for(let f=p.length-1;f>=0;f--)p[f]!==-1&&r.content.splice(p[f],1);}return n}function wi(e,t){let n=W(e),r=n.package.document,{start:o,end:i}=t.range;if(o.paragraphIndex===i.paragraphIndex){let s=O(r,o.paragraphIndex);if(s===-1)throw new Error(`Paragraph index ${o.paragraphIndex} not found`);let a=r.content[s];a.content=oe(a,o.offset,i.offset);}else {let s=O(r,o.paragraphIndex),a=r.content[s],c=ye(a);a.content=oe(a,o.offset,c.length);let p=O(r,i.paragraphIndex),f=r.content[p];f.content=oe(f,0,i.offset),a.content.push(...f.content);let d=[];for(let h=o.paragraphIndex+1;h<=i.paragraphIndex;h++)d.push(O(r,h));for(let h=d.length-1;h>=0;h--)d[h]!==-1&&r.content.splice(d[h],1);}return n}function yi(e,t){let n=W(e),r=n.package.document,{start:o,end:i}=t.range;if(o.paragraphIndex===i.paragraphIndex){let s=O(r,o.paragraphIndex);if(s===-1)throw new Error(`Paragraph index ${o.paragraphIndex} not found`);let a=r.content[s];a.content=Hn(a,o.offset,i.offset,t.formatting);}else for(let s=o.paragraphIndex;s<=i.paragraphIndex;s++){let a=O(r,s);if(a===-1)continue;let c=r.content[a],p=ye(c),f=0,d=p.length;s===o.paragraphIndex&&(f=o.offset),s===i.paragraphIndex&&(d=i.offset),c.content=Hn(c,f,d,t.formatting);}return n}function xi(e,t){let n=W(e),r=n.package.document,o=O(r,t.paragraphIndex);if(o===-1)throw new Error(`Paragraph index ${t.paragraphIndex} not found`);let i=r.content[o];if(i.formatting={...i.formatting,...t.formatting},"numPr"in t.formatting){let s=t.formatting.numPr;if(s&&s.numId!==void 0&&s.numId!==0){let a=s.ilvl??0,c=s.numId===1,p=c?"\u2022":"1.";if(n.package.numbering){let f=n.package.numbering.nums.find(d=>d.numId===s.numId);if(f){let d=n.package.numbering.abstractNums.find(h=>h.abstractNumId===f.abstractNumId);if(d){let h=d.levels.find(g=>g.ilvl===a);h&&(p=h.lvlText||p);}}}i.listRendering={level:a,numId:s.numId,marker:p,isBullet:c};}else delete i.listRendering;}return n}function bi(e,t){let n=W(e),r=n.package.document,o=O(r,t.paragraphIndex);if(o===-1)throw new Error(`Paragraph index ${t.paragraphIndex} not found`);let i=r.content[o];return i.formatting={...i.formatting,styleId:t.styleId},n}function Ti(e,t){let n=W(e),r=n.package.document,o=[];for(let a=0;a<t.rows;a++){let c=[];for(let p=0;p<t.columns;p++){let f=t.data?.[a]?.[p]||"";c.push({type:"tableCell",content:[{type:"paragraph",content:f?[Xe(f)]:[]}]});}o.push({type:"tableRow",formatting:a===0&&t.hasHeader?{header:true}:void 0,cells:c});}let i={type:"table",rows:o},s=O(r,t.position.paragraphIndex);return s===-1?r.content.push(i):r.content.splice(s+1,0,i),n}function Ci(e,t){let n=W(e),r=n.package.document,o=O(r,t.position.paragraphIndex);if(o===-1)throw new Error(`Paragraph index ${t.position.paragraphIndex} not found`);let i=r.content[o],a={type:"run",content:[{type:"drawing",image:{type:"image",rId:`rId_img_${Date.now()}`,src:t.src,alt:t.alt,size:{width:(t.width||100)*914400,height:(t.height||100)*914400},wrap:{type:"inline"}}}]},c=He(i,t.position.offset,"",void 0),p=false,f=0;for(let d=0;d<c.length;d++){let h=c[d];if(h.type==="run"){let g=h.content.filter(m=>m.type==="text").map(m=>m.text).join("");if(f+=g.length,!p&&f>=t.position.offset){c.splice(d+1,0,a),p=true;break}}}return p||c.push(a),i.content=c,n}function Fi(e,t){let n=W(e),r=n.package.document,{start:o,end:i}=t.range;if(o.paragraphIndex!==i.paragraphIndex)throw new Error("Hyperlinks cannot span multiple paragraphs");let s=O(r,o.paragraphIndex);if(s===-1)throw new Error(`Paragraph index ${o.paragraphIndex} not found`);let a=r.content[s],c=ye(a),p=t.displayText||c.slice(o.offset,i.offset);a.content=oe(a,o.offset,i.offset);let f={type:"hyperlink",href:t.url,tooltip:t.tooltip,children:[Xe(p)]},d=false,h=0,g=[];for(let m of a.content)if(m.type==="run"){let y=m.content.filter(S=>S.type==="text").map(S=>S.text).join(""),k=h+y.length;if(!d&&h<=o.offset&&o.offset<=k){let S=o.offset-h;S>0&&g.push({...m,content:[{type:"text",text:y.slice(0,S)}]}),g.push(f),S<y.length&&g.push({...m,content:[{type:"text",text:y.slice(S)}]}),d=true;}else g.push(m);h=k;}else g.push(m);return d||g.push(f),a.content=g,n}function Si(e,t){let n=W(e),r=n.package.document,{start:o}=t.range,i=O(r,o.paragraphIndex);if(i===-1)throw new Error(`Paragraph index ${o.paragraphIndex} not found`);let s=r.content[i],a=[];for(let c of s.content)if(c.type==="hyperlink")for(let p of c.children)p.type==="run"&&a.push(p);else a.push(c);return s.content=a,n}function On(e,t){let n=W(e),r=n.package.document,o=O(r,t.position.paragraphIndex);if(o===-1)throw new Error(`Paragraph index ${t.position.paragraphIndex} not found`);let i=r.content[o],s=ye(i),a=oe({...i,content:[...i.content]},t.position.offset,s.length),c=oe({...i,content:[...i.content]},0,t.position.offset);i.content=a;let p={type:"paragraph",formatting:i.formatting,content:c};return r.content.splice(o+1,0,p),n}function vi(e,t){let n=W(e),r=n.package.document,o=O(r,t.paragraphIndex);if(o===-1)throw new Error(`Paragraph index ${t.paragraphIndex} not found`);let i=r.content[o],s=[];for(let a=1;a<=t.count;a++){let c=O(r,t.paragraphIndex+a);if(c!==-1){let p=r.content[c];i.content.push(...p.content),s.push(c);}}for(let a=s.length-1;a>=0;a--)r.content.splice(s[a],1);return n}function ki(e,t){return On(e,{position:t.position})}function Pi(e,t){let n=W(e);return n.templateVariables||(n.templateVariables=[]),n.templateVariables.includes(t.name)||n.templateVariables.push(t.name),n}function Ri(e,t){let n=W(e),r=n.package.document;function o(a){for(let c of a.content)if(c.type==="text")for(let[p,f]of Object.entries(t.values)){let d=new RegExp(`\\{${p}\\}`,"g");c.text=c.text.replace(d,f);}}function i(a){for(let c of a.content)if(c.type==="run")o(c);else if(c.type==="hyperlink")for(let p of c.children)p.type==="run"&&o(p);}function s(a){if(a.type==="paragraph")i(a);else if(a.type==="table")for(let c of a.rows)for(let p of c.cells)for(let f of p.content)s(f);}for(let a of r.content)s(a);return n}var rt=ht(()=>{Te();});Te();function _e(e,t){let n=t,{position:r,variableName:o}=n,i=JSON.parse(JSON.stringify(e)),a=i.package.document.content.filter(f=>f.type==="paragraph");if(r.paragraphIndex>=a.length)throw new Error(`Paragraph index ${r.paragraphIndex} out of bounds`);let c=a[r.paragraphIndex],p=`{{${o}}}`;return gt(c,r.offset,p),i.templateVariables||(i.templateVariables=[]),i.templateVariables.includes(o)||i.templateVariables.push(o),i}function Ue(e,t){let n=t,{range:r,variableName:o}=n,i=JSON.parse(JSON.stringify(e)),a=i.package.document.content.filter(f=>f.type==="paragraph");if(r.start.paragraphIndex!==r.end.paragraphIndex)throw new Error("Template variable replacement cannot span multiple paragraphs");if(r.start.paragraphIndex>=a.length)throw new Error(`Paragraph index ${r.start.paragraphIndex} out of bounds`);let c=a[r.start.paragraphIndex];pr(c,r.start.offset,r.end.offset);let p=`{{${o}}}`;return gt(c,r.start.offset,p),i.templateVariables||(i.templateVariables=[]),i.templateVariables.includes(o)||i.templateVariables.push(o),i}function gt(e,t,n){let r=0,o=false;for(let i=0;i<e.content.length;i++){let s=e.content[i];if(s.type==="run"){let a=We(s),c=r,p=r+a.length;if(!o&&t>=c&&t<=p){let f=t-c,d=a.slice(0,f),h=a.slice(f),g=[];for(let m=0;m<i;m++)g.push(e.content[m]);d&&g.push({type:"run",formatting:s.formatting,content:[{type:"text",text:d}]}),g.push({type:"run",formatting:s.formatting,content:[{type:"text",text:n}]}),h&&g.push({type:"run",formatting:s.formatting,content:[{type:"text",text:h}]});for(let m=i+1;m<e.content.length;m++)g.push(e.content[m]);e.content=g,o=true;break}r=p;}else if(s.type==="hyperlink")for(let a of s.children)a.type==="run"&&(r+=We(a).length);}o||e.content.push({type:"run",content:[{type:"text",text:n}]});}function pr(e,t,n){let r=[],o=0;for(let i of e.content)if(i.type==="run"){let s=We(i),a=o,c=o+s.length;if(c<=t||a>=n)r.push(i);else {let p="";a<t&&(p+=s.slice(0,t-a)),c>n&&(p+=s.slice(n-a)),p.length>0&&r.push({type:"run",formatting:i.formatting,content:[{type:"text",text:p}]});}o=c;}else r.push(i);e.content=r;}function We(e){return e.content.filter(t=>t.type==="text").map(t=>t.text).join("")}function xt(e){let t=[],n={body:[],headers:[],footers:[],footnotes:[],endnotes:[],textBoxes:[]};if(e.package?.document){let o=fr(e.package.document);o.forEach(i=>{t.push({name:i,location:"body"});}),n.body=Array.from(new Set(o)).sort();}if(e.package?.document?.sections&&e.package.document.sections.forEach((o,i)=>{o.properties.headerReferences&&o.properties.headerReferences.forEach(s=>{});}),e.package?.footnotes){let o=yt(e.package.footnotes);o.forEach(i=>{t.push({name:i,location:"footnote"});}),n.footnotes=Array.from(new Set(o)).sort();}if(e.package?.endnotes){let o=yt(e.package.endnotes);o.forEach(i=>{t.push({name:i,location:"endnote"});}),n.endnotes=Array.from(new Set(o)).sort();}e.templateVariables&&e.templateVariables.forEach(o=>{t.some(i=>i.name===o)||t.push({name:o,location:"body"});});let r=new Set;return t.forEach(o=>r.add(o.name)),{variables:Array.from(r).sort(),totalOccurrences:t.length,byLocation:n,occurrences:t}}function fr(e){let t=[];if(e.content&&t.push(...wt(e.content)),e.sections)for(let n of e.sections)n.content&&t.push(...wt(n.content));return t}function wt(e){let t=[];for(let n of e)n.type==="paragraph"?t.push(...Ge(n)):n.type==="table"&&t.push(...bt(n));return t}function Ge(e){let t=[];if(!e.content)return t;for(let n of e.content)n.type==="run"?t.push(...he(n)):n.type==="hyperlink"?t.push(...dr(n)):n.type==="simpleField"?t.push(...mr(n)):n.type==="complexField"&&t.push(...hr(n));return t}function he(e){let t=[];if(!e.content)return t;for(let n of e.content)n.type==="text"&&n.text&&t.push(...Tt(n.text));return t}function dr(e){let t=[];if(!e.children)return t;for(let n of e.children)n.type==="run"&&t.push(...he(n));return t}function mr(e){let t=[];if(e.instruction&&t.push(...Tt(e.instruction)),e.content)for(let n of e.content)n.type==="run"&&t.push(...he(n));return t}function hr(e){let t=[];if(e.fieldCode)for(let n of e.fieldCode)n.type==="run"&&t.push(...he(n));if(e.fieldResult)for(let n of e.fieldResult)n.type==="run"&&t.push(...he(n));return t}function bt(e){let t=[];if(!e.rows)return t;for(let n of e.rows)if(n.cells)for(let r of n.cells)t.push(...gr(r));return t}function gr(e){let t=[];if(!e.content)return t;for(let n of e.content)n.type==="paragraph"?t.push(...Ge(n)):n.type==="table"&&t.push(...bt(n));return t}function yt(e){let t=[];for(let n of e)if(n.content)for(let r of n.content)t.push(...Ge(r));return t}var wr=/\{([a-zA-Z_][a-zA-Z0-9_\-\.]*)\}/g;function Tt(e){if(!e)return [];let t=[],n=new RegExp(wr),r;for(;(r=n.exec(e))!==null;)t.push(r[1]);return t}function St(e,t,n={}){let{nullGetter:r="keep",linebreaks:o=true,delimiters:i}=n,s=[],a=[],c=[];try{let p=new Ct(e),f=new Ft(p,{paragraphLoop:!0,linebreaks:o,nullGetter:h=>{let g=h.value||"";if(r==="error")throw new Error(`Undefined variable: ${g}`);return r==="empty"?(c.push(g),""):(c.push(g),`{${g}}`)},delimiters:i?{start:i.start||"{",end:i.end||"}"}:void 0});return Object.keys(t).forEach(h=>{t[h]!==void 0&&t[h]!==null&&a.push(h);}),f.setData(t),f.render(),{buffer:f.getZip().generate({type:"arraybuffer",compression:"DEFLATE",compressionOptions:{level:6}}),replacedVariables:a,unreplacedVariables:c,warnings:s}}catch(p){throw kt(p)}}function vt(e){let t=[],n=[];try{let r=new Ct(e),i=new Ft(r,{paragraphLoop:!0,linebreaks:!0}).getFullText();n=yr(i);let s=xr(i);for(let a of s)t.push({message:`Unclosed tag: ${a}`,variable:a,type:"parse"});return {valid:t.length===0,errors:t,tags:n}}catch(r){return t.push(kt(r)),{valid:false,errors:t,tags:n}}}function yr(e){let t=[],n=/\{([^{}]+)\}/g,r;for(;(r=n.exec(e))!==null;){let o=r[1].trim();o&&!t.includes(o)&&t.push(o);}return t.sort()}function xr(e){let t=[],n=0,r="";for(let o of e)o==="{"?(n++,r=""):o==="}"?(n--,n<0&&(n=0)):n>0&&(r+=o);return n>0&&r.trim()&&t.push(r.trim()),t}function br(e){return "properties"in e&&typeof e.properties=="object"}function kt(e){if(e instanceof Error){if(br(e)&&e.properties?.errors){let t=e.properties.errors[0];return {message:t?.message||"Template processing error",variable:t?.properties?.tag,type:"render",originalError:e}}if(e.message.includes("undefined")){let t=e.message.match(/undefined (?:variable|tag):\s*(\S+)/i);return {message:e.message,variable:t?t[1]:void 0,type:"undefined",originalError:e}}return e.message.includes("parse")||e.message.includes("unclosed")||e.message.includes("syntax")?{message:e.message,type:"parse",originalError:e}:{message:e.message,type:"unknown",originalError:e}}return {message:String(e),type:"unknown"}}async function Pt(e){let t=await lt.loadAsync(e),n={documentXml:null,stylesXml:null,themeXml:null,numberingXml:null,fontTableXml:null,settingsXml:null,webSettingsXml:null,headers:new Map,footers:new Map,footnotesXml:null,endnotesXml:null,commentsXml:null,commentsExtensibleXml:null,documentRels:null,packageRels:null,contentTypesXml:null,corePropsXml:null,appPropsXml:null,customPropsXml:null,media:new Map,fonts:new Map,allXml:new Map,originalZip:t,originalBuffer:e};for(let[r,o]of Object.entries(t.files)){if(o.dir)continue;let i=r.toLowerCase();if(i.endsWith(".xml")||i.endsWith(".rels")){let s=await o.async("text");if(n.allXml.set(r,s),i==="word/document.xml")n.documentXml=s;else if(i==="word/styles.xml")n.stylesXml=s;else if(i==="word/theme/theme1.xml")n.themeXml=s;else if(i==="word/numbering.xml")n.numberingXml=s;else if(i==="word/fonttable.xml")n.fontTableXml=s;else if(i==="word/settings.xml")n.settingsXml=s;else if(i==="word/websettings.xml")n.webSettingsXml=s;else if(i==="word/footnotes.xml")n.footnotesXml=s;else if(i==="word/endnotes.xml")n.endnotesXml=s;else if(i==="word/comments.xml")n.commentsXml=s;else if(i==="word/commentsextensible.xml"||i==="word/commentsextended.xml")n.commentsExtensibleXml||(n.commentsExtensibleXml=s);else if(i==="word/_rels/document.xml.rels")n.documentRels=s;else if(i==="_rels/.rels")n.packageRels=s;else if(i==="[content_types].xml")n.contentTypesXml=s;else if(i==="docprops/core.xml")n.corePropsXml=s;else if(i==="docprops/app.xml")n.appPropsXml=s;else if(i==="docprops/custom.xml")n.customPropsXml=s;else if(i.match(/^word\/header\d+\.xml$/)){let a=r.split("/").pop()||r;n.headers.set(a,s);}else if(i.match(/^word\/footer\d+\.xml$/)){let a=r.split("/").pop()||r;n.footers.set(a,s);}}else if(i.startsWith("word/media/")){let s=await o.async("arraybuffer");n.media.set(r,s);}else if(i.startsWith("word/fonts/")){let s=await o.async("arraybuffer");n.fonts.set(r,s);}}return n}function Rt(e){switch(e.toLowerCase().split(".").pop()){case "png":return "image/png";case "jpg":case "jpeg":return "image/jpeg";case "gif":return "image/gif";case "bmp":return "image/bmp";case "tif":case "tiff":return "image/tiff";case "wmf":return "image/x-wmf";case "emf":return "image/x-emf";case "svg":return "image/svg+xml";case "webp":return "image/webp";default:return "application/octet-stream"}}function U(e){return xml2js(e,{compact:false,ignoreComment:true,ignoreInstruction:true,ignoreDoctype:true,alwaysArray:false,trim:false,captureSpacesBetweenElements:true,attributesKey:"attributes",textKey:"text"})}function Et(e){return js2xml({elements:[e]},{compact:false,spaces:0})}function K(e){try{let t=U(e);return t.elements&&t.elements.length>0?t.elements.find(n=>n.type==="element")??null:t}catch(t){return console.warn("Failed to parse XML:",t),null}}function Ce(e){let t=e.indexOf(":");return t>=0?e.substring(t+1):e}function u(e,t,n){if(!e||!e.elements)return null;let r=`${t}:${n}`;for(let o of e.elements)if(o.type==="element"&&(o.name===r||Ce(o.name||"")===n))return o;return null}function D(e,t,n){if(!e||!e.elements)return [];let r=`${t}:${n}`,o=[];for(let i of e.elements)i.type==="element"&&(i.name===r||Ce(i.name||"")===n)&&o.push(i);return o}function N(e){return !e||!e.elements?[]:e.elements.filter(t=>t.type==="element")}function l(e,t,n){if(!e||!e.attributes)return null;let r=e.attributes;if(t){let o=`${t}:${n}`;if(o in r)return r[o]}return n in r?r[n]:null}function Fe(e){if(!e)return "";if("text"in e&&typeof e.text=="string")return e.text;if(!e.elements)return "";let t="";for(let n of e.elements)n.type==="text"&&"text"in n?t+=n.text??"":n.type==="element"&&(t+=Fe(n));return t}function w(e,t,n,r=1){let o=l(e,t,n);if(o===null)return;let i=parseInt(o,10);if(!isNaN(i))return i*r}function C(e,t="w"){if(!e)return false;let n=l(e,t,"val");return n===null?true:!(n==="0"||n==="false"||n==="off")}var ce={hyperlink:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",header:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/header",footer:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer"};function Se(e){let t=new Map;if(!e||e.trim().length===0)return t;let n=K(e);if(!n)return console.warn("Failed to parse relationships XML"),t;let r=N(n);for(let o of r){let i=o.name||"";if(!i.endsWith("Relationship")&&!i.includes(":Relationship"))continue;let s=l(o,null,"Id"),a=l(o,null,"Type"),c=l(o,null,"Target"),p=l(o,null,"TargetMode");if(!s||!a||!c){console.warn("Relationship missing required attributes:",{id:s,type:a,target:c});continue}let f={id:s,type:a,target:c};p==="External"?f.targetMode="External":p==="Internal"&&(f.targetMode="Internal"),t.set(s,f);}return t}function Mt(e){return e.type===ce.hyperlink&&e.targetMode==="External"}var Dt={dk1:"000000",lt1:"FFFFFF",dk2:"44546A",lt2:"E7E6E6",accent1:"4472C4",accent2:"ED7D31",accent3:"A5A5A5",accent4:"FFC000",accent5:"5B9BD5",accent6:"70AD47",hlink:"0563C1",folHlink:"954F72"},ve={majorFont:{latin:"Calibri Light",ea:"",cs:"",fonts:{}},minorFont:{latin:"Calibri",ea:"",cs:"",fonts:{}}},qe={name:"Office Theme",colorScheme:Dt,fontScheme:ve},Sr=["dk1","lt1","dk2","lt2","accent1","accent2","accent3","accent4","accent5","accent6","hlink","folHlink"];function vr(e){if(!e)return null;switch(Ce(e.name||"")){case "srgbClr":return l(e,"a","val")??l(e,null,"val")??null;case "sysClr":{let n=l(e,"a","lastClr")??l(e,null,"lastClr");if(n)return n;switch(l(e,"a","val")??l(e,null,"val")){case "windowText":case "menuText":case "captionText":case "btnText":return "000000";case "window":case "menu":case "btnFace":case "btnHighlight":return "FFFFFF";case "highlight":return "0078D7";case "highlightText":return "FFFFFF";case "grayText":return "808080";default:return null}}case "schemeClr":{l(e,"a","val")??l(e,null,"val");return null}default:return null}}function kr(e){let t={...Dt};if(!e)return t;for(let n of Sr){let r=u(e,"a",n);if(r){let o=N(r);if(o.length>0){let i=vr(o[0]);i&&(t[n]=i);}}}return t}function It(e){let t={latin:"",ea:"",cs:"",fonts:{}};if(!e)return t;let n=u(e,"a","latin");n&&(t.latin=l(n,"a","typeface")??l(n,null,"typeface")??"");let r=u(e,"a","ea");r&&(t.ea=l(r,"a","typeface")??l(r,null,"typeface")??"");let o=u(e,"a","cs");o&&(t.cs=l(o,"a","typeface")??l(o,null,"typeface")??"");let i=D(e,"a","font");for(let s of i){let a=l(s,"a","script")??l(s,null,"script"),c=l(s,"a","typeface")??l(s,null,"typeface");a&&c&&(t.fonts=t.fonts||{},t.fonts[a]=c);}return t}function Pr(e){let t={...ve};if(!e)return t;let n=u(e,"a","majorFont");n&&(t.majorFont=It(n));let r=u(e,"a","minorFont");return r&&(t.minorFont=It(r)),t}function At(e){if(!e)return {...qe};try{let t=K(e);if(!t)return {...qe};let n=l(t,"a","name")??l(t,null,"name")??"Office Theme",r=u(t,"a","themeElements"),o=u(r,"a","clrScheme"),i=kr(o),s=u(r,"a","fontScheme"),a=Pr(s);return {name:n,colorScheme:i,fontScheme:a}}catch(t){return console.warn("Failed to parse theme:",t),{...qe}}}function Rr(e,t="latin"){if(!e?.fontScheme?.majorFont)return ve.majorFont?.latin??"Calibri Light";let n=e.fontScheme.majorFont;return t==="latin"?n.latin||"Calibri Light":t==="ea"?n.ea||"":t==="cs"?n.cs||"":n.fonts?.[t]?n.fonts[t]:n.latin||"Calibri Light"}function $t(e,t="latin"){if(!e?.fontScheme?.minorFont)return ve.minorFont?.latin??"Calibri";let n=e.fontScheme.minorFont;return t==="latin"?n.latin||"Calibri":t==="ea"?n.ea||"":t==="cs"?n.cs||"":n.fonts?.[t]?n.fonts[t]:n.latin||"Calibri"}function Y(e,t){if(!t)return "Calibri";let n=t.toLowerCase().includes("major"),r=t.toLowerCase().includes("minor"),o="latin",i=t.toLowerCase();return i.includes("eastasia")?o="ea":(i.includes("bidi")||i.includes("cs"))&&(o="cs"),n?Rr(e,o):r?$t(e,o):$t(e,"latin")}function ke(e,t){if(!e)return;let n={},r=u(e,"w","b");r&&(n.bold=C(r));let o=u(e,"w","bCs");o&&(n.boldCs=C(o));let i=u(e,"w","i");i&&(n.italic=C(i));let s=u(e,"w","iCs");s&&(n.italicCs=C(s));let a=u(e,"w","u");if(a){let M=l(a,"w","val");if(M){n.underline={style:M};let P=l(a,"w","color"),L=l(a,"w","themeColor");(P||L)&&(n.underline.color=Je(P,L,l(a,"w","themeTint"),l(a,"w","themeShade")));}}let c=u(e,"w","strike");c&&(n.strike=C(c));let p=u(e,"w","dstrike");p&&(n.doubleStrike=C(p));let f=u(e,"w","vertAlign");if(f){let M=l(f,"w","val");(M==="superscript"||M==="subscript"||M==="baseline")&&(n.vertAlign=M);}let d=u(e,"w","smallCaps");d&&(n.smallCaps=C(d));let h=u(e,"w","caps");h&&(n.allCaps=C(h));let g=u(e,"w","vanish");g&&(n.hidden=C(g));let m=u(e,"w","color");m&&(n.color=Je(l(m,"w","val"),l(m,"w","themeColor"),l(m,"w","themeTint"),l(m,"w","themeShade")));let y=u(e,"w","highlight");if(y){let M=l(y,"w","val");M&&(n.highlight=M);}let k=u(e,"w","shd");k&&(n.shading=Pe(k));let S=u(e,"w","sz");if(S){let M=w(S,"w","val");M!==void 0&&(n.fontSize=M);}let R=u(e,"w","szCs");if(R){let M=w(R,"w","val");M!==void 0&&(n.fontSizeCs=M);}let v=u(e,"w","rFonts");if(v){n.fontFamily={ascii:l(v,"w","ascii")??void 0,hAnsi:l(v,"w","hAnsi")??void 0,eastAsia:l(v,"w","eastAsia")??void 0,cs:l(v,"w","cs")??void 0};let M=l(v,"w","asciiTheme");M&&(n.fontFamily.asciiTheme=M,t&&!n.fontFamily.ascii&&(n.fontFamily.ascii=Y(t,M)));let P=l(v,"w","hAnsiTheme");P&&(n.fontFamily.hAnsiTheme=P,t&&!n.fontFamily.hAnsi&&(n.fontFamily.hAnsi=Y(t,P)));let L=l(v,"w","eastAsiaTheme");L&&(n.fontFamily.eastAsiaTheme=L,t&&!n.fontFamily.eastAsia&&(n.fontFamily.eastAsia=Y(t,L)));let Z=l(v,"w","cstheme");Z&&(n.fontFamily.csTheme=Z,t&&!n.fontFamily.cs&&(n.fontFamily.cs=Y(t,Z)));}let x=u(e,"w","spacing");if(x){let M=w(x,"w","val");M!==void 0&&(n.spacing=M);}let b=u(e,"w","position");if(b){let M=w(b,"w","val");M!==void 0&&(n.position=M);}let F=u(e,"w","w");if(F){let M=w(F,"w","val");M!==void 0&&(n.scale=M);}let T=u(e,"w","kern");if(T){let M=w(T,"w","val");M!==void 0&&(n.kerning=M);}let E=u(e,"w","effect");if(E){let M=l(E,"w","val");M&&(n.effect=M);}let I=u(e,"w","em");if(I){let M=l(I,"w","val");M&&(n.emphasisMark=M);}let $=u(e,"w","emboss");$&&(n.emboss=C($));let A=u(e,"w","imprint");A&&(n.imprint=C(A));let H=u(e,"w","outline");H&&(n.outline=C(H));let J=u(e,"w","shadow");J&&(n.shadow=C(J));let ne=u(e,"w","rtl");ne&&(n.rtl=C(ne));let X=u(e,"w","cs");X&&(n.cs=C(X));let V=u(e,"w","rStyle");if(V){let M=l(V,"w","val");M&&(n.styleId=M);}return Object.keys(n).length>0?n:void 0}function Je(e,t,n,r){let o={};return e&&e!=="auto"?o.rgb=e:e==="auto"&&(o.auto=true),t&&(o.themeColor=t),n&&(o.themeTint=n),r&&(o.themeShade=r),o}function Pe(e){if(!e)return;let t={},n=l(e,"w","color");n&&n!=="auto"&&(t.color={rgb:n});let r=l(e,"w","fill");r&&r!=="auto"&&(t.fill={rgb:r});let o=l(e,"w","themeFill");o&&(t.fill=t.fill||{},t.fill.themeColor=o);let i=l(e,"w","themeFillTint");i&&t.fill&&(t.fill.themeTint=i);let s=l(e,"w","themeFillShade");s&&t.fill&&(t.fill.themeShade=s);let a=l(e,"w","val");return a&&(t.pattern=a),Object.keys(t).length>0?t:void 0}function G(e){if(!e)return;let t=l(e,"w","val");if(!t)return;let n={style:t},r=l(e,"w","color"),o=l(e,"w","themeColor");(r||o)&&(n.color=Je(r,o,l(e,"w","themeTint"),l(e,"w","themeShade")));let i=w(e,"w","sz");i!==void 0&&(n.size=i);let s=w(e,"w","space");s!==void 0&&(n.space=s);let a=l(e,"w","shadow");a&&(n.shadow=a==="1"||a==="true");let c=l(e,"w","frame");return c&&(n.frame=c==="1"||c==="true"),n}function Er(e){if(!e)return;let t=D(e,"w","tab");if(t.length===0)return;let n=[];for(let r of t){let o=w(r,"w","pos"),i=l(r,"w","val");if(o!==void 0&&i){let s={position:o,alignment:i},a=l(r,"w","leader");a&&(s.leader=a),n.push(s);}}return n.length>0?n:void 0}function Ze(e,t){if(!e)return;let n={},r=u(e,"w","jc");if(r){let b=l(r,"w","val");b&&(n.alignment=b);}let o=u(e,"w","bidi");o&&(n.bidi=C(o));let i=u(e,"w","spacing");if(i){let b=w(i,"w","before");b!==void 0&&(n.spaceBefore=b);let F=w(i,"w","after");F!==void 0&&(n.spaceAfter=F);let T=w(i,"w","line");T!==void 0&&(n.lineSpacing=T);let E=l(i,"w","lineRule");E&&(n.lineSpacingRule=E);let I=l(i,"w","beforeAutospacing");I&&(n.beforeAutospacing=I==="1"||I==="true");let $=l(i,"w","afterAutospacing");$&&(n.afterAutospacing=$==="1"||$==="true");}let s=u(e,"w","ind");if(s){let b=w(s,"w","left");b!==void 0&&(n.indentLeft=b);let F=w(s,"w","right");F!==void 0&&(n.indentRight=F);let T=w(s,"w","firstLine");T!==void 0&&(n.indentFirstLine=T);let E=w(s,"w","hanging");E!==void 0&&(n.indentFirstLine=-E,n.hangingIndent=true);}let a=u(e,"w","pBdr");if(a){let b={},F=G(u(a,"w","top"));F&&(b.top=F);let T=G(u(a,"w","bottom"));T&&(b.bottom=T);let E=G(u(a,"w","left"));E&&(b.left=E);let I=G(u(a,"w","right"));I&&(b.right=I);let $=G(u(a,"w","between"));$&&(b.between=$);let A=G(u(a,"w","bar"));A&&(b.bar=A),Object.keys(b).length>0&&(n.borders=b);}let c=u(e,"w","shd");c&&(n.shading=Pe(c));let p=u(e,"w","tabs");p&&(n.tabs=Er(p));let f=u(e,"w","keepNext");f&&(n.keepNext=C(f));let d=u(e,"w","keepLines");d&&(n.keepLines=C(d));let h=u(e,"w","widowControl");h&&(n.widowControl=C(h));let g=u(e,"w","pageBreakBefore");g&&(n.pageBreakBefore=C(g));let m=u(e,"w","contextualSpacing");m&&(n.contextualSpacing=C(m));let y=u(e,"w","numPr");if(y){let b=u(y,"w","numId"),F=u(y,"w","ilvl");if(b||F){if(n.numPr={},b){let T=w(b,"w","val");T!==void 0&&(n.numPr.numId=T);}if(F){let T=w(F,"w","val");T!==void 0&&(n.numPr.ilvl=T);}}}let k=u(e,"w","outlineLvl");if(k){let b=w(k,"w","val");b!==void 0&&(n.outlineLevel=b);}let S=u(e,"w","pStyle");if(S){let b=l(S,"w","val");b&&(n.styleId=b);}let R=u(e,"w","suppressLineNumbers");R&&(n.suppressLineNumbers=C(R));let v=u(e,"w","suppressAutoHyphens");v&&(n.suppressAutoHyphens=C(v));let x=u(e,"w","rPr");return x&&(n.runProperties=ke(x,t)),Object.keys(n).length>0?n:void 0}function Q(e){if(!e)return;let t=w(e,"w","w"),n=l(e,"w","type");if(t!==void 0&&n)return {value:t,type:n}}function Xt(e){if(!e)return;let t={},n=G(u(e,"w","top"));n&&(t.top=n);let r=G(u(e,"w","bottom"));r&&(t.bottom=r);let o=G(u(e,"w","left"));o&&(t.left=o);let i=G(u(e,"w","right"));i&&(t.right=i);let s=G(u(e,"w","insideH"));s&&(t.insideH=s);let a=G(u(e,"w","insideV"));return a&&(t.insideV=a),Object.keys(t).length>0?t:void 0}function Ht(e){if(!e)return;let t={},n=Q(u(e,"w","top"));n&&(t.top=n);let r=Q(u(e,"w","bottom"));r&&(t.bottom=r);let o=Q(u(e,"w","left"));o&&(t.left=o);let i=Q(u(e,"w","right"));return i&&(t.right=i),Object.keys(t).length>0?t:void 0}function Mr(e){if(!e)return;let t={},n=l(e,"w","val");if(n){let p=parseInt(n,16);isNaN(p)||(t.firstRow=(p&32)!==0,t.lastRow=(p&64)!==0,t.firstColumn=(p&128)!==0,t.lastColumn=(p&256)!==0,t.noHBand=(p&512)!==0,t.noVBand=(p&1024)!==0);}let r=l(e,"w","firstColumn");r&&(t.firstColumn=r==="1");let o=l(e,"w","firstRow");o&&(t.firstRow=o==="1");let i=l(e,"w","lastColumn");i&&(t.lastColumn=i==="1");let s=l(e,"w","lastRow");s&&(t.lastRow=s==="1");let a=l(e,"w","noHBand");a&&(t.noHBand=a==="1");let c=l(e,"w","noVBand");return c&&(t.noVBand=c==="1"),Object.keys(t).length>0?t:void 0}function Bt(e,t){if(!e)return;let n={},r=u(e,"w","tblW");r&&(n.width=Q(r));let o=u(e,"w","jc");if(o){let m=l(o,"w","val");(m==="left"||m==="center"||m==="right")&&(n.justification=m);}let i=u(e,"w","tblCellSpacing");i&&(n.cellSpacing=Q(i));let s=u(e,"w","tblInd");s&&(n.indent=Q(s));let a=u(e,"w","tblBorders");a&&(n.borders=Xt(a));let c=u(e,"w","tblCellMar");c&&(n.cellMargins=Ht(c));let p=u(e,"w","tblLayout");if(p){let m=l(p,"w","type");(m==="fixed"||m==="autofit")&&(n.layout=m);}let f=u(e,"w","tblStyle");if(f){let m=l(f,"w","val");m&&(n.styleId=m);}let d=u(e,"w","tblLook");d&&(n.look=Mr(d));let h=u(e,"w","shd");h&&(n.shading=Pe(h));let g=u(e,"w","bidiVisual");return g&&(n.bidi=C(g)),Object.keys(n).length>0?n:void 0}function Lt(e){if(!e)return;let t={},n=u(e,"w","trHeight");if(n){t.height=Q(n);let a=l(n,"w","hRule");a&&(t.heightRule=a);}let r=u(e,"w","tblHeader");r&&(t.header=C(r));let o=u(e,"w","cantSplit");o&&(t.cantSplit=C(o));let i=u(e,"w","jc");if(i){let a=l(i,"w","val");(a==="left"||a==="center"||a==="right")&&(t.justification=a);}let s=u(e,"w","hidden");return s&&(t.hidden=C(s)),Object.keys(t).length>0?t:void 0}function Nt(e,t){if(!e)return;let n={},r=u(e,"w","tcW");r&&(n.width=Q(r));let o=u(e,"w","tcBorders");o&&(n.borders=Xt(o));let i=u(e,"w","tcMar");i&&(n.margins=Ht(i));let s=u(e,"w","shd");s&&(n.shading=Pe(s));let a=u(e,"w","vAlign");if(a){let m=l(a,"w","val");(m==="top"||m==="center"||m==="bottom")&&(n.verticalAlign=m);}let c=u(e,"w","textDirection");if(c){let m=l(c,"w","val");m&&(n.textDirection=m);}let p=u(e,"w","gridSpan");if(p){let m=w(p,"w","val");m!==void 0&&(n.gridSpan=m);}let f=u(e,"w","vMerge");if(f){let m=l(f,"w","val");n.vMerge=m==="restart"?"restart":"continue";}let d=u(e,"w","tcFitText");d&&(n.fitText=C(d));let h=u(e,"w","noWrap");h&&(n.noWrap=C(h));let g=u(e,"w","hideMark");return g&&(n.hideMark=C(g)),Object.keys(n).length>0?n:void 0}function Ir(e,t){let n={styleId:l(e,"w","styleId")??"",type:l(e,"w","type")??"paragraph"},r=l(e,"w","default");r&&(n.default=r==="1"||r==="true");let o=u(e,"w","name");o&&(n.name=l(o,"w","val")??void 0);let i=u(e,"w","basedOn");i&&(n.basedOn=l(i,"w","val")??void 0);let s=u(e,"w","next");s&&(n.next=l(s,"w","val")??void 0);let a=u(e,"w","link");a&&(n.link=l(a,"w","val")??void 0);let c=u(e,"w","uiPriority");if(c){let x=w(c,"w","val");x!==void 0&&(n.uiPriority=x);}let p=u(e,"w","hidden");p&&(n.hidden=C(p));let f=u(e,"w","semiHidden");f&&(n.semiHidden=C(f));let d=u(e,"w","unhideWhenUsed");d&&(n.unhideWhenUsed=C(d));let h=u(e,"w","qFormat");h&&(n.qFormat=C(h));let g=u(e,"w","personal");g&&(n.personal=C(g));let m=u(e,"w","pPr");m&&(n.pPr=Ze(m,t));let y=u(e,"w","rPr");y&&(n.rPr=ke(y,t));let k=u(e,"w","tblPr");k&&(n.tblPr=Bt(k));let S=u(e,"w","trPr");S&&(n.trPr=Lt(S));let R=u(e,"w","tcPr");R&&(n.tcPr=Nt(R));let v=D(e,"w","tblStylePr");if(v.length>0){n.tblStylePr=[];for(let x of v){let b=l(x,"w","type");if(b){let F={type:b},T=u(x,"w","pPr");T&&(F.pPr=Ze(T,t));let E=u(x,"w","rPr");E&&(F.rPr=ke(E,t));let I=u(x,"w","tblPr");I&&(F.tblPr=Bt(I));let $=u(x,"w","trPr");$&&(F.trPr=Lt($));let A=u(x,"w","tcPr");A&&(F.tcPr=Nt(A)),n.tblStylePr.push(F);}}}return n}function $r(e,t){if(!e)return;let n={},r=u(e,"w","rPrDefault");if(r){let i=u(r,"w","rPr");i&&(n.rPr=ke(i,t));}let o=u(e,"w","pPrDefault");if(o){let i=u(o,"w","pPr");i&&(n.pPr=Ze(i,t));}return n.rPr||n.pPr?n:void 0}function Ot(e,t){if(!t)return e;if(!e)return t?{...t}:void 0;let n={...e};for(let r of Object.keys(t)){let o=t[r];o!==void 0&&(n[r]=typeof o=="object"&&o!==null?{...n[r]||{},...o}:o);}return n}function Dr(e,t){if(!t)return e;if(!e)return t?{...t}:void 0;let n={...e};for(let r of Object.keys(t)){let o=t[r];if(o!==void 0)if(r==="runProperties")n.runProperties=Ot(n.runProperties,t.runProperties);else if(r==="borders"||r==="numPr"||r==="frame"){let i=n[r],s=o;n[r]={...i||{},...s||{}};}else r==="tabs"&&Array.isArray(o)?n.tabs=[...o]:n[r]=o;}return n}function jt(e,t,n,r=new Set){if(r.has(e.styleId)||(r.add(e.styleId),!e.basedOn))return e;let o=t.get(e.basedOn);if(!o)return e;let i=jt(o,t,n,r),s={...e,pPr:Dr(i.pPr,e.pPr),rPr:Ot(i.rPr,e.rPr)};return e.type==="table"&&((i.tblPr||e.tblPr)&&(s.tblPr={...i.tblPr||{},...e.tblPr||{}}),(i.trPr||e.trPr)&&(s.trPr={...i.trPr||{},...e.trPr||{}}),(i.tcPr||e.tcPr)&&(s.tcPr={...i.tcPr||{},...e.tcPr||{}})),s}function Ye(e,t){let n=new Map;try{let r=K(e);if(!r)return n;let o=D(r,"w","style");for(let i of o){let s=Ir(i,t);s.styleId&&n.set(s.styleId,s);}for(let[i,s]of n){let a=jt(s,n,t);n.set(i,a);}}catch(r){console.warn("Failed to parse styles:",r);}return n}function zt(e,t){let n={styles:[]};try{let r=K(e);if(!r)return n;let o=u(r,"w","docDefaults");n.docDefaults=$r(o,t);let i=u(r,"w","latentStyles");i&&(n.latentStyles={defLockedState:l(i,"w","defLockedState")==="1",defUIPriority:w(i,"w","defUIPriority"),defSemiHidden:l(i,"w","defSemiHidden")==="1",defUnhideWhenUsed:l(i,"w","defUnhideWhenUsed")==="1",defQFormat:l(i,"w","defQFormat")==="1",count:w(i,"w","count")});let s=Ye(e,t);n.styles=Array.from(s.values());}catch(r){console.warn("Failed to parse style definitions:",r);}return n}function Vt(e){let t={abstractNums:[],nums:[]};if(!e)return Ke(t);let n=K(e);if(!n)return Ke(t);let r=D(n,"w","abstractNum");for(let i of r){let s=Ar(i);s&&t.abstractNums.push(s);}let o=D(n,"w","num");for(let i of o){let s=Br(i);s&&t.nums.push(s);}return Ke(t)}function Ar(e){let t=l(e,"w","abstractNumId");if(t===null)return null;let n=parseInt(t,10);if(isNaN(n))return null;let r={abstractNumId:n,levels:[]},o=u(e,"w","multiLevelType");if(o){let p=l(o,"w","val");(p==="hybridMultilevel"||p==="multilevel"||p==="singleLevel")&&(r.multiLevelType=p);}let i=u(e,"w","name");i&&(r.name=l(i,"w","val")??void 0);let s=u(e,"w","numStyleLink");s&&(r.numStyleLink=l(s,"w","val")??void 0);let a=u(e,"w","styleLink");a&&(r.styleLink=l(a,"w","val")??void 0);let c=D(e,"w","lvl");for(let p of c){let f=Wt(p);f&&r.levels.push(f);}return r.levels.sort((p,f)=>p.ilvl-f.ilvl),r}function Br(e){let t=l(e,"w","numId");if(t===null)return null;let n=parseInt(t,10);if(isNaN(n))return null;let r=u(e,"w","abstractNumId");if(!r)return null;let o=l(r,"w","val");if(o===null)return null;let i=parseInt(o,10);if(isNaN(i))return null;let s={numId:n,abstractNumId:i},a=D(e,"w","lvlOverride");if(a.length>0){s.levelOverrides=[];for(let c of a){let p=l(c,"w","ilvl");if(p===null)continue;let f=parseInt(p,10);if(isNaN(f))continue;let d={ilvl:f},h=u(c,"w","startOverride");if(h){let m=l(h,"w","val");if(m!==null){let y=parseInt(m,10);isNaN(y)||(d.startOverride=y);}}let g=u(c,"w","lvl");g&&(d.lvl=Wt(g)??void 0),s.levelOverrides.push(d);}}return s}function Wt(e){let t=l(e,"w","ilvl");if(t===null)return null;let n=parseInt(t,10);if(isNaN(n)||n<0||n>8)return null;let r={ilvl:n,numFmt:"decimal",lvlText:""},o=u(e,"w","start");if(o){let m=l(o,"w","val");if(m!==null){let y=parseInt(m,10);isNaN(y)||(r.start=y);}}let i=u(e,"w","numFmt");if(i){let m=l(i,"w","val");m&&(r.numFmt=Lr(m));}let s=u(e,"w","lvlText");s&&(r.lvlText=l(s,"w","val")??"");let a=u(e,"w","lvlJc");if(a){let m=l(a,"w","val");(m==="left"||m==="center"||m==="right")&&(r.lvlJc=m);}let c=u(e,"w","suff");if(c){let m=l(c,"w","val");(m==="tab"||m==="space"||m==="nothing")&&(r.suffix=m);}let p=u(e,"w","isLgl");p&&(r.isLgl=C(p));let f=u(e,"w","lvlRestart");if(f){let m=l(f,"w","val");if(m!==null){let y=parseInt(m,10);isNaN(y)||(r.lvlRestart=y);}}let d=u(e,"w","legacy");d&&(r.legacy={legacy:C(d),legacySpace:w(d,"w","legacySpace"),legacyIndent:w(d,"w","legacyIndent")});let h=u(e,"w","pPr");h&&(r.pPr=Nr(h));let g=u(e,"w","rPr");return g&&(r.rPr=Or(g)),r}function Lr(e){return {decimal:"decimal",upperRoman:"upperRoman",lowerRoman:"lowerRoman",upperLetter:"upperLetter",lowerLetter:"lowerLetter",ordinal:"ordinal",cardinalText:"cardinalText",ordinalText:"ordinalText",hex:"hex",chicago:"chicago",bullet:"bullet",none:"none",decimalZero:"decimalZero",ganada:"ganada",chosung:"chosung",ideographDigital:"ideographDigital",japaneseCounting:"japaneseCounting",aiueo:"aiueo",iroha:"iroha",decimalFullWidth:"decimalFullWidth",decimalHalfWidth:"decimalHalfWidth",japaneseLegal:"japaneseLegal",japaneseDigitalTenThousand:"japaneseDigitalTenThousand",decimalEnclosedCircle:"decimalEnclosedCircle",decimalFullWidth2:"decimalFullWidth2",aiueoFullWidth:"aiueoFullWidth",irohaFullWidth:"irohaFullWidth",decimalEnclosedFullstop:"decimalEnclosedFullstop",decimalEnclosedParen:"decimalEnclosedParen",decimalEnclosedCircleChinese:"decimalEnclosedCircleChinese",ideographEnclosedCircle:"ideographEnclosedCircle",ideographTraditional:"ideographTraditional",ideographZodiac:"ideographZodiac",ideographZodiacTraditional:"ideographZodiacTraditional",taiwaneseCounting:"taiwaneseCounting",ideographLegalTraditional:"ideographLegalTraditional",taiwaneseCountingThousand:"taiwaneseCountingThousand",taiwaneseDigital:"taiwaneseDigital",chineseCounting:"chineseCounting",chineseLegalSimplified:"chineseLegalSimplified",chineseCountingThousand:"chineseCountingThousand",koreanDigital:"koreanDigital",koreanCounting:"koreanCounting",koreanLegal:"koreanLegal",koreanDigital2:"koreanDigital2",vietnameseCounting:"vietnameseCounting",russianLower:"russianLower",russianUpper:"russianUpper",numberInDash:"numberInDash",hebrew1:"hebrew1",hebrew2:"hebrew2",arabicAlpha:"arabicAlpha",arabicAbjad:"arabicAbjad",hindiVowels:"hindiVowels",hindiConsonants:"hindiConsonants",hindiNumbers:"hindiNumbers",hindiCounting:"hindiCounting",thaiLetters:"thaiLetters",thaiNumbers:"thaiNumbers",thaiCounting:"thaiCounting"}[e]??"decimal"}function Nr(e){let t={},n=u(e,"w","ind");if(n){let o=w(n,"w","left"),i=w(n,"w","right"),s=w(n,"w","firstLine"),a=w(n,"w","hanging");o!==void 0&&(t.indentLeft=o),i!==void 0&&(t.indentRight=i),a!==void 0?(t.indentFirstLine=-a,t.hangingIndent=true):s!==void 0&&(t.indentFirstLine=s);}let r=u(e,"w","tabs");if(r){t.tabs=[];let o=D(r,"w","tab");for(let i of o){let s=w(i,"w","pos"),a=l(i,"w","val"),c=l(i,"w","leader");s!==void 0&&a&&t.tabs.push({position:s,alignment:Xr(a),leader:Hr(c)});}}return t}function Xr(e){switch(e){case "left":return "left";case "center":return "center";case "right":return "right";case "decimal":return "decimal";case "bar":return "bar";case "clear":return "clear";case "num":return "num";default:return "left"}}function Hr(e){if(e)switch(e){case "none":return "none";case "dot":return "dot";case "hyphen":return "hyphen";case "underscore":return "underscore";case "heavy":return "heavy";case "middleDot":return "middleDot";default:return}}function Or(e){let t={},n=u(e,"w","rFonts");n&&(t.fontFamily={ascii:l(n,"w","ascii")??void 0,hAnsi:l(n,"w","hAnsi")??void 0,eastAsia:l(n,"w","eastAsia")??void 0,cs:l(n,"w","cs")??void 0});let r=u(e,"w","sz");if(r){let a=w(r,"w","val");a!==void 0&&(t.fontSize=a);}let o=u(e,"w","color");if(o){let a=l(o,"w","val"),c=l(o,"w","themeColor");a==="auto"?t.color={auto:true}:c?t.color={themeColor:c,themeTint:l(o,"w","themeTint")??void 0,themeShade:l(o,"w","themeShade")??void 0}:a&&(t.color={rgb:a});}let i=u(e,"w","b");i&&(t.bold=C(i));let s=u(e,"w","i");return s&&(t.italic=C(s)),t}function Ke(e){let t=new Map;for(let r of e.abstractNums)t.set(r.abstractNumId,r);let n=new Map;for(let r of e.nums)n.set(r.numId,r);return {definitions:e,getLevel(r,o){let i=n.get(r);if(!i)return null;if(i.levelOverrides){let a=i.levelOverrides.find(c=>c.ilvl===o);if(a){if(a.lvl)return a.lvl;let c=t.get(i.abstractNumId);if(c){let p=c.levels.find(f=>f.ilvl===o);if(p&&a.startOverride!==void 0)return {...p,start:a.startOverride}}}}let s=t.get(i.abstractNumId);if(!s)return null;if(s.numStyleLink&&s.levels.length===0){for(let a of t.values())if(a.styleLink===s.numStyleLink&&a.levels.length>0){s=a;break}}return s.levels.find(a=>a.ilvl===o)??null},getAbstract(r){return t.get(r)??null},hasNumbering(r){return n.has(r)}}}function jr(e){if(!e)return;let t=parseInt(e,10);if(!isNaN(t))return t/6e4}function B(e,t){let n=N(e);for(let r of n)if(r.name===t)return r;return null}function zr(e,t){let n=N(e);for(let r of n)if(t.includes(r.name||""))return r;return null}function _t(e){if(!e)return {width:0,height:0};let t=w(e,null,"cx")??0,n=w(e,null,"cy")??0;return {width:t,height:n}}function Ut(e){if(!e)return;let t=w(e,null,"l")??0,n=w(e,null,"t")??0,r=w(e,null,"r")??0,o=w(e,null,"b")??0;if(!(t===0&&n===0&&r===0&&o===0))return {left:t,top:n,right:r,bottom:o}}function Gt(e){if(!e)return {};let t=l(e,null,"id")??void 0,n=l(e,null,"name")??void 0,r=l(e,null,"descr")??void 0,o=l(e,null,"title")??void 0,i=l(e,null,"decorative")==="1";return {id:t,name:n,alt:r,title:o,decorative:i||void 0}}function Vr(e){if(!e)return;let t=l(e,null,"relativeFrom")??"column",n=B(e,"wp:align");if(n){let o=n.elements?.[0]?.text??null;return {relativeTo:t,alignment:o}}let r=B(e,"wp:posOffset");if(r){let o=String(r.elements?.[0]?.text??"0"),i=parseInt(o,10);return {relativeTo:t,posOffset:isNaN(i)?0:i}}return {relativeTo:t}}function Wr(e){if(!e)return;let t=l(e,null,"relativeFrom")??"paragraph",n=B(e,"wp:align");if(n){let o=n.elements?.[0]?.text??null;return {relativeTo:t,alignment:o}}let r=B(e,"wp:posOffset");if(r){let o=String(r.elements?.[0]?.text??"0"),i=parseInt(o,10);return {relativeTo:t,posOffset:isNaN(i)?0:i}}return {relativeTo:t}}var _r=["wp:wrapNone","wp:wrapSquare","wp:wrapTight","wp:wrapThrough","wp:wrapTopAndBottom"];function Ur(e,t,n){if(!e){let k={type:t?"behind":"inFront"};return n?.distT!==void 0&&(k.distT=n.distT),n?.distB!==void 0&&(k.distB=n.distB),n?.distL!==void 0&&(k.distL=n.distL),n?.distR!==void 0&&(k.distR=n.distR),k}let o=(e.name||"").replace("wp:",""),i=w(e,null,"distT")??void 0,s=w(e,null,"distB")??void 0,a=w(e,null,"distL")??void 0,c=w(e,null,"distR")??void 0,p=i??n?.distT,f=s??n?.distB,d=a??n?.distL,h=c??n?.distR,g=l(e,null,"wrapText")??void 0,m;switch(o){case "wrapNone":m=t?"behind":"inFront";break;case "wrapSquare":m="square";break;case "wrapTight":m="tight";break;case "wrapThrough":m="through";break;case "wrapTopAndBottom":m="topAndBottom";break;default:m="square";}let y={type:m};return g&&(y.wrapText=g),p!==void 0&&(y.distT=p),f!==void 0&&(y.distB=f),d!==void 0&&(y.distL=d),h!==void 0&&(y.distR=h),y}function qt(e){if(!e)return;let t=l(e,null,"rot"),n=l(e,null,"flipH")==="1",r=l(e,null,"flipV")==="1",o=jr(t);if(o===void 0&&!n&&!r)return;let i={};return o!==void 0&&(i.rotation=o),n&&(i.flipH=true),r&&(i.flipV=true),i}function Jt(e){let t=B(e,"a:graphic");if(!t)return null;let n=B(t,"a:graphicData");if(!n)return null;let r=B(n,"pic:pic");if(!r)return null;let o=B(r,"pic:blipFill");return o?B(o,"a:blip"):null}function Zt(e){if(!e)return "";let t=l(e,"r","embed");if(t)return t;let n=l(e,null,"embed");if(n)return n;let r=l(e,"r","link");return r||""}function Yt(e){let t=B(e,"a:graphic");if(!t)return null;let n=B(t,"a:graphicData");if(!n)return null;let r=B(n,"pic:pic");if(!r)return null;let o=B(r,"pic:spPr");return o?B(o,"a:xfrm"):null}function Gr(e){if(!e)return e;let t=e.replace(/^\/+/,"");return t.startsWith("media/")?t=`word/${t}`:t.startsWith("word/")||(t=`word/${t}`),t}function qr(e){let t=e.split(".").pop()?.toLowerCase()??"";return {png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",bmp:"image/bmp",tiff:"image/tiff",tif:"image/tiff",webp:"image/webp",svg:"image/svg+xml",emf:"image/x-emf",wmf:"image/x-wmf"}[t]??"application/octet-stream"}function Kt(e,t,n){if(!e||!t)return {};let r=t.get(e);if(!r)return {};let o=r.target;if(!o)return {};let i=Gr(o),s=o.split("/").pop(),a=(c,p)=>{let f=p.toLowerCase();for(let[d,h]of c.entries())if(d.toLowerCase()===f)return h};if(n){let c=a(n,i);if(c)return {src:c.dataUrl||c.base64,mimeType:c.mimeType,filename:s};let p=o.replace(/^\/+/,""),f=a(n,p);if(f)return {src:f.dataUrl||f.base64,mimeType:f.mimeType,filename:s};let d=`word/${p}`,h=a(n,d);if(h)return {src:h.dataUrl||h.base64,mimeType:h.mimeType,filename:s}}return {mimeType:qr(o),filename:s}}function Jr(e,t,n){let r=B(e,"wp:extent"),o=_t(r),i=B(e,"wp:effectExtent"),s=Ut(i),a=B(e,"wp:docPr"),c=Gt(a),p=Jt(e),f=Zt(p),d=Kt(f,t,n),h=Yt(e),g=qt(h),m=w(e,null,"distT")??void 0,y=w(e,null,"distB")??void 0,k=w(e,null,"distL")??void 0,S=w(e,null,"distR")??void 0,R={type:"inline"};m!==void 0&&(R.distT=m),y!==void 0&&(R.distB=y),k!==void 0&&(R.distL=k),S!==void 0&&(R.distR=S);let v={type:"image",rId:f,size:o,wrap:R};return c.id&&(v.id=c.id),c.alt&&(v.alt=c.alt),c.title&&(v.title=c.title),c.decorative&&(v.decorative=true),d.src&&(v.src=d.src),d.mimeType&&(v.mimeType=d.mimeType),d.filename&&(v.filename=d.filename),s&&(v.padding=s),g&&(v.transform=g),v}function Zr(e,t,n){let r=B(e,"wp:extent"),o=_t(r),i=B(e,"wp:effectExtent"),s=Ut(i),a=B(e,"wp:docPr"),c=Gt(a),p=l(e,null,"behindDoc")==="1",f={distT:w(e,null,"distT")??void 0,distB:w(e,null,"distB")??void 0,distL:w(e,null,"distL")??void 0,distR:w(e,null,"distR")??void 0},d=zr(e,_r),h=Ur(d,p,f),g=B(e,"wp:positionH"),m=B(e,"wp:positionV"),y=Vr(g),k=Wr(m),S;(y||k)&&(S={horizontal:y??{relativeTo:"column"},vertical:k??{relativeTo:"paragraph"}});let R=Jt(e),v=Zt(R),x=Kt(v,t,n),b=Yt(e),F=qt(b),T={type:"image",rId:v,size:o,wrap:h};return c.id&&(T.id=c.id),c.alt&&(T.alt=c.alt),c.title&&(T.title=c.title),c.decorative&&(T.decorative=true),x.src&&(T.src=x.src),x.mimeType&&(T.mimeType=x.mimeType),x.filename&&(T.filename=x.filename),S&&(T.position=S),s&&(T.padding=s),F&&(T.transform=F),T}function Yr(e,t,n){let r=N(e);for(let o of r){let i=o.name||"";if(i==="wp:inline")return Jr(o,t,n);if(i==="wp:anchor")return Zr(o,t,n)}return null}function Qt(e,t,n){return Yr(e,t,n)}function en(e,t,n,r){let o={};return e&&e!=="auto"?o.rgb=e:e==="auto"&&(o.auto=true),t&&(o.themeColor=t),n&&(o.themeTint=n),r&&(o.themeShade=r),o}function Kr(e){if(!e)return;let t={},n=l(e,"w","color");n&&n!=="auto"&&(t.color={rgb:n});let r=l(e,"w","fill");r&&r!=="auto"&&(t.fill={rgb:r});let o=l(e,"w","themeFill");o&&(t.fill=t.fill||{},t.fill.themeColor=o);let i=l(e,"w","themeFillTint");i&&t.fill&&(t.fill.themeTint=i);let s=l(e,"w","themeFillShade");s&&t.fill&&(t.fill.themeShade=s);let a=l(e,"w","val");return a&&(t.pattern=a),Object.keys(t).length>0?t:void 0}function Qe(e,t,n){if(!e)return;let r={},o=u(e,"w","b");o&&(r.bold=C(o));let i=u(e,"w","bCs");i&&(r.boldCs=C(i));let s=u(e,"w","i");s&&(r.italic=C(s));let a=u(e,"w","iCs");a&&(r.italicCs=C(a));let c=u(e,"w","u");if(c){let P=l(c,"w","val");if(P){r.underline={style:P};let L=l(c,"w","color"),Z=l(c,"w","themeColor");(L||Z)&&(r.underline.color=en(L,Z,l(c,"w","themeTint"),l(c,"w","themeShade")));}}let p=u(e,"w","strike");p&&(r.strike=C(p));let f=u(e,"w","dstrike");f&&(r.doubleStrike=C(f));let d=u(e,"w","vertAlign");if(d){let P=l(d,"w","val");(P==="superscript"||P==="subscript"||P==="baseline")&&(r.vertAlign=P);}let h=u(e,"w","smallCaps");h&&(r.smallCaps=C(h));let g=u(e,"w","caps");g&&(r.allCaps=C(g));let m=u(e,"w","vanish");m&&(r.hidden=C(m));let y=u(e,"w","color");y&&(r.color=en(l(y,"w","val"),l(y,"w","themeColor"),l(y,"w","themeTint"),l(y,"w","themeShade")));let k=u(e,"w","highlight");if(k){let P=l(k,"w","val");P&&(r.highlight=P);}let S=u(e,"w","shd");S&&(r.shading=Kr(S));let R=u(e,"w","sz");if(R){let P=w(R,"w","val");P!==void 0&&(r.fontSize=P);}let v=u(e,"w","szCs");if(v){let P=w(v,"w","val");P!==void 0&&(r.fontSizeCs=P);}let x=u(e,"w","rFonts");if(x){r.fontFamily={ascii:l(x,"w","ascii")??void 0,hAnsi:l(x,"w","hAnsi")??void 0,eastAsia:l(x,"w","eastAsia")??void 0,cs:l(x,"w","cs")??void 0};let P=l(x,"w","asciiTheme");P&&(r.fontFamily.asciiTheme=P,t&&!r.fontFamily.ascii&&(r.fontFamily.ascii=Y(t,P)));let L=l(x,"w","hAnsiTheme");L&&(r.fontFamily.hAnsiTheme=L,t&&!r.fontFamily.hAnsi&&(r.fontFamily.hAnsi=Y(t,L)));let Z=l(x,"w","eastAsiaTheme");Z&&(r.fontFamily.eastAsiaTheme=Z,t&&!r.fontFamily.eastAsia&&(r.fontFamily.eastAsia=Y(t,Z)));let ze=l(x,"w","cstheme");ze&&(r.fontFamily.csTheme=ze,t&&!r.fontFamily.cs&&(r.fontFamily.cs=Y(t,ze)));}let b=u(e,"w","spacing");if(b){let P=w(b,"w","val");P!==void 0&&(r.spacing=P);}let F=u(e,"w","position");if(F){let P=w(F,"w","val");P!==void 0&&(r.position=P);}let T=u(e,"w","w");if(T){let P=w(T,"w","val");P!==void 0&&(r.scale=P);}let E=u(e,"w","kern");if(E){let P=w(E,"w","val");P!==void 0&&(r.kerning=P);}let I=u(e,"w","effect");if(I){let P=l(I,"w","val");P&&(r.effect=P);}let $=u(e,"w","em");if($){let P=l($,"w","val");P&&(r.emphasisMark=P);}let A=u(e,"w","emboss");A&&(r.emboss=C(A));let H=u(e,"w","imprint");H&&(r.imprint=C(H));let J=u(e,"w","outline");J&&(r.outline=C(J));let ne=u(e,"w","shadow");ne&&(r.shadow=C(ne));let X=u(e,"w","rtl");X&&(r.rtl=C(X));let V=u(e,"w","cs");V&&(r.cs=C(V));let M=u(e,"w","rStyle");if(M){let P=l(M,"w","val");P&&(r.styleId=P);}return Object.keys(r).length>0?r:void 0}function Qr(e){let t=Fe(e),n=l(e,"xml","space")==="preserve";return {type:"text",text:t,preserveSpace:n||void 0}}function eo(){return {type:"tab"}}function to(e){let t=l(e,"w","type"),n=l(e,"w","clear"),r={type:"break"};return (t==="page"||t==="column"||t==="textWrapping")&&(r.breakType=t),(n==="none"||n==="left"||n==="right"||n==="all")&&(r.clear=n),r}function no(e){let t=l(e,"w","font")??"",n=l(e,"w","char")??"";return {type:"symbol",font:t,char:n}}function ro(e){return {type:"footnoteRef",id:w(e,"w","id")??0}}function oo(e){return {type:"endnoteRef",id:w(e,"w","id")??0}}function io(e){let t=l(e,"w","fldCharType"),n=l(e,"w","fldLock")==="true"||l(e,"w","fldLock")==="1",r=l(e,"w","dirty")==="true"||l(e,"w","dirty")==="1",o="begin";return t==="separate"?o="separate":t==="end"&&(o="end"),{type:"fieldChar",charType:o,fldLock:n||void 0,dirty:r||void 0}}function so(e){return {type:"instrText",text:Fe(e)}}function ao(e,t,n){let r=Qt(e,t??void 0,n??void 0);return r?{type:"drawing",image:r}:null}function lo(e){if(!e)return "";let t=e.indexOf(":");return t>=0?e.substring(t+1):e}function co(e,t,n){let r=[],o=N(e);for(let i of o)switch(lo(i.name)){case "t":r.push(Qr(i));break;case "tab":r.push(eo());break;case "br":r.push(to(i));break;case "sym":r.push(no(i));break;case "footnoteReference":r.push(ro(i));break;case "endnoteReference":r.push(oo(i));break;case "fldChar":r.push(io(i));break;case "instrText":r.push(so(i));break;case "softHyphen":r.push({type:"softHyphen"});break;case "noBreakHyphen":r.push({type:"noBreakHyphen"});break;case "drawing":let a=ao(i,t,n);a&&r.push(a);break;case "pict":case "object":break;case "rPr":break;case "lastRenderedPageBreak":break;case "cr":r.push({type:"break",breakType:"textWrapping"});break;}return r}function ge(e,t,n,r=null,o=null){let i={type:"run",content:[]},s=u(e,"w","rPr");return s&&(i.formatting=Qe(s,n)),i.content=co(e,r,o),i}function uo(e){if(!e)return "";let t=e.indexOf(":");return t>=0?e.substring(t+1):e}function po(e){let t=w(e,"w","id")??0,n=l(e,"w","name")??"",r={type:"bookmarkStart",id:t,name:n},o=w(e,"w","colFirst");o!==void 0&&(r.colFirst=o);let i=w(e,"w","colLast");return i!==void 0&&(r.colLast=i),r}function fo(e){return {type:"bookmarkEnd",id:w(e,"w","id")??0}}function tn(e,t,n=null,r=null,o=null){let i={type:"hyperlink",children:[]},s=l(e,"r","id");if(s&&(i.rId=s,t)){let g=t.get(s);g&&(Mt(g),i.href=g.target);}let a=l(e,"w","anchor");a&&(i.anchor=a,i.href||(i.href=`#${a}`));let c=l(e,"w","tooltip");c&&(i.tooltip=c);let p=l(e,"w","tgtFrame");p&&(i.target=p);let f=l(e,"w","history");(f==="1"||f==="true")&&(i.history=true);let d=l(e,"w","docLocation");d&&(i.docLocation=d);let h=N(e);for(let g of h)switch(uo(g.name)){case "r":i.children.push(ge(g,n,r,t,o));break;case "bookmarkStart":i.children.push(po(g));break;case "bookmarkEnd":i.children.push(fo(g));break}return i}function nn(e){let t=w(e,"w","id")??0,n=l(e,"w","name")??"",r={type:"bookmarkStart",id:t,name:n},o=w(e,"w","colFirst");o!==void 0&&(r.colFirst=o);let i=w(e,"w","colLast");return i!==void 0&&(r.colLast=i),r}function rn(e){return {type:"bookmarkEnd",id:w(e,"w","id")??0}}function mo(e){if(!e)return;let t=w(e,"w","w")??0,n=l(e,"w","type")??"dxa",r="dxa";return (n==="auto"||n==="dxa"||n==="nil"||n==="pct")&&(r=n),{value:t,type:r}}function ee(e){return mo(e)}function ue(e){if(!e)return;let r={style:l(e,"w","val")??"none"},o=w(e,"w","sz");o!==void 0&&(r.size=o);let i=w(e,"w","space");i!==void 0&&(r.space=i);let s=l(e,"w","color"),a=l(e,"w","themeColor"),c=l(e,"w","themeTint"),p=l(e,"w","themeShade");(s||a||c||p)&&(r.color={rgb:s??void 0,themeColor:a,themeTint:c??void 0,themeShade:p??void 0});let f=l(e,"w","shadow");(f==="1"||f==="true")&&(r.shadow=true);let d=l(e,"w","frame");return (d==="1"||d==="true")&&(r.frame=true),r}function on(e){if(!e)return;let t={},n=ue(u(e,"w","top"));n&&(t.top=n);let r=ue(u(e,"w","bottom"));r&&(t.bottom=r);let o=ue(u(e,"w","left")??u(e,"w","start"));o&&(t.left=o);let i=ue(u(e,"w","right")??u(e,"w","end"));i&&(t.right=i);let s=ue(u(e,"w","insideH"));s&&(t.insideH=s);let a=ue(u(e,"w","insideV"));if(a&&(t.insideV=a),Object.keys(t).length!==0)return t}function sn(e){if(!e)return;let t={},n=ee(u(e,"w","top"));n&&(t.top=n);let r=ee(u(e,"w","bottom"));r&&(t.bottom=r);let o=ee(u(e,"w","left")??u(e,"w","start"));o&&(t.left=o);let i=ee(u(e,"w","right")??u(e,"w","end"));if(i&&(t.right=i),Object.keys(t).length!==0)return t}function an(e){if(!e)return;let t={},n=l(e,"w","fill");n&&n!=="auto"&&(t.fill={rgb:n});let r=l(e,"w","themeFill");if(r){t.fill={themeColor:r};let s=l(e,"w","themeFillTint");s&&t.fill&&(t.fill.themeTint=s);let a=l(e,"w","themeFillShade");a&&t.fill&&(t.fill.themeShade=a);}let o=l(e,"w","color");o&&o!=="auto"&&(t.color={rgb:o});let i=l(e,"w","val");if(i&&(t.pattern=i),Object.keys(t).length!==0)return t}function ho(e){if(!e)return;let t={},n=l(e,"w","firstRow");(n==="1"||n==="true")&&(t.firstRow=true);let r=l(e,"w","lastRow");(r==="1"||r==="true")&&(t.lastRow=true);let o=l(e,"w","firstColumn");(o==="1"||o==="true")&&(t.firstColumn=true);let i=l(e,"w","lastColumn");(i==="1"||i==="true")&&(t.lastColumn=true);let s=l(e,"w","noHBand");(s==="1"||s==="true")&&(t.noHBand=true);let a=l(e,"w","noVBand");(a==="1"||a==="true")&&(t.noVBand=true);let c=l(e,"w","val");if(c){let p=parseInt(c,16);isNaN(p)||(p&32&&(t.firstRow=true),p&64&&(t.lastRow=true),p&128&&(t.firstColumn=true),p&256&&(t.lastColumn=true),p&512&&(t.noHBand=true),p&1024&&(t.noVBand=true));}if(Object.keys(t).length!==0)return t}function go(e){if(!e)return;let t={},n=l(e,"w","horzAnchor");(n==="margin"||n==="page"||n==="text")&&(t.horzAnchor=n);let r=l(e,"w","vertAnchor");(r==="margin"||r==="page"||r==="text")&&(t.vertAnchor=r);let o=w(e,"w","tblpX");o!==void 0&&(t.tblpX=o);let i=l(e,"w","tblpXSpec");i&&(t.tblpXSpec=i);let s=w(e,"w","tblpY");s!==void 0&&(t.tblpY=s);let a=l(e,"w","tblpYSpec");a&&(t.tblpYSpec=a);let c=w(e,"w","topFromText");c!==void 0&&(t.topFromText=c);let p=w(e,"w","bottomFromText");p!==void 0&&(t.bottomFromText=p);let f=w(e,"w","leftFromText");f!==void 0&&(t.leftFromText=f);let d=w(e,"w","rightFromText");if(d!==void 0&&(t.rightFromText=d),Object.keys(t).length!==0)return t}function wo(e){if(!e)return;let t={},n=ee(u(e,"w","tblW"));n&&(t.width=n);let r=u(e,"w","jc");if(r){let y=l(r,"w","val");(y==="left"||y==="center"||y==="right"||y==="start")&&(t.justification=y==="start"?"left":y);}let o=ee(u(e,"w","tblCellSpacing"));o&&(t.cellSpacing=o);let i=ee(u(e,"w","tblInd"));i&&(t.indent=i);let s=on(u(e,"w","tblBorders"));s&&(t.borders=s);let a=sn(u(e,"w","tblCellMar"));a&&(t.cellMargins=a);let c=u(e,"w","tblLayout");if(c){let y=l(c,"w","type");(y==="fixed"||y==="autofit")&&(t.layout=y);}let p=u(e,"w","tblStyle");if(p){let y=l(p,"w","val");y&&(t.styleId=y);}let f=ho(u(e,"w","tblLook"));f&&(t.look=f);let d=an(u(e,"w","shd"));d&&(t.shading=d);let h=u(e,"w","tblOverlap");if(h){let y=l(h,"w","val");(y==="never"||y==="overlap")&&(t.overlap=y);}let g=go(u(e,"w","tblpPr"));if(g&&(t.floating=g),C(u(e,"w","bidiVisual"))&&(t.bidi=true),Object.keys(t).length!==0)return t}function yo(e){if(!e)return;let t={},n=u(e,"w","trHeight");if(n){let c=ee(n);c&&(t.height=c);let p=l(n,"w","hRule");(p==="auto"||p==="atLeast"||p==="exact")&&(t.heightRule=p);}C(u(e,"w","tblHeader"))&&(t.header=true),C(u(e,"w","cantSplit"))&&(t.cantSplit=true);let i=u(e,"w","jc");if(i){let c=l(i,"w","val");(c==="left"||c==="center"||c==="right")&&(t.justification=c);}C(u(e,"w","hidden"))&&(t.hidden=true);let a=ln(u(e,"w","cnfStyle"));if(a&&(t.conditionalFormat=a),Object.keys(t).length!==0)return t}function ln(e){if(!e)return;let t={},n=l(e,"w","firstRow");(n==="1"||n==="true")&&(t.firstRow=true);let r=l(e,"w","lastRow");(r==="1"||r==="true")&&(t.lastRow=true);let o=l(e,"w","firstColumn");(o==="1"||o==="true")&&(t.firstColumn=true);let i=l(e,"w","lastColumn");(i==="1"||i==="true")&&(t.lastColumn=true);let s=l(e,"w","oddHBand");(s==="1"||s==="true")&&(t.oddHBand=true);let a=l(e,"w","evenHBand");(a==="1"||a==="true")&&(t.evenHBand=true);let c=l(e,"w","oddVBand");(c==="1"||c==="true")&&(t.oddVBand=true);let p=l(e,"w","evenVBand");(p==="1"||p==="true")&&(t.evenVBand=true);let f=l(e,"w","firstRowFirstColumn");(f==="1"||f==="true")&&(t.nwCell=true);let d=l(e,"w","firstRowLastColumn");(d==="1"||d==="true")&&(t.neCell=true);let h=l(e,"w","lastRowFirstColumn");(h==="1"||h==="true")&&(t.swCell=true);let g=l(e,"w","lastRowLastColumn");(g==="1"||g==="true")&&(t.seCell=true);let m=l(e,"w","val");if(m&&m.length===12&&(m[0]==="1"&&(t.firstRow=true),m[1]==="1"&&(t.lastRow=true),m[2]==="1"&&(t.firstColumn=true),m[3]==="1"&&(t.lastColumn=true),m[4]==="1"&&(t.oddVBand=true),m[5]==="1"&&(t.evenVBand=true),m[6]==="1"&&(t.oddHBand=true),m[7]==="1"&&(t.evenHBand=true),m[8]==="1"&&(t.nwCell=true),m[9]==="1"&&(t.neCell=true),m[10]==="1"&&(t.swCell=true),m[11]==="1"&&(t.seCell=true)),Object.keys(t).length!==0)return t}function xo(e){if(!e)return;let t={},n=ee(u(e,"w","tcW"));n&&(t.width=n);let r=on(u(e,"w","tcBorders"));r&&(t.borders=r);let o=sn(u(e,"w","tcMar"));o&&(t.margins=o);let i=an(u(e,"w","shd"));i&&(t.shading=i);let s=u(e,"w","vAlign");if(s){let m=l(s,"w","val");(m==="top"||m==="center"||m==="bottom")&&(t.verticalAlign=m);}let a=u(e,"w","textDirection");if(a){let m=l(a,"w","val");m&&(t.textDirection=m);}let c=u(e,"w","gridSpan");if(c){let m=w(c,"w","val");m!==void 0&&m>1&&(t.gridSpan=m);}let p=u(e,"w","vMerge");p&&(l(p,"w","val")==="restart"?t.vMerge="restart":t.vMerge="continue"),C(u(e,"w","tcFitText"))&&(t.fitText=true),C(u(e,"w","noWrap"))&&(t.noWrap=true),C(u(e,"w","hideMark"))&&(t.hideMark=true);let g=ln(u(e,"w","cnfStyle"));if(g&&(t.conditionalFormat=g),Object.keys(t).length!==0)return t}function bo(e,t,n,r,o,i){let s=[],a=e.elements||[];for(let c of a){if(!c.name)continue;let p=c.name.split(":").pop();if(p==="p"){let f=q(c,t,n,r,o,i);s.push(f);}else if(p==="tbl"){let f=we(c,t,n,r,o,i);s.push(f);}}return s.length===0&&s.push({type:"paragraph",content:[]}),s}function To(e,t,n,r,o,i){let s={type:"tableCell",content:[]},a=xo(u(e,"w","tcPr"));return a&&(s.formatting=a),s.content=bo(e,t,n,r,o,i),s}function Co(e,t,n,r,o,i){let s={type:"tableRow",cells:[]},a=yo(u(e,"w","trPr"));a&&(s.formatting=a);let c=D(e,"w","tc");for(let p of c){let f=To(p,t,n,r,o,i);s.cells.push(f);}return s}function Fo(e){if(!e)return;let t=[],n=D(e,"w","gridCol");for(let r of n){let o=w(r,"w","w")??0;t.push(o);}return t.length>0?t:void 0}function we(e,t,n,r,o,i){let s={type:"table",rows:[]},a=wo(u(e,"w","tblPr"));a&&(s.formatting=a);let c=Fo(u(e,"w","tblGrid"));c&&(s.columnWidths=c);let p=D(e,"w","tr");for(let f of p){let d=Co(f,t,n,r,o,i);s.rows.push(d);}return s}function cn(e){switch(e){case "first":return "first";case "even":return "even";default:return "default"}}function un(e){let t=l(e,"w","type"),n=l(e,"r","id")??"";return {type:cn(t),rId:n}}function pn(e){let t=l(e,"w","type"),n=l(e,"r","id")??"";return {type:cn(t),rId:n}}function et(e,t,n,r,o,i){let s=[],a=e.elements??[];for(let c of a){if(c.type!=="element")continue;let p=c.name??"";if(p==="w:p"||p.endsWith(":p")){let f=q(c,t,n,r,o,i);s.push(f);}else if(p==="w:tbl"||p.endsWith(":tbl")){let f=we(c,t,n,r,o,i);s.push(f);}else if(p==="w:sdt"||p.endsWith(":sdt")){let f=(c.elements??[]).find(d=>d.type==="element"&&(d.name==="w:sdtContent"||d.name?.endsWith(":sdtContent")));if(f){let d=et(f,t,n,r,o,i);s.push(...d);}}}return s}function fn(e,t="default",n=null,r=null,o=null,i=null,s=null){let a={type:"header",hdrFtrType:t,content:[]};if(!e)return a;let c=U(e);if(!c)return a;let p=c.elements?.find(f=>f.type==="element"&&(f.name==="w:hdr"||f.name?.endsWith(":hdr")));return p&&(a.content=et(p,n,r,o,i,s)),a}function dn(e,t="default",n=null,r=null,o=null,i=null,s=null){let a={type:"footer",hdrFtrType:t,content:[]};if(!e)return a;let c=U(e);if(!c)return a;let p=c.elements?.find(f=>f.type==="element"&&(f.name==="w:ftr"||f.name?.endsWith(":ftr")));return p&&(a.content=et(p,n,r,o,i,s)),a}function mn(e){switch(e){case "separator":return "separator";case "continuationSeparator":return "continuationSeparator";case "continuationNotice":return "continuationNotice";default:return "normal"}}function So(e,t,n,r,o,i){let s=w(e,"w","id")??0,a=l(e,"w","type"),c=mn(a),f=D(e,"w","p").map(d=>q(d,t,n,r,o));return {type:"footnote",id:s,noteType:c,content:f}}function hn(e,t=null,n=null,r=null,o=null,i=null){let s=new Map,a=[];if(!e)return Re(s,a);let c=U(e);if(!c)return Re(s,a);let p=c.elements?.find(d=>d.type==="element"&&(d.name==="w:footnotes"||d.name?.endsWith(":footnotes")));if(!p)return Re(s,a);let f=D(p,"w","footnote");for(let d of f){let h=So(d,t,n,r,o);s.set(h.id,h),a.push(h);}return Re(s,a)}function Re(e,t){return {byId:e,footnotes:t,getFootnote(n){return e.get(n)},hasFootnote(n){return e.has(n)},getNormalFootnotes(){return t.filter(n=>n.noteType==="normal")},getSeparator(){return t.find(n=>n.noteType==="separator")},getContinuationSeparator(){return t.find(n=>n.noteType==="continuationSeparator")}}}function vo(e,t,n,r,o,i){let s=w(e,"w","id")??0,a=l(e,"w","type"),c=mn(a),f=D(e,"w","p").map(d=>q(d,t,n,r,o));return {type:"endnote",id:s,noteType:c,content:f}}function gn(e,t=null,n=null,r=null,o=null,i=null){let s=new Map,a=[];if(!e)return Ee(s,a);let c=U(e);if(!c)return Ee(s,a);let p=c.elements?.find(d=>d.type==="element"&&(d.name==="w:endnotes"||d.name?.endsWith(":endnotes")));if(!p)return Ee(s,a);let f=D(p,"w","endnote");for(let d of f){let h=vo(d,t,n,r,o);s.set(h.id,h),a.push(h);}return Ee(s,a)}function Ee(e,t){return {byId:e,endnotes:t,getEndnote(n){return e.get(n)},hasEndnote(n){return e.has(n)},getNormalEndnotes(){return t.filter(n=>n.noteType==="normal")},getSeparator(){return t.find(n=>n.noteType==="separator")},getContinuationSeparator(){return t.find(n=>n.noteType==="continuationSeparator")}}}function wn(e){return e?{decimal:"decimal",upperRoman:"upperRoman",lowerRoman:"lowerRoman",upperLetter:"upperLetter",lowerLetter:"lowerLetter",ordinal:"ordinal",cardinalText:"cardinalText",ordinalText:"ordinalText",bullet:"bullet",chicago:"chicago",none:"none"}[e]:void 0}function ko(e){switch(e){case "pageBottom":return "pageBottom";case "beneathText":return "beneathText";case "sectEnd":return "sectEnd";case "docEnd":return "docEnd";default:return}}function Po(e){switch(e){case "sectEnd":return "sectEnd";case "docEnd":return "docEnd";default:return}}function yn(e){switch(e){case "continuous":return "continuous";case "eachSect":return "eachSect";case "eachPage":return "eachPage";default:return}}function xn(e){let t={};if(!e)return t;let n=u(e,"w","pos");if(n){let s=l(n,"w","val");t.position=ko(s);}let r=u(e,"w","numFmt");if(r){let s=l(r,"w","val");t.numFmt=wn(s);}let o=u(e,"w","numStart");o&&(t.numStart=w(o,"w","val")??void 0);let i=u(e,"w","numRestart");if(i){let s=l(i,"w","val");t.numRestart=yn(s);}return t}function bn(e){let t={};if(!e)return t;let n=u(e,"w","pos");if(n){let s=l(n,"w","val");t.position=Po(s);}let r=u(e,"w","numFmt");if(r){let s=l(r,"w","val");t.numFmt=wn(s);}let o=u(e,"w","numStart");o&&(t.numStart=w(o,"w","val")??void 0);let i=u(e,"w","numRestart");if(i){let s=l(i,"w","val");t.numRestart=yn(s);}return t}function Ro(e,t,n,r){if(!e&&!t)return;let o={};return e&&e!=="auto"?o.rgb=e:e==="auto"&&(o.auto=true),t&&(o.themeColor=t),n&&(o.themeTint=n),r&&(o.themeShade=r),Object.keys(o).length>0?o:void 0}function Me(e){if(!e)return;let r={style:l(e,"w","val")??"none"},o=w(e,"w","sz");o!==void 0&&(r.size=o);let i=w(e,"w","space");i!==void 0&&(r.space=i);let s=l(e,"w","color"),a=l(e,"w","themeColor"),c=l(e,"w","themeTint"),p=l(e,"w","themeShade"),f=Ro(s,a,c,p);f&&(r.color=f);let d=l(e,"w","shadow");(d==="1"||d==="true")&&(r.shadow=true);let h=l(e,"w","frame");return (h==="1"||h==="true")&&(r.frame=true),r}function Eo(e){switch(e){case "landscape":return "landscape";case "portrait":return "portrait";default:return}}function Mo(e){switch(e){case "continuous":return "continuous";case "nextPage":return "nextPage";case "oddPage":return "oddPage";case "evenPage":return "evenPage";case "nextColumn":return "nextColumn";default:return}}function Io(e){switch(e){case "top":return "top";case "center":return "center";case "both":return "both";case "bottom":return "bottom";default:return}}function $o(e){switch(e){case "continuous":return "continuous";case "newPage":return "newPage";case "newSection":return "newSection";default:return}}function Ie(e,t){let n={};if(!e)return n;let r=u(e,"w","pgSz");if(r){let x=w(r,"w","w");x!==void 0&&(n.pageWidth=x);let b=w(r,"w","h");b!==void 0&&(n.pageHeight=b);let F=l(r,"w","orient"),T=Eo(F);T&&(n.orientation=T);}let o=u(e,"w","pgMar");if(o){let x=w(o,"w","top");x!==void 0&&(n.marginTop=x);let b=w(o,"w","bottom");b!==void 0&&(n.marginBottom=b);let F=w(o,"w","left");F!==void 0&&(n.marginLeft=F);let T=w(o,"w","right");T!==void 0&&(n.marginRight=T);let E=w(o,"w","header");E!==void 0&&(n.headerDistance=E);let I=w(o,"w","footer");I!==void 0&&(n.footerDistance=I);let $=w(o,"w","gutter");$!==void 0&&(n.gutter=$);}let i=u(e,"w","cols");if(i){let x=w(i,"w","num");x!==void 0&&(n.columnCount=x);let b=w(i,"w","space");b!==void 0&&(n.columnSpace=b);let F=l(i,"w","equalWidth");F==="1"||F==="true"?n.equalWidth=true:(F==="0"||F==="false")&&(n.equalWidth=false);let T=l(i,"w","sep");(T==="1"||T==="true")&&(n.separator=true);let E=D(i,"w","col");if(E.length>0){n.columns=[];for(let I of E){let $={},A=w(I,"w","w");A!==void 0&&($.width=A);let H=w(I,"w","space");H!==void 0&&($.space=H),n.columns.push($);}}}let s=u(e,"w","type");if(s){let x=l(s,"w","val"),b=Mo(x);b&&(n.sectionStart=b);}let a=u(e,"w","vAlign");if(a){let x=l(a,"w","val"),b=Io(x);b&&(n.verticalAlign=b);}let c=u(e,"w","bidi");c&&(n.bidi=C(c));let p=D(e,"w","headerReference");p.length>0&&(n.headerReferences=p.map(x=>un(x)));let f=D(e,"w","footerReference");f.length>0&&(n.footerReferences=f.map(x=>pn(x)));let d=u(e,"w","titlePg");d&&(n.titlePg=C(d));let h=u(e,"w","evenAndOddHeaders");h&&(n.evenAndOddHeaders=C(h));let g=u(e,"w","lnNumType");if(g){n.lineNumbers={};let x=w(g,"w","start");x!==void 0&&(n.lineNumbers.start=x);let b=w(g,"w","countBy");b!==void 0&&(n.lineNumbers.countBy=b);let F=w(g,"w","distance");F!==void 0&&(n.lineNumbers.distance=F);let T=l(g,"w","restart"),E=$o(T);E&&(n.lineNumbers.restart=E);}let m=u(e,"w","pgBorders");if(m){n.pageBorders={};let x=Me(u(m,"w","top"));x&&(n.pageBorders.top=x);let b=Me(u(m,"w","bottom"));b&&(n.pageBorders.bottom=b);let F=Me(u(m,"w","left"));F&&(n.pageBorders.left=F);let T=Me(u(m,"w","right"));T&&(n.pageBorders.right=T);let E=l(m,"w","display");(E==="allPages"||E==="firstPage"||E==="notFirstPage")&&(n.pageBorders.display=E);let I=l(m,"w","offsetFrom");(I==="page"||I==="text")&&(n.pageBorders.offsetFrom=I);let $=l(m,"w","zOrder");($==="front"||$==="back")&&(n.pageBorders.zOrder=$);}let y=u(e,"w","background");if(y){n.background={};let x=l(y,"w","color");x&&x!=="auto"&&(n.background.color={rgb:x});let b=l(y,"w","themeColor");b&&(n.background.themeColor=b);let F=l(y,"w","themeTint");F&&(n.background.themeTint=F);let T=l(y,"w","themeShade");T&&(n.background.themeShade=T);}let k=u(e,"w","footnotePr");if(k){let x=xn(k);Object.keys(x).length>0&&(n.footnotePr=x);}let S=u(e,"w","endnotePr");if(S){let x=bn(S);Object.keys(x).length>0&&(n.endnotePr=x);}let R=u(e,"w","docGrid");if(R){n.docGrid={};let x=l(R,"w","type");(x==="default"||x==="lines"||x==="linesAndChars"||x==="snapToChars")&&(n.docGrid.type=x);let b=w(R,"w","linePitch");b!==void 0&&(n.docGrid.linePitch=b);let F=w(R,"w","charSpace");F!==void 0&&(n.docGrid.charSpace=F);}let v=u(e,"w","paperSrc");if(v){let x=w(v,"w","first");x!==void 0&&(n.paperSrcFirst=x);let b=w(v,"w","other");b!==void 0&&(n.paperSrcOther=b);}return n}function Tn(){return {pageWidth:12240,pageHeight:15840,orientation:"portrait",marginTop:1440,marginBottom:1440,marginLeft:1440,marginRight:1440,headerDistance:720,footerDistance:720,gutter:0,columnCount:1,columnSpace:720,equalWidth:true,sectionStart:"nextPage",verticalAlign:"top"}}function Do(e,t){return !e&&!t?true:!(!e||!t||e.bold!==t.bold||e.boldCs!==t.boldCs||e.italic!==t.italic||e.italicCs!==t.italicCs||e.strike!==t.strike||e.doubleStrike!==t.doubleStrike||e.smallCaps!==t.smallCaps||e.allCaps!==t.allCaps||e.hidden!==t.hidden||e.emboss!==t.emboss||e.imprint!==t.imprint||e.outline!==t.outline||e.shadow!==t.shadow||e.rtl!==t.rtl||e.cs!==t.cs||e.fontSize!==t.fontSize||e.fontSizeCs!==t.fontSizeCs||e.spacing!==t.spacing||e.position!==t.position||e.scale!==t.scale||e.kerning!==t.kerning||e.vertAlign!==t.vertAlign||e.highlight!==t.highlight||e.effect!==t.effect||e.emphasisMark!==t.emphasisMark||e.styleId!==t.styleId||!Ao(e.underline,t.underline)||!$e(e.color,t.color)||!Bo(e.shading,t.shading)||!Lo(e.fontFamily,t.fontFamily))}function Ao(e,t){return !e&&!t?true:!e||!t||e.style!==t.style?false:$e(e.color,t.color)}function $e(e,t){return !e&&!t?true:!e||!t?false:e.rgb===t.rgb&&e.auto===t.auto&&e.themeColor===t.themeColor&&e.themeTint===t.themeTint&&e.themeShade===t.themeShade}function Bo(e,t){return !e&&!t?true:!(!e||!t||e.pattern!==t.pattern||!$e(e.color,t.color)||!$e(e.fill,t.fill))}function Lo(e,t){return !e&&!t?true:!e||!t?false:e.ascii===t.ascii&&e.hAnsi===t.hAnsi&&e.eastAsia===t.eastAsia&&e.cs===t.cs&&e.asciiTheme===t.asciiTheme&&e.hAnsiTheme===t.hAnsiTheme&&e.eastAsiaTheme===t.eastAsiaTheme&&e.csTheme===t.csTheme}function No(e){return e.type==="text"||e.type==="softHyphen"||e.type==="noBreakHyphen"}function Cn(e){return e.content.length===0?true:e.content.every(No)}function Xo(e,t){let n=[];for(let r of e)n.push(r);if(n.length>0&&t.length>0&&n[n.length-1].type==="text"&&t[0].type==="text"){let r=n[n.length-1],o=t[0];n[n.length-1]={type:"text",text:r.text+o.text,preserveSpace:r.preserveSpace||o.preserveSpace||void 0};for(let i=1;i<t.length;i++)n.push(t[i]);}else for(let r of t)n.push(r);return n}function Ho(e){if(e.length<=1)return e;let t=[],n=null;for(let r of e)if(r.content.length!==0){if(n===null){n={...r,content:[...r.content]};continue}Cn(n)&&Cn(r)&&Do(n.formatting,r.formatting)?n={type:"run",formatting:n.formatting,content:Xo(n.content,r.content)}:(t.push(n),n={...r,content:[...r.content]});}return n!==null&&t.push(n),t}function tt(e){if(e.length<=1)return e;let t=[],n=[];function r(){if(n.length>0){let o=Ho(n);t.push(...o),n.length=0;}}for(let o of e)if(o.type==="run")n.push(o);else if(r(),o.type==="hyperlink"){let i={...o,children:tt(o.children)};t.push(i);}else t.push(o);return r(),t}function Oo(e){let t={sdtType:"richText"};if(!e||!e.elements)return t;for(let n of e.elements){if(n.type!=="element")continue;switch(n.name?.replace(/^w:/,"")??""){case "alias":t.alias=l(n,"w","val")??void 0;break;case "tag":t.tag=l(n,"w","val")??void 0;break;case "lock":t.lock=l(n,"w","val")??"unlocked";break;case "placeholder":{let o=u(n,"w","docPart");if(o){let i=u(o,"w","val");t.placeholder=i?l(i,"w","val")??void 0:void 0;}break}case "showingPlcHdr":t.showingPlaceholder=true;break;case "text":t.sdtType="plainText";break;case "date":t.sdtType="date",t.dateFormat=l(n,"w","fullDate")??void 0;break;case "dropDownList":t.sdtType="dropdown",t.listItems=Fn(n);break;case "comboBox":t.sdtType="comboBox",t.listItems=Fn(n);break;case "checkbox":{t.sdtType="checkbox";let o=u(n,"w14","checked")??u(n,"w","checked");t.checked=o?l(o,"w14","val")==="1"||l(o,"w","val")==="1":false;break}case "picture":t.sdtType="picture";break;case "docPartObj":t.sdtType="buildingBlockGallery";break;case "group":t.sdtType="group";break}}return t}function Fn(e){let t=[];for(let n of e.elements??[])n.type==="element"&&(n.name==="w:listItem"||n.name?.endsWith(":listItem"))&&t.push({displayText:l(n,"w","displayText")??"",value:l(n,"w","value")??""});return t}function Sn(e){let t="";if(e.type==="text"&&typeof e.text=="string")return e.text;if(e.elements)for(let n of e.elements)if((n.name?.replace(/^.*:/,"")??"")==="t"&&n.elements)for(let o of n.elements)o.type==="text"&&typeof o.text=="string"&&(t+=o.text);else t+=Sn(n);return t}function jo(e,t,n,r){let o={};return e&&e!=="auto"?o.rgb=e:e==="auto"&&(o.auto=true),t&&(o.themeColor=t),n&&(o.themeTint=n),r&&(o.themeShade=r),o}function zo(e){if(!e)return;let t={},n=l(e,"w","color");n&&n!=="auto"&&(t.color={rgb:n});let r=l(e,"w","fill");r&&r!=="auto"&&(t.fill={rgb:r});let o=l(e,"w","themeFill");o&&(t.fill=t.fill||{},t.fill.themeColor=o);let i=l(e,"w","themeFillTint");i&&t.fill&&(t.fill.themeTint=i);let s=l(e,"w","themeFillShade");s&&t.fill&&(t.fill.themeShade=s);let a=l(e,"w","val");return a&&(t.pattern=a),Object.keys(t).length>0?t:void 0}function pe(e){if(!e)return;let t=l(e,"w","val");if(!t)return;let n={style:t},r=l(e,"w","color"),o=l(e,"w","themeColor");(r||o)&&(n.color=jo(r,o,l(e,"w","themeTint"),l(e,"w","themeShade")));let i=w(e,"w","sz");i!==void 0&&(n.size=i);let s=w(e,"w","space");s!==void 0&&(n.space=s);let a=l(e,"w","shadow");a&&(n.shadow=a==="1"||a==="true");let c=l(e,"w","frame");return c&&(n.frame=c==="1"||c==="true"),n}function Vo(e){if(!e)return;let t=D(e,"w","tab");if(t.length===0)return;let n=[];for(let r of t){let o=w(r,"w","pos"),i=l(r,"w","val");if(o!==void 0&&i){let s={position:o,alignment:i},a=l(r,"w","leader");a&&(s.leader=a),n.push(s);}}return n.length>0?n:void 0}function Wo(e){if(!e)return;let t={},n=w(e,"w","w");n!==void 0&&(t.width=n);let r=w(e,"w","h");r!==void 0&&(t.height=r);let o=l(e,"w","hAnchor");(o==="text"||o==="margin"||o==="page")&&(t.hAnchor=o);let i=l(e,"w","vAnchor");(i==="text"||i==="margin"||i==="page")&&(t.vAnchor=i);let s=w(e,"w","x");s!==void 0&&(t.x=s);let a=w(e,"w","y");a!==void 0&&(t.y=a);let c=l(e,"w","xAlign");c&&(t.xAlign=c);let p=l(e,"w","yAlign");p&&(t.yAlign=p);let f=l(e,"w","wrap");return f&&(t.wrap=f),Object.keys(t).length>0?t:void 0}function _o(e,t,n){if(!e)return;let r={},o=u(e,"w","jc");if(o){let T=l(o,"w","val");T&&(r.alignment=T);}let i=u(e,"w","bidi");i&&(r.bidi=C(i));let s=u(e,"w","spacing");if(s){let T=w(s,"w","before");T!==void 0&&(r.spaceBefore=T);let E=w(s,"w","after");E!==void 0&&(r.spaceAfter=E);let I=w(s,"w","line");I!==void 0&&(r.lineSpacing=I);let $=l(s,"w","lineRule");$&&(r.lineSpacingRule=$);let A=l(s,"w","beforeAutospacing");A&&(r.beforeAutospacing=A==="1"||A==="true");let H=l(s,"w","afterAutospacing");H&&(r.afterAutospacing=H==="1"||H==="true");}let a=u(e,"w","ind");if(a){let T=w(a,"w","left");T!==void 0&&(r.indentLeft=T);let E=w(a,"w","right");E!==void 0&&(r.indentRight=E);let I=w(a,"w","firstLine");I!==void 0&&(r.indentFirstLine=I);let $=w(a,"w","hanging");$!==void 0&&(r.indentFirstLine=-$,r.hangingIndent=true);let A=w(a,"w","start");A!==void 0&&r.indentLeft===void 0&&(r.indentLeft=A);let H=w(a,"w","end");H!==void 0&&r.indentRight===void 0&&(r.indentRight=H);}let c=u(e,"w","pBdr");if(c){let T={},E=pe(u(c,"w","top"));E&&(T.top=E);let I=pe(u(c,"w","bottom"));I&&(T.bottom=I);let $=pe(u(c,"w","left"));$&&(T.left=$);let A=pe(u(c,"w","right"));A&&(T.right=A);let H=pe(u(c,"w","between"));H&&(T.between=H);let J=pe(u(c,"w","bar"));J&&(T.bar=J),Object.keys(T).length>0&&(r.borders=T);}let p=u(e,"w","shd");p&&(r.shading=zo(p));let f=u(e,"w","tabs");f&&(r.tabs=Vo(f));let d=u(e,"w","keepNext");d&&(r.keepNext=C(d));let h=u(e,"w","keepLines");h&&(r.keepLines=C(h));let g=u(e,"w","widowControl");g&&(r.widowControl=C(g));let m=u(e,"w","pageBreakBefore");m&&(r.pageBreakBefore=C(m));let y=u(e,"w","contextualSpacing");y&&(r.contextualSpacing=C(y));let k=u(e,"w","numPr");if(k){let T=u(k,"w","numId"),E=u(k,"w","ilvl");if(T||E){if(r.numPr={},T){let I=w(T,"w","val");I!==void 0&&(r.numPr.numId=I);}if(E){let I=w(E,"w","val");I!==void 0&&(r.numPr.ilvl=I);}}}let S=u(e,"w","outlineLvl");if(S){let T=w(S,"w","val");T!==void 0&&(r.outlineLevel=T);}let R=u(e,"w","pStyle");if(R){let T=l(R,"w","val");T&&(r.styleId=T);}let v=u(e,"w","framePr");v&&(r.frame=Wo(v));let x=u(e,"w","suppressLineNumbers");x&&(r.suppressLineNumbers=C(x));let b=u(e,"w","suppressAutoHyphens");b&&(r.suppressAutoHyphens=C(b));let F=u(e,"w","rPr");return F&&(r.runProperties=Qe(F,t)),Object.keys(r).length>0?r:void 0}function vn(e){if(!e)return "";let t=e.indexOf(":");return t>=0?e.substring(t+1):e}function Uo(e,t,n,r,o){return tn(e,t,n,r,o)}function Go(e){return nn(e)}function qo(e){return rn(e)}function kn(e){let t=e.trim().match(/^\\?([A-Z]+)/i);if(!t)return "UNKNOWN";let n=t[1].toUpperCase();return ["PAGE","NUMPAGES","NUMWORDS","NUMCHARS","DATE","TIME","CREATEDATE","SAVEDATE","PRINTDATE","AUTHOR","TITLE","SUBJECT","KEYWORDS","COMMENTS","FILENAME","FILESIZE","TEMPLATE","DOCPROPERTY","DOCVARIABLE","REF","PAGEREF","NOTEREF","HYPERLINK","TOC","TOA","INDEX","SEQ","STYLEREF","AUTONUM","AUTONUMLGL","AUTONUMOUT","IF","MERGEFIELD","NEXT","NEXTIF","ASK","SET","QUOTE","INCLUDETEXT","INCLUDEPICTURE","SYMBOL","ADVANCE","EDITTIME","REVNUM","SECTION","SECTIONPAGES","USERADDRESS","USERNAME","USERINITIALS"].includes(n)?n:"UNKNOWN"}function Jo(e,t,n,r,o){let i=l(e,"w","instr")??"",s=kn(i),a={type:"simpleField",instruction:i,fieldType:s,content:[]},c=l(e,"w","fldLock");(c==="1"||c==="true")&&(a.fldLock=true);let p=l(e,"w","dirty");(p==="1"||p==="true")&&(a.dirty=true);let f=N(e);for(let d of f)vn(d.name)==="r"&&a.content.push(ge(d,t,n,r,o));return a}function De(e,t,n,r,o,i){let s=[],a=N(e),c=false,p="",f=[],d=[],h=false,g=false,m=false;for(let y of a){let k=vn(y.name);switch(k){case "r":{let S=ge(y,t,n,o,i),R=false,v=false,x=false,b="";for(let F of S.content)F.type==="fieldChar"?F.charType==="begin"?(R=true,F.fldLock&&(g=true),F.dirty&&(m=true)):F.charType==="separate"?v=true:F.charType==="end"&&(x=true):F.type==="instrText"&&(b+=F.text);if(R&&(c=true,h=false,p="",f=[],d=[],g=false,m=false),c){if(b&&(p+=b),v&&(h=true),h&&!x?v||d.push(S):!h&&!R&&f.push(S),x){let F={type:"complexField",instruction:p.trim(),fieldType:kn(p),fieldCode:f,fieldResult:d};g&&(F.fldLock=true),m&&(F.dirty=true),s.push(F),c=false;}}else s.push(S);break}case "hyperlink":s.push(Uo(y,o,t,n,i));break;case "bookmarkStart":s.push(Go(y));break;case "bookmarkEnd":s.push(qo(y));break;case "fldSimple":s.push(Jo(y,t,n,o,i));break;case "pPr":break;case "proofErr":case "permStart":case "permEnd":case "customXml":break;case "sdt":{let S=(y.elements??[]).find(v=>v.type==="element"&&(v.name==="w:sdtPr"||v.name?.endsWith(":sdtPr"))),R=(y.elements??[]).find(v=>v.type==="element"&&(v.name==="w:sdtContent"||v.name?.endsWith(":sdtContent")));if(R){let v=De(R,t,n,null,o,i),b={type:"inlineSdt",properties:Oo(S??null),content:v.filter(F=>F.type==="run"||F.type==="hyperlink")};s.push(b);}break}case "ins":{let S={id:parseInt(l(y,"w","id")??"0",10),author:l(y,"w","author")??"Unknown",date:l(y,"w","date")??void 0},R=De(y,t,n,null,o,i),v={type:"insertion",info:S,content:R.filter(x=>x.type==="run"||x.type==="hyperlink")};s.push(v);break}case "del":{let S={id:parseInt(l(y,"w","id")??"0",10),author:l(y,"w","author")??"Unknown",date:l(y,"w","date")??void 0},R=De(y,t,n,null,o,i),v={type:"deletion",info:S,content:R.filter(x=>x.type==="run"||x.type==="hyperlink")};s.push(v);break}case "smartTag":case "moveTo":case "moveFrom":break;case "commentRangeStart":{let S=parseInt(l(y,"w","id")??"0",10);s.push({type:"commentRangeStart",id:S});break}case "commentRangeEnd":{let S=parseInt(l(y,"w","id")??"0",10);s.push({type:"commentRangeEnd",id:S});break}case "oMath":case "oMathPara":{let S=k==="oMathPara",R=Et(y),v=Sn(y),x={type:"mathEquation",display:S?"block":"inline",ommlXml:R,plainText:v||void 0};s.push(x);break}}}return s}function q(e,t,n,r,o=null,i=null){let s={type:"paragraph",content:[]},a=l(e,"w14","paraId")??l(e,"w","paraId");a&&(s.paraId=a);let c=l(e,"w14","textId")??l(e,"w","textId");c&&(s.textId=c);let p=u(e,"w","pPr");if(p){s.formatting=_o(p,n);let h=u(p,"w","sectPr");h&&(s.sectionProperties=Ie(h));}let f=De(e,t,n,r,o,i);s.content=tt(f);let d=s.formatting?.numPr;if(!d&&s.formatting?.styleId&&t){let h=t.get(s.formatting.styleId);h?.pPr?.numPr&&(d=h.pPr.numPr,s.formatting||(s.formatting={}),s.formatting.numPr=d);}if(d&&r){let{numId:h,ilvl:g=0}=d;if(h!==void 0&&h!==0){let m=r.getLevel(h,g);if(m&&(s.listRendering={level:g,numId:h,marker:m.lvlText,isBullet:m.numFmt==="bullet",numFmt:m.numFmt},m.pPr)){s.formatting||(s.formatting={});let y=p?u(p,"w","ind"):null,k=y!=null&&(l(y,"w","left")!==null||l(y,"w","start")!==null),S=y!=null&&(l(y,"w","firstLine")!==null||l(y,"w","hanging")!==null);!k&&m.pPr.indentLeft!==void 0&&(s.formatting.indentLeft=m.pPr.indentLeft),S||(m.pPr.indentFirstLine!==void 0&&(s.formatting.indentFirstLine=m.pPr.indentFirstLine),m.pPr.hangingIndent!==void 0&&(s.formatting.hangingIndent=m.pPr.hangingIndent));}}}return s}function nt(e){let t="";for(let n of e.content)if(n.type==="run")for(let r of n.content)r.type==="text"?t+=r.text:r.type==="tab"?t+=" ":r.type==="break"&&(r.breakType==="page"?t+="\f":t+=`
|
|
3
3
|
`);else if(n.type==="hyperlink"){for(let r of n.children)if(r.type==="run")for(let o of r.content)o.type==="text"&&(t+=o.text);}else if(n.type==="simpleField"){for(let r of n.content)if(r.type==="run")for(let o of r.content)o.type==="text"&&(t+=o.text);}else if(n.type==="complexField")for(let r of n.fieldResult)for(let o of r.content)o.type==="text"&&(t+=o.text);return t}function Zo(e){if(!e||e.trim()==="")return "\u2022";let t=e.charCodeAt(0),n={183:"\u2022",111:"\u25CB",167:"\u25A0",252:"\u2713",110:"\u25A0",113:"\u25CB",117:"\u25C6",118:"\u2756",168:"\u2713",251:"\u2713",254:"\u2713",61623:"\u2022",61550:"\u25A0",61551:"\u25CB",61607:"\u25A0",61692:"\u2713",8226:"\u2022",9679:"\u25CF",9675:"\u25CB",9632:"\u25A0",9633:"\u25A1",9670:"\u25C6",9671:"\u25C7",8211:"\u2013",8212:"\u2014",62:">",45:"-"};return n[t]?n[t]:t>=57344&&t<=63743||t<32||t>=127&&t<160?"\u2022":e}function Yo(e,t,n){let r=e.listRendering;if(!r||!t)return;let{numId:o,level:i}=r;if(o===void 0||o===0)return;n.has(o)||n.set(o,new Array(9).fill(0));let s=n.get(o);s[i]=(s[i]||0)+1;for(let p=i+1;p<s.length;p++)s[p]=0;let a=r.marker;if(r.isBullet){let p=a||"";r.marker=Zo(p);return}let c=a;for(let p=0;p<=i;p++){let f=`%${p+1}`;if(c.includes(f)){let d=s[p],h=t.getLevel(o,p),g=Ko(d,h?.numFmt||"decimal");c=c.replace(f,g);}}r.marker=c;}function Ko(e,t){switch(t){case "decimal":case "decimalZero":return String(e);case "lowerLetter":return String.fromCharCode(96+(e-1)%26+1);case "upperLetter":return String.fromCharCode(64+(e-1)%26+1);case "lowerRoman":return Pn(e).toLowerCase();case "upperRoman":return Pn(e);case "bullet":return "\u2022";default:return String(e)}}function Pn(e){let 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"]],n="";for(let[r,o]of t)for(;e>=r;)n+=o,e-=r;return n}var Rn=/\{\{([^{}]+)\}\}/g;function En(e){let t=[],n;for(Rn.lastIndex=0;(n=Rn.exec(e))!==null;){let r=n[1].trim();r&&!t.includes(r)&&t.push(r);}return t}function Mn(e){let t=[];for(let n of e)if(n.type==="paragraph"){let r=nt(n),o=En(r);for(let i of o)t.includes(i)||t.push(i);}else if(n.type==="table"){let r=In(n);for(let o of r)t.includes(o)||t.push(o);}return t}function In(e){let t=[];for(let n of e.rows)for(let r of n.cells)for(let o of r.content)if(o.type==="paragraph"){let i=nt(o),s=En(i);for(let a of s)t.includes(a)||t.push(a);}else if(o.type==="table"){let i=In(o);for(let s of i)t.includes(s)||t.push(s);}return t}function $n(e,t,n,r,o,i){let s=[],a=N(e),c=new Map;for(let p of a){let f=p.name??"";if(f==="w:p"||f.endsWith(":p")){let d=q(p,t,n,r,o,i);Yo(d,r,c),s.push(d);}else if(f==="w:tbl"||f.endsWith(":tbl")){let d=we(p,t,n,r,o,i);s.push(d);}else if(f==="w:sdt"||f.endsWith(":sdt")){let d=(p.elements??[]).find(h=>h.type==="element"&&(h.name==="w:sdtContent"||h.name?.endsWith(":sdtContent")));if(d){let h=$n(d,t,n,r,o,i);s.push(...h);}}}return s}function Qo(e,t){let n=[],r=[];for(let o of e)r.push(o),o.type==="paragraph"&&o.sectionProperties&&(n.push({properties:o.sectionProperties,content:r}),r=[]);return (r.length>0||n.length===0)&&n.push({properties:t??Tn(),content:r}),n}function Dn(e,t=null,n=null,r=null,o=null,i=null){let s={content:[]};if(!e)return s;let a=U(e);if(!a)return s;let c=(a.elements??[]).find(d=>d.type==="element"&&(d.name==="w:document"||d.name?.endsWith(":document")));if(!c)return s;let p=u(c,"w","body");if(!p)return s;s.content=$n(p,t,n,r,o,i);let f=u(p,"w","sectPr");return f&&(s.finalSectionProperties=Ie(f)),s.sections=Qo(s.content,s.finalSectionProperties),s}function ei(e){let t=new Map,n=U(e);if(!n)return t;let r=u(n,"w16cex","commentsExtensible")??n;for(let o of N(r)){if((o.name?.replace(/^.*:/,"")??"")!=="comment")continue;let s=l(o,"w16cex","paraId")??l(o,"w15","paraId")??o.attributes?.["w16cex:paraId"]??o.attributes?.["w15:paraId"],a=l(o,"w16cex","dateUtc")??l(o,"w15","dateUtc")??o.attributes?.["w16cex:dateUtc"]??o.attributes?.["w15:dateUtc"];s&&a&&t.set(String(s).toUpperCase(),String(a));}return t}function An(e,t,n,r,o,i){if(!e)return [];let s=U(e);if(!s)return [];let a=i?ei(i):new Map,c=u(s,"w","comments")??s,p=N(c),f=[];for(let d of p){if((d.name?.replace(/^.*:/,"")??"")!=="comment")continue;let g=parseInt(l(d,"w","id")??"0",10),m=l(d,"w","author")??"Unknown",y=l(d,"w","initials"),k=y!=null?String(y):void 0,S=l(d,"w","date"),R=S!=null?String(S):void 0,v=l(d,"w14","paraId")??d.attributes?.["w14:paraId"]??l(d,"w","paraId"),b=(v?a.get(String(v).toUpperCase()):void 0)??R,F=[];for(let T of N(d))if((T.name?.replace(/^.*:/,"")??"")==="p"){let I=q(T,t,n,null,r,o);F.push(I);}f.push({id:g,author:m,initials:k,date:b,content:F});}return f}var Be=new Set,Ae=new Map,ti=new Set;function Ln(e,t=[400,700],n=["normal","italic"]){let r=encodeURIComponent(e),o=[];for(let s of n){let a=s==="italic"?1:0;for(let c of t)o.push(`${a},${c}`);}o.sort();let i=o.join(";");return `https://fonts.googleapis.com/css2?family=${r}:ital,wght@${i}&display=swap`}async function ni(e,t){let n=e.trim();if(Be.has(n))return true;let r=Ae.get(n);if(r)return r;let o=(async()=>{try{let i=Ln(n,t?.weights,t?.styles),s=document.createElement("link");return s.rel="stylesheet",s.href=i,await new Promise(c=>{s.onload=()=>c(!0),s.onerror=()=>c(!1),document.head.appendChild(s),setTimeout(()=>c(!1),5e3);})?(await oi(n,3e3),Be.add(n),ri([n]),!0):!1}catch(i){return console.warn(`Failed to load font "${n}":`,i),false}finally{Ae.delete(n),Ae.size===0&&(false);}})();return Ae.set(n,o),o}function ri(e){for(let t of ti)try{t(e);}catch(n){console.warn("Font load callback error:",n);}}async function oi(e,t){if("fonts"in document)try{let n=`400 16px "${e}"`;return await Promise.race([document.fonts.load(n),new Promise(r=>setTimeout(r,t))]),document.fonts.check(n)}catch{}return await new Promise(n=>setTimeout(n,100)),true}var ii={Calibri:"Carlito",Cambria:"Caladea",Arial:"Arimo","Times New Roman":"Tinos","Courier New":"Cousine",Garamond:"EB Garamond","Book Antiqua":"EB Garamond",Georgia:"Tinos",Verdana:"Open Sans",Tahoma:"Open Sans","Trebuchet MS":"Source Sans Pro","Century Gothic":"Poppins","Franklin Gothic":"Libre Franklin",Palatino:"EB Garamond","Palatino Linotype":"EB Garamond","Lucida Sans":"Open Sans","Segoe UI":"Open Sans",Impact:"Anton","Comic Sans MS":"Comic Neue",Consolas:"Inconsolata","Lucida Console":"Inconsolata",Monaco:"Fira Code"};function si(e){let t=e.trim();return ii[t]||t}async function ai(e){let t=e.trim(),n=si(t);return n!==t?(await li(t,n),Be.add(t),Be.add(n),true):ni(n)}async function li(e,t){let n=`font-alias-${e.toLowerCase().replace(/\s+/g,"-")}`;if(!document.getElementById(n))try{let r=Ln(t,[400,700],["normal","italic"]),o=await fetch(r);if(!o.ok){console.warn(`Failed to fetch Google Fonts CSS for "${t}": ${o.status}`);return}let i=await o.text(),s=new RegExp(`font-family:\\s*['"]${ci(t)}['"]`,"gi"),a=i.replace(s,`font-family: '${e}'`),c=document.createElement("style");c.id=n,c.textContent=a,document.head.appendChild(c);}catch(r){console.warn(`Failed to create font alias for "${e}":`,r);}}function ci(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}async function Nn(e){let t=[...new Set(e.map(n=>n.trim()))];await Promise.all(t.map(n=>ai(n)));}async function Xn(e){if(e instanceof ArrayBuffer)return e;if(e instanceof Uint8Array){let t=new ArrayBuffer(e.byteLength);return new Uint8Array(t).set(e),t}if(e instanceof Blob)return e.arrayBuffer();throw new TypeError(`Unsupported DocxInput type: ${typeof e}`)}async function Ne(e,t={}){let n=e instanceof ArrayBuffer?e:await Xn(e),{onProgress:r=()=>{},preloadFonts:o=true,parseHeadersFooters:i=true,parseNotes:s=true,detectVariables:a=true}=t,c=[];try{let h=function(X,V){let M=performance.now(),P=V(),L=performance.now()-M;return d.push({stage:X,ms:L}),L>1e3&&console.warn(`[parseDocx] ${X} took ${Math.round(L)}ms`),P};var p=h;let f=performance.now(),d=[];async function g(X,V){let M=performance.now(),P=await V(),L=performance.now()-M;return d.push({stage:X,ms:L}),L>1e3&&console.warn(`[parseDocx] ${X} took ${Math.round(L)}ms`),P}r("Extracting DOCX...",0);let m=await g("unzip",()=>Pt(n));r("Extracted DOCX",10),r("Parsing relationships...",10);let y=h("relationships",()=>m.documentRels?Se(m.documentRels):new Map);r("Parsed relationships",15),r("Parsing theme...",15);let k=h("theme",()=>At(m.themeXml));r("Parsed theme",20),r("Parsing styles...",20);let S=null,R;h("styles",()=>{m.stylesXml&&(S=Ye(m.stylesXml,k),R=zt(m.stylesXml,k));}),r("Parsed styles",30),r("Parsing numbering...",30);let v=h("numbering",()=>Vt(m.numberingXml));r("Parsed numbering",35),r("Processing media files...",35);let x=h("media",()=>ui(m,y));r("Processed media",40),r("Parsing document body...",40);let b={content:[]};h("documentBody",()=>{m.documentXml?b=Dn(m.documentXml,S,k,v,y,x):c.push("No document.xml found in DOCX");}),r("Parsed document body",55);let F,T;if(i){r("Parsing headers/footers...",55);let X=h("headersFooters",()=>pi(m,S,k,v,y,x));F=X.headers,T=X.footers,r("Parsed headers/footers",65);}else r("Skipping headers/footers",65);let E,I;if(s){r("Parsing footnotes/endnotes...",65);let X=h("footnotesEndnotes",()=>fi(m,S,k,v,y,x));E=X.footnotes,I=X.endnotes,r("Parsed footnotes/endnotes",75);}else r("Skipping footnotes/endnotes",75);r("Parsing comments...",75);let $=h("comments",()=>An(m.commentsXml,S,k,y,x,m.commentsExtensibleXml));$.length>0&&(b.comments=$);let A;a?(r("Detecting template variables...",75),A=h("variables",()=>Mn(b.content)),r("Detected variables",80)):r("Skipping variable detection",80),o?(r("Loading fonts...",80),await g("fonts",()=>di(k,R,b)),r("Loaded fonts",95)):r("Skipping font loading",95),r("Assembling document...",95);let J={package:{document:b,styles:R,theme:k,numbering:v.definitions,headers:F,footers:T,footnotes:E,endnotes:I,relationships:y,media:x},originalBuffer:n,templateVariables:A,warnings:c.length>0?c:void 0},ne=performance.now()-f;if(ne>2e3){let X=d.filter(V=>V.ms>100).map(V=>`${V.stage}: ${Math.round(V.ms)}ms`).join(", ");console.warn(`[parseDocx] Total: ${Math.round(ne)}ms`+(X?` (${X})`:""));}return r("Complete",100),J}catch(f){let d=f instanceof Error?f.message:String(f);throw console.error("[parseDocx] Failed to parse DOCX:",d,f),new Error(`Failed to parse DOCX: ${d}`)}}function ui(e,t){let n=new Map;for(let[r,o]of e.media.entries()){let i=r.split("/").pop()||r,s=Rt(r),a=new Uint8Array(o),c="";for(let g=0;g<a.length;g++)c+=String.fromCharCode(a[g]);let p=btoa(c),f=`data:${s};base64,${p}`,d={path:r,filename:i,mimeType:s,data:o,dataUrl:f};n.set(r,d);let h=r.replace(/^word\//,"");h!==r&&n.set(h,d);}return n}function Le(e,t){let n=t.toLowerCase();for(let[r,o]of e.entries())if(r.toLowerCase()===n)return o}function pi(e,t,n,r,o,i){let s=new Map,a=new Map;for(let[c,p]of o.entries())if(p.type===ce.header&&p.target){let f=p.target.split("/").pop()||p.target,d=Le(e.headers,f);if(d){let h=`word/_rels/${f}.rels`,g=Le(e.allXml,h),m=g?Se(g):o,y=fn(d,"default",t,n,r,m,i);s.set(c,y);}}else if(p.type===ce.footer&&p.target){let f=p.target.split("/").pop()||p.target,d=Le(e.footers,f);if(d){let h=`word/_rels/${f}.rels`,g=Le(e.allXml,h),m=g?Se(g):o,y=dn(d,"default",t,n,r,m,i);a.set(c,y);}}return {headers:s,footers:a}}function fi(e,t,n,r,o,i){let s=hn(e.footnotesXml,t,n,r,o,i),a=gn(e.endnotesXml,t,n,r,o,i);return {footnotes:s.getNormalFootnotes(),endnotes:a.getNormalEndnotes()}}async function di(e,t,n){let r=new Set;if(e?.fontScheme){let{majorFont:o,minorFont:i}=e.fontScheme;o?.latin&&r.add(o.latin),i?.latin&&r.add(i.latin);}if(t?.docDefaults?.rPr?.fontFamily?.ascii&&r.add(t.docDefaults.rPr.fontFamily.ascii),t?.styles)for(let o of t.styles)o.rPr?.fontFamily?.ascii&&r.add(o.rPr.fontFamily.ascii),o.rPr?.fontFamily?.hAnsi&&r.add(o.rPr.fontFamily.hAnsi);if(n.content){for(let o of n.content)if(o.type==="paragraph")for(let i of o.content)i.type==="run"&&i.formatting?.fontFamily&&(i.formatting.fontFamily.ascii&&r.add(i.formatting.fontFamily.ascii),i.formatting.fontFamily.hAnsi&&r.add(i.formatting.fontFamily.hAnsi));}if(r.size>0)try{await Nn(Array.from(r));}catch(o){console.warn("Failed to load some fonts:",o);}}var Oe={type:"string",description:"Document ID from a previous docx_load call"},Ei={type:"object",properties:{paragraphIndex:{type:"number",description:"Index of the paragraph (0-indexed)"},offset:{type:"number",description:"Character offset within the paragraph"}},required:["paragraphIndex","offset"]},zn={name:"docx_get_variables",description:`List all template variables ({{name}} format) found in the document.
|
|
4
4
|
Returns variable names without braces, along with their locations (body, headers, footers, etc.).
|
|
5
5
|
Use this to discover what data fields a template document expects.`,inputSchema:{type:"object",properties:{documentId:Oe},required:["documentId"]},handler:async(e,t)=>{let{documentId:n}=e,r=t.session.documents.get(n);if(!r)return {isError:true,content:[{type:"text",text:`Document not found: ${n}`}]};try{let o=xt(r.document);return {content:[{type:"text",text:JSON.stringify({variables:o.variables,count:o.variables.length,totalOccurrences:o.totalOccurrences,byLocation:o.byLocation},null,2)}]}}catch(o){return {isError:true,content:[{type:"text",text:`Failed to detect variables: ${o.message}`}]}}},annotations:{category:"template",readOnly:true,complexity:"low",examples:[{description:"Get all variables from a loaded document",input:{documentId:"doc_123"},output:'{"variables": ["customer_name", "invoice_date"], "count": 2}'}]}},Vn={name:"docx_insert_variable",description:`Insert a template variable placeholder ({{name}}) at a specific position in the document.
|