@docx-editor.dev/core 2.26.0 → 2.28.0
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/automation.cjs +1 -1
- package/dist/automation.d.ts +30 -13
- package/dist/automation.js +1 -1
- package/dist/binding.cjs +1 -1
- package/dist/binding.d.ts +20 -9
- package/dist/binding.js +1 -1
- package/dist/chunk-2GO5T2JU.cjs +1 -0
- package/dist/chunk-2RC2EPND.js +3 -0
- package/dist/chunk-4GBTELJV.cjs +28 -0
- package/dist/chunk-4R3TEXMN.js +18 -0
- package/dist/chunk-5CSUYANV.js +1 -0
- package/dist/chunk-6APGXLBB.cjs +3 -0
- package/dist/chunk-6AWEKBLB.cjs +1 -0
- package/dist/chunk-6EYYL7FL.js +1 -0
- package/dist/chunk-E7BQA6UP.js +2 -0
- package/dist/chunk-EO4C5QJW.cjs +2 -0
- package/dist/chunk-ETTO6GK3.js +1 -0
- package/dist/chunk-FIJZIQXA.cjs +18 -0
- package/dist/chunk-FRXAOVTB.js +28 -0
- package/dist/chunk-J6BVWIDB.js +2 -0
- package/dist/chunk-JGNVNT2A.cjs +2 -0
- package/dist/chunk-K5U2PLDP.cjs +2 -0
- package/dist/chunk-KKIJG3C6.js +2 -0
- package/dist/chunk-LWDSDCMO.js +27 -0
- package/dist/chunk-NBCVVZOM.cjs +1 -0
- package/dist/chunk-O2AL2HSJ.cjs +1 -0
- package/dist/{chunk-AJCCS53D.js → chunk-O5INAWZQ.js} +1 -1
- package/dist/chunk-QMLCVPCD.cjs +1 -0
- package/dist/chunk-RCHS4ZEH.cjs +27 -0
- package/dist/chunk-SRPILEWV.cjs +5 -0
- package/dist/chunk-TSLBZ26X.js +1 -0
- package/dist/chunk-VDNNLG6X.js +2 -0
- package/dist/chunk-VHAVHCQY.js +7 -0
- package/dist/chunk-VX43VBAX.cjs +7 -0
- package/dist/chunk-Z6WBFXJU.js +5 -0
- package/dist/chunk-ZUHOMK52.cjs +2 -0
- package/dist/collaboration/replication.cjs +1 -1
- package/dist/collaboration/replication.d.ts +50 -5
- package/dist/collaboration/replication.js +1 -1
- package/dist/collaboration.cjs +1 -1
- package/dist/collaboration.d.ts +98 -6
- package/dist/collaboration.js +1 -1
- package/dist/contracts/document.d.ts +17 -2
- package/dist/contracts/editor.d.ts +19 -9
- package/dist/contracts/interaction.d.ts +29 -0
- package/dist/contracts/modules.cjs +1 -1
- package/dist/contracts/modules.d.ts +29 -16
- package/dist/contracts/modules.js +1 -1
- package/dist/contracts/types.d.ts +10 -1
- package/dist/{custom-node-writes-Cy9imOjA.d.ts → custom-node-writes-cvL5rhcD.d.ts} +2 -2
- package/dist/{document-protection-Bp19Ad4I.d.ts → document-protection-BAGVGqaP.d.ts} +1 -1
- package/dist/{editor-DYUlyKmb.d.ts → editor-Ci7IZGmG.d.ts} +410 -163
- package/dist/editor.cjs +1 -1
- package/dist/editor.css +5 -5
- package/dist/editor.d.ts +417 -31
- package/dist/editor.js +1 -1
- package/dist/export.cjs +2 -2
- package/dist/export.d.ts +37 -15
- package/dist/export.js +2 -2
- package/dist/failure-NS2lsya4.d.ts +115 -0
- package/dist/{font-resolver-u_nE0PI1.d.ts → font-resolver-BVQB14qT.d.ts} +1 -1
- package/dist/{headless-document-view-R9bzzepb.d.ts → headless-document-view-qH331moE.d.ts} +2 -2
- package/dist/{image-resources-DfagDguq.d.ts → image-resources-BN-hUgCn.d.ts} +9 -9
- package/dist/{index-Docw8Dcb.d.ts → index-Bsg7oIKP.d.ts} +270 -115
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +46 -18
- package/dist/index.js +1 -1
- package/dist/{layout-shaping-DWitwY73.d.ts → layout-shaping-BEyuiQOk.d.ts} +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.d.ts +177 -249
- package/dist/layout.js +1 -1
- package/dist/{note-properties-CmfvOJsi.d.ts → note-properties-4Y9o6Gyk.d.ts} +1 -1
- package/dist/{omml-equation-CZ6IG2ja.d.ts → omml-equation-CuzBL5DD.d.ts} +1 -1
- package/dist/output.cjs +1 -1
- package/dist/output.d.ts +18 -7
- package/dist/output.js +1 -1
- package/dist/{protocol-DniKeDb8.d.ts → protocol-Bqk4Izjc.d.ts} +48 -7
- package/dist/review-pane-D9jm8DcY.d.ts +128 -0
- package/dist/{review-paragraph-order-Dc8Q6tfM.d.ts → review-paragraph-order-DT-n6ouC.d.ts} +5 -2
- package/dist/{revision-projection-DfWxdBqA.d.ts → revision-projection-DZ4kKVev.d.ts} +74 -3
- package/dist/{semantic-cell-selection-Dy_BmmpL.d.ts → semantic-cell-selection-D9D1KSXq.d.ts} +8 -6
- package/dist/{semantic-interaction-CvFAj0GR.d.ts → semantic-interaction-CIC-PooQ.d.ts} +25 -34
- package/dist/{semantic-paint-Bk9wIXdZ.d.ts → semantic-paint-BME37OMv.d.ts} +57 -5
- package/dist/semantic-record-queries-CBlZqZNa.d.ts +177 -0
- package/dist/{semantic-records-COqi8pjP.d.ts → semantic-records-4B3WwFAi.d.ts} +84 -42
- package/dist/store.cjs +1 -1
- package/dist/store.d.ts +165 -137
- package/dist/store.js +1 -1
- package/dist/{tree-package-fragment-YPyYC1aD.d.ts → tree-package-fragment-BeeKxDw8.d.ts} +77 -57
- package/dist/{tree-session-contract-AeY2v0x9.d.ts → tree-session-contract-CVbmlMlq.d.ts} +7 -5
- package/dist/{types-barrel-BO73JqHG.d.ts → types-barrel-D3xCgQX6.d.ts} +595 -471
- package/package.json +3 -3
- package/dist/chunk-2BK4G4ZN.js +0 -2
- package/dist/chunk-2SJX44PC.cjs +0 -2
- package/dist/chunk-5BIASAN3.js +0 -1
- package/dist/chunk-6SEIXJTX.js +0 -1
- package/dist/chunk-73PG6L2X.js +0 -1
- package/dist/chunk-7RJSH72J.cjs +0 -5
- package/dist/chunk-AGKIHLWQ.cjs +0 -1
- package/dist/chunk-AN6WM4X4.js +0 -2
- package/dist/chunk-ANZ44KQT.cjs +0 -12
- package/dist/chunk-CYT3OQFZ.cjs +0 -1
- package/dist/chunk-DDGGSBAN.js +0 -12
- package/dist/chunk-EEAV3WIN.js +0 -3
- package/dist/chunk-ELQFXMJ5.cjs +0 -1
- package/dist/chunk-EYK4K2J6.js +0 -1
- package/dist/chunk-JNTETUNZ.cjs +0 -1
- package/dist/chunk-L6V3IJ3S.js +0 -5
- package/dist/chunk-LWCI65EL.js +0 -1
- package/dist/chunk-LZDI4P6I.cjs +0 -1
- package/dist/chunk-NS22DVWT.cjs +0 -2
- package/dist/chunk-QIE3YTU4.cjs +0 -2
- package/dist/chunk-QVBFPAGO.js +0 -5
- package/dist/chunk-RCCOLZEQ.js +0 -2
- package/dist/chunk-SUN62YU6.cjs +0 -5
- package/dist/chunk-TKQH7BNE.cjs +0 -1
- package/dist/chunk-TKR2MXX4.cjs +0 -3
- package/dist/chunk-UJL2GDIM.cjs +0 -25
- package/dist/chunk-WQTADNHK.cjs +0 -27
- package/dist/chunk-XSHXBJ2J.js +0 -25
- package/dist/chunk-YXZEBTDF.js +0 -27
- package/dist/failure-BIPVQbRm.d.ts +0 -65
package/dist/export.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var chunkLZDI4P6I_cjs=require('./chunk-LZDI4P6I.cjs'),chunkTKR2MXX4_cjs=require('./chunk-TKR2MXX4.cjs'),chunkJNTETUNZ_cjs=require('./chunk-JNTETUNZ.cjs'),chunkUJL2GDIM_cjs=require('./chunk-UJL2GDIM.cjs'),chunkAGKIHLWQ_cjs=require('./chunk-AGKIHLWQ.cjs');require('./chunk-CYT3OQFZ.cjs');var chunkSUN62YU6_cjs=require('./chunk-SUN62YU6.cjs'),chunkANZ44KQT_cjs=require('./chunk-ANZ44KQT.cjs');function _(e,o,t){if(o.environment.features.smcp!==1||!/\p{Ll}/u.test(o.text))return t;let n={...o,environment:{...o.environment,features:{...o.environment.features,smcp:0}}},r=e.shape(n);if(t.glyphs.length!==r.glyphs.length||t.glyphs.some((u,c)=>u.id!==r.glyphs[c]?.id))return t;let i=[],s=0;for(let u of o.text){let c=u.toUpperCase()!==u,y=i.at(-1);y&&(y.lower===c||/\p{M}/u.test(u))?y.text+=u:i.push({text:u,start:s,lower:c}),s+=u.length;}let a=[],p=[],l=[],d=true,g=0;for(let u of o.environment.direction==="rtl"?i.reverse():i){let c=u.lower?.8:1,y=[],R=[],b="",f=u.start;for(let F of u.text){let m=u.lower?F.toUpperCase():F;for(let E=0;E<m.length;E++)y.push(f),R.push(f+F.length);b+=m,f+=F.length;}let h=e.shape({...n,text:b}),x=a.length;for(let[F,m]of h.glyphs.entries()){let E=h.exactAdvancesX?.[F];E===void 0?d=false:l.push(E*c),a.push({...m,cluster:y[m.cluster]??u.start,originX:chunkUJL2GDIM_cjs.n(g+Math.round(m.originX*c)),originY:chunkUJL2GDIM_cjs.n(Math.round(m.originY*c)),offsetX:chunkUJL2GDIM_cjs.n(Math.round(m.offsetX*c)),offsetY:chunkUJL2GDIM_cjs.n(Math.round(m.offsetY*c)),advanceX:chunkUJL2GDIM_cjs.n(Math.round(m.advanceX*c)),advanceY:chunkUJL2GDIM_cjs.n(Math.round(m.advanceY*c)),drawScale:c});}for(let F of h.clusters){let m=y[F.textStart]??u.start,E=R[F.textEnd-1]??f,T=chunkUJL2GDIM_cjs.n(Math.round(F.advance*c)),A=p.at(-1);A&&A.textStart===m&&A.textEnd===E?p[p.length-1]={...A,glyphEnd:x+F.glyphEnd,advance:chunkUJL2GDIM_cjs.n(A.advance+T),caretEdges:[chunkUJL2GDIM_cjs.n(0),chunkUJL2GDIM_cjs.n(A.advance+T)]}:p.push({...F,textStart:m,textEnd:E,glyphStart:x+F.glyphStart,glyphEnd:x+F.glyphEnd,advance:T,caretEdges:F.caretEdges.map(G=>chunkUJL2GDIM_cjs.n(Math.round(G*c))),fontSpan:0});}g+=h.glyphs.reduce((F,m)=>F+Math.round(m.advanceX*c),0);}return {...t,glyphs:a,clusters:p,fontSpans:[{...t.fontSpans[0],glyphStart:0,glyphEnd:a.length}],exactAdvancesX:d&&l.length===a.length?l:void 0}}var st=new WeakMap;function Ut(e){let o=st.get(e);return o===void 0&&(o=zt(e.bytes,e.faceIndex),st.set(e,o)),o}var Bt=new Set(["COLR","CBDT","sbix"]),qt=512;function zt(e,o){let t=new DataView(e.buffer,e.byteOffset,e.byteLength);if(e.byteLength<12)return false;let n=0;if(lt(e,0)==="ttcf"){let i=t.getUint32(8);if(o<0||o>=i||12+4*o+4>e.byteLength||(n=t.getUint32(12+4*o),n+12>e.byteLength))return false}let r=Math.min(t.getUint16(n+4),qt);for(let i=0;i<r;i++){let s=n+12+i*16;if(s+4>e.byteLength)return false;if(Bt.has(lt(e,s)))return true}return false}function lt(e,o){return String.fromCharCode(e[o],e[o+1],e[o+2],e[o+3])}var jt=/\p{Emoji_Presentation}|️/u;function Ht(e){return jt.test(e)}function q(e,o){if(e.length<2)return e;let t=e.filter(Ut);if(t.length===0||t.length===e.length)return e;let n=e.filter(r=>!t.includes(r));return Ht(o)?[...t,...n]:[...n,...t]}var Xt=2048;function dt(e,o,t,n){if(!t.clusters.length||t.clusters.length>Xt)return null;let r=(f,h)=>{let{context:x,...F}=o,m={...F,text:h,environment:chunkUJL2GDIM_cjs.p({...o.environment,font:f})};return _(e,m,e.shape(m))},i=[],s=new Map;for(let f of [...t.clusters].sort((h,x)=>h.textStart-x.textStart)){let h=o.environment.font,x=o.text.slice(f.textStart,f.textEnd),F=i.at(-1);if(/^[\uFE0E\uFE0F]$/.test(x)&&F&&F.end===f.textStart){F.end=f.textEnd;continue}if(o.environment.script==="Hebr"&&/^\s+$/u.test(x)&&F&&F.font!==o.environment.font&&F.end===f.textStart){F.end=f.textEnd;continue}if(t.glyphs.slice(f.glyphStart,f.glyphEnd).some(E=>E.id===0)){let E=o.text.slice(f.textStart,f.textEnd+1),T=s.get(x)??q(n,E).find(A=>{try{return !r(A,x).glyphs.some(G=>G.id===0)}catch{return false}});if(!T)return null;s.set(x,T),h=T;}let m=i.at(-1);m&&m.font===h&&m.end===f.textStart?m.end=f.textEnd:i.push({start:f.textStart,end:f.textEnd,font:h});}let a=[],p=[],l=[],d=[],g=true,u=0,c=0,y=0,R=0,b=0;for(let f of o.environment.direction==="rtl"?i.reverse():i){let h=r(f.font,o.text.slice(f.start,f.end));if(h.glyphs.some(m=>m.id===0))return null;let x=a.length,F=l.length;for(let m of h.glyphs)a.push({...m,cluster:f.start+m.cluster,originX:chunkUJL2GDIM_cjs.n(u+m.originX),originY:chunkUJL2GDIM_cjs.n(c+m.originY)});if(h.exactAdvancesX===void 0)g=false;else for(let m of h.exactAdvancesX)d.push(m);for(let m of h.clusters)p.push({...m,textStart:f.start+m.textStart,textEnd:f.start+m.textEnd,glyphStart:x+m.glyphStart,glyphEnd:x+m.glyphEnd,fontSpan:F});h.glyphs.length&&l.push({font:f.font,glyphStart:x,glyphEnd:a.length,fallbackIndex:f.font===o.environment.font?null:n.indexOf(f.font)}),u+=h.glyphs.reduce((m,E)=>m+E.advanceX,0),c+=h.glyphs.reduce((m,E)=>m+E.advanceY,0),y=Math.max(y,h.metrics.ascent),R=Math.max(R,h.metrics.descent),b=Math.max(b,h.metrics.lineGap);}return chunkUJL2GDIM_cjs.s({...t,glyphs:a,clusters:p,fontSpans:l,exactAdvancesX:g&&d.length===a.length?d:void 0,metrics:{ascent:chunkUJL2GDIM_cjs.n(y),descent:chunkUJL2GDIM_cjs.n(R),lineGap:chunkUJL2GDIM_cjs.n(b)}},{...o.environment,fallbackOrder:n})}var Gt=new Map([["Beng",["bng2","beng"]],["Deva",["dev2","deva"]],["Gujr",["gjr2","gujr"]],["Guru",["gur2","guru"]],["Knda",["knd2","knda"]],["Mlym",["mlm2","mlym"]],["Orya",["ory2","orya"]],["Taml",["tml2","taml"]],["Telu",["tel2","telu"]],["Nkoo",["nko "]]]),Vt=512,ut=new WeakMap;function Wt(e,o){let t=new Set,n=new DataView(e.buffer,e.byteOffset,e.byteLength),r=c=>c+2<=n.byteLength?n.getUint16(c):-1,i=c=>c+4<=n.byteLength?n.getUint32(c):-1,s=c=>c+4<=n.byteLength?String.fromCharCode(n.getUint8(c),n.getUint8(c+1),n.getUint8(c+2),n.getUint8(c+3)):"",a=0;if(s(0)==="ttcf"){let c=i(8);if(c<0||o<0||o>=c||(a=i(12+o*4),a<0))return t}let p=r(a+4);if(p<0||p>1024)return t;let l=-1;for(let c=0;c<p;c+=1){let y=a+12+c*16;if(s(y)==="GSUB"){l=i(y+8);break}}if(l<0)return t;let d=r(l+4);if(d<=0)return t;let g=l+d,u=r(g);if(u<0)return t;for(let c=0;c<Math.min(u,Vt);c+=1){let y=s(g+2+c*6);y&&t.add(y);}return t}function Yt(e,o){let t=ut.get(e);return t||(t=Wt(e.bytes,e.faceIndex),ut.set(e,t)),(Gt.get(o)??[o.toLowerCase()]).some(r=>t.has(r))}function ct(e,o){let t=e.filter(n=>Yt(n,o));return t.length===0||t.length===e.length?e:[...t,...e.filter(n=>!t.includes(n))]}function J(e,o,t){if(!o.text.includes("\u2011"))return t;let n=new Set(t.glyphs.filter(i=>i.id===0).map(i=>i.cluster));if(!n.size)return t;let r=o.text.replace(/\u2011/g,(i,s)=>n.has(s)?"-":i);if(r===o.text)return t;try{let i=e.shape({...o,text:r});return chunkUJL2GDIM_cjs.s({...i,text:o.text},o.environment)}catch{return t}}function pt(e,o){if(o.length===0)return e;if(o.length>16)throw new RangeError("At most 16 glyph fallback faces are supported");let t=o.map(a=>e.fonts.resolve(a)).filter(a=>!(a instanceof chunkUJL2GDIM_cjs.d)),n={shape(a){return J(e.shaper,a,e.shaper.shape(a))}},r=new WeakMap,i={shape(a){let p=e.shaper.shape(a),l=r.get(p);if(l&&l.input.text===a.text&&l.input.fontSizeHalfPoints===a.fontSizeHalfPoints&&l.input.bidiLevel===a.bidiLevel&&l.input.context?.before===a.context?.before&&l.input.context?.after===a.context?.after&&l.input.environment===a.environment)return l.run;let d=s(a,J(e.shaper,a,p));return r.set(p,{input:a,run:d}),d}},s=(a,p)=>{let l=_(n,a,p);if(!l.glyphs.some(d=>d.id===0)||/^[\t\n\r\f]*$/.test(a.text))return l;if(/^(Latn|Cyrl|Grek|Hebr|Hani|Hira|Kana|Hang|Zyyy|Zinh)$/.test(a.environment.script)){let d=dt(n,a,l,t);if(d)return d}for(let d of ct(q(t,a.text),a.environment.script))if(!(d.hash===a.environment.font.hash&&d.faceIndex===a.environment.font.faceIndex))try{let g={...a,environment:chunkUJL2GDIM_cjs.p({...a.environment,font:d})},u=_(n,g,n.shape(g));if(!u.glyphs.some(c=>c.id===0))return u}catch{}return l};return {...e,shaper:i}}var Q=chunkUJL2GDIM_cjs.b;function ee(e){return typeof e.admittedFontFace=="function"}var $t=Object.freeze([{weight:400,style:"normal"},{weight:700,style:"normal"},{weight:400,style:"italic"},{weight:700,style:"italic"}]);function z(e){return Object.freeze({family:e.family,weight:e.weight,style:e.style})}var ft=new WeakMap;function j(e){let o=ft.get(e);return o||ft.set(e,o=Kt(e)),o}function Kt(e){let o=e.substitution;return Object.freeze({id:e.id,identity:e.identity,family:e.family,request:z(e.request),byteLength:e.byteLength,hash:e.hash,faceIndex:e.faceIndex,substitution:o?Object.freeze({requested:z(o.requested),resolved:z(o.resolved),...o.lineMetrics?{lineMetrics:Object.freeze({...o.lineMetrics})}:{}}):null})}function Zt(e){return Object.freeze({...j(e),bytes:chunkUJL2GDIM_cjs.i(e)})}function Jt(e,o){if(!e)return null;try{let t=e(o);return !t||t instanceof chunkUJL2GDIM_cjs.d?null:Zt(t)}catch{return null}}function mt(e){return o=>{if(e.status()!=="active")throw e.unavailable();return Jt(e.resolve(),o)}}function Qt(e){return Object.freeze(e.slice(0,Q).map(o=>Object.freeze({request:z(o.request),partName:o.partName,reason:o.reason})))}function te(e,o,t,n,r=[]){let i=new Map;for(let a of [...e,o]){let p=a.toLowerCase();i.has(p)||i.set(p,a);}let s=[...i.values()].map(a=>{let p=[];for(let l of $t){let d=n?.({family:a,...l});!d||d instanceof chunkUJL2GDIM_cjs.d||p.push(Object.freeze({...l,sourceFamily:d.family,via:d.substitution?"substitution":"direct",identity:d.identity,id:d.id,hash:d.hash,faceIndex:d.faceIndex,substitution:d.substitution}));}return Object.freeze({family:a,coverage:p.length===4?"complete":p.length>0?"partial":"none",faces:Object.freeze(p)})});return Object.freeze({requestedFamilies:Object.freeze([...e]),defaultFamily:o,families:Object.freeze(s),originFailures:Object.freeze([...t]),droppedEmbeddedFonts:Qt(r)})}function oe(e,o){if(o.onFontResolution){try{let t=o.onFontResolution(e);Promise.resolve(t).catch(n=>{console.warn("[fonts] font-resolution diagnostics callback failed",n);});}catch(t){console.warn("[fonts] font-resolution diagnostics callback failed",t);}return}for(let t of e.originFailures)console.warn("[fonts] a document export font origin failed and was skipped",t);for(let t of e.droppedEmbeddedFonts??[])console.warn("[fonts] a document embedded font face was dropped during export",t);}function ne(e,o,t=[]){let n=l=>l.trim().toLowerCase(),r=new Set([...e.requestedFamilies,e.defaultFamily].map(n)),i=new Set(t.map(l=>n(l.family))),s=l=>{if(!(l instanceof chunkLZDI4P6I_cjs.l))return true;let d=n(l.request.family);return r.has(d)||!i.has(d)},a=e.originFailures.some(({cause:l})=>l instanceof chunkLZDI4P6I_cjs.m?l.causes.length===0||l.causes.some(s):s(l));if(o.fontPolicy!=="strict"||!a&&e.families.every(l=>l.coverage==="complete"))return;let p=e.families.filter(l=>l.coverage!=="complete").map(l=>l.family).join(", ");throw new chunkJNTETUNZ_cjs.d("layoutFailed",`Strict font policy refused export${p?`; incomplete families: ${p}`:"; a font origin failed"}`)}function H(){return new Map}function re(e,o,t,n){if(t.trim().length===0)return null;let r={family:t,weight:n.bold?700:400,style:n.italic?"italic":"normal"},i=chunkUJL2GDIM_cjs.h(r),s=o.get(i);if(!s){try{s=e.fonts.resolve(r);}catch{return null}o.set(i,s);}return s instanceof chunkUJL2GDIM_cjs.d?null:s}function yt(e,o,t){let n=t.fontFamily??e.defaultFont.family;return re(e,o,n,t)}function ie(e){return typeof e.shapeLaidOutText=="function"}function ae(e){let o=H(),t=new WeakMap;return n=>{let r=chunkUJL2GDIM_cjs.ra(n.style,n.fontSlot),i=chunkUJL2GDIM_cjs.cc(n)?chunkUJL2GDIM_cjs.dc(n):chunkUJL2GDIM_cjs._(n.text,r);if(i.length===0)return null;let s=r.fontFamily??e.defaultFont.family,a=re(e,o,s,r);if(!a)return null;try{if(r.smallCaps&&!chunkTKR2MXX4_cjs.$(e.shaper,e.environment,a,r,t))return null;let p=chunkTKR2MXX4_cjs._(e.shaper,e.environment,a,r,i);return Object.freeze({run:p,font:j(p.fontSpans[0]?.font??a),...p.fontSpans.length>1?{fonts:Object.freeze(p.fontSpans.map(l=>j(l.font)))}:{},fixedPointScale:e.environment.fixedPointScale})}catch{return null}}}function ht(e){return o=>{if(e.status()!=="active")throw e.unavailable();return e.shaping()?.shapeLaidOutText(o)??null}}var N=new Map,X=new WeakMap,se=0,M,le=32,gt=chunkUJL2GDIM_cjs.c;function xt(){if(M)return M;let e=(async()=>(await chunkTKR2MXX4_cjs.d(),chunkTKR2MXX4_cjs.h(chunkTKR2MXX4_cjs.i)))();return M=e,e.catch(()=>{M===e&&(M=void 0);}),e}function Ft(e){let o=H();return chunkTKR2MXX4_cjs.ba(e,{resolveFont(t){return yt(e,o,t)},fallback:chunkUJL2GDIM_cjs.ea()})}async function Et(e,o,t=[],n=false){if(!chunkTKR2MXX4_cjs.k(e))throw new TypeError("Session exporter shaping requires a prepared font handle");let r=await xt(),i=pt(await chunkTKR2MXX4_cjs.r(e,r,chunkTKR2MXX4_cjs.i,o,n),t);return Object.freeze({createMeasurer:()=>Ft(i),resolveFont:s=>i.fonts.resolve(s),shapeLaidOutText:ae(i),producer:["node-export-session",JSON.stringify(t),e.fingerprint,i.operation.shapingHash,`producer:${i.operation.producerVersion}`,`fallback:${chunkUJL2GDIM_cjs.da}`].join("|"),extensionFingerprint:e.fingerprint})}function eo(e,o){if(!chunkTKR2MXX4_cjs.k(e))return Promise.reject(new TypeError("Shared exporter shaping requires a prepared font handle"));let t=X.get(e);if(t)return t;let n=chunkTKR2MXX4_cjs.m(e),r=N.get(n);if(!r){if(N.size>=le)return Promise.reject(new RangeError(`Shared exporter shaping is limited to ${le} process-wide configurations`));r=(async()=>{let p=chunkTKR2MXX4_cjs.l(e).sources.reduce((d,g)=>d+(g.availability==="forbidden"?0:g.bytes.byteLength),0);if(se+p>gt)throw new RangeError(`Shared exporter shaping font bytes are limited to ${gt} process-wide`);se+=p;let l;try{let d=await xt();l=await chunkTKR2MXX4_cjs.r(e,d,chunkTKR2MXX4_cjs.i,o);}catch(d){throw se-=p,d}return Object.freeze({createMeasurer:()=>Ft(l),shapeLaidOutText:ae(l),shapingHash:l.operation.shapingHash,producerVersion:l.operation.producerVersion})})(),N.set(n,r),r.catch(()=>{N.get(n)===r&&N.delete(n);});}let i=e.fingerprint,s=r.then(a=>Object.freeze({createMeasurer:a.createMeasurer,shapeLaidOutText:a.shapeLaidOutText,producer:["node-export",i,a.shapingHash,`producer:${a.producerVersion}`,`fallback:${chunkUJL2GDIM_cjs.da}`].join("|"),extensionFingerprint:i}));return X.set(e,s),s.catch(()=>{X.get(e)===s&&X.delete(e);}),s}var to="http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable";function oo(e){let o=e.currentPackage(),t=(o.relationships.get(o.mainDocumentPart)??[]).find(r=>r.type===to),n;if(t){let r=chunkANZ44KQT_cjs.E(t);r.mode==="Internal"&&r.target.ok&&(n=o.parts.get(r.target.partName));}return n??=o.parts.get("/word/fontTable.xml"),chunkANZ44KQT_cjs.Se(o,n)}function bt(e,o){let t=oo(e);if(t.length!==0)return chunkLZDI4P6I_cjs.j(n=>{let r=new Set((n.resolvedFaces??[]).map(s=>chunkUJL2GDIM_cjs.h(s))),i=chunkLZDI4P6I_cjs.r(t,{maxFontBytes:chunkUJL2GDIM_cjs.a,aggregateBudget:no(n),shadowedRequests:r});if(o)for(let s of i.dropped){if(o.dropped.length>=Q)break;o.dropped.push(s);}return {sources:i.sources}})}function no(e){let o=e.committedSourceBytes;return o===void 0||!Number.isSafeInteger(o)||o<=0?chunkUJL2GDIM_cjs.c:Math.max(0,chunkUJL2GDIM_cjs.c-o)}function ro(e){return ee(e)&&ie(e)}var w=0,Rt=Symbol("font-resolution-timeout");function io(e){let o=0,t=false;return e?.(w),{reserve:r=>{if(t)throw new Error("Document font-byte lease is already released");if(w+r>chunkUJL2GDIM_cjs.c)throw new chunkJNTETUNZ_cjs.d("layoutFailed",`Active document export font bytes are limited to ${chunkUJL2GDIM_cjs.c}; requested ${r} bytes with ${w} bytes already active`);w+=r,o+=r,e?.(w);let i=false;return ()=>{i||t||(i=true,w-=r,o-=r,e?.(w));}},release:()=>{t||(t=true,w-=o,o=0,e?.(w));}}}function ue(e,o){return e.attributes.find(t=>t.localName===o)?.value}function ao(e,o){return e.attributes.find(t=>t.localName===o&&(t.namespaceUri===chunkANZ44KQT_cjs.fa||t.namespaceUri===""))?.value}async function so(e,o){if(o.reuseAcrossRevisions===true)throw new TypeError("reuseAcrossRevisions requires a live view or caller-supplied measurer; document-aware byte sessions are immutable");if(o.signal?.aborted)return {ok:false,reason:"aborted"};let t=chunkSUN62YU6_cjs.ab(e);if(!t.ok)return t;let{fonts:n,lastResortFonts:r,fontResolutionTimeoutMs:i,fontPolicy:s,onFontResolution:a,glyphFallbacks:p,documentLigatures:l,...d}=o,g=Array.isArray(n)?n:[n],u=r===void 0?[]:Array.isArray(r)?r:[r],c,y;try{y=await lo(t.view,g,{signal:o.signal,timeoutMs:i??o.resourceTimeoutMs,fontPolicy:s,glyphFallbacks:p,documentLigatures:l,lastResortFonts:u,onFontResolution:E=>(c=E,a?.(E))});}catch(E){if(E instanceof chunkJNTETUNZ_cjs.d&&E.code==="aborted")return {ok:false,reason:"aborted"};throw E}if(!c)throw y?.dispose(),new chunkJNTETUNZ_cjs.d("layoutFailed","Document font resolution completed without publishing its evidence");let R;try{R=chunkJNTETUNZ_cjs.e(t.view,{...d,reuseAcrossRevisions:!1,...y?{measurer:y.createMeasurer(),producer:o.producer??y.producer}:o.producer?{producer:o.producer}:{}});}catch(E){throw y?.dispose(),E}if(!R.ok)return y?.dispose(),R;let b=R.session,f=y,h="active",x=()=>h==="aborted"?new chunkJNTETUNZ_cjs.d("aborted","Export resource settlement was aborted"):new chunkJNTETUNZ_cjs.d("disposed","Export session has been disposed"),F=E=>{if(h==="active"){h=E,o.signal?.removeEventListener("abort",m);try{b.dispose();}finally{f?.dispose(),f=void 0;}}},m=()=>F("aborted");return o.signal?.addEventListener("abort",m,{once:true}),o.signal?.aborted&&m(),{ok:true,session:Object.freeze({fontResolution:c,layout:()=>h==="active"?b.layout():Promise.reject(x()),layoutFor:E=>h==="active"?b.layoutFor(E):Promise.reject(x()),validatedImageBytes:E=>h==="active"?b.validatedImageBytes(E):null,admittedFontFace:mt({status:()=>h,unavailable:x,resolve:()=>f?.resolveFont}),shapeLaidOutText:ht({status:()=>h,unavailable:x,shaping:()=>f}),dispose:()=>F("disposed")})}}async function lo(e,o,t={}){if((t.glyphFallbacks?.length??0)>16)throw new RangeError("At most 16 glyph fallback faces are supported");let n=uo(t.timeoutMs),r=new AbortController,i=()=>r.abort(t.signal?.reason);t.signal?.addEventListener("abort",i,{once:true}),t.signal?.aborted&&i();let s=setTimeout(()=>r.abort(Rt),n);try{de(r.signal);let a=(async()=>{let p=io(t.onActiveFontBytesChange),l=!1;try{let d=po(e).slice(0,chunkLZDI4P6I_cjs.c),g=[],u={dropped:[]},c=bt(e,u),y=[...o,...c?[c]:[],...t.lastResortFonts??[]],R=await chunkLZDI4P6I_cjs.o(y,{families:[...new Set([...(t.glyphFallbacks??[]).map(x=>x.family),...d])].slice(0,chunkLZDI4P6I_cjs.c),defaultFamily:chunkLZDI4P6I_cjs.d.family,signal:r.signal},{onOriginFailure:x=>g.push(x),reserveOwnedBytes:p.reserve,maxExecutionFontBytes:chunkTKR2MXX4_cjs.i.maxFontBytes});de(r.signal);let b=chunkLZDI4P6I_cjs.f(R??{});if(b.sources.length===0){let x=te(d,b.defaultFont.family,g,void 0,u.dropped);oe(x,t),ne(x,t,t.glyphFallbacks);return}let f=await Et(chunkTKR2MXX4_cjs.o(b),void 0,t.glyphFallbacks,t.documentLigatures);de(r.signal);let h=te(d,b.defaultFont.family,g,f.resolveFont,u.dropped);return oe(h,t),ne(h,t,t.glyphFallbacks),l=!0,Object.freeze({...f,dispose:p.release})}finally{l||p.release();}})();return await Promise.race([a,co(r.signal)])}finally{clearTimeout(s),t.signal?.removeEventListener("abort",i);}}function uo(e){if(e===void 0)return 6e4;if(!Number.isFinite(e)||e<=0)throw new RangeError("timeoutMs must be a positive finite number");return Math.max(1,e)}function co(e){return new Promise((o,t)=>{let n=()=>{t(St(e));};e.aborted?n():e.addEventListener("abort",n,{once:true});})}function St(e){let o=e.reason===Rt;return new chunkJNTETUNZ_cjs.d(o?"timedOut":"aborted",o?"Font resolution timed out":"Font resolution was aborted",o?void 0:{cause:e.reason})}function de(e){if(e.aborted)throw St(e)}function po(e){let o=[e.part().root],t=[],n=[],r=new Set([e.part().name]),i=(d,g)=>{!g||r.has(g.name)||(r.add(g.name),d.push(g.root));};for(let d of e.headerFooterPartsBySection()){for(let g of d.headers.values())i(t,g);for(let g of d.footers.values())i(t,g);}for(let d of ["footnote","endnote"])n.push(...fo(e,d));let s=e.documentThemeFonts(),a={...s,major:s.major,minor:s.minor,majorEastAsia:s.majorEastAsia??null,minorEastAsia:s.minorEastAsia??null},p=new Map,l=(d,g)=>{let u=chunkAGKIHLWQ_cjs.d(d,e.stylesRoot(),a,yo(d,g)),c=chunkLZDI4P6I_cjs.y(d,e.numberingRoot(),e.stylesRoot(),a);for(let y of [...u.direct,...xo(d),...c,...chunkLZDI4P6I_cjs.v(d,e.stylesRoot(),a),...u.inherited]){let R=y.toLowerCase();p.has(R)||p.set(R,y);}};return l(o,"body"),l(t,"furniture"),l(n,"note"),[...p.values()]}function fo(e,o){let t=chunkANZ44KQT_cjs.Ig(e.currentPackage(),o);if(!t)return [];let n=new Set(chunkANZ44KQT_cjs.Jg(e.part()).filter(i=>i.noteKind===o).map(i=>i.noteId)),r=[];for(let i of t.root.children){if(i.kind==="textValue")continue;let s=chunkANZ44KQT_cjs.kc(i),a=chunkANZ44KQT_cjs.jc(i);(s==="separator"||s==="continuationSeparator"||a!==null&&n.has(a))&&r.push(i);}return r}var mo="http://schemas.openxmlformats.org/officeDocument/2006/math";function yo(e,o){let t=new Set;for(let n of e){let r=[],i=[{node:n,context:o}];for(;i.length>0;){let{node:s,context:a}=i.pop();s.namespaceUri===chunkANZ44KQT_cjs.fa&&s.localName==="p"&&r.push({paragraph:s,context:a});let p=s.namespaceUri===chunkANZ44KQT_cjs.fa&&s.localName==="txbxContent"&&(a==="body"||a==="note")?"detached":a;for(let l=s.children.length-1;l>=0;l-=1){let d=s.children[l];d.kind!=="textValue"&&i.push({node:d,context:p});}}for(let s of r)ho(s.paragraph,t,s.context);}return t}function ho(e,o,t){let n=chunkUJL2GDIM_cjs.ib(),r=null,i=null,s="",a=false,p=false,l=false,d=0,g=[];for(let u=e.children.length-1;u>=0;u-=1){let c=e.children[u];c.kind!=="textValue"&&g.push({node:c,runId:null,visibility:D,containerDepth:0});}for(;g.length>0;){let{node:u,runId:c,visibility:y,containerDepth:R}=g.pop();if(R>=chunkANZ44KQT_cjs.oa||u.namespaceUri===chunkANZ44KQT_cjs.fa&&u.localName==="p")continue;let b=u.namespaceUri===chunkANZ44KQT_cjs.fa&&u.localName==="r"?u.id:c;if(u.namespaceUri===chunkANZ44KQT_cjs.fa&&u.localName==="fldSimple"){let f=ue(u,"instr")??"";chunkUJL2GDIM_cjs.dd(f,{allowPageFields:t==="body"||t==="furniture",allowRefFields:t==="body"||t==="note",allowPageRef:t==="body",allowAutonum:t==="body"||t==="note"})&&go(u)!==D&&o.add(u.id);}if(u.namespaceUri===chunkANZ44KQT_cjs.fa&&u.localName==="fldChar"){let f=ue(u,"fldCharType");if(f==="begin")chunkUJL2GDIM_cjs.lb(n),n.nesting===1&&(r=b,i=null,s="",a=false,p=false,l=chunkANZ44KQT_cjs.ff(u),d=0);else if(f==="separate"){let h=n.nesting===1;if(chunkUJL2GDIM_cjs.nb(n),h){let x=chunkUJL2GDIM_cjs.kb(n);s=x.instruction,a=x.overflow||n.nestingOverflow,i=b,p=true;}}else if(f==="end"){if(n.nesting===1){if(n.phase==="instruction"){let x=chunkUJL2GDIM_cjs.kb(n);s=x.instruction,a=x.overflow||n.nestingOverflow;}if(!a&&chunkUJL2GDIM_cjs.cd(s,{hasSeparate:p,hasLegacyFormData:l,allowPageFields:t==="body"||t==="furniture",allowRefFields:t==="body"||t==="note",allowPageRef:t==="body",allowAutonum:t==="body"||t==="note"})&&d!==D){let x=i??r;x&&o.add(x);}}chunkUJL2GDIM_cjs.ob(n);}continue}if(u.namespaceUri===chunkANZ44KQT_cjs.fa&&(u.localName==="instrText"||u.localName==="delInstrText")){chunkUJL2GDIM_cjs.mb(n,Lt(u),u.localName==="delInstrText");continue}n.nesting>0&&chunkUJL2GDIM_cjs.pb(n)&&u.namespaceUri===chunkANZ44KQT_cjs.fa&&Ot(u)&&(d|=y);for(let f=u.children.length-1;f>=0;f-=1){let h=u.children[f];h.kind!=="textValue"&&g.push({node:h,runId:b,visibility:y&At(u),containerDepth:chunkANZ44KQT_cjs.pa(u,R)});}}chunkUJL2GDIM_cjs.jb(n);}function Ot(e){return e.localName==="t"||e.localName==="delText"?Lt(e).length>0:e.localName==="sym"||e.localName==="tab"||e.localName==="br"}var ce=1,vt=2,wt=4,D=ce|vt|wt;function go(e){let o=[];for(let n of e.children)n.kind!=="textValue"&&o.push({node:n,visibility:D});let t=0;for(;o.length>0;){let{node:n,visibility:r}=o.pop();if(!(n.namespaceUri===chunkANZ44KQT_cjs.fa&&n.localName==="p")){if(n.namespaceUri===chunkANZ44KQT_cjs.fa&&Ot(n)&&(t|=r,t===D))return t;for(let i of n.children)i.kind!=="textValue"&&o.push({node:i,visibility:r&At(n)});}}return t}function At(e){return e.namespaceUri!==chunkANZ44KQT_cjs.fa?D:e.localName==="ins"||e.localName==="moveTo"?ce|vt:e.localName==="del"||e.localName==="moveFrom"?ce|wt:D}function xo(e){let o=new Map,t=n=>{let r=chunkAGKIHLWQ_cjs.a(n??void 0);if(r===null)return;let i=r.toLowerCase();o.has(i)||o.set(i,r);};for(let n of e){let r=[n];for(;r.length>0;){let i=r.pop();if(i.namespaceUri===mo&&t(chunkUJL2GDIM_cjs.ac),i.namespaceUri===chunkANZ44KQT_cjs.fa&&i.localName==="sym"&&t(chunkAGKIHLWQ_cjs.b(ao(i,"font"))),i.namespaceUri===chunkANZ44KQT_cjs.fa&&i.localName==="fldSimple"){let s=ue(i,"instr");t(chunkUJL2GDIM_cjs.Zc(s??"")?.font??null);}if(i.namespaceUri===chunkANZ44KQT_cjs.fa&&i.localName==="p")for(let s of chunkLZDI4P6I_cjs.x(i))t(s);for(let s=i.children.length-1;s>=0;s-=1){let a=i.children[s];a.kind!=="textValue"&&r.push(a);}}}return [...o.values()]}function Lt(e){let o="",t=[...e.children].reverse();for(;t.length>0&&o.length<=256;){let n=t.pop();if(n.kind==="textValue")o+=n.value;else for(let r=n.children.length-1;r>=0;r-=1)t.push(n.children[r]);}return o}var Dt="FILE_TOO_LARGE",Tt=8;function Fo(e){return typeof e=="object"&&e!==null}function kt(e){if(!(!Fo(e)||typeof e.code!="string"))return e.code}function It(e){return e===""||e.toLowerCase()==="localhost"}function Eo(e){try{let o=decodeURIComponent(e);return o.includes("\0")?null:o}catch{return null}}function _t(e){let o=Eo(e);if(o===null)return null;let t=[];for(let n of o.split(/[/\\]/))if(!(n===""||n===".")){if(n===".."){if(t.length===0)return null;t.pop();continue}t.push(n);}return `/${t.join("/")}`}function Nt(e){let o=_t(e);return o===null?null:o.endsWith("/")?o:`${o}/`}function bo(e){return e==="/"||/^\/[A-Za-z]:\/$/.test(e)}function Ro(e){let o;try{o=typeof e=="string"?new URL(e):new URL("href"in e?e.href:String(e));}catch{throw new TypeError("trustedRoot must be an absolute file: URL")}if(o.protocol!=="file:")throw new TypeError("trustedRoot must use the file: protocol");if(o.username!==""||o.password!=="")throw new TypeError("trustedRoot must not include credentials");if(!It(o.host))throw new TypeError("trustedRoot must be a local file: URL");let t=Nt(o.pathname);if(t===null||bo(t))throw new TypeError("trustedRoot must be a directory inside the filesystem");let n=new URL("file:///");return n.pathname=t,n}function So(e){if(typeof e=="string")return [e];if(typeof e=="object"&&e!==null&&"href"in e)return [e];if(Array.isArray(e))return e;throw new TypeError("trustedRoot must be an absolute file: URL")}function Oo(e){let o=So(e);if(o.length===0)throw new TypeError("trustedRoot must name at least one directory");if(o.length>Tt)throw new TypeError(`trustedRoot must not exceed ${Tt} directories`);return o.map(Ro)}function vo(e){if(!Number.isSafeInteger(e)||e<=0)throw new TypeError("maxBytes must be a positive safe integer");if(e>chunkUJL2GDIM_cjs.a)throw new TypeError(`maxBytes must not exceed ${chunkUJL2GDIM_cjs.a}`);return e}function wo(e,o){if(e.protocol!=="file:"||e.username!==""||e.password!==""||!It(e.host))return null;let t=_t(e.pathname);if(t===null)return null;for(let n of o){let r=Nt(n.pathname);if(r===null||!t.startsWith(r)||t.length<=r.length)continue;let i=new URL("file:///");return i.pathname=t,i}return null}function Ao(e){return typeof e=="string"?new URL(e):"href"in e&&typeof e.href=="string"?new URL(e.href):new URL("url"in e?e.url:String(e))}function Lo(e,o,t){let n=t.relative(t.resolve(e),t.resolve(o));return n!==""&&!n.startsWith("..")&&!t.isAbsolute(n)}function Pt(e,o,t){return e.some(n=>Lo(n,o,t))}async function To(e,o){let t=[];for(let n of e)try{t.push(await o(n));}catch(r){if(kt(r)==="ENOENT")continue;throw r}return t}function Po(e){return async(o,{signal:t,maxBytes:n})=>{if(t?.aborted)throw t.reason;let[{open:r,realpath:i},{constants:s},{fileURLToPath:a},p]=await Promise.all([import('fs/promises'),import('fs'),import('url'),import('path')]),l=e.map(y=>p.resolve(a(y.href))),d=p.resolve(a(typeof o=="string"?o:o.href));if(!Pt(l,d,p))throw Object.assign(new Error("packaged file is outside trustedRoot"),{code:"ENOENT"});let g=typeof s.O_NOFOLLOW=="number"?s.O_RDONLY|s.O_NOFOLLOW:"r",u=await r(d,g),c=()=>{u.close();};t?.addEventListener("abort",c,{once:true});try{if(t?.aborted)throw t.reason;let y=await i(d);if(!Pt(await To(l,i),y,p))throw Object.assign(new Error("packaged file is outside trustedRoot"),{code:"ENOENT"});let R=(await u.stat()).size;if(!Number.isSafeInteger(R)||R<0||R>n)throw Object.assign(new Error("packaged file exceeds maxBytes"),{code:Dt});let b=new Uint8Array(R),f=0;for(;f<b.byteLength;){if(t?.aborted)throw t.reason;let{bytesRead:h}=await u.read(b,f,b.byteLength-f,f);if(h===0)break;f+=h;}if(t?.aborted)throw t.reason;return f===b.byteLength?b:b.slice(0,f)}catch(y){throw t?.aborted?t.reason:y}finally{t?.removeEventListener("abort",c),await u.close().catch(()=>{});}}}function Do(e){if(e===null||typeof e!="object")throw new TypeError("createPackagedFileFetch requires trustedRoot and maxBytes");if(e.trustedRoot===void 0||e.maxBytes===void 0)throw new TypeError("createPackagedFileFetch requires trustedRoot and maxBytes");let o=Oo(e.trustedRoot),t=vo(e.maxBytes),n=e.read??Po(o),r=e.networkFetch??fetch;return(async(i,s)=>{let a=s?.signal;if(a?.aborted)throw a.reason;let p=Ao(i);if(p.protocol!=="file:")return r(p,s);let l=wo(p,o);if(!l)return new Response(null,{status:404});let d=a?new AbortController:void 0,g=()=>d?.abort(a?.reason);a?.addEventListener("abort",g,{once:true});let u;try{if(u=await n(l,{maxBytes:t,...d?{signal:d.signal}:{}}),a?.aborted)throw a.reason;if(u.byteLength>t)return new Response(null,{status:413})}catch(c){if(a?.aborted)throw a.reason;if(d?.signal.aborted)throw d.signal.reason??c;if(c instanceof DOMException&&c.name==="AbortError"||c instanceof Error&&c.name==="AbortError")throw c;let y=kt(c);if(y===Dt)return new Response(null,{status:413});if(y==="ENOENT"||y==="ENOTDIR"||y==="ELOOP")return new Response(null,{status:404});throw c}finally{a?.removeEventListener("abort",g);}return new Response(u,{status:200})})}
|
|
2
|
-
Object.defineProperty(exports,"ExportResourceError",{enumerable:true,get:function(){return
|
|
1
|
+
'use strict';var chunkK5U2PLDP_cjs=require('./chunk-K5U2PLDP.cjs'),chunk6APGXLBB_cjs=require('./chunk-6APGXLBB.cjs'),chunk6AWEKBLB_cjs=require('./chunk-6AWEKBLB.cjs'),chunk4GBTELJV_cjs=require('./chunk-4GBTELJV.cjs'),chunkQMLCVPCD_cjs=require('./chunk-QMLCVPCD.cjs');require('./chunk-O2AL2HSJ.cjs');var chunkJGNVNT2A_cjs=require('./chunk-JGNVNT2A.cjs'),chunkFIJZIQXA_cjs=require('./chunk-FIJZIQXA.cjs');function _(e,o,t){if(o.environment.features.smcp!==1||!/\p{Ll}/u.test(o.text))return t;let n={...o,environment:{...o.environment,features:{...o.environment.features,smcp:0}}},r=e.shape(n);if(t.glyphs.length!==r.glyphs.length||t.glyphs.some((u,c)=>u.id!==r.glyphs[c]?.id))return t;let i=[],s=0;for(let u of o.text){let c=u.toUpperCase()!==u,y=i.at(-1);y&&(y.lower===c||/\p{M}/u.test(u))?y.text+=u:i.push({text:u,start:s,lower:c}),s+=u.length;}let a=[],p=[],l=[],d=true,g=0;for(let u of o.environment.direction==="rtl"?i.reverse():i){let c=u.lower?.8:1,y=[],b=[],R="",f=u.start;for(let x of u.text){let m=u.lower?x.toUpperCase():x;for(let E=0;E<m.length;E++)y.push(f),b.push(f+x.length);R+=m,f+=x.length;}let h=e.shape({...n,text:R}),F=a.length;for(let[x,m]of h.glyphs.entries()){let E=h.exactAdvancesX?.[x];E===void 0?d=false:l.push(E*c),a.push({...m,cluster:y[m.cluster]??u.start,originX:chunk4GBTELJV_cjs.n(g+Math.round(m.originX*c)),originY:chunk4GBTELJV_cjs.n(Math.round(m.originY*c)),offsetX:chunk4GBTELJV_cjs.n(Math.round(m.offsetX*c)),offsetY:chunk4GBTELJV_cjs.n(Math.round(m.offsetY*c)),advanceX:chunk4GBTELJV_cjs.n(Math.round(m.advanceX*c)),advanceY:chunk4GBTELJV_cjs.n(Math.round(m.advanceY*c)),drawScale:c});}for(let x of h.clusters){let m=y[x.textStart]??u.start,E=b[x.textEnd-1]??f,L=chunk4GBTELJV_cjs.n(Math.round(x.advance*c)),A=p.at(-1);A&&A.textStart===m&&A.textEnd===E?p[p.length-1]={...A,glyphEnd:F+x.glyphEnd,advance:chunk4GBTELJV_cjs.n(A.advance+L),caretEdges:[chunk4GBTELJV_cjs.n(0),chunk4GBTELJV_cjs.n(A.advance+L)]}:p.push({...x,textStart:m,textEnd:E,glyphStart:F+x.glyphStart,glyphEnd:F+x.glyphEnd,advance:L,caretEdges:x.caretEdges.map(V=>chunk4GBTELJV_cjs.n(Math.round(V*c))),fontSpan:0});}g+=h.glyphs.reduce((x,m)=>x+Math.round(m.advanceX*c),0);}return {...t,glyphs:a,clusters:p,fontSpans:[{...t.fontSpans[0],glyphStart:0,glyphEnd:a.length}],exactAdvancesX:d&&l.length===a.length?l:void 0}}var ut=new WeakMap;function zt(e){let o=ut.get(e);return o===void 0&&(o=Xt(e.bytes,e.faceIndex),ut.set(e,o)),o}var jt=new Set(["COLR","CBDT","sbix"]),Ht=512;function Xt(e,o){let t=new DataView(e.buffer,e.byteOffset,e.byteLength);if(e.byteLength<12)return false;let n=0;if(ct(e,0)==="ttcf"){let i=t.getUint32(8);if(o<0||o>=i||12+4*o+4>e.byteLength||(n=t.getUint32(12+4*o),n+12>e.byteLength))return false}let r=Math.min(t.getUint16(n+4),Ht);for(let i=0;i<r;i++){let s=n+12+i*16;if(s+4>e.byteLength)return false;if(jt.has(ct(e,s)))return true}return false}function ct(e,o){return String.fromCharCode(e[o],e[o+1],e[o+2],e[o+3])}var Gt=/\p{Emoji_Presentation}|️/u;function Vt(e){return Gt.test(e)}function q(e,o){if(e.length<2)return e;let t=e.filter(zt);if(t.length===0||t.length===e.length)return e;let n=e.filter(r=>!t.includes(r));return Vt(o)?[...t,...n]:[...n,...t]}var Wt=2048;function pt(e,o,t,n){if(!t.clusters.length||t.clusters.length>Wt)return null;let r=(f,h)=>{let{context:F,...x}=o,m={...x,text:h,environment:chunk4GBTELJV_cjs.p({...o.environment,font:f})};return _(e,m,e.shape(m))},i=[],s=new Map;for(let f of [...t.clusters].sort((h,F)=>h.textStart-F.textStart)){let h=o.environment.font,F=o.text.slice(f.textStart,f.textEnd),x=i.at(-1);if(/^[\uFE0E\uFE0F]$/.test(F)&&x&&x.end===f.textStart){x.end=f.textEnd;continue}if(o.environment.script==="Hebr"&&/^\s+$/u.test(F)&&x&&x.font!==o.environment.font&&x.end===f.textStart){x.end=f.textEnd;continue}if(t.glyphs.slice(f.glyphStart,f.glyphEnd).some(E=>E.id===0)){let E=o.text.slice(f.textStart,f.textEnd+1),L=s.get(F)??q(n,E).find(A=>{try{return !r(A,F).glyphs.some(V=>V.id===0)}catch{return false}});if(!L)return null;s.set(F,L),h=L;}let m=i.at(-1);m&&m.font===h&&m.end===f.textStart?m.end=f.textEnd:i.push({start:f.textStart,end:f.textEnd,font:h});}let a=[],p=[],l=[],d=[],g=true,u=0,c=0,y=0,b=0,R=0;for(let f of o.environment.direction==="rtl"?i.reverse():i){let h=r(f.font,o.text.slice(f.start,f.end));if(h.glyphs.some(m=>m.id===0))return null;let F=a.length,x=l.length;for(let m of h.glyphs)a.push({...m,cluster:f.start+m.cluster,originX:chunk4GBTELJV_cjs.n(u+m.originX),originY:chunk4GBTELJV_cjs.n(c+m.originY)});if(h.exactAdvancesX===void 0)g=false;else for(let m of h.exactAdvancesX)d.push(m);for(let m of h.clusters)p.push({...m,textStart:f.start+m.textStart,textEnd:f.start+m.textEnd,glyphStart:F+m.glyphStart,glyphEnd:F+m.glyphEnd,fontSpan:x});h.glyphs.length&&l.push({font:f.font,glyphStart:F,glyphEnd:a.length,fallbackIndex:f.font===o.environment.font?null:n.indexOf(f.font)}),u+=h.glyphs.reduce((m,E)=>m+E.advanceX,0),c+=h.glyphs.reduce((m,E)=>m+E.advanceY,0),y=Math.max(y,h.metrics.ascent),b=Math.max(b,h.metrics.descent),R=Math.max(R,h.metrics.lineGap);}return chunk4GBTELJV_cjs.s({...t,glyphs:a,clusters:p,fontSpans:l,exactAdvancesX:g&&d.length===a.length?d:void 0,metrics:{ascent:chunk4GBTELJV_cjs.n(y),descent:chunk4GBTELJV_cjs.n(b),lineGap:chunk4GBTELJV_cjs.n(R)}},{...o.environment,fallbackOrder:n})}var Yt=new Map([["Beng",["bng2","beng"]],["Deva",["dev2","deva"]],["Gujr",["gjr2","gujr"]],["Guru",["gur2","guru"]],["Knda",["knd2","knda"]],["Mlym",["mlm2","mlym"]],["Orya",["ory2","orya"]],["Taml",["tml2","taml"]],["Telu",["tel2","telu"]],["Nkoo",["nko "]]]),$t=512,ft=new WeakMap;function Kt(e,o){let t=new Set,n=new DataView(e.buffer,e.byteOffset,e.byteLength),r=c=>c+2<=n.byteLength?n.getUint16(c):-1,i=c=>c+4<=n.byteLength?n.getUint32(c):-1,s=c=>c+4<=n.byteLength?String.fromCharCode(n.getUint8(c),n.getUint8(c+1),n.getUint8(c+2),n.getUint8(c+3)):"",a=0;if(s(0)==="ttcf"){let c=i(8);if(c<0||o<0||o>=c||(a=i(12+o*4),a<0))return t}let p=r(a+4);if(p<0||p>1024)return t;let l=-1;for(let c=0;c<p;c+=1){let y=a+12+c*16;if(s(y)==="GSUB"){l=i(y+8);break}}if(l<0)return t;let d=r(l+4);if(d<=0)return t;let g=l+d,u=r(g);if(u<0)return t;for(let c=0;c<Math.min(u,$t);c+=1){let y=s(g+2+c*6);y&&t.add(y);}return t}function Zt(e,o){let t=ft.get(e);return t||(t=Kt(e.bytes,e.faceIndex),ft.set(e,t)),(Yt.get(o)??[o.toLowerCase()]).some(r=>t.has(r))}function mt(e,o){let t=e.filter(n=>Zt(n,o));return t.length===0||t.length===e.length?e:[...t,...e.filter(n=>!t.includes(n))]}function Q(e,o,t){if(!o.text.includes("\u2011"))return t;let n=new Set(t.glyphs.filter(i=>i.id===0).map(i=>i.cluster));if(!n.size)return t;let r=o.text.replace(/\u2011/g,(i,s)=>n.has(s)?"-":i);if(r===o.text)return t;try{let i=e.shape({...o,text:r});return chunk4GBTELJV_cjs.s({...i,text:o.text},o.environment)}catch{return t}}function yt(e,o){if(o.length===0)return e;if(o.length>16)throw new RangeError("At most 16 glyph fallback faces are supported");let t=o.map(a=>e.fonts.resolve(a)).filter(a=>!(a instanceof chunk4GBTELJV_cjs.d)),n={shape(a){return Q(e.shaper,a,e.shaper.shape(a))}},r=new WeakMap,i={shape(a){let p=e.shaper.shape(a),l=r.get(p);if(l&&l.input.text===a.text&&l.input.fontSizeHalfPoints===a.fontSizeHalfPoints&&l.input.bidiLevel===a.bidiLevel&&l.input.context?.before===a.context?.before&&l.input.context?.after===a.context?.after&&l.input.environment===a.environment)return l.run;let d=s(a,Q(e.shaper,a,p));return r.set(p,{input:a,run:d}),d}},s=(a,p)=>{let l=_(n,a,p);if(!l.glyphs.some(d=>d.id===0)||/^[\t\n\r\f]*$/.test(a.text))return l;if(/^(Latn|Cyrl|Grek|Hebr|Hani|Hira|Kana|Hang|Zyyy|Zinh)$/.test(a.environment.script)){let d=pt(n,a,l,t);if(d)return d}for(let d of mt(q(t,a.text),a.environment.script))if(!(d.hash===a.environment.font.hash&&d.faceIndex===a.environment.font.faceIndex))try{let g={...a,environment:chunk4GBTELJV_cjs.p({...a.environment,font:d})},u=_(n,g,n.shape(g));if(!u.glyphs.some(c=>c.id===0))return u}catch{}return l};return {...e,shaper:i}}var ee=chunk4GBTELJV_cjs.b;function te(e){return typeof e.admittedFontFace=="function"}var Jt=Object.freeze([{weight:400,style:"normal"},{weight:700,style:"normal"},{weight:400,style:"italic"},{weight:700,style:"italic"}]);function z(e){return Object.freeze({family:e.family,weight:e.weight,style:e.style})}var ht=new WeakMap;function j(e){let o=ht.get(e);return o||ht.set(e,o=Qt(e)),o}function Qt(e){let o=e.substitution;return Object.freeze({id:e.id,identity:e.identity,family:e.family,request:z(e.request),byteLength:e.byteLength,hash:e.hash,faceIndex:e.faceIndex,substitution:o?Object.freeze({requested:z(o.requested),resolved:z(o.resolved),...o.lineMetrics?{lineMetrics:Object.freeze({...o.lineMetrics})}:{}}):null})}function eo(e){return Object.freeze({...j(e),bytes:chunk4GBTELJV_cjs.i(e)})}function to(e,o){if(!e)return null;try{let t=e(o);return !t||t instanceof chunk4GBTELJV_cjs.d?null:eo(t)}catch{return null}}function gt(e){return o=>{if(e.status()!=="active")throw e.unavailable();return to(e.resolve(),o)}}function oo(e){return Object.freeze(e.slice(0,ee).map(o=>Object.freeze({request:z(o.request),partName:o.partName,reason:o.reason})))}function oe(e,o,t,n,r=[]){let i=new Map;for(let a of [...e,o]){let p=a.toLowerCase();i.has(p)||i.set(p,a);}let s=[...i.values()].map(a=>{let p=[];for(let l of Jt){let d=n?.({family:a,...l});!d||d instanceof chunk4GBTELJV_cjs.d||p.push(Object.freeze({...l,sourceFamily:d.family,via:d.substitution?"substitution":"direct",identity:d.identity,id:d.id,hash:d.hash,faceIndex:d.faceIndex,substitution:d.substitution}));}return Object.freeze({family:a,coverage:p.length===4?"complete":p.length>0?"partial":"none",faces:Object.freeze(p)})});return Object.freeze({requestedFamilies:Object.freeze([...e]),defaultFamily:o,families:Object.freeze(s),originFailures:Object.freeze([...t]),droppedEmbeddedFonts:oo(r)})}function ne(e,o){if(o.onFontResolution){try{let t=o.onFontResolution(e);Promise.resolve(t).catch(n=>{console.warn("[fonts] font-resolution diagnostics callback failed",n);});}catch(t){console.warn("[fonts] font-resolution diagnostics callback failed",t);}return}for(let t of e.originFailures)console.warn("[fonts] a document export font origin failed and was skipped",t);for(let t of e.droppedEmbeddedFonts??[])console.warn("[fonts] a document embedded font face was dropped during export",t);}function re(e,o,t=[]){let n=l=>l.trim().toLowerCase(),r=new Set([...e.requestedFamilies,e.defaultFamily].map(n)),i=new Set(t.map(l=>n(l.family))),s=l=>{if(!(l instanceof chunkK5U2PLDP_cjs.l))return true;let d=n(l.request.family);return r.has(d)||!i.has(d)},a=e.originFailures.some(({cause:l})=>l instanceof chunkK5U2PLDP_cjs.m?l.causes.length===0||l.causes.some(s):s(l));if(o.fontPolicy!=="strict"||!a&&e.families.every(l=>l.coverage==="complete"))return;let p=e.families.filter(l=>l.coverage!=="complete").map(l=>l.family).join(", ");throw new chunk6AWEKBLB_cjs.d("layoutFailed",`Strict font policy refused export${p?`; incomplete families: ${p}`:"; a font origin failed"}`)}function H(){return new Map}function X(e,o,t,n){if(t.trim().length===0)return null;let r={family:t,weight:n.bold?700:400,style:n.italic?"italic":"normal"},i=chunk4GBTELJV_cjs.h(r),s=o.get(i);if(!s){try{s=e.fonts.resolve(r);}catch{return null}o.set(i,s);}return s instanceof chunk4GBTELJV_cjs.d?null:s}function xt(e,o,t){let n=t.fontFamily??e.defaultFont.family;return X(e,o,n,t)}function ie(e){return typeof e.shapeLaidOutText=="function"}function no(e){for(let o of e){let t=o.codePointAt(0);if(t!==32&&(t<=255||t>=61440&&t<=61695))return false}return true}function ae(e){let o=H(),t=new WeakMap;return n=>{let r=chunk4GBTELJV_cjs.ua(n.style,n.fontSlot),i=chunk4GBTELJV_cjs.dd(n)?chunk4GBTELJV_cjs.ed(n):chunk4GBTELJV_cjs.ba(n.text,r);if(i.length===0)return null;let s=r.fontFamily??e.defaultFont.family,a=X(e,o,s,r)??(chunkFIJZIQXA_cjs.b(s)&&no(i)?X(e,o,e.defaultFont.family,r):null);if(!a)return null;try{if(r.smallCaps&&!chunk6APGXLBB_cjs.$(e.shaper,e.environment,a,r,t))return null;let p=chunk6APGXLBB_cjs._(e.shaper,e.environment,a,r,i);return Object.freeze({run:p,font:j(p.fontSpans[0]?.font??a),...p.fontSpans.length>1?{fonts:Object.freeze(p.fontSpans.map(l=>j(l.font)))}:{},fixedPointScale:e.environment.fixedPointScale})}catch{return null}}}function Ft(e){return o=>{if(e.status()!=="active")throw e.unavailable();return e.shaping()?.shapeLaidOutText(o)??null}}var N=new Map,G=new WeakMap,se=0,M,le=32,Et=chunk4GBTELJV_cjs.c;function bt(){if(M)return M;let e=(async()=>(await chunk6APGXLBB_cjs.d(),chunk6APGXLBB_cjs.h(chunk6APGXLBB_cjs.i)))();return M=e,e.catch(()=>{M===e&&(M=void 0);}),e}function Rt(e){let o=H();return chunk6APGXLBB_cjs.ba(e,{resolveFont(t){return xt(e,o,t)},fallback:chunk4GBTELJV_cjs.ha()})}async function St(e,o,t=[],n=false){if(!chunk6APGXLBB_cjs.k(e))throw new TypeError("Session exporter shaping requires a prepared font handle");let r=await bt(),i=yt(await chunk6APGXLBB_cjs.r(e,r,chunk6APGXLBB_cjs.i,o,n),t);return Object.freeze({createMeasurer:()=>Rt(i),resolveFont:s=>i.fonts.resolve(s),shapeLaidOutText:ae(i),producer:["node-export-session",JSON.stringify(t),e.fingerprint,i.operation.shapingHash,`producer:${i.operation.producerVersion}`,`fallback:${chunk4GBTELJV_cjs.ga}`].join("|"),extensionFingerprint:e.fingerprint})}function ro(e,o){if(!chunk6APGXLBB_cjs.k(e))return Promise.reject(new TypeError("Shared exporter shaping requires a prepared font handle"));let t=G.get(e);if(t)return t;let n=chunk6APGXLBB_cjs.m(e),r=N.get(n);if(!r){if(N.size>=le)return Promise.reject(new RangeError(`Shared exporter shaping is limited to ${le} process-wide configurations`));r=(async()=>{let p=chunk6APGXLBB_cjs.l(e).sources.reduce((d,g)=>d+(g.availability==="forbidden"?0:g.bytes.byteLength),0);if(se+p>Et)throw new RangeError(`Shared exporter shaping font bytes are limited to ${Et} process-wide`);se+=p;let l;try{let d=await bt();l=await chunk6APGXLBB_cjs.r(e,d,chunk6APGXLBB_cjs.i,o);}catch(d){throw se-=p,d}return Object.freeze({createMeasurer:()=>Rt(l),shapeLaidOutText:ae(l),shapingHash:l.operation.shapingHash,producerVersion:l.operation.producerVersion})})(),N.set(n,r),r.catch(()=>{N.get(n)===r&&N.delete(n);});}let i=e.fingerprint,s=r.then(a=>Object.freeze({createMeasurer:a.createMeasurer,shapeLaidOutText:a.shapeLaidOutText,producer:["node-export",i,a.shapingHash,`producer:${a.producerVersion}`,`fallback:${chunk4GBTELJV_cjs.ga}`].join("|"),extensionFingerprint:i}));return G.set(e,s),s.catch(()=>{G.get(e)===s&&G.delete(e);}),s}var io="http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable";function ao(e){let o=e.currentPackage(),t=(o.relationships.get(o.mainDocumentPart)??[]).find(r=>r.type===io),n;if(t){let r=chunkFIJZIQXA_cjs.J(t);r.mode==="Internal"&&r.target.ok&&(n=o.parts.get(r.target.partName));}return n??=o.parts.get("/word/fontTable.xml"),chunkFIJZIQXA_cjs.if(o,n)}function Ot(e,o){let t=ao(e);if(t.length!==0)return chunkK5U2PLDP_cjs.j(n=>{let r=new Set((n.resolvedFaces??[]).map(s=>chunk4GBTELJV_cjs.h(s))),i=chunkK5U2PLDP_cjs.C(t,{maxFontBytes:chunk4GBTELJV_cjs.a,aggregateBudget:so(n),shadowedRequests:r});if(o)for(let s of i.dropped){if(o.dropped.length>=ee)break;o.dropped.push(s);}return {sources:i.sources}})}function so(e){let o=e.committedSourceBytes;return o===void 0||!Number.isSafeInteger(o)||o<=0?chunk4GBTELJV_cjs.c:Math.max(0,chunk4GBTELJV_cjs.c-o)}function lo(e){return te(e)&&ie(e)}var w=0,vt=Symbol("font-resolution-timeout");function uo(e){let o=0,t=false;return e?.(w),{reserve:r=>{if(t)throw new Error("Document font-byte lease is already released");if(w+r>chunk4GBTELJV_cjs.c)throw new chunk6AWEKBLB_cjs.d("layoutFailed",`Active document export font bytes are limited to ${chunk4GBTELJV_cjs.c}; requested ${r} bytes with ${w} bytes already active`);w+=r,o+=r,e?.(w);let i=false;return ()=>{i||t||(i=true,w-=r,o-=r,e?.(w));}},release:()=>{t||(t=true,w-=o,o=0,e?.(w));}}}function ue(e,o){return e.attributes.find(t=>t.localName===o)?.value}function co(e,o){return e.attributes.find(t=>t.localName===o&&(t.namespaceUri===chunkFIJZIQXA_cjs.la||t.namespaceUri===""))?.value}async function po(e,o){if(o.reuseAcrossRevisions===true)throw new TypeError("reuseAcrossRevisions requires a live view or caller-supplied measurer; document-aware byte sessions are immutable");if(o.signal?.aborted)return {ok:false,reason:"aborted"};let t=chunkJGNVNT2A_cjs.Ba(e);if(!t.ok)return t;let{fonts:n,lastResortFonts:r,fontResolutionTimeoutMs:i,fontPolicy:s,onFontResolution:a,glyphFallbacks:p,documentLigatures:l,...d}=o,g=Array.isArray(n)?n:[n],u=r===void 0?[]:Array.isArray(r)?r:[r],c,y;try{y=await fo(t.view,g,{signal:o.signal,timeoutMs:i??o.resourceTimeoutMs,fontPolicy:s,glyphFallbacks:p,documentLigatures:l,lastResortFonts:u,onFontResolution:E=>(c=E,a?.(E))});}catch(E){if(E instanceof chunk6AWEKBLB_cjs.d&&E.code==="aborted")return {ok:false,reason:"aborted"};throw E}if(!c)throw y?.dispose(),new chunk6AWEKBLB_cjs.d("layoutFailed","Document font resolution completed without publishing its evidence");let b;try{b=chunk6AWEKBLB_cjs.e(t.view,{...d,reuseAcrossRevisions:!1,...y?{measurer:y.createMeasurer(),producer:o.producer??y.producer}:o.producer?{producer:o.producer}:{}});}catch(E){throw y?.dispose(),E}if(!b.ok)return y?.dispose(),b;let R=b.session,f=y,h="active",F=()=>h==="aborted"?new chunk6AWEKBLB_cjs.d("aborted","Export resource settlement was aborted"):new chunk6AWEKBLB_cjs.d("disposed","Export session has been disposed"),x=E=>{if(h==="active"){h=E,o.signal?.removeEventListener("abort",m);try{R.dispose();}finally{f?.dispose(),f=void 0;}}},m=()=>x("aborted");return o.signal?.addEventListener("abort",m,{once:true}),o.signal?.aborted&&m(),{ok:true,session:Object.freeze({fontResolution:c,layout:()=>h==="active"?R.layout():Promise.reject(F()),layoutFor:E=>h==="active"?R.layoutFor(E):Promise.reject(F()),validatedImageBytes:E=>h==="active"?R.validatedImageBytes(E):null,admittedFontFace:gt({status:()=>h,unavailable:F,resolve:()=>f?.resolveFont}),shapeLaidOutText:Ft({status:()=>h,unavailable:F,shaping:()=>f}),dispose:()=>x("disposed")})}}async function fo(e,o,t={}){if((t.glyphFallbacks?.length??0)>16)throw new RangeError("At most 16 glyph fallback faces are supported");let n=mo(t.timeoutMs),r=new AbortController,i=()=>r.abort(t.signal?.reason);t.signal?.addEventListener("abort",i,{once:true}),t.signal?.aborted&&i();let s=setTimeout(()=>r.abort(vt),n);try{de(r.signal);let a=(async()=>{let p=uo(t.onActiveFontBytesChange),l=!1;try{let d=ho(e).slice(0,chunkK5U2PLDP_cjs.c),g=chunkK5U2PLDP_cjs.x(e,d),u=[],c={dropped:[]},y=Ot(e,c),b=[...o,...y?[y]:[],...t.lastResortFonts??[]],R=await chunkK5U2PLDP_cjs.o(b,{families:[...new Set([...(t.glyphFallbacks??[]).map(x=>x.family),...g.families])].slice(0,chunkK5U2PLDP_cjs.c),defaultFamily:chunkK5U2PLDP_cjs.d.family,signal:r.signal},{onOriginFailure:x=>u.push(x),reserveOwnedBytes:p.reserve,maxExecutionFontBytes:chunk6APGXLBB_cjs.i.maxFontBytes});de(r.signal);let f=chunkK5U2PLDP_cjs.z(chunkK5U2PLDP_cjs.f(R??{}),g);if(f.sources.length===0){let x=oe(d,f.defaultFont.family,u,void 0,c.dropped);ne(x,t),re(x,t,t.glyphFallbacks);return}let h=await St(chunk6APGXLBB_cjs.o(f),void 0,t.glyphFallbacks,t.documentLigatures);de(r.signal);let F=oe(d,f.defaultFont.family,u,h.resolveFont,c.dropped);return ne(F,t),re(F,t,t.glyphFallbacks),l=!0,Object.freeze({...h,dispose:p.release})}finally{l||p.release();}})();return await Promise.race([a,yo(r.signal)])}finally{clearTimeout(s),t.signal?.removeEventListener("abort",i);}}function mo(e){if(e===void 0)return 6e4;if(!Number.isFinite(e)||e<=0)throw new RangeError("timeoutMs must be a positive finite number");return Math.max(1,e)}function yo(e){return new Promise((o,t)=>{let n=()=>{t(wt(e));};e.aborted?n():e.addEventListener("abort",n,{once:true});})}function wt(e){let o=e.reason===vt;return new chunk6AWEKBLB_cjs.d(o?"timedOut":"aborted",o?"Font resolution timed out":"Font resolution was aborted",o?void 0:{cause:e.reason})}function de(e){if(e.aborted)throw wt(e)}function ho(e){let o=[e.part().root],t=[],n=[],r=new Set([e.part().name]),i=(d,g)=>{!g||r.has(g.name)||(r.add(g.name),d.push(g.root));};for(let d of e.headerFooterPartsBySection()){for(let g of d.headers.values())i(t,g);for(let g of d.footers.values())i(t,g);}for(let d of ["footnote","endnote"])n.push(...go(e,d));let s=e.documentThemeFonts(),a={...s,major:s.major,minor:s.minor,majorEastAsia:s.majorEastAsia??null,minorEastAsia:s.minorEastAsia??null},p=new Map,l=(d,g)=>{let u=chunkQMLCVPCD_cjs.e(d,e.stylesRoot(),a,Fo(d,g)),c=chunkK5U2PLDP_cjs.v(d,e.numberingRoot(),e.stylesRoot(),a);for(let y of [...u.direct,...Ro(d),...c,...chunkK5U2PLDP_cjs.s(d,e.stylesRoot(),a),...u.inherited]){let b=y.toLowerCase();p.has(b)||p.set(b,y);}};return l(o,"body"),l(t,"furniture"),l(n,"note"),[...p.values()]}function go(e,o){let t=chunkFIJZIQXA_cjs.ch(e.currentPackage(),o);if(!t)return [];let n=new Set(chunkFIJZIQXA_cjs.dh(e.part()).filter(i=>i.noteKind===o).map(i=>i.noteId)),r=[];for(let i of t.root.children){if(i.kind==="textValue")continue;let s=chunkFIJZIQXA_cjs.zc(i),a=chunkFIJZIQXA_cjs.yc(i);(s==="separator"||s==="continuationSeparator"||a!==null&&n.has(a))&&r.push(i);}return r}var xo="http://schemas.openxmlformats.org/officeDocument/2006/math";function Fo(e,o){let t=new Set;for(let n of e){let r=[],i=[{node:n,context:o}];for(;i.length>0;){let{node:s,context:a}=i.pop();s.namespaceUri===chunkFIJZIQXA_cjs.la&&s.localName==="p"&&r.push({paragraph:s,context:a});let p=s.namespaceUri===chunkFIJZIQXA_cjs.la&&s.localName==="txbxContent"&&(a==="body"||a==="note")?"detached":a;for(let l=s.children.length-1;l>=0;l-=1){let d=s.children[l];d.kind!=="textValue"&&i.push({node:d,context:p});}}for(let s of r)Eo(s.paragraph,t,s.context);}return t}function Eo(e,o,t){let n=chunk4GBTELJV_cjs.Vb(),r=null,i=null,s="",a=false,p=false,l=false,d=0,g=[];for(let u=e.children.length-1;u>=0;u-=1){let c=e.children[u];c.kind!=="textValue"&&g.push({node:c,runId:null,visibility:D,containerDepth:0});}for(;g.length>0;){let{node:u,runId:c,visibility:y,containerDepth:b}=g.pop();if(b>=chunkFIJZIQXA_cjs.wa||u.namespaceUri===chunkFIJZIQXA_cjs.la&&u.localName==="p")continue;let R=u.namespaceUri===chunkFIJZIQXA_cjs.la&&u.localName==="r"?u.id:c;if(u.namespaceUri===chunkFIJZIQXA_cjs.la&&u.localName==="fldSimple"){let f=ue(u,"instr")??"";chunk4GBTELJV_cjs.Yc(f,{allowPageFields:t==="body"||t==="furniture",allowRefFields:t==="body"||t==="note",allowPageRef:t==="body",allowAutonum:t==="body"||t==="note"})&&bo(u)!==D&&o.add(u.id);}if(u.namespaceUri===chunkFIJZIQXA_cjs.la&&u.localName==="fldChar"){let f=ue(u,"fldCharType");if(f==="begin")chunk4GBTELJV_cjs.Yb(n),n.nesting===1&&(r=R,i=null,s="",a=false,p=false,l=chunkFIJZIQXA_cjs.Bf(u),d=0);else if(f==="separate"){let h=n.nesting===1;if(chunk4GBTELJV_cjs._b(n),h){let F=chunk4GBTELJV_cjs.Xb(n);s=F.instruction,a=F.overflow||n.nestingOverflow,i=R,p=true;}}else if(f==="end"){if(n.nesting===1){if(n.phase==="instruction"){let F=chunk4GBTELJV_cjs.Xb(n);s=F.instruction,a=F.overflow||n.nestingOverflow;}if(!a&&chunk4GBTELJV_cjs.Xc(s,{hasSeparate:p,hasLegacyFormData:l,allowPageFields:t==="body"||t==="furniture",allowRefFields:t==="body"||t==="note",allowPageRef:t==="body",allowAutonum:t==="body"||t==="note"})&&d!==D){let F=i??r;F&&o.add(F);}}chunk4GBTELJV_cjs.$b(n);}continue}if(u.namespaceUri===chunkFIJZIQXA_cjs.la&&(u.localName==="instrText"||u.localName==="delInstrText")){chunk4GBTELJV_cjs.Zb(n,Dt(u),u.localName==="delInstrText");continue}n.nesting>0&&chunk4GBTELJV_cjs.ac(n)&&u.namespaceUri===chunkFIJZIQXA_cjs.la&&At(u)&&(d|=y);for(let f=u.children.length-1;f>=0;f-=1){let h=u.children[f];h.kind!=="textValue"&&g.push({node:h,runId:R,visibility:y&Pt(u),containerDepth:chunkFIJZIQXA_cjs.xa(u,b)});}}chunk4GBTELJV_cjs.Wb(n);}function At(e){return e.localName==="t"||e.localName==="delText"?Dt(e).length>0:e.localName==="sym"||e.localName==="tab"||e.localName==="br"}var ce=1,Tt=2,Lt=4,D=ce|Tt|Lt;function bo(e){let o=[];for(let n of e.children)n.kind!=="textValue"&&o.push({node:n,visibility:D});let t=0;for(;o.length>0;){let{node:n,visibility:r}=o.pop();if(!(n.namespaceUri===chunkFIJZIQXA_cjs.la&&n.localName==="p")){if(n.namespaceUri===chunkFIJZIQXA_cjs.la&&At(n)&&(t|=r,t===D))return t;for(let i of n.children)i.kind!=="textValue"&&o.push({node:i,visibility:r&Pt(n)});}}return t}function Pt(e){return e.namespaceUri!==chunkFIJZIQXA_cjs.la?D:e.localName==="ins"||e.localName==="moveTo"?ce|Tt:e.localName==="del"||e.localName==="moveFrom"?ce|Lt:D}function Ro(e){let o=new Map,t=n=>{let r=chunkQMLCVPCD_cjs.b(n??void 0);if(r===null)return;let i=r.toLowerCase();o.has(i)||o.set(i,r);};for(let n of e){let r=[n];for(;r.length>0;){let i=r.pop();if(i.namespaceUri===xo&&t(chunk4GBTELJV_cjs.$c),i.namespaceUri===chunkFIJZIQXA_cjs.la&&i.localName==="sym"&&t(chunkQMLCVPCD_cjs.c(co(i,"font"))),i.namespaceUri===chunkFIJZIQXA_cjs.la&&i.localName==="fldSimple"){let s=ue(i,"instr");t(chunk4GBTELJV_cjs.Wc(s??"")?.font??null);}if(i.namespaceUri===chunkFIJZIQXA_cjs.la&&i.localName==="p")for(let s of chunkK5U2PLDP_cjs.u(i))t(s);for(let s=i.children.length-1;s>=0;s-=1){let a=i.children[s];a.kind!=="textValue"&&r.push(a);}}}return [...o.values()]}function Dt(e){let o="",t=[...e.children].reverse();for(;t.length>0&&o.length<=256;){let n=t.pop();if(n.kind==="textValue")o+=n.value;else for(let r=n.children.length-1;r>=0;r-=1)t.push(n.children[r]);}return o}var _t="FILE_TOO_LARGE",kt=8;function So(e){return typeof e=="object"&&e!==null}function Nt(e){if(!(!So(e)||typeof e.code!="string"))return e.code}function Mt(e){return e===""||e.toLowerCase()==="localhost"}function Oo(e){try{let o=decodeURIComponent(e);return o.includes("\0")?null:o}catch{return null}}function Ct(e){let o=Oo(e);if(o===null)return null;let t=[];for(let n of o.split(/[/\\]/))if(!(n===""||n===".")){if(n===".."){if(t.length===0)return null;t.pop();continue}t.push(n);}return `/${t.join("/")}`}function Ut(e){let o=Ct(e);return o===null?null:o.endsWith("/")?o:`${o}/`}function vo(e){return e==="/"||/^\/[A-Za-z]:\/$/.test(e)}function wo(e){let o;try{o=typeof e=="string"?new URL(e):new URL("href"in e?e.href:String(e));}catch{throw new TypeError("trustedRoot must be an absolute file: URL")}if(o.protocol!=="file:")throw new TypeError("trustedRoot must use the file: protocol");if(o.username!==""||o.password!=="")throw new TypeError("trustedRoot must not include credentials");if(!Mt(o.host))throw new TypeError("trustedRoot must be a local file: URL");let t=Ut(o.pathname);if(t===null||vo(t))throw new TypeError("trustedRoot must be a directory inside the filesystem");let n=new URL("file:///");return n.pathname=t,n}function Ao(e){if(typeof e=="string")return [e];if(typeof e=="object"&&e!==null&&"href"in e)return [e];if(Array.isArray(e))return e;throw new TypeError("trustedRoot must be an absolute file: URL")}function To(e){let o=Ao(e);if(o.length===0)throw new TypeError("trustedRoot must name at least one directory");if(o.length>kt)throw new TypeError(`trustedRoot must not exceed ${kt} directories`);return o.map(wo)}function Lo(e){if(!Number.isSafeInteger(e)||e<=0)throw new TypeError("maxBytes must be a positive safe integer");if(e>chunk4GBTELJV_cjs.a)throw new TypeError(`maxBytes must not exceed ${chunk4GBTELJV_cjs.a}`);return e}function Po(e,o){if(e.protocol!=="file:"||e.username!==""||e.password!==""||!Mt(e.host))return null;let t=Ct(e.pathname);if(t===null)return null;for(let n of o){let r=Ut(n.pathname);if(r===null||!t.startsWith(r)||t.length<=r.length)continue;let i=new URL("file:///");return i.pathname=t,i}return null}function Do(e){return typeof e=="string"?new URL(e):"href"in e&&typeof e.href=="string"?new URL(e.href):new URL("url"in e?e.url:String(e))}function ko(e,o,t){let n=t.relative(t.resolve(e),t.resolve(o));return n!==""&&!n.startsWith("..")&&!t.isAbsolute(n)}function It(e,o,t){return e.some(n=>ko(n,o,t))}async function Io(e,o){let t=[];for(let n of e)try{t.push(await o(n));}catch(r){if(Nt(r)==="ENOENT")continue;throw r}return t}function _o(e){return async(o,{signal:t,maxBytes:n})=>{if(t?.aborted)throw t.reason;let[{open:r,realpath:i},{constants:s},{fileURLToPath:a},p]=await Promise.all([import('fs/promises'),import('fs'),import('url'),import('path')]),l=e.map(y=>p.resolve(a(y.href))),d=p.resolve(a(typeof o=="string"?o:o.href));if(!It(l,d,p))throw Object.assign(new Error("packaged file is outside trustedRoot"),{code:"ENOENT"});let g=typeof s.O_NOFOLLOW=="number"?s.O_RDONLY|s.O_NOFOLLOW:"r",u=await r(d,g),c=()=>{u.close();};t?.addEventListener("abort",c,{once:true});try{if(t?.aborted)throw t.reason;let y=await i(d);if(!It(await Io(l,i),y,p))throw Object.assign(new Error("packaged file is outside trustedRoot"),{code:"ENOENT"});let b=(await u.stat()).size;if(!Number.isSafeInteger(b)||b<0||b>n)throw Object.assign(new Error("packaged file exceeds maxBytes"),{code:_t});let R=new Uint8Array(b),f=0;for(;f<R.byteLength;){if(t?.aborted)throw t.reason;let{bytesRead:h}=await u.read(R,f,R.byteLength-f,f);if(h===0)break;f+=h;}if(t?.aborted)throw t.reason;return f===R.byteLength?R:R.slice(0,f)}catch(y){throw t?.aborted?t.reason:y}finally{t?.removeEventListener("abort",c),await u.close().catch(()=>{});}}}function No(e){if(e===null||typeof e!="object")throw new TypeError("createPackagedFileFetch requires trustedRoot and maxBytes");if(e.trustedRoot===void 0||e.maxBytes===void 0)throw new TypeError("createPackagedFileFetch requires trustedRoot and maxBytes");let o=To(e.trustedRoot),t=Lo(e.maxBytes),n=e.read??_o(o),r=e.networkFetch??fetch;return(async(i,s)=>{let a=s?.signal;if(a?.aborted)throw a.reason;let p=Do(i);if(p.protocol!=="file:")return r(p,s);let l=Po(p,o);if(!l)return new Response(null,{status:404});let d=a?new AbortController:void 0,g=()=>d?.abort(a?.reason);a?.addEventListener("abort",g,{once:true});let u;try{if(u=await n(l,{maxBytes:t,...d?{signal:d.signal}:{}}),a?.aborted)throw a.reason;if(u.byteLength>t)return new Response(null,{status:413})}catch(c){if(a?.aborted)throw a.reason;if(d?.signal.aborted)throw d.signal.reason??c;if(c instanceof DOMException&&c.name==="AbortError"||c instanceof Error&&c.name==="AbortError")throw c;let y=Nt(c);if(y===_t)return new Response(null,{status:413});if(y==="ENOENT"||y==="ENOTDIR"||y==="ELOOP")return new Response(null,{status:404});throw c}finally{a?.removeEventListener("abort",g);}return new Response(u,{status:200})})}
|
|
2
|
+
Object.defineProperty(exports,"ExportResourceError",{enumerable:true,get:function(){return chunk6AWEKBLB_cjs.d}});Object.defineProperty(exports,"createNodeImageDecodePort",{enumerable:true,get:function(){return chunk6AWEKBLB_cjs.c}});Object.defineProperty(exports,"exportDestinationNamed",{enumerable:true,get:function(){return chunk6AWEKBLB_cjs.b}});Object.defineProperty(exports,"openDocumentForExport",{enumerable:true,get:function(){return chunk6AWEKBLB_cjs.e}});exports.MAX_SHARED_EXPORT_SHAPING_CONFIGURATIONS=le;exports.acquireSharedExportShaping=ro;exports.createPackagedFileFetch=No;exports.hasExportAdmittedFont=te;exports.hasExportLaidOutText=ie;exports.hasFontBackedExportCapabilities=lo;exports.openFontBackedDocumentForExport=po;
|
package/dist/export.d.ts
CHANGED
|
@@ -1,19 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
/**
|
|
2
|
+
* `@docx-editor.dev/core/export` — DOM-free semantic export sessions and shared resources.
|
|
3
|
+
*
|
|
4
|
+
* Exporters consume the same published `SemanticLayout` records as the browser painter.
|
|
5
|
+
* They do not parse OOXML or independently derive document semantics.
|
|
6
|
+
*
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
import { a as ReviewDisplayMode, d as ResolvedRevisionMarkup, e as RevisionMarkupOptions } from './revision-projection-DZ4kKVev.js';
|
|
11
|
+
import { P as PreservedImageMime, I as ImageResourceLimits, S as SupportedImageMime, a as ImageDecodePort } from './image-resources-BN-hUgCn.js';
|
|
12
|
+
import { S as SemanticLayout, o as SemanticReviewArtifactRecord, I as InlineDrawingRecord, A as AnchoredDrawingRecord, p as ListMarkerPictureRecord, T as TextMeasurer, n as FontRequest, q as FontSubstitution, r as ShapedRun, e as StyleSpanRecord } from './semantic-records-4B3WwFAi.js';
|
|
13
|
+
import { D as DocumentProperties, H as HeadlessDocumentView, a as HeadlessDocumentRejection } from './headless-document-view-qH331moE.js';
|
|
14
|
+
import { P as PreparedLayoutFontConfiguration, L as LayoutShapingInstrumentation } from './layout-shaping-BEyuiQOk.js';
|
|
15
|
+
import { F as FontOriginFailure, a as FontOrigin } from './font-resolver-BVQB14qT.js';
|
|
16
|
+
import './types-barrel-D3xCgQX6.js';
|
|
8
17
|
import './editor-scope-OHPwVQ5l.js';
|
|
9
|
-
import './omml-equation-
|
|
10
|
-
import './tree-package-fragment-
|
|
11
|
-
import './editor-
|
|
18
|
+
import './omml-equation-CuzBL5DD.js';
|
|
19
|
+
import './tree-package-fragment-BeeKxDw8.js';
|
|
20
|
+
import './editor-Ci7IZGmG.js';
|
|
21
|
+
import './review-pane-D9jm8DcY.js';
|
|
12
22
|
import './contracts/document.js';
|
|
13
23
|
import './contracts/interaction.js';
|
|
14
|
-
import './semantic-interaction-
|
|
15
|
-
import './document-protection-
|
|
16
|
-
import './failure-
|
|
24
|
+
import './semantic-interaction-CIC-PooQ.js';
|
|
25
|
+
import './document-protection-BAGVGqaP.js';
|
|
26
|
+
import './failure-NS2lsya4.js';
|
|
17
27
|
|
|
18
28
|
/** Source content that cannot be certified by the layout snapshot. @public */
|
|
19
29
|
interface ExportContentWarning {
|
|
@@ -76,13 +86,17 @@ declare function createNodeImageDecodePort(options?: {
|
|
|
76
86
|
type ExportDocumentSource = Uint8Array | HeadlessDocumentView;
|
|
77
87
|
/** Shared session options; translators add their own format-specific options. @public */
|
|
78
88
|
interface OpenDocumentForExportOptions {
|
|
89
|
+
/** Viewer markup applied before layout and export. */
|
|
90
|
+
readonly revisionMarkup?: RevisionMarkupOptions;
|
|
91
|
+
/** Stable author color slots captured from the editor session. */
|
|
92
|
+
readonly revisionAuthorSlots?: Readonly<Record<string, number>>;
|
|
79
93
|
/**
|
|
80
94
|
* Revision projection applied before records reach an exporter. Default: `all-markup`.
|
|
81
95
|
*
|
|
82
96
|
* The safe reader default keeps every pending insertion and deletion visible. Choose
|
|
83
97
|
* `proposed` or `original` explicitly only when a resolved view is intended.
|
|
84
98
|
*/
|
|
85
|
-
readonly displayMode?:
|
|
99
|
+
readonly displayMode?: ReviewDisplayMode;
|
|
86
100
|
/**
|
|
87
101
|
* Text measurement used for line wrapping and pagination. Omit only when deterministic
|
|
88
102
|
* approximate pagination is acceptable. Core then uses a fixed-width fallback that neither
|
|
@@ -117,6 +131,14 @@ interface OpenDocumentForExportOptions {
|
|
|
117
131
|
* @public
|
|
118
132
|
*/
|
|
119
133
|
interface ExportSemanticLayout extends SemanticLayout {
|
|
134
|
+
/** Requested review view; Simple Markup uses the proposed text projection. */
|
|
135
|
+
readonly reviewDisplayMode?: ReviewDisplayMode;
|
|
136
|
+
/** Viewer preferences used for this layout. */
|
|
137
|
+
readonly revisionMarkup?: ResolvedRevisionMarkup;
|
|
138
|
+
/** Stable author color slots captured from the editor session. */
|
|
139
|
+
readonly revisionAuthorSlots?: Readonly<Record<string, number>>;
|
|
140
|
+
/** Whether outside change bars alternate page margins. */
|
|
141
|
+
readonly facingPages?: boolean;
|
|
120
142
|
/** Source omissions that cannot be detected by walking laid-out records. */
|
|
121
143
|
readonly contentWarnings?: readonly ExportContentWarning[];
|
|
122
144
|
readonly reviewArtifacts: readonly SemanticReviewArtifactRecord[];
|
|
@@ -138,7 +160,7 @@ interface ExportSession {
|
|
|
138
160
|
/** Settle resources and return the default revision projection. */
|
|
139
161
|
layout(): Promise<ExportSemanticLayout>;
|
|
140
162
|
/** Settle resources and cache one explicit revision projection. */
|
|
141
|
-
layoutFor(displayMode:
|
|
163
|
+
layoutFor(displayMode: ReviewDisplayMode): Promise<ExportSemanticLayout>;
|
|
142
164
|
/**
|
|
143
165
|
* Mint a defensive copy only for a ready image published by this session.
|
|
144
166
|
*
|
package/dist/export.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {c as c$1,o,d as d$1,f,y,v,j as j$2,r,m,x,l as l$1}from'./chunk-LWCI65EL.js';import {j as j$1,l,k,q as q$1,h,n,c as c$2,g,_ as _$2,Z,aa}from'./chunk-EEAV3WIN.js';import'./chunk-RIYSCEFQ.js';import {d,e}from'./chunk-EYK4K2J6.js';export{d as ExportResourceError,c as createNodeImageDecodePort,b as exportDestinationNamed,e as openDocumentForExport}from'./chunk-EYK4K2J6.js';import {c,da,ra,cc,dc,_ as _$1,ea,h as h$1,a,d as d$3,Zc,b as b$1,i,ib,dd,lb,nb,kb,cd,ob,mb,pb,jb,p,s,n as n$1,ac}from'./chunk-XSHXBJ2J.js';import {d as d$2,b,a as a$1}from'./chunk-5BIASAN3.js';import'./chunk-73PG6L2X.js';import {ab}from'./chunk-L6V3IJ3S.js';import {Ig,Jg,kc,jc,fa,E,Se,oa,ff,pa}from'./chunk-DDGGSBAN.js';function _(e,o,t){if(o.environment.features.smcp!==1||!/\p{Ll}/u.test(o.text))return t;let n={...o,environment:{...o.environment,features:{...o.environment.features,smcp:0}}},r=e.shape(n);if(t.glyphs.length!==r.glyphs.length||t.glyphs.some((u,c)=>u.id!==r.glyphs[c]?.id))return t;let i=[],s=0;for(let u of o.text){let c=u.toUpperCase()!==u,y=i.at(-1);y&&(y.lower===c||/\p{M}/u.test(u))?y.text+=u:i.push({text:u,start:s,lower:c}),s+=u.length;}let a=[],p=[],l=[],d=true,g=0;for(let u of o.environment.direction==="rtl"?i.reverse():i){let c=u.lower?.8:1,y=[],R=[],b="",f=u.start;for(let F of u.text){let m=u.lower?F.toUpperCase():F;for(let E=0;E<m.length;E++)y.push(f),R.push(f+F.length);b+=m,f+=F.length;}let h=e.shape({...n,text:b}),x=a.length;for(let[F,m]of h.glyphs.entries()){let E=h.exactAdvancesX?.[F];E===void 0?d=false:l.push(E*c),a.push({...m,cluster:y[m.cluster]??u.start,originX:n$1(g+Math.round(m.originX*c)),originY:n$1(Math.round(m.originY*c)),offsetX:n$1(Math.round(m.offsetX*c)),offsetY:n$1(Math.round(m.offsetY*c)),advanceX:n$1(Math.round(m.advanceX*c)),advanceY:n$1(Math.round(m.advanceY*c)),drawScale:c});}for(let F of h.clusters){let m=y[F.textStart]??u.start,E=R[F.textEnd-1]??f,T=n$1(Math.round(F.advance*c)),A=p.at(-1);A&&A.textStart===m&&A.textEnd===E?p[p.length-1]={...A,glyphEnd:x+F.glyphEnd,advance:n$1(A.advance+T),caretEdges:[n$1(0),n$1(A.advance+T)]}:p.push({...F,textStart:m,textEnd:E,glyphStart:x+F.glyphStart,glyphEnd:x+F.glyphEnd,advance:T,caretEdges:F.caretEdges.map(G=>n$1(Math.round(G*c))),fontSpan:0});}g+=h.glyphs.reduce((F,m)=>F+Math.round(m.advanceX*c),0);}return {...t,glyphs:a,clusters:p,fontSpans:[{...t.fontSpans[0],glyphStart:0,glyphEnd:a.length}],exactAdvancesX:d&&l.length===a.length?l:void 0}}var st=new WeakMap;function Ut(e){let o=st.get(e);return o===void 0&&(o=zt(e.bytes,e.faceIndex),st.set(e,o)),o}var Bt=new Set(["COLR","CBDT","sbix"]),qt=512;function zt(e,o){let t=new DataView(e.buffer,e.byteOffset,e.byteLength);if(e.byteLength<12)return false;let n=0;if(lt(e,0)==="ttcf"){let i=t.getUint32(8);if(o<0||o>=i||12+4*o+4>e.byteLength||(n=t.getUint32(12+4*o),n+12>e.byteLength))return false}let r=Math.min(t.getUint16(n+4),qt);for(let i=0;i<r;i++){let s=n+12+i*16;if(s+4>e.byteLength)return false;if(Bt.has(lt(e,s)))return true}return false}function lt(e,o){return String.fromCharCode(e[o],e[o+1],e[o+2],e[o+3])}var jt=/\p{Emoji_Presentation}|️/u;function Ht(e){return jt.test(e)}function q(e,o){if(e.length<2)return e;let t=e.filter(Ut);if(t.length===0||t.length===e.length)return e;let n=e.filter(r=>!t.includes(r));return Ht(o)?[...t,...n]:[...n,...t]}var Xt=2048;function dt(e,o,t,n){if(!t.clusters.length||t.clusters.length>Xt)return null;let r=(f,h)=>{let{context:x,...F}=o,m={...F,text:h,environment:p({...o.environment,font:f})};return _(e,m,e.shape(m))},i=[],s$1=new Map;for(let f of [...t.clusters].sort((h,x)=>h.textStart-x.textStart)){let h=o.environment.font,x=o.text.slice(f.textStart,f.textEnd),F=i.at(-1);if(/^[\uFE0E\uFE0F]$/.test(x)&&F&&F.end===f.textStart){F.end=f.textEnd;continue}if(o.environment.script==="Hebr"&&/^\s+$/u.test(x)&&F&&F.font!==o.environment.font&&F.end===f.textStart){F.end=f.textEnd;continue}if(t.glyphs.slice(f.glyphStart,f.glyphEnd).some(E=>E.id===0)){let E=o.text.slice(f.textStart,f.textEnd+1),T=s$1.get(x)??q(n,E).find(A=>{try{return !r(A,x).glyphs.some(G=>G.id===0)}catch{return false}});if(!T)return null;s$1.set(x,T),h=T;}let m=i.at(-1);m&&m.font===h&&m.end===f.textStart?m.end=f.textEnd:i.push({start:f.textStart,end:f.textEnd,font:h});}let a=[],p$1=[],l=[],d=[],g=true,u=0,c=0,y=0,R=0,b=0;for(let f of o.environment.direction==="rtl"?i.reverse():i){let h=r(f.font,o.text.slice(f.start,f.end));if(h.glyphs.some(m=>m.id===0))return null;let x=a.length,F=l.length;for(let m of h.glyphs)a.push({...m,cluster:f.start+m.cluster,originX:n$1(u+m.originX),originY:n$1(c+m.originY)});if(h.exactAdvancesX===void 0)g=false;else for(let m of h.exactAdvancesX)d.push(m);for(let m of h.clusters)p$1.push({...m,textStart:f.start+m.textStart,textEnd:f.start+m.textEnd,glyphStart:x+m.glyphStart,glyphEnd:x+m.glyphEnd,fontSpan:F});h.glyphs.length&&l.push({font:f.font,glyphStart:x,glyphEnd:a.length,fallbackIndex:f.font===o.environment.font?null:n.indexOf(f.font)}),u+=h.glyphs.reduce((m,E)=>m+E.advanceX,0),c+=h.glyphs.reduce((m,E)=>m+E.advanceY,0),y=Math.max(y,h.metrics.ascent),R=Math.max(R,h.metrics.descent),b=Math.max(b,h.metrics.lineGap);}return s({...t,glyphs:a,clusters:p$1,fontSpans:l,exactAdvancesX:g&&d.length===a.length?d:void 0,metrics:{ascent:n$1(y),descent:n$1(R),lineGap:n$1(b)}},{...o.environment,fallbackOrder:n})}var Gt=new Map([["Beng",["bng2","beng"]],["Deva",["dev2","deva"]],["Gujr",["gjr2","gujr"]],["Guru",["gur2","guru"]],["Knda",["knd2","knda"]],["Mlym",["mlm2","mlym"]],["Orya",["ory2","orya"]],["Taml",["tml2","taml"]],["Telu",["tel2","telu"]],["Nkoo",["nko "]]]),Vt=512,ut=new WeakMap;function Wt(e,o){let t=new Set,n=new DataView(e.buffer,e.byteOffset,e.byteLength),r=c=>c+2<=n.byteLength?n.getUint16(c):-1,i=c=>c+4<=n.byteLength?n.getUint32(c):-1,s=c=>c+4<=n.byteLength?String.fromCharCode(n.getUint8(c),n.getUint8(c+1),n.getUint8(c+2),n.getUint8(c+3)):"",a=0;if(s(0)==="ttcf"){let c=i(8);if(c<0||o<0||o>=c||(a=i(12+o*4),a<0))return t}let p=r(a+4);if(p<0||p>1024)return t;let l=-1;for(let c=0;c<p;c+=1){let y=a+12+c*16;if(s(y)==="GSUB"){l=i(y+8);break}}if(l<0)return t;let d=r(l+4);if(d<=0)return t;let g=l+d,u=r(g);if(u<0)return t;for(let c=0;c<Math.min(u,Vt);c+=1){let y=s(g+2+c*6);y&&t.add(y);}return t}function Yt(e,o){let t=ut.get(e);return t||(t=Wt(e.bytes,e.faceIndex),ut.set(e,t)),(Gt.get(o)??[o.toLowerCase()]).some(r=>t.has(r))}function ct(e,o){let t=e.filter(n=>Yt(n,o));return t.length===0||t.length===e.length?e:[...t,...e.filter(n=>!t.includes(n))]}function J(e,o,t){if(!o.text.includes("\u2011"))return t;let n=new Set(t.glyphs.filter(i=>i.id===0).map(i=>i.cluster));if(!n.size)return t;let r=o.text.replace(/\u2011/g,(i,s)=>n.has(s)?"-":i);if(r===o.text)return t;try{let i=e.shape({...o,text:r});return s({...i,text:o.text},o.environment)}catch{return t}}function pt(e,o){if(o.length===0)return e;if(o.length>16)throw new RangeError("At most 16 glyph fallback faces are supported");let t=o.map(a=>e.fonts.resolve(a)).filter(a=>!(a instanceof d$3)),n={shape(a){return J(e.shaper,a,e.shaper.shape(a))}},r=new WeakMap,i={shape(a){let p=e.shaper.shape(a),l=r.get(p);if(l&&l.input.text===a.text&&l.input.fontSizeHalfPoints===a.fontSizeHalfPoints&&l.input.bidiLevel===a.bidiLevel&&l.input.context?.before===a.context?.before&&l.input.context?.after===a.context?.after&&l.input.environment===a.environment)return l.run;let d=s(a,J(e.shaper,a,p));return r.set(p,{input:a,run:d}),d}},s=(a,p$1)=>{let l=_(n,a,p$1);if(!l.glyphs.some(d=>d.id===0)||/^[\t\n\r\f]*$/.test(a.text))return l;if(/^(Latn|Cyrl|Grek|Hebr|Hani|Hira|Kana|Hang|Zyyy|Zinh)$/.test(a.environment.script)){let d=dt(n,a,l,t);if(d)return d}for(let d of ct(q(t,a.text),a.environment.script))if(!(d.hash===a.environment.font.hash&&d.faceIndex===a.environment.font.faceIndex))try{let g={...a,environment:p({...a.environment,font:d})},u=_(n,g,n.shape(g));if(!u.glyphs.some(c=>c.id===0))return u}catch{}return l};return {...e,shaper:i}}var Q=b$1;function ee(e){return typeof e.admittedFontFace=="function"}var $t=Object.freeze([{weight:400,style:"normal"},{weight:700,style:"normal"},{weight:400,style:"italic"},{weight:700,style:"italic"}]);function z(e){return Object.freeze({family:e.family,weight:e.weight,style:e.style})}var ft=new WeakMap;function j(e){let o=ft.get(e);return o||ft.set(e,o=Kt(e)),o}function Kt(e){let o=e.substitution;return Object.freeze({id:e.id,identity:e.identity,family:e.family,request:z(e.request),byteLength:e.byteLength,hash:e.hash,faceIndex:e.faceIndex,substitution:o?Object.freeze({requested:z(o.requested),resolved:z(o.resolved),...o.lineMetrics?{lineMetrics:Object.freeze({...o.lineMetrics})}:{}}):null})}function Zt(e){return Object.freeze({...j(e),bytes:i(e)})}function Jt(e,o){if(!e)return null;try{let t=e(o);return !t||t instanceof d$3?null:Zt(t)}catch{return null}}function mt(e){return o=>{if(e.status()!=="active")throw e.unavailable();return Jt(e.resolve(),o)}}function Qt(e){return Object.freeze(e.slice(0,Q).map(o=>Object.freeze({request:z(o.request),partName:o.partName,reason:o.reason})))}function te(e,o,t,n,r=[]){let i=new Map;for(let a of [...e,o]){let p=a.toLowerCase();i.has(p)||i.set(p,a);}let s=[...i.values()].map(a=>{let p=[];for(let l of $t){let d=n?.({family:a,...l});!d||d instanceof d$3||p.push(Object.freeze({...l,sourceFamily:d.family,via:d.substitution?"substitution":"direct",identity:d.identity,id:d.id,hash:d.hash,faceIndex:d.faceIndex,substitution:d.substitution}));}return Object.freeze({family:a,coverage:p.length===4?"complete":p.length>0?"partial":"none",faces:Object.freeze(p)})});return Object.freeze({requestedFamilies:Object.freeze([...e]),defaultFamily:o,families:Object.freeze(s),originFailures:Object.freeze([...t]),droppedEmbeddedFonts:Qt(r)})}function oe(e,o){if(o.onFontResolution){try{let t=o.onFontResolution(e);Promise.resolve(t).catch(n=>{console.warn("[fonts] font-resolution diagnostics callback failed",n);});}catch(t){console.warn("[fonts] font-resolution diagnostics callback failed",t);}return}for(let t of e.originFailures)console.warn("[fonts] a document export font origin failed and was skipped",t);for(let t of e.droppedEmbeddedFonts??[])console.warn("[fonts] a document embedded font face was dropped during export",t);}function ne(e,o,t=[]){let n=l=>l.trim().toLowerCase(),r=new Set([...e.requestedFamilies,e.defaultFamily].map(n)),i=new Set(t.map(l=>n(l.family))),s=l=>{if(!(l instanceof l$1))return true;let d=n(l.request.family);return r.has(d)||!i.has(d)},a=e.originFailures.some(({cause:l})=>l instanceof m?l.causes.length===0||l.causes.some(s):s(l));if(o.fontPolicy!=="strict"||!a&&e.families.every(l=>l.coverage==="complete"))return;let p=e.families.filter(l=>l.coverage!=="complete").map(l=>l.family).join(", ");throw new d("layoutFailed",`Strict font policy refused export${p?`; incomplete families: ${p}`:"; a font origin failed"}`)}function H(){return new Map}function re(e,o,t,n){if(t.trim().length===0)return null;let r={family:t,weight:n.bold?700:400,style:n.italic?"italic":"normal"},i=h$1(r),s=o.get(i);if(!s){try{s=e.fonts.resolve(r);}catch{return null}o.set(i,s);}return s instanceof d$3?null:s}function yt(e,o,t){let n=t.fontFamily??e.defaultFont.family;return re(e,o,n,t)}function ie(e){return typeof e.shapeLaidOutText=="function"}function ae(e){let o=H(),t=new WeakMap;return n=>{let r=ra(n.style,n.fontSlot),i=cc(n)?dc(n):_$1(n.text,r);if(i.length===0)return null;let s=r.fontFamily??e.defaultFont.family,a=re(e,o,s,r);if(!a)return null;try{if(r.smallCaps&&!_$2(e.shaper,e.environment,a,r,t))return null;let p=Z(e.shaper,e.environment,a,r,i);return Object.freeze({run:p,font:j(p.fontSpans[0]?.font??a),...p.fontSpans.length>1?{fonts:Object.freeze(p.fontSpans.map(l=>j(l.font)))}:{},fixedPointScale:e.environment.fixedPointScale})}catch{return null}}}function ht(e){return o=>{if(e.status()!=="active")throw e.unavailable();return e.shaping()?.shapeLaidOutText(o)??null}}var N=new Map,X=new WeakMap,se=0,M,le=32,gt=c;function xt(){if(M)return M;let e=(async()=>(await c$2(),g(h)))();return M=e,e.catch(()=>{M===e&&(M=void 0);}),e}function Ft(e){let o=H();return aa(e,{resolveFont(t){return yt(e,o,t)},fallback:ea()})}async function Et(e,o,t=[],n=false){if(!j$1(e))throw new TypeError("Session exporter shaping requires a prepared font handle");let r=await xt(),i=pt(await q$1(e,r,h,o,n),t);return Object.freeze({createMeasurer:()=>Ft(i),resolveFont:s=>i.fonts.resolve(s),shapeLaidOutText:ae(i),producer:["node-export-session",JSON.stringify(t),e.fingerprint,i.operation.shapingHash,`producer:${i.operation.producerVersion}`,`fallback:${da}`].join("|"),extensionFingerprint:e.fingerprint})}function eo(e,o){if(!j$1(e))return Promise.reject(new TypeError("Shared exporter shaping requires a prepared font handle"));let t=X.get(e);if(t)return t;let n=l(e),r=N.get(n);if(!r){if(N.size>=le)return Promise.reject(new RangeError(`Shared exporter shaping is limited to ${le} process-wide configurations`));r=(async()=>{let p=k(e).sources.reduce((d,g)=>d+(g.availability==="forbidden"?0:g.bytes.byteLength),0);if(se+p>gt)throw new RangeError(`Shared exporter shaping font bytes are limited to ${gt} process-wide`);se+=p;let l;try{let d=await xt();l=await q$1(e,d,h,o);}catch(d){throw se-=p,d}return Object.freeze({createMeasurer:()=>Ft(l),shapeLaidOutText:ae(l),shapingHash:l.operation.shapingHash,producerVersion:l.operation.producerVersion})})(),N.set(n,r),r.catch(()=>{N.get(n)===r&&N.delete(n);});}let i=e.fingerprint,s=r.then(a=>Object.freeze({createMeasurer:a.createMeasurer,shapeLaidOutText:a.shapeLaidOutText,producer:["node-export",i,a.shapingHash,`producer:${a.producerVersion}`,`fallback:${da}`].join("|"),extensionFingerprint:i}));return X.set(e,s),s.catch(()=>{X.get(e)===s&&X.delete(e);}),s}var to="http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable";function oo(e){let o=e.currentPackage(),t=(o.relationships.get(o.mainDocumentPart)??[]).find(r=>r.type===to),n;if(t){let r=E(t);r.mode==="Internal"&&r.target.ok&&(n=o.parts.get(r.target.partName));}return n??=o.parts.get("/word/fontTable.xml"),Se(o,n)}function bt(e,o){let t=oo(e);if(t.length!==0)return j$2(n=>{let r$1=new Set((n.resolvedFaces??[]).map(s=>h$1(s))),i=r(t,{maxFontBytes:a,aggregateBudget:no(n),shadowedRequests:r$1});if(o)for(let s of i.dropped){if(o.dropped.length>=Q)break;o.dropped.push(s);}return {sources:i.sources}})}function no(e){let o=e.committedSourceBytes;return o===void 0||!Number.isSafeInteger(o)||o<=0?c:Math.max(0,c-o)}function ro(e){return ee(e)&&ie(e)}var w=0,Rt=Symbol("font-resolution-timeout");function io(e){let o=0,t=false;return e?.(w),{reserve:r=>{if(t)throw new Error("Document font-byte lease is already released");if(w+r>c)throw new d("layoutFailed",`Active document export font bytes are limited to ${c}; requested ${r} bytes with ${w} bytes already active`);w+=r,o+=r,e?.(w);let i=false;return ()=>{i||t||(i=true,w-=r,o-=r,e?.(w));}},release:()=>{t||(t=true,w-=o,o=0,e?.(w));}}}function ue(e,o){return e.attributes.find(t=>t.localName===o)?.value}function ao(e,o){return e.attributes.find(t=>t.localName===o&&(t.namespaceUri===fa||t.namespaceUri===""))?.value}async function so(e$1,o){if(o.reuseAcrossRevisions===true)throw new TypeError("reuseAcrossRevisions requires a live view or caller-supplied measurer; document-aware byte sessions are immutable");if(o.signal?.aborted)return {ok:false,reason:"aborted"};let t=ab(e$1);if(!t.ok)return t;let{fonts:n,lastResortFonts:r,fontResolutionTimeoutMs:i,fontPolicy:s,onFontResolution:a,glyphFallbacks:p,documentLigatures:l,...d$1}=o,g=Array.isArray(n)?n:[n],u=r===void 0?[]:Array.isArray(r)?r:[r],c,y;try{y=await lo(t.view,g,{signal:o.signal,timeoutMs:i??o.resourceTimeoutMs,fontPolicy:s,glyphFallbacks:p,documentLigatures:l,lastResortFonts:u,onFontResolution:E=>(c=E,a?.(E))});}catch(E){if(E instanceof d&&E.code==="aborted")return {ok:false,reason:"aborted"};throw E}if(!c)throw y?.dispose(),new d("layoutFailed","Document font resolution completed without publishing its evidence");let R;try{R=e(t.view,{...d$1,reuseAcrossRevisions:!1,...y?{measurer:y.createMeasurer(),producer:o.producer??y.producer}:o.producer?{producer:o.producer}:{}});}catch(E){throw y?.dispose(),E}if(!R.ok)return y?.dispose(),R;let b=R.session,f=y,h="active",x=()=>h==="aborted"?new d("aborted","Export resource settlement was aborted"):new d("disposed","Export session has been disposed"),F=E=>{if(h==="active"){h=E,o.signal?.removeEventListener("abort",m);try{b.dispose();}finally{f?.dispose(),f=void 0;}}},m=()=>F("aborted");return o.signal?.addEventListener("abort",m,{once:true}),o.signal?.aborted&&m(),{ok:true,session:Object.freeze({fontResolution:c,layout:()=>h==="active"?b.layout():Promise.reject(x()),layoutFor:E=>h==="active"?b.layoutFor(E):Promise.reject(x()),validatedImageBytes:E=>h==="active"?b.validatedImageBytes(E):null,admittedFontFace:mt({status:()=>h,unavailable:x,resolve:()=>f?.resolveFont}),shapeLaidOutText:ht({status:()=>h,unavailable:x,shaping:()=>f}),dispose:()=>F("disposed")})}}async function lo(e,o$1,t={}){if((t.glyphFallbacks?.length??0)>16)throw new RangeError("At most 16 glyph fallback faces are supported");let n$1=uo(t.timeoutMs),r=new AbortController,i=()=>r.abort(t.signal?.reason);t.signal?.addEventListener("abort",i,{once:true}),t.signal?.aborted&&i();let s=setTimeout(()=>r.abort(Rt),n$1);try{de(r.signal);let a=(async()=>{let p=io(t.onActiveFontBytesChange),l=!1;try{let d=po(e).slice(0,c$1),g=[],u={dropped:[]},c=bt(e,u),y=[...o$1,...c?[c]:[],...t.lastResortFonts??[]],R=await o(y,{families:[...new Set([...(t.glyphFallbacks??[]).map(x=>x.family),...d])].slice(0,c$1),defaultFamily:d$1.family,signal:r.signal},{onOriginFailure:x=>g.push(x),reserveOwnedBytes:p.reserve,maxExecutionFontBytes:h.maxFontBytes});de(r.signal);let b=f(R??{});if(b.sources.length===0){let x=te(d,b.defaultFont.family,g,void 0,u.dropped);oe(x,t),ne(x,t,t.glyphFallbacks);return}let f$1=await Et(n(b),void 0,t.glyphFallbacks,t.documentLigatures);de(r.signal);let h$1=te(d,b.defaultFont.family,g,f$1.resolveFont,u.dropped);return oe(h$1,t),ne(h$1,t,t.glyphFallbacks),l=!0,Object.freeze({...f$1,dispose:p.release})}finally{l||p.release();}})();return await Promise.race([a,co(r.signal)])}finally{clearTimeout(s),t.signal?.removeEventListener("abort",i);}}function uo(e){if(e===void 0)return 6e4;if(!Number.isFinite(e)||e<=0)throw new RangeError("timeoutMs must be a positive finite number");return Math.max(1,e)}function co(e){return new Promise((o,t)=>{let n=()=>{t(St(e));};e.aborted?n():e.addEventListener("abort",n,{once:true});})}function St(e){let o=e.reason===Rt;return new d(o?"timedOut":"aborted",o?"Font resolution timed out":"Font resolution was aborted",o?void 0:{cause:e.reason})}function de(e){if(e.aborted)throw St(e)}function po(e){let o=[e.part().root],t=[],n=[],r=new Set([e.part().name]),i=(d,g)=>{!g||r.has(g.name)||(r.add(g.name),d.push(g.root));};for(let d of e.headerFooterPartsBySection()){for(let g of d.headers.values())i(t,g);for(let g of d.footers.values())i(t,g);}for(let d of ["footnote","endnote"])n.push(...fo(e,d));let s=e.documentThemeFonts(),a={...s,major:s.major,minor:s.minor,majorEastAsia:s.majorEastAsia??null,minorEastAsia:s.minorEastAsia??null},p=new Map,l=(d,g)=>{let u=d$2(d,e.stylesRoot(),a,yo(d,g)),c=y(d,e.numberingRoot(),e.stylesRoot(),a);for(let y of [...u.direct,...xo(d),...c,...v(d,e.stylesRoot(),a),...u.inherited]){let R=y.toLowerCase();p.has(R)||p.set(R,y);}};return l(o,"body"),l(t,"furniture"),l(n,"note"),[...p.values()]}function fo(e,o){let t=Ig(e.currentPackage(),o);if(!t)return [];let n=new Set(Jg(e.part()).filter(i=>i.noteKind===o).map(i=>i.noteId)),r=[];for(let i of t.root.children){if(i.kind==="textValue")continue;let s=kc(i),a=jc(i);(s==="separator"||s==="continuationSeparator"||a!==null&&n.has(a))&&r.push(i);}return r}var mo="http://schemas.openxmlformats.org/officeDocument/2006/math";function yo(e,o){let t=new Set;for(let n of e){let r=[],i=[{node:n,context:o}];for(;i.length>0;){let{node:s,context:a}=i.pop();s.namespaceUri===fa&&s.localName==="p"&&r.push({paragraph:s,context:a});let p=s.namespaceUri===fa&&s.localName==="txbxContent"&&(a==="body"||a==="note")?"detached":a;for(let l=s.children.length-1;l>=0;l-=1){let d=s.children[l];d.kind!=="textValue"&&i.push({node:d,context:p});}}for(let s of r)ho(s.paragraph,t,s.context);}return t}function ho(e,o,t){let n=ib(),r=null,i=null,s="",a=false,p=false,l=false,d=0,g=[];for(let u=e.children.length-1;u>=0;u-=1){let c=e.children[u];c.kind!=="textValue"&&g.push({node:c,runId:null,visibility:D,containerDepth:0});}for(;g.length>0;){let{node:u,runId:c,visibility:y,containerDepth:R}=g.pop();if(R>=oa||u.namespaceUri===fa&&u.localName==="p")continue;let b=u.namespaceUri===fa&&u.localName==="r"?u.id:c;if(u.namespaceUri===fa&&u.localName==="fldSimple"){let f=ue(u,"instr")??"";dd(f,{allowPageFields:t==="body"||t==="furniture",allowRefFields:t==="body"||t==="note",allowPageRef:t==="body",allowAutonum:t==="body"||t==="note"})&&go(u)!==D&&o.add(u.id);}if(u.namespaceUri===fa&&u.localName==="fldChar"){let f=ue(u,"fldCharType");if(f==="begin")lb(n),n.nesting===1&&(r=b,i=null,s="",a=false,p=false,l=ff(u),d=0);else if(f==="separate"){let h=n.nesting===1;if(nb(n),h){let x=kb(n);s=x.instruction,a=x.overflow||n.nestingOverflow,i=b,p=true;}}else if(f==="end"){if(n.nesting===1){if(n.phase==="instruction"){let x=kb(n);s=x.instruction,a=x.overflow||n.nestingOverflow;}if(!a&&cd(s,{hasSeparate:p,hasLegacyFormData:l,allowPageFields:t==="body"||t==="furniture",allowRefFields:t==="body"||t==="note",allowPageRef:t==="body",allowAutonum:t==="body"||t==="note"})&&d!==D){let x=i??r;x&&o.add(x);}}ob(n);}continue}if(u.namespaceUri===fa&&(u.localName==="instrText"||u.localName==="delInstrText")){mb(n,Lt(u),u.localName==="delInstrText");continue}n.nesting>0&&pb(n)&&u.namespaceUri===fa&&Ot(u)&&(d|=y);for(let f=u.children.length-1;f>=0;f-=1){let h=u.children[f];h.kind!=="textValue"&&g.push({node:h,runId:b,visibility:y&At(u),containerDepth:pa(u,R)});}}jb(n);}function Ot(e){return e.localName==="t"||e.localName==="delText"?Lt(e).length>0:e.localName==="sym"||e.localName==="tab"||e.localName==="br"}var ce=1,vt=2,wt=4,D=ce|vt|wt;function go(e){let o=[];for(let n of e.children)n.kind!=="textValue"&&o.push({node:n,visibility:D});let t=0;for(;o.length>0;){let{node:n,visibility:r}=o.pop();if(!(n.namespaceUri===fa&&n.localName==="p")){if(n.namespaceUri===fa&&Ot(n)&&(t|=r,t===D))return t;for(let i of n.children)i.kind!=="textValue"&&o.push({node:i,visibility:r&At(n)});}}return t}function At(e){return e.namespaceUri!==fa?D:e.localName==="ins"||e.localName==="moveTo"?ce|vt:e.localName==="del"||e.localName==="moveFrom"?ce|wt:D}function xo(e){let o=new Map,t=n=>{let r=a$1(n??void 0);if(r===null)return;let i=r.toLowerCase();o.has(i)||o.set(i,r);};for(let n of e){let r=[n];for(;r.length>0;){let i=r.pop();if(i.namespaceUri===mo&&t(ac),i.namespaceUri===fa&&i.localName==="sym"&&t(b(ao(i,"font"))),i.namespaceUri===fa&&i.localName==="fldSimple"){let s=ue(i,"instr");t(Zc(s??"")?.font??null);}if(i.namespaceUri===fa&&i.localName==="p")for(let s of x(i))t(s);for(let s=i.children.length-1;s>=0;s-=1){let a=i.children[s];a.kind!=="textValue"&&r.push(a);}}}return [...o.values()]}function Lt(e){let o="",t=[...e.children].reverse();for(;t.length>0&&o.length<=256;){let n=t.pop();if(n.kind==="textValue")o+=n.value;else for(let r=n.children.length-1;r>=0;r-=1)t.push(n.children[r]);}return o}var Dt="FILE_TOO_LARGE",Tt=8;function Fo(e){return typeof e=="object"&&e!==null}function kt(e){if(!(!Fo(e)||typeof e.code!="string"))return e.code}function It(e){return e===""||e.toLowerCase()==="localhost"}function Eo(e){try{let o=decodeURIComponent(e);return o.includes("\0")?null:o}catch{return null}}function _t(e){let o=Eo(e);if(o===null)return null;let t=[];for(let n of o.split(/[/\\]/))if(!(n===""||n===".")){if(n===".."){if(t.length===0)return null;t.pop();continue}t.push(n);}return `/${t.join("/")}`}function Nt(e){let o=_t(e);return o===null?null:o.endsWith("/")?o:`${o}/`}function bo(e){return e==="/"||/^\/[A-Za-z]:\/$/.test(e)}function Ro(e){let o;try{o=typeof e=="string"?new URL(e):new URL("href"in e?e.href:String(e));}catch{throw new TypeError("trustedRoot must be an absolute file: URL")}if(o.protocol!=="file:")throw new TypeError("trustedRoot must use the file: protocol");if(o.username!==""||o.password!=="")throw new TypeError("trustedRoot must not include credentials");if(!It(o.host))throw new TypeError("trustedRoot must be a local file: URL");let t=Nt(o.pathname);if(t===null||bo(t))throw new TypeError("trustedRoot must be a directory inside the filesystem");let n=new URL("file:///");return n.pathname=t,n}function So(e){if(typeof e=="string")return [e];if(typeof e=="object"&&e!==null&&"href"in e)return [e];if(Array.isArray(e))return e;throw new TypeError("trustedRoot must be an absolute file: URL")}function Oo(e){let o=So(e);if(o.length===0)throw new TypeError("trustedRoot must name at least one directory");if(o.length>Tt)throw new TypeError(`trustedRoot must not exceed ${Tt} directories`);return o.map(Ro)}function vo(e){if(!Number.isSafeInteger(e)||e<=0)throw new TypeError("maxBytes must be a positive safe integer");if(e>a)throw new TypeError(`maxBytes must not exceed ${a}`);return e}function wo(e,o){if(e.protocol!=="file:"||e.username!==""||e.password!==""||!It(e.host))return null;let t=_t(e.pathname);if(t===null)return null;for(let n of o){let r=Nt(n.pathname);if(r===null||!t.startsWith(r)||t.length<=r.length)continue;let i=new URL("file:///");return i.pathname=t,i}return null}function Ao(e){return typeof e=="string"?new URL(e):"href"in e&&typeof e.href=="string"?new URL(e.href):new URL("url"in e?e.url:String(e))}function Lo(e,o,t){let n=t.relative(t.resolve(e),t.resolve(o));return n!==""&&!n.startsWith("..")&&!t.isAbsolute(n)}function Pt(e,o,t){return e.some(n=>Lo(n,o,t))}async function To(e,o){let t=[];for(let n of e)try{t.push(await o(n));}catch(r){if(kt(r)==="ENOENT")continue;throw r}return t}function Po(e){return async(o,{signal:t,maxBytes:n})=>{if(t?.aborted)throw t.reason;let[{open:r,realpath:i},{constants:s},{fileURLToPath:a},p]=await Promise.all([import('fs/promises'),import('fs'),import('url'),import('path')]),l=e.map(y=>p.resolve(a(y.href))),d=p.resolve(a(typeof o=="string"?o:o.href));if(!Pt(l,d,p))throw Object.assign(new Error("packaged file is outside trustedRoot"),{code:"ENOENT"});let g=typeof s.O_NOFOLLOW=="number"?s.O_RDONLY|s.O_NOFOLLOW:"r",u=await r(d,g),c=()=>{u.close();};t?.addEventListener("abort",c,{once:true});try{if(t?.aborted)throw t.reason;let y=await i(d);if(!Pt(await To(l,i),y,p))throw Object.assign(new Error("packaged file is outside trustedRoot"),{code:"ENOENT"});let R=(await u.stat()).size;if(!Number.isSafeInteger(R)||R<0||R>n)throw Object.assign(new Error("packaged file exceeds maxBytes"),{code:Dt});let b=new Uint8Array(R),f=0;for(;f<b.byteLength;){if(t?.aborted)throw t.reason;let{bytesRead:h}=await u.read(b,f,b.byteLength-f,f);if(h===0)break;f+=h;}if(t?.aborted)throw t.reason;return f===b.byteLength?b:b.slice(0,f)}catch(y){throw t?.aborted?t.reason:y}finally{t?.removeEventListener("abort",c),await u.close().catch(()=>{});}}}function Do(e){if(e===null||typeof e!="object")throw new TypeError("createPackagedFileFetch requires trustedRoot and maxBytes");if(e.trustedRoot===void 0||e.maxBytes===void 0)throw new TypeError("createPackagedFileFetch requires trustedRoot and maxBytes");let o=Oo(e.trustedRoot),t=vo(e.maxBytes),n=e.read??Po(o),r=e.networkFetch??fetch;return(async(i,s)=>{let a=s?.signal;if(a?.aborted)throw a.reason;let p=Ao(i);if(p.protocol!=="file:")return r(p,s);let l=wo(p,o);if(!l)return new Response(null,{status:404});let d=a?new AbortController:void 0,g=()=>d?.abort(a?.reason);a?.addEventListener("abort",g,{once:true});let u;try{if(u=await n(l,{maxBytes:t,...d?{signal:d.signal}:{}}),a?.aborted)throw a.reason;if(u.byteLength>t)return new Response(null,{status:413})}catch(c){if(a?.aborted)throw a.reason;if(d?.signal.aborted)throw d.signal.reason??c;if(c instanceof DOMException&&c.name==="AbortError"||c instanceof Error&&c.name==="AbortError")throw c;let y=kt(c);if(y===Dt)return new Response(null,{status:413});if(y==="ENOENT"||y==="ENOTDIR"||y==="ELOOP")return new Response(null,{status:404});throw c}finally{a?.removeEventListener("abort",g);}return new Response(u,{status:200})})}
|
|
2
|
-
export{le as MAX_SHARED_EXPORT_SHAPING_CONFIGURATIONS,
|
|
1
|
+
import {c as c$1,x,o,d as d$1,z as z$1,f,v,s,j as j$2,C,m,u,l as l$1}from'./chunk-VDNNLG6X.js';import {j as j$1,l,k,q as q$1,h,n,c as c$2,g,_ as _$1,Z,aa}from'./chunk-2RC2EPND.js';import'./chunk-RIYSCEFQ.js';import {d,e}from'./chunk-6EYYL7FL.js';export{d as ExportResourceError,c as createNodeImageDecodePort,b as exportDestinationNamed,e as openDocumentForExport}from'./chunk-6EYYL7FL.js';import {c,ga,ua,dd,ed,ba,ha,h as h$1,a,d as d$2,Wc,b as b$1,i,Vb,Yc,Yb,_b,Xb,Xc,$b,Zb,ac,Wb,p,s as s$1,n as n$1,$c}from'./chunk-FRXAOVTB.js';import {e as e$1,c as c$3,b as b$2}from'./chunk-5CSUYANV.js';import'./chunk-TSLBZ26X.js';import {Ba}from'./chunk-J6BVWIDB.js';import {ch,dh,zc,yc,b,la,J,if as _if,wa,Bf,xa}from'./chunk-4R3TEXMN.js';function _(e,o,t){if(o.environment.features.smcp!==1||!/\p{Ll}/u.test(o.text))return t;let n={...o,environment:{...o.environment,features:{...o.environment.features,smcp:0}}},r=e.shape(n);if(t.glyphs.length!==r.glyphs.length||t.glyphs.some((u,c)=>u.id!==r.glyphs[c]?.id))return t;let i=[],s=0;for(let u of o.text){let c=u.toUpperCase()!==u,y=i.at(-1);y&&(y.lower===c||/\p{M}/u.test(u))?y.text+=u:i.push({text:u,start:s,lower:c}),s+=u.length;}let a=[],p=[],l=[],d=true,g=0;for(let u of o.environment.direction==="rtl"?i.reverse():i){let c=u.lower?.8:1,y=[],b=[],R="",f=u.start;for(let x of u.text){let m=u.lower?x.toUpperCase():x;for(let E=0;E<m.length;E++)y.push(f),b.push(f+x.length);R+=m,f+=x.length;}let h=e.shape({...n,text:R}),F=a.length;for(let[x,m]of h.glyphs.entries()){let E=h.exactAdvancesX?.[x];E===void 0?d=false:l.push(E*c),a.push({...m,cluster:y[m.cluster]??u.start,originX:n$1(g+Math.round(m.originX*c)),originY:n$1(Math.round(m.originY*c)),offsetX:n$1(Math.round(m.offsetX*c)),offsetY:n$1(Math.round(m.offsetY*c)),advanceX:n$1(Math.round(m.advanceX*c)),advanceY:n$1(Math.round(m.advanceY*c)),drawScale:c});}for(let x of h.clusters){let m=y[x.textStart]??u.start,E=b[x.textEnd-1]??f,L=n$1(Math.round(x.advance*c)),A=p.at(-1);A&&A.textStart===m&&A.textEnd===E?p[p.length-1]={...A,glyphEnd:F+x.glyphEnd,advance:n$1(A.advance+L),caretEdges:[n$1(0),n$1(A.advance+L)]}:p.push({...x,textStart:m,textEnd:E,glyphStart:F+x.glyphStart,glyphEnd:F+x.glyphEnd,advance:L,caretEdges:x.caretEdges.map(V=>n$1(Math.round(V*c))),fontSpan:0});}g+=h.glyphs.reduce((x,m)=>x+Math.round(m.advanceX*c),0);}return {...t,glyphs:a,clusters:p,fontSpans:[{...t.fontSpans[0],glyphStart:0,glyphEnd:a.length}],exactAdvancesX:d&&l.length===a.length?l:void 0}}var ut=new WeakMap;function zt(e){let o=ut.get(e);return o===void 0&&(o=Xt(e.bytes,e.faceIndex),ut.set(e,o)),o}var jt=new Set(["COLR","CBDT","sbix"]),Ht=512;function Xt(e,o){let t=new DataView(e.buffer,e.byteOffset,e.byteLength);if(e.byteLength<12)return false;let n=0;if(ct(e,0)==="ttcf"){let i=t.getUint32(8);if(o<0||o>=i||12+4*o+4>e.byteLength||(n=t.getUint32(12+4*o),n+12>e.byteLength))return false}let r=Math.min(t.getUint16(n+4),Ht);for(let i=0;i<r;i++){let s=n+12+i*16;if(s+4>e.byteLength)return false;if(jt.has(ct(e,s)))return true}return false}function ct(e,o){return String.fromCharCode(e[o],e[o+1],e[o+2],e[o+3])}var Gt=/\p{Emoji_Presentation}|️/u;function Vt(e){return Gt.test(e)}function q(e,o){if(e.length<2)return e;let t=e.filter(zt);if(t.length===0||t.length===e.length)return e;let n=e.filter(r=>!t.includes(r));return Vt(o)?[...t,...n]:[...n,...t]}var Wt=2048;function pt(e,o,t,n){if(!t.clusters.length||t.clusters.length>Wt)return null;let r=(f,h)=>{let{context:F,...x}=o,m={...x,text:h,environment:p({...o.environment,font:f})};return _(e,m,e.shape(m))},i=[],s=new Map;for(let f of [...t.clusters].sort((h,F)=>h.textStart-F.textStart)){let h=o.environment.font,F=o.text.slice(f.textStart,f.textEnd),x=i.at(-1);if(/^[\uFE0E\uFE0F]$/.test(F)&&x&&x.end===f.textStart){x.end=f.textEnd;continue}if(o.environment.script==="Hebr"&&/^\s+$/u.test(F)&&x&&x.font!==o.environment.font&&x.end===f.textStart){x.end=f.textEnd;continue}if(t.glyphs.slice(f.glyphStart,f.glyphEnd).some(E=>E.id===0)){let E=o.text.slice(f.textStart,f.textEnd+1),L=s.get(F)??q(n,E).find(A=>{try{return !r(A,F).glyphs.some(V=>V.id===0)}catch{return false}});if(!L)return null;s.set(F,L),h=L;}let m=i.at(-1);m&&m.font===h&&m.end===f.textStart?m.end=f.textEnd:i.push({start:f.textStart,end:f.textEnd,font:h});}let a=[],p$1=[],l=[],d=[],g=true,u=0,c=0,y=0,b=0,R=0;for(let f of o.environment.direction==="rtl"?i.reverse():i){let h=r(f.font,o.text.slice(f.start,f.end));if(h.glyphs.some(m=>m.id===0))return null;let F=a.length,x=l.length;for(let m of h.glyphs)a.push({...m,cluster:f.start+m.cluster,originX:n$1(u+m.originX),originY:n$1(c+m.originY)});if(h.exactAdvancesX===void 0)g=false;else for(let m of h.exactAdvancesX)d.push(m);for(let m of h.clusters)p$1.push({...m,textStart:f.start+m.textStart,textEnd:f.start+m.textEnd,glyphStart:F+m.glyphStart,glyphEnd:F+m.glyphEnd,fontSpan:x});h.glyphs.length&&l.push({font:f.font,glyphStart:F,glyphEnd:a.length,fallbackIndex:f.font===o.environment.font?null:n.indexOf(f.font)}),u+=h.glyphs.reduce((m,E)=>m+E.advanceX,0),c+=h.glyphs.reduce((m,E)=>m+E.advanceY,0),y=Math.max(y,h.metrics.ascent),b=Math.max(b,h.metrics.descent),R=Math.max(R,h.metrics.lineGap);}return s$1({...t,glyphs:a,clusters:p$1,fontSpans:l,exactAdvancesX:g&&d.length===a.length?d:void 0,metrics:{ascent:n$1(y),descent:n$1(b),lineGap:n$1(R)}},{...o.environment,fallbackOrder:n})}var Yt=new Map([["Beng",["bng2","beng"]],["Deva",["dev2","deva"]],["Gujr",["gjr2","gujr"]],["Guru",["gur2","guru"]],["Knda",["knd2","knda"]],["Mlym",["mlm2","mlym"]],["Orya",["ory2","orya"]],["Taml",["tml2","taml"]],["Telu",["tel2","telu"]],["Nkoo",["nko "]]]),$t=512,ft=new WeakMap;function Kt(e,o){let t=new Set,n=new DataView(e.buffer,e.byteOffset,e.byteLength),r=c=>c+2<=n.byteLength?n.getUint16(c):-1,i=c=>c+4<=n.byteLength?n.getUint32(c):-1,s=c=>c+4<=n.byteLength?String.fromCharCode(n.getUint8(c),n.getUint8(c+1),n.getUint8(c+2),n.getUint8(c+3)):"",a=0;if(s(0)==="ttcf"){let c=i(8);if(c<0||o<0||o>=c||(a=i(12+o*4),a<0))return t}let p=r(a+4);if(p<0||p>1024)return t;let l=-1;for(let c=0;c<p;c+=1){let y=a+12+c*16;if(s(y)==="GSUB"){l=i(y+8);break}}if(l<0)return t;let d=r(l+4);if(d<=0)return t;let g=l+d,u=r(g);if(u<0)return t;for(let c=0;c<Math.min(u,$t);c+=1){let y=s(g+2+c*6);y&&t.add(y);}return t}function Zt(e,o){let t=ft.get(e);return t||(t=Kt(e.bytes,e.faceIndex),ft.set(e,t)),(Yt.get(o)??[o.toLowerCase()]).some(r=>t.has(r))}function mt(e,o){let t=e.filter(n=>Zt(n,o));return t.length===0||t.length===e.length?e:[...t,...e.filter(n=>!t.includes(n))]}function Q(e,o,t){if(!o.text.includes("\u2011"))return t;let n=new Set(t.glyphs.filter(i=>i.id===0).map(i=>i.cluster));if(!n.size)return t;let r=o.text.replace(/\u2011/g,(i,s)=>n.has(s)?"-":i);if(r===o.text)return t;try{let i=e.shape({...o,text:r});return s$1({...i,text:o.text},o.environment)}catch{return t}}function yt(e,o){if(o.length===0)return e;if(o.length>16)throw new RangeError("At most 16 glyph fallback faces are supported");let t=o.map(a=>e.fonts.resolve(a)).filter(a=>!(a instanceof d$2)),n={shape(a){return Q(e.shaper,a,e.shaper.shape(a))}},r=new WeakMap,i={shape(a){let p=e.shaper.shape(a),l=r.get(p);if(l&&l.input.text===a.text&&l.input.fontSizeHalfPoints===a.fontSizeHalfPoints&&l.input.bidiLevel===a.bidiLevel&&l.input.context?.before===a.context?.before&&l.input.context?.after===a.context?.after&&l.input.environment===a.environment)return l.run;let d=s(a,Q(e.shaper,a,p));return r.set(p,{input:a,run:d}),d}},s=(a,p$1)=>{let l=_(n,a,p$1);if(!l.glyphs.some(d=>d.id===0)||/^[\t\n\r\f]*$/.test(a.text))return l;if(/^(Latn|Cyrl|Grek|Hebr|Hani|Hira|Kana|Hang|Zyyy|Zinh)$/.test(a.environment.script)){let d=pt(n,a,l,t);if(d)return d}for(let d of mt(q(t,a.text),a.environment.script))if(!(d.hash===a.environment.font.hash&&d.faceIndex===a.environment.font.faceIndex))try{let g={...a,environment:p({...a.environment,font:d})},u=_(n,g,n.shape(g));if(!u.glyphs.some(c=>c.id===0))return u}catch{}return l};return {...e,shaper:i}}var ee=b$1;function te(e){return typeof e.admittedFontFace=="function"}var Jt=Object.freeze([{weight:400,style:"normal"},{weight:700,style:"normal"},{weight:400,style:"italic"},{weight:700,style:"italic"}]);function z(e){return Object.freeze({family:e.family,weight:e.weight,style:e.style})}var ht=new WeakMap;function j(e){let o=ht.get(e);return o||ht.set(e,o=Qt(e)),o}function Qt(e){let o=e.substitution;return Object.freeze({id:e.id,identity:e.identity,family:e.family,request:z(e.request),byteLength:e.byteLength,hash:e.hash,faceIndex:e.faceIndex,substitution:o?Object.freeze({requested:z(o.requested),resolved:z(o.resolved),...o.lineMetrics?{lineMetrics:Object.freeze({...o.lineMetrics})}:{}}):null})}function eo(e){return Object.freeze({...j(e),bytes:i(e)})}function to(e,o){if(!e)return null;try{let t=e(o);return !t||t instanceof d$2?null:eo(t)}catch{return null}}function gt(e){return o=>{if(e.status()!=="active")throw e.unavailable();return to(e.resolve(),o)}}function oo(e){return Object.freeze(e.slice(0,ee).map(o=>Object.freeze({request:z(o.request),partName:o.partName,reason:o.reason})))}function oe(e,o,t,n,r=[]){let i=new Map;for(let a of [...e,o]){let p=a.toLowerCase();i.has(p)||i.set(p,a);}let s=[...i.values()].map(a=>{let p=[];for(let l of Jt){let d=n?.({family:a,...l});!d||d instanceof d$2||p.push(Object.freeze({...l,sourceFamily:d.family,via:d.substitution?"substitution":"direct",identity:d.identity,id:d.id,hash:d.hash,faceIndex:d.faceIndex,substitution:d.substitution}));}return Object.freeze({family:a,coverage:p.length===4?"complete":p.length>0?"partial":"none",faces:Object.freeze(p)})});return Object.freeze({requestedFamilies:Object.freeze([...e]),defaultFamily:o,families:Object.freeze(s),originFailures:Object.freeze([...t]),droppedEmbeddedFonts:oo(r)})}function ne(e,o){if(o.onFontResolution){try{let t=o.onFontResolution(e);Promise.resolve(t).catch(n=>{console.warn("[fonts] font-resolution diagnostics callback failed",n);});}catch(t){console.warn("[fonts] font-resolution diagnostics callback failed",t);}return}for(let t of e.originFailures)console.warn("[fonts] a document export font origin failed and was skipped",t);for(let t of e.droppedEmbeddedFonts??[])console.warn("[fonts] a document embedded font face was dropped during export",t);}function re(e,o,t=[]){let n=l=>l.trim().toLowerCase(),r=new Set([...e.requestedFamilies,e.defaultFamily].map(n)),i=new Set(t.map(l=>n(l.family))),s=l=>{if(!(l instanceof l$1))return true;let d=n(l.request.family);return r.has(d)||!i.has(d)},a=e.originFailures.some(({cause:l})=>l instanceof m?l.causes.length===0||l.causes.some(s):s(l));if(o.fontPolicy!=="strict"||!a&&e.families.every(l=>l.coverage==="complete"))return;let p=e.families.filter(l=>l.coverage!=="complete").map(l=>l.family).join(", ");throw new d("layoutFailed",`Strict font policy refused export${p?`; incomplete families: ${p}`:"; a font origin failed"}`)}function H(){return new Map}function X(e,o,t,n){if(t.trim().length===0)return null;let r={family:t,weight:n.bold?700:400,style:n.italic?"italic":"normal"},i=h$1(r),s=o.get(i);if(!s){try{s=e.fonts.resolve(r);}catch{return null}o.set(i,s);}return s instanceof d$2?null:s}function xt(e,o,t){let n=t.fontFamily??e.defaultFont.family;return X(e,o,n,t)}function ie(e){return typeof e.shapeLaidOutText=="function"}function no(e){for(let o of e){let t=o.codePointAt(0);if(t!==32&&(t<=255||t>=61440&&t<=61695))return false}return true}function ae(e){let o=H(),t=new WeakMap;return n=>{let r=ua(n.style,n.fontSlot),i=dd(n)?ed(n):ba(n.text,r);if(i.length===0)return null;let s=r.fontFamily??e.defaultFont.family,a=X(e,o,s,r)??(b(s)&&no(i)?X(e,o,e.defaultFont.family,r):null);if(!a)return null;try{if(r.smallCaps&&!_$1(e.shaper,e.environment,a,r,t))return null;let p=Z(e.shaper,e.environment,a,r,i);return Object.freeze({run:p,font:j(p.fontSpans[0]?.font??a),...p.fontSpans.length>1?{fonts:Object.freeze(p.fontSpans.map(l=>j(l.font)))}:{},fixedPointScale:e.environment.fixedPointScale})}catch{return null}}}function Ft(e){return o=>{if(e.status()!=="active")throw e.unavailable();return e.shaping()?.shapeLaidOutText(o)??null}}var N=new Map,G=new WeakMap,se=0,M,le=32,Et=c;function bt(){if(M)return M;let e=(async()=>(await c$2(),g(h)))();return M=e,e.catch(()=>{M===e&&(M=void 0);}),e}function Rt(e){let o=H();return aa(e,{resolveFont(t){return xt(e,o,t)},fallback:ha()})}async function St(e,o,t=[],n=false){if(!j$1(e))throw new TypeError("Session exporter shaping requires a prepared font handle");let r=await bt(),i=yt(await q$1(e,r,h,o,n),t);return Object.freeze({createMeasurer:()=>Rt(i),resolveFont:s=>i.fonts.resolve(s),shapeLaidOutText:ae(i),producer:["node-export-session",JSON.stringify(t),e.fingerprint,i.operation.shapingHash,`producer:${i.operation.producerVersion}`,`fallback:${ga}`].join("|"),extensionFingerprint:e.fingerprint})}function ro(e,o){if(!j$1(e))return Promise.reject(new TypeError("Shared exporter shaping requires a prepared font handle"));let t=G.get(e);if(t)return t;let n=l(e),r=N.get(n);if(!r){if(N.size>=le)return Promise.reject(new RangeError(`Shared exporter shaping is limited to ${le} process-wide configurations`));r=(async()=>{let p=k(e).sources.reduce((d,g)=>d+(g.availability==="forbidden"?0:g.bytes.byteLength),0);if(se+p>Et)throw new RangeError(`Shared exporter shaping font bytes are limited to ${Et} process-wide`);se+=p;let l;try{let d=await bt();l=await q$1(e,d,h,o);}catch(d){throw se-=p,d}return Object.freeze({createMeasurer:()=>Rt(l),shapeLaidOutText:ae(l),shapingHash:l.operation.shapingHash,producerVersion:l.operation.producerVersion})})(),N.set(n,r),r.catch(()=>{N.get(n)===r&&N.delete(n);});}let i=e.fingerprint,s=r.then(a=>Object.freeze({createMeasurer:a.createMeasurer,shapeLaidOutText:a.shapeLaidOutText,producer:["node-export",i,a.shapingHash,`producer:${a.producerVersion}`,`fallback:${ga}`].join("|"),extensionFingerprint:i}));return G.set(e,s),s.catch(()=>{G.get(e)===s&&G.delete(e);}),s}var io="http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable";function ao(e){let o=e.currentPackage(),t=(o.relationships.get(o.mainDocumentPart)??[]).find(r=>r.type===io),n;if(t){let r=J(t);r.mode==="Internal"&&r.target.ok&&(n=o.parts.get(r.target.partName));}return n??=o.parts.get("/word/fontTable.xml"),_if(o,n)}function Ot(e,o){let t=ao(e);if(t.length!==0)return j$2(n=>{let r=new Set((n.resolvedFaces??[]).map(s=>h$1(s))),i=C(t,{maxFontBytes:a,aggregateBudget:so(n),shadowedRequests:r});if(o)for(let s of i.dropped){if(o.dropped.length>=ee)break;o.dropped.push(s);}return {sources:i.sources}})}function so(e){let o=e.committedSourceBytes;return o===void 0||!Number.isSafeInteger(o)||o<=0?c:Math.max(0,c-o)}function lo(e){return te(e)&&ie(e)}var w=0,vt=Symbol("font-resolution-timeout");function uo(e){let o=0,t=false;return e?.(w),{reserve:r=>{if(t)throw new Error("Document font-byte lease is already released");if(w+r>c)throw new d("layoutFailed",`Active document export font bytes are limited to ${c}; requested ${r} bytes with ${w} bytes already active`);w+=r,o+=r,e?.(w);let i=false;return ()=>{i||t||(i=true,w-=r,o-=r,e?.(w));}},release:()=>{t||(t=true,w-=o,o=0,e?.(w));}}}function ue(e,o){return e.attributes.find(t=>t.localName===o)?.value}function co(e,o){return e.attributes.find(t=>t.localName===o&&(t.namespaceUri===la||t.namespaceUri===""))?.value}async function po(e$1,o){if(o.reuseAcrossRevisions===true)throw new TypeError("reuseAcrossRevisions requires a live view or caller-supplied measurer; document-aware byte sessions are immutable");if(o.signal?.aborted)return {ok:false,reason:"aborted"};let t=Ba(e$1);if(!t.ok)return t;let{fonts:n,lastResortFonts:r,fontResolutionTimeoutMs:i,fontPolicy:s,onFontResolution:a,glyphFallbacks:p,documentLigatures:l,...d$1}=o,g=Array.isArray(n)?n:[n],u=r===void 0?[]:Array.isArray(r)?r:[r],c,y;try{y=await fo(t.view,g,{signal:o.signal,timeoutMs:i??o.resourceTimeoutMs,fontPolicy:s,glyphFallbacks:p,documentLigatures:l,lastResortFonts:u,onFontResolution:E=>(c=E,a?.(E))});}catch(E){if(E instanceof d&&E.code==="aborted")return {ok:false,reason:"aborted"};throw E}if(!c)throw y?.dispose(),new d("layoutFailed","Document font resolution completed without publishing its evidence");let b;try{b=e(t.view,{...d$1,reuseAcrossRevisions:!1,...y?{measurer:y.createMeasurer(),producer:o.producer??y.producer}:o.producer?{producer:o.producer}:{}});}catch(E){throw y?.dispose(),E}if(!b.ok)return y?.dispose(),b;let R=b.session,f=y,h="active",F=()=>h==="aborted"?new d("aborted","Export resource settlement was aborted"):new d("disposed","Export session has been disposed"),x=E=>{if(h==="active"){h=E,o.signal?.removeEventListener("abort",m);try{R.dispose();}finally{f?.dispose(),f=void 0;}}},m=()=>x("aborted");return o.signal?.addEventListener("abort",m,{once:true}),o.signal?.aborted&&m(),{ok:true,session:Object.freeze({fontResolution:c,layout:()=>h==="active"?R.layout():Promise.reject(F()),layoutFor:E=>h==="active"?R.layoutFor(E):Promise.reject(F()),validatedImageBytes:E=>h==="active"?R.validatedImageBytes(E):null,admittedFontFace:gt({status:()=>h,unavailable:F,resolve:()=>f?.resolveFont}),shapeLaidOutText:Ft({status:()=>h,unavailable:F,shaping:()=>f}),dispose:()=>x("disposed")})}}async function fo(e,o$1,t={}){if((t.glyphFallbacks?.length??0)>16)throw new RangeError("At most 16 glyph fallback faces are supported");let n$1=mo(t.timeoutMs),r=new AbortController,i=()=>r.abort(t.signal?.reason);t.signal?.addEventListener("abort",i,{once:true}),t.signal?.aborted&&i();let s=setTimeout(()=>r.abort(vt),n$1);try{de(r.signal);let a=(async()=>{let p=uo(t.onActiveFontBytesChange),l=!1;try{let d=ho(e).slice(0,c$1),g=x(e,d),u=[],c={dropped:[]},y=Ot(e,c),b=[...o$1,...y?[y]:[],...t.lastResortFonts??[]],R=await o(b,{families:[...new Set([...(t.glyphFallbacks??[]).map(x=>x.family),...g.families])].slice(0,c$1),defaultFamily:d$1.family,signal:r.signal},{onOriginFailure:x=>u.push(x),reserveOwnedBytes:p.reserve,maxExecutionFontBytes:h.maxFontBytes});de(r.signal);let f$1=z$1(f(R??{}),g);if(f$1.sources.length===0){let x=oe(d,f$1.defaultFont.family,u,void 0,c.dropped);ne(x,t),re(x,t,t.glyphFallbacks);return}let h$1=await St(n(f$1),void 0,t.glyphFallbacks,t.documentLigatures);de(r.signal);let F=oe(d,f$1.defaultFont.family,u,h$1.resolveFont,c.dropped);return ne(F,t),re(F,t,t.glyphFallbacks),l=!0,Object.freeze({...h$1,dispose:p.release})}finally{l||p.release();}})();return await Promise.race([a,yo(r.signal)])}finally{clearTimeout(s),t.signal?.removeEventListener("abort",i);}}function mo(e){if(e===void 0)return 6e4;if(!Number.isFinite(e)||e<=0)throw new RangeError("timeoutMs must be a positive finite number");return Math.max(1,e)}function yo(e){return new Promise((o,t)=>{let n=()=>{t(wt(e));};e.aborted?n():e.addEventListener("abort",n,{once:true});})}function wt(e){let o=e.reason===vt;return new d(o?"timedOut":"aborted",o?"Font resolution timed out":"Font resolution was aborted",o?void 0:{cause:e.reason})}function de(e){if(e.aborted)throw wt(e)}function ho(e){let o=[e.part().root],t=[],n=[],r=new Set([e.part().name]),i=(d,g)=>{!g||r.has(g.name)||(r.add(g.name),d.push(g.root));};for(let d of e.headerFooterPartsBySection()){for(let g of d.headers.values())i(t,g);for(let g of d.footers.values())i(t,g);}for(let d of ["footnote","endnote"])n.push(...go(e,d));let s$1=e.documentThemeFonts(),a={...s$1,major:s$1.major,minor:s$1.minor,majorEastAsia:s$1.majorEastAsia??null,minorEastAsia:s$1.minorEastAsia??null},p=new Map,l=(d,g)=>{let u=e$1(d,e.stylesRoot(),a,Fo(d,g)),c=v(d,e.numberingRoot(),e.stylesRoot(),a);for(let y of [...u.direct,...Ro(d),...c,...s(d,e.stylesRoot(),a),...u.inherited]){let b=y.toLowerCase();p.has(b)||p.set(b,y);}};return l(o,"body"),l(t,"furniture"),l(n,"note"),[...p.values()]}function go(e,o){let t=ch(e.currentPackage(),o);if(!t)return [];let n=new Set(dh(e.part()).filter(i=>i.noteKind===o).map(i=>i.noteId)),r=[];for(let i of t.root.children){if(i.kind==="textValue")continue;let s=zc(i),a=yc(i);(s==="separator"||s==="continuationSeparator"||a!==null&&n.has(a))&&r.push(i);}return r}var xo="http://schemas.openxmlformats.org/officeDocument/2006/math";function Fo(e,o){let t=new Set;for(let n of e){let r=[],i=[{node:n,context:o}];for(;i.length>0;){let{node:s,context:a}=i.pop();s.namespaceUri===la&&s.localName==="p"&&r.push({paragraph:s,context:a});let p=s.namespaceUri===la&&s.localName==="txbxContent"&&(a==="body"||a==="note")?"detached":a;for(let l=s.children.length-1;l>=0;l-=1){let d=s.children[l];d.kind!=="textValue"&&i.push({node:d,context:p});}}for(let s of r)Eo(s.paragraph,t,s.context);}return t}function Eo(e,o,t){let n=Vb(),r=null,i=null,s="",a=false,p=false,l=false,d=0,g=[];for(let u=e.children.length-1;u>=0;u-=1){let c=e.children[u];c.kind!=="textValue"&&g.push({node:c,runId:null,visibility:D,containerDepth:0});}for(;g.length>0;){let{node:u,runId:c,visibility:y,containerDepth:b}=g.pop();if(b>=wa||u.namespaceUri===la&&u.localName==="p")continue;let R=u.namespaceUri===la&&u.localName==="r"?u.id:c;if(u.namespaceUri===la&&u.localName==="fldSimple"){let f=ue(u,"instr")??"";Yc(f,{allowPageFields:t==="body"||t==="furniture",allowRefFields:t==="body"||t==="note",allowPageRef:t==="body",allowAutonum:t==="body"||t==="note"})&&bo(u)!==D&&o.add(u.id);}if(u.namespaceUri===la&&u.localName==="fldChar"){let f=ue(u,"fldCharType");if(f==="begin")Yb(n),n.nesting===1&&(r=R,i=null,s="",a=false,p=false,l=Bf(u),d=0);else if(f==="separate"){let h=n.nesting===1;if(_b(n),h){let F=Xb(n);s=F.instruction,a=F.overflow||n.nestingOverflow,i=R,p=true;}}else if(f==="end"){if(n.nesting===1){if(n.phase==="instruction"){let F=Xb(n);s=F.instruction,a=F.overflow||n.nestingOverflow;}if(!a&&Xc(s,{hasSeparate:p,hasLegacyFormData:l,allowPageFields:t==="body"||t==="furniture",allowRefFields:t==="body"||t==="note",allowPageRef:t==="body",allowAutonum:t==="body"||t==="note"})&&d!==D){let F=i??r;F&&o.add(F);}}$b(n);}continue}if(u.namespaceUri===la&&(u.localName==="instrText"||u.localName==="delInstrText")){Zb(n,Dt(u),u.localName==="delInstrText");continue}n.nesting>0&&ac(n)&&u.namespaceUri===la&&At(u)&&(d|=y);for(let f=u.children.length-1;f>=0;f-=1){let h=u.children[f];h.kind!=="textValue"&&g.push({node:h,runId:R,visibility:y&Pt(u),containerDepth:xa(u,b)});}}Wb(n);}function At(e){return e.localName==="t"||e.localName==="delText"?Dt(e).length>0:e.localName==="sym"||e.localName==="tab"||e.localName==="br"}var ce=1,Tt=2,Lt=4,D=ce|Tt|Lt;function bo(e){let o=[];for(let n of e.children)n.kind!=="textValue"&&o.push({node:n,visibility:D});let t=0;for(;o.length>0;){let{node:n,visibility:r}=o.pop();if(!(n.namespaceUri===la&&n.localName==="p")){if(n.namespaceUri===la&&At(n)&&(t|=r,t===D))return t;for(let i of n.children)i.kind!=="textValue"&&o.push({node:i,visibility:r&Pt(n)});}}return t}function Pt(e){return e.namespaceUri!==la?D:e.localName==="ins"||e.localName==="moveTo"?ce|Tt:e.localName==="del"||e.localName==="moveFrom"?ce|Lt:D}function Ro(e){let o=new Map,t=n=>{let r=b$2(n??void 0);if(r===null)return;let i=r.toLowerCase();o.has(i)||o.set(i,r);};for(let n of e){let r=[n];for(;r.length>0;){let i=r.pop();if(i.namespaceUri===xo&&t($c),i.namespaceUri===la&&i.localName==="sym"&&t(c$3(co(i,"font"))),i.namespaceUri===la&&i.localName==="fldSimple"){let s=ue(i,"instr");t(Wc(s??"")?.font??null);}if(i.namespaceUri===la&&i.localName==="p")for(let s of u(i))t(s);for(let s=i.children.length-1;s>=0;s-=1){let a=i.children[s];a.kind!=="textValue"&&r.push(a);}}}return [...o.values()]}function Dt(e){let o="",t=[...e.children].reverse();for(;t.length>0&&o.length<=256;){let n=t.pop();if(n.kind==="textValue")o+=n.value;else for(let r=n.children.length-1;r>=0;r-=1)t.push(n.children[r]);}return o}var _t="FILE_TOO_LARGE",kt=8;function So(e){return typeof e=="object"&&e!==null}function Nt(e){if(!(!So(e)||typeof e.code!="string"))return e.code}function Mt(e){return e===""||e.toLowerCase()==="localhost"}function Oo(e){try{let o=decodeURIComponent(e);return o.includes("\0")?null:o}catch{return null}}function Ct(e){let o=Oo(e);if(o===null)return null;let t=[];for(let n of o.split(/[/\\]/))if(!(n===""||n===".")){if(n===".."){if(t.length===0)return null;t.pop();continue}t.push(n);}return `/${t.join("/")}`}function Ut(e){let o=Ct(e);return o===null?null:o.endsWith("/")?o:`${o}/`}function vo(e){return e==="/"||/^\/[A-Za-z]:\/$/.test(e)}function wo(e){let o;try{o=typeof e=="string"?new URL(e):new URL("href"in e?e.href:String(e));}catch{throw new TypeError("trustedRoot must be an absolute file: URL")}if(o.protocol!=="file:")throw new TypeError("trustedRoot must use the file: protocol");if(o.username!==""||o.password!=="")throw new TypeError("trustedRoot must not include credentials");if(!Mt(o.host))throw new TypeError("trustedRoot must be a local file: URL");let t=Ut(o.pathname);if(t===null||vo(t))throw new TypeError("trustedRoot must be a directory inside the filesystem");let n=new URL("file:///");return n.pathname=t,n}function Ao(e){if(typeof e=="string")return [e];if(typeof e=="object"&&e!==null&&"href"in e)return [e];if(Array.isArray(e))return e;throw new TypeError("trustedRoot must be an absolute file: URL")}function To(e){let o=Ao(e);if(o.length===0)throw new TypeError("trustedRoot must name at least one directory");if(o.length>kt)throw new TypeError(`trustedRoot must not exceed ${kt} directories`);return o.map(wo)}function Lo(e){if(!Number.isSafeInteger(e)||e<=0)throw new TypeError("maxBytes must be a positive safe integer");if(e>a)throw new TypeError(`maxBytes must not exceed ${a}`);return e}function Po(e,o){if(e.protocol!=="file:"||e.username!==""||e.password!==""||!Mt(e.host))return null;let t=Ct(e.pathname);if(t===null)return null;for(let n of o){let r=Ut(n.pathname);if(r===null||!t.startsWith(r)||t.length<=r.length)continue;let i=new URL("file:///");return i.pathname=t,i}return null}function Do(e){return typeof e=="string"?new URL(e):"href"in e&&typeof e.href=="string"?new URL(e.href):new URL("url"in e?e.url:String(e))}function ko(e,o,t){let n=t.relative(t.resolve(e),t.resolve(o));return n!==""&&!n.startsWith("..")&&!t.isAbsolute(n)}function It(e,o,t){return e.some(n=>ko(n,o,t))}async function Io(e,o){let t=[];for(let n of e)try{t.push(await o(n));}catch(r){if(Nt(r)==="ENOENT")continue;throw r}return t}function _o(e){return async(o,{signal:t,maxBytes:n})=>{if(t?.aborted)throw t.reason;let[{open:r,realpath:i},{constants:s},{fileURLToPath:a},p]=await Promise.all([import('fs/promises'),import('fs'),import('url'),import('path')]),l=e.map(y=>p.resolve(a(y.href))),d=p.resolve(a(typeof o=="string"?o:o.href));if(!It(l,d,p))throw Object.assign(new Error("packaged file is outside trustedRoot"),{code:"ENOENT"});let g=typeof s.O_NOFOLLOW=="number"?s.O_RDONLY|s.O_NOFOLLOW:"r",u=await r(d,g),c=()=>{u.close();};t?.addEventListener("abort",c,{once:true});try{if(t?.aborted)throw t.reason;let y=await i(d);if(!It(await Io(l,i),y,p))throw Object.assign(new Error("packaged file is outside trustedRoot"),{code:"ENOENT"});let b=(await u.stat()).size;if(!Number.isSafeInteger(b)||b<0||b>n)throw Object.assign(new Error("packaged file exceeds maxBytes"),{code:_t});let R=new Uint8Array(b),f=0;for(;f<R.byteLength;){if(t?.aborted)throw t.reason;let{bytesRead:h}=await u.read(R,f,R.byteLength-f,f);if(h===0)break;f+=h;}if(t?.aborted)throw t.reason;return f===R.byteLength?R:R.slice(0,f)}catch(y){throw t?.aborted?t.reason:y}finally{t?.removeEventListener("abort",c),await u.close().catch(()=>{});}}}function No(e){if(e===null||typeof e!="object")throw new TypeError("createPackagedFileFetch requires trustedRoot and maxBytes");if(e.trustedRoot===void 0||e.maxBytes===void 0)throw new TypeError("createPackagedFileFetch requires trustedRoot and maxBytes");let o=To(e.trustedRoot),t=Lo(e.maxBytes),n=e.read??_o(o),r=e.networkFetch??fetch;return(async(i,s)=>{let a=s?.signal;if(a?.aborted)throw a.reason;let p=Do(i);if(p.protocol!=="file:")return r(p,s);let l=Po(p,o);if(!l)return new Response(null,{status:404});let d=a?new AbortController:void 0,g=()=>d?.abort(a?.reason);a?.addEventListener("abort",g,{once:true});let u;try{if(u=await n(l,{maxBytes:t,...d?{signal:d.signal}:{}}),a?.aborted)throw a.reason;if(u.byteLength>t)return new Response(null,{status:413})}catch(c){if(a?.aborted)throw a.reason;if(d?.signal.aborted)throw d.signal.reason??c;if(c instanceof DOMException&&c.name==="AbortError"||c instanceof Error&&c.name==="AbortError")throw c;let y=Nt(c);if(y===_t)return new Response(null,{status:413});if(y==="ENOENT"||y==="ENOTDIR"||y==="ELOOP")return new Response(null,{status:404});throw c}finally{a?.removeEventListener("abort",g);}return new Response(u,{status:200})})}
|
|
2
|
+
export{le as MAX_SHARED_EXPORT_SHAPING_CONFIGURATIONS,ro as acquireSharedExportShaping,No as createPackagedFileFetch,te as hasExportAdmittedFont,ie as hasExportLaidOutText,lo as hasFontBackedExportCapabilities,po as openFontBackedDocumentForExport};
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lifecycle state of one collaboration replica.
|
|
3
|
+
*
|
|
4
|
+
* One axis, because the only question a host has to answer is whether to tell the reader to
|
|
5
|
+
* wait or to reload:
|
|
6
|
+
*
|
|
7
|
+
* - `initializing` — joining. Edits are refused. Recovers on its own.
|
|
8
|
+
* - `ready` — replicating. Accepts edits.
|
|
9
|
+
* - `disconnected` — the transport dropped. The replica is intact and recovers on its own,
|
|
10
|
+
* so wait rather than reload. Edits continue by default, and the buffered updates merge on
|
|
11
|
+
* reconnect. A session created with `offlineEditing: false` refuses them until reconnect.
|
|
12
|
+
* - `error` — this replica does not agree with the room. Edits are refused.
|
|
13
|
+
* {@link CollaborationStatusSnapshot.reason} says why. A remote update the replica could
|
|
14
|
+
* not apply yet heals when a later update completes shared state
|
|
15
|
+
* ({@link CollaborationStatusSnapshot.recovering}). A format or version mismatch needs an
|
|
16
|
+
* upgrade of this client or the room; every other cause needs a rejoin.
|
|
17
|
+
* - `destroyed` — torn down. Terminal.
|
|
18
|
+
*
|
|
19
|
+
* @public
|
|
20
|
+
*/
|
|
21
|
+
type CollaborationStatus = 'initializing' | 'ready' | 'disconnected' | 'error' | 'destroyed';
|
|
22
|
+
/**
|
|
23
|
+
* Why a replica refused work, left `ready`, or failed a schema check.
|
|
24
|
+
*
|
|
25
|
+
* Free-form extras (a transport phrase, a blob key, a store refusal) travel in
|
|
26
|
+
* {@link CollaborationFailure.detail}, not here. Branch on the code; log the detail.
|
|
27
|
+
*
|
|
28
|
+
* Codes are grouped by cause, and each group comment names the host action. In `error`, only
|
|
29
|
+
* a remote update that is not applied yet, or one refused local edit, heals on its own. The
|
|
30
|
+
* failure codes table in the collaboration reference lists every code.
|
|
31
|
+
* `transport-disconnected` and `authentication-failed` need opposite answers: wait for the
|
|
32
|
+
* first; refresh the credential and rejoin for the second. `room-generation-changed` means
|
|
33
|
+
* the server compacted the room while this replica was away: save a copy if it holds unsent
|
|
34
|
+
* changes, then rejoin.
|
|
35
|
+
*
|
|
36
|
+
* @public
|
|
37
|
+
*/
|
|
38
|
+
type CollaborationFailureCode =
|
|
39
|
+
/** Edit refused by the session gate. The status does not change. Wait for `ready`. */
|
|
40
|
+
'collaboration-session-destroyed' | 'collaboration-session-not-attached' | 'collaboration-session-not-ready' | 'collaboration-text-limit' | 'experimental-collaboration-body-text-only'
|
|
41
|
+
/** Factory input rejected before joining. Fix the value the host passed. */
|
|
42
|
+
| 'invalid-document-id' | 'invalid-identity' | 'invalid-identity-color' | 'invalid-session-id'
|
|
43
|
+
/** Join or seed did not complete. Connect the provider, check the room id, and retry. */
|
|
44
|
+
| 'already-initialized' | 'document-id-mismatch' | 'initialization-aborted' | 'initialization-timeout' | 'not-initialized'
|
|
45
|
+
/** The seed document cannot seed a room. Fix the file. */
|
|
46
|
+
| 'baseline-too-large' | 'blob-read' | 'invalid-baseline' | 'missing-local-blob' | 'no-main-document-part'
|
|
47
|
+
/** This client and the room have different formats. Terminal. Save local work. */
|
|
48
|
+
| 'collaboration-format-mismatch' | 'protocol-version-mismatch' | 'schema-version-mismatch'
|
|
49
|
+
/** The room is unusable. Terminal. Create a new room from saved bytes. */
|
|
50
|
+
| 'blob-digest-mismatch' | 'concurrent-seed' | 'port-already-attached'
|
|
51
|
+
/** A remote update is not applied yet. Heals when a later update arrives. Wait. */
|
|
52
|
+
| 'duplicate-paragraph-id' | 'invalid-relationships' | 'materialize-dropped-content' | 'missing-blob' | 'missing-root' | 'remote-apply-failed' | 'unknown-paragraph-id'
|
|
53
|
+
/** Over a resource limit. A local edit realigns; shared state over a limit is terminal. */
|
|
54
|
+
| 'blob-store-full' | 'blob-too-large' | 'invalid-blob-descriptor' | 'invalid-bound' | 'invalid-logical-id' | 'invalid-string' | 'prototype-key' | 'text-too-long' | 'too-many-attributes' | 'too-many-children' | 'too-many-nodes' | 'too-many-parts' | 'too-many-relationships' | 'tree-too-deep' | 'unknown-logical-id' | 'unsafe-part-name'
|
|
55
|
+
/** Transport state. Only `transport-disconnected` recovers on its own. */
|
|
56
|
+
| 'authentication-failed' | 'room-generation-changed' | 'transport' | 'transport-disconnected'
|
|
57
|
+
/** Reserved for a room server that refuses a saved room. Passed through, never emitted. */
|
|
58
|
+
| 'invalid-saved-room' | 'saved-room-unavailable'
|
|
59
|
+
/** @deprecated Emitted by nothing. Kept for compatibility; do not branch on these. */
|
|
60
|
+
| 'baseline-digest-mismatch' | 'experimental-collaboration-existing-paragraphs-only' | 'experimental-collaboration-text-only' | 'experimental-collaboration-untracked-text-only' | 'immutable-baseline-changed' | 'immutable-metadata-changed' | 'invalid-shared-metadata' | 'local-mirror-failed' | 'paragraph-set-mismatch' | 'shared-schema-invalid' | 'unsupported-root-key';
|
|
61
|
+
/** True when `value` is a {@link CollaborationFailureCode} member. @public */
|
|
62
|
+
declare function isCollaborationFailureCode(value: string): value is CollaborationFailureCode;
|
|
63
|
+
/** One collaboration failure: a typed code plus optional free-form detail. @public */
|
|
64
|
+
interface CollaborationFailure {
|
|
65
|
+
/** Stable code for application logic. */
|
|
66
|
+
readonly code: CollaborationFailureCode;
|
|
67
|
+
/** Bounded diagnostic text for logs. Not a parsing contract. */
|
|
68
|
+
readonly detail?: string;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Cached status read. Same reference until one of its fields changes.
|
|
72
|
+
*
|
|
73
|
+
* @public
|
|
74
|
+
*/
|
|
75
|
+
interface CollaborationStatusSnapshot {
|
|
76
|
+
/** Current lifecycle state. */
|
|
77
|
+
readonly status: CollaborationStatus;
|
|
78
|
+
/** Why the replica holds `status`, or `undefined` when nothing is wrong. */
|
|
79
|
+
readonly reason: CollaborationFailure | undefined;
|
|
80
|
+
/** The most recent `error` reason. Kept after the replica recovers. */
|
|
81
|
+
readonly lastFailure: CollaborationFailure | undefined;
|
|
82
|
+
/**
|
|
83
|
+
* How many failures this session has recorded. It changes with each new failure, also when
|
|
84
|
+
* its code and detail repeat the last one, as a refused edit refused again does. Absent
|
|
85
|
+
* from a session that does not count.
|
|
86
|
+
*/
|
|
87
|
+
readonly failureCount?: number;
|
|
88
|
+
/**
|
|
89
|
+
* The session is in `error` but heals by itself: it realigns on the next clean update and
|
|
90
|
+
* returns to its previous status. A host shows a passing notice, not a rejoin action.
|
|
91
|
+
* Absent means false.
|
|
92
|
+
*/
|
|
93
|
+
readonly recovering?: boolean;
|
|
94
|
+
/**
|
|
95
|
+
* Edits wait: the room sent an update that depends on one still on its way, and an edit
|
|
96
|
+
* made now could touch the text it changes. The editor refuses edits meanwhile, with
|
|
97
|
+
* `collaboration-session-not-ready`, and accepts them again when the update arrives or the
|
|
98
|
+
* wait times out. Absent means false.
|
|
99
|
+
*/
|
|
100
|
+
readonly waiting?: boolean;
|
|
101
|
+
}
|
|
102
|
+
/** @internal */
|
|
103
|
+
interface CollaborationStatusTracker {
|
|
104
|
+
status(): CollaborationStatus;
|
|
105
|
+
snapshot(): CollaborationStatusSnapshot;
|
|
106
|
+
/** `recovering` marks an `error` the session heals by itself. */
|
|
107
|
+
set(status: CollaborationStatus, code?: CollaborationFailureCode, detail?: string, recovering?: boolean): boolean;
|
|
108
|
+
/** Whether edits wait for the room; returns whether the snapshot changed. */
|
|
109
|
+
setWaiting(waiting: boolean): boolean;
|
|
110
|
+
}
|
|
111
|
+
/** @internal */
|
|
112
|
+
declare function createCollaborationStatusTracker(initial?: CollaborationStatus): CollaborationStatusTracker;
|
|
113
|
+
|
|
114
|
+
export { createCollaborationStatusTracker as d, isCollaborationFailureCode as i };
|
|
115
|
+
export type { CollaborationStatus as C, CollaborationStatusSnapshot as a, CollaborationFailureCode as b, CollaborationFailure as c };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { F as FontFaceRequest, a as FontConfiguration, b as FontSource, c as FontSourceSubstitution } from './editor-
|
|
1
|
+
import { F as FontFaceRequest, a as FontConfiguration, b as FontSource, c as FontSourceSubstitution } from './editor-Ci7IZGmG.js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* A partial font configuration one origin contributes: sources, substitutions, or both.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Q as OoxmlPackage, O as OoxmlPart, Z as OoxmlElement, Y as OoxmlPackageRejection } from './types-barrel-
|
|
1
|
+
import { H as HeaderFooterParts, b as HeaderFooterSectionResolution, T as TreePackageStore } from './tree-package-fragment-BeeKxDw8.js';
|
|
2
|
+
import { Q as OoxmlPackage, O as OoxmlPart, Z as OoxmlElement, Y as OoxmlPackageRejection } from './types-barrel-D3xCgQX6.js';
|
|
3
3
|
|
|
4
4
|
/** The package with a hyperlink relationship guaranteed present, and that relationship's id. */
|
|
5
5
|
interface EnsuredHyperlinkRelationship {
|
|
@@ -1,4 +1,12 @@
|
|
|
1
|
-
import { a0 as DrawingProjection, Q as OoxmlPackage } from './types-barrel-
|
|
1
|
+
import { a0 as DrawingProjection, Q as OoxmlPackage } from './types-barrel-D3xCgQX6.js';
|
|
2
|
+
|
|
3
|
+
/** Opaque handle — bytes are reachable only through {@link mintValidatedImageBytes}. */
|
|
4
|
+
interface ValidatedImageBytesHandle {
|
|
5
|
+
readonly registryId: number;
|
|
6
|
+
readonly resourceKey: string;
|
|
7
|
+
readonly contentId: string;
|
|
8
|
+
readonly generation: number;
|
|
9
|
+
}
|
|
2
10
|
|
|
3
11
|
/**
|
|
4
12
|
* The engine's trust-boundary caps: recursion depth, element counts, and the rest.
|
|
@@ -54,14 +62,6 @@ declare const DEFAULT_IMAGE_RESOURCE_LIMITS: ImageResourceLimits;
|
|
|
54
62
|
/** Resolve caller overrides into frozen image limits; hard ceilings cannot be raised. */
|
|
55
63
|
declare function resolveImageResourceLimits(overrides?: Partial<ImageResourceLimits>): ImageResourceLimits;
|
|
56
64
|
|
|
57
|
-
/** Opaque handle — bytes are reachable only through {@link mintValidatedImageBytes}. */
|
|
58
|
-
interface ValidatedImageBytesHandle {
|
|
59
|
-
readonly registryId: number;
|
|
60
|
-
readonly resourceKey: string;
|
|
61
|
-
readonly contentId: string;
|
|
62
|
-
readonly generation: number;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
65
|
/**
|
|
66
66
|
* Raster media the decode port measures and any authoring path may write.
|
|
67
67
|
*
|