@vivliostyle/print 2.34.0 → 2.35.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/index.cjs.js +25 -21
- package/dist/index.cjs.js.map +3 -3
- package/dist/index.es6.js +25 -21
- package/dist/index.es6.js.map +3 -3
- package/package.json +2 -2
package/dist/index.es6.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
var nc=Object.create;var vo=Object.defineProperty;var sc=Object.getOwnPropertyDescriptor;var rc=Object.getOwnPropertyNames;var oc=Object.getPrototypeOf,ac=Object.prototype.hasOwnProperty;var lc=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var hc=(e,t,i,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of rc(t))!ac.call(e,s)&&s!==i&&vo(e,s,{get:()=>t[s],enumerable:!(n=sc(t,s))||n.enumerable});return e};var uc=(e,t,i)=>(i=e!=null?nc(oc(e)):{},hc(t||!e||!e.__esModule?vo(i,"default",{value:e,enumerable:!0}):i,e));var Qu=lc((Jw,Ju)=>{"use strict";var cc=Object.create,dn=Object.defineProperty,dc=Object.getOwnPropertyDescriptor,pc=Object.getOwnPropertyNames,fc=Object.getPrototypeOf,gc=Object.prototype.hasOwnProperty,mc=(e,t,i)=>t in e?dn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,wc=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),bc=(e,t)=>{for(var i in t)dn(e,i,{get:t[i],enumerable:!0})},Xa=(e,t,i,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of pc(t))!gc.call(e,s)&&s!==i&&dn(e,s,{get:()=>t[s],enumerable:!(n=dc(t,s))||n.enumerable});return e},vc=(e,t,i)=>(i=e!=null?cc(fc(e)):{},Xa(t||!e||!e.__esModule?dn(i,"default",{value:e,enumerable:!0}):i,e)),yc=e=>Xa(dn({},"__esModule",{value:!0}),e),u=(e,t,i)=>mc(e,typeof t!="symbol"?t+"":t,i),xc=wc((e,t)=>{var i=-1,n=1,s=0;function r(S,P,C,E,A){if(S===P)return S?[[s,S]]:[];if(C!=null){var R=ce(S,P,C);if(R)return R}var O=l(S,P),D=S.substring(0,O);S=S.substring(O),P=P.substring(O),O=p(S,P);var $=S.substring(S.length-O);S=S.substring(0,S.length-O),P=P.substring(0,P.length-O);var X=o(S,P);return D&&X.unshift([s,D]),$&&X.push([s,$]),I(X,A),E&&f(X),X}function o(S,P){var C;if(!S)return[[n,P]];if(!P)return[[i,S]];var E=S.length>P.length?S:P,A=S.length>P.length?P:S,R=E.indexOf(A);if(R!==-1)return C=[[n,E.substring(0,R)],[s,A],[n,E.substring(R+A.length)]],S.length>P.length&&(C[0][0]=C[2][0]=i),C;if(A.length===1)return[[i,S],[n,P]];var O=d(S,P);if(O){var D=O[0],$=O[1],X=O[2],K=O[3],Y=O[4],ge=r(D,X),te=r($,K);return ge.concat([[s,Y]],te)}return a(S,P)}function a(S,P){for(var C=S.length,E=P.length,A=Math.ceil((C+E)/2),R=A,O=2*A,D=new Array(O),$=new Array(O),X=0;X<O;X++)D[X]=-1,$[X]=-1;D[R+1]=0,$[R+1]=0;for(var K=C-E,Y=K%2!==0,ge=0,te=0,re=0,ve=0,we=0;we<A;we++){for(var Z=-we+ge;Z<=we-te;Z+=2){var U=R+Z,oe;Z===-we||Z!==we&&D[U-1]<D[U+1]?oe=D[U+1]:oe=D[U-1]+1;for(var _=oe-Z;oe<C&&_<E&&S.charAt(oe)===P.charAt(_);)oe++,_++;if(D[U]=oe,oe>C)te+=2;else if(_>E)ge+=2;else if(Y){var Q=R+K-Z;if(Q>=0&&Q<O&&$[Q]!==-1){var ee=C-$[Q];if(oe>=ee)return h(S,P,oe,_)}}}for(var le=-we+re;le<=we-ve;le+=2){var Q=R+le,ee;le===-we||le!==we&&$[Q-1]<$[Q+1]?ee=$[Q+1]:ee=$[Q-1]+1;for(var Ye=ee-le;ee<C&&Ye<E&&S.charAt(C-ee-1)===P.charAt(E-Ye-1);)ee++,Ye++;if($[Q]=ee,ee>C)ve+=2;else if(Ye>E)re+=2;else if(!Y){var U=R+K-le;if(U>=0&&U<O&&D[U]!==-1){var oe=D[U],_=R+oe-U;if(ee=C-ee,oe>=ee)return h(S,P,oe,_)}}}}return[[i,S],[n,P]]}function h(S,P,C,E){var A=S.substring(0,C),R=P.substring(0,E),O=S.substring(C),D=P.substring(E),$=r(A,R),X=r(O,D);return $.concat(X)}function l(S,P){if(!S||!P||S.charAt(0)!==P.charAt(0))return 0;for(var C=0,E=Math.min(S.length,P.length),A=E,R=0;C<A;)S.substring(R,A)==P.substring(R,A)?(C=A,R=C):E=A,A=Math.floor((E-C)/2+C);return L(S.charCodeAt(A-1))&&A--,A}function c(S,P){var C=S.length,E=P.length;if(C==0||E==0)return 0;C>E?S=S.substring(C-E):C<E&&(P=P.substring(0,C));var A=Math.min(C,E);if(S==P)return A;for(var R=0,O=1;;){var D=S.substring(A-O),$=P.indexOf(D);if($==-1)return R;O+=$,($==0||S.substring(A-O)==P.substring(0,O))&&(R=O,O++)}}function p(S,P){if(!S||!P||S.slice(-1)!==P.slice(-1))return 0;for(var C=0,E=Math.min(S.length,P.length),A=E,R=0;C<A;)S.substring(S.length-A,S.length-R)==P.substring(P.length-A,P.length-R)?(C=A,R=C):E=A,A=Math.floor((E-C)/2+C);return M(S.charCodeAt(S.length-A))&&A--,A}function d(S,P){var C=S.length>P.length?S:P,E=S.length>P.length?P:S;if(C.length<4||E.length*2<C.length)return null;function A(te,re,ve){for(var we=te.substring(ve,ve+Math.floor(te.length/4)),Z=-1,U="",oe,_,Q,ee;(Z=re.indexOf(we,Z+1))!==-1;){var le=l(te.substring(ve),re.substring(Z)),Ye=p(te.substring(0,ve),re.substring(0,Z));U.length<Ye+le&&(U=re.substring(Z-Ye,Z)+re.substring(Z,Z+le),oe=te.substring(0,ve-Ye),_=te.substring(ve+le),Q=re.substring(0,Z-Ye),ee=re.substring(Z+le))}return U.length*2>=te.length?[oe,_,Q,ee,U]:null}var R=A(C,E,Math.ceil(C.length/4)),O=A(C,E,Math.ceil(C.length/2)),D;if(!R&&!O)return null;O?R?D=R[4].length>O[4].length?R:O:D=O:D=R;var $,X,K,Y;S.length>P.length?($=D[0],X=D[1],K=D[2],Y=D[3]):(K=D[0],Y=D[1],$=D[2],X=D[3]);var ge=D[4];return[$,X,K,Y,ge]}function f(S){for(var P=!1,C=[],E=0,A=null,R=0,O=0,D=0,$=0,X=0;R<S.length;)S[R][0]==s?(C[E++]=R,O=$,D=X,$=0,X=0,A=S[R][1]):(S[R][0]==n?$+=S[R][1].length:X+=S[R][1].length,A&&A.length<=Math.max(O,D)&&A.length<=Math.max($,X)&&(S.splice(C[E-1],0,[i,A]),S[C[E-1]+1][0]=n,E--,E--,R=E>0?C[E-1]:-1,O=0,D=0,$=0,X=0,A=null,P=!0)),R++;for(P&&I(S),x(S),R=1;R<S.length;){if(S[R-1][0]==i&&S[R][0]==n){var K=S[R-1][1],Y=S[R][1],ge=c(K,Y),te=c(Y,K);ge>=te?(ge>=K.length/2||ge>=Y.length/2)&&(S.splice(R,0,[s,Y.substring(0,ge)]),S[R-1][1]=K.substring(0,K.length-ge),S[R+1][1]=Y.substring(ge),R++):(te>=K.length/2||te>=Y.length/2)&&(S.splice(R,0,[s,K.substring(0,te)]),S[R-1][0]=n,S[R-1][1]=Y.substring(0,Y.length-te),S[R+1][0]=i,S[R+1][1]=K.substring(te),R++),R++}R++}}var g=/[^a-zA-Z0-9]/,m=/\s/,w=/[\r\n]/,y=/\n\r?\n$/,b=/^\r?\n\r?\n/;function x(S){function P(te,re){if(!te||!re)return 6;var ve=te.charAt(te.length-1),we=re.charAt(0),Z=ve.match(g),U=we.match(g),oe=Z&&ve.match(m),_=U&&we.match(m),Q=oe&&ve.match(w),ee=_&&we.match(w),le=Q&&te.match(y),Ye=ee&&re.match(b);return le||Ye?5:Q||ee?4:Z&&!oe&&_?3:oe||_?2:Z||U?1:0}for(var C=1;C<S.length-1;){if(S[C-1][0]==s&&S[C+1][0]==s){var E=S[C-1][1],A=S[C][1],R=S[C+1][1],O=p(E,A);if(O){var D=A.substring(A.length-O);E=E.substring(0,E.length-O),A=D+A.substring(0,A.length-O),R=D+R}for(var $=E,X=A,K=R,Y=P(E,A)+P(A,R);A.charAt(0)===R.charAt(0);){E+=A.charAt(0),A=A.substring(1)+R.charAt(0),R=R.substring(1);var ge=P(E,A)+P(A,R);ge>=Y&&(Y=ge,$=E,X=A,K=R)}S[C-1][1]!=$&&($?S[C-1][1]=$:(S.splice(C-1,1),C--),S[C][1]=X,K?S[C+1][1]=K:(S.splice(C+1,1),C--))}C++}}function I(S,P){S.push([s,""]);for(var C=0,E=0,A=0,R="",O="",D;C<S.length;){if(C<S.length-1&&!S[C][1]){S.splice(C,1);continue}switch(S[C][0]){case n:A++,O+=S[C][1],C++;break;case i:E++,R+=S[C][1],C++;break;case s:var $=C-A-E-1;if(P){if($>=0&&W(S[$][1])){var X=S[$][1].slice(-1);if(S[$][1]=S[$][1].slice(0,-1),R=X+R,O=X+O,!S[$][1]){S.splice($,1),C--;var K=$-1;S[K]&&S[K][0]===n&&(A++,O=S[K][1]+O,K--),S[K]&&S[K][0]===i&&(E++,R=S[K][1]+R,K--),$=K}}if(H(S[C][1])){var X=S[C][1].charAt(0);S[C][1]=S[C][1].slice(1),R+=X,O+=X}}if(C<S.length-1&&!S[C][1]){S.splice(C,1);break}if(R.length>0||O.length>0){R.length>0&&O.length>0&&(D=l(O,R),D!==0&&($>=0?S[$][1]+=O.substring(0,D):(S.splice(0,0,[s,O.substring(0,D)]),C++),O=O.substring(D),R=R.substring(D)),D=p(O,R),D!==0&&(S[C][1]=O.substring(O.length-D)+S[C][1],O=O.substring(0,O.length-D),R=R.substring(0,R.length-D)));var Y=A+E;R.length===0&&O.length===0?(S.splice(C-Y,Y),C=C-Y):R.length===0?(S.splice(C-Y,Y,[n,O]),C=C-Y+1):O.length===0?(S.splice(C-Y,Y,[i,R]),C=C-Y+1):(S.splice(C-Y,Y,[i,R],[n,O]),C=C-Y+2)}C!==0&&S[C-1][0]===s?(S[C-1][1]+=S[C][1],S.splice(C,1)):C++,A=0,E=0,R="",O="";break}}S[S.length-1][1]===""&&S.pop();var ge=!1;for(C=1;C<S.length-1;)S[C-1][0]===s&&S[C+1][0]===s&&(S[C][1].substring(S[C][1].length-S[C-1][1].length)===S[C-1][1]?(S[C][1]=S[C-1][1]+S[C][1].substring(0,S[C][1].length-S[C-1][1].length),S[C+1][1]=S[C-1][1]+S[C+1][1],S.splice(C-1,1),ge=!0):S[C][1].substring(0,S[C+1][1].length)==S[C+1][1]&&(S[C-1][1]+=S[C+1][1],S[C][1]=S[C][1].substring(S[C+1][1].length)+S[C+1][1],S.splice(C+1,1),ge=!0)),C++;ge&&I(S,P)}function L(S){return S>=55296&&S<=56319}function M(S){return S>=56320&&S<=57343}function H(S){return M(S.charCodeAt(0))}function W(S){return L(S.charCodeAt(S.length-1))}function se(S){for(var P=[],C=0;C<S.length;C++)S[C][1].length>0&&P.push(S[C]);return P}function He(S,P,C,E){return W(S)||H(E)?null:se([[s,S],[i,P],[n,C],[s,E]])}function ce(S,P,C){var E=typeof C=="number"?{index:C,length:0}:C.oldRange,A=typeof C=="number"?null:C.newRange,R=S.length,O=P.length;if(E.length===0&&(A===null||A.length===0)){var D=E.index,$=S.slice(0,D),X=S.slice(D),K=A?A.index:null;e:{var Y=D+O-R;if(K!==null&&K!==Y||Y<0||Y>O)break e;var ge=P.slice(0,Y),te=P.slice(Y);if(te!==X)break e;var re=Math.min(D,Y),ve=$.slice(0,re),we=ge.slice(0,re);if(ve!==we)break e;var Z=$.slice(re),U=ge.slice(re);return He(ve,Z,U,X)}e:{if(K!==null&&K!==D)break e;var oe=D,ge=P.slice(0,oe),te=P.slice(oe);if(ge!==$)break e;var _=Math.min(R-oe,O-oe),Q=X.slice(X.length-_),ee=te.slice(te.length-_);if(Q!==ee)break e;var Z=X.slice(0,X.length-_),U=te.slice(0,te.length-_);return He($,Z,U,Q)}}if(E.length>0&&A&&A.length===0)e:{var ve=S.slice(0,E.index),Q=S.slice(E.index+E.length),re=ve.length,_=Q.length;if(O<re+_)break e;var we=P.slice(0,re),ee=P.slice(O-_);if(ve!==we||Q!==ee)break e;var Z=S.slice(re,R-_),U=P.slice(re,O-_);return He(ve,Z,U,Q)}return null}function de(S,P,C,E){return r(S,P,C,E,!0)}de.INSERT=n,de.DELETE=i,de.EQUAL=s,t.exports=de}),qa={};bc(qa,{CoreViewer:()=>Ku,HOOKS:()=>ns,Navigation:()=>Zu,PageProgression:()=>Ir,PageSide:()=>Za,PageViewMode:()=>Hw,Profiler:()=>tl,ReadyState:()=>Ja,UserAgentBaseCss:()=>jl,UserAgentPageCss:()=>Wl,UserAgentTocCss:()=>Xl,UserAgentXml:()=>Gl,ValidationTxt:()=>$l,VivliostylePolyfillCss:()=>ql,VivliostyleViewportCss:()=>Hl,VivliostyleViewportScreenCss:()=>Ul,ZoomType:()=>Uw,getHooksForName:()=>ft,isDebug:()=>tn,pageProgressionOf:()=>Ka,plugin:()=>Cc,printHTML:()=>Gw,profile:()=>Pc,profiler:()=>tt,registerHook:()=>ut,removeHook:()=>el,setDebug:()=>Ya});Ju.exports=yc(qa);var tn=!1;function Ya(e){tn=e}var Ir=(e=>(e.LTR="ltr",e.RTL="rtl",e))(Ir||{});function Ka(e){switch(e){case"ltr":return"ltr";case"rtl":return"rtl";default:throw new Error(`unknown PageProgression: ${e}`)}}var Za=(e=>(e.LEFT="left",e.RIGHT="right",e))(Za||{}),Ja=(e=>(e.LOADING="loading",e.INTERACTIVE="interactive",e.COMPLETE="complete",e))(Ja||{}),Qa=(e=>(e[e.DEBUG=1]="DEBUG",e[e.INFO=2]="INFO",e[e.WARN=3]="WARN",e[e.ERROR=4]="ERROR",e))(Qa||{}),Sc=class{constructor(e){this.opt_console=e,u(this,"listeners",{})}consoleDebug(e){this.opt_console?this.opt_console.debug?this.opt_console.debug(...e):this.opt_console.log(...e):console.debug(...e)}consoleInfo(e){this.opt_console?this.opt_console.info?this.opt_console.info(...e):this.opt_console.log(...e):console.info(...e)}consoleWarn(e){this.opt_console?this.opt_console.warn?this.opt_console.warn(...e):this.opt_console.log(...e):console.warn(...e)}consoleError(e){this.opt_console?this.opt_console.error?this.opt_console.error(...e):this.opt_console.log(...e):console.error(...e)}triggerListeners(e,t){let i=this.listeners[e];i&&i(t)}addListener(e,t){this.listeners[e]=t}debug(...e){let t=En(arguments);this.consoleDebug(kn(t)),this.triggerListeners(1,t)}info(...e){let t=En(arguments);this.consoleInfo(kn(t)),this.triggerListeners(2,t)}warn(...e){let t=En(arguments);this.consoleWarn(kn(t)),this.triggerListeners(3,t)}error(...e){let t=En(arguments);this.consoleError(kn(t)),this.triggerListeners(4,t)}};function En(e){let t=Array.from(e),i=null;return t[0]instanceof Error&&(i=t.shift()),{error:i,messages:t}}function kn(e){let t=e.error,i=t&&(t.frameTrace||t.stack),n=[].concat(e.messages);return t&&(n.length>0&&(n=n.concat([`
|
|
1
|
+
var rc=Object.create;var yo=Object.defineProperty;var oc=Object.getOwnPropertyDescriptor;var ac=Object.getOwnPropertyNames;var lc=Object.getPrototypeOf,hc=Object.prototype.hasOwnProperty;var uc=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var cc=(e,t,i,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of ac(t))!hc.call(e,s)&&s!==i&&yo(e,s,{get:()=>t[s],enumerable:!(n=oc(t,s))||n.enumerable});return e};var dc=(e,t,i)=>(i=e!=null?rc(lc(e)):{},cc(t||!e||!e.__esModule?yo(i,"default",{value:e,enumerable:!0}):i,e));var tc=uc((Qw,ec)=>{"use strict";var pc=Object.create,dn=Object.defineProperty,fc=Object.getOwnPropertyDescriptor,gc=Object.getOwnPropertyNames,mc=Object.getPrototypeOf,wc=Object.prototype.hasOwnProperty,bc=(e,t,i)=>t in e?dn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,vc=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),yc=(e,t)=>{for(var i in t)dn(e,i,{get:t[i],enumerable:!0})},qa=(e,t,i,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of gc(t))!wc.call(e,s)&&s!==i&&dn(e,s,{get:()=>t[s],enumerable:!(n=fc(t,s))||n.enumerable});return e},xc=(e,t,i)=>(i=e!=null?pc(mc(e)):{},qa(t||!e||!e.__esModule?dn(i,"default",{value:e,enumerable:!0}):i,e)),Sc=e=>qa(dn({},"__esModule",{value:!0}),e),u=(e,t,i)=>bc(e,typeof t!="symbol"?t+"":t,i),Cc=vc((e,t)=>{var i=-1,n=1,s=0;function r(x,P,C,E,L){if(x===P)return x?[[s,x]]:[];if(C!=null){var R=he(x,P,C);if(R)return R}var O=l(x,P),D=x.substring(0,O);x=x.substring(O),P=P.substring(O),O=p(x,P);var $=x.substring(x.length-O);x=x.substring(0,x.length-O),P=P.substring(0,P.length-O);var X=o(x,P);return D&&X.unshift([s,D]),$&&X.push([s,$]),T(X,L),E&&f(X),X}function o(x,P){var C;if(!x)return[[n,P]];if(!P)return[[i,x]];var E=x.length>P.length?x:P,L=x.length>P.length?P:x,R=E.indexOf(L);if(R!==-1)return C=[[n,E.substring(0,R)],[s,L],[n,E.substring(R+L.length)]],x.length>P.length&&(C[0][0]=C[2][0]=i),C;if(L.length===1)return[[i,x],[n,P]];var O=d(x,P);if(O){var D=O[0],$=O[1],X=O[2],Z=O[3],Y=O[4],fe=r(D,X),te=r($,Z);return fe.concat([[s,Y]],te)}return a(x,P)}function a(x,P){for(var C=x.length,E=P.length,L=Math.ceil((C+E)/2),R=L,O=2*L,D=new Array(O),$=new Array(O),X=0;X<O;X++)D[X]=-1,$[X]=-1;D[R+1]=0,$[R+1]=0;for(var Z=C-E,Y=Z%2!==0,fe=0,te=0,se=0,ye=0,we=0;we<L;we++){for(var K=-we+fe;K<=we-te;K+=2){var U=R+K,re;K===-we||K!==we&&D[U-1]<D[U+1]?re=D[U+1]:re=D[U-1]+1;for(var ce=re-K;re<C&&ce<E&&x.charAt(re)===P.charAt(ce);)re++,ce++;if(D[U]=re,re>C)te+=2;else if(ce>E)fe+=2;else if(Y){var M=R+Z-K;if(M>=0&&M<O&&$[M]!==-1){var Q=C-$[M];if(re>=Q)return h(x,P,re,ce)}}}for(var ge=-we+se;ge<=we-ye;ge+=2){var M=R+ge,Q;ge===-we||ge!==we&&$[M-1]<$[M+1]?Q=$[M+1]:Q=$[M-1]+1;for(var be=Q-ge;Q<C&&be<E&&x.charAt(C-Q-1)===P.charAt(E-be-1);)Q++,be++;if($[M]=Q,Q>C)ye+=2;else if(be>E)se+=2;else if(!Y){var U=R+Z-ge;if(U>=0&&U<O&&D[U]!==-1){var re=D[U],ce=R+re-U;if(Q=C-Q,re>=Q)return h(x,P,re,ce)}}}}return[[i,x],[n,P]]}function h(x,P,C,E){var L=x.substring(0,C),R=P.substring(0,E),O=x.substring(C),D=P.substring(E),$=r(L,R),X=r(O,D);return $.concat(X)}function l(x,P){if(!x||!P||x.charAt(0)!==P.charAt(0))return 0;for(var C=0,E=Math.min(x.length,P.length),L=E,R=0;C<L;)x.substring(R,L)==P.substring(R,L)?(C=L,R=C):E=L,L=Math.floor((E-C)/2+C);return A(x.charCodeAt(L-1))&&L--,L}function c(x,P){var C=x.length,E=P.length;if(C==0||E==0)return 0;C>E?x=x.substring(C-E):C<E&&(P=P.substring(0,C));var L=Math.min(C,E);if(x==P)return L;for(var R=0,O=1;;){var D=x.substring(L-O),$=P.indexOf(D);if($==-1)return R;O+=$,($==0||x.substring(L-O)==P.substring(0,O))&&(R=O,O++)}}function p(x,P){if(!x||!P||x.slice(-1)!==P.slice(-1))return 0;for(var C=0,E=Math.min(x.length,P.length),L=E,R=0;C<L;)x.substring(x.length-L,x.length-R)==P.substring(P.length-L,P.length-R)?(C=L,R=C):E=L,L=Math.floor((E-C)/2+C);return _(x.charCodeAt(x.length-L))&&L--,L}function d(x,P){var C=x.length>P.length?x:P,E=x.length>P.length?P:x;if(C.length<4||E.length*2<C.length)return null;function L(te,se,ye){for(var we=te.substring(ye,ye+Math.floor(te.length/4)),K=-1,U="",re,ce,M,Q;(K=se.indexOf(we,K+1))!==-1;){var ge=l(te.substring(ye),se.substring(K)),be=p(te.substring(0,ye),se.substring(0,K));U.length<be+ge&&(U=se.substring(K-be,K)+se.substring(K,K+ge),re=te.substring(0,ye-be),ce=te.substring(ye+ge),M=se.substring(0,K-be),Q=se.substring(K+ge))}return U.length*2>=te.length?[re,ce,M,Q,U]:null}var R=L(C,E,Math.ceil(C.length/4)),O=L(C,E,Math.ceil(C.length/2)),D;if(!R&&!O)return null;O?R?D=R[4].length>O[4].length?R:O:D=O:D=R;var $,X,Z,Y;x.length>P.length?($=D[0],X=D[1],Z=D[2],Y=D[3]):(Z=D[0],Y=D[1],$=D[2],X=D[3]);var fe=D[4];return[$,X,Z,Y,fe]}function f(x){for(var P=!1,C=[],E=0,L=null,R=0,O=0,D=0,$=0,X=0;R<x.length;)x[R][0]==s?(C[E++]=R,O=$,D=X,$=0,X=0,L=x[R][1]):(x[R][0]==n?$+=x[R][1].length:X+=x[R][1].length,L&&L.length<=Math.max(O,D)&&L.length<=Math.max($,X)&&(x.splice(C[E-1],0,[i,L]),x[C[E-1]+1][0]=n,E--,E--,R=E>0?C[E-1]:-1,O=0,D=0,$=0,X=0,L=null,P=!0)),R++;for(P&&T(x),S(x),R=1;R<x.length;){if(x[R-1][0]==i&&x[R][0]==n){var Z=x[R-1][1],Y=x[R][1],fe=c(Z,Y),te=c(Y,Z);fe>=te?(fe>=Z.length/2||fe>=Y.length/2)&&(x.splice(R,0,[s,Y.substring(0,fe)]),x[R-1][1]=Z.substring(0,Z.length-fe),x[R+1][1]=Y.substring(fe),R++):(te>=Z.length/2||te>=Y.length/2)&&(x.splice(R,0,[s,Z.substring(0,te)]),x[R-1][0]=n,x[R-1][1]=Y.substring(0,Y.length-te),x[R+1][0]=i,x[R+1][1]=Z.substring(te),R++),R++}R++}}var m=/[^a-zA-Z0-9]/,g=/\s/,w=/[\r\n]/,y=/\n\r?\n$/,b=/^\r?\n\r?\n/;function S(x){function P(te,se){if(!te||!se)return 6;var ye=te.charAt(te.length-1),we=se.charAt(0),K=ye.match(m),U=we.match(m),re=K&&ye.match(g),ce=U&&we.match(g),M=re&&ye.match(w),Q=ce&&we.match(w),ge=M&&te.match(y),be=Q&&se.match(b);return ge||be?5:M||Q?4:K&&!re&&ce?3:re||ce?2:K||U?1:0}for(var C=1;C<x.length-1;){if(x[C-1][0]==s&&x[C+1][0]==s){var E=x[C-1][1],L=x[C][1],R=x[C+1][1],O=p(E,L);if(O){var D=L.substring(L.length-O);E=E.substring(0,E.length-O),L=D+L.substring(0,L.length-O),R=D+R}for(var $=E,X=L,Z=R,Y=P(E,L)+P(L,R);L.charAt(0)===R.charAt(0);){E+=L.charAt(0),L=L.substring(1)+R.charAt(0),R=R.substring(1);var fe=P(E,L)+P(L,R);fe>=Y&&(Y=fe,$=E,X=L,Z=R)}x[C-1][1]!=$&&($?x[C-1][1]=$:(x.splice(C-1,1),C--),x[C][1]=X,Z?x[C+1][1]=Z:(x.splice(C+1,1),C--))}C++}}function T(x,P){x.push([s,""]);for(var C=0,E=0,L=0,R="",O="",D;C<x.length;){if(C<x.length-1&&!x[C][1]){x.splice(C,1);continue}switch(x[C][0]){case n:L++,O+=x[C][1],C++;break;case i:E++,R+=x[C][1],C++;break;case s:var $=C-L-E-1;if(P){if($>=0&&W(x[$][1])){var X=x[$][1].slice(-1);if(x[$][1]=x[$][1].slice(0,-1),R=X+R,O=X+O,!x[$][1]){x.splice($,1),C--;var Z=$-1;x[Z]&&x[Z][0]===n&&(L++,O=x[Z][1]+O,Z--),x[Z]&&x[Z][0]===i&&(E++,R=x[Z][1]+R,Z--),$=Z}}if(V(x[C][1])){var X=x[C][1].charAt(0);x[C][1]=x[C][1].slice(1),R+=X,O+=X}}if(C<x.length-1&&!x[C][1]){x.splice(C,1);break}if(R.length>0||O.length>0){R.length>0&&O.length>0&&(D=l(O,R),D!==0&&($>=0?x[$][1]+=O.substring(0,D):(x.splice(0,0,[s,O.substring(0,D)]),C++),O=O.substring(D),R=R.substring(D)),D=p(O,R),D!==0&&(x[C][1]=O.substring(O.length-D)+x[C][1],O=O.substring(0,O.length-D),R=R.substring(0,R.length-D)));var Y=L+E;R.length===0&&O.length===0?(x.splice(C-Y,Y),C=C-Y):R.length===0?(x.splice(C-Y,Y,[n,O]),C=C-Y+1):O.length===0?(x.splice(C-Y,Y,[i,R]),C=C-Y+1):(x.splice(C-Y,Y,[i,R],[n,O]),C=C-Y+2)}C!==0&&x[C-1][0]===s?(x[C-1][1]+=x[C][1],x.splice(C,1)):C++,L=0,E=0,R="",O="";break}}x[x.length-1][1]===""&&x.pop();var fe=!1;for(C=1;C<x.length-1;)x[C-1][0]===s&&x[C+1][0]===s&&(x[C][1].substring(x[C][1].length-x[C-1][1].length)===x[C-1][1]?(x[C][1]=x[C-1][1]+x[C][1].substring(0,x[C][1].length-x[C-1][1].length),x[C+1][1]=x[C-1][1]+x[C+1][1],x.splice(C-1,1),fe=!0):x[C][1].substring(0,x[C+1][1].length)==x[C+1][1]&&(x[C-1][1]+=x[C+1][1],x[C][1]=x[C][1].substring(x[C+1][1].length)+x[C+1][1],x.splice(C+1,1),fe=!0)),C++;fe&&T(x,P)}function A(x){return x>=55296&&x<=56319}function _(x){return x>=56320&&x<=57343}function V(x){return _(x.charCodeAt(0))}function W(x){return A(x.charCodeAt(x.length-1))}function ee(x){for(var P=[],C=0;C<x.length;C++)x[C][1].length>0&&P.push(x[C]);return P}function $e(x,P,C,E){return W(x)||V(E)?null:ee([[s,x],[i,P],[n,C],[s,E]])}function he(x,P,C){var E=typeof C=="number"?{index:C,length:0}:C.oldRange,L=typeof C=="number"?null:C.newRange,R=x.length,O=P.length;if(E.length===0&&(L===null||L.length===0)){var D=E.index,$=x.slice(0,D),X=x.slice(D),Z=L?L.index:null;e:{var Y=D+O-R;if(Z!==null&&Z!==Y||Y<0||Y>O)break e;var fe=P.slice(0,Y),te=P.slice(Y);if(te!==X)break e;var se=Math.min(D,Y),ye=$.slice(0,se),we=fe.slice(0,se);if(ye!==we)break e;var K=$.slice(se),U=fe.slice(se);return $e(ye,K,U,X)}e:{if(Z!==null&&Z!==D)break e;var re=D,fe=P.slice(0,re),te=P.slice(re);if(fe!==$)break e;var ce=Math.min(R-re,O-re),M=X.slice(X.length-ce),Q=te.slice(te.length-ce);if(M!==Q)break e;var K=X.slice(0,X.length-ce),U=te.slice(0,te.length-ce);return $e($,K,U,M)}}if(E.length>0&&L&&L.length===0)e:{var ye=x.slice(0,E.index),M=x.slice(E.index+E.length),se=ye.length,ce=M.length;if(O<se+ce)break e;var we=P.slice(0,se),Q=P.slice(O-ce);if(ye!==we||M!==Q)break e;var K=x.slice(se,R-ce),U=P.slice(se,O-ce);return $e(ye,K,U,M)}return null}function ue(x,P,C,E){return r(x,P,C,E,!0)}ue.INSERT=n,ue.DELETE=i,ue.EQUAL=s,t.exports=ue}),Ya={};yc(Ya,{CoreViewer:()=>Ju,HOOKS:()=>ns,Navigation:()=>Qu,PageProgression:()=>Rr,PageSide:()=>Ja,PageViewMode:()=>$w,Profiler:()=>il,ReadyState:()=>Qa,UserAgentBaseCss:()=>Xl,UserAgentPageCss:()=>jl,UserAgentTocCss:()=>ql,UserAgentXml:()=>Wl,ValidationTxt:()=>Gl,VivliostylePolyfillCss:()=>Yl,VivliostyleViewportCss:()=>$l,VivliostyleViewportScreenCss:()=>Ul,ZoomType:()=>Uw,getHooksForName:()=>ft,isDebug:()=>tn,pageProgressionOf:()=>Ka,plugin:()=>kc,printHTML:()=>Ww,profile:()=>Ic,profiler:()=>tt,registerHook:()=>ut,removeHook:()=>tl,setDebug:()=>Za});ec.exports=Sc(Ya);var tn=!1;function Za(e){tn=e}var Rr=(e=>(e.LTR="ltr",e.RTL="rtl",e))(Rr||{});function Ka(e){switch(e){case"ltr":return"ltr";case"rtl":return"rtl";default:throw new Error(`unknown PageProgression: ${e}`)}}var Ja=(e=>(e.LEFT="left",e.RIGHT="right",e))(Ja||{}),Qa=(e=>(e.LOADING="loading",e.INTERACTIVE="interactive",e.COMPLETE="complete",e))(Qa||{}),el=(e=>(e[e.DEBUG=1]="DEBUG",e[e.INFO=2]="INFO",e[e.WARN=3]="WARN",e[e.ERROR=4]="ERROR",e))(el||{}),Ec=class{constructor(e){this.opt_console=e,u(this,"listeners",{})}consoleDebug(e){this.opt_console?this.opt_console.debug?this.opt_console.debug(...e):this.opt_console.log(...e):console.debug(...e)}consoleInfo(e){this.opt_console?this.opt_console.info?this.opt_console.info(...e):this.opt_console.log(...e):console.info(...e)}consoleWarn(e){this.opt_console?this.opt_console.warn?this.opt_console.warn(...e):this.opt_console.log(...e):console.warn(...e)}consoleError(e){this.opt_console?this.opt_console.error?this.opt_console.error(...e):this.opt_console.log(...e):console.error(...e)}triggerListeners(e,t){let i=this.listeners[e];i&&i(t)}addListener(e,t){this.listeners[e]=t}debug(...e){let t=En(arguments);this.consoleDebug(kn(t)),this.triggerListeners(1,t)}info(...e){let t=En(arguments);this.consoleInfo(kn(t)),this.triggerListeners(2,t)}warn(...e){let t=En(arguments);this.consoleWarn(kn(t)),this.triggerListeners(3,t)}error(...e){let t=En(arguments);this.consoleError(kn(t)),this.triggerListeners(4,t)}};function En(e){let t=Array.from(e),i=null;return t[0]instanceof Error&&(i=t.shift()),{error:i,messages:t}}function kn(e){let t=e.error,i=t&&(t.frameTrace||t.stack),n=[].concat(e.messages);return t&&(n.length>0&&(n=n.concat([`
|
|
2
2
|
`])),n=n.concat([t.toString()]),i&&(n=n.concat([`
|
|
3
|
-
`]).concat(i))),n}var
|
|
4
|
-
`}}),V.info(t)}disable(){this.registerTiming=ti,this.registerStartTiming=this.registerStartTiming=ti,this.registerEndTiming=this.registerEndTiming=ti}enable(){this.registerTiming=vs,this.registerStartTiming=this.registerStartTiming=yo,this.registerEndTiming=this.registerEndTiming=Ec}isEnabled(){return this.registerStartTiming===yo}};function ti(){}function vs(e,t,i){i||(i=this.performanceInstance.now());let n=this.timestamps[e];n||(n=this.timestamps[e]=[]);let s,r=n.length;for(let o=r-1;o>=0&&(s=n[o],!(s&&!s[t]));o--)s=null;s||(s={},n.push(s)),s[t]=i}function yo(e,t){this.registerTiming(e,"start",t)}function Ec(e,t){this.registerTiming(e,"end",t)}var kc={now:Date.now},Nc=window&&window.performance,tt=new tl(Nc||kc);tt.forceRegisterStartTiming("load_vivliostyle");var Pc={profiler:{registerStartTiming:tt.registerStartTiming,registerEndTiming:tt.registerEndTiming,printTimings:tt.printTimings,disable:tt.disable,enable:tt.enable}},Bs=/^[\s\p{Zs}\p{P}\p{Mn}]*[\p{L}\p{N}]\p{Mn}*(?:[\s\p{Zs}]*\p{P}\p{Mn}*)*/u,xt="data-adapt-eloff",Tc={};function Rr(e){return JSON.parse(e)}function Ct(e){let t=e.match(/^([^#]*)/);return t?t[1]:e}function Ic(e){let t=e.match(/^([^#?]*)/);return t?t[1]:e}var vi=window.location.href;function xo(e){vi=e}var Jt=window.location.href;function So(e){Jt=e}function ke(e,t){if(/^data:/i.test(t))return e||t;if(!t||e.match(/^\w{2,}:/))return e.toLowerCase().match("^javascript:")?"#":(e.match(/^\w{2,}:\/\/[^\/]+$/)&&(e=`${e}/`),e);t.match(/^\w{2,}:\/\/[^\/]+$/)&&(t=`${t}/`);let i;if(e.match(/^\/\//))return i=t.match(/^(\w{2,}:)\/\//),i?i[1]+e:e;if(e.match(/^\//))return i=t.match(/^(\w{2,}:\/\/[^\/]+)\//),i?i[1]+e:e;if(e.match(/^\.(\/|$)/)&&(e=e.substr(2)),t=Ic(t),e.match(/^#/))return t+e;let n=t.lastIndexOf("/");if(n<0)return e;let s=t.substr(0,n+1)+e,r="";for(i=s.match(/^([^?#]*)([?#].*)$/),i&&(s=i[1],r=i[2]);n=s.indexOf("/../"),!(n<=0);){let o=s.lastIndexOf("/",n-1);if(o<=0)break;s=s.substr(0,o)+s.substr(n+3)}return s.replace(/\/(\.\/)+/g,"/")+r}function nn(e){let t;return(t=/^(https?:)\/\/github\.com\/([^/]+\/[^/]+)\/(blob\/|tree\/|raw\/)?(.*)$/.exec(e))?e=`${t[1]}//raw.githubusercontent.com/${t[2]}/${t[3]?"":"master/"}${t[4]}`:(t=/^(https?:)\/\/www\.aozora\.gr\.jp\/(cards\/[^/]+\/files\/[^/.]+\.html)$/.exec(e))?e=`${t[1]}//raw.githubusercontent.com/aozorabunko/aozorabunko/master/${t[2]}`:(t=/^(https?:)\/\/gist\.github\.com\/([^/]+\/\w+)(\/|$)(raw(\/|$))?(.*)$/.exec(e))?e=`${t[1]}//gist.githubusercontent.com/${t[2]}/raw/${t[6]}`:(t=/^(https?:)\/\/gist\.github\.com\/([^/]+\/\w+)#file-(.*)-(\w+)$/.exec(e))?e=`${t[1]}//gist.githubusercontent.com/${t[2]}/raw/${t[3]}.${t[4]}`:(t=/^(https?:)\/\/(?:[^/.]+\.)?jsbin\.com\/(?!(?:blog|help)\b)(\w+)((\/\d+)?).*$/.exec(e))&&(e=`${t[1]}//output.jsbin.com/${t[2]}${t[3]}/`),e}function Co(e){return e==null?e:e.toString()}var Rc=class{constructor(){u(this,"queue",[null])}length(){return this.queue.length-1}add(e){let t=this.queue.length;for(;t>1;){let i=Math.floor(t/2),n=this.queue[i];if(n.compare(e)>0){this.queue[t]=e;return}this.queue[t]=n,t=i}this.queue[1]=e}peek(){return this.queue[1]}remove(){let e=this.queue[1],t=this.queue.pop(),i=this.queue.length;if(i>1){let n=1;for(;;){let s=n*2;if(s>=i)break;if(this.queue[s].compare(t)>0)s+1<i&&this.queue[s+1].compare(this.queue[s])>0&&s++;else if(s+1<i&&this.queue[s+1].compare(t)>0)s++;else break;this.queue[n]=this.queue[s],n=s}this.queue[n]=t}return e}},il=["","-webkit-","-moz-"],ni={};function ys(e,t){return CSS.supports(e+t,"unset")}function Ac(e){let t=ni[e];if(t||t===null)return t;switch(e){case"behavior":case"template":case"ua-list-item-count":case"x-first-pseudo":return ni[e]=null,null;case"text-combine-upright":if(ys("-webkit-","text-combine")&&!ys("","text-combine-upright"))return ni[e]=["-webkit-text-combine"],["-webkit-text-combine"];break}for(let i of il)if(ys(i,e))return t=[i+e],ni[e]=t,t;return V.warn("Property not supported by the browser: ",e),ni[e]=null,null}function N(e,t,i){let n=e?.style;if(!n)return;if(t.startsWith("--")){n.setProperty(t,i||" ");return}let s=Ac(t);if(s)for(let r of s){switch(r){case"-webkit-text-combine":switch(i){case"all":i="horizontal";break}break;case"text-combine-upright":switch(i){case"all":n.setProperty("text-indent","0");break}break}n.setProperty(r,i)}}function At(e,t,i){try{let n=ni[t];return e.style.getPropertyValue(n?n[0]:t)}catch{}return i||""}function _s(e){let t=e.getAttributeNS("http://www.w3.org/XML/1998/namespace","lang");return!t&&e.namespaceURI=="http://www.w3.org/1999/xhtml"&&(t=e.getAttribute("lang")),t}var kt=class{constructor(){u(this,"list",[])}append(e){return this.list.push(e),this}clear(){this.list=[]}toString(){let e=this.list.join("");return this.list=[e],e}};function nl(e){return`\\${e.charCodeAt(0).toString(16)} `}function Ot(e){return e.replace(/[^-_a-zA-Z0-9\u0080-\uFFFF]/g,nl)}function pn(e){return e.replace(/[\u0000-\u001F"\\]/g,nl)}function Eo(e){return e.replace(/[\s+&?=#\u007F-\uFFFF]+/g,encodeURIComponent)}function ko(e){return!!e.match(/^[a-zA-Z\u009E\u009F\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u024F\u037B-\u037D\u0386\u0388-\u0482\u048A-\u0527]$/)}function Lc(e,t){return t=typeof t=="string"?t:"\\u",t+(65536|e.charCodeAt(0)).toString(16).substr(1)}function sl(e,t){function i(n){return Lc(n,t)}return e.replace(/[^-a-zA-Z0-9_]/g,i)}function Rt(e){return sl(e)}function Fc(e,t){return t=typeof t=="string"?t:"\\u",e.indexOf(t)===0?String.fromCharCode(parseInt(e.substring(t.length),16)):e}function Oc(e,t){t=typeof t=="string"?t:"\\u";function i(s){return Fc(s,t)}let n=new RegExp(`${Rt(t)}[0-9a-fA-F]{4}`,"g");return e.replace(n,i)}function _t(e,t){let i=0,n=e;for(;;){if(i<=n,i==0||t(i-1),n==e||t(n),i==n)return i;let s=i+n>>1;t(s)?n=s:i=s+1}}function rl(e,t){return e-t}function No(e,t){let i={};for(let n of e){let s=t(n);s&&!i[s]&&(i[s]=n)}return i}function Bc(e){let t={};for(let i=0;i<e.length;i++)t[e[i]]=!0;return t}function xs(e,t){let i={};for(let n of e){let s=t(n);s&&(i[s]?i[s].push(n):i[s]=[n])}return i}function _c(e,t){let i={};for(let n in e)i[n]=t(e[n],n);return i}var Ar=class{constructor(){u(this,"listeners",{})}dispatchEvent(e){let t=this.listeners[e.type];if(t){e.target=this,e.currentTarget=this;for(let i=0;i<t.length;i++)t[i](e)}}addEventListener(e,t,i){if(i)return;let n=this.listeners[e];n?n.includes(t)||n.push(t):this.listeners[e]=[t]}removeEventListener(e,t,i){if(i)return;let n=this.listeners[e];if(n){let s=n.indexOf(t);s>=0&&n.splice(s,1)}}},Xt={audio:!0,canvas:!0,embed:!0,iframe:!0,img:!0,math:!0,object:!0,picture:!0,svg:!0,video:!0};function ol(e){if(e.nodeType==1){let t=e.getAttribute("id");if(t)return t}return null}function Mc(e){return`^${e}`}function Po(e){return e.replace(/[\[\]\(\),=;^]/g,Mc)}function zc(e){return e.substr(1)}function Ms(e){return e&&e.replace(/\^[\[\]\(\),=;^]/g,zc)}function Dc(e){let t=[];do{let i=e.match(/^(\^,|[^,])*/),n=Ms(i[0]);if(e=e.substr(i[0].length+1),!e&&!t.length)return n;t.push(n)}while(e);return t}function To(e){let t={};for(;e;){let i=e.match(/^;([^;=]+)=(([^;]|\^;)*)/);if(!i)return t;t[i[1]]=Dc(i[2]),e=e.substr(i[0].length)}return t}var Io=class{appendTo(e){e.append("!")}applyTo(e){return!1}},Ro=class{constructor(e,t,i){this.index=e,this.id=t,this.sideBias=i}appendTo(e){e.append("/"),e.append(this.index.toString()),(this.id||this.sideBias)&&(e.append("["),this.id&&e.append(this.id),this.sideBias&&(e.append(";s="),e.append(this.sideBias)),e.append("]"))}applyTo(e){if(e.node.nodeType!=1)throw new Error("E_CFI_NOT_ELEMENT");let t=e.node,i=t.children,n=i.length,s,r=Math.floor(this.index/2)-1;if(r<0||n==0)s=t.firstChild,e.node=s||t;else{if(s=i[Math.min(r,n-1)],this.index&1){let o=s.nextSibling;!o||o.nodeType==1?e.after=!0:s=o}e.node=s}if(this.id&&(e.after||this.id!=ol(e.node))){let o=t.ownerDocument.getElementById(this.id);o?e.node=o:V.warn("E_CFI_ID_MISMATCH:",this.id)}return e.sideBias=this.sideBias,!0}},Ao=class{constructor(e,t,i,n){this.offset=e,this.textBefore=t,this.textAfter=i,this.sideBias=n}applyTo(e){if(this.offset>0&&!e.after){let t=this.offset,i=e.node;for(;;){let n=i.nodeType;if(n==1)break;let s=i.nextSibling;if(3<=n&&n<=5){let r=i.textContent.length;if(t<=r)break;if(!s){t=r;break}t-=r}if(!s){t=0;break}i=s}e.node=i,e.offset=t}return e.sideBias=this.sideBias,!0}appendTo(e){e.append(":"),e.append(this.offset.toString()),(this.textBefore||this.textAfter||this.sideBias)&&(e.append("["),(this.textBefore||this.textAfter)&&(this.textBefore&&e.append(Po(this.textBefore)),e.append(","),this.textAfter&&e.append(Po(this.textAfter))),this.sideBias&&(e.append(";s="),e.append(this.sideBias)),e.append("]"))}},Lo=class al{constructor(){u(this,"steps",null)}fromString(t){let i=t.match(/^#?epubcfi\((.*)\)$/);if(!i)throw new Error("E_CFI_NOT_CFI");let n=decodeURIComponent(i[1]),s=0,r=[];for(;;){let o;switch(n.charAt(s)){case"/":{if(s++,i=n.substr(s).match(/^(0|[1-9][0-9]*)(\[(.*?)(;([^\]]|\^\])*)?\])?/),!i)throw new Error("E_CFI_NUMBER_EXPECTED");s+=i[0].length;let a=parseInt(i[1],10),h=i[3];o=To(i[4]),r.push(new Ro(a,h,Co(o.s)));break}case":":{if(s++,i=n.substr(s).match(/^(0|[1-9][0-9]*)(\[((([^\];,]|\^[\];,])*)(,(([^\];,]|\^[\];,])*))?)(;([^]]|\^\])*)?\])?/),!i)throw new Error("E_CFI_NUMBER_EXPECTED");s+=i[0].length;let a=parseInt(i[1],10),h=i[4];h&&(h=Ms(h));let l=i[7];l&&(l=Ms(l)),o=To(i[10]),r.push(new Ao(a,h,l,Co(o.s)));break}case"!":s++,r.push(new Io);break;case"~":case"@":case"":this.steps=r;return;default:throw new Error("E_CFI_PARSE_ERROR")}}}navigate(t){let i={node:t.documentElement,offset:0,after:!1,sideBias:null,ref:null};for(let n=0;n<this.steps.length;n++)if(!this.steps[n].applyTo(i)){i.ref=new al,i.ref.steps=this.steps.slice(n+1);break}return i}trim(t,i){return t.replace(/\s+/g," ").match(i?/^[ -\uD7FF\uE000-\uFFFF]{0,8}/:/[ -\uD7FF\uE000-\uFFFF]{0,8}$/)[0].replace(/^\s/,"").replace(/\s$/,"")}prependPathFromNode(t,i,n,s){let r=[],o=t.parentNode,a="",h="";for(;t;){switch(t.nodeType){case 3:case 4:case 5:{let l=t.textContent,c=l.length;n?(i+=c,a||(a=l)):(i>c&&(i=c),n=!0,a=l.substr(0,i),h=l.substr(i)),t=t.previousSibling;continue}case 8:t=t.previousSibling;continue}break}for((i>0||a||h)&&(a=this.trim(a,!1),h=this.trim(h,!0),r.push(new Ao(i,a,h,s)),s=null);o&&!(!o||o.nodeType==9);){let l=n?null:ol(t),c=n?1:0;for(;t;)t.nodeType==1&&(c+=2),t=t.previousSibling;r.push(new Ro(c,l,s)),s=null,t=o,o=o.parentNode,n=!1}r.reverse(),this.steps?(r.push(new Io),this.steps=r.concat(this.steps)):this.steps=r}toString(){if(!this.steps)return"";let t=new kt;t.append("epubcfi(");for(let i=0;i<this.steps.length;i++)this.steps[i].appendTo(t);return t.append(")"),t.toString().replace(/%/g,"%25")}};function ll(){return{fontFamily:"serif",lineHeight:1.25,margin:8,hyphenate:!1,columnWidth:25,horizontal:!1,nightMode:!1,spreadView:!1,pageBorder:1,enabledMediaTypes:{vivliostyle:!0,print:!0},defaultPaperSize:void 0}}function hl(e){return{fontFamily:e.fontFamily,lineHeight:e.lineHeight,margin:e.margin,hyphenate:e.hyphenate,columnWidth:e.columnWidth,horizontal:e.horizontal,nightMode:e.nightMode,spreadView:e.spreadView,pageBorder:e.pageBorder,enabledMediaTypes:Object.assign({},e.enabledMediaTypes),defaultPaperSize:e.defaultPaperSize?Object.assign({},e.defaultPaperSize):void 0}}var Vc=ll(),Fo={PENDING:{}};function ul(e,t,i,n){let s=Math.min((e-0)/i,(t-0)/n);return`matrix(${s},0,0,${s},0,0)`}function Ss(e){return`"${pn(`${e}`)}"`}function Uc(e){return Ot(`${e}`)}function zs(e,t){return e?`${Ot(e)}.${Ot(t)}`:Ot(t)}var cl=0,Ds=class{constructor(e,t){if(this.parent=e,this.resolver=t,u(this,"scopeKey"),u(this,"children",[]),u(this,"zero"),u(this,"one"),u(this,"_true"),u(this,"_false"),u(this,"values",{}),u(this,"funcs",{}),u(this,"builtIns",{}),this.scopeKey=`S${cl++}`,this.zero=new Oe(this,0),this.one=new Oe(this,1),this._true=new Oe(this,!0),this._false=new Oe(this,!1),e&&e.children.push(this),!e){let i=this.builtIns;i.floor=Math.floor,i.ceil=Math.ceil,i.round=Math.round,i.sqrt=Math.sqrt,i.min=Math.min,i.max=Math.max,i.letterbox=ul,i["css-string"]=Ss,i["css-name"]=Uc,i.typeof=n=>typeof n,this.defineBuiltInName("page-width",function(){return this.pageWidth()}),this.defineBuiltInName("page-height",function(){return this.pageHeight()}),this.defineBuiltInName("pref-font-family",function(){return this.pref.fontFamily}),this.defineBuiltInName("pref-night-mode",function(){return this.pref.nightMode}),this.defineBuiltInName("pref-hyphenate",function(){return this.pref.hyphenate}),this.defineBuiltInName("pref-margin",function(){return this.pref.margin}),this.defineBuiltInName("pref-line-height",function(){return this.pref.lineHeight}),this.defineBuiltInName("pref-column-width",function(){return this.pref.columnWidth*this.fontSize}),this.defineBuiltInName("pref-horizontal",function(){return this.pref.horizontal}),this.defineBuiltInName("pref-spread-view",function(){return this.pref.spreadView}),this.defineBuiltInName("pub-title",function(){return Ss(this.pubTitle?this.pubTitle:"")}),this.defineBuiltInName("doc-title",function(){return Ss(this.docTitle?this.docTitle:"")})}}defineBuiltInName(e,t){this.values[e]=new De(this,t,e)}defineName(e,t){this.values[e]=t}defineFunc(e,t){this.funcs[e]=t}defineBuiltIn(e,t){this.builtIns[e]=t}};function Hc(e){switch(e?.toLowerCase()){case"px":case"in":case"pt":case"pc":case"cm":case"mm":case"q":return!0;default:return!1}}function dl(e){switch(e?.toLowerCase()){case"vw":case"vh":case"vi":case"vb":case"vmin":case"vmax":case"pvw":case"pvh":case"pvi":case"pvb":case"pvmin":case"pvmax":return!0;default:return!1}}function $c(e){switch(e?.toLowerCase()){case"em":case"ex":case"rem":case"lh":case"rlh":return!0;default:return!1}}function Gc(e){switch(e?.toLowerCase()){case"rem":case"rlh":return!0;default:return!1}}var me={px:1,in:96,pt:4/3,pc:96/6,cm:96/2.54,mm:96/25.4,q:96/2.54/40,em:16,rem:16,ex:8,lh:20,rlh:20,dppx:1,dpi:1/96,dpcm:2.54/96};function pl(e){switch(e){case"q":return!CSS.supports("font-size","1q");case"lh":return!CSS.supports("line-height","1lh");case"rem":case"rlh":return!0;default:return!1}}var Vs=class{constructor(e,t,i,n){this.rootScope=e,this.viewportWidth=t,this.viewportHeight=i,u(this,"actualPageWidth",null),u(this,"pageWidth"),u(this,"actualPageHeight",null),u(this,"pageHeight"),u(this,"initialFontSize"),u(this,"rootFontSize",null),u(this,"isRelativeRootFontSize",null),u(this,"fontSize"),u(this,"rootLineHeight",null),u(this,"pref"),u(this,"scopes",{}),u(this,"pageAreaWidth",null),u(this,"pageAreaHeight",null),u(this,"pageVertical",null),u(this,"pubTitle",null),u(this,"docTitle",null),this.pageWidth=function(){return this.actualPageWidth?this.actualPageWidth:this.pref.spreadView?Math.floor(t/2)-this.pref.pageBorder:t},this.pageHeight=function(){return this.actualPageHeight?this.actualPageHeight:i},this.initialFontSize=n,this.fontSize=function(){return this.rootFontSize?this.rootFontSize:n},this.pref=Vc}getScopeContext(e){let t=this.scopes[e.scopeKey];return t||(t={},this.scopes[e.scopeKey]=t),t}clearScope(e){this.scopes[e.scopeKey]={};for(let t=0;t<e.children.length;t++)this.clearScope(e.children[t])}queryUnitSize(e,t,i){if(dl(e)){let n=this.pageWidth()/100,s=this.pageHeight()/100,r=this.pageAreaWidth!=null?this.pageAreaWidth/100:n,o=this.pageAreaHeight!=null?this.pageAreaHeight/100:s,a=i??this.pageVertical;switch(e){case"vw":return r;case"vh":return o;case"vi":return a?o:r;case"vb":return a?r:o;case"vmin":return r<o?r:o;case"vmax":return r>o?r:o;case"pvw":return n;case"pvh":return s;case"pvi":return a?s:n;case"pvb":return a?n:s;case"pvmin":return n<s?n:s;case"pvmax":return n>s?n:s}}return e=="em"||e=="rem"?t?this.initialFontSize:this.fontSize():e=="ex"?me.ex*(t?this.initialFontSize:this.fontSize())/me.em:e=="lh"||e=="rlh"?this.rootLineHeight:me[e]}evalName(e,t){do{let i=e.values[t];if(i||e.resolver&&(i=e.resolver.call(this,t,!1),i))return i;e=e.parent}while(e);throw new Error(`Name '${t}' is undefined`)}evalCall(e,t,i,n){do{let s=e.funcs[t];if(s||e.resolver&&(s=e.resolver.call(this,t,!0),s))return s;let r=e.builtIns[t];if(r){if(n)return e.zero;let o=Array(i.length);for(let a=0;a<i.length;a++)o[a]=i[a].evaluate(this);return new Oe(e,r.apply(this,o))}e=e.parent}while(e);throw new Error(`Function '${t}' is undefined`)}evalMediaName(e,t){let i=e==="all"||!!this.pref.enabledMediaTypes[e];return t?!i:i}evalMediaTest(e,t){let i="",n=e.match(/^(min|max)-(.*)$/);n&&(i=n[1],e=n[2]);let s=null,r=null;switch(e){case"width":case"height":case"device-width":case"device-height":case"color":t&&(s=t.evaluate(this));break}switch(e){case"width":r=this.pageWidth();break;case"height":r=this.pageHeight();break;case"device-width":r=window.screen.availWidth;break;case"device-height":r=window.screen.availHeight;break;case"color":r=window.screen.pixelDepth;break}if(r!=null&&s!=null)switch(i){case"min":return r>=Number(s);case"max":return r<=Number(s);default:return r==s}else if(r!=null&&t==null)return r!==0;return!1}evalSupportsTest(e,t,i){return!1}queryVal(e,t){let i=e&&this.scopes[e.scopeKey];return i?i[t]:void 0}storeVal(e,t,i){this.getScopeContext(e)[t]=i}},ct=class{constructor(e){this.scope=e,u(this,"key"),this.scope=e,this.key=`_${cl++}`}toString(){let e=new kt;return this.appendTo(e,0),e.toString()}appendTo(e,t){throw new Error("F_ABSTRACT")}evaluateCore(e){throw new Error("F_ABSTRACT")}expand(e,t){return this}dependCore(e,t,i){return e===this}dependOuter(e,t,i){let n=i[this.key];if(n!=null)return n===Fo.PENDING?!1:n;{i[this.key]=Fo.PENDING;let s=this.dependCore(e,t,i);return i[this.key]=s,s}}depend(e,t){return this.dependOuter(e,t,{})}evaluate(e){let t=e.queryVal(this.scope,this.key);return typeof t<"u"||(t=this.evaluateCore(e),this.scope&&e.storeVal(this.scope,this.key,t)),t}isMediaName(){return!1}},fl=class extends ct{constructor(e,t){super(e),this.val=t}getOp(){throw new Error("F_ABSTRACT")}evalPrefix(e){throw new Error("F_ABSTRACT")}evaluateCore(e){let t=this.val.evaluate(e);return this.evalPrefix(t)}dependCore(e,t,i){return e===this||this.val.dependOuter(e,t,i)}appendTo(e,t){10<t&&e.append("("),e.append(this.getOp()),this.val.appendTo(e,10),10<t&&e.append(")")}expand(e,t){let i=this.val.expand(e,t);return i===this.val?this:new this.constructor(this.scope,i)}},ss=class extends ct{constructor(e,t,i){super(e),this.lhs=t,this.rhs=i}getPriority(){throw new Error("F_ABSTRACT")}getOp(){throw new Error("F_ABSTRACT")}evalInfix(e,t){throw new Error("F_ABSTRACT")}evaluateCore(e){let t=this.lhs.evaluate(e),i=this.rhs.evaluate(e);return this.evalInfix(t,i)}dependCore(e,t,i){return e===this||this.lhs.dependOuter(e,t,i)||this.rhs.dependOuter(e,t,i)}appendTo(e,t){let i=this.getPriority();i<=t&&e.append("("),this.lhs.appendTo(e,i),e.append(this.getOp()),this.rhs.appendTo(e,i),i<=t&&e.append(")")}expand(e,t){let i=this.lhs.expand(e,t),n=this.rhs.expand(e,t);return i===this.lhs&&n===this.rhs?this:new this.constructor(this.scope,i,n)}},gl=class extends ss{constructor(e,t,i){super(e,t,i)}getPriority(){return 1}},Ei=class extends ss{constructor(e,t,i){super(e,t,i)}getPriority(){return 2}},ml=class extends ss{constructor(e,t,i){super(e,t,i)}getPriority(){return 3}},Lr=class extends ss{constructor(e,t,i){super(e,t,i)}getPriority(){return 4}},Bt=class extends fl{constructor(e,t){super(e,t)}getOp(){return"!"}evalPrefix(e){return!e}},Wc=class extends Bt{constructor(e,t){super(e,t)}getOp(){return"not "}},li=class extends fl{constructor(e,t){super(e,t)}getOp(){return"-"}evalPrefix(e){return-e}},Fr=class extends gl{constructor(e,t,i){super(e,t,i)}getOp(){return"&&"}evaluateCore(e){return this.lhs.evaluate(e)&&this.rhs.evaluate(e)}},jc=class extends Fr{constructor(e,t,i){super(e,t,i)}getOp(){return" and "}},Or=class extends gl{constructor(e,t,i){super(e,t,i)}getOp(){return"||"}evaluateCore(e){return this.lhs.evaluate(e)||this.rhs.evaluate(e)}},Xc=class extends Or{constructor(e,t,i){super(e,t,i)}getOp(){return", "}},qc=class extends Or{constructor(e,t,i){super(e,t,i)}getOp(){return" or "}},Yc=class extends Ei{constructor(e,t,i){super(e,t,i)}getOp(){return"<"}evalInfix(e,t){return e<t}},Kc=class extends Ei{constructor(e,t,i){super(e,t,i)}getOp(){return"<="}evalInfix(e,t){return e<=t}},Zc=class extends Ei{constructor(e,t,i){super(e,t,i)}getOp(){return">"}evalInfix(e,t){return e>t}},Us=class extends Ei{constructor(e,t,i){super(e,t,i)}getOp(){return">="}evalInfix(e,t){return e>=t}},Br=class extends Ei{constructor(e,t,i){super(e,t,i)}getOp(){return"=="}evalInfix(e,t){return e==t}},Jc=class extends Ei{constructor(e,t,i){super(e,t,i)}getOp(){return"!="}evalInfix(e,t){return e!=t}},wl=class extends ml{constructor(e,t,i){super(e,t,i)}getOp(){return"+"}evalInfix(e,t){return e+t}},bl=class extends ml{constructor(e,t,i){super(e,t,i)}getOp(){return" - "}evalInfix(e,t){return e-t}},_r=class extends Lr{constructor(e,t,i){super(e,t,i)}getOp(){return"*"}evalInfix(e,t){return e*t}},vl=class extends Lr{constructor(e,t,i){super(e,t,i)}getOp(){return"/"}evalInfix(e,t){return e/t}},yl=class extends Lr{constructor(e,t,i){super(e,t,i)}getOp(){return"%"}evalInfix(e,t){return e%t}},fn=class extends ct{constructor(e,t,i){var n;super(e),this.num=t,u(this,"unit"),this.unit=(n=i?.toLowerCase())!=null?n:""}appendTo(e,t){e.append(this.num.toString()),e.append(Ot(this.unit))}evaluateCore(e){return this.num*e.queryUnitSize(this.unit,!1)}},Re=class extends ct{constructor(e,t){super(e),this.qualifiedName=t}appendTo(e,t){e.append(this.qualifiedName)}evaluateCore(e){return e.evalName(this.scope,this.qualifiedName).evaluate(e)}dependCore(e,t,i){return e===this||t.evalName(this.scope,this.qualifiedName).dependOuter(e,t,i)}},Oo=class extends ct{constructor(e,t,i){super(e),this.not=t,this.name=i}appendTo(e,t){this.not&&e.append("not "),e.append(Ot(this.name))}evaluateCore(e){return e.evalMediaName(this.name,this.not)}isMediaName(){return!0}},De=class extends ct{constructor(e,t,i){super(e),this.fn=t,this.str=i}appendTo(e,t){e.append(this.str)}evaluateCore(e){return this.fn.call(e)}};function Qc(e,t){e.append("(");for(let i=0;i<t.length;i++)i&&e.append(","),t[i].appendTo(e,0);e.append(")")}function ed(e,t,i){let n=t;for(let s=0;s<t.length;s++){let r=t[s].expand(e,i);if(t!==n)n[s]=r;else if(r!==t[s]){n=Array(t.length);for(let o=0;o<s;o++)n[o]=t[o];n[s]=r}}return n}var Gi=class xl extends ct{constructor(t,i,n){super(t),this.qualifiedName=i,this.params=n}appendTo(t,i){t.append(this.qualifiedName),Qc(t,this.params)}evaluateCore(t){return t.evalCall(this.scope,this.qualifiedName,this.params,!1).expand(t,this.params).evaluate(t)}dependCore(t,i,n){if(t===this)return!0;for(let s=0;s<this.params.length;s++)if(this.params[s].dependOuter(t,i,n))return!0;return i.evalCall(this.scope,this.qualifiedName,this.params,!0).dependOuter(t,i,n)}expand(t,i){let n=ed(t,this.params,i);return n===this.params?this:new xl(this.scope,this.qualifiedName,n)}},td=class Sl extends ct{constructor(t,i,n,s){super(t),this.cond=i,this.ifTrue=n,this.ifFalse=s}appendTo(t,i){i>0&&t.append("("),this.cond.appendTo(t,0),t.append("?"),this.ifTrue.appendTo(t,0),t.append(":"),this.ifFalse.appendTo(t,0),i>0&&t.append(")")}evaluateCore(t){return this.cond.evaluate(t)?this.ifTrue.evaluate(t):this.ifFalse.evaluate(t)}dependCore(t,i,n){return t===this||this.cond.dependOuter(t,i,n)||this.ifTrue.dependOuter(t,i,n)||this.ifFalse.dependOuter(t,i,n)}expand(t,i){let n=this.cond.expand(t,i),s=this.ifTrue.expand(t,i),r=this.ifFalse.expand(t,i);return n===this.cond&&s===this.ifTrue&&r===this.ifFalse?this:new Sl(this.scope,n,s,r)}},Oe=class extends ct{constructor(e,t){super(e),this.val=t}appendTo(e,t){switch(typeof this.val){case"number":case"boolean":e.append(this.val.toString());break;case"string":e.append('"'),e.append(pn(this.val)),e.append('"');break;default:throw new Error("F_UNEXPECTED_STATE")}}evaluateCore(e){return this.val}},Bo=class Cl extends ct{constructor(t,i,n){super(t),this.name=i,this.value=n}appendTo(t,i){t.append("("),t.append(pn(this.name.name)),t.append(":"),this.value.appendTo(t,0),t.append(")")}evaluateCore(t){return t.evalMediaTest(this.name.name,this.value)}dependCore(t,i,n){return t===this||this.value.dependOuter(t,i,n)}expand(t,i){let n=this.value.expand(t,i);return n===this.value?this:new Cl(this.scope,this.name,n)}},id=class extends ct{constructor(e,t,i,n){super(e),this.name=t,this.value=i,this.isFunc=n}appendTo(e,t){this.isFunc&&e.append(this.name),e.append("("),!this.isFunc&&this.name&&(e.append(this.name),e.append(":")),e.append(this.value),e.append(")")}evaluateCore(e){return e.evalSupportsTest(this.name,this.value,this.isFunc)}},El=class extends ct{constructor(e,t){super(e),this.index=t}appendTo(e,t){e.append("$"),e.append(this.index.toString())}expand(e,t){let i=t[this.index];if(!i)throw new Error(`Parameter missing: ${this.index}`);return i}};function ht(e,t,i){return t===e._false||t===e.zero||i==e._false||i==e.zero?e._false:t===e._true||t===e.one?i:i===e._true||i===e.one?t:new Fr(e,t,i)}function j(e,t,i){return t===e.zero?i:i===e.zero?t:new wl(e,t,i)}function ae(e,t,i){return t===e.zero?new li(e,i):i===e.zero?t:new bl(e,t,i)}function On(e,t,i){return t===e.zero||i===e.zero?e.zero:t===e.one?i:i===e.one?t:new _r(e,t,i)}function Hs(e,t,i){return t===e.zero?e.zero:i===e.one?t:new vl(e,t,i)}var It=class{visitValues(e){for(let t=0;t<e.length;t++)e[t].visit(this);return null}visitEmpty(e){return null}visitSlash(e){return null}visitStr(e){return null}visitIdent(e){return null}visitNumeric(e){return null}visitNum(e){return null}visitInt(e){return this.visitNum(e)}visitHexColor(e){return null}visitURL(e){return null}visitURange(e){return null}visitSpaceList(e){return this.visitValues(e.values),null}visitCommaList(e){return this.visitValues(e.values),null}visitFunc(e){return this.visitValues(e.values),null}visitExpr(e){return null}},ki=class extends It{constructor(){super(),u(this,"error",!1)}visitValues(e){let t=null;for(let i=0;i<e.length;i++){let n=e[i],s=n.visit(this);if(this.error)return[];if(t)t[i]=s;else if(n!==s){t=new Array(e.length);for(let r=0;r<i;r++)t[r]=e[r];t[i]=s}}return t||e}visitEmpty(e){return e}visitStr(e){return e}visitIdent(e){return e}visitSlash(e){return e}visitNumeric(e){return e}visitNum(e){return e}visitInt(e){return e}visitHexColor(e){return e}visitURL(e){return e}visitURange(e){return e}visitSpaceList(e){let t=this.visitValues(e.values);return this.error?G:t===e.values?e:new ye(t)}visitCommaList(e){let t=this.visitValues(e.values);return this.error?G:t===e.values?e:new qe(t)}visitFunc(e){let t=this.visitValues(e.values);return this.error?G:t===e.values?e:new Ni(e.name,t)}visitExpr(e){return e}},$e=class{toString(){let e=new kt;return this.appendTo(e,!0),e.toString()}stringValue(){let e=new kt;return this.appendTo(e,!1),e.toString()}toExpr(e,t){return null}appendTo(e,t){e.append("[error]")}isExpr(){return!1}isNumeric(){return!1}isNum(){return!1}isIdent(){return!1}isSpaceList(){return!1}visit(e){return this}},kl=class Nl extends $e{static get instance(){return this.empty||(this.empty=new Nl),this.empty}constructor(){super()}toExpr(t,i){return new Oe(t,"")}appendTo(t,i){}visit(t){return t.visitEmpty(this)}};u(kl,"empty");var nd=kl,G=nd.instance,Pl=class Tl extends $e{static get instance(){return this.slash||(this.slash=new Tl),this.slash}constructor(){super()}toExpr(t,i){return new Oe(t,"/")}appendTo(t,i){t.append("/")}visit(t){return t.visitSlash(this)}};u(Pl,"slash");var sd=Pl,rs=sd.instance,Le=class extends $e{constructor(e){super(),this.str=e}toExpr(e,t){return new Oe(e,this.str)}appendTo(e,t){t?(e.append('"'),e.append(pn(this.str)),e.append('"')):e.append(this.str)}visit(e){return e.visitStr(this)}},$s={},nt=class extends $e{constructor(e){if(super(),this.name=e,$s[e])throw new Error("E_INVALID_CALL");$s[e]=this}toExpr(e,t){return new Oe(e,this.name)}appendTo(e,t){t?e.append(Ot(this.name)):e.append(this.name)}visit(e){return e.visitIdent(this)}isIdent(){return!0}};function B(e){let t=$s[e];return t||(t=new nt(e)),t}var T=class extends $e{constructor(e,t){var i;super(),this.num=e,u(this,"unit"),this.unit=(i=t?.toLowerCase())!=null?i:""}toExpr(e,t){return this.num==0?e.zero:t&&this.unit=="%"?this.num==100?t:new _r(e,t,new Oe(e,this.num/100)):new fn(e,this.num,this.unit)}appendTo(e,t){e.append(this.num.toString()),e.append(this.unit)}visit(e){return e.visitNumeric(this)}isNumeric(){return!0}},Ut=class extends $e{constructor(e){super(),this.num=e}toExpr(e,t){return this.num==0?e.zero:this.num==1?e.one:new Oe(e,this.num)}appendTo(e,t){e.append(this.num.toString())}visit(e){return e.visitNum(this)}isNum(){return!0}},Qt=class extends Ut{constructor(e){super(e)}visit(e){return e.visitInt(this)}},Il=class extends $e{constructor(e){super(),this.hex=e}appendTo(e,t){e.append("#"),e.append(this.hex)}visit(e){return e.visitHexColor(this)}},dt=class extends $e{constructor(e){super(),this.url=e}appendTo(e,t){e.append('url("'),e.append(pn(this.url)),e.append('")')}visit(e){return e.visitURL(this)}},Rl=class extends $e{constructor(e){super(),this.urangeText=e}appendTo(e,t){e.append(this.urangeText)}visit(e){return e.visitURange(this)}};function Mr(e,t,i,n){var s,r;let o=t.length;if(o>0){(s=t[0])==null||s.appendTo(e,n);for(let a=1;a<o;a++)e.append(i),(r=t[a])==null||r.appendTo(e,n)}}var ye=class extends $e{constructor(e){super(),this.values=e}appendTo(e,t){Mr(e,this.values," ",t)}visit(e){return e.visitSpaceList(this)}isSpaceList(){return!0}},qe=class extends $e{constructor(e){super(),this.values=e}appendTo(e,t){Mr(e,this.values,",",t)}visit(e){return e.visitCommaList(this)}},Ni=class extends $e{constructor(e,t){super(),this.name=e,this.values=t}appendTo(e,t){e.append(Ot(this.name)),e.append("("),Mr(e,this.values,",",t),e.append(")")}visit(e){return e.visitFunc(this)}},z=class extends $e{constructor(e){super(),this.expr=e}toExpr(){return this.expr}appendTo(e,t){this.expr instanceof Oe||this.expr instanceof fn?this.expr.appendTo(e,0):(e.append("-epubx-expr("),this.expr.appendTo(e,0),e.append(")"))}visit(e){return e.visitExpr(this)}isExpr(){return!0}},Ai=class extends $e{constructor(e){super(),this.text=e}appendTo(e,t){e.append(this.text||" ")}};function We(e,t){if(e){if(e.isNumeric()){let i=e;return t.queryUnitSize(i.unit,!1)*i.num}if(e.isNum())return e.num}return 0}function Al(e,t){return new T(We(e,t),"px")}var v={absolute:B("absolute"),all:B("all"),always:B("always"),anywhere:B("anywhere"),auto:B("auto"),avoid:B("avoid"),balance:B("balance"),balance_all:B("balance-all"),block:B("block"),block_end:B("block-end"),block_start:B("block-start"),both:B("both"),bottom:B("bottom"),border_box:B("border-box"),break_all:B("break-all"),break_word:B("break-word"),clip:B("clip"),crop:B("crop"),cross:B("cross"),column:B("column"),discard:B("discard"),exclusive:B("exclusive"),_false:B("false"),fixed:B("fixed"),flex:B("flex"),flow_root:B("flow-root"),footnote:B("footnote"),footer:B("footer"),grid:B("grid"),header:B("header"),hidden:B("hidden"),horizontal_tb:B("horizontal-tb"),inherit:B("inherit"),initial:B("initial"),inline:B("inline"),inline_block:B("inline-block"),inline_end:B("inline-end"),inline_start:B("inline-start"),inside:B("inside"),keep:B("keep"),landscape:B("landscape"),left:B("left"),line:B("line"),list_item:B("list-item"),ltr:B("ltr"),manual:B("manual"),max_content:B("max-content"),min_content:B("min-content"),none:B("none"),normal:B("normal"),oeb_page_foot:B("oeb-page-foot"),oeb_page_head:B("oeb-page-head"),outside:B("outside"),padding_box:B("padding-box"),page:B("page"),relative:B("relative"),revert:B("revert"),right:B("right"),same:B("same"),scale:B("scale"),snap_block:B("snap-block"),snap_inline:B("snap-inline"),solid:B("solid"),spread:B("spread"),_static:B("static"),rtl:B("rtl"),table:B("table"),table_caption:B("table-caption"),table_cell:B("table-cell"),table_footer_group:B("table-footer-group"),table_header_group:B("table-header-group"),table_row:B("table-row"),top:B("top"),transparent:B("transparent"),unset:B("unset"),vertical_lr:B("vertical-lr"),vertical_rl:B("vertical-rl"),visible:B("visible"),_true:B("true")},_o=new T(100,"%"),gn=new T(100,"pvw"),mn=new T(100,"pvh"),be=new T(0,"px"),Xw=new Rl("U+0-10FFFF"),Mo={"font-size":1,"line-height":2,color:3};function J(e){return e===v.inherit||e===v.initial||e===v.revert||e===v.unset}function zo(e,t){let i=Mo[e]||Number.MAX_VALUE,n=Mo[t]||Number.MAX_VALUE;return i-n}function Nt(e){return e?.length>2&&e.startsWith("--")}var rt=class{constructor(e,t,i,n){this.x1=e,this.y1=t,this.x2=i,this.y2=n}},Lt=class{constructor(e,t){this.x=e,this.y=t}},Cs=class{constructor(e,t,i,n){this.left=e,this.top=t,this.right=i,this.bottom=n}},Do=class{constructor(e,t,i,n){this.low=e,this.high=t,this.winding=i,this.shapeId=n}},Et=class{constructor(e,t,i,n){this.y1=e,this.y2=t,this.x1=i,this.x2=n,u(this,"left",null),u(this,"right",null)}};function rd(e,t){return e.low.y-t.low.y||e.low.x-t.low.x}var os=class Ll{constructor(t){this.points=t}addSegments(t,i){let n=this.points,s=n.length,r=n[s-1];for(let o=0;o<s;o++){let a=n[o],h;r.y<a.y?h=new Do(r,a,1,i):h=new Do(a,r,-1,i),t.push(h),r=a}}withOffset(t,i){let n=[];for(let s of this.points)n.push(new Lt(s.x+t,s.y+i));return new Ll(n)}};function Vo(e,t,i,n){let s=[];for(let r=0;r<20;r++){let o=r*2*Math.PI/20;s.push(new Lt(e+i*Math.sin(o),t+n*Math.cos(o)))}return new os(s)}function zr(e,t,i,n){return new os([new Lt(e,t),new Lt(i,t),new Lt(i,n),new Lt(e,n)])}var Nn=class{constructor(e,t,i,n){this.x=e,this.winding=t,this.shapeId=i,this.lowOrHigh=n}};function Uo(e,t){let i=e.low.x+(e.high.x-e.low.x)*(t-e.low.y)/(e.high.y-e.low.y);if(isNaN(i))throw new Error("Bad intersection");return i}function od(e,t,i,n){let s,r,o,a;t.high.y<i&&V.warn("Error: inconsistent segment (1)"),t.low.y<=i?(s=Uo(t,i),r=t.winding):(s=t.low.x,r=0),t.high.y>=n?(o=Uo(t,n),a=t.winding):(o=t.high.x,a=0),s<o?(e.push(new Nn(s,r,t.shapeId,-1)),e.push(new Nn(o,a,t.shapeId,1))):(e.push(new Nn(o,a,t.shapeId,-1)),e.push(new Nn(s,r,t.shapeId,1)))}function ad(e,t,i){let n=t+i,s=Array(n),r=Array(n),o;for(o=0;o<=n;o++)s[o]=0,r[o]=0;let a=[],h=!1,l=e.length;for(let c=0;c<l;c++){let p=e[c];s[p.shapeId]+=p.winding,r[p.shapeId]+=p.lowOrHigh;let d=!1;for(o=0;o<t;o++)if(s[o]&&!r[o]){d=!0;break}if(d){for(o=t;o<=n;o++)if(s[o]||r[o]){d=!1;break}}h!=d&&(a.push(p.x),h=d)}return a}function ld(e,t){return t?Math.ceil(e/t)*t:e}function Ho(e,t){return t?Math.floor(e/t)*t:e}function hd(e){return new Lt(e.y,-e.x)}function Gn(e){return new rt(e.y1,-e.x2,e.y2,-e.x1)}function Fl(e){return new rt(-e.y2,e.x1,-e.y1,e.x2)}function $o(e){return new os(e.points.map(t=>hd(t)))}function ud(e,t,i,n,s,r){r&&(e=Gn(e),t=t.map(b=>$o(b)),i=i.map(b=>$o(b)));let o=t.length,a=i?i.length:0,h=[],l=[],c,p,d;for(c=0;c<o;c++)t[c].addSegments(l,c);for(c=0;c<a;c++)i[c].addSegments(l,c+o);let f=l.length;l.sort(rd);let g=0;for(;l[g].shapeId>=o;)g++;let m=l[g].low.y;m>e.y1&&h.push(new Et(e.y1,m,e.x2,e.x2));let w=0,y=[];for(;w<f&&(d=l[w]).low.y<m;)d.high.y>m&&y.push(d),w++;for(;w<f||y.length>0;){let b=e.y2,x=Math.min(ld(Math.ceil(m+n),s),e.y2);for(p=0;p<y.length&&b>x;p++)d=y[p],d.low.x==d.high.x?d.high.y<b&&(b=Math.max(Ho(d.high.y,s),x)):d.low.x!=d.high.x&&(b=x);for(b>e.y2&&(b=e.y2);w<f&&(d=l[w]).low.y<b;){if(d.high.y<m){w++;continue}if(d.low.y<x)d.low.y==d.high.y&&d.low.y==m||(y.push(d),b=x),w++;else{let M=Ho(d.low.y,s);M<b&&(b=M);break}}let I=[];for(p=0;p<y.length;p++)od(I,y[p],m,b);I.sort((M,H)=>M.x-H.x||M.lowOrHigh-H.lowOrHigh);let L=ad(I,o,a);if(L.length==0)h.push(new Et(m,b,e.x2,e.x2));else{let M=0,H=e.x1;for(p=0;p<L.length;p+=2){let W=Math.max(e.x1,L[p]),se=Math.min(e.x2,L[p+1])-W;se>M&&(M=se,H=W)}M==0?h.push(new Et(m,b,e.x2,e.x2)):h.push(new Et(m,b,Math.max(H,e.x1),Math.min(H+M,e.x2)))}if(b==e.y2)break;for(m=b,p=y.length-1;p>=0;p--)y[p].high.y<=b&&y.splice(p,1)}return Ol(e,h),h}function Ol(e,t){let i=t.length-1,n=new Et(e.y2,e.y2,e.x1,e.x2);for(;i>=0;){let s=n;n=t[i],(n.y2-n.y1<1||n.x1==s.x1&&n.x2==s.x2)&&(s.y1=n.y1,t.splice(i,1),n=s),i--}}function Bl(e,t){let i=0,n=e.length;for(;i<n;){let s=Math.floor((i+n)/2);t>=e[s].y2?i=s+1:n=s}return i}function cd(e,t){if(!e.length)return t;let i=t.y1,n,s;for(s=0;s<e.length&&(n=e[s],!(n.y2>t.y1&&n.x1-.1<=t.x1&&n.x2+.1>=t.x2));s++)i=Math.max(i,n.y2);let r=i;for(;s<e.length&&(n=e[s],!(n.y1>=t.y2||n.x1-.1>t.x1||n.x2+.1<t.x2));s++)r=n.y2;return s===e.length?r=t.y2:r=Math.min(r,t.y2),r<=i?null:new rt(t.x1,i,t.x2,r)}function dd(e,t){if(!e.length)return t;let i=t.y2,n,s;for(s=e.length-1;s>=0&&(n=e[s],!(s===e.length-1&&n.y2<t.y2))&&!(n.y1<t.y2&&n.x1-.1<=t.x1&&n.x2+.1>=t.x2);s--)i=Math.min(i,n.y1);let r=Math.min(i,n.y2);for(;s>=0&&(n=e[s],!(n.y2<=t.y1||n.x1-.1>t.x1||n.x2+.1<t.x2));s--)r=n.y1;return r=Math.max(r,t.y1),i<=r?null:new rt(t.x1,r,t.x2,i)}function pd(e,t,i,n){let s=i.y1,r=i.x2-i.x1,o=i.y2-i.y1,a=Bl(t,s);for(;;){let h=s+o;if(h>e.y2)return!1;let l=e.x1,c=e.x2;for(let p=a;p<t.length&&t[p].y1<h;p++){let d=t[p];d.x1>l&&(l=d.x1),d.x2<c&&(c=d.x2)}if(l+r<=c||a>=t.length)return n=="left"?(i.x1=l,i.x2=l+r):(i.x1=c-r,i.x2=c),i.y2+=s-i.y1,i.y1=s,!0;s=t[a].y2,a++}}function fd(e,t,i,n,s){for(n||(n=[new Et(i.y1,i.y2,i.x1,i.x2)]);n.length>0&&n[0].y2<=e.y1;)n.shift();if(n.length==0)return;n[0].y1<e.y1&&(n[0].y1=e.y1);let r,o=t.length==0?e.y1:t[t.length-1].y2;o<e.y2&&t.push(new Et(o,e.y2,e.x1,e.x2));let a=Bl(t,n[0].y1);for(let h of n){if(a==t.length)break;for(t[a].y1<h.y1&&(r=t[a],a++,t.splice(a,0,new Et(h.y1,r.y2,r.x1,r.x2)),r.y2=h.y1);a<t.length&&(r=t[a++],r.y2>h.y2&&(t.splice(a,0,new Et(h.y2,r.y2,r.x1,r.x2)),r.y2=h.y2),h.x1!=h.x2&&(s=="left"?r.x1=Math.min(h.x2,e.x2):r.x2=Math.max(h.x1,e.x1)),r.y2!=h.y2););}Ol(e,t)}var gd=class extends It{constructor(){super(),u(this,"propSet",{})}visitIdent(e){return this.propSet[e.name]=!0,e}visitSpaceList(e){return this.visitValues(e.values),e}};function md(e){if(e){let t=new gd;try{return e.visit(t),t.propSet}catch(i){V.warn(i,"toSet:")}}return{}}var wd=class extends It{constructor(e){super(),this.value=e}visitInt(e){return this.value=e.num,e}};function Go(e,t){if(e){let i=new wd(t);try{return e.visit(i),i.value}catch(n){V.warn(n,"toInt: ")}}return t}var bd=class extends It{constructor(){super(),u(this,"collect",!1),u(this,"coords",[]),u(this,"name",null)}visitNumeric(e){return this.collect&&this.coords.push(e),null}visitNum(e){return this.collect&&e.num==0&&this.coords.push(new T(0,"px")),null}visitSpaceList(e){return this.visitValues(e.values),null}visitFunc(e){return this.collect||(this.collect=!0,this.visitValues(e.values),this.collect=!1,this.name=e.name.toLowerCase()),null}getShape(e,t,i,n,s){if(this.coords.length>0){let r=[];switch(this.coords.forEach((o,a)=>{if(o.unit=="%"){let h=a%2==0?i:n;a==3&&this.name=="circle"&&(h=Math.sqrt((i*i+n*n)/2)),r.push(o.num*h/100)}else r.push(o.num*s.queryUnitSize(o.unit,!1))}),this.name){case"polygon":if(r.length%2==0){let o=[];for(let a=0;a<r.length;a+=2)o.push(new Lt(e+r[a],t+r[a+1]));return new os(o)}break;case"rectangle":if(r.length==4)return zr(e+r[0],t+r[1],e+r[0]+r[2],t+r[1]+r[3]);break;case"ellipse":if(r.length==4)return Vo(e+r[0],t+r[1],r[2],r[3]);break;case"circle":if(r.length==3)return Vo(e+r[0],t+r[1],r[2],r[2]);break}}return null}};function _l(e,t,i,n,s,r){if(e){let o=new bd;try{return e.visit(o),o.getShape(t,i,n,s,r)}catch(a){V.warn(a,"toShape:")}}return zr(t,i,t+n,i+s)}var vd=class extends It{constructor(e){super(),this.reset=e,u(this,"counters",{}),u(this,"name",null)}visitIdent(e){return this.name=e.toString(),this.reset?this.counters[this.name]=0:this.counters[this.name]=(this.counters[this.name]||0)+1,e}visitInt(e){return this.name&&(this.counters[this.name]+=e.num-(this.reset?0:1)),e}visitSpaceList(e){return this.visitValues(e.values),e}};function Wi(e,t){let i=new vd(t);try{e.visit(i)}catch(n){V.warn(n,"toCounters:")}return i.counters}var yd=class extends ki{constructor(e,t){super(),this.baseUrl=e,this.transformer=t}visitURL(e){return new dt(this.transformer.transformURL(e.url,this.baseUrl))}};function Es(e){let t={};return Object.keys(e).forEach(i=>{t[i]=Array.from(e[i])}),t}var xd=class{constructor(e,t){this.targetId=e,this.resolved=t,u(this,"pageCounters",null),u(this,"spineIndex",-1),u(this,"pageIndex",-1)}equals(e){return this===e?!0:e?this.targetId===e.targetId&&this.resolved===e.resolved&&this.spineIndex===e.spineIndex&&this.pageIndex===e.pageIndex:!1}isResolved(){return this.resolved}resolve(){this.resolved=!0}unresolve(){this.resolved=!1}},Sd=class{constructor(e,t){this.counterStore=e,this.baseURL=t}countersOfId(e,t){e=this.counterStore.documentURLTransformer.transformFragment(e,this.baseURL),this.counterStore.countersById[e]=t}getExprContentListener(){return this.counterStore.getExprContentListener()}},Cd=class{constructor(e,t,i,n){this.counterStore=e,this.baseURL=t,this.rootScope=i,this.pageScope=n,u(this,"styler",null),u(this,"namedStringValues",{}),u(this,"runningElements",{})}setStyler(e){this.styler=e}getFragment(e){let t=e.match(/^[^#]*#(.*)$/);return t?t[1]:null}getTransformedId(e){let t=this.counterStore.documentURLTransformer.transformURL(ke(e,this.baseURL),this.baseURL);return t.charAt(0)==="#"&&(t=t.substring(1)),t}getPageCounterVal(e,t){let i=()=>{let r=this.counterStore.currentPageCounters[e];return r&&r.length?r[r.length-1]:null},n=new De(this.pageScope,()=>t(i()),`page-counter-${e}`),s=r=>t(r[r.length-1]);return this.counterStore.registerPageCounterExpr(e,s,n),n}getPageCountersVal(e,t){let i=()=>this.counterStore.currentPageCounters[e]||[],n=new De(this.pageScope,()=>t(i()),`page-counters-${e}`);return this.counterStore.registerPageCounterExpr(e,t,n),n}getTargetCounters(e,t,i){let n=this.counterStore.countersById[t];return!n&&i&&e&&(this.styler.styleUntilIdIsReached(e),n=this.counterStore.countersById[t]),n||null}getTargetPageCounters(e){return this.counterStore.currentPage.elementsById[e]?this.counterStore.currentPageCounters:this.counterStore.pageCountersById[e]||null}getTargetCounterVal(e,t,i){let n=this.getFragment(e),s=this.getTransformedId(e),r=this.getTargetCounters(n,s,!1);if(r&&r[t]){let a=r[t];return new Oe(this.rootScope,i(a[a.length-1]||null))}let o=new De(this.pageScope,()=>{if(r=this.getTargetCounters(n,s,!0),r)if(r[t]){let a=r[t];return i(a[a.length-1]||null)}else{let a=this.getTargetPageCounters(s);if(a)if(this.counterStore.resolveReference(s),a[t]){let h=a[t];return i(h[h.length-1]||null)}else return i(0);else return this.counterStore.saveReferenceOfCurrentPage(s,!1),"??"}else return this.counterStore.saveReferenceOfCurrentPage(s,!1),"??"},`target-counter-${t}-of-${e}`);return this.counterStore.registerTargetCounterExpr(t,i,o,s),o}getTargetCountersVal(e,t,i){let n=this.getFragment(e),s=this.getTransformedId(e);return new De(this.pageScope,()=>{let r=this.getTargetPageCounters(s);if(r){this.counterStore.resolveReference(s);let o=r[t]||[],a=this.getTargetCounters(n,s,!0)[t]||[];return i(o.concat(a))}else return this.counterStore.saveReferenceOfCurrentPage(s,!1),"??"},`target-counters-${t}-of-${e}`)}getNamedStringVal(e,t){return new De(this.pageScope,()=>this.getRunningValue(this.namedStringValues,e,t),`named-string-${t}-${e}`)}getRunningElementVal(e,t){return new De(this.pageScope,()=>this.getRunningValue(this.runningElements,e,t),`running-element-${t}-${e}`)}getRunningValue(e,t,i){let n=e[t];if(!n)return"";let s=Object.keys(n).map(d=>parseInt(d,10)).sort(rl),r=this.counterStore.currentPage,o=r.isBlankPage?r.offset-1:r.offset,a=r.isBlankPage?o:Math.max(o,...Array.from(r.container.querySelectorAll(`[${xt}]`)).map(d=>parseInt(d.getAttribute(xt),10))),h=-1,l=-1,c=-1,p=-1;for(let d=0;d<s.length;d++){let f=s[d],g=d>0?s[d-1]:-1,m=d<s.length-1?s[d+1]:-1;if(f>a)break;if(f>=o){if(h<0&&(h=f,p=-1),l<0)if(f===o)l=f;else{g<h&&(l=g);let w=r.container.querySelector(`[${xt}="${f}"]`);if(!w)l<0&&(l=f);else{let y=r.container.querySelector(`[${xt}="${o}"]`);if(y||(y=r.container.querySelector(`[${xt}="0"]`)),y){for(let b=y;b;b=b.firstElementChild)if(b===w){l=f;break}}}}c=f}else(m>a||m<0)&&(h=l=c=p=f)}return n[{first:h,start:l,last:c,"first-except":p}[i]]||""}setNamedString(e,t,i){let n=this.namedStringValues[e]||(this.namedStringValues[e]={});n[i]=t}setRunningElement(e,t){let i=this.runningElements[e]||(this.runningElements[e]={});i[t]=String(t)}},Ed=class{constructor(e){this.documentURLTransformer=e,u(this,"countersById",{}),u(this,"pageCountersById",{}),u(this,"currentPageCounters",{}),u(this,"previousPageCounters",{}),u(this,"currentPageCountersStack",[]),u(this,"pageIndicesById",{}),u(this,"currentPage",null),u(this,"newReferencesOfCurrentPage",[]),u(this,"referencesToSolve",[]),u(this,"referencesToSolveStack",[]),u(this,"unresolvedReferences",{}),u(this,"resolvedReferences",{}),u(this,"pagesCounterExprs",[]),u(this,"pageCounterExprs",[]),u(this,"targetCounterExprs",[]),this.currentPageCounters.page=[0]}createCounterListener(e){return new Sd(this,e)}createCounterResolver(e,t,i){return new Cd(this,e,t,i)}setCurrentPage(e){this.currentPage=e}definePageCounter(e,t){this.currentPageCounters[e]?this.currentPageCounters[e].push(t):this.currentPageCounters[e]=[t]}forceSetPageCounter(e){let t=this.currentPageCounters.page;!t||!t.length?this.currentPageCounters.page=[e]:t[t.length-1]=e}updatePageCounters(e,t){this.previousPageCounters=Es(this.currentPageCounters);let i,n=e["counter-reset"];if(n){let o=n.evaluate(t);o&&(i=Wi(o,!0))}if(i)for(let o in i)this.definePageCounter(o,i[o]);let s,r=e["counter-increment"];if(r){let o=r.evaluate(t);o&&(s=Wi(o,!1))}s?"page"in s||(s.page=1):(s={},s.page=1);for(let o in s){this.currentPageCounters[o]||this.definePageCounter(o,0);let a=this.currentPageCounters[o];a[a.length-1]+=s[o]}}pushPageCounters(e){this.currentPageCountersStack.push(this.currentPageCounters),this.currentPageCounters=Es(e)}popPageCounters(){this.currentPageCounters=this.currentPageCountersStack.pop()}resolveReference(e){let t=this.unresolvedReferences[e],i=this.resolvedReferences[e];i||(i=this.resolvedReferences[e]=[]);let n=!1;for(let s=0;s<this.referencesToSolve.length;){let r=this.referencesToSolve[s];if(r.targetId===e){if(r.resolve(),this.referencesToSolve.splice(s,1),t){let o=t.indexOf(r);o>=0&&t.splice(o,1)}i.push(r),n=!0}else s++}n||this.saveReferenceOfCurrentPage(e,!0)}saveReferenceOfCurrentPage(e,t){if(!this.newReferencesOfCurrentPage.some(i=>i.targetId===e)){let i=new xd(e,t);this.newReferencesOfCurrentPage.push(i)}}finishPage(e,t){let i=Object.keys(this.currentPage.elementsById);if(i.length>0){let r=Es(this.currentPageCounters);i.forEach(o=>{this.pageCountersById[o]=r;let a=this.pageIndicesById[o];if(a&&a.pageIndex<t){let h=this.resolvedReferences[o];if(h){let l=this.unresolvedReferences[o];l||(l=this.unresolvedReferences[o]=[]);let c;for(;c=h.shift();)c.unresolve(),l.push(c)}}this.pageIndicesById[o]={spineIndex:e,pageIndex:t}})}let n=this.previousPageCounters,s;for(;s=this.newReferencesOfCurrentPage.shift();){s.pageCounters=n,s.spineIndex=e,s.pageIndex=t;let r;s.isResolved()?(r=this.resolvedReferences[s.targetId],r||(r=this.resolvedReferences[s.targetId]=[])):(r=this.unresolvedReferences[s.targetId],r||(r=this.unresolvedReferences[s.targetId]=[])),r.every(o=>!s.equals(o))&&r.push(s)}this.currentPage=null}getUnresolvedRefsToPage(e){let t=[];Object.keys(e.elementsById).forEach(s=>{let r=this.unresolvedReferences[s];r&&(t=t.concat(r))}),t.sort((s,r)=>s.spineIndex-r.spineIndex||s.pageIndex-r.pageIndex);let i=[],n=null;return t.forEach(s=>{!n||n.spineIndex!==s.spineIndex||n.pageIndex!==s.pageIndex?(n={spineIndex:s.spineIndex,pageIndex:s.pageIndex,pageCounters:s.pageCounters,refs:[s]},i.push(n)):n.refs.push(s)}),i}pushReferencesToSolve(e){this.referencesToSolveStack.push(this.referencesToSolve),this.referencesToSolve=e}popReferencesToSolve(){this.referencesToSolve=this.referencesToSolveStack.pop()}registerPageCounterExpr(e,t,i){e==="pages"?this.pagesCounterExprs.push({expr:i,format:t}):this.pageCounterExprs.push({expr:i,format:t})}registerTargetCounterExpr(e,t,i,n){this.targetCounterExprs.push({name:e,expr:i,format:t,transformedId:n})}getExprContentListener(){return this.exprContentListener.bind(this)}exprContentListener(e,t,i){if(e instanceof De){if(e.str=="viv-leader"){let r=i.createElementNS("http://www.w3.org/1999/xhtml","span");return r.textContent=t,r.setAttribute("data-viv-leader",e.key),r.setAttribute("data-viv-leader-value",t),r}else if(e.str.startsWith("running-element-")){let r=t&&i.querySelectorAll(`[${xt}="${t}"]`);if(!r||r.length===0)return null;let o=r[r.length-1].cloneNode(!0);return this.fixPageCounterInRunningElement(o),o.style.position="",o.style.visibility="",o}else if(e.str.startsWith("target-counter-")){let r=i.createElementNS("http://www.w3.org/1999/xhtml","span");return r.textContent=t,r.setAttribute(Ps,e.key),r}}let n=this.pagesCounterExprs.findIndex(r=>r.expr===e)>=0,s=!n&&this.pageCounterExprs.findIndex(r=>r.expr===e)>=0;if(n||s){let r=i.createElementNS("http://www.w3.org/1999/xhtml","span");return r.textContent=t,r.setAttribute(n?ks:Ns,e.key),r}else return null}fixPageCounterInRunningElement(e){let t=e.querySelectorAll(`[${Ns}]`);for(let n of t){let s=n.getAttribute(Ns),r=this.pageCounterExprs.find(l=>l.expr.key===s),o=(r?.expr).str,a=o?.replace(/^page-counters?-/,""),h=this.currentPageCounters[a];h&&(n.textContent=r.format(h))}let i=e.querySelectorAll(`[${Ps}]`);for(let n of i)n.setAttribute(Wo,!0)}finishLastPage(e){let t=e.root.querySelectorAll(`[${ks}]`),i=e.contentContainer.childElementCount;for(let s of t){let r=s.getAttribute(ks),o=this.pagesCounterExprs.findIndex(a=>a.expr.key===r);o>=0,s.textContent=this.pagesCounterExprs[o].format([i])}let n=e.root.querySelectorAll(`[${Wo}]`);for(let s of n){let r=s.getAttribute(Ps),o=this.targetCounterExprs.find(a=>a.expr.key===r);if(o&&o.transformedId){let a=this.pageCountersById[o.transformedId];if(a){let h=a[o.name];h&&(s.textContent=o.format(h[h.length-1]))}}}}createLayoutConstraint(e){return new kd(this,e)}},ks="data-vivliostyle-pages-counter",Ns="data-vivliostyle-page-counter",Ps="data-vivliostyle-target-counter",Wo="data-vivliostyle-target-counter-in-running",kd=class{constructor(e,t){this.counterStore=e,this.pageIndex=t}allowLayout(e){if(!e||e.after)return!0;let t=e.viewNode;if(!t||t.nodeType!==1)return!0;let i=t.getAttribute("data-vivliostyle-id")||t.getAttribute("id")||t.getAttribute("name");if(!i||!this.counterStore.resolvedReferences[i]&&!this.counterStore.unresolvedReferences[i])return!0;let n=this.counterStore.pageIndicesById[i];return n?this.pageIndex>=n.pageIndex:!0}};function Nd(e){if(e=e.substr(1),e.match(/^[^0-9a-fA-F\n\r]$/))return e;let t=parseInt(e,16);return isNaN(t)?"":t===0||t>=55296&&t<=57343||t>1114111?"\uFFFD":String.fromCodePoint(t)}function $t(e){return e.replace(/\\([0-9a-fA-F]{1,6}(\r\n|[ \n\r\t\f])?|[^0-9a-fA-F\n\r])/g,Nd)}var Pd=class{constructor(){u(this,"type"),u(this,"precededBySpace",!1),u(this,"num",0),u(this,"text",""),u(this,"position",0),this.type=0}toString(){switch(this.type){case 10:return"(";case 11:return")";case 12:return"{";case 13:return"}";case 14:return"[";case 15:return"]";case 16:return",";case 17:return";";case 18:return":";case 19:return"/";case 21:return"%";case 22:return"?";case 23:return"+";case 24:return"-";case 25:return"||";case 26:return"&&";case 31:return"!";case 32:return"$";case 33:return"^";case 34:return"|";case 35:return"~";case 36:return"*";case 37:return">";case 38:return"<";case 39:return"=";case 41:return"!=";case 42:return"$=";case 43:return"^=";case 44:return"|=";case 45:return"~=";case 46:return"*=";case 47:return">=";case 48:return"<=";case 49:return"==";case 50:return"::";case 51:return"<!--";case 52:return"-->";case 3:return this.num.toString()+this.text;case 4:case 5:return this.num.toString();case 20:return"@"+this.text;case 7:return"#"+this.text;case 6:return this.text+"(";case 9:return"."+this.text;case 0:return"/*EOF*/";default:return this.text}}};function Be(e,t){let i=Array(128),n;for(n=0;n<128;n++)i[n]=e;for(i[NaN]=e==35?35:72,n=0;n<t.length;n+=2)i[t[n]]=t[n+1];return i}var yt=[72,72,72,72,72,72,72,72,72,1,1,72,1,1,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,1,4,34,6,7,8,9,33,10,11,12,13,14,15,16,17,2,2,2,2,2,2,2,2,2,2,18,19,20,21,22,23,24,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,25,29,26,30,3,72,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,27,31,28,32,72];yt[NaN]=80;var wt=[43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,52,43,43,43,43,39,43,43,39,39,39,39,39,39,39,39,39,39,43,43,43,43,43,43,43,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,43,44,43,43,39,43,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,43,43,43,43,43];wt[NaN]=43;var Td=[72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,78,59,72,59,59,59,59,59,59,59,59,59,59,72,72,72,72,72,72,72,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,72,61,72,72,78,72,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,72,72,72,72,72];wt[NaN]=43;var Ml=[35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,57,59,35,58,58,58,58,58,58,58,58,58,58,35,35,35,35,35,35,35,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,35,61,35,35,60,35,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,35,35,35,35,35];Ml[NaN]=35;var zl=[45,45,45,45,45,45,45,45,45,73,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,73,45,45,45,45,45,45,45,53,45,45,45,45,45,45,45,39,39,39,39,39,39,39,39,39,39,45,45,45,45,45,45,45,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,45,44,45,45,39,45,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,45,45,45,45,45];zl[NaN]=45;var Gs=[37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,41,37,37,37,37,37,37,37,37,42,37,39,39,39,39,39,39,39,39,39,39,37,37,37,37,37,37,37,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,37,37,37,37,40,37,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,37,37,37,37,37];Gs[NaN]=37;var Ws=[38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,41,38,38,38,38,38,38,38,38,38,38,39,39,39,39,39,39,39,39,39,39,38,38,38,38,38,38,38,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,38,38,38,38,40,38,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,38,38,38,38,38];Ws[NaN]=38;var Gt=Be(35,[61,36]),Id=Be(35,[58,77]),Rd=Be(35,[61,36,124,50]),Ad=Be(35,[38,51]),Ld=Be(35,[42,54]),Fd=Be(39,[42,55]),Od=Be(54,[42,55,47,56]),Bd=Be(62,[62,82]),_d=Be(35,[61,36,33,70]),Md=Be(62,[45,71]),zd=Be(63,[45,81]),Ts=Be(76,[10,72,13,72]),Dd=Be(39,[39,46,10,72,13,72,92,48]),Vd=Be(39,[34,46,10,72,13,72,92,49]),Ud=Be(39,[39,47,10,74,13,74,92,48]),Hd=Be(39,[34,47,10,74,13,74,92,49]),jo=Be(64,[9,39,32,39,34,66,39,65,41,72,10,39,13,39]),$d=Be(39,[41,67,9,79,10,79,13,79,32,79,92,75,40,72,91,72,93,72,123,72,125,72,NaN,67]),Gd=Be(39,[39,68,10,74,13,74,92,75,NaN,67]),Wd=Be(39,[34,68,10,74,13,74,92,75,NaN,67]),jd=Be(72,[9,39,10,39,13,39,32,39,41,69]),Xd=15,gt=class{constructor(e,t){this.input=e,this.handler=t,u(this,"indexMask"),u(this,"buffer"),u(this,"tail",0),u(this,"curr",0),u(this,"position",0),this.indexMask=Xd,this.buffer=Array(this.indexMask+1);for(let i=0;i<=this.indexMask;i++)this.buffer[i]=new Pd}token(){return this.tail==this.curr&&this.fillBuffer(),this.buffer[this.curr]}nthToken(e){return(this.tail-this.curr&this.indexMask)<=e&&this.fillBuffer(),this.buffer[this.curr+e&this.indexMask]}consume(){this.curr=this.curr+1&this.indexMask}fillBuffer(){let e=this.tail,t=this.curr,i=this.indexMask;if(e>=t?t+=i:t--,t==e)throw new Error("F_CSSTOK_INTERNAL");let n=yt,s=this.input,r=this.position,o=this.buffer,a=0,h=0,l="",c=0,p=!1,d=o[e],f=-9;for(;;){let g=s.charCodeAt(r);switch(n[g]||n[65]){case 72:l=s.substring(h,r),isNaN(g)?a=0:a=54,n=yt;break;case 1:r++,p=!0;continue;case 2:h=r++,n=Gs;continue;case 3:a=1,h=r++,n=wt;continue;case 4:h=r++,a=31,n=Gt;continue;case 33:a=2,h=++r,n=Dd;continue;case 34:a=2,h=++r,n=Vd;continue;case 6:h=++r,a=7,n=wt;continue;case 7:h=r++,a=32,n=Gt;continue;case 8:h=r++,a=21;break;case 9:h=r++,a=32,n=Ad;continue;case 10:h=r++,a=10;break;case 11:h=r++,a=11;break;case 12:h=r++,a=36,n=Gt;continue;case 13:h=r++,a=23;break;case 14:h=r++,a=16;break;case 15:a=24,h=r++,n=Ml;continue;case 16:h=r++,n=Td;continue;case 78:h=r++,a=9,n=wt;continue;case 17:h=r++,a=19,n=Ld;continue;case 18:h=r++,a=18,n=Id;continue;case 77:r++,a=50;break;case 19:h=r++,a=17;break;case 20:h=r++,a=38,n=_d;continue;case 21:h=r++,a=39,n=Gt;continue;case 22:h=r++,a=37,n=Gt;continue;case 23:h=r++,a=22;break;case 24:h=++r,a=20,n=wt;continue;case 25:h=r++,a=14;break;case 26:h=r++,a=15;break;case 27:h=r++,a=12;break;case 28:h=r++,a=13;break;case 29:h=r++,f=h,a=1,n=Ts;continue;case 30:h=r++,a=33,n=Gt;continue;case 31:h=r++,a=34,n=Rd;continue;case 32:h=r++,a=35,n=Gt;continue;case 35:break;case 36:r++,a=a+41-31;break;case 37:a=5,c=parseInt(s.substring(h,r),10);break;case 38:a=4,c=parseFloat(s.substring(h,r));break;case 39:r++;continue;case 40:a=3,c=parseFloat(s.substring(h,r)),h=r++,n=wt;continue;case 41:a=3,c=parseFloat(s.substring(h,r)),l="%",h=r++;break;case 42:r++,n=Ws;continue;case 43:if(l=$t(s.substring(h,r)),a===27&&g===63||a===1&&l.toLowerCase()==="u"&&/^(\bu\+[?0-9a-f]+(-[?0-9a-f]+)?|,|\s+|\/\*([^*]|\*[^/])*\*\/)+[;}]/i.test(s.substring(r-1))){a=27,r++;continue}break;case 44:f=r++,n=Ts;continue;case 45:l=$t(s.substring(h,r));break;case 46:l=s.substring(h,r),r++;break;case 47:l=$t(s.substring(h,r)),r++;break;case 48:f=r,r+=2,n=Ud;continue;case 49:f=r,r+=2,n=Hd;continue;case 50:r++,a=25;break;case 51:r++,a=26;break;case 52:if(l=s.substring(h,r),a==1){if(r++,l.toLowerCase()=="url"){n=jo;continue}a=6}break;case 53:if(l=$t(s.substring(h,r)),a==1){if(r++,l.toLowerCase()=="url"){n=jo;continue}a=6}break;case 54:n=Fd,r++;continue;case 55:n=Od,r++;continue;case 56:n=yt,r++;continue;case 57:n=Bd,r++,s[r]!==">"&&(a=1,n=wt);continue;case 81:a=51,l=s.substring(h,++r),n=yt;break;case 82:a=52,l=s.substring(h,++r),n=yt;break;case 58:a=5,n=Gs,r++;continue;case 59:a=4,n=Ws,r++;continue;case 60:a=1,n=wt,r++;continue;case 61:a=1,n=Ts,f=r++;continue;case 62:r--;break;case 63:r-=2;break;case 64:h=r++,n=$d;continue;case 65:h=++r,n=Gd;continue;case 66:h=++r,n=Wd;continue;case 67:a=8,l=$t(s.substring(h,r)),r++;break;case 69:r++;break;case 70:n=Md,r++;continue;case 71:n=zd,r++;continue;case 79:if(r-f<8&&s.substring(f+1,r+1).match(/^[0-9a-fA-F]{0,6}(\r\n|[\n\r])|[ \t]$/)){r++;continue}case 68:a=8,l=$t(s.substring(h,r)),r++,n=jd;continue;case 74:if(r++,r-f<9&&s.substring(f+1,r).match(/^[0-9a-fA-F]{0,6}(\r\n|[\n\r])$/))continue;a=54,l="E_CSS_UNEXPECTED_NEWLINE",n=yt;break;case 73:if(r-f<9&&s.substring(f+1,r+1).match(/^[0-9a-fA-F]{0,6}[ \t]$/)){r++,n=wt;continue}l=$t(s.substring(h,r));break;case 75:f=r++;continue;case 76:r++,n=zl;continue;default:if(n!==yt){a=54,l="E_CSS_UNEXPECTED_STATE";break}h=r,a=0}if(d.type=a,d.precededBySpace=p,d.num=c,d.text=l,d.position=h,e++,e>=t)break;n=yt,p=!1,d=o[e&i]}this.position=r,this.tail=e&i}},Ie=null,js=null;function Xs(){return Ie}function F(e){if(!Ie)throw new Error("E_TASK_NO_CONTEXT");Ie.name||(Ie.name=e);let t=Ie,i=new as(t,t.top,e);return t.top=i,i.state=1,i}function qd(e){return new Zd(e||new Kd)}function k(e){return new qs(e)}function yi(e,t,i){let n=F(e);n.handler=i;try{t(n)}catch(s){n.task.raise(s,n)}return n.result()}function Yd(e,t){return(Ie?Ie.getScheduler():js||qd()).run(e,t)}var Kd=class{currentTime(){return new Date().valueOf()}setTimeout(e,t){return setTimeout(e,t)}clearTimeout(e){clearTimeout(e)}},Zd=class{constructor(e){this.timer=e,u(this,"timeout",1),u(this,"slice",25),u(this,"sliceOverTime",0),u(this,"queue"),u(this,"wakeupTime",null),u(this,"timeoutToken",null),u(this,"inTimeSlice",!1),u(this,"order",0),this.queue=new Rc,js||(js=this)}setSlice(e){this.slice=e}setTimeout(e){this.timeout=e}isTimeSliceOver(){return this.timer.currentTime()>=this.sliceOverTime}arm(){if(this.inTimeSlice)return;let e=this.queue.peek().scheduledTime,t=this.timer.currentTime();if(this.timeoutToken!=null){if(t+this.timeout>this.wakeupTime)return;this.timer.clearTimeout(this.timeoutToken)}let i=e-t;i<=this.timeout&&(i=this.timeout),this.wakeupTime=t+i,this.timeoutToken=this.timer.setTimeout(()=>{this.timeoutToken=null,this.doTimeSlice()},i)}schedule(e,t){let i=e,n=this.timer.currentTime();i.order=this.order++,i.scheduledTime=n+(t||0),this.queue.add(i),this.arm()}doTimeSlice(){this.timeoutToken!=null&&(this.timer.clearTimeout(this.timeoutToken),this.timeoutToken=null),this.inTimeSlice=!0;try{let e=this.timer.currentTime();for(this.sliceOverTime=e+this.slice;this.queue.length();){let t=this.queue.peek();if(t.scheduledTime>e||(this.queue.remove(),t.canceled||t.resumeInternal(),e=this.timer.currentTime(),e>=this.sliceOverTime))break}}catch(e){V.error(e)}this.inTimeSlice=!1,this.queue.length()&&this.arm()}run(e,t){let i=new Jd(this,t||"");i.top=new as(i,null,"bootstrap"),i.top.state=1,i.top.then(()=>{let s=()=>{i.running=!1;for(let r of i.callbacks)try{r()}catch(o){V.error(o)}};try{e().then(r=>{i.result=r,s()})}catch(r){i.raise(r),s()}});let n=Ie;return Ie=i,this.schedule(i.top.suspend("bootstrap")),Ie=n,i}},Dl=class{constructor(e){this.task=e,u(this,"scheduledTime",0),u(this,"order",0),u(this,"result",null),u(this,"canceled",!1)}compare(e){let t=e;return t.scheduledTime-this.scheduledTime||t.order-this.order}getTask(){return this.task}schedule(e,t){this.result=e,this.task.scheduler.schedule(this,t)}resumeInternal(){let e=this.task;if(this.task=null,e&&e.continuation==this){e.continuation=null;let t=Ie;return Ie=e,e.top.finish(this.result),Ie=t,!0}return!1}cancel(){this.canceled=!0}},Jd=class{constructor(e,t){this.scheduler=e,this.name=t,u(this,"callbacks",[]),u(this,"exception",null),u(this,"running",!0),u(this,"result",null),u(this,"waitTarget",null),u(this,"top",null),u(this,"continuation",null)}getName(){return this.name}interrupt(e){if(this.raise(e||new Error("E_TASK_INTERRUPT")),this!==Ie&&this.continuation){this.continuation.cancel();let t=new Dl(this);this.waitTarget="interrupt",this.continuation=t,this.scheduler.schedule(t)}}getScheduler(){return this.scheduler}isRunning(){return this.running}whenDone(e){this.callbacks.push(e)}join(){let e=F("Task.join");if(!this.running)e.finish(this.result);else{let t=e.suspend(this);this.whenDone(()=>{t.schedule(this.result)})}return e.result()}unwind(){for(;this.top&&!this.top.handler;)this.top=this.top.parent;if(this.top&&this.top.handler&&this.exception){let e=this.exception;this.exception=null,this.top.handler(this.top,e)}else this.exception&&V.error(this.exception,"Unhandled exception in task",this.name)}raise(e,t){if(this.fillStack(e),t){let i=this.top;for(;i&&i!=t;)i=i.parent;i==t&&(this.top=i)}this.exception=e,this.unwind()}fillStack(e){let t=e.frameTrace;if(!t){t=e.stack?`${e.stack}
|
|
3
|
+
`]).concat(i))),n}var H=new Ec,ns=(e=>(e.SIMPLE_PROPERTY="SIMPLE_PROPERTY",e.PREPROCESS_SINGLE_DOCUMENT="PREPROCESS_SINGLE_DOCUMENT",e.PREPROCESS_TEXT_CONTENT="PREPROCESS_TEXT_CONTENT",e.PREPROCESS_ELEMENT_STYLE="PREPROCESS_ELEMENT_STYLE",e.POLYFILLED_INHERITED_PROPS="POLYFILLED_INHERITED_PROPS",e.CONFIGURATION="CONFIGURATION",e.RESOLVE_TEXT_NODE_BREAKER="RESOLVE_TEXT_NODE_BREAKER",e.RESOLVE_FORMATTING_CONTEXT="RESOLVE_FORMATTING_CONTEXT",e.RESOLVE_LAYOUT_PROCESSOR="RESOLVE_LAYOUT_PROCESSOR",e.POST_LAYOUT_BLOCK="POST_LAYOUT_BLOCK",e))(ns||{}),$n={};function ut(e,t,i){if(!ns[e])H.warn(new Error(`Skipping unknown plugin hook '${e}'.`));else{let n=$n[e];n||(n=$n[e]=[]),i?n.unshift(t):n.push(t)}}function tl(e,t){if(!ns[e])H.warn(new Error(`Ignoring unknown plugin hook '${e}'.`));else{let i=$n[e];if(i){let n=i.indexOf(t);n>=0&&i.splice(n,1)}}}function ft(e){return $n[e]||[]}var kc={registerHook:ut,removeHook:tl},il=class{constructor(e){this.performanceInstance=e,u(this,"timestamps",{}),u(this,"registerTiming"),u(this,"registerStartTiming"),u(this,"registerEndTiming"),this.registerTiming=ti,this.registerStartTiming=this.registerStartTiming=ti,this.registerEndTiming=this.registerEndTiming=ti}forceRegisterStartTiming(e,t){ys.call(this,e,"start",t)}forceRegisterEndTiming(e,t){ys.call(this,e,"end",t)}printTimings(){let e=this.timestamps,t="";Object.keys(e).forEach(i=>{let n=e[i],s=n.length;for(let r=0;r<s;r++){let o=n[r];t+=i,s>1&&(t+=`(${r})`),t+=` => start: ${o.start}, end: ${o.end}, duration: ${o.end-o.start}
|
|
4
|
+
`}}),H.info(t)}disable(){this.registerTiming=ti,this.registerStartTiming=this.registerStartTiming=ti,this.registerEndTiming=this.registerEndTiming=ti}enable(){this.registerTiming=ys,this.registerStartTiming=this.registerStartTiming=xo,this.registerEndTiming=this.registerEndTiming=Nc}isEnabled(){return this.registerStartTiming===xo}};function ti(){}function ys(e,t,i){i||(i=this.performanceInstance.now());let n=this.timestamps[e];n||(n=this.timestamps[e]=[]);let s,r=n.length;for(let o=r-1;o>=0&&(s=n[o],!(s&&!s[t]));o--)s=null;s||(s={},n.push(s)),s[t]=i}function xo(e,t){this.registerTiming(e,"start",t)}function Nc(e,t){this.registerTiming(e,"end",t)}var Pc={now:Date.now},Tc=window&&window.performance,tt=new il(Tc||Pc);tt.forceRegisterStartTiming("load_vivliostyle");var Ic={profiler:{registerStartTiming:tt.registerStartTiming,registerEndTiming:tt.registerEndTiming,printTimings:tt.printTimings,disable:tt.disable,enable:tt.enable}},_s=/^[\s\p{Zs}\p{P}\p{Mn}]*[\p{L}\p{N}]\p{Mn}*(?:[\s\p{Zs}]*\p{P}\p{Mn}*)*/u,yt="data-adapt-eloff",Rc={};function Ar(e){return JSON.parse(e)}function St(e){let t=e.match(/^([^#]*)/);return t?t[1]:e}function Ac(e){let t=e.match(/^([^#?]*)/);return t?t[1]:e}var vi=window.location.href;function So(e){vi=e}var Kt=window.location.href;function Co(e){Kt=e}function Pe(e,t){if(/^data:/i.test(t))return e||t;if(!t||e.match(/^\w{2,}:/))return e.toLowerCase().match("^javascript:")?"#":(e.match(/^\w{2,}:\/\/[^\/]+$/)&&(e=`${e}/`),e);t.match(/^\w{2,}:\/\/[^\/]+$/)&&(t=`${t}/`);let i;if(e.match(/^\/\//))return i=t.match(/^(\w{2,}:)\/\//),i?i[1]+e:e;if(e.match(/^\//))return i=t.match(/^(\w{2,}:\/\/[^\/]+)\//),i?i[1]+e:e;if(e.match(/^\.(\/|$)/)&&(e=e.substr(2)),t=Ac(t),e.match(/^#/))return t+e;let n=t.lastIndexOf("/");if(n<0)return e;let s=t.substr(0,n+1)+e,r="";for(i=s.match(/^([^?#]*)([?#].*)$/),i&&(s=i[1],r=i[2]);n=s.indexOf("/../"),!(n<=0);){let o=s.lastIndexOf("/",n-1);if(o<=0)break;s=s.substr(0,o)+s.substr(n+3)}return s.replace(/\/(\.\/)+/g,"/")+r}function nn(e){let t;return(t=/^(https?:)\/\/github\.com\/([^/]+\/[^/]+)\/(blob\/|tree\/|raw\/)?(.*)$/.exec(e))?e=`${t[1]}//raw.githubusercontent.com/${t[2]}/${t[3]?"":"master/"}${t[4]}`:(t=/^(https?:)\/\/www\.aozora\.gr\.jp\/(cards\/[^/]+\/files\/[^/.]+\.html)$/.exec(e))?e=`${t[1]}//raw.githubusercontent.com/aozorabunko/aozorabunko/master/${t[2]}`:(t=/^(https?:)\/\/gist\.github\.com\/([^/]+\/\w+)(\/|$)(raw(\/|$))?(.*)$/.exec(e))?e=`${t[1]}//gist.githubusercontent.com/${t[2]}/raw/${t[6]}`:(t=/^(https?:)\/\/gist\.github\.com\/([^/]+\/\w+)(?:#|%23)file-(.*)-(\w+)$/.exec(e))?e=`${t[1]}//gist.githubusercontent.com/${t[2]}/raw/${t[3]}.${t[4]}`:(t=/^(https?:)\/\/(?:[^/.]+\.)?jsbin\.com\/(?!(?:blog|help)\b)(\w+)((\/\d+)?).*$/.exec(e))&&(e=`${t[1]}//output.jsbin.com/${t[2]}${t[3]}/`),e}function Eo(e){return e==null?e:e.toString()}var Lc=class{constructor(){u(this,"queue",[null])}length(){return this.queue.length-1}add(e){let t=this.queue.length;for(;t>1;){let i=Math.floor(t/2),n=this.queue[i];if(n.compare(e)>0){this.queue[t]=e;return}this.queue[t]=n,t=i}this.queue[1]=e}peek(){return this.queue[1]}remove(){let e=this.queue[1],t=this.queue.pop(),i=this.queue.length;if(i>1){let n=1;for(;;){let s=n*2;if(s>=i)break;if(this.queue[s].compare(t)>0)s+1<i&&this.queue[s+1].compare(this.queue[s])>0&&s++;else if(s+1<i&&this.queue[s+1].compare(t)>0)s++;else break;this.queue[n]=this.queue[s],n=s}this.queue[n]=t}return e}},nl=["","-webkit-","-moz-"],ni={};function xs(e,t){return CSS.supports(e+t,"unset")}function Fc(e){let t=ni[e];if(t||t===null)return t;switch(e){case"behavior":case"template":case"ua-list-item-count":case"x-first-pseudo":return ni[e]=null,null;case"text-combine-upright":if(xs("-webkit-","text-combine")&&!xs("","text-combine-upright"))return ni[e]=["-webkit-text-combine"],["-webkit-text-combine"];break}for(let i of nl)if(xs(i,e))return t=[i+e],ni[e]=t,t;return H.warn("Property not supported by the browser: ",e),ni[e]=null,null}function N(e,t,i){let n=e?.style;if(!n)return;if(t.startsWith("--")){n.setProperty(t,i||" ");return}let s=Fc(t);if(s)for(let r of s){switch(r){case"-webkit-text-combine":switch(i){case"all":i="horizontal";break}break;case"text-combine-upright":switch(i){case"all":n.setProperty("text-indent","0");break}break}n.setProperty(r,i)}}function At(e,t,i){try{let n=ni[t];return e.style.getPropertyValue(n?n[0]:t)}catch{}return i||""}function Ms(e){let t=e.getAttributeNS("http://www.w3.org/XML/1998/namespace","lang");return!t&&e.namespaceURI=="http://www.w3.org/1999/xhtml"&&(t=e.getAttribute("lang")),t}var Et=class{constructor(){u(this,"list",[])}append(e){return this.list.push(e),this}clear(){this.list=[]}toString(){let e=this.list.join("");return this.list=[e],e}};function sl(e){return`\\${e.charCodeAt(0).toString(16)} `}function Ot(e){return e.replace(/[^-_a-zA-Z0-9\u0080-\uFFFF]/g,sl)}function pn(e){return e.replace(/[\u0000-\u001F"\\]/g,sl)}function ko(e){return e.replace(/[\s+&?=#\u007F-\uFFFF]+/g,encodeURIComponent)}function No(e){return!!e.match(/^[a-zA-Z\u009E\u009F\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u024F\u037B-\u037D\u0386\u0388-\u0482\u048A-\u0527]$/)}function Oc(e,t){return t=typeof t=="string"?t:"\\u",t+(65536|e.charCodeAt(0)).toString(16).substr(1)}function rl(e,t){function i(n){return Oc(n,t)}return e.replace(/[^-a-zA-Z0-9_]/g,i)}function Rt(e){return rl(e)}function Bc(e,t){return t=typeof t=="string"?t:"\\u",e.indexOf(t)===0?String.fromCharCode(parseInt(e.substring(t.length),16)):e}function _c(e,t){t=typeof t=="string"?t:"\\u";function i(s){return Bc(s,t)}let n=new RegExp(`${Rt(t)}[0-9a-fA-F]{4}`,"g");return e.replace(n,i)}function _t(e,t){let i=0,n=e;for(;;){if(i<=n,i==0||t(i-1),n==e||t(n),i==n)return i;let s=i+n>>1;t(s)?n=s:i=s+1}}function ol(e,t){return e-t}function Po(e,t){let i={};for(let n of e){let s=t(n);s&&!i[s]&&(i[s]=n)}return i}function Mc(e){let t={};for(let i=0;i<e.length;i++)t[e[i]]=!0;return t}function Ss(e,t){let i={};for(let n of e){let s=t(n);s&&(i[s]?i[s].push(n):i[s]=[n])}return i}function zc(e,t){let i={};for(let n in e)i[n]=t(e[n],n);return i}var Lr=class{constructor(){u(this,"listeners",{})}dispatchEvent(e){let t=this.listeners[e.type];if(t){e.target=this,e.currentTarget=this;for(let i=0;i<t.length;i++)t[i](e)}}addEventListener(e,t,i){if(i)return;let n=this.listeners[e];n?n.includes(t)||n.push(t):this.listeners[e]=[t]}removeEventListener(e,t,i){if(i)return;let n=this.listeners[e];if(n){let s=n.indexOf(t);s>=0&&n.splice(s,1)}}},jt={audio:!0,canvas:!0,embed:!0,iframe:!0,img:!0,math:!0,object:!0,picture:!0,svg:!0,video:!0};function al(e){if(e.nodeType==1){let t=e.getAttribute("id");if(t)return t}return null}function Dc(e){return`^${e}`}function To(e){return e.replace(/[\[\]\(\),=;^]/g,Dc)}function Vc(e){return e.substr(1)}function zs(e){return e&&e.replace(/\^[\[\]\(\),=;^]/g,Vc)}function Hc(e){let t=[];do{let i=e.match(/^(\^,|[^,])*/),n=zs(i[0]);if(e=e.substr(i[0].length+1),!e&&!t.length)return n;t.push(n)}while(e);return t}function Io(e){let t={};for(;e;){let i=e.match(/^;([^;=]+)=(([^;]|\^;)*)/);if(!i)return t;t[i[1]]=Hc(i[2]),e=e.substr(i[0].length)}return t}var Ro=class{appendTo(e){e.append("!")}applyTo(e){return!1}},Ao=class{constructor(e,t,i){this.index=e,this.id=t,this.sideBias=i}appendTo(e){e.append("/"),e.append(this.index.toString()),(this.id||this.sideBias)&&(e.append("["),this.id&&e.append(this.id),this.sideBias&&(e.append(";s="),e.append(this.sideBias)),e.append("]"))}applyTo(e){if(e.node.nodeType!=1)throw new Error("E_CFI_NOT_ELEMENT");let t=e.node,i=t.children,n=i.length,s,r=Math.floor(this.index/2)-1;if(r<0||n==0)s=t.firstChild,e.node=s||t;else{if(s=i[Math.min(r,n-1)],this.index&1){let o=s.nextSibling;!o||o.nodeType==1?e.after=!0:s=o}e.node=s}if(this.id&&(e.after||this.id!=al(e.node))){let o=t.ownerDocument.getElementById(this.id);o?e.node=o:H.warn("E_CFI_ID_MISMATCH:",this.id)}return e.sideBias=this.sideBias,!0}},Lo=class{constructor(e,t,i,n){this.offset=e,this.textBefore=t,this.textAfter=i,this.sideBias=n}applyTo(e){if(this.offset>0&&!e.after){let t=this.offset,i=e.node;for(;;){let n=i.nodeType;if(n==1)break;let s=i.nextSibling;if(3<=n&&n<=5){let r=i.textContent.length;if(t<=r)break;if(!s){t=r;break}t-=r}if(!s){t=0;break}i=s}e.node=i,e.offset=t}return e.sideBias=this.sideBias,!0}appendTo(e){e.append(":"),e.append(this.offset.toString()),(this.textBefore||this.textAfter||this.sideBias)&&(e.append("["),(this.textBefore||this.textAfter)&&(this.textBefore&&e.append(To(this.textBefore)),e.append(","),this.textAfter&&e.append(To(this.textAfter))),this.sideBias&&(e.append(";s="),e.append(this.sideBias)),e.append("]"))}},Fo=class ll{constructor(){u(this,"steps",null)}fromString(t){let i=t.match(/^#?epubcfi\((.*)\)$/);if(!i)throw new Error("E_CFI_NOT_CFI");let n=decodeURIComponent(i[1]),s=0,r=[];for(;;){let o;switch(n.charAt(s)){case"/":{if(s++,i=n.substr(s).match(/^(0|[1-9][0-9]*)(\[(.*?)(;([^\]]|\^\])*)?\])?/),!i)throw new Error("E_CFI_NUMBER_EXPECTED");s+=i[0].length;let a=parseInt(i[1],10),h=i[3];o=Io(i[4]),r.push(new Ao(a,h,Eo(o.s)));break}case":":{if(s++,i=n.substr(s).match(/^(0|[1-9][0-9]*)(\[((([^\];,]|\^[\];,])*)(,(([^\];,]|\^[\];,])*))?)(;([^]]|\^\])*)?\])?/),!i)throw new Error("E_CFI_NUMBER_EXPECTED");s+=i[0].length;let a=parseInt(i[1],10),h=i[4];h&&(h=zs(h));let l=i[7];l&&(l=zs(l)),o=Io(i[10]),r.push(new Lo(a,h,l,Eo(o.s)));break}case"!":s++,r.push(new Ro);break;case"~":case"@":case"":this.steps=r;return;default:throw new Error("E_CFI_PARSE_ERROR")}}}navigate(t){let i={node:t.documentElement,offset:0,after:!1,sideBias:null,ref:null};for(let n=0;n<this.steps.length;n++)if(!this.steps[n].applyTo(i)){i.ref=new ll,i.ref.steps=this.steps.slice(n+1);break}return i}trim(t,i){return t.replace(/\s+/g," ").match(i?/^[ -\uD7FF\uE000-\uFFFF]{0,8}/:/[ -\uD7FF\uE000-\uFFFF]{0,8}$/)[0].replace(/^\s/,"").replace(/\s$/,"")}prependPathFromNode(t,i,n,s){let r=[],o=t.parentNode,a="",h="";for(;t;){switch(t.nodeType){case 3:case 4:case 5:{let l=t.textContent,c=l.length;n?(i+=c,a||(a=l)):(i>c&&(i=c),n=!0,a=l.substr(0,i),h=l.substr(i)),t=t.previousSibling;continue}case 8:t=t.previousSibling;continue}break}for((i>0||a||h)&&(a=this.trim(a,!1),h=this.trim(h,!0),r.push(new Lo(i,a,h,s)),s=null);o&&!(!o||o.nodeType==9);){let l=n?null:al(t),c=n?1:0;for(;t;)t.nodeType==1&&(c+=2),t=t.previousSibling;r.push(new Ao(c,l,s)),s=null,t=o,o=o.parentNode,n=!1}r.reverse(),this.steps?(r.push(new Ro),this.steps=r.concat(this.steps)):this.steps=r}toString(){if(!this.steps)return"";let t=new Et;t.append("epubcfi(");for(let i=0;i<this.steps.length;i++)this.steps[i].appendTo(t);return t.append(")"),t.toString().replace(/%/g,"%25")}};function hl(){return{fontFamily:"serif",lineHeight:1.25,margin:8,hyphenate:!1,columnWidth:25,horizontal:!1,nightMode:!1,spreadView:!1,pageBorder:1,enabledMediaTypes:{vivliostyle:!0,print:!0},defaultPaperSize:void 0}}function ul(e){return{fontFamily:e.fontFamily,lineHeight:e.lineHeight,margin:e.margin,hyphenate:e.hyphenate,columnWidth:e.columnWidth,horizontal:e.horizontal,nightMode:e.nightMode,spreadView:e.spreadView,pageBorder:e.pageBorder,enabledMediaTypes:Object.assign({},e.enabledMediaTypes),defaultPaperSize:e.defaultPaperSize?Object.assign({},e.defaultPaperSize):void 0}}var Uc=hl(),Oo={PENDING:{}};function cl(e,t,i,n){let s=Math.min((e-0)/i,(t-0)/n);return`matrix(${s},0,0,${s},0,0)`}function Cs(e){return`"${pn(`${e}`)}"`}function $c(e){return Ot(`${e}`)}function Ds(e,t){return e?`${Ot(e)}.${Ot(t)}`:Ot(t)}var dl=0,Vs=class{constructor(e,t){if(this.parent=e,this.resolver=t,u(this,"scopeKey"),u(this,"children",[]),u(this,"zero"),u(this,"one"),u(this,"_true"),u(this,"_false"),u(this,"values",{}),u(this,"funcs",{}),u(this,"builtIns",{}),this.scopeKey=`S${dl++}`,this.zero=new Be(this,0),this.one=new Be(this,1),this._true=new Be(this,!0),this._false=new Be(this,!1),e&&e.children.push(this),!e){let i=this.builtIns;i.floor=Math.floor,i.ceil=Math.ceil,i.round=Math.round,i.sqrt=Math.sqrt,i.min=Math.min,i.max=Math.max,i.letterbox=cl,i["css-string"]=Cs,i["css-name"]=$c,i.typeof=n=>typeof n,this.defineBuiltInName("page-width",function(){return this.pageWidth()}),this.defineBuiltInName("page-height",function(){return this.pageHeight()}),this.defineBuiltInName("pref-font-family",function(){return this.pref.fontFamily}),this.defineBuiltInName("pref-night-mode",function(){return this.pref.nightMode}),this.defineBuiltInName("pref-hyphenate",function(){return this.pref.hyphenate}),this.defineBuiltInName("pref-margin",function(){return this.pref.margin}),this.defineBuiltInName("pref-line-height",function(){return this.pref.lineHeight}),this.defineBuiltInName("pref-column-width",function(){return this.pref.columnWidth*this.fontSize}),this.defineBuiltInName("pref-horizontal",function(){return this.pref.horizontal}),this.defineBuiltInName("pref-spread-view",function(){return this.pref.spreadView}),this.defineBuiltInName("pub-title",function(){return Cs(this.pubTitle?this.pubTitle:"")}),this.defineBuiltInName("doc-title",function(){return Cs(this.docTitle?this.docTitle:"")})}}defineBuiltInName(e,t){this.values[e]=new De(this,t,e)}defineName(e,t){this.values[e]=t}defineFunc(e,t){this.funcs[e]=t}defineBuiltIn(e,t){this.builtIns[e]=t}};function Gc(e){switch(e?.toLowerCase()){case"px":case"in":case"pt":case"pc":case"cm":case"mm":case"q":return!0;default:return!1}}function pl(e){switch(e?.toLowerCase()){case"vw":case"vh":case"vi":case"vb":case"vmin":case"vmax":case"pvw":case"pvh":case"pvi":case"pvb":case"pvmin":case"pvmax":return!0;default:return!1}}function Wc(e){switch(e?.toLowerCase()){case"em":case"ex":case"rem":case"lh":case"rlh":return!0;default:return!1}}function jc(e){switch(e?.toLowerCase()){case"rem":case"rlh":return!0;default:return!1}}var me={px:1,in:96,pt:4/3,pc:96/6,cm:96/2.54,mm:96/25.4,q:96/2.54/40,em:16,rem:16,ex:8,lh:20,rlh:20,dppx:1,dpi:1/96,dpcm:2.54/96};function fl(e){switch(e){case"q":return!CSS.supports("font-size","1q");case"lh":return!CSS.supports("line-height","1lh");case"rem":case"rlh":return!0;default:return!1}}var Hs=class{constructor(e,t,i,n){this.rootScope=e,this.viewportWidth=t,this.viewportHeight=i,u(this,"actualPageWidth",null),u(this,"pageWidth"),u(this,"actualPageHeight",null),u(this,"pageHeight"),u(this,"initialFontSize"),u(this,"rootFontSize",null),u(this,"isRelativeRootFontSize",null),u(this,"fontSize"),u(this,"rootLineHeight",null),u(this,"pref"),u(this,"scopes",{}),u(this,"pageAreaWidth",null),u(this,"pageAreaHeight",null),u(this,"pageVertical",null),u(this,"pubTitle",null),u(this,"docTitle",null),this.pageWidth=function(){return this.actualPageWidth?this.actualPageWidth:this.pref.spreadView?Math.floor(t/2)-this.pref.pageBorder:t},this.pageHeight=function(){return this.actualPageHeight?this.actualPageHeight:i},this.initialFontSize=n,this.fontSize=function(){return this.rootFontSize?this.rootFontSize:n},this.pref=Uc}getScopeContext(e){let t=this.scopes[e.scopeKey];return t||(t={},this.scopes[e.scopeKey]=t),t}clearScope(e){this.scopes[e.scopeKey]={};for(let t=0;t<e.children.length;t++)this.clearScope(e.children[t])}queryUnitSize(e,t,i){if(pl(e)){let n=this.pageWidth()/100,s=this.pageHeight()/100,r=this.pageAreaWidth!=null?this.pageAreaWidth/100:n,o=this.pageAreaHeight!=null?this.pageAreaHeight/100:s,a=i??this.pageVertical;switch(e){case"vw":return r;case"vh":return o;case"vi":return a?o:r;case"vb":return a?r:o;case"vmin":return r<o?r:o;case"vmax":return r>o?r:o;case"pvw":return n;case"pvh":return s;case"pvi":return a?s:n;case"pvb":return a?n:s;case"pvmin":return n<s?n:s;case"pvmax":return n>s?n:s}}return e=="em"||e=="rem"?t?this.initialFontSize:this.fontSize():e=="ex"?me.ex*(t?this.initialFontSize:this.fontSize())/me.em:e=="lh"||e=="rlh"?this.rootLineHeight:me[e]}evalName(e,t){do{let i=e.values[t];if(i||e.resolver&&(i=e.resolver.call(this,t,!1),i))return i;e=e.parent}while(e);throw new Error(`Name '${t}' is undefined`)}evalCall(e,t,i,n){do{let s=e.funcs[t];if(s||e.resolver&&(s=e.resolver.call(this,t,!0),s))return s;let r=e.builtIns[t];if(r){if(n)return e.zero;let o=Array(i.length);for(let a=0;a<i.length;a++)o[a]=i[a].evaluate(this);return new Be(e,r.apply(this,o))}e=e.parent}while(e);throw new Error(`Function '${t}' is undefined`)}evalMediaName(e,t){let i=e==="all"||!!this.pref.enabledMediaTypes[e];return t?!i:i}evalMediaTest(e,t){let i="",n=e.match(/^(min|max)-(.*)$/);n&&(i=n[1],e=n[2]);let s=null,r=null;switch(e){case"width":case"height":case"device-width":case"device-height":case"color":t&&(s=t.evaluate(this));break}switch(e){case"width":r=this.pageWidth();break;case"height":r=this.pageHeight();break;case"device-width":r=window.screen.availWidth;break;case"device-height":r=window.screen.availHeight;break;case"color":r=window.screen.pixelDepth;break}if(r!=null&&s!=null)switch(i){case"min":return r>=Number(s);case"max":return r<=Number(s);default:return r==s}else if(r!=null&&t==null)return r!==0;return!1}evalSupportsTest(e,t,i){return!1}queryVal(e,t){let i=e&&this.scopes[e.scopeKey];return i?i[t]:void 0}storeVal(e,t,i){this.getScopeContext(e)[t]=i}},ct=class{constructor(e){this.scope=e,u(this,"key"),this.scope=e,this.key=`_${dl++}`}toString(){let e=new Et;return this.appendTo(e,0),e.toString()}appendTo(e,t){throw new Error("F_ABSTRACT")}evaluateCore(e){throw new Error("F_ABSTRACT")}expand(e,t){return this}dependCore(e,t,i){return e===this}dependOuter(e,t,i){let n=i[this.key];if(n!=null)return n===Oo.PENDING?!1:n;{i[this.key]=Oo.PENDING;let s=this.dependCore(e,t,i);return i[this.key]=s,s}}depend(e,t){return this.dependOuter(e,t,{})}evaluate(e){let t=e.queryVal(this.scope,this.key);return typeof t<"u"||(t=this.evaluateCore(e),this.scope&&e.storeVal(this.scope,this.key,t)),t}isMediaName(){return!1}},gl=class extends ct{constructor(e,t){super(e),this.val=t}getOp(){throw new Error("F_ABSTRACT")}evalPrefix(e){throw new Error("F_ABSTRACT")}evaluateCore(e){let t=this.val.evaluate(e);return this.evalPrefix(t)}dependCore(e,t,i){return e===this||this.val.dependOuter(e,t,i)}appendTo(e,t){10<t&&e.append("("),e.append(this.getOp()),this.val.appendTo(e,10),10<t&&e.append(")")}expand(e,t){let i=this.val.expand(e,t);return i===this.val?this:new this.constructor(this.scope,i)}},ss=class extends ct{constructor(e,t,i){super(e),this.lhs=t,this.rhs=i}getPriority(){throw new Error("F_ABSTRACT")}getOp(){throw new Error("F_ABSTRACT")}evalInfix(e,t){throw new Error("F_ABSTRACT")}evaluateCore(e){let t=this.lhs.evaluate(e),i=this.rhs.evaluate(e);return this.evalInfix(t,i)}dependCore(e,t,i){return e===this||this.lhs.dependOuter(e,t,i)||this.rhs.dependOuter(e,t,i)}appendTo(e,t){let i=this.getPriority();i<=t&&e.append("("),this.lhs.appendTo(e,i),e.append(this.getOp()),this.rhs.appendTo(e,i),i<=t&&e.append(")")}expand(e,t){let i=this.lhs.expand(e,t),n=this.rhs.expand(e,t);return i===this.lhs&&n===this.rhs?this:new this.constructor(this.scope,i,n)}},ml=class extends ss{constructor(e,t,i){super(e,t,i)}getPriority(){return 1}},Ei=class extends ss{constructor(e,t,i){super(e,t,i)}getPriority(){return 2}},wl=class extends ss{constructor(e,t,i){super(e,t,i)}getPriority(){return 3}},Fr=class extends ss{constructor(e,t,i){super(e,t,i)}getPriority(){return 4}},Bt=class extends gl{constructor(e,t){super(e,t)}getOp(){return"!"}evalPrefix(e){return!e}},Xc=class extends Bt{constructor(e,t){super(e,t)}getOp(){return"not "}},li=class extends gl{constructor(e,t){super(e,t)}getOp(){return"-"}evalPrefix(e){return-e}},Or=class extends ml{constructor(e,t,i){super(e,t,i)}getOp(){return"&&"}evaluateCore(e){return this.lhs.evaluate(e)&&this.rhs.evaluate(e)}},qc=class extends Or{constructor(e,t,i){super(e,t,i)}getOp(){return" and "}},Br=class extends ml{constructor(e,t,i){super(e,t,i)}getOp(){return"||"}evaluateCore(e){return this.lhs.evaluate(e)||this.rhs.evaluate(e)}},Yc=class extends Br{constructor(e,t,i){super(e,t,i)}getOp(){return", "}},Zc=class extends Br{constructor(e,t,i){super(e,t,i)}getOp(){return" or "}},Kc=class extends Ei{constructor(e,t,i){super(e,t,i)}getOp(){return"<"}evalInfix(e,t){return e<t}},Jc=class extends Ei{constructor(e,t,i){super(e,t,i)}getOp(){return"<="}evalInfix(e,t){return e<=t}},Qc=class extends Ei{constructor(e,t,i){super(e,t,i)}getOp(){return">"}evalInfix(e,t){return e>t}},Us=class extends Ei{constructor(e,t,i){super(e,t,i)}getOp(){return">="}evalInfix(e,t){return e>=t}},_r=class extends Ei{constructor(e,t,i){super(e,t,i)}getOp(){return"=="}evalInfix(e,t){return e==t}},ed=class extends Ei{constructor(e,t,i){super(e,t,i)}getOp(){return"!="}evalInfix(e,t){return e!=t}},bl=class extends wl{constructor(e,t,i){super(e,t,i)}getOp(){return"+"}evalInfix(e,t){return e+t}},vl=class extends wl{constructor(e,t,i){super(e,t,i)}getOp(){return" - "}evalInfix(e,t){return e-t}},Mr=class extends Fr{constructor(e,t,i){super(e,t,i)}getOp(){return"*"}evalInfix(e,t){return e*t}},yl=class extends Fr{constructor(e,t,i){super(e,t,i)}getOp(){return"/"}evalInfix(e,t){return e/t}},xl=class extends Fr{constructor(e,t,i){super(e,t,i)}getOp(){return"%"}evalInfix(e,t){return e%t}},fn=class extends ct{constructor(e,t,i){var n;super(e),this.num=t,u(this,"unit"),this.unit=(n=i?.toLowerCase())!=null?n:""}appendTo(e,t){e.append(this.num.toString()),e.append(Ot(this.unit))}evaluateCore(e){return this.num*e.queryUnitSize(this.unit,!1)}},Ae=class extends ct{constructor(e,t){super(e),this.qualifiedName=t}appendTo(e,t){e.append(this.qualifiedName)}evaluateCore(e){return e.evalName(this.scope,this.qualifiedName).evaluate(e)}dependCore(e,t,i){return e===this||t.evalName(this.scope,this.qualifiedName).dependOuter(e,t,i)}},Bo=class extends ct{constructor(e,t,i){super(e),this.not=t,this.name=i}appendTo(e,t){this.not&&e.append("not "),e.append(Ot(this.name))}evaluateCore(e){return e.evalMediaName(this.name,this.not)}isMediaName(){return!0}},De=class extends ct{constructor(e,t,i){super(e),this.fn=t,this.str=i}appendTo(e,t){e.append(this.str)}evaluateCore(e){return this.fn.call(e)}};function td(e,t){e.append("(");for(let i=0;i<t.length;i++)i&&e.append(","),t[i].appendTo(e,0);e.append(")")}function id(e,t,i){let n=t;for(let s=0;s<t.length;s++){let r=t[s].expand(e,i);if(t!==n)n[s]=r;else if(r!==t[s]){n=Array(t.length);for(let o=0;o<s;o++)n[o]=t[o];n[s]=r}}return n}var Gi=class Sl extends ct{constructor(t,i,n){super(t),this.qualifiedName=i,this.params=n}appendTo(t,i){t.append(this.qualifiedName),td(t,this.params)}evaluateCore(t){return t.evalCall(this.scope,this.qualifiedName,this.params,!1).expand(t,this.params).evaluate(t)}dependCore(t,i,n){if(t===this)return!0;for(let s=0;s<this.params.length;s++)if(this.params[s].dependOuter(t,i,n))return!0;return i.evalCall(this.scope,this.qualifiedName,this.params,!0).dependOuter(t,i,n)}expand(t,i){let n=id(t,this.params,i);return n===this.params?this:new Sl(this.scope,this.qualifiedName,n)}},nd=class Cl extends ct{constructor(t,i,n,s){super(t),this.cond=i,this.ifTrue=n,this.ifFalse=s}appendTo(t,i){i>0&&t.append("("),this.cond.appendTo(t,0),t.append("?"),this.ifTrue.appendTo(t,0),t.append(":"),this.ifFalse.appendTo(t,0),i>0&&t.append(")")}evaluateCore(t){return this.cond.evaluate(t)?this.ifTrue.evaluate(t):this.ifFalse.evaluate(t)}dependCore(t,i,n){return t===this||this.cond.dependOuter(t,i,n)||this.ifTrue.dependOuter(t,i,n)||this.ifFalse.dependOuter(t,i,n)}expand(t,i){let n=this.cond.expand(t,i),s=this.ifTrue.expand(t,i),r=this.ifFalse.expand(t,i);return n===this.cond&&s===this.ifTrue&&r===this.ifFalse?this:new Cl(this.scope,n,s,r)}},Be=class extends ct{constructor(e,t){super(e),this.val=t}appendTo(e,t){switch(typeof this.val){case"number":case"boolean":e.append(this.val.toString());break;case"string":e.append('"'),e.append(pn(this.val)),e.append('"');break;default:throw new Error("F_UNEXPECTED_STATE")}}evaluateCore(e){return this.val}},_o=class El extends ct{constructor(t,i,n){super(t),this.name=i,this.value=n}appendTo(t,i){t.append("("),t.append(pn(this.name.name)),t.append(":"),this.value.appendTo(t,0),t.append(")")}evaluateCore(t){return t.evalMediaTest(this.name.name,this.value)}dependCore(t,i,n){return t===this||this.value.dependOuter(t,i,n)}expand(t,i){let n=this.value.expand(t,i);return n===this.value?this:new El(this.scope,this.name,n)}},sd=class extends ct{constructor(e,t,i,n){super(e),this.name=t,this.value=i,this.isFunc=n}appendTo(e,t){this.isFunc&&e.append(this.name),e.append("("),!this.isFunc&&this.name&&(e.append(this.name),e.append(":")),e.append(this.value),e.append(")")}evaluateCore(e){return e.evalSupportsTest(this.name,this.value,this.isFunc)}},kl=class extends ct{constructor(e,t){super(e),this.index=t}appendTo(e,t){e.append("$"),e.append(this.index.toString())}expand(e,t){let i=t[this.index];if(!i)throw new Error(`Parameter missing: ${this.index}`);return i}};function ht(e,t,i){return t===e._false||t===e.zero||i==e._false||i==e.zero?e._false:t===e._true||t===e.one?i:i===e._true||i===e.one?t:new Or(e,t,i)}function j(e,t,i){return t===e.zero?i:i===e.zero?t:new bl(e,t,i)}function oe(e,t,i){return t===e.zero?new li(e,i):i===e.zero?t:new vl(e,t,i)}function On(e,t,i){return t===e.zero||i===e.zero?e.zero:t===e.one?i:i===e.one?t:new Mr(e,t,i)}function $s(e,t,i){return t===e.zero?e.zero:i===e.one?t:new yl(e,t,i)}var It=class{visitValues(e){for(let t=0;t<e.length;t++)e[t].visit(this);return null}visitEmpty(e){return null}visitSlash(e){return null}visitStr(e){return null}visitIdent(e){return null}visitNumeric(e){return null}visitNum(e){return null}visitInt(e){return this.visitNum(e)}visitHexColor(e){return null}visitURL(e){return null}visitURange(e){return null}visitSpaceList(e){return this.visitValues(e.values),null}visitCommaList(e){return this.visitValues(e.values),null}visitFunc(e){return this.visitValues(e.values),null}visitExpr(e){return null}},ki=class extends It{constructor(){super(),u(this,"error",!1)}visitValues(e){let t=null;for(let i=0;i<e.length;i++){let n=e[i],s=n.visit(this);if(this.error)return[];if(t)t[i]=s;else if(n!==s){t=new Array(e.length);for(let r=0;r<i;r++)t[r]=e[r];t[i]=s}}return t||e}visitEmpty(e){return e}visitStr(e){return e}visitIdent(e){return e}visitSlash(e){return e}visitNumeric(e){return e}visitNum(e){return e}visitInt(e){return e}visitHexColor(e){return e}visitURL(e){return e}visitURange(e){return e}visitSpaceList(e){let t=this.visitValues(e.values);return this.error?G:t===e.values?e:new xe(t)}visitCommaList(e){let t=this.visitValues(e.values);return this.error?G:t===e.values?e:new Ye(t)}visitFunc(e){let t=this.visitValues(e.values);return this.error?G:t===e.values?e:new Ni(e.name,t)}visitExpr(e){return e}},Ge=class{toString(){let e=new Et;return this.appendTo(e,!0),e.toString()}stringValue(){let e=new Et;return this.appendTo(e,!1),e.toString()}toExpr(e,t){return null}appendTo(e,t){e.append("[error]")}isExpr(){return!1}isNumeric(){return!1}isNum(){return!1}isIdent(){return!1}isSpaceList(){return!1}visit(e){return this}},Nl=class Pl extends Ge{static get instance(){return this.empty||(this.empty=new Pl),this.empty}constructor(){super()}toExpr(t,i){return new Be(t,"")}appendTo(t,i){}visit(t){return t.visitEmpty(this)}};u(Nl,"empty");var rd=Nl,G=rd.instance,Tl=class Il extends Ge{static get instance(){return this.slash||(this.slash=new Il),this.slash}constructor(){super()}toExpr(t,i){return new Be(t,"/")}appendTo(t,i){t.append("/")}visit(t){return t.visitSlash(this)}};u(Tl,"slash");var od=Tl,rs=od.instance,Fe=class extends Ge{constructor(e){super(),this.str=e}toExpr(e,t){return new Be(e,this.str)}appendTo(e,t){t?(e.append('"'),e.append(pn(this.str)),e.append('"')):e.append(this.str)}visit(e){return e.visitStr(this)}},Gs={},nt=class extends Ge{constructor(e){if(super(),this.name=e,Gs[e])throw new Error("E_INVALID_CALL");Gs[e]=this}toExpr(e,t){return new Be(e,this.name)}appendTo(e,t){t?e.append(Ot(this.name)):e.append(this.name)}visit(e){return e.visitIdent(this)}isIdent(){return!0}};function B(e){let t=Gs[e];return t||(t=new nt(e)),t}var I=class extends Ge{constructor(e,t){var i;super(),this.num=e,u(this,"unit"),this.unit=(i=t?.toLowerCase())!=null?i:""}toExpr(e,t){return this.num==0?e.zero:t&&this.unit=="%"?this.num==100?t:new Mr(e,t,new Be(e,this.num/100)):new fn(e,this.num,this.unit)}appendTo(e,t){e.append(this.num.toString()),e.append(this.unit)}visit(e){return e.visitNumeric(this)}isNumeric(){return!0}},Ht=class extends Ge{constructor(e){super(),this.num=e}toExpr(e,t){return this.num==0?e.zero:this.num==1?e.one:new Be(e,this.num)}appendTo(e,t){e.append(this.num.toString())}visit(e){return e.visitNum(this)}isNum(){return!0}},Jt=class extends Ht{constructor(e){super(e)}visit(e){return e.visitInt(this)}},Rl=class extends Ge{constructor(e){super(),this.hex=e}appendTo(e,t){e.append("#"),e.append(this.hex)}visit(e){return e.visitHexColor(this)}},dt=class extends Ge{constructor(e){super(),this.url=e}appendTo(e,t){e.append('url("'),e.append(pn(this.url)),e.append('")')}visit(e){return e.visitURL(this)}},Al=class extends Ge{constructor(e){super(),this.urangeText=e}appendTo(e,t){e.append(this.urangeText)}visit(e){return e.visitURange(this)}};function zr(e,t,i,n){var s,r;let o=t.length;if(o>0){(s=t[0])==null||s.appendTo(e,n);for(let a=1;a<o;a++)e.append(i),(r=t[a])==null||r.appendTo(e,n)}}var xe=class extends Ge{constructor(e){super(),this.values=e}appendTo(e,t){zr(e,this.values," ",t)}visit(e){return e.visitSpaceList(this)}isSpaceList(){return!0}},Ye=class extends Ge{constructor(e){super(),this.values=e}appendTo(e,t){zr(e,this.values,",",t)}visit(e){return e.visitCommaList(this)}},Ni=class extends Ge{constructor(e,t){super(),this.name=e,this.values=t}appendTo(e,t){e.append(Ot(this.name)),e.append("("),zr(e,this.values,",",t),e.append(")")}visit(e){return e.visitFunc(this)}},z=class extends Ge{constructor(e){super(),this.expr=e}toExpr(){return this.expr}appendTo(e,t){this.expr instanceof Be||this.expr instanceof fn?this.expr.appendTo(e,0):(e.append("-epubx-expr("),this.expr.appendTo(e,0),e.append(")"))}visit(e){return e.visitExpr(this)}isExpr(){return!0}},Ai=class extends Ge{constructor(e){super(),this.text=e}appendTo(e,t){e.append(this.text||" ")}};function je(e,t){if(e){if(e.isNumeric()){let i=e;return t.queryUnitSize(i.unit,!1)*i.num}if(e.isNum())return e.num}return 0}function Ll(e,t){return new I(je(e,t),"px")}var v={absolute:B("absolute"),all:B("all"),always:B("always"),anywhere:B("anywhere"),auto:B("auto"),avoid:B("avoid"),balance:B("balance"),balance_all:B("balance-all"),block:B("block"),block_end:B("block-end"),block_start:B("block-start"),both:B("both"),bottom:B("bottom"),border_box:B("border-box"),break_all:B("break-all"),break_word:B("break-word"),clip:B("clip"),crop:B("crop"),cross:B("cross"),column:B("column"),discard:B("discard"),exclusive:B("exclusive"),_false:B("false"),fixed:B("fixed"),flex:B("flex"),flow_root:B("flow-root"),footnote:B("footnote"),footer:B("footer"),grid:B("grid"),header:B("header"),hidden:B("hidden"),horizontal_tb:B("horizontal-tb"),inherit:B("inherit"),initial:B("initial"),inline:B("inline"),inline_block:B("inline-block"),inline_end:B("inline-end"),inline_start:B("inline-start"),inside:B("inside"),keep:B("keep"),landscape:B("landscape"),left:B("left"),line:B("line"),list_item:B("list-item"),ltr:B("ltr"),manual:B("manual"),max_content:B("max-content"),min_content:B("min-content"),none:B("none"),normal:B("normal"),oeb_page_foot:B("oeb-page-foot"),oeb_page_head:B("oeb-page-head"),outside:B("outside"),padding_box:B("padding-box"),page:B("page"),relative:B("relative"),revert:B("revert"),right:B("right"),same:B("same"),scale:B("scale"),snap_block:B("snap-block"),snap_inline:B("snap-inline"),solid:B("solid"),spread:B("spread"),_static:B("static"),rtl:B("rtl"),table:B("table"),table_caption:B("table-caption"),table_cell:B("table-cell"),table_footer_group:B("table-footer-group"),table_header_group:B("table-header-group"),table_row:B("table-row"),top:B("top"),transparent:B("transparent"),unset:B("unset"),vertical_lr:B("vertical-lr"),vertical_rl:B("vertical-rl"),visible:B("visible"),_true:B("true")},Mo=new I(100,"%"),gn=new I(100,"pvw"),mn=new I(100,"pvh"),ve=new I(0,"px"),qw=new Al("U+0-10FFFF"),zo={"font-size":1,"line-height":2,color:3};function J(e){return e===v.inherit||e===v.initial||e===v.revert||e===v.unset}function Do(e,t){let i=zo[e]||Number.MAX_VALUE,n=zo[t]||Number.MAX_VALUE;return i-n}function kt(e){return e?.length>2&&e.startsWith("--")}var rt=class{constructor(e,t,i,n){this.x1=e,this.y1=t,this.x2=i,this.y2=n}},Lt=class{constructor(e,t){this.x=e,this.y=t}},Es=class{constructor(e,t,i,n){this.left=e,this.top=t,this.right=i,this.bottom=n}},Vo=class{constructor(e,t,i,n){this.low=e,this.high=t,this.winding=i,this.shapeId=n}},Ct=class{constructor(e,t,i,n){this.y1=e,this.y2=t,this.x1=i,this.x2=n,u(this,"left",null),u(this,"right",null)}};function ad(e,t){return e.low.y-t.low.y||e.low.x-t.low.x}var os=class Fl{constructor(t){this.points=t}addSegments(t,i){let n=this.points,s=n.length,r=n[s-1];for(let o=0;o<s;o++){let a=n[o],h;r.y<a.y?h=new Vo(r,a,1,i):h=new Vo(a,r,-1,i),t.push(h),r=a}}withOffset(t,i){let n=[];for(let s of this.points)n.push(new Lt(s.x+t,s.y+i));return new Fl(n)}};function Ho(e,t,i,n){let s=[];for(let r=0;r<20;r++){let o=r*2*Math.PI/20;s.push(new Lt(e+i*Math.sin(o),t+n*Math.cos(o)))}return new os(s)}function Dr(e,t,i,n){return new os([new Lt(e,t),new Lt(i,t),new Lt(i,n),new Lt(e,n)])}var Nn=class{constructor(e,t,i,n){this.x=e,this.winding=t,this.shapeId=i,this.lowOrHigh=n}};function Uo(e,t){let i=e.low.x+(e.high.x-e.low.x)*(t-e.low.y)/(e.high.y-e.low.y);if(isNaN(i))throw new Error("Bad intersection");return i}function ld(e,t,i,n){let s,r,o,a;t.high.y<i&&H.warn("Error: inconsistent segment (1)"),t.low.y<=i?(s=Uo(t,i),r=t.winding):(s=t.low.x,r=0),t.high.y>=n?(o=Uo(t,n),a=t.winding):(o=t.high.x,a=0),s<o?(e.push(new Nn(s,r,t.shapeId,-1)),e.push(new Nn(o,a,t.shapeId,1))):(e.push(new Nn(o,a,t.shapeId,-1)),e.push(new Nn(s,r,t.shapeId,1)))}function hd(e,t,i){let n=t+i,s=Array(n),r=Array(n),o;for(o=0;o<=n;o++)s[o]=0,r[o]=0;let a=[],h=!1,l=e.length;for(let c=0;c<l;c++){let p=e[c];s[p.shapeId]+=p.winding,r[p.shapeId]+=p.lowOrHigh;let d=!1;for(o=0;o<t;o++)if(s[o]&&!r[o]){d=!0;break}if(d){for(o=t;o<=n;o++)if(s[o]||r[o]){d=!1;break}}h!=d&&(a.push(p.x),h=d)}return a}function ud(e,t){return t?Math.ceil(e/t)*t:e}function $o(e,t){return t?Math.floor(e/t)*t:e}function cd(e){return new Lt(e.y,-e.x)}function Gn(e){return new rt(e.y1,-e.x2,e.y2,-e.x1)}function Ol(e){return new rt(-e.y2,e.x1,-e.y1,e.x2)}function Go(e){return new os(e.points.map(t=>cd(t)))}function dd(e,t,i,n,s,r){r&&(e=Gn(e),t=t.map(b=>Go(b)),i=i.map(b=>Go(b)));let o=t.length,a=i?i.length:0,h=[],l=[],c,p,d;for(c=0;c<o;c++)t[c].addSegments(l,c);for(c=0;c<a;c++)i[c].addSegments(l,c+o);let f=l.length;l.sort(ad);let m=0;for(;l[m].shapeId>=o;)m++;let g=l[m].low.y;g>e.y1&&h.push(new Ct(e.y1,g,e.x2,e.x2));let w=0,y=[];for(;w<f&&(d=l[w]).low.y<g;)d.high.y>g&&y.push(d),w++;for(;w<f||y.length>0;){let b=e.y2,S=Math.min(ud(Math.ceil(g+n),s),e.y2);for(p=0;p<y.length&&b>S;p++)d=y[p],d.low.x==d.high.x?d.high.y<b&&(b=Math.max($o(d.high.y,s),S)):d.low.x!=d.high.x&&(b=S);for(b>e.y2&&(b=e.y2);w<f&&(d=l[w]).low.y<b;){if(d.high.y<g){w++;continue}if(d.low.y<S)d.low.y==d.high.y&&d.low.y==g||(y.push(d),b=S),w++;else{let _=$o(d.low.y,s);_<b&&(b=_);break}}let T=[];for(p=0;p<y.length;p++)ld(T,y[p],g,b);T.sort((_,V)=>_.x-V.x||_.lowOrHigh-V.lowOrHigh);let A=hd(T,o,a);if(A.length==0)h.push(new Ct(g,b,e.x2,e.x2));else{let _=0,V=e.x1;for(p=0;p<A.length;p+=2){let W=Math.max(e.x1,A[p]),ee=Math.min(e.x2,A[p+1])-W;ee>_&&(_=ee,V=W)}_==0?h.push(new Ct(g,b,e.x2,e.x2)):h.push(new Ct(g,b,Math.max(V,e.x1),Math.min(V+_,e.x2)))}if(b==e.y2)break;for(g=b,p=y.length-1;p>=0;p--)y[p].high.y<=b&&y.splice(p,1)}return Bl(e,h),h}function Bl(e,t){let i=t.length-1,n=new Ct(e.y2,e.y2,e.x1,e.x2);for(;i>=0;){let s=n;n=t[i],(n.y2-n.y1<1||n.x1==s.x1&&n.x2==s.x2)&&(s.y1=n.y1,t.splice(i,1),n=s),i--}}function _l(e,t){let i=0,n=e.length;for(;i<n;){let s=Math.floor((i+n)/2);t>=e[s].y2?i=s+1:n=s}return i}function pd(e,t){if(!e.length)return t;let i=t.y1,n,s;for(s=0;s<e.length&&(n=e[s],!(n.y2>t.y1&&n.x1-.1<=t.x1&&n.x2+.1>=t.x2));s++)i=Math.max(i,n.y2);let r=i;for(;s<e.length&&(n=e[s],!(n.y1>=t.y2||n.x1-.1>t.x1||n.x2+.1<t.x2));s++)r=n.y2;return s===e.length?r=t.y2:r=Math.min(r,t.y2),r<=i?null:new rt(t.x1,i,t.x2,r)}function fd(e,t){if(!e.length)return t;let i=t.y2,n,s;for(s=e.length-1;s>=0&&(n=e[s],!(s===e.length-1&&n.y2<t.y2))&&!(n.y1<t.y2&&n.x1-.1<=t.x1&&n.x2+.1>=t.x2);s--)i=Math.min(i,n.y1);let r=Math.min(i,n.y2);for(;s>=0&&(n=e[s],!(n.y2<=t.y1||n.x1-.1>t.x1||n.x2+.1<t.x2));s--)r=n.y1;return r=Math.max(r,t.y1),i<=r?null:new rt(t.x1,r,t.x2,i)}function gd(e,t,i,n){let s=i.y1,r=i.x2-i.x1,o=i.y2-i.y1,a=_l(t,s);for(;;){let h=s+o;if(h>e.y2)return!1;let l=e.x1,c=e.x2;for(let p=a;p<t.length&&t[p].y1<h;p++){let d=t[p];d.x1>l&&(l=d.x1),d.x2<c&&(c=d.x2)}if(l+r<=c||a>=t.length)return n=="left"?(i.x1=l,i.x2=l+r):(i.x1=c-r,i.x2=c),i.y2+=s-i.y1,i.y1=s,!0;s=t[a].y2,a++}}function md(e,t,i,n,s){for(n||(n=[new Ct(i.y1,i.y2,i.x1,i.x2)]);n.length>0&&n[0].y2<=e.y1;)n.shift();if(n.length==0)return;n[0].y1<e.y1&&(n[0].y1=e.y1);let r,o=t.length==0?e.y1:t[t.length-1].y2;o<e.y2&&t.push(new Ct(o,e.y2,e.x1,e.x2));let a=_l(t,n[0].y1);for(let h of n){if(a==t.length)break;for(t[a].y1<h.y1&&(r=t[a],a++,t.splice(a,0,new Ct(h.y1,r.y2,r.x1,r.x2)),r.y2=h.y1);a<t.length&&(r=t[a++],r.y2>h.y2&&(t.splice(a,0,new Ct(h.y2,r.y2,r.x1,r.x2)),r.y2=h.y2),h.x1!=h.x2&&(s=="left"?r.x1=Math.min(h.x2,e.x2):r.x2=Math.max(h.x1,e.x1)),r.y2!=h.y2););}Bl(e,t)}var wd=class extends It{constructor(){super(),u(this,"propSet",{})}visitIdent(e){return this.propSet[e.name]=!0,e}visitSpaceList(e){return this.visitValues(e.values),e}};function bd(e){if(e){let t=new wd;try{return e.visit(t),t.propSet}catch(i){H.warn(i,"toSet:")}}return{}}var vd=class extends It{constructor(e){super(),this.value=e}visitInt(e){return this.value=e.num,e}};function Wo(e,t){if(e){let i=new vd(t);try{return e.visit(i),i.value}catch(n){H.warn(n,"toInt: ")}}return t}var yd=class extends It{constructor(){super(),u(this,"collect",!1),u(this,"coords",[]),u(this,"name",null)}visitNumeric(e){return this.collect&&this.coords.push(e),null}visitNum(e){return this.collect&&e.num==0&&this.coords.push(new I(0,"px")),null}visitSpaceList(e){return this.visitValues(e.values),null}visitFunc(e){return this.collect||(this.collect=!0,this.visitValues(e.values),this.collect=!1,this.name=e.name.toLowerCase()),null}getShape(e,t,i,n,s){if(this.coords.length>0){let r=[];switch(this.coords.forEach((o,a)=>{if(o.unit=="%"){let h=a%2==0?i:n;a==3&&this.name=="circle"&&(h=Math.sqrt((i*i+n*n)/2)),r.push(o.num*h/100)}else r.push(o.num*s.queryUnitSize(o.unit,!1))}),this.name){case"polygon":if(r.length%2==0){let o=[];for(let a=0;a<r.length;a+=2)o.push(new Lt(e+r[a],t+r[a+1]));return new os(o)}break;case"rectangle":if(r.length==4)return Dr(e+r[0],t+r[1],e+r[0]+r[2],t+r[1]+r[3]);break;case"ellipse":if(r.length==4)return Ho(e+r[0],t+r[1],r[2],r[3]);break;case"circle":if(r.length==3)return Ho(e+r[0],t+r[1],r[2],r[2]);break}}return null}};function Ml(e,t,i,n,s,r){if(e){let o=new yd;try{return e.visit(o),o.getShape(t,i,n,s,r)}catch(a){H.warn(a,"toShape:")}}return Dr(t,i,t+n,i+s)}var xd=class extends It{constructor(e){super(),this.reset=e,u(this,"counters",{}),u(this,"name",null)}visitIdent(e){return this.name=e.toString(),this.reset?this.counters[this.name]=0:this.counters[this.name]=(this.counters[this.name]||0)+1,e}visitInt(e){return this.name&&(this.counters[this.name]+=e.num-(this.reset?0:1)),e}visitSpaceList(e){return this.visitValues(e.values),e}};function Wi(e,t){let i=new xd(t);try{e.visit(i)}catch(n){H.warn(n,"toCounters:")}return i.counters}var Sd=class extends ki{constructor(e,t){super(),this.baseUrl=e,this.transformer=t}visitURL(e){return new dt(this.transformer.transformURL(e.url,this.baseUrl))}};function ks(e){let t={};return Object.keys(e).forEach(i=>{t[i]=Array.from(e[i])}),t}var Cd=class{constructor(e,t){this.targetId=e,this.resolved=t,u(this,"pageCounters",null),u(this,"spineIndex",-1),u(this,"pageIndex",-1)}equals(e){return this===e?!0:e?this.targetId===e.targetId&&this.resolved===e.resolved&&this.spineIndex===e.spineIndex&&this.pageIndex===e.pageIndex:!1}isResolved(){return this.resolved}resolve(){this.resolved=!0}unresolve(){this.resolved=!1}},Ed=class{constructor(e,t){this.counterStore=e,this.baseURL=t}countersOfId(e,t){e=this.counterStore.documentURLTransformer.transformFragment(e,this.baseURL),this.counterStore.countersById[e]=t}getExprContentListener(){return this.counterStore.getExprContentListener()}},kd=class{constructor(e,t,i,n){this.counterStore=e,this.baseURL=t,this.rootScope=i,this.pageScope=n,u(this,"styler",null),u(this,"namedStringValues",{}),u(this,"runningElements",{})}setStyler(e){this.styler=e}getFragment(e){let t=e.match(/^[^#]*#(.*)$/);return t?t[1]:null}getTransformedId(e){let t=this.counterStore.documentURLTransformer.transformURL(Pe(e,this.baseURL),this.baseURL);return t.charAt(0)==="#"&&(t=t.substring(1)),t}getPageCounterVal(e,t){let i=()=>{let r=this.counterStore.currentPageCounters[e];return r&&r.length?r[r.length-1]:null},n=new De(this.pageScope,()=>t(i()),`page-counter-${e}`),s=r=>t(r[r.length-1]);return this.counterStore.registerPageCounterExpr(e,s,n),n}getPageCountersVal(e,t){let i=()=>this.counterStore.currentPageCounters[e]||[],n=new De(this.pageScope,()=>t(i()),`page-counters-${e}`);return this.counterStore.registerPageCounterExpr(e,t,n),n}getTargetCounters(e,t,i){let n=this.counterStore.countersById[t];return!n&&i&&e&&(this.styler.styleUntilIdIsReached(e),n=this.counterStore.countersById[t]),n||null}getTargetPageCounters(e){return this.counterStore.currentPage.elementsById[e]?this.counterStore.currentPageCounters:this.counterStore.pageCountersById[e]||null}getTargetCounterVal(e,t,i){let n=this.getFragment(e),s=this.getTransformedId(e),r=this.getTargetCounters(n,s,!1);if(r&&r[t]){let a=r[t];return new Be(this.rootScope,i(a[a.length-1]||null))}let o=new De(this.pageScope,()=>{if(r=this.getTargetCounters(n,s,!0),r)if(r[t]){let a=r[t];return i(a[a.length-1]||null)}else{let a=this.getTargetPageCounters(s);if(a)if(this.counterStore.resolveReference(s),a[t]){let h=a[t];return i(h[h.length-1]||null)}else return i(0);else return this.counterStore.saveReferenceOfCurrentPage(s,!1),"??"}else return this.counterStore.saveReferenceOfCurrentPage(s,!1),"??"},`target-counter-${t}-of-${e}`);return this.counterStore.registerTargetCounterExpr(t,i,o,s),o}getTargetCountersVal(e,t,i){let n=this.getFragment(e),s=this.getTransformedId(e);return new De(this.pageScope,()=>{let r=this.getTargetPageCounters(s);if(r){this.counterStore.resolveReference(s);let o=r[t]||[],a=this.getTargetCounters(n,s,!0)[t]||[];return i(o.concat(a))}else return this.counterStore.saveReferenceOfCurrentPage(s,!1),"??"},`target-counters-${t}-of-${e}`)}getNamedStringVal(e,t){return new De(this.pageScope,()=>this.getRunningValue(this.namedStringValues,e,t),`named-string-${t}-${e}`)}getRunningElementVal(e,t){return new De(this.pageScope,()=>this.getRunningValue(this.runningElements,e,t),`running-element-${t}-${e}`)}getRunningValue(e,t,i){let n=e[t];if(!n)return"";let s=Object.keys(n).map(d=>parseInt(d,10)).sort(ol),r=this.counterStore.currentPage,o=r.isBlankPage?r.offset-1:r.offset,a=r.isBlankPage?o:Math.max(o,...Array.from(r.container.querySelectorAll(`[${yt}]`)).map(d=>parseInt(d.getAttribute(yt),10))),h=-1,l=-1,c=-1,p=-1;for(let d=0;d<s.length;d++){let f=s[d],m=d>0?s[d-1]:-1,g=d<s.length-1?s[d+1]:-1;if(f>a)break;if(f>=o){if(h<0&&(h=f,p=-1),l<0)if(f===o)l=f;else{m<h&&(l=m);let w=r.container.querySelector(`[${yt}="${f}"]`);if(!w)l<0&&(l=f);else{let y=r.container.querySelector(`[${yt}="${o}"]`);if(y||(y=r.container.querySelector(`[${yt}="0"]`)),y){for(let b=y;b;b=b.firstElementChild)if(b===w){l=f;break}}}}c=f}else(g>a||g<0)&&(h=l=c=p=f)}return n[{first:h,start:l,last:c,"first-except":p}[i]]||""}setNamedString(e,t,i){let n=this.namedStringValues[e]||(this.namedStringValues[e]={});n[i]=t}setRunningElement(e,t){let i=this.runningElements[e]||(this.runningElements[e]={});i[t]=String(t)}},Nd=class{constructor(e){this.documentURLTransformer=e,u(this,"countersById",{}),u(this,"pageCountersById",{}),u(this,"currentPageCounters",{}),u(this,"previousPageCounters",{}),u(this,"currentPageCountersStack",[]),u(this,"pageIndicesById",{}),u(this,"currentPage",null),u(this,"newReferencesOfCurrentPage",[]),u(this,"referencesToSolve",[]),u(this,"referencesToSolveStack",[]),u(this,"unresolvedReferences",{}),u(this,"resolvedReferences",{}),u(this,"pagesCounterExprs",[]),u(this,"pageCounterExprs",[]),u(this,"targetCounterExprs",[]),this.currentPageCounters.page=[0]}createCounterListener(e){return new Ed(this,e)}createCounterResolver(e,t,i){return new kd(this,e,t,i)}setCurrentPage(e){this.currentPage=e}definePageCounter(e,t){this.currentPageCounters[e]?this.currentPageCounters[e].push(t):this.currentPageCounters[e]=[t]}forceSetPageCounter(e){let t=this.currentPageCounters.page;!t||!t.length?this.currentPageCounters.page=[e]:t[t.length-1]=e}updatePageCounters(e,t){this.previousPageCounters=ks(this.currentPageCounters);let i,n=e["counter-reset"];if(n){let o=n.evaluate(t);o&&(i=Wi(o,!0))}if(i)for(let o in i)this.definePageCounter(o,i[o]);let s,r=e["counter-increment"];if(r){let o=r.evaluate(t);o&&(s=Wi(o,!1))}s?"page"in s||(s.page=1):(s={},s.page=1);for(let o in s){this.currentPageCounters[o]||this.definePageCounter(o,0);let a=this.currentPageCounters[o];a[a.length-1]+=s[o]}}pushPageCounters(e){this.currentPageCountersStack.push(this.currentPageCounters),this.currentPageCounters=ks(e)}popPageCounters(){this.currentPageCounters=this.currentPageCountersStack.pop()}resolveReference(e){let t=this.unresolvedReferences[e],i=this.resolvedReferences[e];i||(i=this.resolvedReferences[e]=[]);let n=!1;for(let s=0;s<this.referencesToSolve.length;){let r=this.referencesToSolve[s];if(r.targetId===e){if(r.resolve(),this.referencesToSolve.splice(s,1),t){let o=t.indexOf(r);o>=0&&t.splice(o,1)}i.push(r),n=!0}else s++}n||this.saveReferenceOfCurrentPage(e,!0)}saveReferenceOfCurrentPage(e,t){if(!this.newReferencesOfCurrentPage.some(i=>i.targetId===e)){let i=new Cd(e,t);this.newReferencesOfCurrentPage.push(i)}}finishPage(e,t){let i=Object.keys(this.currentPage.elementsById);if(i.length>0){let r=ks(this.currentPageCounters);i.forEach(o=>{this.pageCountersById[o]=r;let a=this.pageIndicesById[o];if(a&&a.pageIndex<t){let h=this.resolvedReferences[o];if(h){let l=this.unresolvedReferences[o];l||(l=this.unresolvedReferences[o]=[]);let c;for(;c=h.shift();)c.unresolve(),l.push(c)}}this.pageIndicesById[o]={spineIndex:e,pageIndex:t}})}let n=this.previousPageCounters,s;for(;s=this.newReferencesOfCurrentPage.shift();){s.pageCounters=n,s.spineIndex=e,s.pageIndex=t;let r;s.isResolved()?(r=this.resolvedReferences[s.targetId],r||(r=this.resolvedReferences[s.targetId]=[])):(r=this.unresolvedReferences[s.targetId],r||(r=this.unresolvedReferences[s.targetId]=[])),r.every(o=>!s.equals(o))&&r.push(s)}this.currentPage=null}getUnresolvedRefsToPage(e){let t=[];Object.keys(e.elementsById).forEach(s=>{let r=this.unresolvedReferences[s];r&&(t=t.concat(r))}),t.sort((s,r)=>s.spineIndex-r.spineIndex||s.pageIndex-r.pageIndex);let i=[],n=null;return t.forEach(s=>{!n||n.spineIndex!==s.spineIndex||n.pageIndex!==s.pageIndex?(n={spineIndex:s.spineIndex,pageIndex:s.pageIndex,pageCounters:s.pageCounters,refs:[s]},i.push(n)):n.refs.push(s)}),i}pushReferencesToSolve(e){this.referencesToSolveStack.push(this.referencesToSolve),this.referencesToSolve=e}popReferencesToSolve(){this.referencesToSolve=this.referencesToSolveStack.pop()}registerPageCounterExpr(e,t,i){e==="pages"?this.pagesCounterExprs.push({expr:i,format:t}):this.pageCounterExprs.push({expr:i,format:t})}registerTargetCounterExpr(e,t,i,n){this.targetCounterExprs.push({name:e,expr:i,format:t,transformedId:n})}getExprContentListener(){return this.exprContentListener.bind(this)}exprContentListener(e,t,i){if(e instanceof De){if(e.str=="viv-leader"){let r=i.createElementNS("http://www.w3.org/1999/xhtml","span");return r.textContent=t,r.setAttribute("data-viv-leader",e.key),r.setAttribute("data-viv-leader-value",t),r}else if(e.str.startsWith("running-element-")){let r=t&&i.querySelectorAll(`[${yt}="${t}"]`);if(!r||r.length===0)return null;let o=r[r.length-1].cloneNode(!0);return this.fixPageCounterInRunningElement(o),o.style.position="",o.style.visibility="",o}else if(e.str.startsWith("target-counter-")){let r=i.createElementNS("http://www.w3.org/1999/xhtml","span");return r.textContent=t,r.setAttribute(Ts,e.key),r}}let n=this.pagesCounterExprs.findIndex(r=>r.expr===e)>=0,s=!n&&this.pageCounterExprs.findIndex(r=>r.expr===e)>=0;if(n||s){let r=i.createElementNS("http://www.w3.org/1999/xhtml","span");return r.textContent=t,r.setAttribute(n?Ns:Ps,e.key),r}else return null}fixPageCounterInRunningElement(e){let t=e.querySelectorAll(`[${Ps}]`);for(let n of t){let s=n.getAttribute(Ps),r=this.pageCounterExprs.find(l=>l.expr.key===s),o=(r?.expr).str,a=o?.replace(/^page-counters?-/,""),h=this.currentPageCounters[a];h&&(n.textContent=r.format(h))}let i=e.querySelectorAll(`[${Ts}]`);for(let n of i)n.setAttribute(jo,!0)}finishLastPage(e){let t=e.root.querySelectorAll(`[${Ns}]`),i=e.contentContainer.childElementCount;for(let s of t){let r=s.getAttribute(Ns),o=this.pagesCounterExprs.findIndex(a=>a.expr.key===r);o>=0,s.textContent=this.pagesCounterExprs[o].format([i])}let n=e.root.querySelectorAll(`[${jo}]`);for(let s of n){let r=s.getAttribute(Ts),o=this.targetCounterExprs.find(a=>a.expr.key===r);if(o&&o.transformedId){let a=this.pageCountersById[o.transformedId];if(a){let h=a[o.name];h&&(s.textContent=o.format(h[h.length-1]))}}}}createLayoutConstraint(e){return new Pd(this,e)}},Ns="data-vivliostyle-pages-counter",Ps="data-vivliostyle-page-counter",Ts="data-vivliostyle-target-counter",jo="data-vivliostyle-target-counter-in-running",Pd=class{constructor(e,t){this.counterStore=e,this.pageIndex=t}allowLayout(e){if(!e||e.after)return!0;let t=e.viewNode;if(!t||t.nodeType!==1)return!0;let i=t.getAttribute("data-vivliostyle-id")||t.getAttribute("id")||t.getAttribute("name");if(!i||!this.counterStore.resolvedReferences[i]&&!this.counterStore.unresolvedReferences[i])return!0;let n=this.counterStore.pageIndicesById[i];return n?this.pageIndex>=n.pageIndex:!0}};function Td(e){if(e=e.substr(1),e.match(/^[^0-9a-fA-F\n\r]$/))return e;let t=parseInt(e,16);return isNaN(t)?"":t===0||t>=55296&&t<=57343||t>1114111?"\uFFFD":String.fromCodePoint(t)}function Ut(e){return e.replace(/\\([0-9a-fA-F]{1,6}(\r\n|[ \n\r\t\f])?|[^0-9a-fA-F\n\r])/g,Td)}var Id=class{constructor(){u(this,"type"),u(this,"precededBySpace",!1),u(this,"num",0),u(this,"text",""),u(this,"position",0),this.type=0}toString(){switch(this.type){case 10:return"(";case 11:return")";case 12:return"{";case 13:return"}";case 14:return"[";case 15:return"]";case 16:return",";case 17:return";";case 18:return":";case 19:return"/";case 21:return"%";case 22:return"?";case 23:return"+";case 24:return"-";case 25:return"||";case 26:return"&&";case 31:return"!";case 32:return"$";case 33:return"^";case 34:return"|";case 35:return"~";case 36:return"*";case 37:return">";case 38:return"<";case 39:return"=";case 41:return"!=";case 42:return"$=";case 43:return"^=";case 44:return"|=";case 45:return"~=";case 46:return"*=";case 47:return">=";case 48:return"<=";case 49:return"==";case 50:return"::";case 51:return"<!--";case 52:return"-->";case 3:return this.num.toString()+this.text;case 4:case 5:return this.num.toString();case 20:return"@"+this.text;case 7:return"#"+this.text;case 6:return this.text+"(";case 9:return"."+this.text;case 0:return"/*EOF*/";default:return this.text}}};function _e(e,t){let i=Array(128),n;for(n=0;n<128;n++)i[n]=e;for(i[NaN]=e==35?35:72,n=0;n<t.length;n+=2)i[t[n]]=t[n+1];return i}var vt=[72,72,72,72,72,72,72,72,72,1,1,72,1,1,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,1,4,34,6,7,8,9,33,10,11,12,13,14,15,16,17,2,2,2,2,2,2,2,2,2,2,18,19,20,21,22,23,24,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,25,29,26,30,3,72,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,27,31,28,32,72];vt[NaN]=80;var wt=[43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,52,43,43,43,43,39,43,43,39,39,39,39,39,39,39,39,39,39,43,43,43,43,43,43,43,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,43,44,43,43,39,43,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,43,43,43,43,43];wt[NaN]=43;var Rd=[72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,78,59,72,59,59,59,59,59,59,59,59,59,59,72,72,72,72,72,72,72,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,72,61,72,72,78,72,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,72,72,72,72,72];wt[NaN]=43;var zl=[35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,57,59,35,58,58,58,58,58,58,58,58,58,58,35,35,35,35,35,35,35,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,35,61,35,35,60,35,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,35,35,35,35,35];zl[NaN]=35;var Dl=[45,45,45,45,45,45,45,45,45,73,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,73,45,45,45,45,45,45,45,53,45,45,45,45,45,45,45,39,39,39,39,39,39,39,39,39,39,45,45,45,45,45,45,45,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,45,44,45,45,39,45,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,45,45,45,45,45];Dl[NaN]=45;var Ws=[37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,41,37,37,37,37,37,37,37,37,42,37,39,39,39,39,39,39,39,39,39,39,37,37,37,37,37,37,37,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,37,37,37,37,40,37,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,37,37,37,37,37];Ws[NaN]=37;var js=[38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,41,38,38,38,38,38,38,38,38,38,38,39,39,39,39,39,39,39,39,39,39,38,38,38,38,38,38,38,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,38,38,38,38,40,38,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,38,38,38,38,38];js[NaN]=38;var $t=_e(35,[61,36]),Ad=_e(35,[58,77]),Ld=_e(35,[61,36,124,50]),Fd=_e(35,[38,51]),Od=_e(35,[42,54]),Bd=_e(39,[42,55]),_d=_e(54,[42,55,47,56]),Md=_e(62,[62,82]),zd=_e(35,[61,36,33,70]),Dd=_e(62,[45,71]),Vd=_e(63,[45,81]),Is=_e(76,[10,72,13,72]),Hd=_e(39,[39,46,10,72,13,72,92,48]),Ud=_e(39,[34,46,10,72,13,72,92,49]),$d=_e(39,[39,47,10,74,13,74,92,48]),Gd=_e(39,[34,47,10,74,13,74,92,49]),Xo=_e(64,[9,39,32,39,34,66,39,65,41,72,10,39,13,39]),Wd=_e(39,[41,67,9,79,10,79,13,79,32,79,92,75,40,72,91,72,93,72,123,72,125,72,NaN,67]),jd=_e(39,[39,68,10,74,13,74,92,75,NaN,67]),Xd=_e(39,[34,68,10,74,13,74,92,75,NaN,67]),qd=_e(72,[9,39,10,39,13,39,32,39,41,69]),Yd=15,gt=class{constructor(e,t){this.input=e,this.handler=t,u(this,"indexMask"),u(this,"buffer"),u(this,"tail",0),u(this,"curr",0),u(this,"position",0),this.indexMask=Yd,this.buffer=Array(this.indexMask+1);for(let i=0;i<=this.indexMask;i++)this.buffer[i]=new Id}token(){return this.tail==this.curr&&this.fillBuffer(),this.buffer[this.curr]}nthToken(e){return(this.tail-this.curr&this.indexMask)<=e&&this.fillBuffer(),this.buffer[this.curr+e&this.indexMask]}consume(){this.curr=this.curr+1&this.indexMask}fillBuffer(){let e=this.tail,t=this.curr,i=this.indexMask;if(e>=t?t+=i:t--,t==e)throw new Error("F_CSSTOK_INTERNAL");let n=vt,s=this.input,r=this.position,o=this.buffer,a=0,h=0,l="",c=0,p=!1,d=o[e],f=-9;for(;;){let m=s.charCodeAt(r);switch(n[m]||n[65]){case 72:l=s.substring(h,r),isNaN(m)?a=0:a=54,n=vt;break;case 1:r++,p=!0;continue;case 2:h=r++,n=Ws;continue;case 3:a=1,h=r++,n=wt;continue;case 4:h=r++,a=31,n=$t;continue;case 33:a=2,h=++r,n=Hd;continue;case 34:a=2,h=++r,n=Ud;continue;case 6:h=++r,a=7,n=wt;continue;case 7:h=r++,a=32,n=$t;continue;case 8:h=r++,a=21;break;case 9:h=r++,a=32,n=Fd;continue;case 10:h=r++,a=10;break;case 11:h=r++,a=11;break;case 12:h=r++,a=36,n=$t;continue;case 13:h=r++,a=23;break;case 14:h=r++,a=16;break;case 15:a=24,h=r++,n=zl;continue;case 16:h=r++,n=Rd;continue;case 78:h=r++,a=9,n=wt;continue;case 17:h=r++,a=19,n=Od;continue;case 18:h=r++,a=18,n=Ad;continue;case 77:r++,a=50;break;case 19:h=r++,a=17;break;case 20:h=r++,a=38,n=zd;continue;case 21:h=r++,a=39,n=$t;continue;case 22:h=r++,a=37,n=$t;continue;case 23:h=r++,a=22;break;case 24:h=++r,a=20,n=wt;continue;case 25:h=r++,a=14;break;case 26:h=r++,a=15;break;case 27:h=r++,a=12;break;case 28:h=r++,a=13;break;case 29:h=r++,f=h,a=1,n=Is;continue;case 30:h=r++,a=33,n=$t;continue;case 31:h=r++,a=34,n=Ld;continue;case 32:h=r++,a=35,n=$t;continue;case 35:break;case 36:r++,a=a+41-31;break;case 37:a=5,c=parseInt(s.substring(h,r),10);break;case 38:a=4,c=parseFloat(s.substring(h,r));break;case 39:r++;continue;case 40:a=3,c=parseFloat(s.substring(h,r)),h=r++,n=wt;continue;case 41:a=3,c=parseFloat(s.substring(h,r)),l="%",h=r++;break;case 42:r++,n=js;continue;case 43:if(l=Ut(s.substring(h,r)),a===27&&m===63||a===1&&l.toLowerCase()==="u"&&/^(\bu\+[?0-9a-f]+(-[?0-9a-f]+)?|,|\s+|\/\*([^*]|\*[^/])*\*\/)+[;}]/i.test(s.substring(r-1))){a=27,r++;continue}break;case 44:f=r++,n=Is;continue;case 45:l=Ut(s.substring(h,r));break;case 46:l=s.substring(h,r),r++;break;case 47:l=Ut(s.substring(h,r)),r++;break;case 48:f=r,r+=2,n=$d;continue;case 49:f=r,r+=2,n=Gd;continue;case 50:r++,a=25;break;case 51:r++,a=26;break;case 52:if(l=s.substring(h,r),a==1){if(r++,l.toLowerCase()=="url"){n=Xo;continue}a=6}break;case 53:if(l=Ut(s.substring(h,r)),a==1){if(r++,l.toLowerCase()=="url"){n=Xo;continue}a=6}break;case 54:n=Bd,r++;continue;case 55:n=_d,r++;continue;case 56:n=vt,r++;continue;case 57:n=Md,r++,s[r]!==">"&&(a=1,n=wt);continue;case 81:a=51,l=s.substring(h,++r),n=vt;break;case 82:a=52,l=s.substring(h,++r),n=vt;break;case 58:a=5,n=Ws,r++;continue;case 59:a=4,n=js,r++;continue;case 60:a=1,n=wt,r++;continue;case 61:a=1,n=Is,f=r++;continue;case 62:r--;break;case 63:r-=2;break;case 64:h=r++,n=Wd;continue;case 65:h=++r,n=jd;continue;case 66:h=++r,n=Xd;continue;case 67:a=8,l=Ut(s.substring(h,r)),r++;break;case 69:r++;break;case 70:n=Dd,r++;continue;case 71:n=Vd,r++;continue;case 79:if(r-f<8&&s.substring(f+1,r+1).match(/^[0-9a-fA-F]{0,6}(\r\n|[\n\r])|[ \t]$/)){r++;continue}case 68:a=8,l=Ut(s.substring(h,r)),r++,n=qd;continue;case 74:if(r++,r-f<9&&s.substring(f+1,r).match(/^[0-9a-fA-F]{0,6}(\r\n|[\n\r])$/))continue;a=54,l="E_CSS_UNEXPECTED_NEWLINE",n=vt;break;case 73:if(r-f<9&&s.substring(f+1,r+1).match(/^[0-9a-fA-F]{0,6}[ \t]$/)){r++,n=wt;continue}l=Ut(s.substring(h,r));break;case 75:f=r++;continue;case 76:r++,n=Dl;continue;default:if(n!==vt){a=54,l="E_CSS_UNEXPECTED_STATE";break}h=r,a=0}if(d.type=a,d.precededBySpace=p,d.num=c,d.text=l,d.position=h,e++,e>=t)break;n=vt,p=!1,d=o[e&i]}this.position=r,this.tail=e&i}},Re=null,Xs=null;function qs(){return Re}function F(e){if(!Re)throw new Error("E_TASK_NO_CONTEXT");Re.name||(Re.name=e);let t=Re,i=new as(t,t.top,e);return t.top=i,i.state=1,i}function Zd(e){return new Qd(e||new Jd)}function k(e){return new Ys(e)}function yi(e,t,i){let n=F(e);n.handler=i;try{t(n)}catch(s){n.task.raise(s,n)}return n.result()}function Kd(e,t){return(Re?Re.getScheduler():Xs||Zd()).run(e,t)}var Jd=class{currentTime(){return new Date().valueOf()}setTimeout(e,t){return setTimeout(e,t)}clearTimeout(e){clearTimeout(e)}},Qd=class{constructor(e){this.timer=e,u(this,"timeout",1),u(this,"slice",25),u(this,"sliceOverTime",0),u(this,"queue"),u(this,"wakeupTime",null),u(this,"timeoutToken",null),u(this,"inTimeSlice",!1),u(this,"order",0),this.queue=new Lc,Xs||(Xs=this)}setSlice(e){this.slice=e}setTimeout(e){this.timeout=e}isTimeSliceOver(){return this.timer.currentTime()>=this.sliceOverTime}arm(){if(this.inTimeSlice)return;let e=this.queue.peek().scheduledTime,t=this.timer.currentTime();if(this.timeoutToken!=null){if(t+this.timeout>this.wakeupTime)return;this.timer.clearTimeout(this.timeoutToken)}let i=e-t;i<=this.timeout&&(i=this.timeout),this.wakeupTime=t+i,this.timeoutToken=this.timer.setTimeout(()=>{this.timeoutToken=null,this.doTimeSlice()},i)}schedule(e,t){let i=e,n=this.timer.currentTime();i.order=this.order++,i.scheduledTime=n+(t||0),this.queue.add(i),this.arm()}doTimeSlice(){this.timeoutToken!=null&&(this.timer.clearTimeout(this.timeoutToken),this.timeoutToken=null),this.inTimeSlice=!0;try{let e=this.timer.currentTime();for(this.sliceOverTime=e+this.slice;this.queue.length();){let t=this.queue.peek();if(t.scheduledTime>e||(this.queue.remove(),t.canceled||t.resumeInternal(),e=this.timer.currentTime(),e>=this.sliceOverTime))break}}catch(e){H.error(e)}this.inTimeSlice=!1,this.queue.length()&&this.arm()}run(e,t){let i=new ep(this,t||"");i.top=new as(i,null,"bootstrap"),i.top.state=1,i.top.then(()=>{let s=()=>{i.running=!1;for(let r of i.callbacks)try{r()}catch(o){H.error(o)}};try{e().then(r=>{i.result=r,s()})}catch(r){i.raise(r),s()}});let n=Re;return Re=i,this.schedule(i.top.suspend("bootstrap")),Re=n,i}},Vl=class{constructor(e){this.task=e,u(this,"scheduledTime",0),u(this,"order",0),u(this,"result",null),u(this,"canceled",!1)}compare(e){let t=e;return t.scheduledTime-this.scheduledTime||t.order-this.order}getTask(){return this.task}schedule(e,t){this.result=e,this.task.scheduler.schedule(this,t)}resumeInternal(){let e=this.task;if(this.task=null,e&&e.continuation==this){e.continuation=null;let t=Re;return Re=e,e.top.finish(this.result),Re=t,!0}return!1}cancel(){this.canceled=!0}},ep=class{constructor(e,t){this.scheduler=e,this.name=t,u(this,"callbacks",[]),u(this,"exception",null),u(this,"running",!0),u(this,"result",null),u(this,"waitTarget",null),u(this,"top",null),u(this,"continuation",null)}getName(){return this.name}interrupt(e){if(this.raise(e||new Error("E_TASK_INTERRUPT")),this!==Re&&this.continuation){this.continuation.cancel();let t=new Vl(this);this.waitTarget="interrupt",this.continuation=t,this.scheduler.schedule(t)}}getScheduler(){return this.scheduler}isRunning(){return this.running}whenDone(e){this.callbacks.push(e)}join(){let e=F("Task.join");if(!this.running)e.finish(this.result);else{let t=e.suspend(this);this.whenDone(()=>{t.schedule(this.result)})}return e.result()}unwind(){for(;this.top&&!this.top.handler;)this.top=this.top.parent;if(this.top&&this.top.handler&&this.exception){let e=this.exception;this.exception=null,this.top.handler(this.top,e)}else this.exception&&H.error(this.exception,"Unhandled exception in task",this.name)}raise(e,t){if(this.fillStack(e),t){let i=this.top;for(;i&&i!=t;)i=i.parent;i==t&&(this.top=i)}this.exception=e,this.unwind()}fillStack(e){let t=e.frameTrace;if(!t){t=e.stack?`${e.stack}
|
|
5
5
|
---- async ---
|
|
6
6
|
`:"";for(let i=this.top;i;i=i.parent)t+=" ",t+=i.getName(),t+=`
|
|
7
|
-
`;e.frameTrace=t}}},
|
|
7
|
+
`;e.frameTrace=t}}},Ys=class Hl{constructor(t){this.value=t}then(t){t(this.value)}thenAsync(t){return t(this.value)}thenReturn(t){return new Hl(t)}thenFinish(t){t.finish(this.value)}isPending(){return!1}get(){return this.value}},tp=class{constructor(e){this.frame=e}then(e){this.frame.then(e)}thenAsync(e){if(this.isPending()){let t=new as(this.frame.task,this.frame.parent,"AsyncResult.thenAsync");return t.state=1,this.frame.parent=t,this.frame.then(i=>{e(i).then(n=>{t.finish(n)})}),t.result()}else return e(this.frame.res)}thenReturn(e){return this.isPending()?this.thenAsync(()=>new Ys(e)):new Ys(e)}thenFinish(e){this.isPending()?this.then(t=>{e.finish(t)}):e.finish(this.frame.res)}isPending(){return this.frame.state==1}get(){if(this.isPending())throw new Error("Result is pending");return this.frame.res}},as=class{constructor(e,t,i){this.task=e,this.parent=t,this.name=i,u(this,"res",null),u(this,"state"),u(this,"callback",null),u(this,"handler",null),this.state=0}checkEnvironment(){if(!Re)throw new Error("F_TASK_NO_CONTEXT");if(this!==Re.top)throw new Error("F_TASK_NOT_TOP_FRAME")}result(){return new tp(this)}finish(e){this.checkEnvironment(),Re&&!Re.exception&&(this.res=e),this.state=2;let t=this.parent;if(Re&&(Re.top=t),this.callback){try{this.callback(e)}catch(i){this.task.raise(i,t)}this.state=3}}getTask(){return this.task}getName(){return this.name}getScheduler(){return this.task.scheduler}then(e){switch(this.state){case 1:if(this.callback)throw new Error("F_TASK_FRAME_ALREADY_HAS_CALLBACK");this.callback=e;break;case 2:{let t=this.task,i=this.parent;try{e(this.res),this.state=3}catch(n){this.state=3,t.raise(n,i)}break}case 3:throw new Error("F_TASK_DEAD_FRAME");default:throw new Error(`F_TASK_UNEXPECTED_FRAME_STATE ${this.state}`)}}timeSlice(){let e=F("Frame.timeSlice");return e.getScheduler().isTimeSliceOver()?(H.debug("-- time slice --"),e.suspend().schedule(!0)):e.finish(!0),e.result()}sleep(e){let t=F("Frame.sleep");return t.suspend().schedule(!0,e),t.result()}loop(e){let t=F("Frame.loop"),i=n=>{try{for(;n;){let s=e();if(s.isPending()){s.then(i);return}else s.then(r=>{n=r})}t.finish(!0)}catch(s){t.task.raise(s,t)}};return i(!0),t.result()}loopWithFrame(e){let t=Re;if(!t)throw new Error("E_TASK_NO_CONTEXT");return this.loop(()=>{let i;do{let n=new ip(t,t.top);t.top=n,n.state=1,e(n),i=n.result()}while(!i.isPending()&&i.get());return i})}suspend(e){if(this.checkEnvironment(),this.task.continuation)throw new Error("E_TASK_ALREADY_SUSPENDED");let t=new Vl(this.task);return this.task.continuation=t,Re=null,this.task.waitTarget=e||null,t}},ip=class extends as{constructor(e,t){super(e,t,"loop")}continueLoop(){this.finish(!0)}breakLoop(){this.finish(!1)}},wn=class{constructor(e,t){this.fetch=e,u(this,"name"),u(this,"arrived",!1),u(this,"resource",null),u(this,"task",null),u(this,"piggybacks",[]),this.name=t}start(){this.task||(this.task=qs().getScheduler().run(()=>{let e=F("Fetcher.run");return this.fetch().then(t=>{let i=this.piggybacks;if(this.arrived=!0,this.resource=t,this.task=null,this.piggybacks=[],i)for(let n=0;n<i.length;n++)try{i[n](t)}catch(s){H.error(s,"Error:")}e.finish(t)}),e.result()},this.name))}piggyback(e){this.arrived?e(this.resource):this.piggybacks.push(e)}get(){return this.arrived?k(this.resource):(this.start(),this.task.join())}hasArrived(){return this.arrived}},ls=e=>{if(e.length==0)return k(!0);if(e.length==1)return e[0].get().thenReturn(!0);let t=F("waitForFetches"),i=0;return t.loop(()=>{for(;i<e.length;){let n=e[i++];if(!n.hasArrived())return n.get().thenReturn(!0)}return k(!1)}).then(()=>{t.finish(!0)}),t.result()},Ul=`
|
|
8
8
|
@media screen {
|
|
9
9
|
[data-vivliostyle-viewer-viewport] {
|
|
10
10
|
background: #aaaaaa;
|
|
@@ -52,25 +52,28 @@ var nc=Object.create;var vo=Object.defineProperty;var sc=Object.getOwnPropertyDe
|
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
[data-vivliostyle-viewer-viewport][data-vivliostyle-spread-view="true"]
|
|
55
|
+
[data-vivliostyle-spread-container]
|
|
55
56
|
[data-vivliostyle-page-container][data-vivliostyle-page-side="left"] {
|
|
56
57
|
margin-right: 1px;
|
|
57
58
|
transform-origin: right top;
|
|
58
59
|
}
|
|
59
60
|
|
|
60
61
|
[data-vivliostyle-viewer-viewport][data-vivliostyle-spread-view="true"]
|
|
62
|
+
[data-vivliostyle-spread-container]
|
|
61
63
|
[data-vivliostyle-page-container][data-vivliostyle-page-side="right"] {
|
|
62
64
|
margin-left: 1px;
|
|
63
65
|
transform-origin: left top;
|
|
64
66
|
}
|
|
65
67
|
|
|
66
68
|
[data-vivliostyle-viewer-viewport][data-vivliostyle-spread-view="true"]
|
|
69
|
+
[data-vivliostyle-spread-container]
|
|
67
70
|
[data-vivliostyle-page-container][data-vivliostyle-unpaired-page="true"] {
|
|
68
71
|
margin-left: auto;
|
|
69
72
|
margin-right: auto;
|
|
70
73
|
transform-origin: center top;
|
|
71
74
|
}
|
|
72
75
|
}
|
|
73
|
-
|
|
76
|
+
`,$l=`
|
|
74
77
|
[data-vivliostyle-layout-box] {
|
|
75
78
|
position: absolute;
|
|
76
79
|
left: 0;
|
|
@@ -131,10 +134,9 @@ var nc=Object.create;var vo=Object.defineProperty;var sc=Object.getOwnPropertyDe
|
|
|
131
134
|
}
|
|
132
135
|
|
|
133
136
|
[data-vivliostyle-bleed-box] {
|
|
134
|
-
position:
|
|
137
|
+
position: relative;
|
|
135
138
|
overflow: hidden;
|
|
136
139
|
background-origin: content-box !important;
|
|
137
|
-
box-sizing: border-box;
|
|
138
140
|
}
|
|
139
141
|
|
|
140
142
|
[data-vivliostyle-page-box] ~ [data-vivliostyle-page-box] {
|
|
@@ -174,7 +176,9 @@ var nc=Object.create;var vo=Object.defineProperty;var sc=Object.getOwnPropertyDe
|
|
|
174
176
|
@supports (zoom: 8) {
|
|
175
177
|
[data-vivliostyle-spread-container] [data-vivliostyle-page-container] {
|
|
176
178
|
zoom: var(--viv-outputPixelRatio,1);
|
|
177
|
-
transform: scale(calc(1 / var(--viv-outputPixelRatio,1)));
|
|
179
|
+
/* transform: scale(calc(1 / var(--viv-outputPixelRatio,1))); */
|
|
180
|
+
/* Use matrix instead of scale (Workaround for issue #1555) */
|
|
181
|
+
transform: matrix(calc(1 / var(--viv-outputPixelRatio,1)), 0, 5e-324, calc(1 / var(--viv-outputPixelRatio,1)), 0, 0);
|
|
178
182
|
transform-origin: left top;
|
|
179
183
|
}
|
|
180
184
|
}
|
|
@@ -202,7 +206,7 @@ var nc=Object.create;var vo=Object.defineProperty;var sc=Object.getOwnPropertyDe
|
|
|
202
206
|
}
|
|
203
207
|
}
|
|
204
208
|
}
|
|
205
|
-
|
|
209
|
+
`,Gl=`
|
|
206
210
|
/*
|
|
207
211
|
* Copyright 2013 Google, Inc.
|
|
208
212
|
* Copyright 2015 Daishinsha Inc.
|
|
@@ -265,7 +269,6 @@ border-image-outset = [NUM | LENGTH]{1,4};
|
|
|
265
269
|
border-image-repeat = [ stretch | repeat | round | space ]{1,2};
|
|
266
270
|
bottom = APLENGTH;
|
|
267
271
|
caption-side = top | bottom;
|
|
268
|
-
clear = none | left | right | top | bottom | inline-start | inline-end | block-start | block-end | inside | outside | both | all | same;
|
|
269
272
|
clip = rect(ALENGTH{4}) | rect(SPACE(ALENGTH{4})) | auto;
|
|
270
273
|
color = COLOR;
|
|
271
274
|
LIST_STYLE_TYPE = IDENT;
|
|
@@ -503,6 +506,7 @@ crop-offset = auto | LENGTH;
|
|
|
503
506
|
crop-marks-line-color = auto | COLOR;
|
|
504
507
|
|
|
505
508
|
/* CSS Page Floats */
|
|
509
|
+
clear = none | left | right | top | bottom | inline-start | inline-end | block-start | block-end | inside | outside | both | all | same | column | region | page;
|
|
506
510
|
float-reference = inline | column | region | page;
|
|
507
511
|
float = none | footnote | [ block-start || block-end || inline-start || inline-end || snap-block || snap-inline || left || right || top || bottom || inside || outside ];
|
|
508
512
|
float-min-wrap-block = PPLENGTH;
|
|
@@ -830,7 +834,7 @@ word-wrap = overflow-wrap;
|
|
|
830
834
|
[adapt,webkit]start = inline-start;
|
|
831
835
|
[adapt,webkit]end = inline-end;
|
|
832
836
|
|
|
833
|
-
`,
|
|
837
|
+
`,Wl=`
|
|
834
838
|
<!DOCTYPE html>
|
|
835
839
|
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:s="http://www.pyroxy.com/ns/shadow">
|
|
836
840
|
<head>
|
|
@@ -853,7 +857,7 @@ word-wrap = overflow-wrap;
|
|
|
853
857
|
<s:template id="table-cell"><div data-vivliostyle-flow-root="true" class="-vivliostyle-table-cell-container"><s:content/></div></s:template>
|
|
854
858
|
|
|
855
859
|
</body>
|
|
856
|
-
</html>`,
|
|
860
|
+
</html>`,jl=`
|
|
857
861
|
@namespace "http://www.w3.org/1999/xhtml";
|
|
858
862
|
|
|
859
863
|
:root {
|
|
@@ -980,7 +984,7 @@ word-wrap = overflow-wrap;
|
|
|
980
984
|
margin: 10%;
|
|
981
985
|
}
|
|
982
986
|
}
|
|
983
|
-
`,
|
|
987
|
+
`,Xl=`
|
|
984
988
|
@namespace "http://www.w3.org/1999/xhtml";
|
|
985
989
|
@namespace m "http://www.w3.org/1998/Math/MathML";
|
|
986
990
|
@namespace epub "http://www.idpf.org/2007/ops";
|
|
@@ -1354,7 +1358,7 @@ epub|case[required-namespace::supported] ~ epub|case {
|
|
|
1354
1358
|
epub|case[required-namespace::supported] ~ epub|default {
|
|
1355
1359
|
display: none;
|
|
1356
1360
|
}
|
|
1357
|
-
`,
|
|
1361
|
+
`,ql=`
|
|
1358
1362
|
@namespace "http://www.w3.org/1999/xhtml";
|
|
1359
1363
|
|
|
1360
1364
|
*:not([data-vivliostyle-role=doc-toc],
|
|
@@ -1384,7 +1388,7 @@ epub|case[required-namespace::supported] ~ epub|default {
|
|
|
1384
1388
|
[data-vivliostyle-role=doc-toc]:is(ol,ul) {
|
|
1385
1389
|
-adapt-behavior: toc-container;
|
|
1386
1390
|
}
|
|
1387
|
-
`,
|
|
1391
|
+
`,Yl=`
|
|
1388
1392
|
[data-viv-margin-discard~="block-start"] {
|
|
1389
1393
|
margin-block-start: 0 !important;
|
|
1390
1394
|
}
|
|
@@ -1503,12 +1507,12 @@ span[data-viv-leader] {
|
|
|
1503
1507
|
text-orientation: mixed;
|
|
1504
1508
|
white-space: pre;
|
|
1505
1509
|
}
|
|
1506
|
-
`;function hs(e,t,i){let n=F("fetchFromURL"),s={method:i||"GET",mode:"cors"},r=n.suspend(),o={status:0,statusText:"",url:e,contentType:null,responseText:null,responseXML:null,responseBlob:null};return fetch(e,s).then(a=>{var h;return o.status=a.status,o.url=a.url,o.statusText=a.statusText,o.contentType=(h=a.headers.get("Content-Type"))==null?void 0:h.replace(/;.*$/,"").toLowerCase(),a.ok?t==="blob"?a.blob():t==="arraybuffer"?a.arrayBuffer():t==="json"?a.json():/\/aozorabunko\/[^/]+\/cards\/[^/]+\/files\/[^/.]+\.html$/.test(e)?(o.contentType="text/html",a.arrayBuffer().then(l=>new TextDecoder("Shift_JIS").decode(l))):(/^data:,(<|%3c)/i.test(e)&&(o.contentType="text/html"),a.text()):a.text()}).then(a=>{t==="blob"&&a instanceof Blob?o.responseBlob=a:t==="arraybuffer"&&a instanceof ArrayBuffer?o.responseBlob=Yl([a]):t==="json"?o.responseText=JSON.stringify(a):typeof a=="string"&&(o.responseText=a),r.schedule(o)}).catch(a=>{V.warn(a,`Error fetching ${e}`),r.schedule(o)}),n.result()}function Yl(e,t){let i=t||"application/octet-stream";return new Blob(e,{type:i})}function tp(e){let t=F("readBlob"),i=new FileReader,n=t.suspend(i);return i.addEventListener("load",()=>{n.schedule(i.result)},!1),i.readAsArrayBuffer(e),t.result()}function ip(e){return URL.createObjectURL(e)}var Dr=class{constructor(e,t){this.parser=e,this.type=t,u(this,"resources",{}),u(this,"fetchers",{})}load(e,t,i){e=Ct(e);let n=this.resources[e];return typeof n<"u"?k(n):this.fetch(e,t,i).get()}fetchInner(e,t,i){let n=F("fetch"),s=e.endsWith("?viv-toc-box");s&&(e=e.replace("?viv-toc-box",""));let r=ke("user-agent.xml",Jt),o=!s&&e===r;return o&&(e=`data:application/xml,${encodeURIComponent(Gl)}`),hs(e,this.type).then(a=>{if(a.status>=400&&t)throw new Error((i||`Failed to fetch required resource: ${e}`)+` (${a.status}${a.statusText?" "+a.statusText:""})`);s?(e+="?viv-toc-box",a.url+="?viv-toc-box"):o&&(a.url=e=r),this.parser(a,this).then(h=>{delete this.fetchers[e],this.resources[e]=h,n.finish(h)})}),n.result()}fetch(e,t,i){if(e=Ct(e),this.resources[e])return null;let n=this.fetchers[e];return n||(n=new wn(()=>this.fetchInner(e,t,i),`Fetch ${e}`),this.fetchers[e]=n,n.start()),n}get(e){return this.resources[Ct(e)]}delete(e){delete this.resources[Ct(e)]}};function np(e,t){let i=e.responseText;return k(i?Rr(i):null)}function sp(){return new Dr(np,"text")}function si(e,t,i){let n=new wn(()=>{let s=F("loadElement"),r=s.suspend(e),o=!1,a=h=>{o||(o=!0,r.schedule(h?h.type:"timeout"))};return e.addEventListener("load",a,!1),e.addEventListener("error",a,!1),e.addEventListener("abort",a,!1),e.namespaceURI=="http://www.w3.org/2000/svg"?(t&&e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",t),setTimeout(a,300)):e.localName==="script"?setTimeout(a,3e3):t&&(e.src=t,i&&(e.alt=i)),s.result()},`loadElement ${t||e.localName}`);return n.start(),n}var Xo=0,rp=16777216,Kl=33554432,Zl=50331648,Jl=67108864,op=83886080,ap=100663296,Vr=class{constructor(e){this.scope=e,u(this,"flavor"),this.flavor="Author"}getCurrentToken(){return null}getScope(){return this.scope}error(e,t){}startStylesheet(e){this.flavor=e}tagSelector(e,t){}classSelector(e){}pseudoclassSelector(e,t){}pseudoelementSelector(e,t){}idSelector(e){}attributeSelector(e,t,i,n){}descendantSelector(){}childSelector(){}adjacentSiblingSelector(){}followingSiblingSelector(){}nextSelector(){}startSelectorRule(){}startFontFaceRule(){}startFootnoteRule(e){}startViewportRule(){}startDefineRule(){}startRegionRule(){}startPageRule(){}startPageMarginBoxRule(e){}startWhenRule(e){}startMediaRule(e){this.startWhenRule(e)}startFlowRule(e){}startPageTemplateRule(){}startPageMasterRule(e,t,i){}startPartitionRule(e,t,i){}startPartitionGroupRule(e,t,i){}startRuleBody(){}property(e,t,i){}endRule(){}startFuncWithSelector(e){}endFuncWithSelector(){}pushSelectorText(e){}getImportantSpecificity(){switch(this.flavor){case"UA":return Xo;case"User":return ap;default:return op}}getBaseSpecificity(){switch(this.flavor){case"UA":return Xo;case"User":return rp;default:return Kl}}},lp=class extends Vr{constructor(){super(null),u(this,"stack",[]),u(this,"tokenizer",null),u(this,"slave",null)}pushHandler(e){this.stack.push(this.slave),this.slave=e}popHandler(){this.slave=this.stack.pop()}getCurrentToken(){return this.tokenizer?this.tokenizer.token():null}getScope(){return this.slave.getScope()}error(e,t){this.slave.error(e,t)}errorMsg(e,t){var i;V.warn(e,(i=t?.toString())!=null?i:"")}startStylesheet(e){super.startStylesheet(e),this.stack.length>0&&(this.slave=this.stack[0],this.stack=[]),this.slave.startStylesheet(e)}tagSelector(e,t){this.slave.tagSelector(e,t)}classSelector(e){this.slave.classSelector(e)}pseudoclassSelector(e,t){this.slave.pseudoclassSelector(e,t)}pseudoelementSelector(e,t){this.slave.pseudoelementSelector(e,t)}idSelector(e){this.slave.idSelector(e)}attributeSelector(e,t,i,n){this.slave.attributeSelector(e,t,i,n)}descendantSelector(){this.slave.descendantSelector()}childSelector(){this.slave.childSelector()}adjacentSiblingSelector(){this.slave.adjacentSiblingSelector()}followingSiblingSelector(){this.slave.followingSiblingSelector()}nextSelector(){this.slave.nextSelector()}startSelectorRule(){this.slave.startSelectorRule()}startFontFaceRule(){this.slave.startFontFaceRule()}startFootnoteRule(e){this.slave.startFootnoteRule(e)}startViewportRule(){this.slave.startViewportRule()}startDefineRule(){this.slave.startDefineRule()}startRegionRule(){this.slave.startRegionRule()}startPageRule(){this.slave.startPageRule()}startPageMarginBoxRule(e){this.slave.startPageMarginBoxRule(e)}startWhenRule(e){this.slave.startWhenRule(e)}startFlowRule(e){this.slave.startFlowRule(e)}startPageTemplateRule(){this.slave.startPageTemplateRule()}startPageMasterRule(e,t,i){this.slave.startPageMasterRule(e,t,i)}startPartitionRule(e,t,i){this.slave.startPartitionRule(e,t,i)}startPartitionGroupRule(e,t,i){this.slave.startPartitionGroupRule(e,t,i)}startRuleBody(){this.slave.startRuleBody()}property(e,t,i){this.slave.property(e,t,i)}endRule(){this.slave.endRule()}startFuncWithSelector(e){this.slave.startFuncWithSelector(e)}endFuncWithSelector(){this.slave.endFuncWithSelector()}pushSelectorText(e){this.slave.pushSelectorText(e)}},qo=class extends Vr{constructor(e,t,i){super(e),this.owner=t,this.topLevel=i,u(this,"depth",0),t&&(this.flavor=t.flavor)}getCurrentToken(){var e;return(e=this.owner)==null?void 0:e.getCurrentToken()}error(e,t){var i;(i=this.owner)==null||i.errorMsg(e,t)}startRuleBody(){this.depth++}endRule(){--this.depth==0&&!this.topLevel&&this.owner.popHandler()}},bn=class extends qo{constructor(e,t,i){super(e,t,i)}report(e){this.error(e,this.getCurrentToken())}reportAndSkip(e){this.report(e),this.owner.pushHandler(new qo(this.scope,this.owner,!1))}startSelectorRule(){this.reportAndSkip("E_CSS_UNEXPECTED_SELECTOR")}startFontFaceRule(){this.reportAndSkip("E_CSS_UNEXPECTED_FONT_FACE")}startFootnoteRule(e){this.reportAndSkip("E_CSS_UNEXPECTED_FOOTNOTE")}startViewportRule(){this.reportAndSkip("E_CSS_UNEXPECTED_VIEWPORT")}startDefineRule(){this.reportAndSkip("E_CSS_UNEXPECTED_DEFINE")}startRegionRule(){this.reportAndSkip("E_CSS_UNEXPECTED_REGION")}startPageRule(){this.reportAndSkip("E_CSS_UNEXPECTED_PAGE")}startWhenRule(e){this.reportAndSkip("E_CSS_UNEXPECTED_WHEN")}startFlowRule(e){this.reportAndSkip("E_CSS_UNEXPECTED_FLOW")}startPageTemplateRule(){this.reportAndSkip("E_CSS_UNEXPECTED_PAGE_TEMPLATE")}startPageMasterRule(e,t,i){this.reportAndSkip("E_CSS_UNEXPECTED_PAGE_MASTER")}startPartitionRule(e,t,i){this.reportAndSkip("E_CSS_UNEXPECTED_PARTITION")}startPartitionGroupRule(e,t,i){this.reportAndSkip("E_CSS_UNEXPECTED_PARTITION_GROUP")}startFuncWithSelector(e){this.reportAndSkip("E_CSS_UNEXPECTED_SELECTOR_FUNC")}endFuncWithSelector(){this.reportAndSkip("E_CSS_UNEXPECTED_END_SELECTOR_FUNC")}property(e,t,i){this.error("E_CSS_UNEXPECTED_PROPERTY",this.getCurrentToken())}},Ee=[],Wn=[],pe=[],Ce=[],at=[],et=[],Se=[],Fe=[],ue=[],ze=[],je=[],Me=[],xe=[],ri=55,oi=56,Pn=57;Ee[1]=28,Ee[36]=29,Ee[7]=29,Ee[9]=29,Ee[14]=29,Ee[18]=29,Ee[50]=29,Ee[20]=30,Ee[13]=27,Ee[0]=200,Wn[1]=46,Wn[0]=200,et[1]=2,et[36]=4,et[7]=6,et[9]=8,et[14]=10,et[18]=14,et[50]=42,pe[37]=11,pe[23]=12,pe[35]=56,pe[1]=1,pe[36]=3,pe[7]=5,pe[9]=7,pe[14]=9,pe[12]=13,pe[18]=55,pe[50]=58,pe[16]=41,Ce[37]=11,Ce[23]=12,Ce[35]=56,Ce[1]=1,Ce[36]=3,Ce[7]=5,Ce[9]=7,Ce[14]=9,Ce[18]=55,at[1]=2,at[36]=4,at[7]=6,at[9]=8,at[18]=14,at[50]=42,at[14]=10,at[12]=13,Se[1]=15,Se[7]=16,Se[4]=17,Se[5]=18,Se[3]=19,Se[2]=20,Se[8]=21,Se[27]=57,Se[16]=22,Se[19]=23,Se[6]=24,Se[11]=25,Se[17]=26,Se[13]=48,Se[31]=47,Se[23]=54,Se[0]=44,Fe[1]=31,Fe[4]=32,Fe[5]=32,Fe[3]=33,Fe[2]=34,Fe[10]=40,Fe[6]=38,Fe[31]=36,Fe[24]=36,Fe[32]=35,ue[1]=45,ue[16]=37,ue[37]=37,ue[38]=37,ue[47]=37,ue[48]=37,ue[39]=37,ue[49]=37,ue[41]=37,ue[26]=37,ue[25]=37,ue[23]=37,ue[24]=37,ue[19]=37,ue[21]=37,ue[36]=37,ue[18]=37,ue[22]=37,ue[11]=39,ue[12]=43,ue[17]=49,ze[0]=200,ze[12]=50,ze[13]=51,ze[14]=50,ze[15]=51,ze[10]=50,ze[11]=51,ze[17]=53,je[0]=200,je[12]=50,je[13]=52,je[14]=50,je[15]=51,je[10]=50,je[11]=51,je[17]=53,Me[0]=200,Me[12]=50,Me[13]=51,Me[14]=50,Me[15]=51,Me[10]=50,Me[11]=51,xe[11]=0,xe[16]=0,xe[22]=1,xe[18]=1,xe[26]=2,xe[25]=2,xe[38]=3,xe[37]=3,xe[48]=3,xe[47]=3,xe[39]=3,xe[49]=3,xe[41]=3,xe[23]=4,xe[24]=4,xe[36]=5,xe[19]=5,xe[21]=5,xe[0]=6,xe[ri]=2,xe[oi]=2;var vn=class{constructor(e,t,i,n){this.actions=e,this.tokenizer=t,this.handler=i,this.baseURL=n,u(this,"valStack",[]),u(this,"namespacePrefixToURI",{}),u(this,"defaultNamespaceURI",null),u(this,"propName",null),u(this,"propImportant",!1),u(this,"exprContext"),u(this,"result",null),u(this,"importReady",!1),u(this,"importURL",null),u(this,"importCondition",null),u(this,"errorBrackets",[]),u(this,"ruleStack",[]),u(this,"regionRule",!1),u(this,"pageRule",!1),u(this,"inStyleDeclaration",!1),this.exprContext=2}extractVals(e,t){let i=[],n=this.valStack;for(;t<n.length&&(i.push(n[t++]),t!==n.length);){if(n[t++]!==e)throw new Error("Unexpected state");t===n.length&&i.push(G)}return i}valStackReduce(e,t){let i=this.valStack,n=i.length,s=0,r;do if(r=i[--n],e===")"&&r instanceof Ai){if(r.text===")")s++;else if(r.text==="("){if(s===0)return null;s--}}while(typeof r<"u"&&typeof r!="string");let o=i.length-(n+1);if(o>1&&i.splice(n+1,o,new ye(i.slice(n+1,i.length))),e==",")return null;n++;do r=i[--n];while(typeof r<"u"&&(typeof r!="string"||r==","));if(o=i.length-(n+1),r=="("){e!=")"&&t.type!==0&&(this.handler.error("E_CSS_MISMATCHED_C_PAR",t),this.actions=je);let h=new Ni(i[n-1],this.extractVals(",",n+1));if(i.splice(n-1,o+2,h),h.name==="var"){let l=h.values[0]instanceof nt&&h.values[0].name;(!Nt(l)||l===this.propName)&&(this.handler.error(`E_CSS_INVALID_VAR ${h.toString()}`,t),this.actions=je)}return h}if(e!=";"||n>=0)return this.handler.error("E_CSS_UNEXPECTED_VAL_END",t),this.actions=je,null;if(o>1)return new qe(this.extractVals(",",n+1));let a=i[0];return a instanceof $e?a:a?new Ai(a.toString()):G}exprError(e,t){this.actions=this.propName?je:ze,V.warn(e,t.toString())}exprStackReduce(e,t){let i=this.valStack,n=this.handler,s=i.pop(),r;for(;;){let o=i.pop();if(e==11){let a=[s];for(;o==16;)a.unshift(i.pop()),o=i.pop();if(typeof o=="string"){if(o=="{"){for(;a.length>=2;){let h=a.shift(),l=a.shift(),c=new Xc(n.getScope(),h,l);a.unshift(c)}return i.push(new z(a[0])),!0}else if(o=="("){let h=i.pop(),l=i.pop();s=new Gi(n.getScope(),zs(l,h),a),e=0;continue}}if(o==10){s.isMediaName()&&(s=new Bo(n.getScope(),s,null)),e=0;continue}}else if(typeof o=="string"){i.push(o);break}if(o<0)if(o==-31)s=new Bt(n.getScope(),s);else if(o==-24)s=new li(n.getScope(),s);else if(o==-Pn)s=new Wc(n.getScope(),s);else return this.exprError("F_UNEXPECTED_STATE",t),!1;else{if(xe[e]>xe[o]){i.push(o);break}switch(r=i.pop(),o){case 26:s=new Fr(n.getScope(),r,s);break;case ri:s=new jc(n.getScope(),r,s);break;case oi:s=new qc(n.getScope(),r,s);break;case 25:s=new Or(n.getScope(),r,s);break;case 38:s=new Yc(n.getScope(),r,s);break;case 37:s=new Zc(n.getScope(),r,s);break;case 48:s=new Kc(n.getScope(),r,s);break;case 47:s=new Us(n.getScope(),r,s);break;case 39:case 49:s=new Br(n.getScope(),r,s);break;case 41:s=new Jc(n.getScope(),r,s);break;case 23:s=new wl(n.getScope(),r,s);break;case 24:s=new bl(n.getScope(),r,s);break;case 36:s=new _r(n.getScope(),r,s);break;case 19:s=new vl(n.getScope(),r,s);break;case 21:s=new yl(n.getScope(),r,s);break;case 18:if(i.length>1)switch(i[i.length-1]){case 22:i.pop(),s=new td(n.getScope(),i.pop(),r,s);break;case 10:if(r.isMediaName())s=new Bo(n.getScope(),r,s);else return this.exprError("E_CSS_MEDIA_TEST",t),!1;break}else return this.exprError("E_CSS_EXPR_COND",t),!1;break;case 22:if(e!=18)return this.exprError("E_CSS_EXPR_COND",t),!1;case 10:return i.push(r),i.push(o),i.push(s),!1;default:return this.exprError("F_UNEXPECTED_STATE",t),!1}}}return i.push(s),!1}readSupportsTest(e){let t=e.type===6,i=this.tokenizer,n,s;if(t)s=e.text,n=e.position+s.length+1;else if(e.type===10){let c=i.nthToken(1),p=i.nthToken(2);if(c.type===1&&p.type===18)i.consume(),i.consume(),s=c.text,n=p.position+1;else{if(c.type===10||c.type===6||c.type===1&&c.text.toLowerCase()==="not"&&(p.type===10||p.type===6))return null;n=e.position+1}}else return null;let r=0,o,a=0;for(;r>=0;)switch(i.consume(),o=i.token(),o.type){case 11:r--;break;case 10:case 6:r++;break;case 16:r===0&&a++;break;case 0:return this.exprError("E_CSS_UNEXPECTED_EOF",o),null}i.consume();let h=o.position,l=t&&s==="selector"&&a>0?"":i.input.substring(n,h).trim();return new id(this.handler.getScope(),s,l,t)}readPseudoParams(){let e=[];for(;;){let t=this.tokenizer.token();switch(t.type){case 1:e.push(t.text);break;case 23:e.push("+");break;case 4:case 5:e.push(t.num);break;default:return e}this.tokenizer.consume()}}readNthPseudoParams(){let e=!1,t=this.tokenizer.token();if(t.type===23)e=!0,this.tokenizer.consume(),t=this.tokenizer.token();else if(t.type===1&&(t.text==="even"||t.text==="odd"))return this.tokenizer.consume(),[2,t.text==="odd"?1:0];switch(t.type){case 3:if(e&&t.num<0)return null;case 1:if(e&&t.text.charAt(0)==="-")return null;if(t.text==="n"||t.text==="-n"){if(e&&t.precededBySpace)return null;let i=t.text==="-n"?-1:1;t.type===3&&(i=t.num);let n=0;this.tokenizer.consume(),t=this.tokenizer.token();let s=t.type===24,r=t.type===23||s;if(r&&(this.tokenizer.consume(),t=this.tokenizer.token()),t.type===5){if(n=t.num,1/n===-1/0){if(n=0,r)return null}else if(n<0){if(r)return null}else if(n>=0&&!r)return null;this.tokenizer.consume()}else if(r)return null;return[i,s&&n>0?-n:n]}else if(t.text==="n-"||t.text==="-n-"){if(e&&t.precededBySpace)return null;let i=t.text==="-n-"?-1:1;if(t.type===3&&(i=t.num),this.tokenizer.consume(),t=this.tokenizer.token(),t.type===5)return t.num<0||1/t.num===-1/0?null:(this.tokenizer.consume(),[i,t.num])}else{let i=t.text.match(/^n(-[0-9]+)$/);if(i)return e&&t.precededBySpace?null:(this.tokenizer.consume(),[t.type===3?t.num:1,parseInt(i[1],10)]);if(i=t.text.match(/^-n(-[0-9]+)$/),i)return this.tokenizer.consume(),[-1,parseInt(i[1],10)]}return null;case 5:return e&&(t.precededBySpace||t.num<0)?null:(this.tokenizer.consume(),[0,t.num])}return null}makeCondition(e,t){let i=this.handler.getScope();if(!i)return null;if(t=t||i._true,e){let n=e.split(/\s+/);for(let s of n)switch(s){case"vertical":t=ht(i,t,new Bt(i,new Re(i,"pref-horizontal")));break;case"horizontal":t=ht(i,t,new Re(i,"pref-horizontal"));break;case"day":t=ht(i,t,new Bt(i,new Re(i,"pref-night-mode")));break;case"night":t=ht(i,t,new Re(i,"pref-night-mode"));break;default:t=i._false}}return t===i._true?null:new z(t)}isInsidePropertyOnlyRule(){switch(this.ruleStack[this.ruleStack.length-1]){case"[selector]":case"font-face":case"-epubx-flow":case"-epubx-viewport":case"-epubx-define":case"-adapt-footnote-area":return!0}return!1}runParser(e,t,i,n,s,r){let o=this.handler,a=this.tokenizer,h=this.valStack,l,c,p,d,f,g,m,w=null;for(i&&(this.inStyleDeclaration=!0),n&&(this.exprContext=2,this.valStack.push("{"));e>0;--e){if(l=a.token(),s&&w===null&&(w=l.position-1,a.input[w]==="("&&w++),this.actions===Se&&this.errorBrackets.length>0&&(l.type===this.errorBrackets[this.errorBrackets.length-1]||l.type===17||l.type===31)){if(l.type===this.errorBrackets[this.errorBrackets.length-1]&&(this.errorBrackets.pop(),l.type===11&&this.valStackReduce(")",l))){a.consume();continue}h.push(new Ai(l.toString())),a.consume();continue}switch(this.actions[l.type]){case 28:if(!this.inStyleDeclaration||a.nthToken(1).type!=18){this.isInsidePropertyOnlyRule()?(o.error("E_CSS_COLON_EXPECTED",a.nthToken(1)),this.actions=je):(this.actions=et,o.startSelectorRule());continue}this.propName=l.text,this.propImportant=!1,a.consume(),a.consume(),this.actions=Se,h.splice(0,h.length);continue;case 46:if(a.nthToken(1).type!=18){this.actions=je,o.error("E_CSS_COLON_EXPECTED",a.nthToken(1));continue}this.propName=l.text,this.propImportant=!1,a.consume(),a.consume(),this.actions=Se,h.splice(0,h.length);continue;case 29:this.actions=et,o.startSelectorRule();continue;case 1:if(!l.precededBySpace){this.actions=Me,o.error("E_CSS_SPACE_EXPECTED",l);continue}o.descendantSelector();case 2:if(a.nthToken(1).type==34)if(a.consume(),a.consume(),p=this.namespacePrefixToURI[l.text],p!=null)switch(l=a.token(),l.type){case 1:o.tagSelector(p,l.text),s?this.actions=Ce:this.actions=pe,a.consume();break;case 36:o.tagSelector(p,null),s?this.actions=Ce:this.actions=pe,a.consume();break;default:this.actions=ze,o.error("E_CSS_NAMESPACE",l)}else this.actions=ze,o.error("E_CSS_UNDECLARED_PREFIX",l);else o.tagSelector(this.defaultNamespaceURI,l.text),s?this.actions=Ce:this.actions=pe,a.consume();continue;case 3:if(!l.precededBySpace){this.actions=Me,o.error("E_CSS_SPACE_EXPECTED",l);continue}o.descendantSelector();case 4:if(a.nthToken(1).type==34)switch(a.consume(),a.consume(),l=a.token(),l.type){case 1:o.tagSelector(null,l.text),s?this.actions=Ce:this.actions=pe,a.consume();break;case 36:o.tagSelector(null,null),s?this.actions=Ce:this.actions=pe,a.consume();break;default:this.actions=ze,o.error("E_CSS_NAMESPACE",l)}else o.tagSelector(this.defaultNamespaceURI,null),s?this.actions=Ce:this.actions=pe,a.consume();continue;case 5:l.precededBySpace&&o.descendantSelector();case 6:if(!l.text){o.error("E_CSS_SYNTAX",l),a.consume();continue}o.idSelector(l.text),s?this.actions=Ce:this.actions=pe,a.consume();continue;case 7:l.precededBySpace&&o.descendantSelector();case 8:o.classSelector(l.text),s?this.actions=Ce:this.actions=pe,a.consume();continue;case 55:l.precededBySpace&&o.descendantSelector();case 14:a.consume(),l=a.token();e:switch(l.type){case 1:o.pseudoclassSelector(l.text,null),a.consume(),s?this.actions=Ce:this.actions=pe;continue;case 6:switch(d=l.text,a.consume(),d){case"is":case"not":case"where":case"has":this.actions=et,o.startFuncWithSelector(d),this.runParser(Number.POSITIVE_INFINITY,!1,!1,!1,!0,d==="has")?this.actions=pe:this.actions=Me;continue;case"lang":case"href-epub-type":if(l=a.token(),l.type===1){m=[l.text],a.consume(),d==="href-epub-type"&&a.token().type===16&&(a.consume(),l=a.token(),l.type===1&&(m.push(l.text),a.consume()));break}else break e;case"nth-child":case"nth-of-type":case"nth-last-child":case"nth-last-of-type":case"nth":if(m=this.readNthPseudoParams(),m)break;break e;default:m=this.readPseudoParams()}if(l=a.token(),l.type==11){o.pseudoclassSelector(d,m),a.consume(),s?this.actions=Ce:this.actions=pe;continue}break}o.error("E_CSS_PSEUDOCLASS_SYNTAX",l),this.actions=ze;continue;case 58:l.precededBySpace&&o.descendantSelector();case 42:switch(a.consume(),l=a.token(),l.type){case 1:o.pseudoelementSelector(l.text,null),s?this.actions=Ce:this.actions=pe,a.consume();continue;case 6:if(d=l.text,a.consume(),d=="nth-fragment"){if(m=this.readNthPseudoParams(),m===null)break}else m=this.readPseudoParams();if(l=a.token(),l.type==11){o.pseudoelementSelector(d,m),s?this.actions=Ce:this.actions=pe,a.consume();continue}break}o.error("E_CSS_PSEUDOELEM_SYNTAX",l),this.actions=ze;continue;case 9:l.precededBySpace&&o.descendantSelector();case 10:if(a.consume(),l=a.token(),l.type==1)d=l.text,a.consume();else if(l.type==36)d=null,a.consume();else if(l.type==34)d="";else{this.actions=Me,o.error("E_CSS_ATTR",l),a.consume();continue}if(l=a.token(),l.type==34){if(p=d&&this.namespacePrefixToURI[d],p===void 0){this.actions=Me,o.error("E_CSS_UNDECLARED_PREFIX",l),a.consume();continue}if(a.consume(),l=a.token(),l.type!=1){this.actions=Me,o.error("E_CSS_ATTR_NAME_EXPECTED",l);continue}d=l.text,a.consume(),l=a.token()}else p="";switch(l.type){case 39:case 45:case 44:case 43:case 42:case 46:case 50:f=l.type,a.consume(),l=a.token();break;case 15:o.attributeSelector(p,d,0,null),s?this.actions=Ce:this.actions=pe,a.consume();continue;default:this.actions=Me,o.error("E_CSS_ATTR_OP_EXPECTED",l);continue}switch(l.type){case 1:case 2:o.attributeSelector(p,d,f,l.text),a.consume(),l=a.token();break;default:this.actions=Me,o.error("E_CSS_ATTR_VAL_EXPECTED",l);continue}if(l.type!=15){this.actions=Me,o.error("E_CSS_ATTR",l);continue}s?this.actions=Ce:this.actions=pe,a.consume();continue;case 11:o.childSelector(),this.actions=at,a.consume();continue;case 12:o.adjacentSiblingSelector(),this.actions=at,a.consume();continue;case 56:o.followingSiblingSelector(),this.actions=at,a.consume();continue;case 13:this.regionRule?(this.ruleStack.push("-epubx-region"),this.regionRule=!1):this.pageRule?(this.ruleStack.push("page"),this.pageRule=!1,this.inStyleDeclaration=!0):(this.ruleStack.push("[selector]"),this.inStyleDeclaration=!0),o.startRuleBody(),this.actions=Ee,a.consume();continue;case 41:o.nextSelector(),this.actions=et,a.consume();continue;case 15:h.push(B(l.text)),a.consume();continue;case 16:f=parseInt(l.text,16),h.push(new Il(l.text)),a.consume();continue;case 17:h.push(new Ut(l.num)),a.consume();continue;case 18:h.push(new Qt(l.num)),a.consume();continue;case 19:h.push(new T(l.num,l.text)),a.consume();continue;case 20:h.push(new Le(l.text)),a.consume();continue;case 21:h.push(new dt(ke(l.text,this.baseURL))),a.consume();continue;case 57:h.push(new Rl(l.text)),a.consume();continue;case 22:this.valStackReduce(",",l),h.push(","),a.consume();continue;case 23:h.push(rs),a.consume();continue;case 24:d=l.text.toLowerCase(),d=="-epubx-expr"||d=="env"?(this.actions=Fe,this.exprContext=0,h.push("{")):(h.push(d),h.push("("),this.errorBrackets.length>0&&this.errorBrackets.push(11)),a.consume();continue;case 25:this.valStackReduce(")",l),a.consume();continue;case 47:if(a.consume(),l=a.token(),c=a.nthToken(1),l.type==1&&l.text.toLowerCase()=="important"&&(c.type==17||c.type==0||c.type==13)){a.consume(),this.propImportant=!0;continue}this.exprError("E_CSS_SYNTAX",l);continue;case 54:switch(c=a.nthToken(1),c.type){case 4:case 3:case 5:if(!c.precededBySpace){a.consume();continue}}h.push(new Ai("+")),a.consume();continue;case 26:a.consume();case 48:g=this.valStackReduce(";",l),g&&this.propName&&o.property(this.propName,g,this.propImportant),this.actions=i?Wn:Ee;continue;case 44:for(a.consume();h.length>0;){let y=h.length;if(g=this.valStackReduce(";",l),!g||h.length===y)break}return t?(this.result=g,!0):(this.propName&&g&&o.property(this.propName,g,this.propImportant),!0);case 31:if(c=a.nthToken(1),c.type==9)a.nthToken(2).type==10&&!a.nthToken(2).precededBySpace?(h.push(l.text,c.text,"("),a.consume()):(h.push(new Re(o.getScope(),zs(l.text,c.text))),this.actions=ue),a.consume();else{if(this.exprContext==2||this.exprContext==3)l.text.toLowerCase()=="not"?(a.consume(),h.push(new Oo(o.getScope(),!0,c.text))):(l.text.toLowerCase()=="only"&&(a.consume(),l=c),h.push(new Oo(o.getScope(),!1,l.text)));else if(this.exprContext===4&&l.text.toLowerCase()==="not"&&h[h.length-1]!==ri&&h[h.length-1]!==oi&&(c.type===10||c.type===6)){h.push(-Pn),a.consume();continue}else h.push(new Re(o.getScope(),l.text));this.actions=ue}a.consume();continue;case 38:if(this.exprContext===4){h.push(this.readSupportsTest(l)),this.actions=ue;continue}h.push(null,l.text,"("),a.consume();continue;case 32:h.push(new Oe(o.getScope(),l.num)),a.consume(),this.actions=ue;continue;case 33:d=l.text,d=="%"&&(this.propName&&this.propName.match(/height|^(top|bottom)$/)?d="vh":d="vw"),h.push(new fn(o.getScope(),l.num,d)),a.consume(),this.actions=ue;continue;case 34:h.push(new Oe(o.getScope(),l.text)),a.consume(),this.actions=ue;continue;case 35:a.consume(),l=a.token(),l.type!=5||l.precededBySpace?this.exprError("E_CSS_SYNTAX",l):(h.push(new El(o.getScope(),l.num)),a.consume(),this.actions=ue);continue;case 36:h.push(-l.type),a.consume();continue;case 37:this.actions=Fe,this.exprStackReduce(l.type,l),h.push(l.type),a.consume();continue;case 45:l.text.toLowerCase()==="and"&&h[h.length-2]!==oi&&h[h.length-2]!==-Pn?(this.actions=Fe,this.exprStackReduce(ri,l),h.push(ri),a.consume()):l.text.toLowerCase()==="or"&&h[h.length-2]!==ri&&h[h.length-2]!==-Pn?(this.actions=Fe,this.exprStackReduce(oi,l),h.push(oi),a.consume()):this.exprError("E_CSS_SYNTAX",l);continue;case 39:this.exprStackReduce(l.type,l)&&(this.actions=Se),a.consume();continue;case 43:this.exprStackReduce(11,l)&&(this.propName||this.exprContext==3?this.exprError("E_CSS_UNEXPECTED_BRC",l):(this.exprContext==1?o.startWhenRule(h.pop()):o.startMediaRule(h.pop()),this.ruleStack.push("media"),o.startRuleBody(),this.actions=Ee)),a.consume();continue;case 49:if(this.exprStackReduce(11,l))return this.propName||this.exprContext!=3?(this.exprError("E_CSS_UNEXPECTED_SEMICOL",l),this.actions=Ee,a.consume(),!1):(this.importCondition=h.pop(),this.importReady=!0,this.actions=Ee,a.consume(),!1);a.consume();continue;case 40:if(this.exprContext===4){let y=this.readSupportsTest(l);if(y){h.push(y),this.actions=ue;continue}}h.push(l.type),a.consume();continue;case 27:if(this.actions=Ee,a.consume(),o.endRule(),this.inStyleDeclaration=!1,this.ruleStack.length)switch(this.ruleStack.pop(),this.ruleStack[this.ruleStack.length-1]){case"page":case"-epubx-page-master":case"-epubx-partition-group":this.inStyleDeclaration=!0}continue;case 30:switch(d=l.text.toLowerCase(),d){case"import":if(a.consume(),l=a.token(),l.type==2||l.type==8){if(this.importURL=l.text,a.consume(),l=a.token(),l.type==17||l.type==0)return this.importReady=!0,a.consume(),!1;this.propName=null,this.exprContext=3,this.actions=Fe,h.push("{");continue}o.error("E_CSS_IMPORT_SYNTAX",l),this.actions=ze;continue;case"namespace":switch(a.consume(),l=a.token(),l.type){case 1:if(d=l.text,a.consume(),l=a.token(),(l.type==2||l.type==8)&&a.nthToken(1).type==17){this.namespacePrefixToURI[d]=l.text,a.consume(),a.consume();continue}break;case 2:case 8:if(a.nthToken(1).type==17){this.defaultNamespaceURI=l.text,a.consume(),a.consume();continue}break}o.error("E_CSS_NAMESPACE_SYNTAX",l),this.actions=ze;continue;case"charset":if(a.consume(),l=a.token(),l.type==2&&a.nthToken(1).type==17){d=l.text.toLowerCase(),d!="utf-8"&&d!="utf-16"&&o.error(`E_CSS_UNEXPECTED_CHARSET ${d}`,l),a.consume(),a.consume();continue}o.error("E_CSS_CHARSET_SYNTAX",l),this.actions=ze;continue;case"font-face":case"-epubx-page-template":case"-epubx-define":case"-epubx-viewport":if(a.nthToken(1).type==12){switch(a.consume(),a.consume(),d){case"font-face":o.startFontFaceRule(),this.inStyleDeclaration=!0;break;case"-epubx-page-template":o.startPageTemplateRule();break;case"-epubx-define":o.startDefineRule(),this.inStyleDeclaration=!0;break;case"-epubx-viewport":o.startViewportRule(),this.inStyleDeclaration=!0;break}this.ruleStack.push(d),o.startRuleBody();continue}break;case"-adapt-footnote-area":switch(a.consume(),l=a.token(),l.type){case 12:a.consume(),o.startFootnoteRule(null),this.ruleStack.push(d),o.startRuleBody(),this.inStyleDeclaration=!0;continue;case 50:if(a.consume(),l=a.token(),l.type==1&&a.nthToken(1).type==12){d=l.text,a.consume(),a.consume(),o.startFootnoteRule(d),this.ruleStack.push("-adapt-footnote-area"),o.startRuleBody(),this.inStyleDeclaration=!0;continue}break}break;case"-epubx-region":a.consume(),o.startRegionRule(),this.regionRule=!0,this.actions=et;continue;case"page":a.consume(),o.startPageRule(),this.pageRule=!0,this.actions=at;continue;case"top-left-corner":case"top-left":case"top-center":case"top-right":case"top-right-corner":case"right-top":case"right-middle":case"right-bottom":case"bottom-right-corner":case"bottom-right":case"bottom-center":case"bottom-left":case"bottom-left-corner":case"left-bottom":case"left-middle":case"left-top":if(a.consume(),l=a.token(),l.type==12){a.consume(),o.startPageMarginBoxRule(d),this.ruleStack.push(d),o.startRuleBody(),this.inStyleDeclaration=!0;continue}break;case"-epubx-when":a.consume(),this.propName=null,this.exprContext=1,this.actions=Fe,h.push("{");continue;case"media":a.consume(),this.propName=null,this.exprContext=2,this.actions=Fe,h.push("{");continue;case"supports":a.consume(),this.propName=null,this.exprContext=4,this.actions=Fe,h.push("{");continue;case"-epubx-flow":if(a.nthToken(1).type==1&&a.nthToken(2).type==12){o.startFlowRule(a.nthToken(1).text),a.consume(),a.consume(),a.consume(),this.ruleStack.push(d),o.startRuleBody(),this.inStyleDeclaration=!0;continue}break;case"-epubx-page-master":case"-epubx-partition":case"-epubx-partition-group":{a.consume(),l=a.token();let y=null,b=null,x=[];for(l.type==1&&(y=l.text,a.consume(),l=a.token()),l.type==18&&a.nthToken(1).type==1&&(b=a.nthToken(1).text,a.consume(),a.consume(),l=a.token());l.type==6&&l.text.toLowerCase()=="class"&&a.nthToken(1).type==1&&a.nthToken(2).type==11;)x.push(a.nthToken(1).text),a.consume(),a.consume(),a.consume(),l=a.token();if(l.type==12){switch(a.consume(),d){case"-epubx-page-master":o.startPageMasterRule(y,b,x);break;case"-epubx-partition":o.startPartitionRule(y,b,x);break;case"-epubx-partition-group":o.startPartitionGroupRule(y,b,x);break}this.ruleStack.push(d),o.startRuleBody(),this.inStyleDeclaration=!0;continue}break}case"":o.error(`E_CSS_UNEXPECTED_AT${d}`,l),this.actions=Me;continue;default:o.error(`E_CSS_AT_UNKNOWN ${d}`,l),this.actions=ze;continue}o.error(`E_CSS_AT_SYNTAX ${d}`,l),this.actions=ze;continue;case 50:this.errorBrackets.push(l.type+1),a.consume();continue;case 52:if(this.errorBrackets.length==0){this.actions=Ee;continue}case 51:if(s&&this.errorBrackets.length==0&&l.type==11)return a.consume(),o.endFuncWithSelector(),!0;this.errorBrackets.length>0&&this.errorBrackets[this.errorBrackets.length-1]==l.type&&this.errorBrackets.pop(),this.errorBrackets.length==0&&l.type==13&&(this.actions=Ee),a.consume();continue;case 53:this.errorBrackets.length==0&&(this.actions=Ee),a.consume();continue;case 200:return!0;default:if(n)return this.exprStackReduce(11,l)?(this.result=h.pop(),!0):!1;if(s){switch(l.type){case 16:case 11:if(this.actions===et)o.error("E_CSS_SYNTAX",l);else{let y=a.input.substring(w,l.position);o.pushSelectorText(y),w=l.position+1}if(l.type===16){o.nextSelector(),this.actions=et,a.consume();continue}else return o.endFuncWithSelector(),a.consume(),!0;case 37:case 23:case 35:if(r){this.actions=pe;continue}break;case 12:case 14:case 10:this.errorBrackets.push(l.type+1);break}o.error("E_CSS_SYNTAX",l),a.consume(),this.actions=Me;continue}if(this.actions!==ze&&this.actions!==Me&&this.actions!==je){if(l.type==54)o.error("E_CSS_SYNTAX",l);else if(this.actions===Se){switch(l.type){case 10:case 12:case 14:this.errorBrackets.push(l.type+1);break}h.push(new Ai(l.toString())),a.consume();continue}else if(l.type===12&&this.actions==Fe&&h.length>0){o.startMediaRule(h.pop()),this.ruleStack.push("media"),o.startRuleBody(),this.actions=Ee,a.consume();continue}else{if(l.type===17&&this.actions==Fe)return this.actions=Ee,a.consume(),!1;o.error("E_CSS_SYNTAX",l)}this.isInsidePropertyOnlyRule()?this.actions=je:this.actions=Me;continue}a.consume();continue}}return!1}},Ql=class extends Vr{constructor(e){super(null),this.scope=e}error(e,t){V.warn(e,t.toString())}getScope(){return this.scope}};function hp(e,t,i,n,s){let r=F("parseStylesheet"),o=new vn(Ee,e,t,i),a=null;return s&&(a=cp(new gt(s,t),t,i)),a=o.makeCondition(n,a&&a.toExpr()),a&&(t.startMediaRule(a),t.startRuleBody()),r.loop(()=>{for(;!o.runParser(100,!1,!1,!1,!1);){if(o.importReady){let l=ke(o.importURL,i);o.importCondition&&(t.startMediaRule(o.importCondition),t.startRuleBody());let c=F("parseStylesheet.import");return eh(l,t,null,null).then(()=>{o.importCondition&&t.endRule(),o.importReady=!1,o.importURL=null,o.importCondition=null,c.finish(!0)}),c.result()}let h=r.timeSlice();if(h.isPending)return h}return k(!1)}).then(()=>{a&&t.endRule(),r.finish(!0)}),r.result()}function Ur(e,t,i,n,s){return yi("parseStylesheetFromText",r=>{let o=new gt(e,t);hp(o,t,i,n,s).thenFinish(r)},(r,o)=>{V.warn(o,`Failed to parse stylesheet text: ${e}`),r.finish(!1)})}function eh(e,t,i,n){return yi("parseStylesheetFromURL",s=>{hs(e).then(r=>{r.responseText?Ur(r.responseText,t,e,i,n).then(o=>{o||V.warn(`Failed to parse stylesheet from ${e}`),s.finish(!0)}):s.finish(!0)})},(s,r)=>{V.warn(r,"Exception while fetching and parsing:",e),s.finish(!0)})}function Pi(e,t,i){let n=new vn(Se,t,new Ql(e),i);return n.runParser(Number.POSITIVE_INFINITY,!0,!1,!1,!1),n.result}function up(e,t,i){new vn(Wn,e,t,i).runParser(Number.POSITIVE_INFINITY,!1,!0,!1,!1)}function cp(e,t,i){let n=new vn(Fe,e,t,i);return n.runParser(Number.POSITIVE_INFINITY,!1,!1,!0,!1),n.result}var dp={"z-index":!0,"column-count":!0,"flow-linger":!0,opacity:!0,page:!0,"flow-priority":!0,utilization:!0};function pp(e){return!!dp[e]}function fp(e,t,i){let n=t.evaluate(e);switch(typeof n){case"number":return pp(i)?n==Math.round(n)?new Qt(n):new Ut(n):new T(n,"px");case"string":return n?Pi(t.scope,new gt(n,null),""):G;case"boolean":return n?v._true:v._false;case"undefined":return G}throw new Error("E_UNEXPECTED")}function th(e,t){let i={};return Object.keys(e).forEach(n=>{let s=i[n]={},r=e[n];Object.keys(r).forEach(o=>{s[o]=r[o].map(a=>{let h=t?a.logical:a.physical,l=t?a.physical:a.logical;return{regexp:new RegExp(`(-?)${h}(-?)`),to:`$1${l}$2`}})})}),i}function ih(e,t,i,n){let s=n[t];if(!s)throw new Error(`unknown writing-mode: ${t}`);let r=s[i||"ltr"];if(!r)throw new Error(`unknown direction: ${i}`);for(let o of r){let a=e.replace(o.regexp,o.to);if(a!==e)return a}return e}var nh={"horizontal-tb":{ltr:[{logical:"inline-start",physical:"left"},{logical:"inline-end",physical:"right"},{logical:"block-start",physical:"top"},{logical:"block-end",physical:"bottom"},{logical:"inline-size",physical:"width"},{logical:"block-size",physical:"height"}],rtl:[{logical:"inline-start",physical:"right"},{logical:"inline-end",physical:"left"},{logical:"block-start",physical:"top"},{logical:"block-end",physical:"bottom"},{logical:"inline-size",physical:"width"},{logical:"block-size",physical:"height"}]},"vertical-rl":{ltr:[{logical:"inline-start",physical:"top"},{logical:"inline-end",physical:"bottom"},{logical:"block-start",physical:"right"},{logical:"block-end",physical:"left"},{logical:"inline-size",physical:"height"},{logical:"block-size",physical:"width"}],rtl:[{logical:"inline-start",physical:"bottom"},{logical:"inline-end",physical:"top"},{logical:"block-start",physical:"right"},{logical:"block-end",physical:"left"},{logical:"inline-size",physical:"height"},{logical:"block-size",physical:"width"}]},"vertical-lr":{ltr:[{logical:"inline-start",physical:"top"},{logical:"inline-end",physical:"bottom"},{logical:"block-start",physical:"left"},{logical:"block-end",physical:"right"},{logical:"inline-size",physical:"height"},{logical:"block-size",physical:"width"}],rtl:[{logical:"inline-start",physical:"bottom"},{logical:"inline-end",physical:"top"},{logical:"block-start",physical:"left"},{logical:"block-end",physical:"right"},{logical:"inline-size",physical:"height"},{logical:"block-size",physical:"width"}]}},gp=th(nh,!0);function sh(e,t,i){return ih(e,t,i||null,gp)}var mp=th(nh,!1);function rh(e,t,i){return ih(e,t,i||null,mp)}var wp={"horizontal-tb":[{logical:"line-left",physical:"left"},{logical:"line-right",physical:"right"},{logical:"over",physical:"top"},{logical:"under",physical:"bottom"}],"vertical-rl":[{logical:"line-left",physical:"top"},{logical:"line-right",physical:"bottom"},{logical:"over",physical:"right"},{logical:"under",physical:"left"}],"vertical-lr":[{logical:"line-left",physical:"top"},{logical:"line-right",physical:"bottom"},{logical:"over",physical:"right"},{logical:"under",physical:"left"}]};function bp(e,t){let i=wp[t];if(!i)throw new Error(`unknown writing-mode: ${t}`);for(let n=0;n<i.length;n++)if(i[n].physical===e)return i[n].logical;return e}function Hr(e,t,i){var n;let s=t,r={width:s.style.width,height:s.style.height};function o(d){return e.getElementComputedStyle(t).getPropertyValue(d)}let a=o("writing-mode")!=="horizontal-tb",h=a?"height":"width",l=a?"width":"height";function c(d,f){s.style[d]=f;let g=o(d);return s.style[d]=r[d],g}let p={};for(let d of i){let f;switch(d){case"max-content inline size":f=c(h,"max-content");break;case"min-content inline size":f=c(h,"min-content");break;case"fit-content inline size":f=c(h,"fit-content");break;case"max-content block size":f=c(l,"max-content");break;case"min-content block size":f=c(l,"min-content");break;case"fit-content block size":f=c(l,"fit-content");break;case"max-content width":f=c("width","max-content");break;case"max-content height":f=c("height","max-content");break;case"min-content width":f=c("width","min-content");break;case"min-content height":f=c("height","min-content");break;case"fit-content width":f=c("width","fit-content");break;case"fit-content height":f=c("height","fit-content");break}f==="0px"&&t.childNodes.length===1&&((n=t.firstElementChild)==null?void 0:n.localName)==="img"&&!t.firstElementChild.complete&&(f="1px"),p[d]=parseFloat(f)}return p}function _i(e){var t,i;return((t=e?.style)==null?void 0:t["box-decoration-break"])==="clone"||((i=e?.style)==null?void 0:i["-webkit-box-decoration-break"])==="clone"}function oh(e){let t=e.getAttribute("data-viv-box-break");return t?t.split(" "):[]}function ah(e,t){e.setAttribute("data-viv-box-break",t.join(" "))}function st(e,t){let i=oh(e);i.includes(t)||(i.push(t),ah(e,i))}function vp(e){let t=e.getAttribute("data-viv-margin-discard");return t?t.split(" "):[]}function yp(e,t){e.setAttribute("data-viv-margin-discard",t.join(" "))}function Is(e,t){let i=vp(e);i.includes(t)||(i.push(t),yp(e,i))}function xp(e){let t=e.name,i=e.value;switch(t){case"page-break-before":case"page-break-after":case"page-break-inside":return{name:t.replace(/^page-/,""),value:i===v.always?v.page:i,important:e.important};default:return e}}var Ys={page:!0,left:!0,right:!0,recto:!0,verso:!0,column:!0,region:!0};function Ze(e){return!!Ys[e]}var Sp={left:!0,right:!0,recto:!0,verso:!0};function sn(e){return!!Sp[e]}var Cp={avoid:!0,"avoid-page":!0,"avoid-column":!0,"avoid-region":!0};function jn(e){return!!Cp[e]}function Xe(e,t){if(e)if(t){if(sn(t))return t;if(sn(e))return e;{let i=Ze(e),n=Ze(t);if(i&&n)switch(t){case"column":return e;case"region":return e==="column"?t:e;default:return t}else return n?t:i?e:jn(t)?t:jn(e)?e:t}}else return e;else return t}function Yo(e){return Ze(e)?e:"auto"}ut("SIMPLE_PROPERTY",xp);var ji=vc(xc());function Ep(e,t){return(0,ji.default)(e,t,0)}function Ko(e){return e.reduce((t,i)=>i[0]===ji.default.DELETE?t:t+i[1],"")}function kp(e,t){return lh(e,t,1)}function Np(e,t){return lh(e,t,-1)}function lh(e,t,i){let n=0,s=0;return e.some(r=>{for(let o=0;o<r[1].length;o++){switch(r[0]*i){case ji.default.INSERT:n++;break;case ji.default.DELETE:n--,s++;break;case ji.default.EQUAL:s++;break}if(s>t)return!0}return!1}),Math.max(Math.min(t,s-1)+n,0)}var Ks;(e=>{function t(i){return i&&i.formattingContextType==="Block"}e.isInstanceOfBlockFormattingContext=t})(Ks||(Ks={}));var fi;(e=>{let t;(i=>(i.INLINE="inline",i.COLUMN="column",i.REGION="region",i.PAGE="page"))(t=e.FloatReference||(e.FloatReference={}))})(fi||(fi={}));var Xn;(e=>{function t(i){return i&&i.flagmentLayoutConstraintType=="AfterIfContinue"}e.isInstanceOfAfterIfContinuesLayoutConstraint=t})(Xn||(Xn={}));var Yt;(e=>{function t(n){return n?n.formattingContextType==="RepetitiveElementsOwner"||Mt.isInstanceOfTableFormattingContext(n):!1}e.isInstanceOfRepetitiveElementsOwnerFormattingContext=t;function i(n){return n?n.flagmentLayoutConstraintType==="RepetitiveElementsOwner"||Mt.isInstanceOfTableRowLayoutConstraint(n):!1}e.isInstanceOfRepetitiveElementsOwnerLayoutConstraint=i})(Yt||(Yt={}));var Mt;(e=>{function t(n){return n&&n.formattingContextType==="Table"}e.isInstanceOfTableFormattingContext=t;function i(n){return n&&n.flagmentLayoutConstraintType==="TableRow"}e.isInstanceOfTableRowLayoutConstraint=i})(Mt||(Mt={}));var Pt;(e=>{let t;(n=>(n[n.IGNORE=0]="IGNORE",n[n.NEWLINE=1]="NEWLINE",n[n.PRESERVE=2]="PRESERVE"))(t=e.Whitespace||(e.Whitespace={}));let i;(n=>(n[n.NONE=0]="NONE",n[n.CONTENT=1]="CONTENT",n[n.ROOTLESS=2]="ROOTLESS",n[n.ROOTED=3]="ROOTED"))(i=e.ShadowType||(e.ShadowType={}))})(Pt||(Pt={}));var Pp={transform:!0,"transform-origin":!0},Tp={top:!0,bottom:!0,left:!0,right:!0},$r=class{constructor(e,t,i){this.target=e,this.name=t,this.value=i}},Ip={show:function(e){e.style.visibility="visible"},hide:function(e){e.style.visibility="hidden"},play:function(e){e.currentTime=0,e.play()},pause:function(e){e.pause()},resume:function(e){e.play()},mute:function(e){e.muted=!0},unmute:function(e){e.muted=!1}};function Rp(e,t){let i=Ip[t];return i?()=>{for(let n=0;n<e.length;n++)try{i(e[n])}catch{}}:null}var Zs=class Mi extends Ar{constructor(t,i){super(),this.container=t,this.bleedBox=i,u(this,"pageAreaElement",null),u(this,"delayedItems",[]),u(this,"hrefHandler"),u(this,"elementsById",{}),u(this,"dimensions",{width:0,height:0}),u(this,"isFirstPage",!1),u(this,"isLastPage",!1),u(this,"isBlankPage",!1),u(this,"isAutoPageWidth",!0),u(this,"isAutoPageHeight",!0),u(this,"spineIndex",0),u(this,"position",null),u(this,"offset",-1),u(this,"side",null),u(this,"fetchers",[]),u(this,"marginBoxes",{top:{},bottom:{},left:{},right:{}}),u(this,"pageType",null),this.hrefHandler=n=>{let s=n.currentTarget,r=s.getAttribute("href")||s.getAttributeNS("http://www.w3.org/1999/xlink","href");if(r){let o={type:"hyperlink",target:null,currentTarget:null,anchorElement:s,href:r,preventDefault(){n.preventDefault()}};this.dispatchEvent(o)}}}setAutoPageWidth(t){this.isAutoPageWidth=t,t?this.container.setAttribute(Mi.AUTO_PAGE_WIDTH_ATTRIBUTE,"true"):this.container.removeAttribute(Mi.AUTO_PAGE_WIDTH_ATTRIBUTE)}setAutoPageHeight(t){this.isAutoPageHeight=t,t?this.container.setAttribute(Mi.AUTO_PAGE_HEIGHT_ATTRIBUTE,"true"):this.container.removeAttribute(Mi.AUTO_PAGE_HEIGHT_ATTRIBUTE)}registerElementWithId(t,i){let n=this.elementsById[i];n?n.push(t):this.elementsById[i]=[t]}finish(t,i){Object.keys(this.elementsById).forEach(r=>{let o=this.elementsById[r];for(let a=0;a<o.length;)this.container.contains(o[a])?a++:o.splice(a,1);o.length===0&&delete this.elementsById[r]});let n=this.delayedItems;for(let r=0;r<n.length;r++){let o=n[r];o.target===this.container&&o.name==="transform"&&!this.isAutoPageWidth&&!this.isAutoPageHeight||N(o.target,o.name,o.value.toString())}let s=i.getElementClientRect(this.container);this.dimensions.width=s.width,this.dimensions.height=s.height;for(let r=0;r<t.length;r++){let o=t[r],a=this.elementsById[o.ref],h=this.elementsById[o.observer];if(a&&h){let l=Rp(a,o.action);if(l)for(let c=0;c<h.length;c++)h[c].addEventListener(o.event,l,!1)}}}};u(Zs,"AUTO_PAGE_WIDTH_ATTRIBUTE","data-vivliostyle-auto-page-width"),u(Zs,"AUTO_PAGE_HEIGHT_ATTRIBUTE","data-vivliostyle-auto-page-height");var hh=Zs,xi="data-adapt-spec",Je=Pt.Whitespace;function uh(e){switch(e){case"normal":case"nowrap":return Je.IGNORE;case"pre-line":return Je.NEWLINE;case"pre":case"pre-wrap":case"break-spaces":return Je.PRESERVE;default:return null}}function Ve(e,t){if(!e)return!0;if(e.nodeType==1)return!1;let i=e.textContent;switch(t){case Je.PRESERVE:return i.length==0;case Je.NEWLINE:return!!i.match(/^[ \t]*$/);case Je.IGNORE:default:return!!i.match(/^[ \t\r\n\f]*$/)}}var Ap=class{constructor(e,t){this.flowName=e,this.parentFlowName=t,u(this,"forcedBreakOffsets",[]),u(this,"formattingContext",null)}},Lp=class{constructor(e,t,i,n,s,r,o,a,h){this.flowName=e,this.element=t,this.startOffset=i,this.priority=n,this.linger=s,this.exclusive=r,this.repeated=o,this.last=a,this.breakBefore=h,u(this,"startPage",-1)}isBetter(e){return this.exclusive?!e.exclusive||this.priority>e.priority?!0:this.last:!1}};function Fp(e,t){return e.top-t.top}function Op(e,t){return t.right-e.right}function ch(e,t){var i,n;return e===t?!0:!e||!t?!1:(e.node===t.node||!!e.shadowContext&&!!t.shadowContext&&e.shadowType===Pt.ShadowType.ROOTLESS&&t.shadowType===Pt.ShadowType.ROOTLESS&&((i=e.node)==null?void 0:i.outerHTML)===((n=t.node)==null?void 0:n.outerHTML))&&e.shadowType===t.shadowType&&Qs(e.shadowContext,t.shadowContext)&&Qs(e.nodeShadow,t.nodeShadow)&&ch(e.shadowSibling,t.shadowSibling)}function zt(e,t){if(e===t)return!0;if(!e||!t||e.offsetInNode!==t.offsetInNode||e.after!==t.after||e.steps.length!==t.steps.length)return!1;for(let i=0;i<e.steps.length;i++)if(!ch(e.steps[i],t.steps[i]))return!1;return!0}function Bp(e){return{steps:[{node:e,shadowType:ot.NONE,shadowContext:null,nodeShadow:null,shadowSibling:null,formattingContext:null,fragmentIndex:0}],offsetInNode:0,after:!1,preprocessedTextContent:null}}function qn(e,t){return{steps:[{node:e.sourceNode,shadowType:ot.NONE,shadowContext:e.shadowContext,nodeShadow:null,shadowSibling:null,formattingContext:null,fragmentIndex:t??e.fragmentIndex}],offsetInNode:0,after:!1,preprocessedTextContent:e.preprocessedTextContent}}function Yn(e,t){let i=new zi(e.node,t,0);return i.shadowType=e.shadowType,i.shadowContext=e.shadowContext,i.nodeShadow=e.nodeShadow,i.shadowSibling=e.shadowSibling?Yn(e.shadowSibling,t.copy()):null,i.formattingContext=e.formattingContext,i.fragmentIndex=e.fragmentIndex+1,i}var ot=Pt.ShadowType,Js=class{constructor(e,t,i,n,s,r,o){this.owner=e,this.root=t,this.xmldoc=i,this.parentShadow=n,this.type=r,this.styler=o,u(this,"subShadow",null),s&&(s.subShadow=this)}equals(e){return e?this.owner===e.owner&&this.xmldoc===e.xmldoc&&this.type===e.type&&Qs(this.parentShadow,e.parentShadow):!1}};function Qs(e,t){return e===t||!!e&&!!t&&e.equals(t)}var _p=class{constructor(e,t){this.outer=e,this.count=t}},zi=class dh{constructor(t,i,n){this.sourceNode=t,this.parent=i,this.boxOffset=n,u(this,"offsetInNode",0),u(this,"after",!1),u(this,"shadowType"),u(this,"shadowContext"),u(this,"nodeShadow",null),u(this,"shadowSibling",null),u(this,"shared",!1),u(this,"inline",!0),u(this,"overflow",!1),u(this,"breakPenalty"),u(this,"display",null),u(this,"floatReference"),u(this,"floatSide",null),u(this,"clearSide",null),u(this,"floatMinWrapBlock",null),u(this,"columnSpan",null),u(this,"verticalAlign","baseline"),u(this,"captionSide","top"),u(this,"inlineBorderSpacing",0),u(this,"blockBorderSpacing",0),u(this,"flexContainer",!1),u(this,"whitespace"),u(this,"hyphenateCharacter"),u(this,"breakWord"),u(this,"establishesBFC",!1),u(this,"containingBlockForAbsolute",!1),u(this,"breakBefore",null),u(this,"breakAfter",null),u(this,"viewNode",null),u(this,"clearSpacer",null),u(this,"inheritedProps"),u(this,"vertical"),u(this,"direction"),u(this,"firstPseudo"),u(this,"lang",null),u(this,"preprocessedTextContent",null),u(this,"formattingContext"),u(this,"repeatOnBreak",null),u(this,"pluginProps",{}),u(this,"fragmentIndex",1),u(this,"afterIfContinues",null),u(this,"footnotePolicy",null),u(this,"pageType"),this.shadowType=ot.NONE,this.shadowContext=i?i.shadowContext:null,this.breakPenalty=i?i.breakPenalty:0,this.floatReference=fi.FloatReference.INLINE,this.whitespace=i?i.whitespace:Je.IGNORE,this.hyphenateCharacter=i?i.hyphenateCharacter:null,this.breakWord=i?i.breakWord:!1,this.inheritedProps=i?i.inheritedProps:{},this.vertical=i?i.vertical:!1,this.direction=i?i.direction:"ltr",this.firstPseudo=i?i.firstPseudo:null,this.formattingContext=i?i.formattingContext:null,this.pageType=i?i.pageType:null}resetView(){this.inline=!0,this.breakPenalty=this.parent?this.parent.breakPenalty:0,this.viewNode=null,this.clearSpacer=null,this.offsetInNode=0,this.after=!1,this.display=null,this.floatReference=fi.FloatReference.INLINE,this.floatSide=null,this.clearSide=null,this.floatMinWrapBlock=null,this.columnSpan=null,this.verticalAlign="baseline",this.flexContainer=!1,this.whitespace=this.parent?this.parent.whitespace:Je.IGNORE,this.hyphenateCharacter=this.parent?this.parent.hyphenateCharacter:null,this.breakWord=this.parent?this.parent.breakWord:!1,this.breakBefore=null,this.breakAfter=null,this.nodeShadow=null,this.establishesBFC=!1,this.containingBlockForAbsolute=!1,this.vertical=this.parent?this.parent.vertical:!1,this.nodeShadow=null,this.preprocessedTextContent=null,this.formattingContext=this.parent?this.parent.formattingContext:null,this.repeatOnBreak=null,this.pluginProps={},this.fragmentIndex=1,this.afterIfContinues=null,this.footnotePolicy=null}cloneItem(){let t=new dh(this.sourceNode,this.parent,this.boxOffset);return t.offsetInNode=this.offsetInNode,t.after=this.after,t.nodeShadow=this.nodeShadow,t.shadowType=this.shadowType,t.shadowContext=this.shadowContext,t.shadowSibling=this.shadowSibling,t.inline=this.inline,t.breakPenalty=this.breakPenalty,t.display=this.display,t.floatReference=this.floatReference,t.floatSide=this.floatSide,t.clearSide=this.clearSide,t.floatMinWrapBlock=this.floatMinWrapBlock,t.columnSpan=this.columnSpan,t.verticalAlign=this.verticalAlign,t.captionSide=this.captionSide,t.inlineBorderSpacing=this.inlineBorderSpacing,t.blockBorderSpacing=this.blockBorderSpacing,t.establishesBFC=this.establishesBFC,t.containingBlockForAbsolute=this.containingBlockForAbsolute,t.flexContainer=this.flexContainer,t.whitespace=this.whitespace,t.hyphenateCharacter=this.hyphenateCharacter,t.breakWord=this.breakWord,t.breakBefore=this.breakBefore,t.breakAfter=this.breakAfter,t.viewNode=this.viewNode,t.clearSpacer=this.clearSpacer,t.firstPseudo=this.firstPseudo,t.vertical=this.vertical,t.overflow=this.overflow,t.preprocessedTextContent=this.preprocessedTextContent,t.formattingContext=this.formattingContext,t.repeatOnBreak=this.repeatOnBreak,t.pluginProps=Object.create(this.pluginProps),t.fragmentIndex=this.fragmentIndex,t.afterIfContinues=this.afterIfContinues,t.footnotePolicy=this.footnotePolicy,t}modify(){return this.shared?this.cloneItem():this}copy(){let t=this;do{if(t.shared)break;t.shared=!0,t=t.parent}while(t);return this}clone(){let t=this.cloneItem(),i=t,n;for(;(n=i.parent)!=null;)n=n.cloneItem(),i.parent=n,i=n;return t}toNodePositionStep(){return{node:this.sourceNode,shadowType:this.shadowType,shadowContext:this.shadowContext,nodeShadow:this.nodeShadow,shadowSibling:this.shadowSibling?this.shadowSibling.toNodePositionStep():null,formattingContext:this.formattingContext,fragmentIndex:this.fragmentIndex}}toNodePosition(){var t,i,n;let s=this,r=[];s.shadowType===Pt.ShadowType.ROOTLESS&&(s.floatReference!==fi.FloatReference.INLINE||s.floatSide==="footnote")&&(n=(i=(t=s.shadowContext)==null?void 0:t.styler)==null?void 0:i.style)!=null&&n._pseudos&&(s=s.parent);do(!s.firstPseudo||!s.parent||s.parent.firstPseudo===s.firstPseudo)&&r.push(s.toNodePositionStep()),s=s.parent;while(s);let o=this.preprocessedTextContent?Np(this.preprocessedTextContent,this.offsetInNode):this.offsetInNode;return{steps:r,offsetInNode:o,after:this.after,preprocessedTextContent:this.preprocessedTextContent}}isInsideBFC(){let t=this.parent;for(;t;){if(t.establishesBFC)return!0;t=t.parent}return!1}getContainingBlockForAbsolute(){let t=this.parent;for(;t;){if(t.containingBlockForAbsolute)return t;t=t.parent}return null}belongsTo(t){return this.formattingContext===t&&!!this.parent&&this.parent.formattingContext===t}},Dt=class ph{constructor(t){this.primary=t,u(this,"floats",null)}clone(){let t=new ph(this.primary);if(this.floats){t.floats=[];for(let i=0;i<this.floats.length;++i)t.floats[i]=this.floats[i]}return t}isSamePosition(t){if(!t)return!1;if(this===t)return!0;if(!zt(this.primary,t.primary))return!1;if(this.floats){if(!t.floats||this.floats.length!==t.floats.length)return!1;for(let i=0;i<this.floats.length;i++)if(!zt(this.floats[i],t.floats[i]))return!1}else if(t.floats)return!1;return!0}},Mp=class fh{constructor(t,i){this.chunkPosition=t,this.flowChunk=i}clone(){return new fh(this.chunkPosition.clone(),this.flowChunk)}isSamePosition(t){return!!t&&(this===t||this.chunkPosition.isSamePosition(t.chunkPosition))}},zp=class gh{constructor(){u(this,"positions",[]),u(this,"startBreakType",null),u(this,"breakAfter",null)}clone(){let t=new gh,i=this.positions,n=t.positions;for(let s=0;s<i.length;s++)n[s]=i[s].clone();return t.startBreakType=this.startBreakType,t.breakAfter=this.breakAfter,t}isSamePosition(t){if(this===t)return!0;if(!t||this.positions.length!==t.positions.length)return!1;for(let i=0;i<this.positions.length;i++)if(!this.positions[i].isSamePosition(t.positions[i]))return!1;return!0}hasContent(t){return this.positions.length>0&&this.positions[0].flowChunk.startOffset<=t}},Dp=class mh{constructor(){u(this,"page",0),u(this,"flows",{}),u(this,"flowPositions",{}),u(this,"isBlankPage",!1),u(this,"highestSeenOffset",0),u(this,"highestSeenNode"),u(this,"lookupPositionOffset")}clone(){let t=new mh;t.page=this.page,t.isBlankPage=this.isBlankPage,t.highestSeenNode=this.highestSeenNode,t.highestSeenOffset=this.highestSeenOffset,t.lookupPositionOffset=this.lookupPositionOffset,t.flows=this.flows;for(let i in this.flowPositions)t.flowPositions[i]=this.flowPositions[i].clone();return t}isSamePosition(t){if(this===t)return!0;if(!t||this.page!==t.page)return!1;let i=Object.keys(this.flowPositions),n=Object.keys(t.flowPositions);if(i.length!==n.length)return!1;for(let s of i)if(!this.flowPositions[s].isSamePosition(t.flowPositions[s]))return!1;return!0}hasContent(t,i){let n=this.flowPositions[t];return n?n.hasContent(i):!1}startSideOfFlow(t){var i;let n=(i=this.flowPositions[t])==null?void 0:i.startBreakType;return n&&sn(n)?n:"any"}firstFlowChunkOfFlow(t){let i=this.flowPositions[t];if(!i)return null;let n=i.positions[0];return n?n.flowChunk:null}},wh=class{constructor(e){this.element=e,u(this,"left",0),u(this,"top",0),u(this,"marginLeft",0),u(this,"marginRight",0),u(this,"marginTop",0),u(this,"marginBottom",0),u(this,"borderLeft",0),u(this,"borderRight",0),u(this,"borderTop",0),u(this,"borderBottom",0),u(this,"paddingLeft",0),u(this,"paddingRight",0),u(this,"paddingTop",0),u(this,"paddingBottom",0),u(this,"width",0),u(this,"height",0),u(this,"originX",0),u(this,"originY",0),u(this,"exclusions",null),u(this,"innerShape",null),u(this,"computedBlockSize",0),u(this,"snapWidth",0),u(this,"snapHeight",0),u(this,"snapOffsetX",0),u(this,"snapOffsetY",0),u(this,"vertical",!1),u(this,"rtl",!1),u(this,"borderBoxSizing",!1)}getInsetTop(){return this.marginTop+(this.borderBoxSizing?0:this.borderTop+this.paddingTop)}getInsetBottom(){return this.marginBottom+(this.borderBoxSizing?0:this.borderBottom+this.paddingBottom)}getInsetLeft(){return this.marginLeft+(this.borderBoxSizing?0:this.borderLeft+this.paddingLeft)}getInsetRight(){return this.marginRight+(this.borderBoxSizing?0:this.borderRight+this.paddingRight)}getInsetBefore(){return this.vertical?this.getInsetRight():this.getInsetTop()}getInsetAfter(){return this.vertical?this.getInsetLeft():this.getInsetBottom()}getInsetStart(){return this.vertical?this.getInsetTop():this.getInsetLeft()}getInsetEnd(){return this.vertical?this.getInsetBottom():this.getInsetRight()}getBeforeEdge(e){return this.vertical?e.right:e.top}getAfterEdge(e){return this.vertical?e.left:e.bottom}getStartEdge(e){return this.vertical?this.rtl?e.bottom:e.top:this.rtl?e.right:e.left}getEndEdge(e){return this.vertical?this.rtl?e.top:e.bottom:this.rtl?e.left:e.right}getInlineSize(e){return this.vertical?e.bottom-e.top:e.right-e.left}getBoxSize(e){return this.vertical?e.right-e.left:e.bottom-e.top}getBoxDir(){return this.vertical?-1:1}getInlineDir(){return this.rtl?-1:1}copyFrom(e){this.element=e.element,this.left=e.left,this.top=e.top,this.marginLeft=e.marginLeft,this.marginRight=e.marginRight,this.marginTop=e.marginTop,this.marginBottom=e.marginBottom,this.borderLeft=e.borderLeft,this.borderRight=e.borderRight,this.borderTop=e.borderTop,this.borderBottom=e.borderBottom,this.paddingLeft=e.paddingLeft,this.paddingRight=e.paddingRight,this.paddingTop=e.paddingTop,this.paddingBottom=e.paddingBottom,this.width=e.width,this.height=e.height,this.originX=e.originX,this.originY=e.originY,this.innerShape=e.innerShape,this.exclusions=e.exclusions,this.computedBlockSize=e.computedBlockSize,this.snapWidth=e.snapWidth,this.snapHeight=e.snapHeight,this.vertical=e.vertical,this.rtl=e.rtl,this.borderBoxSizing=e.borderBoxSizing}setVerticalPosition(e,t){this.top=e,this.height=t,N(this.element,"top",`${e}px`),N(this.element,"height",`${t}px`)}setHorizontalPosition(e,t){this.left=e,this.width=t,N(this.element,"left",`${e}px`),N(this.element,"width",`${t}px`)}setBlockPosition(e,t){if(this.vertical){let i=t+this.marginLeft+this.marginRight+(this.borderBoxSizing?0:this.paddingLeft+this.paddingRight+this.borderLeft+this.borderRight);this.setHorizontalPosition(e+i*this.getBoxDir(),t)}else this.setVerticalPosition(e,t)}setInlinePosition(e,t){if(this.vertical)if(this.rtl){let i=t+this.marginTop+this.marginBottom+(this.borderBoxSizing?0:this.paddingTop+this.paddingBottom+this.borderTop+this.borderBottom);this.setVerticalPosition(e+i*this.getInlineDir(),t)}else this.setVerticalPosition(e,t);else if(this.rtl){let i=t+this.marginLeft+this.marginRight+(this.borderBoxSizing?0:this.paddingLeft+this.paddingRight+this.borderLeft+this.borderRight);this.setHorizontalPosition(e+i*this.getInlineDir(),t)}else this.setHorizontalPosition(e,t)}clear(){let e=this.element,t;for(;t=e.lastChild;)e.removeChild(t)}getInnerShape(){let e=this.getInnerRect();return this.innerShape?this.innerShape.withOffset(e.x1,e.y1):zr(e.x1,e.y1,e.x2,e.y2)}getInnerRect(){let e=this.originX+this.left+this.getInsetLeft(),t=this.originY+this.top+this.getInsetTop();return new rt(e,t,e+this.width,t+this.height)}getPaddingRect(){let e=this.originX+this.left+this.marginLeft+this.borderLeft,t=this.originY+this.top+this.marginTop+this.borderTop,i=this.paddingLeft+this.width+this.paddingRight,n=this.paddingTop+this.height+this.paddingBottom;return new rt(e,t,e+i,t+n)}getOuterShape(e,t){let i=this.getOuterRect();return _l(e,i.x1,i.y1,i.x2-i.x1,i.y2-i.y1,t)}getOuterRect(){let e=this.originX+this.left,t=this.originY+this.top,i=this.getInsetLeft()+this.width+this.getInsetRight(),n=this.getInsetTop()+this.height+this.getInsetBottom();return new rt(e,t,e+i,t+n)}},Kn=class extends It{constructor(e,t,i,n){super(),this.elem=e,this.context=t,this.rootContentValue=i,this.exprContentListener=n}visitStrInner(e,t){var i;if(!t){if(((i=this.elem.lastChild)==null?void 0:i.nodeType)===3){this.elem.lastChild.textContent+=e;return}t=this.elem.ownerDocument.createTextNode(e)}this.elem.appendChild(t)}visitStr(e){return this.visitStrInner(e.str),null}visitURL(e){if(this.rootContentValue.url)this.elem.setAttribute("src",e.url);else{let t=this.elem.ownerDocument.createElementNS("http://www.w3.org/1999/xhtml","img");t.setAttribute("src",e.url),this.elem.appendChild(t)}return null}visitSpaceList(e){return this.visitValues(e.values),null}visitExpr(e){let t=e.toExpr(),i=t.evaluate(this.context);if(typeof i=="string"){t instanceof Re&&(i=Pi(t.scope,new gt(i,null),"").stringValue()),this.elem.ownerDocument;let n=this.exprContentListener(t,i,this.elem.ownerDocument);!n&&i&&t instanceof De&&t.str.startsWith("running-element-")&&(i=""),this.visitStrInner(i,n)}return null}};function Vt(e){return e!=null&&e!==G&&e!==v.normal&&e!==v.none&&!J(e)}var Ae=fi.FloatReference;function Vp(e){switch(e){case"inline":return Ae.INLINE;case"column":return Ae.COLUMN;case"region":return Ae.REGION;case"page":return Ae.PAGE;default:throw new Error(`Unknown float-reference: ${e}`)}}function gi(e){switch(e){case Ae.INLINE:return!1;case Ae.COLUMN:case Ae.REGION:case Ae.PAGE:return!0;default:throw new Error(`Unknown float-reference: ${e}`)}}function Zo(e,t,i,n){let s=t?"vertical-rl":"horizontal-tb";if((e==="top"||e==="bottom")&&(e=rh(e,s,i)),e==="block-start"&&(e="inline-start"),e==="block-end"&&(e="inline-end"),e==="inline-start"||e==="inline-end"){let r=sh(e,s,i),o=bp(r,s);o==="line-left"?e="left":o==="line-right"&&(e="right")}else e==="inside"?e=n==="left"?"right":"left":e==="outside"&&(e=n==="left"?"left":"right");return e!=="left"&&e!=="right"&&(V.warn(`Invalid float value: ${e}. Fallback to left.`),e="left"),e}var bh=class{constructor(e,t,i,n,s,r){this.nodePosition=e,this.floatReference=t,this.floatSide=i,this.clearSide=n,this.flowName=s,this.floatMinWrapBlock=r,u(this,"order",null),u(this,"id",null)}getOrder(){if(this.order===null)throw new Error("The page float is not yet added");return this.order}getId(){if(!this.id)throw new Error("The page float is not yet added");return this.id}isAllowedOnContext(e){return e.isAnchorAlreadyAppeared(this.getId())}isAllowedToPrecede(e){return!1}},Up=class{constructor(){u(this,"floats",[]),u(this,"nextPageFloatIndex",0)}nextOrder(){return this.nextPageFloatIndex++}createPageFloatId(e){return`pf${e}`}addPageFloat(e){if(this.floats.findIndex(t=>zt(t.nodePosition,e.nodePosition))>=0)throw new Error("A page float with the same source node is already registered");{let t=e.order=this.nextOrder();e.id=this.createPageFloatId(t),this.floats.push(e)}}findPageFloatByNodePosition(e){let t=this.floats.findIndex(i=>zt(i.nodePosition,e));return t>=0?this.floats[t]:null}findPageFloatById(e){let t=this.floats.findIndex(i=>i.id===e);return t>=0?this.floats[t]:null}},vh=class{constructor(e,t,i,n,s){this.floatReference=e,this.floatSide=t,this.continuations=i,this.area=n,this.continues=s}hasFloat(e){return this.continuations.some(t=>t.float===e)}findNotAllowedFloat(e){for(let t=this.continuations.length-1;t>=0;t--){let i=this.continuations[t].float;if(!i.isAllowedOnContext(e))return i}return null}getOuterShape(){return this.area.getOuterShape(null,null)}getOuterRect(){return this.area.getOuterRect()}getOrder(){let e=this.continuations.map(t=>t.float);return Math.min.apply(null,e.map(t=>t.getOrder()))}shouldBeStashedBefore(e){return this.getOrder()<e.getOrder()}addContinuations(e){e.forEach(t=>{this.continuations.push(t)})}getFlowName(){let e=this.continuations[0].float.flowName;return this.continuations.every(t=>t.float.flowName===e),e}},Jo=class{constructor(e,t){this.float=e,this.nodePosition=t}equals(e){return e?this===e?!0:this.float===e.float&&zt(this.nodePosition,e.nodePosition):!1}},Di=class{constructor(e,t,i,n,s,r,o){this.parent=e,this.floatReference=t,this.container=i,this.flowName=n,this.generatingNodePosition=s,u(this,"children",[]),u(this,"writingMode"),u(this,"direction"),u(this,"invalidated",!1),u(this,"floatStore"),u(this,"forbiddenFloats",[]),u(this,"floatFragments",[]),u(this,"stashedFloatFragments",[]),u(this,"floatAnchors",{}),u(this,"floatsDeferredToNext",[]),u(this,"floatsDeferredFromPrevious"),u(this,"layoutConstraints",[]),u(this,"locked",!1),e&&e.children.push(this),this.writingMode=r||e&&e.writingMode||v.horizontal_tb,this.direction=o||e&&e.direction||v.ltr,this.floatStore=e?e.floatStore:new Up;let a=this.getPreviousSibling();this.floatsDeferredFromPrevious=a?[].concat(a.floatsDeferredToNext):[]}getParent(e){if(!this.parent)throw new Error(`No PageFloatLayoutContext for ${e}`);return this.parent}getPreviousSiblingOf(e,t,i,n){let s=this.children.indexOf(e);s<0&&(s=this.children.length);for(let r=s-1;r>=0;r--){let o=this.children[r];if(o.floatReference===t&&o.flowName===i&&zt(o.generatingNodePosition,n)||(o=o.getPreviousSiblingOf(null,t,i,n),o))return o}return null}getPreviousSibling(){let e=this,t=this.parent,i;for(;t;){if(i=t.getPreviousSiblingOf(e,this.floatReference,this.flowName,this.generatingNodePosition),i)return i;e=t,t=t.parent}return null}getContainer(e){return!e||e===this.floatReference?this.container:this.getParent(e).getContainer(e)}setContainer(e){this.container=e,this.reattachFloatFragments()}addPageFloat(e){this.floatStore.addPageFloat(e)}getPageFloatLayoutContext(e){return e===this.floatReference?this:this.getParent(e).getPageFloatLayoutContext(e)}findPageFloatByNodePosition(e){return this.floatStore.findPageFloatByNodePosition(e)}forbid(e){let t=e.getId(),i=e.floatReference;i===this.floatReference?this.forbiddenFloats.includes(t)||(this.forbiddenFloats.push(t),new Si().findByFloat(e).forbid(e,this)):this.getParent(i).forbid(e)}isForbidden(e){let t=e.getId(),i=e.floatReference;return i===this.floatReference?this.forbiddenFloats.includes(t):this.getParent(i).isForbidden(e)}addPageFloatFragment(e,t){let i=e.floatReference;i!==this.floatReference?this.getParent(i).addPageFloatFragment(e,t):this.floatFragments.includes(e)||(this.floatFragments.push(e),this.floatFragments.sort((n,s)=>n.getOrder()-s.getOrder())),t||this.invalidate()}removePageFloatFragment(e,t){let i=e.floatReference;if(i!==this.floatReference)this.getParent(i).removePageFloatFragment(e,t);else{let n=this.floatFragments.indexOf(e);if(n>=0){let s=this.floatFragments.splice(n,1)[0],r=s.area&&s.area.element;r&&r.parentNode&&r.parentNode.removeChild(r),t||this.invalidate()}}}findPageFloatFragment(e){if(e.floatReference!==this.floatReference)return this.getParent(e.floatReference).findPageFloatFragment(e);let t=this.floatFragments.findIndex(i=>i.hasFloat(e));return t>=0?this.floatFragments[t]:null}hasFloatFragments(e){return this.floatFragments.length>0&&(!e||this.floatFragments.some(e))?!0:this.parent?this.parent.hasFloatFragments(e):!1}hasContinuingFloatFragmentsInFlow(e){return this.hasFloatFragments(t=>t.continues&&t.getFlowName()===e)}registerPageFloatAnchor(e,t){this.floatAnchors[e.getId()]=t}collectPageFloatAnchors(){let e=Object.assign({},this.floatAnchors);return this.children.reduce((t,i)=>Object.assign(t,i.collectPageFloatAnchors()),e)}isAnchorAlreadyAppeared(e){if(this.getDeferredPageFloatContinuations().some(i=>i.float.getId()===e))return!0;let t=this.collectPageFloatAnchors()[e];return t&&this.container&&this.container.element?this.container.element.contains(t):!1}deferPageFloat(e){let t=e.float;if(t.floatReference===this.floatReference){let i=this.floatsDeferredToNext.findIndex(n=>n.float===t);i>=0?this.floatsDeferredToNext.splice(i,1,e):this.floatsDeferredToNext.push(e)}else this.getParent(t.floatReference).deferPageFloat(e)}hasPrecedingFloatsDeferredToNext(e,t){if(!t&&e.floatReference!==this.floatReference)return this.getParent(e.floatReference).hasPrecedingFloatsDeferredToNext(e,!1);let i=e.getOrder();return this.floatsDeferredToNext.some(n=>n.float.getOrder()<i&&!e.isAllowedToPrecede(n.float))?!0:this.parent?this.parent.hasPrecedingFloatsDeferredToNext(e,!0):!1}getLastFollowingFloatInFragments(e){let t=e.getOrder(),i=null;if(this.floatFragments.forEach(n=>{n.continuations.forEach(s=>{let r=s.float,o=r.getOrder();o>t&&(!i||o>i.getOrder())&&(i=r)})}),this.parent){let n=this.parent.getLastFollowingFloatInFragments(e);n&&(!i||n.getOrder()>i.getOrder())&&(i=n)}return i}getDeferredPageFloatContinuations(e){e=e||this.flowName;let t=this.floatsDeferredFromPrevious.filter(i=>!e||i.float.flowName===e);return this.parent&&(t=this.parent.getDeferredPageFloatContinuations(e).concat(t)),t.sort((i,n)=>i.float.getOrder()-n.float.getOrder())}getPageFloatContinuationsDeferredToNext(e){e=e||this.flowName;let t=this.floatsDeferredToNext.filter(i=>!e||i.float.flowName===e);return this.parent?this.parent.getPageFloatContinuationsDeferredToNext(e).concat(t):t}getFloatsDeferredToNextInChildContexts(){let e=[],t=[];for(let i=this.children.length-1;i>=0;i--){let n=this.children[i];t.includes(n.flowName)||(t.push(n.flowName),e=e.concat(n.floatsDeferredToNext.map(s=>s.float)),e=e.concat(n.getFloatsDeferredToNextInChildContexts()))}return e}checkAndForbidNotAllowedFloat(){if(this.checkAndForbidFloatFollowingDeferredFloat())return!0;for(let e=this.floatFragments.length-1;e>=0;e--){let t=this.floatFragments[e],i=t.findNotAllowedFloat(this);if(i)return this.locked?this.invalidate():(this.removePageFloatFragment(t),this.forbid(i),this.removeEndFloatFragments(t.floatSide)),!0}return this.floatReference===Ae.REGION&&this.parent.locked?this.parent.checkAndForbidNotAllowedFloat():!1}checkAndForbidFloatFollowingDeferredFloat(){let e=this.getFloatsDeferredToNextInChildContexts(),t=this.floatFragments.reduce((i,n)=>i.concat(n.continuations.map(s=>s.float)),[]);t.sort((i,n)=>n.getOrder()-i.getOrder());for(let i of t){let n=i.getOrder();if(e.some(s=>!i.isAllowedToPrecede(s)&&n>s.getOrder())){if(this.locked)this.invalidate();else{this.forbid(i);let s=this.findPageFloatFragment(i);this.removePageFloatFragment(s)}return!0}}return!1}finish(){if(!this.checkAndForbidNotAllowedFloat()){for(let e=this.floatsDeferredToNext.length-1;e>=0;e--)if(!this.floatsDeferredToNext[e].float.isAllowedOnContext(this)){if(this.locked){this.invalidate();return}this.floatsDeferredToNext.splice(e,1)}this.floatsDeferredFromPrevious.forEach(e=>{this.floatsDeferredToNext.findIndex(t=>e.equals(t))>=0||this.floatFragments.some(t=>t.hasFloat(e.float))||this.floatsDeferredToNext.push(e)})}}hasSameContainerAs(e){return!!this.container&&!!e.container&&this.container.element===e.container.element}invalidate(){this.invalidated=!0,!this.locked&&(this.container&&(this.children.forEach(e=>{this.hasSameContainerAs(e)&&e.floatFragments.forEach(t=>{let i=t.area.element;i&&i.parentNode&&i.parentNode.removeChild(i)})}),this.container.clear()),this.children.forEach(e=>{e.layoutConstraints.splice(0)}),this.children.splice(0),Object.keys(this.floatAnchors).forEach(e=>{delete this.floatAnchors[e]}))}detachChildren(){let e=this.children.splice(0);return e.forEach(t=>{t.floatFragments.forEach(i=>{let n=i.area.element;n&&n.parentNode&&n.parentNode.removeChild(n)})}),e}attachChildren(e){e.forEach(t=>{this.children.push(t),t.reattachFloatFragments()})}isInvalidated(){return this.invalidated||!!this.parent&&this.parent.isInvalidated()}validate(){this.invalidated=!1}toLogical(e){let t=this.writingMode.toString(),i=this.direction.toString();if(e==="inside"||e==="outside"){let n=!!this.container.element.closest("[data-vivliostyle-page-side='left']");e=e==="inside"?n?"right":"left":n?"left":"right"}return rh(e,t,i)}toPhysical(e){let t=this.writingMode.toString(),i=this.direction.toString();return sh(e,t,i)}toLogicalFloatSides(e){let t=e.split(" "),i=[];for(let o of t){let a=this.toLogical(o);i.includes(a)||i.push(a)}let n=[],s=!1,r=!1;for(let o=0;o<i.length;o++){let a=i[o];a.includes("block")?s||(i.slice(o+1).some(h=>h.includes("block"))?(n.push("snap-block"),s=!0):n.push(a)):a.includes("inline")&&(r||(i.slice(o+1).some(h=>h.includes("inline"))?(n.push("snap-inline"),r=!0):n.push(a)))}return n}removeEndFloatFragments(e){let t=this.toLogicalFloatSides(e)[0];if(t==="block-end"||t==="inline-end"){let i=0;for(;i<this.floatFragments.length;){let n=this.floatFragments[i];this.toLogicalFloatSides(n.floatSide)[0]===t?this.removePageFloatFragment(n):i++}}}stashEndFloatFragments(e){let t=e.floatReference;if(t!==this.floatReference){this.getParent(t).stashEndFloatFragments(e);return}let i=this.toLogicalFloatSides(e.floatSide)[0];if(i==="block-end"||i==="snap-block"||i==="inline-end"||i==="snap-inline"){let n=0;for(;n<this.floatFragments.length;){let s=this.floatFragments[n],r=this.toLogicalFloatSides(s.floatSide)[0];(r===i||i==="snap-block"&&r==="block-end"||i==="snap-inline"&&r==="inline-end")&&s.shouldBeStashedBefore(e)?(this.stashedFloatFragments.push(s),this.floatFragments.splice(n,1)):n++}}}restoreStashedFragments(e){if(e!==this.floatReference){this.getParent(e).restoreStashedFragments(e);return}this.stashedFloatFragments.forEach(t=>{this.addPageFloatFragment(t,!0)}),this.stashedFloatFragments.splice(0)}discardStashedFragments(e){if(e!==this.floatReference){this.getParent(e).discardStashedFragments(e);return}this.stashedFloatFragments.splice(0)}getStashedFloatFragments(e){return e===this.floatReference?this.stashedFloatFragments.concat().sort((t,i)=>i.getOrder()-t.getOrder()):this.getParent(e).getStashedFloatFragments(e)}getLimitValue(e,t,i,n){this.container;let s=this.toLogical(e),r=this.toPhysical(e),o=this.getLimitValueInner(s,t,i,n);if(this.parent&&this.parent.container){let a=this.parent.getLimitValue(r,t,i,n);switch(r){case"top":return Math.max(o,a);case"left":return Math.max(o,a);case"bottom":return Math.min(o,a);case"right":return Math.min(o,a);default:}}return o}getLimitValueInner(e,t,i,n){this.container;let s=this.getLimitValuesInner(t,i,n);switch(e){case"block-start":return this.container.vertical?s.right:s.top;case"block-end":return this.container.vertical?s.left:s.bottom;case"inline-start":return this.container.vertical?this.container.rtl?s.bottom:s.top:this.container.rtl?s.right:s.left;case"inline-end":return this.container.vertical?this.container.rtl?s.top:s.bottom:this.container.rtl?s.left:s.right;default:throw new Error(`Unknown logical side: ${e}`)}}getLimitValuesInner(e,t,i){this.container;let n=this.container.originX,s=this.container.originY,r=this.container.getPaddingRect(),o={top:r.y1-s,left:r.x1-n,bottom:r.y2-s,right:r.x2-n,floatMinWrapBlockStart:0,floatMinWrapBlockEnd:0};function a(l,c,p){return l.unit==="%"?p*l.num/100:e.convertLengthToPx(l,c,t)}let h=this.floatFragments;return h.length>0&&(o=h.reduce((l,c)=>{if(i&&!i(c,this))return l;let p=this.toLogicalFloatSides(c.floatSide)[0],d=c.area,f=c.continuations[0].float.floatMinWrapBlock,g=l.top,m=l.left,w=l.bottom,y=l.right,b=l.floatMinWrapBlockStart,x=l.floatMinWrapBlockEnd;switch(p){case"inline-start":d.vertical?g=Math.max(g,d.top+d.height):m=Math.max(m,d.left+d.width);break;case"block-start":d.vertical?(f&&d.left<y&&(b=a(f,d.rootViewNodes[0],r.x2-r.x1)),y=Math.min(y,d.left)):(f&&d.top+d.height>g&&(b=a(f,d.rootViewNodes[0],r.y2-r.y1)),g=Math.max(g,d.top+d.height));break;case"inline-end":d.vertical?w=Math.min(w,d.top):y=Math.min(y,d.left);break;case"block-end":d.vertical?(f&&d.left+d.width>m&&(x=a(f,d.rootViewNodes[0],r.x2-r.x1)),m=Math.max(m,d.left+d.width)):(f&&d.top<w&&(x=a(f,d.rootViewNodes[0],r.y2-r.y1)),w=Math.min(w,d.top));break;default:throw new Error(`Unknown logical float side: ${p}`)}return{top:g,left:m,bottom:w,right:y,floatMinWrapBlockStart:b,floatMinWrapBlockEnd:x}},o)),o.left+=n,o.right+=n,o.top+=s,o.bottom+=s,o}setFloatAreaDimensions(e,t,i,n,s,r,o){if(t!==this.floatReference)return this.getParent(t).setFloatAreaDimensions(e,t,i,n,s,r,o);let a=this.toLogicalFloatSides(i);if(a[0]==="snap-block"){if(!o["block-start"]&&!o["block-end"])return null}else if(a[0]==="snap-inline"){if(!o["inline-start"]&&!o["inline-end"])return null}else if(!o[a[0]])return null;e.clientLayout;let h=this.getLimitValue("block-start",e.layoutContext,e.clientLayout),l=this.getLimitValue("block-end",e.layoutContext,e.clientLayout),c=this.getLimitValue("inline-start",e.layoutContext,e.clientLayout),p=this.getLimitValue("inline-end",e.layoutContext,e.clientLayout),d=e.vertical?e.originX:e.originY,f=e.vertical?e.originY:e.originX;h=e.vertical?Math.min(h,e.left+e.getInsetLeft()+e.width+e.getInsetRight()+d):Math.max(h,e.top+d),l=e.vertical?Math.max(l,e.left+d):Math.min(l,e.top+e.getInsetTop()+e.height+e.getInsetBottom()+d);function g(x,I){let L=x(e.bands,I);return L?(e.vertical&&(L=Fl(L)),h=e.vertical?Math.min(h,L.x2):Math.max(h,L.y1),l=e.vertical?Math.max(l,L.x1):Math.min(l,L.y2),!0):r}let m,w,y,b;if(s){let x=e.vertical?Gn(new rt(l,c,h,p)):new rt(c,h,p,l);if((a[0]==="block-start"||a[0]==="snap-block"||a[0]==="inline-start"||a[0]==="snap-inline")&&!g(cd,x)||(a[0]==="block-end"||a[0]==="snap-block"||a[0]==="inline-end"||a[0]==="snap-inline")&&!g(dd,x)||(y=(l-h)*e.getBoxDir(),m=y-e.getInsetBefore()-e.getInsetAfter(),b=(p-c)*e.getInlineDir(),w=b-e.getInsetStart()-e.getInsetEnd(),!r&&(m<=0||w<=0)))return null}else{m=e.computedBlockSize,y=m+e.getInsetBefore()+e.getInsetAfter();let x=(l-h)*e.getBoxDir();if(a[0]==="snap-block"){if(n===null)a[0]="block-start";else{let L=this.container.getPaddingRect(),M=this.container.getBoxDir()*(n-(this.container.vertical?L.x2:L.y1)),H=this.container.getBoxDir()*((this.container.vertical?L.x1:L.y2)-n-y);M<=H?a[0]="block-start":a[0]="block-end"}if(!o[a[0]])if(o["block-end"])a[0]="block-end";else return null}else if(a[0]==="snap-inline")if(n===null)a[0]="inline-start";else if(o["inline-start"])a[0]="inline-start";else if(o["inline-end"])a[0]="inline-end";else return null;if(!r&&x<y)return null;a[0]==="inline-start"||a[0]==="inline-end"||a[1]?w=Hr(e.clientLayout,e.element,["fit-content inline size"])["fit-content inline size"]:e.adjustContentRelativeSize?w=e.getContentInlineSize():w=e.vertical?e.height:e.width,b=w+e.getInsetStart()+e.getInsetEnd();let I=(p-c)*e.getInlineDir();if(!r&&I<b)return null}return h-=d,l-=d,c-=f,p-=f,a.some(x=>x==="inline-start"||x==="snap-inline")||a.length===1&&(a[0]==="block-start"||a[0]==="snap-block")?e.setInlinePosition(c,w):(a.some(x=>x==="inline-end")||a.length===1&&a[0]==="block-end")&&e.setInlinePosition(p-b*e.getInlineDir(),w),a.some(x=>x==="block-start"||x==="snap-block")||a.length===1&&(a[0]==="inline-start"||a[0]==="snap-inline")?e.setBlockPosition(h,m):(a.some(x=>x==="block-end")||a.length===1&&a[0]==="inline-end")&&e.setBlockPosition(l-y*e.getBoxDir(),m),a.join(" ")}getFloatFragmentExclusions(){let e=this.floatFragments.map(t=>t.getOuterShape());return this.parent?this.parent.getFloatFragmentExclusions().concat(e):e}reattachFloatFragments(){let e=this.container.element&&this.container.element.parentNode;e&&this.floatFragments.forEach(t=>{e.appendChild(t.area.element)})}getMaxReachedAfterEdge(){let e=this.getContainer().vertical;return this.floatFragments.reduce((t,i)=>{let n=i.getOuterRect();return e?Math.min(t,n.x1):Math.max(t,n.y2)},e?1/0:0)}getBlockStartEdgeOfBlockEndFloats(){let e=this.getContainer().vertical;return this.floatFragments.filter(t=>t.floatSide==="block-end").reduce((t,i)=>{let n=i.getOuterRect();return e?Math.max(t,n.x2):Math.min(t,n.y1)},e?0:1/0)}getPageFloatClearEdge(e,t){function i(h){return l=>h.isAnchorAlreadyAppeared(l.float.getId())}function n(h,l){return h.continuations.some(i(l))}let s=t.getPaddingRect(),r=t.vertical?s.x1:s.y2,o=this;for(;o;){if(o.floatsDeferredToNext.some(i(o)))return r;o=o.parent}t.clientLayout;let a=this.getLimitValue("block-start",t.layoutContext,t.clientLayout,n);return this.getLimitValue("block-end",t.layoutContext,t.clientLayout,n)*t.getBoxDir()<r*t.getBoxDir()?r:a}getPageFloatPlacementCondition(e,t,i){if(e.floatReference!==this.floatReference)return this.getParent(e.floatReference).getPageFloatPlacementCondition(e,t,i);let n={"block-start":!0,"block-end":!0,"inline-start":!0,"inline-end":!0};if(!i)return n;let s=this.toLogicalFloatSides(t)[0],r=this.toLogical(i),o;r==="all"?o=["block-start","block-end","inline-start","inline-end"]:r==="both"?o=["inline-start","inline-end"]:r==="same"?s==="snap-block"?o=["block-start","block-end"]:o=[s]:o=[r];let a=e.getOrder();function h(p){return d=>d.floatSide===p&&d.getOrder()<a}function l(p,d){return p.children.some(f=>f.floatFragments.some(h(d))||l(f,d))}function c(p,d){let f=p.parent;return!!f&&(f.floatFragments.some(h(d))||c(f,d))}return o.forEach(p=>{switch(p){case"block-start":case"inline-start":n[p]=!l(this,p);break;case"block-end":case"inline-end":n[p]=!c(this,p);break;default:throw new Error(`Unexpected side: ${p}`)}}),n}getLayoutConstraints(){return(this.parent?this.parent.getLayoutConstraints():[]).concat(this.layoutConstraints)}addLayoutConstraint(e,t){t===this.floatReference?this.layoutConstraints.push(e):this.getParent(t).addLayoutConstraint(e,t)}isColumnFullWithPageFloats(e){let t=e.layoutContext,i=e.clientLayout,n=this,s=null;for(;n&&n.container;){let o=n.getLimitValuesInner(t,i);s?e.vertical?(o.right<s.right&&(s.right=o.right,s.floatMinWrapBlockStart=o.floatMinWrapBlockStart),o.left>s.left&&(s.left=o.left,s.floatMinWrapBlockEnd=o.floatMinWrapBlockEnd)):(o.top>s.top&&(s.top=o.top,s.floatMinWrapBlockStart=o.floatMinWrapBlockStart),o.bottom<s.bottom&&(s.bottom=o.bottom,s.floatMinWrapBlockEnd=o.floatMinWrapBlockEnd)):s=o,n=n.parent}let r=Math.max(s.floatMinWrapBlockStart,s.floatMinWrapBlockEnd);return(e.vertical?s.right-s.left:s.bottom-s.top)<=r}getMaxBlockSizeOfPageFloats(){let e=this.getContainer().vertical;return this.floatFragments.length?Math.max.apply(null,this.floatFragments.map(t=>{let i=t.area;return e?i.width:i.height})):0}lock(){this.locked=!0}unlock(){this.locked=!1}isLocked(){return this.locked}},Li=[],Si=class{static register(e){Li.push(e)}findByNodeContext(e){for(let t=Li.length-1;t>=0;t--){let i=Li[t];if(i.appliesToNodeContext(e))return i}throw new Error(`No PageFloatLayoutStrategy found for ${e}`)}findByFloat(e){for(let t=Li.length-1;t>=0;t--){let i=Li[t];if(i.appliesToFloat(e))return i}throw new Error(`No PageFloatLayoutStrategy found for ${e}`)}},Hp=class{appliesToNodeContext(e){return gi(e.floatReference)}appliesToFloat(e){return!0}createPageFloat(e,t,i){let n=e.floatReference;e.floatSide;let s=e.floatSide,r=e.toNodePosition();return i.resolveFloatReferenceFromColumnSpan(n,e.columnSpan,e).thenAsync(o=>{n=o,t.flowName;let a=new bh(r,n,s,e.clearSide,t.flowName,e.floatMinWrapBlock);return t.addPageFloat(a),k(a)})}createPageFloatFragment(e,t,i,n){let s=e[0].float;return new vh(s.floatReference,t,e,i,n)}findPageFloatFragment(e,t){return t.findPageFloatFragment(e)}adjustPageFloatArea(e,t,i){}forbid(e,t){}};Si.register(new Hp);var $p=vh,er=class yh extends bh{constructor(t,i,n,s,r){super(t,i,"block-end",null,n,r),this.footnotePolicy=s}isAllowedToPrecede(t){return!(t instanceof yh)}},Qo=class extends $p{constructor(e,t,i,n){super(e,"block-end",t,i,n)}getOrder(){return 1/0}shouldBeStashedBefore(e){return e instanceof er?!0:this.getOrder()<e.getOrder()}},Gp=class{constructor(e){this.footnote=e}allowLayout(e){let t=e.toNodePosition();return!zt(t,this.footnote.nodePosition)}},Wp=class{appliesToNodeContext(e){return e.floatSide==="footnote"}appliesToFloat(e){return e instanceof er}createPageFloat(e,t,i){let n=Ae.REGION,s=t.getPageFloatLayoutContext(n);t.getPageFloatLayoutContext(Ae.PAGE).hasSameContainerAs(s)&&(n=Ae.PAGE);let r=e.toNodePosition();t.flowName;let o=new er(r,n,t.flowName,e.footnotePolicy,e.floatMinWrapBlock);return t.addPageFloat(o),k(o)}createPageFloatFragment(e,t,i,n){let s=e[0].float;return new Qo(s.floatReference,e,i,n)}findPageFloatFragment(e,t){let i=t.getPageFloatLayoutContext(e.floatReference).floatFragments.filter(n=>n instanceof Qo);return i.length<=1,i[0]||null}adjustPageFloatArea(e,t,i){e.isFootnote=!0,e.adjustContentRelativeSize=!1;let n=e.element;e.vertical=i.layoutContext.applyFootnoteStyle(t.vertical,i.layoutContext.nodeContext&&i.layoutContext.nodeContext.direction==="rtl",n),e.convertPercentageSizesToPx(n),i.setComputedInsets(n,e),i.setComputedWidthAndHeight(n,e)}forbid(e,t){let i=e;switch(i.footnotePolicy){case v.line:{let n=new Gp(i);t.addLayoutConstraint(n,i.floatReference);break}}}};Si.register(new Wp);var jp="data-vivliostyle-flow-root";function Xp(e){return e.getAttribute(jp)==="true"}function ea(e){let t=e?.toString()||"block",i;switch(t){case"inline-flex":i="flex";break;case"inline-grid":i="grid";break;case"inline-table":i="table";break;case"inline":case"table-row-group":case"table-column":case"table-column-group":case"table-header-group":case"table-footer-group":case"table-row":case"table-cell":case"table-caption":case"inline-block":i="block";break;default:i=t}return B(i)}function Gr(e){return e===v.absolute||e===v.fixed}function tr(e){return e instanceof Ni&&e.name==="running"}function xh(e,t,i,n){return e===v.none||(Gr(t)?(i=v.none,e=ea(e)):(i&&i!==v.none&&!J(i)||n)&&(e=ea(e))),{display:e,position:t,float:i}}function Sh(e,t,i,n){return xh(e,t,i,n).display===v.block}function qt(e){switch(e.toString()){case"inline":case"inline-block":case"inline-list-item":case"inline-flex":case"inline-grid":case"ruby":case"inline-table":return!0;default:return!1}}function Ch(e){switch(e.toString()){case"ruby-base":case"ruby-text":case"ruby-base-container":case"ruby-text-container":return!0;default:return!1}}function qp(e,t,i,n,s,r,o){return s=s||r||v.horizontal_tb,!!o||!!i&&i!==v.none&&!J(i)||Gr(t)||e===v.inline_block||e===v.table_cell||e===v.table_caption||e==v.flex||e==v.grid||e==v.flow_root||(e===v.block||e===v.list_item)&&!!n&&n!==v.visible&&n!==v.clip&&!J(n)||!!r&&s!==r}function Yp(e){return e===v.relative||e===v.absolute||e===v.fixed}function ai(e,t,i,n){let s=e.viewNode;if(!s)return NaN;let r=s.nodeType===1?s:s.parentElement;if(r&&r.namespaceURI==="http://www.w3.org/1999/xhtml"){let o=r.style;if(o&&qt(o.display)&&/^([\d\.]|super|(text-)?top)/.test(o.verticalAlign))return NaN}if(s===r){if(e.after||!e.inline){if(e.after&&!e.inline&&r.querySelector("ruby")){let a=r.parentNode,h=r.nextSibling;a.removeChild(r),a.insertBefore(r,h)}let o=t.getElementClientRect(r);if(o.left===0&&o.top===0&&o.right===0&&o.bottom===0)return NaN;if(o.right>=o.left&&o.bottom>=o.top)return e.after?n?o.left:o.bottom:n?o.right:o.top}return NaN}else{let o=NaN,a=s.ownerDocument.createRange(),h=s.textContent.length;if(!h)return NaN;e.after&&(i+=h),i>=h&&(i=h-1),a.setStart(s,i),a.setEnd(s,i+1);let l=t.getRangeClientRects(a);return l=l.filter(c=>c.right>c.left&&c.bottom>c.top),l.length?(n?o=Math.min.apply(null,l.map(c=>c.left)):o=Math.max.apply(null,l.map(c=>c.bottom)),o):NaN}}function ir(e,t,i){let n=t.clientLayout.getElementClientRect(e),s=t.getComputedMargin(e);return i?n.width+s.left+s.right:n.height+s.top+s.bottom}function hi(e){for(;e;){if(e.parentNode===e.ownerDocument)return!1;e=e.parentNode}return!0}function Eh(e,t){var i;if(e)for(let n=e.lastChild,s=n;n!==t;n=s)s=n.previousSibling,!(n.nodeType===1&&n.hasAttribute("data-vivliostyle-float-box-moved")&&((i=t.style)==null?void 0:i.display)==="inline")&&e.removeChild(n)}function Wr(e){return!!e.getAttribute(xi)}function Vi(e){var t;if(e?.nodeType!==1)return!1;let i=e;if(Wr(i))return!0;let n=(t=i.style)==null?void 0:t.position;return n==="absolute"||n==="fixed"}function ui(e){let t=e?.viewNode;return t?.nodeType===1&&Wr(t)}function Kp(e){return e!=="inline"&&(qt(e)||Ch(e))}function ta(e){var t;for(let i=e.parent;i;i=i.parent)if((i.display!=="inline"||i.vertical!==((t=i.parent)==null?void 0:t.vertical))&&qt(i.display))return i;return null}var jr=class{calculateOffset(e){return mi(this.getNodeContext(),e.collectElementsOffset())}breakPositionChosen(e){}getNodeContext(){return null}};function mi(e,t){return{current:t.reduce((i,n)=>i+n.calculateOffset(e),0),minimum:t.reduce((i,n)=>i+n.calculateMinimumOffset(e),0)}}var yn=class extends jr{constructor(e,t,i,n){super(),this.position=e,this.breakOnEdge=t,this.overflows=i,this.computedBlockSize=n,u(this,"overflowIfRepetitiveElementsDropped"),u(this,"isEdgeUpdated",!1),u(this,"edge",0),this.overflowIfRepetitiveElementsDropped=i}findAcceptableBreak(e,t){return this.updateOverflows(e),t<this.getMinBreakPenalty()?null:e.findEdgeBreakPosition(this)}getMinBreakPenalty(){if(!this.isEdgeUpdated)throw new Error("EdgeBreakPosition.prototype.updateEdge not called");let e=this.isFirstContentOfRepetitiveElementsOwner()&&!this.overflowIfRepetitiveElementsDropped;return(jn(this.breakOnEdge)?1:0)+(this.overflows&&!e?3:0)+(this.position.parent?this.position.parent.breakPenalty:0)}updateEdge(e){var t;let i=e.calculateClonedPaddingBorder(this.position);if(this.edge=ai(this.position,e.clientLayout,0,e.vertical)+i,!this.position.after&&!this.position.inline){let n=e.parseComputedLength(e.clientLayout.getElementComputedStyle(this.position.viewNode).marginBlockStart);this.edge-=(e.vertical?-1:1)*n}else if(this.position.after&&((t=this.position.shadowContext)==null?void 0:t.root.id)==="table-cell"){let n=e.element.parentElement,s=n?.closest("table, [style*='display: table;']");if(s){let r=s.style.borderCollapse==="collapse",o=0,a=0;for(let h=n;h;h=h.parentElement){let l=e.clientLayout.getElementComputedStyle(h);if((h===n||h===s&&!r)&&(o+=e.parseComputedLength(l.paddingBlockEnd)),h===s&&!r&&(o+=e.parseComputedLength(l.borderSpacing.replace(/^\S+ (\S+)$/,"$1"))),r?a=Math.max(a,e.parseComputedLength(l.borderBlockEndWidth)):(h===n||h===s)&&(a+=e.parseComputedLength(l.borderBlockEndWidth)),h===s)break}this.edge+=(e.vertical?-1:1)*(o+a)}}this.isEdgeUpdated=!0}updateOverflows(e){this.isEdgeUpdated||this.updateEdge(e);let t=this.edge,i=this.calculateOffset(e);this.overflowIfRepetitiveElementsDropped=e.isOverflown(t+(e.vertical?-1:1)*i.minimum),this.overflows=this.position.overflow=e.isOverflown(t+(e.vertical?-1:1)*i.current)}getNodeContext(){return this.position}isFirstContentOfRepetitiveElementsOwner(){let e=this.getNodeContext();if(!e||!e.parent)return!1;let{formattingContext:t}=e.parent;if(!Yt.isInstanceOfRepetitiveElementsOwnerFormattingContext(t))return!1;let i=t.getRepetitiveElements();return i?i.isFirstContentNode(e):!1}},Fi=class{find(e){let t=ft("RESOLVE_LAYOUT_PROCESSOR");for(let i=0;i<t.length;i++){let n=t[i](e);if(n)return n}throw new Error(`No processor found for a formatting context: ${e.getName()}`)}},ci=class{layout(e,t,i){return t.isFloatNodeContext(e)?t.layoutFloatOrFootnote(e):t.isBreakable(e)?t.layoutBreakableBlock(e):t.layoutUnbreakable(e)}createEdgeBreakPosition(e,t,i,n){return new yn(e.copy(),t,i,n)}startNonInlineElementNode(e){return!1}afterNonInlineElementNode(e,t){return!1}clearOverflownViewNodes(e,t,i,n){var s;if(!i.viewNode||!i.viewNode.parentNode||i.shadowType===Pt.ShadowType.ROOTLESS&&ui(i))return;let r=i.viewNode;((s=r.parentElement)==null?void 0:s.localName)==="viv-ts-inner"&&(r=r.parentElement.parentElement);let o=r.parentNode;Eh(o,r),n&&o.removeChild(r)}finishBreak(e,t,i,n){let s=i||t.viewNode!=null&&t.viewNode.nodeType==1&&!t.after;return e.clearOverflownViewNodes(t,s),n&&e.layoutContext.processFragmentedBlockEdge(t),k(!0)}},Xr=class{constructor(e){this.parent=e,u(this,"formattingContextType","Block")}getName(){return"Block formatting context (BlockFormattingContext)"}isFirstTime(e,t){return t}getParent(){return this.parent}saveState(){}restoreState(e){}},qr=new ci,Zp=Ks.isInstanceOfBlockFormattingContext;ut("RESOLVE_FORMATTING_CONTEXT",(e,t,i,n,s,r)=>{let o=e.parent;return!o&&e.formattingContext||o&&e.formattingContext!==o.formattingContext?null:e.establishesBFC||!e.formattingContext&&Sh(i,n,s,r)?new Xr(o?o.formattingContext:null):null});ut("RESOLVE_LAYOUT_PROCESSOR",e=>e instanceof Xr?qr:null);var Yr=class{constructor(){u(this,"initialBreakPositions",null),u(this,"initialStateOfFormattingContext",null),u(this,"initialPosition"),u(this,"initialFragmentLayoutConstraints")}layout(e,t){return this.prepareLayout(e,t),this.tryLayout(e,t)}tryLayout(e,t){let i=F("AbstractLayoutRetryer.tryLayout");this.saveState(e,t);let n=this.resolveLayoutMode(e);return n.doLayout(e,t).then(s=>{let r=n.accept(s,t);r=n.postLayout(s,this.initialPosition,t,r),r?i.finish(s):(this.initialPosition,this.clearNodes(this.initialPosition),this.restoreState(e,t),this.tryLayout(this.initialPosition,t).thenFinish(i))}),i.result()}prepareLayout(e,t){}clearNodes(e){let t=e.viewNode||e.parent.viewNode,i;for(;i=t.lastChild;)t.removeChild(i);let n;for(;n=t.nextSibling;)n.parentNode.removeChild(n)}saveState(e,t){this.initialPosition=e.copy(),this.initialBreakPositions=[].concat(t.breakPositions),this.initialFragmentLayoutConstraints=[].concat(t.fragmentLayoutConstraints),e.formattingContext&&(this.initialStateOfFormattingContext=e.formattingContext.saveState())}restoreState(e,t){t.breakPositions=this.initialBreakPositions,t.fragmentLayoutConstraints=this.initialFragmentLayoutConstraints,e.formattingContext&&e.formattingContext.restoreState(this.initialStateOfFormattingContext)}},Jp=class{initialState(e){return{nodeContext:e,atUnforcedBreak:!1,break:!1}}startNonDisplayableNode(e){}afterNonDisplayableNode(e){}startIgnoredTextNode(e){}afterIgnoredTextNode(e){}startNonElementNode(e){}afterNonElementNode(e){}startInlineElementNode(e){}afterInlineElementNode(e){}startNonInlineElementNode(e){}afterNonInlineElementNode(e){}finish(e){}},nr=class{constructor(e,t){this.strategy=e,this.layoutContext=t}iterate(e){let t=this.strategy,i=t.initialState(e),n=F("LayoutIterator");return n.loopWithFrame(s=>{let r;for(;i.nodeContext;){i.nodeContext.viewNode?i.nodeContext.viewNode.nodeType!==1?Ve(i.nodeContext.viewNode,i.nodeContext.whitespace)?i.nodeContext.after?r=t.afterIgnoredTextNode(i):r=t.startIgnoredTextNode(i):i.nodeContext.after?r=t.afterNonElementNode(i):r=t.startNonElementNode(i):i.nodeContext.inline?i.nodeContext.after?r=t.afterInlineElementNode(i):r=t.startInlineElementNode(i):i.nodeContext.after?r=t.afterNonInlineElementNode(i):r=t.startNonInlineElementNode(i):i.nodeContext.after?r=t.afterNonDisplayableNode(i):r=t.startNonDisplayableNode(i);let o=(r&&r.isPending()?r:k(!0)).thenAsync(()=>i.break?k(null):this.layoutContext.nextInTree(i.nodeContext,i.atUnforcedBreak));if(o.isPending()){o.then(a=>{i.break?s.breakLoop():(i.nodeContext=a,s.continueLoop())});return}else if(i.break){s.breakLoop();return}else i.nodeContext=o.get()}t.finish(i),s.breakLoop()}).then(()=>{n.finish(i.nodeContext)}),n.result()}},Xi=class extends Jp{constructor(e){super(),this.leadingEdge=e}startNonInlineBox(e){}endEmptyNonInlineBox(e){}endNonInlineBox(e){}initialState(e){return{nodeContext:e,atUnforcedBreak:!!this.leadingEdge&&e.after,break:!1,leadingEdge:this.leadingEdge,breakAtTheEdge:null,onStartEdges:!1,leadingEdgeContexts:[],lastAfterNodeContext:null}}processForcedBreak(e,t){let i=!e.leadingEdge&&Ze(e.breakAtTheEdge);if(i){let n=e.nodeContext=e.leadingEdgeContexts[0]||e.nodeContext;n.viewNode.parentNode.removeChild(n.viewNode),t.pageBreakType=e.breakAtTheEdge}return i}saveEdgeAndProcessOverflow(e,t){let i=t.checkOverflowAndSaveEdgeAndBreakPosition(e.lastAfterNodeContext,null,!0,e.breakAtTheEdge);return i&&(e.nodeContext=(e.lastAfterNodeContext||e.nodeContext).modify(),e.nodeContext.overflow=!0),i}processLayoutConstraint(e,t,i){let n=e.nodeContext,s=!t.allowLayout(n);return s&&(i.checkOverflowAndSaveEdgeAndBreakPosition(e.lastAfterNodeContext,null,!1,e.breakAtTheEdge),n=e.nodeContext=n.modify(),n.overflow=!0),s}startNonElementNode(e){e.onStartEdges=!1}startNonInlineElementNode(e){return e.leadingEdgeContexts.push(e.nodeContext.copy()),e.breakAtTheEdge=Xe(e.breakAtTheEdge,e.nodeContext.breakBefore),e.onStartEdges=!0,this.startNonInlineBox(e)}afterNonInlineElementNode(e){let t,i;return e.onStartEdges?(t=this.endEmptyNonInlineBox(e),i=t&&t.isPending()?t:k(!0),i=i.thenAsync(()=>(e.break||(e.leadingEdgeContexts=[],e.leadingEdge=!1,e.atUnforcedBreak=!1,e.breakAtTheEdge=null),k(!0)))):(t=this.endNonInlineBox(e),i=t&&t.isPending()?t:k(!0)),i.thenAsync(()=>(e.break||(e.onStartEdges=!1,e.lastAfterNodeContext=e.nodeContext.copy(),e.breakAtTheEdge=Xe(e.breakAtTheEdge,e.nodeContext.breakAfter)),k(!0)))}},sr=[];function Qp(){sr=[]}function kh(e,t,i){return e-=i,t===0?e===0:e%t===0&&e/t>=0}var ef=class{constructor(e){this.matchers=e}matches(){return this.matchers.some(e=>e.matches())}},tf=class{constructor(e){this.matchers=e}matches(){return this.matchers.every(e=>e.matches())}},Nh=class Bn{constructor(t,i,n){this.elementOffset=t,this.a=i,this.b=n}static registerFragmentIndex(t,i,n){let s=Bn.fragmentIndices;(!s[t]||s[t].priority<=n)&&(s[t]={fragmentIndex:i,priority:n})}static clearFragmentIndices(){Bn.fragmentIndices={}}matches(){let t=Bn.fragmentIndices[this.elementOffset];return t!=null&&t.fragmentIndex!=null&&kh(t.fragmentIndex,this.a,this.b)}};u(Nh,"fragmentIndices",{});var us=Nh,Tn=class{static buildViewConditionMatcher(e,t){let i=t.split("_");return i[0]=="NFS"?new us(e,parseInt(i[1],10),parseInt(i[2],10)):(`${t}`,null)}static buildAllMatcher(e){return new tf(e)}static buildAnyMatcher(e){return new ef(e)}},Ph={"border-collapse":!0,"border-spacing":!0,"caption-side":!0,"clip-rule":!0,color:!0,"color-interpolation":!0,"color-rendering":!0,cursor:!0,direction:!0,"empty-cells":!0,fill:!0,"fill-opacity":!0,"fill-rule":!0,"font-kerning":!0,"font-size":!0,"font-size-adjust":!0,"font-family":!0,"font-feature-settings":!0,"font-style":!0,"font-stretch":!0,"font-variant-ligatures":!0,"font-variant-caps":!0,"font-variant-numeric":!0,"font-variant-east-asian":!0,"font-weight":!0,"glyph-orientation-vertical":!0,"hanging-punctuation":!0,hyphens:!0,"hyphenate-character":!0,"hyphenate-limit-chars":!0,"hyphenate-limit-last":!0,"image-rendering":!0,"image-resolution":!0,"letter-spacing":!0,"line-break":!0,"line-height":!0,"list-style-image":!0,"list-style-position":!0,"list-style-type":!0,marker:!0,"marker-end":!0,"marker-mid":!0,"marker-start":!0,orphans:!0,"overflow-wrap":!0,"paint-order":!0,"pointer-events":!0,quotes:!0,"ruby-align":!0,"ruby-position":!0,"shape-rendering":!0,stroke:!0,"stroke-dasharray":!0,"stroke-dashoffset":!0,"stroke-linecap":!0,"stroke-linejoin":!0,"stroke-miterlimit":!0,"stroke-opacity":!0,"stroke-width":!0,"tab-size":!0,"text-align":!0,"text-align-last":!0,"text-anchor":!0,"text-autospace":!0,"text-decoration-skip":!0,"text-decoration-skip-ink":!0,"text-emphasis-color":!0,"text-emphasis-position":!0,"text-emphasis-style":!0,"text-fill-color":!0,"text-combine-upright":!0,"text-indent":!0,"text-justify":!0,"text-orientation":!0,"text-rendering":!0,"text-shadow":!0,"text-size-adjust":!0,"text-spacing-trim":!0,"text-stroke-color":!0,"text-stroke-width":!0,"text-transform":!0,"text-underline-offset":!0,"text-underline-position":!0,"text-wrap":!0,"text-wrap-mode":!0,"text-wrap-style":!0,visibility:!0,"white-space":!0,widows:!0,"word-break":!0,"word-spacing":!0,"writing-mode":!0},nf=["image-resolution","orphans","widows"];function sf(){return ft("POLYFILLED_INHERITED_PROPS").reduce((e,t)=>e.concat(t()),[].concat(nf))}var rf={"http://www.idpf.org/2007/ops":!0,"http://www.w3.org/1999/xhtml":!0,"http://www.w3.org/2000/svg":!0,"http://www.w3.org/1998/Math/MathML":!0},rr=["margin-%","padding-%","border-%-width","border-%-style","border-%-color","%"],of=["max-%","min-%","%"],ia=(()=>{let e=["left","right","top","bottom"],t={width:!0,height:!0,"max-width":!0,"max-height":!0,"min-width":!0,"min-height":!0};for(let i=0;i<rr.length;i++)for(let n=0;n<e.length;n++){let s=rr[i].replace("%",e[n]);t[s]=!0}return t})();function Ti(e,t){let i={};for(let n of rr)for(let s in e){let r=n.replace("%",s),o=n.replace("%",e[s]);i[r]=o,i[o]=r}for(let n of of)for(let s in t){let r=n.replace("%",s),o=n.replace("%",t[s]);i[r]=o,i[o]=r}return i}var Th=Ti({"block-start":"right","block-end":"left","inline-start":"top","inline-end":"bottom"},{"block-size":"width","inline-size":"height"}),Ih=Ti({"block-start":"top","block-end":"bottom","inline-start":"left","inline-end":"right"},{"block-size":"height","inline-size":"width"}),af=Ti({"block-start":"right","block-end":"left","inline-start":"bottom","inline-end":"top"},{"block-size":"width","inline-size":"height"}),lf=Ti({"block-start":"top","block-end":"bottom","inline-start":"right","inline-end":"left"},{"block-size":"height","inline-size":"width"}),hf=Ti({inside:"right",outside:"left"},{}),uf=Ti({inside:"left",outside:"right"},{}),q=class or{constructor(t,i){this.value=t,this.priority=i}getBaseValue(){return this}filterValue(t){let i=this.value.visit(t);return i===this.value?this:new or(i,this.priority)}increaseSpecificity(t){return t==0?this:new or(this.value,this.priority+t)}evaluate(t,i,n,s){return i&&Nt(i)?this.value:Jn(t,this.value,i,n,s)}isEnabled(t){return!0}},ar=class lr extends q{constructor(t,i,n){super(t,i),this.condition=n}getBaseValue(){return new q(this.value,this.priority)}filterValue(t){let i=this.value.visit(t);return i===this.value?this:new lr(i,this.priority,this.condition)}increaseSpecificity(t){return t==0?this:new lr(this.value,this.priority+t,this.condition)}isEnabled(t){try{return!!this.condition.evaluate(t)}catch(i){V.warn(i)}return!1}};function hr(e,t,i){return(!t||i.priority>=t.priority)&&i.isEnabled(e)?i.getBaseValue():t}function Tt(e,t,i,n){if(e)if(!i)delete e[t];else{let s=e[t];(!s||i.priority>=s.priority)&&(n?i.isEnabled(n)&&(e[t]=i.getBaseValue()):e[t]=i)}}var Rh={"region-id":!0,"fragment-selector-id":!0};function cf(e){return!!Rh[e]}function ur(e){return e.charAt(0)==="_"&&e!=="_viewConditionalStyles"}function wi(e){return e.charAt(0)!=="_"&&!Rh[e]}function qi(e){return!!Ph[e]||Nt(e)}function Ue(e,t){return e[t]}function Kt(e,t,i){i?e[t]=i:delete e[t]}function pt(e,t){return e[t]}function cs(e,t){let i=e[t];return i||(i={},e[t]=i),i}var Ah=e=>{let t=e._viewConditionalStyles;return t||(t=[],e._viewConditionalStyles=t),t};function Lh(e,t){return e[t]}function Fh(e,t){let i=e[t];return i||(i=[],e[t]=i),i}function Zn(e,t,i,n,s,r,o){var a,h;if([{id:s,styleKey:"_pseudos"},{id:r,styleKey:"_regions"}].forEach(l=>{if(l.id){let c=cs(t,l.styleKey);t=c[l.id],t||(t={},c[l.id]=t)}}),o){let l=Ah(t);t={},l.push({styles:t,matcher:o})}for(let l in i)if(!ur(l))if(cf(l)){let c=Lh(i,l),p=Fh(t,l);Array.prototype.push.apply(p,c)}else{let c=Ue(i,l);if(!c.isEnabled(e))continue;let p=c.increaseSpecificity(n);Tt(t,l,p,e);let d=(h=(a=e.style)==null?void 0:a.validatorSet.shorthands[l])==null?void 0:h.propList;if(d)for(let f of d){let g=new q(G,p.priority);Tt(t,f,g,e)}}}function df(e,t){let i={};for(let n=0;n<t.length;n++)Zn(e,i,t[n],0,null,null,null);return i}function Oh(e,t){if(e.length>0){e.sort((n,s)=>s.getPriority()-n.getPriority());let i=null;for(let n=e.length-1;n>=0;n--)i=e[n],i.chained=t,t=i;return i}return t}var pf=class extends ki{constructor(e,t){super(),this.props=e,this.context=t,u(this,"propName","")}setPropName(e){this.propName=e}getFontSize(){let e=Ue(this.props,"font-size");if(!e.value.isNumeric())return me.em;let t=e.value;if(!Hc(t.unit))throw new Error("Unexpected state");return t.num*me[t.unit]}visitNumeric(e){return this.context,this.propName==="font-size"?Bh(e,this.getFontSize(),this.context):e.unit==="em"||e.unit==="ex"||e.unit==="rem"||e.unit==="lh"||e.unit==="rlh"?Kr(e,this.getFontSize(),this.context):e}visitExpr(e){return this.propName=="font-size"?Jn(this.context,e,this.propName).visit(this):e}};function Kr(e,t,i){let n=e.unit,s=e.num;if(n==="em"||n==="ex"){let r=me[n]/me.em;return new T(s*r*t,"px")}else return n==="rem"?new T(s*i.fontSize(),"px"):n==="rlh"?new T(s*i.rootLineHeight,"px"):e}function Bh(e,t,i){e=Kr(e,t,i);let n=e.unit,s=e.num;return n==="px"?e:n==="%"?new T(s/100*t,"px"):new T(s*i.queryUnitSize(n,!1),"px")}var Ii=class{apply(e){}mergeWith(e){return new ff([this,e])}clone(){return this}},In=class extends Ii{constructor(e){super(),this.conditionItem=e}apply(e){e.pushConditionItem(this.conditionItem.fresh(e))}},ff=class _h extends Ii{constructor(t){super(),this.list=t}apply(t){for(let i=0;i<this.list.length;i++)this.list[i].apply(t)}mergeWith(t){return this.list.push(t),this}clone(){return new _h([].concat(this.list))}},Zr=class extends Ii{constructor(e,t,i,n,s){super(),this.style=e,this.specificity=t,this.pseudoelement=i,this.regionId=n,this.viewConditionId=s}apply(e){Zn(e.context,e.currentStyle,this.style,this.specificity,this.pseudoelement,this.regionId,e.buildViewConditionMatcher(this.viewConditionId))}},fe=class extends Ii{constructor(){super(),u(this,"chained",null)}apply(e){this.chained.apply(e)}getPriority(){return 0}makePrimary(e){return!1}},gf=class extends fe{constructor(e){super(),this.className=e}apply(e){e.currentClassNames.includes(this.className)&&this.chained.apply(e)}getPriority(){return 10}makePrimary(e){return this.chained&&e.insertInTable(e.classes,this.className,this.chained),!0}},mf=class extends fe{constructor(e){super(),this.id=e}apply(e){(e.currentId==this.id||e.currentXmlId==this.id)&&this.chained.apply(e)}getPriority(){return 11}makePrimary(e){return this.chained&&e.insertInTable(e.ids,this.id,this.chained),!0}},na=class extends fe{constructor(e){super(),this.localName=e}apply(e){e.currentLocalName==this.localName&&this.chained.apply(e)}getPriority(){return 8}makePrimary(e){return this.chained&&e.insertInTable(e.tags,this.localName,this.chained),!0}},wf=class extends fe{constructor(e,t){super(),this.ns=e,this.localName=t}apply(e){e.currentLocalName==this.localName&&e.currentNamespace==this.ns&&this.chained.apply(e)}getPriority(){return 8}makePrimary(e){if(this.chained){let t=e.nsPrefix[this.ns];t||(t=`ns${e.nsCount++}:`,e.nsPrefix[this.ns]=t);let i=t+this.localName;e.insertInTable(e.nstags,i,this.chained)}return!0}},bf=class extends fe{constructor(e,t){super(),this.epubTypePatt=e,this.targetLocalName=t}apply(e){let t=e.currentElement;if(t instanceof HTMLAnchorElement&&t.hash&&t.href==t.baseURI.replace(/#.*$/,"")+t.hash){let i=t.hash.substring(1),n=t.ownerDocument.getElementById(i);if(n&&(!this.targetLocalName||n.localName==this.targetLocalName)){let s=n.getAttributeNS("http://www.idpf.org/2007/ops","type")||n.getAttribute("epub:type");s&&s.match(this.epubTypePatt)&&this.chained.apply(e)}}}},vf=class extends fe{constructor(e){super(),this.ns=e}apply(e){e.currentNamespace==this.ns&&this.chained.apply(e)}};function ds(e,t,i,n){if(!e)return!1;if(t!==null)return n(e,t,i);for(let s of e.getAttributeNames())if((s===i||s.endsWith(`:${i}`))&&n(e,s===i?"":e.lookupNamespaceURI(s.split(":")[0]),i))return!0;return!1}var sa=class extends fe{constructor(e,t){super(),this.ns=e,this.name=t}apply(e){ds(e.currentElement,this.ns,this.name,(t,i,n)=>t.hasAttributeNS(i,n))&&this.chained.apply(e)}},yf=class extends fe{constructor(e,t,i){super(),this.ns=e,this.name=t,this.value=i}apply(e){ds(e.currentElement,this.ns,this.name,(t,i,n)=>t.getAttributeNS(i,n)==this.value)&&this.chained.apply(e)}getPriority(){return this.name=="type"&&this.ns=="http://www.idpf.org/2007/ops"?9:0}makePrimary(e){return this.name=="type"&&this.ns=="http://www.idpf.org/2007/ops"?(this.chained&&e.insertInTable(e.epubtypes,this.value,this.chained),!0):!1}},xf=class extends fe{constructor(e,t){super(),this.ns=e,this.name=t}apply(e){ds(e.currentElement,this.ns,this.name,(t,i,n)=>!!rf[t.getAttributeNS(i,n)])&&this.chained.apply(e)}getPriority(){return 0}makePrimary(e){return!1}},Oi=class extends fe{constructor(e,t,i){super(),this.ns=e,this.name=t,this.regexp=i}apply(e){ds(e.currentElement,this.ns,this.name,(t,i,n)=>{var s;return!!((s=t.getAttributeNS(i,n))!=null&&s.match(this.regexp))})&&this.chained.apply(e)}},Sf=class extends fe{constructor(e){super(),this.langRegExp=e}apply(e){e.lang.match(this.langRegExp)&&this.chained.apply(e)}},ra=class extends fe{constructor(){super()}apply(e){e.isFirst&&this.chained.apply(e)}getPriority(){return 6}},Cf=class extends fe{constructor(){super()}apply(e){e.isRoot&&this.chained.apply(e)}getPriority(){return 12}},xn=class extends fe{constructor(e,t){super(),this.a=e,this.b=t}matchANPlusB(e){return kh(e,this.a,this.b)}},Ef=class extends xn{constructor(e,t){super(e,t)}apply(e){this.matchANPlusB(e.currentSiblingOrder)&&this.chained.apply(e)}getPriority(){return 5}},cr=class extends xn{constructor(e,t){super(e,t)}apply(e){let t=e.currentSiblingTypeCounts[e.currentNamespace][e.currentLocalName];this.matchANPlusB(t)&&this.chained.apply(e)}getPriority(){return 5}},dr=class extends xn{constructor(e,t){super(e,t)}apply(e){let t=e.currentFollowingSiblingOrder;t===null&&(t=e.currentFollowingSiblingOrder=e.currentElement.parentNode.childElementCount-e.currentSiblingOrder+1),this.matchANPlusB(t)&&this.chained.apply(e)}getPriority(){return 4}},pr=class extends xn{constructor(e,t){super(e,t)}apply(e){let t=e.currentFollowingSiblingTypeCounts;if(!t[e.currentNamespace]){let i=e.currentElement;do{let n=i.namespaceURI,s=i.localName,r=t[n];r||(r=t[n]={}),r[s]=(r[s]||0)+1}while(i=i.nextElementSibling)}this.matchANPlusB(t[e.currentNamespace][e.currentLocalName])&&this.chained.apply(e)}getPriority(){return 4}},kf=class extends fe{constructor(){super()}apply(e){let t=e.currentElement.firstChild;for(;t;){switch(t.nodeType){case Node.ELEMENT_NODE:return;case Node.TEXT_NODE:if(t.length>0)return}t=t.nextSibling}this.chained.apply(e)}getPriority(){return 4}},Nf=class extends fe{constructor(){super()}apply(e){e.currentElement.disabled===!1&&this.chained.apply(e)}getPriority(){return 5}},Pf=class extends fe{constructor(){super()}apply(e){e.currentElement.disabled===!0&&this.chained.apply(e)}getPriority(){return 5}},Tf=class extends fe{constructor(){super()}apply(e){let t=e.currentElement;(t.selected===!0||t.checked===!0)&&this.chained.apply(e)}getPriority(){return 5}},Ge=class extends fe{constructor(e){super(),this.condition=e}apply(e){if(e.conditions[this.condition])try{e.dependentConditions.push(this.condition),this.chained.apply(e)}finally{e.dependentConditions.pop()}}getPriority(){return 5}},If=class Mh extends Ii{constructor(){super(),u(this,"applied",!1)}apply(t){this.applied=!0}clone(){let t=new Mh;return t.applied=this.applied,t}},Jr=class extends fe{constructor(e){super(),u(this,"checkAppliedAction"),u(this,"firstActions",[]),this.checkAppliedAction=new If;for(let t of e)this.firstActions.push(Oh(t,this.checkAppliedAction))}apply(e){for(let t of this.firstActions)if(t.apply(e),this.checkAppliedAction.applied)break;this.checkAppliedAction.applied===this.positive()&&this.chained.apply(e),this.checkAppliedAction.applied=!1}getPriority(){return Math.max(...this.firstActions.map(e=>e instanceof fe?e.getPriority():0))}positive(){return!0}relational(){return!1}},Rf=class extends Jr{positive(){return!1}},Af=class extends Jr{constructor(e){super([]),this.selectorTexts=e}apply(e){for(let t of this.selectorTexts){let i,n;/^\s*[+~]/.test(t)?(n=e.currentElement.parentNode,i=`:scope > :nth-child(${Array.from(n.children).indexOf(e.currentElement)+1}) ${t}`):(n=e.currentElement,i=`:scope ${t}`);try{if(n.querySelector(i)){this.checkAppliedAction.apply(e);break}}catch{}}this.checkAppliedAction.applied&&this.chained.apply(e),this.checkAppliedAction.applied=!1}relational(){return!0}},ps=class{constructor(e,t,i){this.condition=e,this.viewConditionId=t,this.viewCondition=i}increment(e){e.increment(this.condition,this.viewCondition)}decrement(e){e.decrement(this.condition,this.viewCondition)}buildViewConditionMatcher(e){return e.buildViewConditionMatcher(this.viewConditionId)}},Lf=class zh extends ps{constructor(t,i,n){super(t,i,n)}fresh(t){return new zh(this.condition,this.viewConditionId,this.buildViewConditionMatcher(t))}push(t,i){return i==0&&this.increment(t),!1}pop(t,i){return i==0?(this.decrement(t),!0):!1}},Ff=class Dh extends ps{constructor(t,i,n){super(t,i,n)}fresh(t){return new Dh(this.condition,this.viewConditionId,this.buildViewConditionMatcher(t))}push(t,i){return i==0?this.increment(t):i==1&&this.decrement(t),!1}pop(t,i){return i==0?(this.decrement(t),!0):(i==1&&this.increment(t),!1)}},Of=class Vh extends ps{constructor(t,i,n){super(t,i,n),u(this,"fired",!1)}fresh(t){return new Vh(this.condition,this.viewConditionId,this.buildViewConditionMatcher(t))}push(t,i){return this.fired?(this.decrement(t),!0):!1}pop(t,i){return this.fired?(this.decrement(t),!0):(i==0&&(this.fired=!0,this.increment(t)),!1)}},Bf=class Uh extends ps{constructor(t,i,n){super(t,i,n),u(this,"fired",!1)}fresh(t){return new Uh(this.condition,this.viewConditionId,this.buildViewConditionMatcher(t))}push(t,i){return this.fired&&(i==-1?this.increment(t):i==0&&this.decrement(t)),!1}pop(t,i){if(this.fired){if(i==-1)return this.decrement(t),!0;i==0&&this.increment(t)}else i==0&&(this.fired=!0,this.increment(t));return!1}},_f=class{constructor(e,t){this.afterprop=e,this.element=t}fresh(e){return this}push(e,t){return!1}pop(e,t){return t==0?(e.processPseudoelementProps(this.afterprop,this.element),!0):!1}},Mf=class{constructor(e){this.lang=e}fresh(e){return this}push(e,t){return!1}pop(e,t){return t==0?(e.lang=this.lang,!0):!1}},zf=class{constructor(e){this.oldQuotes=e}fresh(e){return this}push(e,t){return!1}pop(e,t){return t==0?(e.quotes=this.oldQuotes,!0):!1}},Df=class extends ki{constructor(e){super(),this.element=e}createValueFromString(e,t){switch(t){case"url":return e?new dt(e):new dt("about:invalid");case"string":default:return e?new Le(e):new Le("")}}visitFunc(e){if(e.name!=="attr")return super.visitFunc(e);let t="string",i=null,n=null;if(e.values[0]instanceof ye){let s=e.values[0].values;s.length>=2&&(t=s[1].stringValue()),i=s[0].stringValue()}else i=e.values[0].stringValue();return e.values.length>1?n=this.createValueFromString(e.values[1].stringValue(),t):n=this.createValueFromString(null,t),this.element&&this.element.hasAttribute(i)?this.createValueFromString(this.element.getAttribute(i),t):n}};function Yi(e){if(Vt(e)){if(e instanceof Le)return e.stringValue();if(e instanceof ye)return e.values.map(t=>Yi(t)).join("")}return""}var fr=class extends ki{constructor(e,t,i){super(),this.cascade=e,this.element=t,this.counterResolver=i}visitIdent(e){let t=this.cascade,i=t.quotes,n=Math.floor(i.length/2)-1;switch(e.name){case"open-quote":{let s=i[2*Math.min(n,t.quoteDepth)];return t.quoteDepth++,s}case"close-quote":return t.quoteDepth>0&&t.quoteDepth--,i[2*Math.min(n,t.quoteDepth)+1];case"no-open-quote":return t.quoteDepth++,new Le("");case"no-close-quote":return t.quoteDepth>0&&t.quoteDepth--,new Le("")}return e}format(e,t){let i=!1,n=!1,s;(s=t.match(/^upper-(.*)/))!=null?(i=!0,t=s[1]):(s=t.match(/^lower-(.*)/))!=null&&(n=!0,t=s[1]);let r="";return oa[t]?r=Uf(oa[t],e):aa[t]?r=$f(aa[t],e):la[t]!=null?r=la[t]:t=="decimal-leading-zero"?(r=`${e}`,r.length==1&&(r=`0${r}`)):t=="cjk-ideographic"||t=="trad-chinese-informal"?r=Wf(e,Gf):r=`${e}`,i?r.toUpperCase():n?r.toLowerCase():r}visitFuncCounter(e){let t=e[0].toString(),i=e.length>1?e[1].stringValue():"decimal",n=this.cascade.counters[t];if(n&&n.length){let s=n&&n.length&&n[n.length-1]||0;return new Le(this.format(s,i))}else{let s=new z(this.counterResolver.getPageCounterVal(t,r=>this.format(r||0,i)));return new ye([s])}}visitFuncCounters(e){let t=e[0].toString(),i=e[1].stringValue(),n=e.length>2?e[2].stringValue():"decimal",s=this.cascade.counters[t],r=new kt;if(s&&s.length)for(let a=0;a<s.length;a++)a>0&&r.append(i),r.append(this.format(s[a],n));let o=new z(this.counterResolver.getPageCountersVal(t,a=>{let h=[];if(a.length)for(let c=0;c<a.length;c++)h.push(this.format(a[c],n));let l=r.toString();return l.length&&h.push(l),h.length?h.join(i):this.format(0,n)}));return new ye([o])}visitFuncTargetCounter(e){let t=e[0],i;t instanceof dt?i=t.url:i=t.stringValue();let n=e[1].toString(),s=e.length>2?e[2].stringValue():"decimal",r=new z(this.counterResolver.getTargetCounterVal(i,n,o=>this.format(o||0,s)));return new ye([r])}visitFuncTargetCounters(e){let t=e[0],i;t instanceof dt?i=t.url:i=t.stringValue();let n=e[1].toString(),s=e[2].stringValue(),r=e.length>3?e[3].stringValue():"decimal",o=new z(this.counterResolver.getTargetCountersVal(i,n,a=>{let h=a.map(l=>this.format(l,r));return h.length?h.join(s):this.format(0,r)}));return new ye([o])}visitFuncString(e){let t=e.length>0?e[0].stringValue():"",i=e.length>1?e[1].stringValue():"first";return new z(this.counterResolver.getNamedStringVal(t,i))}visitFuncElement(e){let t=e.length>0?e[0].stringValue():"",i=e.length>1?e[1].stringValue():"first";return new z(this.counterResolver.getRunningElementVal(t,i))}visitFuncContent(e){var t,i,n,s,r,o;let a=e.length>0?e[0].stringValue():"text",h="";switch(a){case"text":h=this.element.textContent;break;case"before":case"after":{let l=pt(this.cascade.currentStyle,"_pseudos"),c=(i=(t=l?.[a])==null?void 0:t.content)==null?void 0:i.value;h=Yi(c)}break;case"first-letter":{let l=pt(this.cascade.currentStyle,"_pseudos"),c=(Yi((s=(n=l?.before)==null?void 0:n.content)==null?void 0:s.value)||this.element.textContent||Yi((o=(r=l?.after)==null?void 0:r.content)==null?void 0:o.value)).match(Bs);h=c?c[0]:""}break}return new Le(h)}visitFuncLeader(e){let t="";if(e[0]instanceof nt)switch(e[0].stringValue()){case"dotted":t=".";break;case"solid":t="_";break;case"space":t=" ";break}else e[0]instanceof Le&&(t=e[0].stringValue());return t.length==0?new Le(""):new z(new De(null,()=>t,"viv-leader"))}visitFunc(e){switch(e.name){case"counter":if(e.values.length<=2)return this.visitFuncCounter(e.values);break;case"counters":if(e.values.length<=3)return this.visitFuncCounters(e.values);break;case"target-counter":if(e.values.length<=3)return this.visitFuncTargetCounter(e.values);break;case"target-counters":if(e.values.length<=4)return this.visitFuncTargetCounters(e.values);break;case"string":if(e.values.length<=2)return this.visitFuncString(e.values);break;case"element":if(e.values.length<=2)return this.visitFuncElement(e.values);break;case"content":if(e.values.length<=1)return this.visitFuncContent(e.values);break;case"leader":if(e.values.length<=1)return this.visitFuncLeader(e.values);break}return e}},Vf=(e,t,i)=>{let n=t.filter(h=>h.after&&h.viewNode.nodeType===1&&h.viewNode.getAttribute("data-viv-leader"));for(let h of n){let l=function(ce){if(x==="rtl"){let de="\u200F";g.textContent=(ce.startsWith(de)?"":de)+ce+(ce.endsWith(de)?"":de)}else g.textContent=ce},c=function(){let ce=i.clientLayout.getElementClientRect(m);return L.left>ce.left||L.right<ce.right||L.top>ce.top||L.bottom<ce.bottom},p=function(){let ce,de;if(l(y),c())ce=1,de=y.length/w.length;else{ce=y.length/w.length,de=ce;for(let S=0;S<16;S++){let P=y;for(let C=0;C<1<<S;C++)P+=w;if(l(P),c()){de+=1<<S;break}}}for(let S=0;S<16;S++){let P="",C=Math.floor((ce+de)/2);for(let E=0;E<C;E++)P+=w;if(l(P),c())de=C;else{if(ce==C)return;ce=C}}l(w)},d=function(ce){let de=0,S=m.parentElement;for(;S&&S!==f.viewNode;)de+=i.getComputedInsets(S)[ce],S=S.parentElement;return de};var s=l,r=c,o=p,a=d;let f=h.parent;for(;f&&f.inline;)f=f.parent;let g=h.viewNode,m=g.parentElement,w=g.getAttribute("data-viv-leader-value"),y=g.textContent||w,{writingMode:b,direction:x,marginInlineEnd:I}=i.clientLayout.getElementComputedStyle(m);g.style.marginInlineStart="1px",l(w),m.style.display="inline-block",m.style.textIndent="0";let L=i.clientLayout.getElementClientRect(f.viewNode),M=i.clientLayout.getElementClientRect(m),H=i.parseComputedLength(I);b==="vertical-rl"||b==="vertical-lr"?(x==="rtl"?L.top+=H:L.bottom-=H,L.left=M.left,L.right=M.right,L.top=Math.min(M.top,L.top),L.bottom=Math.max(M.bottom,L.bottom)):(x==="rtl"?L.left+=H:L.right-=H,L.top=M.top,L.bottom=M.bottom,L.left=Math.min(M.left,L.left),L.right=Math.max(M.right,L.right)),p();let W=i.clientLayout.getElementClientRect(m);x=="rtl"?m.style.float="left":m.style.float="right";let se=i.clientLayout.getElementClientRect(m),He=0;x=="rtl"?b=="vertical-rl"||b=="vertical-lr"?He=W.top-se.top-d("top"):He=W.left-se.left-d("left"):b=="vertical-rl"||b=="vertical-lr"?He=se.bottom-W.bottom-d("bottom"):He=se.right-W.right-d("right"),He=Math.max(0,He-.1),m.style.float="",g.style.marginInlineStart=`${He}px`}};ut("POST_LAYOUT_BLOCK",Vf);var oa={roman:[4999,1e3,"M",900,"CM",500,"D",400,"CD",100,"C",90,"XC",50,"L",40,"XL",10,"X",9,"IX",5,"V",4,"IV",1,"I"],armenian:[9999,9e3,"\u0584",8e3,"\u0583",7e3,"\u0582",6e3,"\u0581",5e3,"\u0580",4e3,"\u057F",3e3,"\u057E",2e3,"\u057D",1e3,"\u057C",900,"\u057B",800,"\u057A",700,"\u0579",600,"\u0578",500,"\u0577",400,"\u0576",300,"\u0575",200,"\u0574",100,"\u0573",90,"\u0572",80,"\u0571",70,"\u0570",60,"\u056F",50,"\u056E",40,"\u056D",30,"\u056C",20,"\u056B",10,"\u056A",9,"\u0569",8,"\u0568",7,"\u0567",6,"\u0566",5,"\u0565",4,"\u0564",3,"\u0563",2,"\u0562",1,"\u0561"],georgian:[19999,1e4,"\u10F5",9e3,"\u10F0",8e3,"\u10EF",7e3,"\u10F4",6e3,"\u10EE",5e3,"\u10ED",4e3,"\u10EC",3e3,"\u10EB",2e3,"\u10EA",1e3,"\u10E9",900,"\u10E8",800,"\u10E7",700,"\u10E6",600,"\u10E5",500,"\u10E4",400,"\u10F3",300,"\u10E2",200,"\u10E1",100,"\u10E0",90,"\u10DF",80,"\u10DE",70,"\u10DD",60,"\u10F2",50,"\u10DC",40,"\u10DB",30,"\u10DA",20,"\u10D9",10,"\u10D8",9,"\u10D7",8,"\u10F1",7,"\u10D6",6,"\u10D5",5,"\u10D4",4,"\u10D3",3,"\u10D2",2,"\u10D1",1,"\u10D0"],hebrew:[999,400,"\u05EA",300,"\u05E9",200,"\u05E8",100,"\u05E7",90,"\u05E6",80,"\u05E4",70,"\u05E2",60,"\u05E1",50,"\u05E0",40,"\u05DE",30,"\u05DC",20,"\u05DB",19,"\u05D9\u05D8",18,"\u05D9\u05D7",17,"\u05D9\u05D6",16,"\u05D8\u05D6",15,"\u05D8\u05D5",10,"\u05D9",9,"\u05D8",8,"\u05D7",7,"\u05D6",6,"\u05D5",5,"\u05D4",4,"\u05D3",3,"\u05D2",2,"\u05D1",1,"\u05D0"]},aa={latin:"a-z",alpha:"a-z",greek:"\u03B1-\u03C1\u03C3-\u03C9",russian:"\u0430-\u0438\u043A-\u0449\u044D-\u044F"},la={square:"\u25A0",disc:"\u2022",circle:"\u25E6",none:""};function Uf(e,t){let i=e[0];if(t>i||t<=0||t!=Math.round(t))return"";let n="";for(let s=1;s<e.length;s+=2){let r=e[s],o=Math.floor(t/r);if(o>20)return"";for(t-=o*r;o>0;)n+=e[s+1],o--}return n}function Hf(e){let t=[],i=0;for(;i<e.length;)if(e.substr(i+1,1)=="-"){let n=e.charCodeAt(i),s=e.charCodeAt(i+2);i+=3;for(let r=n;r<=s;r++)t.push(String.fromCharCode(r))}else t.push(e.substr(i++,1));return t}function $f(e,t){if(t<=0||t!=Math.round(t))return"";let i=Hf(e),n="";do{t--;let s=t%i.length;n=i[s]+n,t=(t-s)/i.length}while(t>0);return n}var Gf={formal:!1,digits:"\u96F6\u4E00\u4E8C\u4E09\u56DB\u4E94\u516D\u4E03\u516B\u4E5D",markers:"\u5341\u767E\u5343",negative:"\u8CA0"};function Wf(e,t){if(e>9999||e<-9999)return`${e}`;if(e==0)return t.digits.charAt(0);let i=new kt;if(e<0&&(i.append(t.negative),e=-e),e<10)i.append(t.digits.charAt(e));else if(!t.formal&&e<=19)i.append(t.markers.charAt(0)),e!=0&&i.append(t.digits.charAt(e-10));else{let n=Math.floor(e/1e3);n&&(i.append(t.digits.charAt(n)),i.append(t.markers.charAt(2)));let s=Math.floor(e/100)%10;s&&(i.append(t.digits.charAt(s)),i.append(t.markers.charAt(1)));let r=Math.floor(e/10)%10;r&&(i.append(t.digits.charAt(r)),i.append(t.markers.charAt(0)));let o=e%10;o&&i.append(t.digits.charAt(o))}return i.toString()}var Qr=1/1048576;function ii(e,t){for(let i in e)t[i]=e[i].clone()}var jf=class Hh{constructor(){u(this,"nsCount",0),u(this,"nsPrefix",{}),u(this,"tags",{}),u(this,"nstags",{}),u(this,"epubtypes",{}),u(this,"classes",{}),u(this,"ids",{}),u(this,"pagetypes",{}),u(this,"order",0)}clone(){let t=new Hh;t.nsCount=this.nsCount;for(let i in this.nsPrefix)t.nsPrefix[i]=this.nsPrefix[i];return ii(this.tags,t.tags),ii(this.nstags,t.nstags),ii(this.epubtypes,t.epubtypes),ii(this.classes,t.classes),ii(this.ids,t.ids),ii(this.pagetypes,t.pagetypes),t.order=this.order,t}insertInTable(t,i,n){let s=t[i];s&&(n=s.mergeWith(n)),t[i]=n}createInstance(t,i,n,s){return new Xf(this,t,i,n,s)}nextOrder(){return this.order+=Qr}},Xf=class{constructor(e,t,i,n,s){this.context=t,this.counterListener=i,this.counterResolver=n,u(this,"code"),u(this,"stack",[[],[]]),u(this,"conditions",{}),u(this,"currentElement",null),u(this,"currentElementOffset",null),u(this,"currentStyle",null),u(this,"currentClassNames",null),u(this,"currentLocalName",""),u(this,"currentNamespace",""),u(this,"currentId",""),u(this,"currentXmlId",""),u(this,"currentNSTag",""),u(this,"currentEpubTypes",null),u(this,"currentPageType",null),u(this,"previousPageType",null),u(this,"firstPageType",null),u(this,"isFirst",!0),u(this,"isRoot",!0),u(this,"counters",{}),u(this,"counterScoping",[{}]),u(this,"quotes"),u(this,"quoteDepth",0),u(this,"lang",""),u(this,"siblingOrderStack",[0]),u(this,"currentSiblingOrder",0),u(this,"siblingTypeCountsStack",[{}]),u(this,"currentSiblingTypeCounts"),u(this,"currentFollowingSiblingOrder",null),u(this,"followingSiblingOrderStack"),u(this,"followingSiblingTypeCountsStack",[{}]),u(this,"currentFollowingSiblingTypeCounts"),u(this,"viewConditions",{}),u(this,"dependentConditions",[]),u(this,"elementStack"),this.code=e,this.quotes=[new Le("\u201C"),new Le("\u201D"),new Le("\u2018"),new Le("\u2019")],this.currentSiblingTypeCounts=this.siblingTypeCountsStack[0],this.followingSiblingOrderStack=[this.currentFollowingSiblingOrder],this.currentFollowingSiblingTypeCounts=this.siblingTypeCountsStack[0]}pushConditionItem(e){this.stack[this.stack.length-1].push(e)}increment(e,t){this.conditions[e]=(this.conditions[e]||0)+1,t&&(this.viewConditions[e]?this.viewConditions[e].push(t):this.viewConditions[e]=[t])}decrement(e,t){this.conditions[e]--,this.viewConditions[e]&&(this.viewConditions[e]=this.viewConditions[e].filter(i=>i!==t),this.viewConditions[e].length===0&&delete this.viewConditions[e])}buildViewConditionMatcher(e){let t=null;e&&(this.currentElementOffset,t=Tn.buildViewConditionMatcher(this.currentElementOffset,e));let i=this.dependentConditions.map(n=>{let s=this.viewConditions[n];return s&&s.length>0?s.length===1?s[0]:Tn.buildAnyMatcher([].concat(s)):null}).filter(n=>n);return i.length<=0?t:t===null?i.length===1?i[0]:Tn.buildAllMatcher(i):Tn.buildAllMatcher([t].concat(i))}applyAction(e,t){let i=e[t];i&&i.apply(this)}pushRule(e,t,i){this.currentElement=null,this.currentElementOffset=null,this.currentStyle=i,this.currentNamespace="",this.currentLocalName="",this.currentId="",this.currentXmlId="",this.currentClassNames=e,this.currentNSTag="",this.currentEpubTypes=Rs,this.currentPageType=t,this.applyActions()}defineCounter(e,t){let i=this.counterScoping[this.counterScoping.length-1];i||(i={},this.counterScoping[this.counterScoping.length-1]=i),this.counters[e]?(i[e]&&this.counters[e].pop(),this.counters[e].push(t)):this.counters[e]=[t],i[e]=!0}pushCounters(e){var t,i,n,s,r,o,a;let h=v.inline,l=e.display;if(l&&(h=l.evaluate(this.context)),h===v.none){this.currentElement.setAttribute("data-viv-display-none","true"),this.counterScoping.push(null);return}else if(this.currentElement.closest("[data-viv-display-none]")){this.counterScoping.push(null);return}let c=v.inline,p=e.float;p&&(c=p.evaluate(this.context));let d=null,f=null,g=null,m=e["counter-reset"];if(m){let b=m.evaluate(this.context);b&&(d=Wi(b,!0))}let w=e["counter-set"];if(w){let b=w.evaluate(this.context);b&&(g=Wi(b,!1))}let y=e["counter-increment"];if(y){let b=y.evaluate(this.context);b&&(f=Wi(b,!1))}if((this.currentLocalName=="ol"||this.currentLocalName=="ul")&&this.currentNamespace=="http://www.w3.org/1999/xhtml"&&(d||(d={}),d["list-item"]=((i=(t=this.currentElement)==null?void 0:t.start)!=null?i:1)-1),h===v.list_item&&(f||(f={}),f["list-item"]=(n=f["list-item"])!=null?n:1,/^\s*[-+]?\d/.test((r=(s=this.currentElement)==null?void 0:s.getAttribute("value"))!=null?r:"")&&(g||(g={}),g["list-item"]=this.currentElement.value)),((o=this.currentElement)==null?void 0:o.parentNode.nodeType)===Node.DOCUMENT_NODE&&(d||(d={}),d.footnote===void 0&&(d.footnote=0)),c===v.footnote&&(f||(f={}),f.footnote===void 0)){let b=(a=this.currentStyle["counter-increment"])==null?void 0:a.value;(!b||!(b===v.footnote||b instanceof ye&&b.values.includes(v.footnote)))&&(f.footnote=1)}if(d)for(let b in d)this.defineCounter(b,d[b]);if(f)for(let b in f){this.counters[b]||this.defineCounter(b,0);let x=this.counters[b];x[x.length-1]+=f[b]}if(g)for(let b in g)if(!this.counters[b])this.defineCounter(b,g[b]);else{let x=this.counters[b];x[x.length-1]=g[b]}if(h===v.list_item){let b=this.counters["list-item"],x=b[b.length-1];e["ua-list-item-count"]=new q(new Ut(x),0)}this.counterScoping.push(null)}popCounters(){let e=this.counterScoping.pop();if(e)for(let t in e){let i=this.counters[t];i&&(i.length==1?delete this.counters[t]:i.pop())}}setNamedStrings(e){let t=e["string-set"];if(!t)return;t=t.filterValue(new fr(this,this.currentElement,this.counterResolver));let i=t.value instanceof qe?t.value.values:[t.value];for(let n of i)if(n instanceof ye){let s=n.values[0].stringValue(),r=n.values.slice(1).map(o=>Yi(o)).join("");this.counterResolver.setNamedString(s,r,this.currentElementOffset)}delete e["string-set"]}setRunningElement(e){let t=e.position;if(t?.value instanceof Ni&&t.value.name==="running"){let i=t.value.values[0].stringValue();this.counterResolver.setRunningElement(i,this.currentElementOffset)}}processPseudoelementProps(e,t){this.pushCounters(e);let i=e.content;i&&(e.content=i.filterValue(new fr(this,t,this.counterResolver))),this.popCounters()}pushElement(e,t,i,n){var s,r;this.currentPageType=null,this.currentElement=t,this.currentElementOffset=n,this.currentStyle=i,this.currentNamespace=t.namespaceURI,this.currentLocalName=t.localName;let o=this.code.nsPrefix[this.currentNamespace];o?this.currentNSTag=o+this.currentLocalName:this.currentNSTag="",this.currentId=t.getAttribute("id"),this.currentXmlId=t.getAttributeNS("http://www.w3.org/XML/1998/namespace","id");let a=t.getAttribute("class");a?this.currentClassNames=a.split(/\s+/):this.currentClassNames=Rs;let h=t.getAttributeNS("http://www.idpf.org/2007/ops","type");h?this.currentEpubTypes=h.split(/\s+/):this.currentEpubTypes=Rs;let l=_s(t);l&&(this.stack[this.stack.length-1].push(new Mf(this.lang)),this.lang=l.toLowerCase());let c=this.isRoot,p=this.siblingOrderStack;this.currentSiblingOrder=++p[p.length-1],p.push(0);let d=this.siblingTypeCountsStack,f=this.currentSiblingTypeCounts=d[d.length-1],g=f[this.currentNamespace];g||(g=f[this.currentNamespace]={}),g[this.currentLocalName]=(g[this.currentLocalName]||0)+1,d.push({});let m=this.followingSiblingOrderStack;m[m.length-1]!==null?this.currentFollowingSiblingOrder=--m[m.length-1]:this.currentFollowingSiblingOrder=null,m.push(null);let w=this.followingSiblingTypeCountsStack,y=this.currentFollowingSiblingTypeCounts=w[w.length-1];y&&y[this.currentNamespace]&&y[this.currentNamespace][this.currentLocalName]--,w.push({}),this.applyActions(),this.applyVarFilter([this.currentStyle],e,t),this.applyCalcFilter(this.currentStyle,this.context),this.applyAttrFilter(t);let b=i.quotes,x=null;if(b){let M=b.evaluate(this.context);M&&(x=new zf(this.quotes),M===v.none?this.quotes=[new Le(""),new Le("")]:M===v.auto||M===v.initial?this.quotes=[new Le("\u201C"),new Le("\u201D"),new Le("\u2018"),new Le("\u2019")]:M instanceof ye&&(this.quotes=M.values))}this.pushCounters(this.currentStyle);let I=this.currentId||this.currentXmlId||t.getAttribute("name")||"";if(c||I){let M={};Object.keys(this.counters).forEach(H=>{M[H]=Array.from(this.counters[H])}),this.counterListener.countersOfId(I,M)}let L=pt(this.currentStyle,"_pseudos");if(L){let M=!0;for(let H of qf){H||(M=!1);let W=L[H];W&&((H==="before"||H==="after")&&!Vt((s=W.content)==null?void 0:s.value)||(H==="footnote-call"||H==="footnote-marker")&&((r=Ue(this.currentStyle,"float"))==null?void 0:r.value)!==v.footnote?delete L[H]:M?this.processPseudoelementProps(W,t):this.stack[this.stack.length-2].push(new _f(W,t)))}}this.setNamedStrings(this.currentStyle),this.setRunningElement(this.currentStyle),x&&this.stack[this.stack.length-2].push(x)}applyAttrFilterInner(e,t){for(let i in t)wi(i)&&!Nt(i)&&(t[i]=t[i].filterValue(e))}applyAttrFilter(e){let t=new Df(e),i=this.currentStyle,n=pt(i,"_pseudos");for(let s in n)this.applyAttrFilterInner(t,n[s]);this.applyAttrFilterInner(t,i)}applyVarFilter(e,t,i){var n,s,r;let o=e[0],a=new ng(e,t,i),h=32,l={};for(let c in o)if(ur(c)){let p=pt(o,c);for(let d in p)this.applyVarFilter([p[d],...e],t,i)}else if(wi(c)){let p=Ue(o,c),d=p.value;for(let f=0;;f++){if(f>=h){d=G;break}let g=d.visit(a);if(a.error){d=G,a.error=!1;break}if(g===d)break;d=g}if(d!==p.value){let f=t.validatorSet,g=(n=f?.shorthands[c])==null?void 0:n.clone();if(g)if(J(d)){for(let m of g.propList){let w=new q(d,p.priority),y=Ue(o,m);Kt(l,m,hr(this.context,y,w))}delete o[c]}else{let m=Pi(t.scope,new gt(d.toString(),null),"");if(m&&(m.visit(g),!g.error)){for(let w of g.propList){let y=new q((r=(s=g.values[w])!=null?s:f.defaultValues[w])!=null?r:v.initial,p.priority),b=Ue(o,w);Kt(l,w,hr(this.context,b,y))}delete o[c]}}else o[c]=new q(d,p.priority)}if(l[c]){let f=Ue(o,c);f&&f.value!==G&&Tt(l,c,f,this.context)}}for(let c in l)o[c]=l[c]}applyCalcFilter(e,t){let i=new Kh(t);for(let n in e)if(ur(n)){let s=pt(e,n);for(let r in s)this.applyCalcFilter(s[r],t)}else if(wi(n)&&!Nt(n)){let s=Ue(e,n),r=s.value.visit(i);r!==s.value&&(e[n]=new q(r,s.priority))}}applyActions(){let e;for(e=0;e<this.currentClassNames.length;e++)this.applyAction(this.code.classes,this.currentClassNames[e]);for(e=0;e<this.currentEpubTypes.length;e++)this.applyAction(this.code.epubtypes,this.currentEpubTypes[e]);this.applyAction(this.code.ids,this.currentId),this.applyAction(this.code.tags,this.currentLocalName),this.currentLocalName!=""&&this.applyAction(this.code.tags,"*"),this.applyAction(this.code.nstags,this.currentNSTag),this.currentPageType!==null&&(this.applyAction(this.code.pagetypes,this.currentPageType),this.applyAction(this.code.pagetypes,"*")),this.stack.push([]);for(let t=1;t>=-1;--t){let i=this.stack[this.stack.length-t-2];for(e=0;e<i.length;)i[e].push(this,t)?i.splice(e,1):e++}this.isFirst=!0,this.isRoot=!1}pop(){for(let e=1;e>=-1;--e){let t=this.stack[this.stack.length-e-2],i=0;for(;i<t.length;)t[i].pop(this,e)?t.splice(i,1):i++}this.stack.pop(),this.isFirst=!1}popRule(){this.pop()}popElement(e){this.siblingOrderStack.pop(),this.siblingTypeCountsStack.pop(),this.followingSiblingOrderStack.pop(),this.followingSiblingTypeCountsStack.pop(),this.pop(),this.popCounters()}},Rs=[],qf=["before","transclusion-before","footnote-call","footnote-marker","inner","first-letter","first-line","","transclusion-after","after"],gr=null;function Yf(e){gr=e}var rn=class extends bn{constructor(e,t,i,n,s,r,o){super(e,t,o),this.condition=i,this.regionId=s,this.validatorSet=r,u(this,"chain",null),u(this,"specificity",0),u(this,"elementStyle",null),u(this,"conditionCount",0),u(this,"pseudoelement",null),u(this,"footnoteContent",!1),u(this,"cascade"),u(this,"state"),u(this,"viewConditionId",null),u(this,"insideSelectorRule"),u(this,"invalid",!1),this.cascade=n?n.cascade:gr?gr.clone():new jf,this.state=0}insertNonPrimary(e){this.cascade.insertInTable(this.cascade.tags,"*",e)}processChain(e){let t=Oh(this.chain,e);t!==e&&t.makePrimary(this.cascade)||this.insertNonPrimary(t)}isInsideSelectorRule(e){return this.state!=0?(this.reportAndSkip(e),!0):!1}tagSelector(e,t){!t&&!e||(t&&(this.specificity+=1),t&&e?this.chain.push(new wf(e,t.toLowerCase())):t?this.chain.push(new na(t.toLowerCase())):this.chain.push(new vf(e)))}invalidSelector(e){V.warn(e),this.chain.push(new Ge("")),this.setInvalid()}setInvalid(){this.invalid=!0;for(let e=this;e instanceof on;e=e.parent)e.parent.invalid=!0}classSelector(e){if(this.pseudoelement){this.invalidSelector(`::${this.pseudoelement} followed by .${e}`);return}this.specificity+=256,this.chain.push(new gf(e))}pseudoclassSelector(e,t){if(this.pseudoelement){this.invalidSelector(`::${this.pseudoelement} followed by :${e}`);return}switch(e.toLowerCase()){case"enabled":this.chain.push(new Nf);break;case"disabled":this.chain.push(new Pf);break;case"checked":this.chain.push(new Tf);break;case"root":case"scope":this.chain.push(new Cf);break;case"link":this.chain.push(new na("a")),this.chain.push(new sa("","href"));break;case"-adapt-href-epub-type":case"href-epub-type":if(t&&t.length>=1&&typeof t[0]=="string"){let i=t[0],n=new RegExp(`(^|\\s)${Rt(i)}($|\\s)`),s=t[1];this.chain.push(new bf(n,s))}else this.chain.push(new Ge(""));break;case"-adapt-footnote-content":case"footnote-content":this.footnoteContent=!0;break;case"visited":case"active":case"hover":case"focus":this.chain.push(new Ge(""));break;case"lang":if(t&&t.length==1&&typeof t[0]=="string"){let i=t[0];this.chain.push(new Sf(new RegExp(`^${Rt(i.toLowerCase())}($|-)`)))}else this.chain.push(new Ge(""));break;case"nth-child":case"nth-last-child":case"nth-of-type":case"nth-last-of-type":{let i=Kf[e.toLowerCase()];t&&t.length==2?this.chain.push(new i(t[0],t[1])):this.chain.push(new Ge(""));break}case"first-child":this.chain.push(new ra);break;case"last-child":this.chain.push(new dr(0,1));break;case"first-of-type":this.chain.push(new cr(0,1));break;case"last-of-type":this.chain.push(new pr(0,1));break;case"only-child":this.chain.push(new ra),this.chain.push(new dr(0,1));break;case"only-of-type":this.chain.push(new cr(0,1)),this.chain.push(new pr(0,1));break;case"empty":this.chain.push(new kf);break;case"before":case"after":case"first-line":case"first-letter":this.pseudoelementSelector(e,t);return;default:this.invalidSelector(`Unknown pseudo-class :${e}`);return}this.specificity+=256}pseudoelementSelector(e,t){switch(e){case"before":case"after":case"first-line":case"first-letter":case"footnote-call":case"footnote-marker":case"inner":case"after-if-continues":if(!this.pseudoelement)this.pseudoelement=e;else{this.invalidSelector(`Double pseudo-element ::${this.pseudoelement}::${e}`);return}break;case"first-n-lines":if(t&&t.length==1&&typeof t[0]=="number"){let i=Math.round(t[0]);if(i>0&&i==t[0]){if(!this.pseudoelement)this.pseudoelement=`first-${i}-lines`;else{this.invalidSelector(`Double pseudo-element ::${this.pseudoelement}::${e}`);return}break}}this.chain.push(new Ge(""));break;case"nth-fragment":t&&t.length==2?this.viewConditionId=`NFS_${t[0]}_${t[1]}`:this.chain.push(new Ge(""));break;default:this.invalidSelector(`Unknown pseudo-element ::${e}`);return}this.specificity+=1}idSelector(e){this.specificity+=65536,this.chain.push(new mf(e))}attributeSelector(e,t,i,n){this.specificity+=256,t=t.toLowerCase(),n=n||"";let s;switch(i){case 0:s=new sa(e,t);break;case 39:s=new yf(e,t,n);break;case 45:!n||n.match(/\s/)?s=new Ge(""):s=new Oi(e,t,new RegExp(`(^|\\s)${Rt(n)}($|\\s)`));break;case 44:s=new Oi(e,t,new RegExp(`^${Rt(n)}($|-)`));break;case 43:n?s=new Oi(e,t,new RegExp(`^${Rt(n)}`)):s=new Ge("");break;case 42:n?s=new Oi(e,t,new RegExp(`${Rt(n)}$`)):s=new Ge("");break;case 46:n?s=new Oi(e,t,new RegExp(Rt(n))):s=new Ge("");break;case 50:if(n=="supported")s=new xf(e,t);else{this.invalidSelector(`Unsupported :: attr selector op: ${n}`);return}break;default:this.invalidSelector(`Unsupported attr selector: ${i}`);return}this.chain.push(s)}descendantSelector(){let e=`d${Rn++}`;this.processChain(new In(new Lf(e,this.viewConditionId,null))),this.chain=[new Ge(e)],this.viewConditionId=null}childSelector(){let e=`c${Rn++}`;this.processChain(new In(new Ff(e,this.viewConditionId,null))),this.chain=[new Ge(e)],this.viewConditionId=null}adjacentSiblingSelector(){let e=`a${Rn++}`;this.processChain(new In(new Of(e,this.viewConditionId,null))),this.chain=[new Ge(e)],this.viewConditionId=null}followingSiblingSelector(){let e=`f${Rn++}`;this.processChain(new In(new Bf(e,this.viewConditionId,null))),this.chain=[new Ge(e)],this.viewConditionId=null}nextSelector(){this.finishChain(),this.pseudoelement=null,this.footnoteContent=!1,this.specificity=0,this.chain=[]}startSelectorRule(){this.isInsideSelectorRule("E_CSS_UNEXPECTED_SELECTOR")||(this.state=1,this.elementStyle={},this.pseudoelement=null,this.specificity=0,this.footnoteContent=!1,this.chain=[],this.invalid=!1)}error(e,t){super.error(e,t),this.state==1&&(this.state=0),this.setInvalid()}startStylesheet(e){super.startStylesheet(e),this.state=0}startRuleBody(){this.finishChain(),super.startRuleBody(),this.state==1&&(this.state=0)}endRule(){super.endRule(),this.insideSelectorRule=0}finishChain(){this.chain&&(this.processChain(this.makeApplyRuleAction(this.specificity)),this.chain=null,this.pseudoelement=null,this.viewConditionId=null,this.footnoteContent=!1,this.specificity=0)}makeApplyRuleAction(e){let t=this.regionId;return this.footnoteContent&&(t?t="xxx-bogus-xxx":t="footnote"),new Zr(this.elementStyle,e,this.pseudoelement,t,this.viewConditionId)}special(e,t){let i;this.condition?i=new ar(t,0,this.condition):i=new q(t,0),Fh(this.elementStyle,e).push(i)}property(e,t,i){this.validatorSet.validatePropertyAndHandleShorthand(e,t,i,this)}invalidPropertyValue(e,t){this.report(`E_INVALID_PROPERTY_VALUE ${e}: ${t.toString()}`)}unknownProperty(e,t){this.report(`E_INVALID_PROPERTY ${e}: ${t.toString()}`)}simpleProperty(e,t,i){e=="display"&&(t===v.oeb_page_head||t===v.oeb_page_foot)&&(this.simpleProperty("flow-options",new ye([v.exclusive,v._static]),i),this.simpleProperty("flow-into",t,i),t=v.block),ft("SIMPLE_PROPERTY").forEach(r=>{let o=r({name:e,value:t,important:i});e=o.name,t=o.value,i=o.important});let n=(i?this.getImportantSpecificity():this.getBaseSpecificity())+this.cascade.nextOrder(),s=this.condition?new ar(t,n,this.condition):new q(t,n);Tt(this.elementStyle,e,s)}finish(){return this.cascade}startFuncWithSelector(e){let t;switch(e){case"is":t=new on(this);break;case"not":t=new Zf(this);break;case"where":t=new Jf(this);break;case"has":t=new Qf(this);break}t&&(t.startSelectorRule(),this.owner.pushHandler(t))}},Kf={"nth-child":Ef,"nth-of-type":cr,"nth-last-child":dr,"nth-last-of-type":pr},Rn=0,on=class $h extends rn{constructor(t){super(t.scope,t.owner,t.condition,t,t.regionId,t.validatorSet,!1),this.parent=t,u(this,"parentChain"),u(this,"chains",[]),u(this,"maxSpecificity",0),u(this,"selectorTexts",[]),this.parentChain=t.chain}nextSelector(){this.chain&&this.chains.push(this.chain),this.maxSpecificity=Math.max(this.maxSpecificity,this.specificity),this.chain=[],this.pseudoelement=null,this.viewConditionId=null,this.footnoteContent=!1,this.specificity=0}endFuncWithSelector(){this.chain&&this.chains.push(this.chain),this.chains.length>0?(this.maxSpecificity=Math.max(this.maxSpecificity,this.specificity),this.parentChain.push(this.relational()?new Af(this.selectorTexts):this.positive()?new Jr(this.chains):new Rf(this.chains)),this.increasingSpecificity()&&(this.parent.specificity+=this.maxSpecificity)):this.parentChain.push(new Ge("")),this.owner.popHandler()}startRuleBody(){this.reportAndSkip("E_CSS_UNEXPECTED_RULE_BODY")}error(t,i){super.error(t,i),this.chain=null,this.pseudoelement=null,this.viewConditionId=null,this.footnoteContent=!1,this.specificity=0;let n=!1;for(let s=this;s instanceof $h;s=s.parent)if(s.forgiving()){n=!0;break}n||this.owner.popHandler()}pushSelectorText(t){this.chain&&this.relational()&&this.selectorTexts.push(t)}positive(){return!0}increasingSpecificity(){return!0}forgiving(){return!0}relational(){return!1}},Zf=class extends on{positive(){return!1}forgiving(){return!1}},Jf=class extends on{increasingSpecificity(){return!1}},Qf=class extends on{relational(){return!0}},eg=class extends bn{constructor(e,t){super(e,t,!1)}property(e,t,i){if(this.scope.values[e])this.error(`E_CSS_NAME_REDEFINED ${e}`,this.getCurrentToken());else{let n=e.match(/height|^(top|bottom)$/)?"vh":"vw",s=new fn(this.scope,100,n);this.scope.defineName(e,t.toExpr(this.scope,s))}}},An=class extends bn{constructor(e,t,i,n,s,r){super(e,t,!1),this.condition=i,this.elementStyle=n,this.validatorSet=s,this.ruleType=r,u(this,"order"),this.order=0}property(e,t,i){i?V.warn("E_IMPORTANT_NOT_ALLOWED"):this.validatorSet.validatePropertyAndHandleShorthand(e,t,i,this)}invalidPropertyValue(e,t){V.warn("E_INVALID_PROPERTY_VALUE",`${e}:`,t.toString())}unknownProperty(e,t){V.warn("E_INVALID_PROPERTY",`${e}:`,t.toString())}simpleProperty(e,t,i){let n=i?this.getImportantSpecificity():this.getBaseSpecificity();n+=this.order,this.order+=Qr;let s=this.condition?new ar(t,n,this.condition):new q(t,n);Tt(this.elementStyle,e,s)}},tg=class extends Ql{constructor(e,t){super(e),this.validatorSet=t,u(this,"elementStyle",{}),u(this,"order",0)}property(e,t,i){this.validatorSet.validatePropertyAndHandleShorthand(e,t,i,this)}invalidPropertyValue(e,t){V.warn("E_INVALID_PROPERTY_VALUE",`${e}:`,t.toString())}unknownProperty(e,t){V.warn("E_INVALID_PROPERTY",`${e}:`,t.toString())}simpleProperty(e,t,i){let n=i?Jl:Zl;n+=this.order,this.order+=Qr;let s=new q(t,n);Tt(this.elementStyle,e,s)}};function Gh(e,t){let i=Ah(e);i&&i.forEach(n=>{n.matcher.matches()&&t(n.styles)})}function mr(e,t,i){Gh(i,n=>{Ki(e,n,t)})}function ig(e,t,i,n){let s=new tg(e,t),r=new gt(n,s);try{up(r,s,i)}catch(o){V.warn(o,"Style attribute parse error:")}return s.elementStyle}function Wh(e,t,i){let n=e["writing-mode"];if(n){let s=n.evaluate(t,"writing-mode");if(s&&s!==v.inherit&&s!==v.revert&&s!==v.unset)return s===v.vertical_rl}return i}function jh(e,t,i){let n=e.direction;if(n){let s=n.evaluate(t,"direction");if(s&&s!==v.inherit&&s!==v.revert&&s!==v.unset)return s===v.rtl}return i}function Xh(e,t,i,n,s){let r={};for(let o in e)wi(o)&&(r[o]=Ue(e,o));return mr(r,t,e),qh(e,i,n,(o,a)=>{Ki(r,a,t),mr(r,t,a)}),r}function qh(e,t,i,n){let s=pt(e,"_regions");if((t||i)&&s){if(i){let r=["footnote"];t?t=t.concat(r):t=r}for(let r of t){let o=s[r];o&&n(r,o)}}}function Ki(e,t,i){for(let n in t)if(wi(n)){let s=Ue(t,n),r=e[n];e[n]=hr(i,r,s)}}var Yh=(e,t,i,n,s,r)=>{var o,a;let h=i?n?af:Th:n?lf:Ih,l=s?hf:uf;for(let c in e){let p=e[c];if(!p)continue;let d=(o=h[c])!=null?o:h[l[c]],f=(a=l[c])!=null?a:l[h[c]],g=d??f,m;if(g){let w=e[g];if(w&&w.priority>p.priority||d&&f&&d!==f&&(g=f,w=e[g],w&&w.priority>p.priority))continue;m=ia[d]?d:ia[f]?f:c}else m=c,c.startsWith("text-align")&&(p.value===v.inside||p.value===v.outside)&&(p=new q(s===(p.value===v.inside)?v.right:v.left,p.priority));t[m]=r(c,p)}},ng=class extends ki{constructor(e,t,i){super(),this.elementStyles=e,this.styler=t,this.element=i}getVarValue(e){var t,i,n,s,r;let o=(t=this.element)!=null?t:this.styler.root;if((i=this.elementStyles)!=null&&i.length){for(let a of this.elementStyles){let h=(n=a[e])==null?void 0:n.value;if(h)return h}this.element&&(o=this.element.parentElement)}for(;o;o=o.parentElement){let a=(r=(s=this.styler.getStyle(o,!1))==null?void 0:s[e])==null?void 0:r.value;if(a)return a}return null}visitFunc(e){if(e.name!=="var")return super.visitFunc(e);let t=e.values[0]instanceof nt&&e.values[0].name;return!t||!Nt(t)?(this.error=!0,G):this.getVarValue(t)||(e.values.length<2?(this.error=!0,G):e.values.length===2?e.values[1]:new qe(e.values.slice(1)))}},Kh=class extends ki{constructor(e,t,i,n){super(),this.context=e,this.resolveViewportUnit=t,this.percentRef=i,this.vertical=n}visitFunc(e){let t=super.visitFunc(e);if(e.name!=="calc")return t;let i=t.toString().replace(/^calc\b/,"-epubx-expr");if(/\d(%|em|ex|cap|ch|ic|lh|p?v[whbi]|p?vmin|p?vmax)\W|\Wvar\(\s*--/i.test(i))return t;let n=Pi(this.context.rootScope,new gt(i,null),"");if(n instanceof z)try{let s=n.expr.evaluate(this.context);typeof s=="number"&&!isNaN(s)&&(/\d(px|in|pt|pc|cm|mm|q|rem|rlh)\W/i.test(i)?t=new T(s,"px"):/\d[a-z]/i.test(i)||(t=new Ut(s)))}catch(s){V.warn(s)}return t}visitNumeric(e){return this.resolveViewportUnit&&(dl(e.unit)||Gc(e.unit))?new T(e.num*this.context.queryUnitSize(e.unit,!1,this.vertical),"px"):typeof this.percentRef=="number"&&e.unit==="%"?new T(e.num*this.percentRef/100,"px"):e}};function Jn(e,t,i,n,s){try{if(t instanceof z)return t.expr instanceof De&&(t.expr.str.startsWith("named-string-")||t.expr.str.startsWith("running-element-"))?t:fp(e,t.expr,i);if(t instanceof T||t instanceof Ni||t instanceof ye||t instanceof qe)return t.visit(new Kh(e,!0,n,s))}catch(r){return V.warn(r),G}return t}var ha={first:!1,forceEnd:!1,allowEnd:!1,last:!1};function ua(e){let t=e instanceof $e?e:typeof e=="string"?B(e):v.none;if(t===v.none)return ha;let i=t instanceof ye?t.values:[t],n=Object.create(ha);for(let s of i)if(s instanceof nt)switch(s.name){case"first":n.first=!0;break;case"force-end":n.forceEnd=!0,n.allowEnd=!1;break;case"allow-end":n.forceEnd=!1,n.allowEnd=!0;break;case"last":n.last=!0;break}return n}function ca(e){return!e.first&&!e.last&&!e.forceEnd&&!e.allowEnd}var sg={trimStart:!1,spaceFirst:!1,trimEnd:!1,allowEnd:!1,trimAdjacent:!1},da={trimStart:!1,spaceFirst:!1,trimEnd:!1,allowEnd:!0,trimAdjacent:!0},pa={trimStart:!0,spaceFirst:!1,trimEnd:!0,allowEnd:!1,trimAdjacent:!0};function fa(e){let t=e instanceof $e?e:typeof e=="string"?B(e):v.normal;if(t===v.normal)return da;if(t===v.auto)return pa;let i=t instanceof ye?t.values:[t],n=Object.create(da);for(let s of i)if(s instanceof nt)switch(s.name){case"trim-both":case"trim-auto":return pa;case"space-all":return sg;case"trim-start":n.trimStart=!0,n.spaceFirst=!1;break;case"space-start":n.trimStart=!1,n.spaceFirst=!1;break;case"space-first":n.trimStart=!1,n.spaceFirst=!0;break;case"trim-end":n.trimEnd=!0,n.allowEnd=!1;break;case"space-end":n.trimEnd=!1,n.allowEnd=!1;break;case"allow-end":n.trimEnd=!1,n.allowEnd=!0;break;case"trim-adjacent":n.trimAdjacent=!0;break;case"space-adjacent":n.trimAdjacent=!1;break}return n}var As={ideographAlpha:!1,ideographNumeric:!1},rg={ideographAlpha:!0,ideographNumeric:!0};function ga(e){let t=e instanceof $e?e:typeof e=="string"?B(e):v.normal;if(t===v.normal||t===v.auto)return rg;if(t===v.none)return As;let i=t instanceof ye?t.values:[t],n=Object.create(As);for(let s of i)if(s instanceof nt)switch(s.name){case"no-autospace":return As;case"ideograph-alpha":n.ideographAlpha=!0;break;case"ideograph-numeric":n.ideographNumeric=!0;break}return n}function ma(e,t){return!e.ideographAlpha&&!e.ideographNumeric&&!t.trimStart&&!t.spaceFirst&&!t.trimEnd&&!t.allowEnd&&!t.trimAdjacent}function wa(e){return e?(e=e.toLowerCase(),/^zh\b.*-(hant|tw|hk)\b/.test(e)?"zh-hant":/^zh\b/.test(e)?"zh-hans":/^ja\b/.test(e)?"ja":/^ko\b/.test(e)?"ko":e):null}var og=class{getPolyfilledInheritedProps(){return["hanging-punctuation","text-autospace","text-spacing-trim"]}preprocessSingleDocument(e){e.body&&this.preprocessForTextSpacing(e.body)}preprocessForTextSpacing(e){var t;let i=e.ownerDocument.createNodeIterator(e,NodeFilter.SHOW_TEXT);for(let n=i.nextNode();n;n=i.nextNode()){if(n.parentElement.namespaceURI!=="http://www.w3.org/1999/xhtml"||((t=n.parentElement.dataset)==null?void 0:t.mathTypeset)==="true")continue;let s=n.textContent.replace(/(?![()\[\]{}])[\p{Ps}\p{Pe}\p{Pf}\p{Pi}、。,.:;、。\u3000]\p{M}*(?=\P{M})|.(?=(?![()\[\]{}])[\p{Ps}\p{Pe}\p{Pf}\p{Pi}、。,.:;、。\u3000])|(?!\p{P})[\p{sc=Han}\u3041-\u30FF\u31C0-\u31FF]\p{M}*(?=(?![\p{sc=Han}\u3041-\u30FF\u31C0-\u31FF\uFF01-\uFF60])[\p{L}\p{Nd}])|(?![\p{sc=Han}\u3041-\u30FF\u31C0-\u31FF\uFF01-\uFF60])[\p{L}\p{Nd}]\p{M}*(?=(?!\p{P})[\p{sc=Han}\u3041-\u30FF\u31C0-\u31FF])/gsu,"$&\0").split("\0");if(s.length>1){let r=s.length-1;for(let o=0;o<r;o++)n.parentNode.insertBefore(document.createTextNode(s[o]),n);n.textContent=s[r]}}}processGeneratedContent(e,t,i,n,s,r){s=wa(s);let o=ga(t),a=fa(i),h=ua(n);if(ca(h)&&ma(o,a))return;this.preprocessForTextSpacing(e);let l=e.style.whiteSpace;(r?e.offsetHeight:e.offsetWidth)===0&&(e.style.whiteSpace="pre");let c=e.ownerDocument.createNodeIterator(e,NodeFilter.SHOW_TEXT),p=null,d=null;for(let f=c.nextNode();f;f=d){d=c.nextNode();let g=!p,m=!p||/\n$/.test(p.textContent),w=!d||/^\n/.test(d.textContent),y=!d;this.processTextSpacing(f,g||m,g,m,w,y,p,d,o,a,h,s,r),p=f}e.style.whiteSpace=l}postLayoutBlock(e,t){var i,n,s,r,o,a,h;let l=!e||e.fragmentIndex===1&&d(),c=l||f();function p(y){var b;if(y?.nodeType!==1)return!1;let x=y;if(x.hasAttribute(xi))return!0;let{position:I,float:L}=(b=x.style)!=null?b:{};return I==="absolute"||I==="fixed"||L&&L!=="none"}function d(){let y=t[0];for(let b=y;;b=b.parent)if(!b||!b.inline){if(b?.fragmentIndex!==1)return!1;break}if(!y.inline)return!0;for(let b=y.viewNode.previousSibling;b;b=b.previousSibling)if(!Ve(b,y.whitespace)&&!p(b))return!1;return!0}function f(){var y,b;let x=t[0],I;for(;x&&x.inline&&(I=(y=x.viewNode)==null?void 0:y.previousSibling,!(I&&(I.nodeType===3&&/^[ \t\r\n\f]*$/.test(I.textContent)&&x.whitespace!==Je.PRESERVE&&(I=I.previousSibling),I)));)x=x.parent;for(;I;){if(I.nodeType===1){if(I.localName==="br")return!0;let L=(b=I.style)==null?void 0:b.display;if(L&&L!=="inline")return!/^(inline|ruby)\b/.test(L)}else if(I.nodeType===3){if(x.whitespace===Je.PRESERVE){if(/\n$/.test(I.textContent))return!0}else if(x.whitespace===Je.NEWLINE&&/\n[ \t\r\n\f]*$/.test(I.textContent))return!0}I=I.lastChild}return!1}let g=-1;for(let y=0;y<t.length;y++){let b=t[y];if(!b.after&&b.inline&&!b.display&&b.parent&&b.viewNode.parentNode&&b.viewNode.nodeType===Node.TEXT_NODE&&!Ve(b.viewNode,b.whitespace)){let x=function(E){var A,R,O;if(((A=E.viewNode)==null?void 0:A.nodeType)===1)return E.viewNode.localName==="br";if(((R=E.viewNode)==null?void 0:R.nodeType)===3){if(E.whitespace===Je.PRESERVE){if(/\n$/.test(E.viewNode.textContent))return!0}else if(E.whitespace===Je.NEWLINE&&/\n[ \t\r\n\f]*$/.test(E.viewNode.textContent))return!0;if(((O=E.viewNode.previousElementSibling)==null?void 0:O.localName)==="br")return Ve(E.viewNode,E.whitespace)}return!1},I=function(E){var A,R,O;if(((A=E.viewNode)==null?void 0:A.nodeType)===1)return E.viewNode.localName==="br";if(((R=E.viewNode)==null?void 0:R.nodeType)===3){if(E.whitespace===Je.PRESERVE){if(/^\n/.test(E.viewNode.textContent))return!0}else if(E.whitespace===Je.NEWLINE&&/^[ \t\r\n\f]*\n/.test(E.viewNode.textContent))return!0;if(((O=E.viewNode.nextElementSibling)==null?void 0:O.localName)==="br")return Ve(E.viewNode,E.whitespace)}return!1};var m=x,w=I;let L=wa((r=(n=(i=b.lang)!=null?i:b.parent.lang)!=null?n:e?.lang)!=null?r:(s=e?.parent)==null?void 0:s.lang),M=ga(b.inheritedProps["text-autospace"]),H=fa(b.inheritedProps["text-spacing-trim"]),W=ua(b.inheritedProps["hanging-punctuation"]);if(ca(W)&&ma(M,H)||/\b(flex|grid)\b/.test(b.parent.display))continue;g<0&&(g=y);let se=null,He=null,ce=y===g,de=y===g&&l,S=y===g&&c,P=!1,C=!1;for(let E=y-1;E>=0;E--){let A=t[E];if(x(A)){S=!0;break}if(!A.display&&A.viewNode.nodeType===Node.TEXT_NODE&&A.viewNode.textContent.length>0){se=A.viewNode;break}if(A.display&&!/^(inline|ruby)\b/.test(A.display)||((o=A.viewNode)==null?void 0:o.nodeType)===1&&(A.viewNode.localName==="br"||Xt[A.viewNode.localName]))break;E===0&&(ce=!0,l&&(de=!0,S=!0))}for(let E=y+1;E<t.length;E++){let A=t[E];if(I(A)){P=!0;break}if(A.viewNode!==b.viewNode&&!A.display&&A.viewNode.nodeType===Node.TEXT_NODE&&A.viewNode.textContent.length>0){He=A.viewNode;break}if(A.display&&!/^(inline|ruby)\b/.test(A.display)||((a=A.viewNode)==null?void 0:a.nodeType)===1&&(A.viewNode.localName==="br"||Xt[A.viewNode.localName])){E===t.length-1&&p(A.viewNode)&&(C=!0);break}if(E===t.length-1){P=!0,C=!0;for(let R=A.viewNode.nextSibling;R;R=R.nextSibling)if(!p(R)){C=!1;break}}}if(((h=b.parent)==null?void 0:h.display)==="inline-block"){if(!de){let E=b.parent.viewNode.firstChild;for(;Ve(E,b.whitespace);)E=E.nextSibling;b.viewNode===E&&(de=!0)}if(!C){let E=b.parent.viewNode.lastChild;for(;Ve(E,b.whitespace);)E=E.previousSibling;b.viewNode===E&&(C=!0)}}this.processTextSpacing(b.viewNode,ce,de,S,P,C,se,He,M,H,W,L,b.vertical)}}}processTextSpacing(e,t,i,n,s,r,o,a,h,l,c,p,d){let f=e.textContent,g=e.ownerDocument,m,w,y;function b(){if(t)return!0;if(!o)return!1;m||(m=g.createRange(),m.selectNode(e));let P=m.getClientRects()[0];w||(w=g.createRange(),w.selectNode(o));let C=w.getClientRects(),E=C[C.length-1];return!P||!E?!1:d?P.top<E.top+E.height-P.width||P.left+P.width<E.left+P.width/10||P.left>E.left+E.width-P.width/10:P.left<E.left+E.width-P.height||P.top>E.top+E.height-P.height/10||P.top+P.height<E.top+P.height/10}function x(){if(!a)return!1;m||(m=g.createRange(),m.selectNode(e));let P=m.getClientRects()[0];y||(y=g.createRange(),y.selectNode(a));let C=y.getClientRects()[0];return!P||!C?!1:d?P.top+P.height>C.top+P.width||P.left>C.left+C.width-P.width/10||P.left+P.width<C.left+P.width/10:P.left+P.width>C.left+P.height||P.top+P.height<C.top+P.height/10||P.top>C.top+C.height-P.height/10}let I=!1,L=!1,M=!1,H=!1,W;if(i&&c.first&&/^[\p{Ps}\p{Pf}\p{Pi}'"\u3000]\p{M}*$/u.test(f)?(W="viv-ts-open",I=!0,L=!0):r&&c.last&&/^[\p{Pe}\p{Pf}\p{Pi}'"]\p{M}*$/u.test(f)?(W="viv-ts-close",I=!0,M=!0):(c.forceEnd||c.allowEnd)&&/^[、。,.、。]\p{M}*$/u.test(f)?(W="viv-ts-close",I=!0,H=!0):(l.trimStart||l.spaceFirst||l.trimAdjacent)&&/^[‘“〝([{⦅〈〈《「『【〔〖〘〚]\p{M}*$/u.test(f)?(W="viv-ts-open",I=!0):(l.trimEnd||l.allowEnd||l.trimAdjacent)&&(/^[’”〞〟)]}⦆〉〉》」』】〕〗〙〛]\p{M}*$/u.test(f)||p==="zh-hans"&&/^[:;]\p{M}*$/u.test(f)||p!=="zh-hant"&&/^[、。,.]\p{M}*$/u.test(f))&&(W="viv-ts-close",I=!0),I){let P=function(O){let D=parseFloat(g.defaultView.getComputedStyle(O).fontSize)*.7;return(d?O.offsetHeight:O.offsetWidth)>D},C=function(){return d?E.offsetLeft:E.offsetTop};var se=P,He=C;if(e.parentElement.localName==="viv-ts-inner")return;let E=g.createElement(W),A=g.createElement("viv-ts-inner");E.appendChild(A),e.parentNode.insertBefore(E,e),A.appendChild(e);let R=P(A);if(R||L||M||H){if(W==="viv-ts-open"){if(L)E.className="viv-hang-first";else if(i||n)l.trimStart?E.className="viv-ts-trim":E.className="viv-ts-space";else if(!(l.trimStart||l.spaceFirst)&&b())E.className="viv-ts-space";else if(l.trimAdjacent&&o&&/[\p{Ps}\p{Pi}\p{Pe}\p{Pf}\u00B7\u2027\u30FB\u3000:;、。,.]\p{M}*$/u.test(o.textContent)&&(!/[\p{Pe}\p{Pf}]\p{M}*$/u.test(o.textContent)||o.parentElement.localName==="viv-ts-inner"&&P(o.parentElement)))E.className="viv-ts-trim";else if((l.trimStart||l.spaceFirst)&&b()){let O=C();E.className="viv-ts-auto",O===C()&&!b()&&(E.className="viv-ts-trim")}}else if(W==="viv-ts-close"){if(M)E.className=R?"viv-hang-last":"viv-hang-last viv-hang-hw";else if(r||s){let O=C();H?(E.className=R?c.allowEnd&&l.allowEnd?"viv-ts-auto":"viv-hang-end":"viv-hang-end viv-hang-hw",c.allowEnd&&O===C()&&(l.trimEnd?E.className="viv-ts-trim":l.allowEnd?(E.className="viv-hang-end",O===C()&&(E.className="")):E.className="viv-ts-space")):l.trimEnd?E.className="viv-ts-trim":l.allowEnd?(E.className="viv-ts-auto",O===C()&&(E.className="")):E.className="viv-ts-space"}else if(a&&/^[\p{Pe}\p{Pf}\u00B7\u2027\u30FB\u3000:;、。,.]/u.test(a.textContent))R&&l.trimAdjacent&&(E.className="viv-ts-trim");else if(H){let O=x(),D=O&&c.allowEnd;D||(E.className=R?"viv-hang-end":"viv-hang-end viv-hang-hw"),R?D&&l.trimEnd?E.className="viv-ts-auto":!D&&!x()?E.className="":!O&&c.allowEnd&&(l.trimEnd?(E.className="viv-ts-auto",x()||(E.className="viv-hang-end")):(E.className="viv-ts-space",x()||(l.allowEnd?(E.className="viv-ts-auto",x()||(E.className="viv-hang-end")):E.className="viv-hang-end"))):!O&&!x()&&(E.className="")}else if(l.trimEnd||l.allowEnd)if(x())l.allowEnd?E.className="viv-ts-space":E.className="viv-ts-auto";else{let O=C();E.className="viv-ts-auto",O===C()&&(E.className="")}}}}let ce=!1;function de(P){var C;let E=(C=P?.ownerDocument.defaultView)==null?void 0:C.getComputedStyle(P);return!!E&&(E.textOrientation==="upright"||E.textCombineUpright==="all"||E["-webkit-text-combine"]==="horizontal")}function S(P,C){if(P.nodeType===1){let R=g.defaultView.getComputedStyle(P);if(parseFloat(R.marginInlineEnd)||parseFloat(R.borderInlineEndWidth)||parseFloat(R.paddingInlineEnd))return!0}let E=P.parentElement;if(E&&!E.contains(C))return S(E,C);if(C.nodeType===1){let R=g.defaultView.getComputedStyle(C);if(parseFloat(R.marginInlineStart)||parseFloat(R.borderInlineStartWidth)||parseFloat(R.paddingInlineStart))return!0}let A=C.parentElement;return A&&!A.contains(P)?S(P,A):!1}(h.ideographAlpha||h.ideographNumeric)&&(o&&/^(?!\p{P})[\p{sc=Han}\u3041-\u30FF\u31C0-\u31FF]/u.test(f)&&(h.ideographAlpha&&/(?![\p{sc=Han}\u3041-\u30FF\u31C0-\u31FF\uFF01-\uFF60])\p{L}\p{M}*$/u.test(o.textContent)||h.ideographNumeric&&/(?![\uFF01-\uFF60])\p{Nd}\p{M}*$/u.test(o.textContent))&&!(d&&de(o.parentElement))&&!S(o,e)&&(e.parentNode.insertBefore(g.createElement("viv-ts-thin-sp"),e),ce=!0),a&&/(?!\p{P})[\p{sc=Han}\u3041-\u30FF\u31C0-\u31FF]\p{M}*$/u.test(f)&&(h.ideographAlpha&&/^(?![\p{sc=Han}\u3041-\u30FF\u31C0-\u31FF\uFF01-\uFF60])\p{L}/u.test(a.textContent)||h.ideographNumeric&&/^(?![\uFF01-\uFF60])\p{Nd}/u.test(a.textContent))&&!(d&&de(a.parentElement))&&!S(e,a)&&(e.parentNode.insertBefore(g.createElement("viv-ts-thin-sp"),e.nextSibling),ce=!0))}registerHooks(){ut("POLYFILLED_INHERITED_PROPS",this.getPolyfilledInheritedProps.bind(this)),ut("PREPROCESS_SINGLE_DOCUMENT",this.preprocessSingleDocument.bind(this)),ut("POST_LAYOUT_BLOCK",this.postLayoutBlock.bind(this),!0)}},eo=new og;eo.registerHooks();function ag(e){eo.preprocessForTextSpacing(e)}function lg(e,t,i,n,s,r){eo.processGeneratedContent(e,t,i,n,s,r)}var _n=new DOMParser().parseFromString('<root xmlns="http://www.pyroxy.com/ns/shadow"/>',"text/xml"),hg=["footnote-marker","first-5-lines","first-4-lines","first-3-lines","first-2-lines","first-line","first-letter","before","","after"],to="data-adapt-pseudo";function di(e){return e.getAttribute(to)||""}function wr(e,t){e.setAttribute(to,t)}var ba=class{constructor(e,t,i,n,s){this.element=e,this.style=t,this.styler=i,this.context=n,this.exprContentListener=s,u(this,"contentProcessed",{})}getStyle(e,t){let i=di(e);this.styler&&i&&i.match(/after$/)&&(this.style=this.styler.getStyle(this.element,!0),this.styler=null);let n=pt(this.style,"_pseudos")[i]||{};if(i.match(/^first-/)&&!n["x-first-pseudo"]){let s=1,r;i=="first-letter"?s=0:(r=i.match(/^first-([0-9]+)-lines$/))!=null&&(s=r[1]-0),n["x-first-pseudo"]=new q(new Qt(s),0)}return n}processContent(e,t,i){let n=di(e);if(!this.contentProcessed[n]){this.contentProcessed[n]=!0;let s=t.content;s&&Vt(s)&&(s.visit(new Kn(e,this.context,s,this.exprContentListener)),ag(e))}}},qw=Xn.isInstanceOfAfterIfContinuesLayoutConstraint,ug=us.registerFragmentIndex,Yw=us.clearFragmentIndices,cg=class{constructor(e,t){this.sourceNode=e,this.styler=t}createElement(e,t){let i=t.viewNode.ownerDocument.createElement("div"),n=new io(e,i,t),s=n.getColumn().pageBreakType;return n.getColumn().pageBreakType=null,n.layout(this.createNodePositionForPseudoElement(),!0).thenAsync(()=>{this.styler.contentProcessed["after-if-continues"]=!1,n.getColumn().pageBreakType=s;let r=i.firstChild;return N(r,"display","block"),k(r)})}createNodePositionForPseudoElement(){let e=_n.createElementNS("http://www.w3.org/1999/xhtml","div");wr(e,"after-if-continues");let t=this.createShadowContext(e),i={steps:[{node:e,shadowType:t.type,shadowContext:t,nodeShadow:null,shadowSibling:null}],offsetInNode:0,after:!1,preprocessedTextContent:null};return new Dt(i)}createShadowContext(e){return new Js(this.sourceNode,e,null,null,null,Pt.ShadowType.ROOTED,this.styler)}},dg=class Zh{constructor(t,i,n){this.nodeContext=t,this.afterIfContinues=i,this.pseudoElementHeight=n,u(this,"flagmentLayoutConstraintType","AfterIfContinue")}allowLayout(t,i,n){return!(i&&!t||t&&t.overflow)}nextCandidate(t){return!1}postLayout(t,i,n,s){}finishBreak(t,i){return this.getRepetitiveElements().affectTo(t)?this.afterIfContinues.createElement(i,this.nodeContext).thenAsync(n=>(this.nodeContext.viewNode.appendChild(n),k(!0))):k(!0)}getRepetitiveElements(){return new pg(this.nodeContext,this.pseudoElementHeight)}equalsTo(t){return t instanceof Zh?this.afterIfContinues==t.afterIfContinues:!1}getPriorityOfFinishBreak(){return 9}},pg=class{constructor(e,t){this.nodeContext=e,this.pseudoElementHeight=t}calculateOffset(e){return this.affectTo(e)?this.pseudoElementHeight:0}calculateMinimumOffset(e){return this.calculateOffset(e)}affectTo(e){if(!e)return!1;let t=e.shadowContext?e.shadowContext.owner:e.sourceNode;if(t===this.nodeContext.sourceNode)return!!e.after;for(let i=t.parentNode;i;i=i.parentNode)if(i===this.nodeContext.sourceNode)return!0;return!1}};function Jh(e,t){if(!e||!e.afterIfContinues||e.after||t.isFloatNodeContext(e))return k(e);let i=e.afterIfContinues;return i.createElement(t,e).thenAsync(n=>{let s=gg(e,t,n);return t.fragmentLayoutConstraints.push(new dg(e,i,s)),k(e)})}function Qh(e,t){return e.thenAsync(i=>Jh(i,t))}function fg(e,t){let i=F("processAfterIfContinuesOfAncestors"),n=e;return i.loop(()=>{if(n!==null){let s=Jh(n,t);return n=n.parent,s.thenReturn(!0)}else return k(!1)}).then(()=>{i.finish(!0)}),i.result()}function gg(e,t,i){let n=e.viewNode;n.appendChild(i);let s=ir(i,t,e.vertical);return n.removeChild(i),s}var mg=class{constructor(e){this.constraints=e}allowLayout(e){return this.constraints.every(t=>t.allowLayout(e))}},Mn=class extends jr{constructor(e,t){super(),this.checkPoints=e,this.penalty=t,u(this,"alreadyEvaluated",!1),u(this,"breakNodeContext",null)}findAcceptableBreak(e,t){return t<this.getMinBreakPenalty()?null:(this.alreadyEvaluated||(this.breakNodeContext=e.findBoxBreakPosition(this,t>0),this.alreadyEvaluated=!!this.breakNodeContext||t>0||!!e.pseudoParent),this.breakNodeContext)}getMinBreakPenalty(){return this.penalty}getNodeContext(){return this.alreadyEvaluated?this.breakNodeContext:this.checkPoints[this.checkPoints.length-1]}},Qn=class extends wh{constructor(e,t,i,n,s){super(e),this.layoutContext=t,this.clientLayout=i,this.layoutConstraint=n,this.pageFloatLayoutContext=s,u(this,"last"),u(this,"viewDocument"),u(this,"flowRootFormattingContext",null),u(this,"isFloat",!1),u(this,"isFootnote",!1),u(this,"startEdge",0),u(this,"endEdge",0),u(this,"beforeEdge",0),u(this,"afterEdge",0),u(this,"footnoteEdge",0),u(this,"box",null),u(this,"chunkPositions",null),u(this,"bands",null),u(this,"overflown",!1),u(this,"breakPositions",null),u(this,"pageBreakType",null),u(this,"forceNonfitting",!0),u(this,"leftFloatEdge",0),u(this,"rightFloatEdge",0),u(this,"bottommostFloatTop",0),u(this,"stopAtOverflow",!0),u(this,"lastAfterPosition",null),u(this,"fragmentLayoutConstraints",[]),u(this,"pseudoParent",null),u(this,"nodeContextOverflowingDueToRepetitiveElements",null),u(this,"blockDistanceToBlockEndFloats",NaN),u(this,"breakAtTheEdgeBeforeFloat",null),this.last=e.lastChild,this.viewDocument=e.ownerDocument,s.setContainer(this)}getTopEdge(){return this.vertical?this.rtl?this.endEdge:this.startEdge:this.beforeEdge}getBottomEdge(){return this.vertical?this.rtl?this.startEdge:this.endEdge:this.afterEdge}getLeftEdge(){return this.vertical?this.afterEdge:this.rtl?this.endEdge:this.startEdge}getRightEdge(){return this.vertical?this.beforeEdge:this.rtl?this.startEdge:this.endEdge}isFloatNodeContext(e){return!!e.floatSide&&(!this.isFloat||!!e.parent)}stopByOverflow(e){return this.stopAtOverflow&&!!e&&e.overflow}isOverflown(e){return this.vertical?e<this.footnoteEdge:e>this.footnoteEdge}getExclusions(){let e=this.pageFloatLayoutContext.getFloatFragmentExclusions();return this.exclusions.concat(e)}openAllViews(e){let t=F("openAllViews"),i=e.steps;this.layoutContext.setViewRoot(this.element,this.isFootnote);let n=i.length-1,s=null;return t.loop(()=>{for(;n>=0;){let r=s,o=i[n];if(s=Yn(o,r),n===i.length-1&&!s.formattingContext&&(s.formattingContext=this.flowRootFormattingContext),n==0&&(s.offsetInNode=this.calculateOffsetInNodeForNodeContext(e),s.after=e.after,s.preprocessedTextContent=e.preprocessedTextContent,s.after))break;let a=this.layoutContext.setCurrent(s,n==0&&s.offsetInNode==0);if(n--,a.isPending())return a}return k(!1)}).then(()=>{t.finish(s)}),t.result()}calculateOffsetInNodeForNodeContext(e){return e.preprocessedTextContent?kp(e.preprocessedTextContent,e.offsetInNode):e.offsetInNode}maybePeelOff(e,t){var i,n;if(e.firstPseudo&&e.inline&&!e.after&&e.firstPseudo.count==0&&e.viewNode.nodeType!=1){let s=e.viewNode.textContent,r=s.match(Bs),o=r?r[0].length:0;if(!r&&((i=e.sourceNode)==null?void 0:i.nodeType)===3&&((n=e.sourceNode.nextSibling)==null?void 0:n.nodeType)===3&&s===e.sourceNode.textContent){let a=s+e.sourceNode.nextSibling.textContent,h=a.match(Bs);if(h){let l=h[0];o=l.length,e.sourceNode.textContent=l,e.viewNode.textContent=l,e.sourceNode.nextSibling.textContent=a.substr(o)}}return this.layoutContext.peelOff(e,o)}return k(e)}buildViewToNextBlockEdge(e,t){let i=!1,n=F("buildViewToNextBlockEdge");return n.loopWithFrame(s=>{var r;e.viewNode&&!ui(e)&&((r=e.viewNode.parentElement)==null?void 0:r.namespaceURI)==="http://www.w3.org/1999/xhtml"&&t.push(e.copy()),this.maybePeelOff(e,0).then(o=>{let a=o;a!==e&&(e=a,ui(e)||t.push(e.copy())),this.nextInTree(e).then(h=>{if(e=h,!e){s.breakLoop();return}(i||!this.layoutConstraint.allowLayout(e))&&(i=!0,e=e.modify(),e.overflow=!0),this.isFloatNodeContext(e)&&(gi(e.floatReference)||e.floatSide==="footnote")?this.layoutFloatOrFootnote(e).then(l=>{if(e=l,this.pageFloatLayoutContext.isInvalidated()&&(e=null),!e){s.breakLoop();return}s.continueLoop()}):e.inline?s.continueLoop():s.breakLoop()})})}).then(()=>{n.finish(e)}),n.result()}nextInTree(e,t){let i=this.layoutContext.nextInTree(e,t);return Qh(i,this)}buildDeepElementView(e){if(!e.viewNode)return k(e);let t=[],i=e.sourceNode,n=F("buildDeepElementView");return n.loopWithFrame(s=>{e.viewNode&&e.inline&&!ui(e)?t.push(e.copy()):(t.length>0&&this.postLayoutBlock(e,t),t=[]),this.maybePeelOff(e,0).then(r=>{let o=r;if(o!==e){let a=o;for(;a&&a.sourceNode!=i;)a=a.parent;if(a==null){e=o,s.breakLoop();return}ui(o)||t.push(o.copy())}this.nextInTree(o).then(a=>{e=a,!e||e.sourceNode==i?s.breakLoop():this.layoutConstraint.allowLayout(e)?s.continueLoop():(e=e.modify(),e.overflow=!0,this.stopAtOverflow?s.breakLoop():s.continueLoop())})})}).then(()=>{t.length>0&&this.postLayoutBlock(e,t),n.finish(e)}),n.result()}createFloat(e,t,i,n){let s=this.viewDocument.createElement("div");return this.vertical?(n>=this.height&&(n-=.1),n<1&&(n=0),N(s,"height",`${i}px`),N(s,"width",`${n}px`)):(i>=this.width&&(i-=.1),i<1&&(i=0),N(s,"width",`${i}px`),N(s,"height",`${n}px`)),N(s,"float",t),N(s,"clear",t),this.element.insertBefore(s,e),s}killFloats(){let e=this.element.firstChild;for(;e;){let t=e.nextSibling;if(e.nodeType==1){let i=e,n=i.style.cssFloat;if(n=="left"||n=="right"||n==="none")this.element.removeChild(i);else break}e=t}}createFloats(){let e=this.element.firstChild,t=this.bands,i=this.vertical?this.getTopEdge():this.getLeftEdge(),n=this.vertical?this.getBottomEdge():this.getRightEdge(),s=null;for(let r of t){let o=r.y2-r.y1;r.left=this.createFloat(e,"left",r.x1-i,o),r.right=this.createFloat(e,"right",n-r.x2,o),r.x1<n&&r.x2>i?s=r:s||N(r.right,"float","none")}if(s){let r=t[t.length-1],o=this.vertical?-this.getLeftEdge():this.getBottomEdge();s!==r&&r.y2>=o&&(this.footnoteEdge=this.vertical?-s.y2:s.y2)}}calculateEdge(e,t,i,n){let s;if(e&&hi(e.viewNode))return NaN;if(e&&e.after&&!e.inline&&(s=ai(e,this.clientLayout,0,this.vertical),!isNaN(s)))return s;e=t[i];let r=n-e.boxOffset;for(;;){if(s=ai(e,this.clientLayout,r,this.vertical),!isNaN(s))return s;if(r>0){r--;continue}if(i--,i<0)return this.beforeEdge;e=t[i],e.viewNode.nodeType!=1&&(r=e.viewNode.textContent.length)}}parseComputedLength(e){let t=e.match(/^(-?[0-9]*(\.[0-9]*)?)px$/);return t?this.clientLayout.adjustLengthValue(parseFloat(t[0])):0}getComputedMargin(e){let t=this.clientLayout.getElementComputedStyle(e),i=new Cs(0,0,0,0);return t&&(i.left=this.parseComputedLength(t.marginLeft),i.top=this.parseComputedLength(t.marginTop),i.right=this.parseComputedLength(t.marginRight),i.bottom=this.parseComputedLength(t.marginBottom)),i}getComputedPaddingBorder(e){let t=this.clientLayout.getElementComputedStyle(e),i=new Cs(0,0,0,0);return t&&(i.left=this.parseComputedLength(t.borderLeftWidth)+this.parseComputedLength(t.paddingLeft),i.top=this.parseComputedLength(t.borderTopWidth)+this.parseComputedLength(t.paddingTop),i.right=this.parseComputedLength(t.borderRightWidth)+this.parseComputedLength(t.paddingRight),i.bottom=this.parseComputedLength(t.borderBottomWidth)+this.parseComputedLength(t.paddingBottom)),i}getComputedInsets(e){let t=this.clientLayout.getElementComputedStyle(e),i=new Cs(0,0,0,0);if(t){if(t.boxSizing=="border-box")return this.getComputedMargin(e);i.left=this.parseComputedLength(t.marginLeft)+this.parseComputedLength(t.borderLeftWidth)+this.parseComputedLength(t.paddingLeft),i.top=this.parseComputedLength(t.marginTop)+this.parseComputedLength(t.borderTopWidth)+this.parseComputedLength(t.paddingTop),i.right=this.parseComputedLength(t.marginRight)+this.parseComputedLength(t.borderRightWidth)+this.parseComputedLength(t.paddingRight),i.bottom=this.parseComputedLength(t.marginBottom)+this.parseComputedLength(t.borderBottomWidth)+this.parseComputedLength(t.paddingBottom)}return i}setComputedInsets(e,t){let i=this.clientLayout.getElementComputedStyle(e);i&&(t.marginLeft=this.parseComputedLength(i.marginLeft),t.borderLeft=this.parseComputedLength(i.borderLeftWidth),t.paddingLeft=this.parseComputedLength(i.paddingLeft),t.marginTop=this.parseComputedLength(i.marginTop),t.borderTop=this.parseComputedLength(i.borderTopWidth),t.paddingTop=this.parseComputedLength(i.paddingTop),t.marginRight=this.parseComputedLength(i.marginRight),t.borderRight=this.parseComputedLength(i.borderRightWidth),t.paddingRight=this.parseComputedLength(i.paddingRight),t.marginBottom=this.parseComputedLength(i.marginBottom),t.borderBottom=this.parseComputedLength(i.borderBottomWidth),t.paddingBottom=this.parseComputedLength(i.paddingBottom))}setComputedWidthAndHeight(e,t){let i=this.clientLayout.getElementComputedStyle(e);i&&(t.width=this.parseComputedLength(i.width),t.height=this.parseComputedLength(i.height))}layoutUnbreakable(e){return this.buildDeepElementView(e)}layoutFloat(e){let t=F("layoutFloat"),i=e.viewNode,n=Zo(e.floatSide,e.vertical,e.direction,this.layoutContext.page.side);return N(i,"float","none"),N(i,"display","inline-block"),N(i,"vertical-align","top"),this.buildDeepElementView(e).then(s=>{let r=this.clientLayout.getElementClientRect(i),o=this.getComputedMargin(i),a=new rt(r.left-o.left,r.top-o.top,r.right+o.right,r.bottom+o.bottom),h=this.rtl?this.endEdge:this.startEdge,l=this.rtl?this.startEdge:this.endEdge,c=e.parent;for(;c&&c.inline;)c=c.parent;if(c){let x=c.viewNode.ownerDocument.createElement("div");x.style.left="0px",x.style.top="0px",this.vertical?(x.style.bottom="0px",x.style.width="1px"):(x.style.right="0px",x.style.height="1px"),c.viewNode.appendChild(x);let I=this.clientLayout.getElementClientRect(x);h=Math.max(this.rtl?this.getEndEdge(I):this.getStartEdge(I),h),l=Math.min(this.rtl?this.getStartEdge(I):this.getEndEdge(I),l),c.viewNode.removeChild(x);let L=this.vertical?a.y2-a.y1:a.x2-a.x1;n=="left"?l=Math.max(l,h+L):h=Math.min(h,l-L),c!==e.parent&&!e.firstPseudo&&(c.viewNode.appendChild(i),i.setAttribute("data-vivliostyle-float-box-moved","true"))}let p=new rt(h,this.getBoxDir()*this.beforeEdge,l,this.getBoxDir()*this.afterEdge),d=a;this.vertical&&(d=Gn(a));let f=this.getBoxDir();if(d.y1<this.bottommostFloatTop*f){let x=d.y2-d.y1;d.y1=this.bottommostFloatTop*f,d.y2=d.y1+x}pd(p,this.bands,d,n),this.vertical&&(a=Fl(d));let g=this.getComputedInsets(i);N(i,"width",`${a.x2-a.x1-g.left-g.right}px`),N(i,"height",`${a.y2-a.y1-g.top-g.bottom}px`),N(i,"position","absolute"),e.display,N(i,"display",e.display);let m,w=null;if(c&&(c.containingBlockForAbsolute?w=c:w=c.getContainingBlockForAbsolute()),w){let x=w.viewNode.ownerDocument.createElement("div");x.style.position="absolute",w.vertical?x.style.right="0":x.style.left="0",x.style.top="0",w.viewNode.appendChild(x),m=this.clientLayout.getElementClientRect(x),w.viewNode.removeChild(x)}else m={left:this.getLeftEdge()-this.paddingLeft,right:this.getRightEdge()+this.paddingRight,top:this.getTopEdge()-this.paddingTop};(w?w.vertical:this.vertical)?N(i,"right",`${m.right-a.x2}px`):N(i,"left",`${a.x1-m.left}px`),N(i,"top",`${a.y1-m.top}px`),e.clearSpacer&&(e.clearSpacer.parentNode.removeChild(e.clearSpacer),e.clearSpacer=null);let y=this.vertical?a.x1:a.y2,b=this.vertical?a.x2:a.y1;!this.isOverflown(y)||this.breakPositions.length==0?(this.killFloats(),p=new rt(this.getLeftEdge(),this.getTopEdge(),this.getRightEdge(),this.getBottomEdge()),this.vertical&&(p=Gn(p)),fd(p,this.bands,d,null,n),this.createFloats(),n=="left"?this.leftFloatEdge=y:this.rightFloatEdge=y,this.bottommostFloatTop=b,this.updateMaxReachedAfterEdge(y),t.finish(s)):(e=e.modify(),e.overflow=!0,t.finish(e))}),t.result()}setupFloatArea(e,t,i,n,s,r){let o=this.pageFloatLayoutContext,a=o.getContainer(t),h=e.element;a.element.parentNode.appendChild(h),e.isFloat=!0,e.originX=a.originX,e.originY=a.originY,e.vertical=a.vertical,e.rtl=a.rtl,e.marginLeft=e.marginRight=e.marginTop=e.marginBottom=0,e.borderLeft=e.borderRight=e.borderTop=e.borderBottom=0,e.paddingLeft=e.paddingRight=e.paddingTop=e.paddingBottom=0,e.exclusions=(a.exclusions||[]).concat(),e.forceNonfitting=!o.hasFloatFragments(),e.innerShape=null;let l=a.getPaddingRect();e.setHorizontalPosition(l.x1-a.originX,l.x2-l.x1),e.setVerticalPosition(l.y1-a.originY,l.y2-l.y1),s.adjustPageFloatArea(e,a,this),e.init();let c=!!o.setFloatAreaDimensions(e,t,i,n,!0,!o.hasFloatFragments(),r);return c?(e.killFloats(),e.init()):a.element.parentNode.removeChild(h),c}createPageFloatArea(e,t,i,n,s){let r=this.element.ownerDocument.createElement("div");N(r,"position","absolute");let o=this.pageFloatLayoutContext.getPageFloatLayoutContext(e.floatReference),a=new Di(null,Ae.COLUMN,null,this.pageFloatLayoutContext.flowName,e.nodePosition,null,null),h=o.getContainer(),l=new vg(t,r,this.layoutContext.clone(),this.clientLayout,this.layoutConstraint,a,h);return a.setContainer(l),this.setupFloatArea(l,e.floatReference,t,i,n,s)?l:null}layoutSinglePageFloatFragment(e,t,i,n,s,r,o){let a=this.pageFloatLayoutContext;e=(o?o.continuations:[]).concat(e);let h=e[0].float,l=a.getPageFloatPlacementCondition(h,t,i),c=this.createPageFloatArea(h,t,r,s,l),p={floatArea:c,pageFloatFragment:null,newPosition:null};if(!c)return k(p);let d=F("layoutSinglePageFloatFragment"),f=!1,g=0;return d.loopWithFrame(m=>{if(g>=e.length){m.breakLoop();return}let w=e[g],y=new Dt(w.nodePosition);c.layout(y,!0).then(b=>{p.newPosition=b,!b||n?(g++,m.continueLoop()):(f=!0,m.breakLoop())})}).then(()=>{if(!f){let m=a.setFloatAreaDimensions(c,h.floatReference,t,r,!1,n,l);if(!m)f=!0;else{let w=s.createPageFloatFragment(e,m,c,!!p.newPosition);a.addPageFloatFragment(w,!0),p.pageFloatFragment=w}}d.finish(p)}),d.result()}layoutPageFloatInner(e,t,i,n){let s=this.pageFloatLayoutContext,r=e.float;s.stashEndFloatFragments(r);function o(h,l){l?s.removePageFloatFragment(l,!0):h&&h.element.parentNode.removeChild(h.element),s.restoreStashedFragments(r.floatReference),s.deferPageFloat(e)}let a=F("layoutPageFloatInner");return this.layoutSinglePageFloatFragment([e],r.floatSide,r.clearSide,!s.hasFloatFragments(),t,i,n).then(h=>{let l=h.floatArea,c=h.pageFloatFragment,p=h.newPosition;c?this.layoutStashedPageFloats(r.floatReference,[n]).then(d=>{if(d){if(s.addPageFloatFragment(c),s.discardStashedFragments(r.floatReference),p){let f=new Jo(r,p.primary);s.deferPageFloat(f)}a.finish(!0)}else o(l,c),a.finish(!1)}):(o(l,c),a.finish(!1))}),a.result()}layoutStashedPageFloats(e,t){let i=this.pageFloatLayoutContext,n=i.getStashedFloatFragments(e),s=[],r=[],o=!1,a=F("layoutStashedPageFloats"),h=0;return a.loopWithFrame(l=>{if(h>=n.length){l.breakLoop();return}let c=n[h];if(t.includes(c)){h++,l.continueLoop();return}let p=new Si().findByFloat(c.continuations[0].float);this.layoutSinglePageFloatFragment(c.continuations,c.floatSide,null,!1,p,null).then(d=>{let f=d.floatArea;f&&s.push(f);let g=d.pageFloatFragment;g?(r.push(g),h++,l.continueLoop()):(o=!0,l.breakLoop())})}).then(()=>{o?(r.forEach(l=>{i.removePageFloatFragment(l,!0)}),s.forEach(l=>{let c=l.element;c&&c.parentNode&&c.parentNode.removeChild(c)})):n.forEach(l=>{let c=l.area.element;c&&c.parentNode&&c.parentNode.removeChild(c)}),a.finish(!o)}),a.result()}setFloatAnchorViewNode(e){let t=e.viewNode.parentNode,i=t.ownerDocument.createElement("span");i.setAttribute(xi,"1"),e.floatSide==="footnote"&&this.layoutContext.applyPseudoelementStyle(e,"footnote-call",i),t.appendChild(i),t.removeChild(e.viewNode);let n=e.modify();return n.after=!0,n.viewNode=i,n}resolveFloatReferenceFromColumnSpan(e,t,i){let n=F("resolveFloatReferenceFromColumnSpan"),s=this.pageFloatLayoutContext,r=s.getPageFloatLayoutContext(Ae.REGION);return s.getContainer().width<r.getContainer().width&&e===Ae.COLUMN?t===v.auto?this.buildDeepElementView(i.copy()).then(o=>{let a=o.viewNode,h=Hr(this.clientLayout,a,["min-content inline size"])["min-content inline size"],l=this.getComputedMargin(a);this.vertical?h+=l.top+l.bottom:h+=l.left+l.right,h>this.width?n.finish(Ae.REGION):n.finish(e)}):t===v.all?n.finish(Ae.REGION):n.finish(e):n.finish(e),n.result()}layoutPageFloat(e){let t=this.pageFloatLayoutContext,i=new Si().findByNodeContext(e),n,s=t.findPageFloatByNodePosition(e.toNodePosition());return s?n=k(s):n=i.createPageFloat(e,t,this),n.thenAsync(r=>{let o=qn(e,0),a=this.setFloatAnchorViewNode(e),h=i.findPageFloatFragment(r,t),l=new Jo(r,o);if(h&&h.hasFloat(r))return t.registerPageFloatAnchor(r,a.viewNode),k(a);if(t.isForbidden(r)||t.hasPrecedingFloatsDeferredToNext(r))return t.deferPageFloat(l),t.registerPageFloatAnchor(r,a.viewNode),k(a);if(this.nodeContextOverflowingDueToRepetitiveElements)return k(null);{let c=ai(a,this.clientLayout,0,this.vertical);return this.isOverflown(c)?k(a):this.layoutPageFloatInner(l,i,c,h).thenAsync(p=>p?k(null):(t.registerPageFloatAnchor(r,a.viewNode),k(a)))}})}processLineStyling(e,t,i){let n=F("processLineStyling"),s=i.concat([]);i.splice(0,i.length);let r=0,o=e.firstPseudo;return o.count==0&&(o=o.outer),n.loopWithFrame(a=>{if(!o){a.breakLoop();return}let h=this.findLinePositions(s),l=o.count-r;if(h.length<=l){a.breakLoop();return}let c=this.findAcceptableBreakInside(s,h[l-1],!0);if(c==null){a.breakLoop();return}this.finishBreak(c,!1,!1).then(()=>{r+=l,this.layoutContext.peelOff(c,0).then(p=>{e=p,o=e.firstPseudo,s=[],this.buildViewToNextBlockEdge(e,s).then(d=>{t=d,a.continueLoop()})})})}).then(()=>{Array.prototype.push.apply(i,s),n.finish(t)}),n.result()}isLoneImage(e){return e.length!=2&&this.breakPositions.length>0?!1:e[0].sourceNode==e[1].sourceNode&&Xt[e[0].sourceNode.localName]}getTrailingMarginEdgeAdjustment(e){let t=0,i=0;for(let n=e.length-1;n>=0;n--){let s=e[n];if(!s.after||!s.viewNode||s.viewNode.nodeType!=1)break;let r=this.getComputedMargin(s.viewNode),o=this.vertical?-r.left:r.bottom;o>0?t=Math.max(t,o):i=Math.min(i,o)}return t+i}layoutBreakableBlock(e){let t=F("layoutBreakableBlock"),i=[];return this.buildViewToNextBlockEdge(e,i).then(n=>{let s=i.length-1;if(s<0){t.finish(n);return}this.postLayoutBlock(n,i);let r=this.calculateEdge(n,i,s,i[s].boxOffset),o=!1;if(!n||!hi(n.viewNode)){let h=mi(n,this.collectElementsOffset());o=this.isOverflown(r+(this.vertical?-1:1)*h.minimum),this.isOverflown(r+(this.vertical?-1:1)*h.current)&&!this.nodeContextOverflowingDueToRepetitiveElements&&(this.nodeContextOverflowingDueToRepetitiveElements=n)}n==null&&(r+=this.getTrailingMarginEdgeAdjustment(i)),this.updateMaxReachedAfterEdge(r);let a;e.firstPseudo?a=this.processLineStyling(e,n,i):a=k(n),a.then(h=>{i.length>0&&(this.saveBoxBreakPosition(i),o&&!this.isLoneImage(i)&&h&&(h=h.modify(),h.overflow=!0)),t.finish(h)})}),t.result()}postLayoutBlock(e,t){ft("POST_LAYOUT_BLOCK").forEach(i=>{i(e,t,this)})}findEndOfLine(e,t,i){let n=this.vertical?e-1:e+1,s=0,r=t[0].boxOffset,o=s,a=t.length-1,h=t[a].boxOffset,l;for(;r<h;){l=r+Math.ceil((h-r)/2),o=s;let c=a;for(;o<c;){let d=o+Math.ceil((c-o)/2);t[d].boxOffset>l?c=d-1:o=d}let p=this.calculateEdge(null,t,o,l);if(this.vertical?p<=n:p>=n){for(h=l-1;t[o].boxOffset==l;)o--;a=o}else i&&this.updateMaxReachedAfterEdge(p),r=l,s=o}return{nodeContext:t[o],index:r,checkPointIndex:o}}findAcceptableBreakInside(e,t,i){var n,s,r;let o=this.findEndOfLine(t,e,!0),a=o.nodeContext;if(o.checkPointIndex===0&&o.index===a.boxOffset)return null;let h=a.viewNode;if(h.nodeType!=1&&((n=h.parentElement)==null?void 0:n.localName)!=="viv-ts-inner"){let l=h;a=this.resolveTextNodeBreaker(a).breakTextNode(l,a,o.index,e,o.checkPointIndex,i)}else{let l=ta(a);if(l){if(((s=this.breakPositions)==null?void 0:s[0])instanceof Mn&&l!=null&&l.viewNode.contains(this.breakPositions[0].checkPoints[0].viewNode))return null;for(a=l;!a.after&&a.inline&&a.parent;){let c=(r=a.viewNode)==null?void 0:r.previousSibling;for(;c&&(Ve(c,a.parent.whitespace)||Vi(c));)c=c.previousSibling;if(c)break;a=a.parent}}}return this.clearOverflownViewNodes(a,!1),a}resolveTextNodeBreaker(e){return ft("RESOLVE_TEXT_NODE_BREAKER").reduce((t,i)=>i(e)||t,es.instance)}getRangeBoxes(e,t){let i=[],n=e.ownerDocument.createRange(),s=!1,r=e,o=null,a=!1,h=!0;for(;h;){let l=!0;do{let c=null;r==t&&(t.nodeType===1?h=!(!t.firstChild||s):h=!1);let p=r.nodeType===1?r:null;p?s?s=!1:Wr(p)?l=!a:!p.firstChild||Xt[p.localName]||/^r(uby|[bt]c?)$/.test(p.localName)||Kp(this.clientLayout.getElementComputedStyle(p).display)?(l=!a,l?(p.localName==="ruby"&&r.firstChild&&(r=r.firstChild),n.setStartBefore(r),a=!0,o=r):/^r(uby|tc?)$/.test(p.localName)||(o=r),r.contains(t)&&(h=!1)):c=r.firstChild:(a||(r.parentNode==null?h=!1:(n.setStartBefore(r),a=!0)),o=r),c||(c=r.nextSibling,c||(s=!0,c=r.parentNode)),r=c}while(l&&h);if(a){n.setEndAfter(o);let c=this.clientLayout.getRangeClientRects(n);for(let p=0;p<c.length;p++)i.push(c[p]);a=!1}}return i}findLinePositions(e){let t=[],i=this.getRangeBoxes(e[0].viewNode,e[e.length-1].viewNode);i.sort(this.vertical?Op:Fp);let n=0,s=0,r=0,o=0,a=0,h=this.getBoxDir();for(;;){if(a<i.length){let l=i[a],c=1;if(o>0){let p=Math.max(this.getBoxSize(l),1);h*this.getBeforeEdge(l)<h*n?c=h*(this.getAfterEdge(l)-n)/p:h*this.getAfterEdge(l)>h*s?c=h*(s-this.getBeforeEdge(l))/p:c=1}if(o==0||c>=.6||c>=.2&&this.getStartEdge(l)>=r-1){r=this.getEndEdge(l),this.vertical?(n=o==0?l.right:Math.max(n,l.right),s=o==0?l.left:Math.min(s,l.left)):(n=o==0?l.top:Math.min(n,l.top),s=o==0?l.bottom:Math.max(s,l.bottom)),o++,a++;continue}}if(o>0&&(t.push(s),o=0),a>=i.length)break}return t.sort(rl),this.vertical&&t.reverse(),t}calculateClonedPaddingBorder(e){let t=0;for(let i=e;i;i=i.parent)if(!i.inline&&_i(i.viewNode)){let n=this.getComputedPaddingBorder(i.viewNode);t+=i.vertical?-n.left:n.bottom,i.display==="table"&&(t+=(i.vertical?-1:1)*i.blockBorderSpacing)}return t}getOffsetByRepetitiveElements(e){let t;return e?t=e.calculateOffset(this):t=mi(null,this.collectElementsOffset()),t.current}findBoxBreakPosition(e,t){let i=this.element.parentNode,n=this.element.nextSibling;i.removeChild(this.element),i.insertBefore(this.element,n);let s=e.checkPoints,r=s[0];for(;r.parent&&r.inline;)r=r.parent;let o,a;t?(o=1,a=1):(o=Math.max((r.inheritedProps.widows||2)-0,1),a=Math.max((r.inheritedProps.orphans||2)-0,1));let h=this.calculateClonedPaddingBorder(r),l=this.findLinePositions(s),c=this.footnoteEdge-h,p=this.getBoxDir(),d=this.getOffsetByRepetitiveElements(e);c-=p*d;let f=this.findFirstOverflowingEdgeAndCheckPoint(s);isNaN(f.edge)&&(f.edge=p*(1/0));let g=_t(l.length,b=>{let x=l[b];return this.vertical?x<c||x<=f.edge:x>c||x>=f.edge}),m=g<=0;m&&(g=_t(l.length,b=>this.vertical?l[b]<c:l[b]>c));let w=s[s.length-1].viewNode;if(w?.parentElement.localName==="viv-ts-inner"&&(w=w.parentElement.parentElement),(g===l.length&&w.nextSibling||g>=l.length-1&&w.parentElement.querySelector(".MJXc-display"))&&(o=0),g=Math.min(l.length-o,g),g<a)return null;c=l[g-1];let y;if(m?y=f.checkPoint:y=this.findAcceptableBreakInside(e.checkPoints,c,t),y){let b=this.getAfterEdgeOfBlockContainer(y);!isNaN(b)&&p*(c-b)>0&&(c=b),this.computedBlockSize=p*(c-this.beforeEdge)+d}return y}getAfterEdgeOfBlockContainer(e){let t=e;do t=t.parent;while(t&&t.inline);return t?(t=t.copy().modify(),t.after=!0,ai(t,this.clientLayout,0,this.vertical)):NaN}findFirstOverflowingEdgeAndCheckPoint(e){let t=e.findIndex(n=>n.overflow);if(t<0)return{edge:NaN,checkPoint:null};let i=e[t];return{edge:this.calculateEdge(null,e,t,i.boxOffset),checkPoint:i}}findEdgeBreakPosition(e){return this.computedBlockSize=e.computedBlockSize+this.getOffsetByRepetitiveElements(e),e.position}finishBreak(e,t,i){e.formattingContext;let n=new Fi().find(e.formattingContext).finishBreak(this,e,t,i);return n||(n=qr.finishBreak(this,e,t,i)),n}findAcceptableBreakPosition(){let e=null,t=null,i=0,n=0;do{i=n,n=Number.MAX_VALUE;for(let s=this.breakPositions.length-1;s>=0&&!t;--s){e=this.breakPositions[s],t=e.findAcceptableBreak(this,i);let r=e.getMinBreakPenalty();r>i&&(n=Math.min(n,r))}}while(n>i&&!t&&this.forceNonfitting);return{breakPosition:t?e:null,nodeContext:t}}doFinishBreak(e,t,i,n){if(this.pageFloatLayoutContext.isInvalidated()||this.pageBreakType||!t)return k(e);let s=F("doFinishBreak"),r=!1;if(!e){if(this.forceNonfitting)return V.warn("Could not find any page breaks?!!"),this.skipTailEdges(t).then(o=>{o?(o=o.modify(),o.overflow=!1,this.finishBreak(o,r,!0).then(()=>{s.finish(o)})):s.finish(o)}),s.result();e=i,r=!0,this.computedBlockSize=n}return this.finishBreak(e,r,!0).then(()=>{s.finish(e)}),s.result()}isBreakable(e){for(let t=e;t;t=t.parent)if(Vi(t.viewNode))return!1;if(e.after)return!0;switch(e.sourceNode.namespaceURI){case"http://www.w3.org/2000/svg":return!1}return!e.flexContainer}zeroIndent(e){let t=e.toString();return t==""||t=="auto"||!!t.match(/^0+(.0*)?[^0-9]/)}checkOverflowAndSaveEdge(e,t){if(!e)return!1;for(let r=e;r;r=r.parent)if(Vi(r.viewNode))return!1;if(hi(e.viewNode))return!1;let i=ai(e,this.clientLayout,0,this.vertical),n=mi(e,this.collectElementsOffset()),s=this.isOverflown(i+(this.vertical?-1:1)*n.minimum);if(this.isOverflown(i+(this.vertical?-1:1)*n.current)&&!this.nodeContextOverflowingDueToRepetitiveElements)this.nodeContextOverflowingDueToRepetitiveElements=e;else if(t){let r=i+this.getTrailingMarginEdgeAdjustment(t),o=this.footnoteEdge-this.getBoxDir()*n.current;i=this.vertical?Math.min(i,Math.max(r,o)):Math.max(i,Math.min(r,o))}return this.updateMaxReachedAfterEdge(i),s}checkOverflowAndSaveEdgeAndBreakPosition(e,t,i,n){if(!e||hi(e.viewNode))return!1;let s=this.checkOverflowAndSaveEdge(e,t);return(i||!s)&&this.saveEdgeBreakPosition(e,n,s),s}applyClearance(e){if(!e.viewNode.parentNode)return!1;let t=this.getComputedMargin(e.viewNode),i=e.viewNode.ownerDocument.createElement("div");this.vertical?(i.style.bottom="0px",i.style.width="1px",i.style.marginRight=`${t.right}px`):(i.style.right="0px",i.style.height="1px",i.style.marginTop=`${t.top}px`),e.viewNode.parentNode.insertBefore(i,e.viewNode);let n=this.clientLayout.getElementClientRect(i),s=this.getBeforeEdge(n),r=this.getBoxDir(),o=e.clearSide,a=-this.getBoxDir()*(1/0);switch(o==="all"&&(a=this.pageFloatLayoutContext.getPageFloatClearEdge(o,this)),/^(top|bottom|inside|outside|(block|inline)-(start|end))$/.test(o)?Zo(o,e.vertical,e.direction,this.layoutContext.page.side):o){case"left":a=r*Math.max(a*r,this.leftFloatEdge*r);break;case"right":a=r*Math.max(a*r,this.rightFloatEdge*r);break;default:a=r*Math.max(a*r,Math.max(this.rightFloatEdge*r,this.leftFloatEdge*r))}if(s*r>=a*r)return e.viewNode.parentNode.removeChild(i),!1;{let h=Math.max(1,(a-s)*r);this.vertical?i.style.width=`${h}px`:i.style.height=`${h}px`,n=this.clientLayout.getElementClientRect(i);let l=this.getAfterEdge(n);if(!e.floatSide)if(this.vertical){let c=l+t.right-a;c>0==t.right>=0&&(c+=t.right),i.style.marginLeft=`${c}px`}else{let c=a-(l+t.top);c>0==t.top>=0&&(c+=t.top),i.style.marginBottom=`${c}px`}return e.clearSpacer=i,!0}}isBFC(e){return!!(Zp(e)||Yt.isInstanceOfRepetitiveElementsOwnerFormattingContext(e))}skipEdges(e,t,i){var n;let s=e.after?(n=e.parent)==null?void 0:n.formattingContext:e.formattingContext;if(s&&!this.isBFC(s))return k(e);let r=F("skipEdges"),o=!i&&t&&e&&e.after,a=i,h=null,l=[],c=[],p=!1;function d(){return!!i||!t&&Ze(a)&&!f()}function f(){var m;if(!h||e.floatSide)return!1;for(let w=h;w!=null&&w.parent;w=w.parent){let y=w.after?w.viewNode:(m=w.viewNode)==null?void 0:m.previousSibling;for(;y&&(Ve(y,w.parent.whitespace)||Vi(y));)y=y.previousSibling;if(y)return!1}return!0}let g=()=>{e=l[0]||e,e.viewNode.parentNode.removeChild(e.viewNode),this.pageBreakType=a};return r.loopWithFrame(m=>{for(var w;e;){e.formattingContext;let y=new Fi().find(e.formattingContext);do{if(!e.viewNode)break;if(e.inline&&e.viewNode.nodeType!=1){if(Ve(e.viewNode,e.whitespace))break;if(!e.after){d()?g():this.checkOverflowAndSaveEdgeAndBreakPosition(h,null,!0,a)?(e=(this.stopAtOverflow&&h||e).modify(),e.overflow=!0):(e=e.modify(),e.breakBefore=a),m.breakLoop();return}}if(!e.after){if(e.floatSide&&(this.breakAtTheEdgeBeforeFloat=jn(a)?a:null),y&&y.startNonInlineElementNode(e))break;if(e.clearSide&&this.applyClearance(e)&&t&&this.breakPositions.length===0&&this.saveEdgeBreakPosition(e.copy(),a,!1),!e.inline&&!e.repeatOnBreak&&(h?ta(h):this.breakPositions[this.breakPositions.length-1]instanceof Mn)&&this.saveEdgeBreakPosition(e.copy(),a,!1),!this.isBFC(e.formattingContext)||Yt.isInstanceOfRepetitiveElementsOwnerFormattingContext(e.formattingContext)||this.isFloatNodeContext(e)||e.flexContainer||!e.nodeShadow&&!e.sourceNode.firstElementChild&&Ve(e.sourceNode.firstChild,e.whitespace)){l.push(e.copy()),a=Xe(a,e.breakBefore),d()?g():(this.checkOverflowAndSaveEdgeAndBreakPosition(h,null,!0,a)||!this.layoutConstraint.allowLayout(e))&&(e=(this.stopAtOverflow&&h||e).modify(),e.overflow=!0),m.breakLoop();return}}if(e.viewNode.nodeType!=1)break;let x=e.viewNode.style;if(e.after){e.floatSide&&(a=a??this.breakAtTheEdgeBeforeFloat,this.breakAtTheEdgeBeforeFloat=null);let I=e.sourceNode;if(I.localName==="svg"||I.localName==="math"||I.getAttribute("data-math-typeset")==="true"){p=!1,h=e.copy(),c.push(h),a=Xe(null,e.breakAfter),this.checkOverflowAndSaveEdgeAndBreakPosition(h,null,!this.stopAtOverflow,a);break}if(e.inline||y&&y.afterNonInlineElementNode(e,this.stopAtOverflow))break;if(p){if(d()){g(),m.breakLoop();return}l=[],t=!1,o=!1,a=null}p=!1,h=e.copy(),c.push(h),a=Xe(a,e.breakAfter),x&&!(this.zeroIndent(x.paddingBottom)&&this.zeroIndent(x.borderBottomWidth))&&(c=[h])}else{if(l.push(e.copy()),a=Xe(a,e.breakBefore),(e.pageType!=((w=e.parent)==null?void 0:w.pageType)||!Ze(a))&&!this.layoutConstraint.allowLayout(e)&&(this.checkOverflowAndSaveEdgeAndBreakPosition(h,null,!this.stopAtOverflow,a),e=e.modify(),e.overflow=!0,this.stopAtOverflow)){m.breakLoop();return}let I=e.viewNode.localName;if(Xt[I]){d()?g():this.checkOverflowAndSaveEdgeAndBreakPosition(h,null,!0,a)&&(e=(this.stopAtOverflow&&h||e).modify(),e.overflow=!0),m.breakLoop();return}x&&!(this.zeroIndent(x.paddingTop)&&this.zeroIndent(x.borderTopWidth))&&(o=!1,c=[]),p=!0}}while(!1);let b=this.nextInTree(e,o);if(b.isPending()){b.then(x=>{e=x,m.continueLoop()});return}else e=b.get()}this.checkOverflowAndSaveEdgeAndBreakPosition(h,c,!this.stopAtOverflow,a)?h&&this.stopAtOverflow&&(e=h.modify(),e.overflow=!0):Ze(a)&&(this.pageBreakType=a),m.breakLoop()}).then(()=>{h&&(this.lastAfterPosition=h.toNodePosition()),r.finish(e)}),r.result()}skipTailEdges(e){let t=e.copy(),i=F("skipEdges"),n=null,s=!1;return i.loopWithFrame(r=>{for(;e;){do{if(!e.viewNode)break;if(e.inline&&e.viewNode.nodeType!=1){if(Ve(e.viewNode,e.whitespace))break;if(!e.after){Ze(n)&&(this.pageBreakType=n),r.breakLoop();return}}if(!e.after&&(this.isFloatNodeContext(e)||e.flexContainer)){n=Xe(n,e.breakBefore),Ze(n)&&(this.pageBreakType=n),r.breakLoop();return}if(e.viewNode.nodeType!=1)break;let a=e.viewNode.style;if(e.after){if(s){if(Ze(n)){this.pageBreakType=n,r.breakLoop();return}n=null}s=!1,n=Xe(n,e.breakAfter)}else{n=Xe(n,e.breakBefore);let h=e.viewNode.localName;if(Xt[h]){Ze(n)&&(this.pageBreakType=n),r.breakLoop();return}if(a&&!(this.zeroIndent(a.paddingTop)&&this.zeroIndent(a.borderTopWidth))){r.breakLoop();return}}s=!0}while(!1);let o=this.layoutContext.nextInTree(e);if(o.isPending()){o.then(a=>{e=a,r.continueLoop()});return}else e=o.get()}t=null,r.breakLoop()}).then(()=>{i.finish(t)}),i.result()}layoutFloatOrFootnote(e){return gi(e.floatReference)||e.floatSide==="footnote"?this.layoutPageFloat(e):this.layoutFloat(e)}layoutNext(e,t,i){let n=F("layoutNext");return this.skipEdges(e,t,i||null).then(s=>{if(e=s,!e||this.pageBreakType||this.stopByOverflow(e))n.finish(e);else{let r=e.formattingContext;new Fi().find(r).layout(e,this,t).thenFinish(n)}}),n.result()}clearOverflownViewNodes(e,t){if(e)for(let i=e.parent;e;e=i,i=i?i.parent:null){let n=(i||e).formattingContext;new Fi().find(n).clearOverflownViewNodes(this,i,e,t),t=!1}}initGeom(){let e=this.element.ownerDocument.createElement("div");e.style.position="absolute",e.style.top=`${this.paddingTop}px`,e.style.right=`${this.paddingRight}px`,e.style.bottom=`${this.paddingBottom}px`,e.style.left=`${this.paddingLeft}px`,this.element.appendChild(e);let t=this.clientLayout.getElementClientRect(e);this.element.removeChild(e);let i=this.originX+this.left+this.getInsetLeft(),n=this.originY+this.top+this.getInsetTop();this.box=new rt(i,n,i+this.width,n+this.height),this.startEdge=t?this.vertical?this.rtl?t.bottom:t.top:this.rtl?t.right:t.left:0,this.endEdge=t?this.vertical?this.rtl?t.top:t.bottom:this.rtl?t.left:t.right:0,this.beforeEdge=t?this.vertical?t.right:t.top:0,this.afterEdge=t?this.vertical?t.left:t.bottom:0,this.leftFloatEdge=this.beforeEdge,this.rightFloatEdge=this.beforeEdge,this.bottommostFloatTop=this.beforeEdge,this.footnoteEdge=this.afterEdge,this.bands=ud(this.box,[this.getInnerShape()],this.getExclusions(),8,this.snapHeight,this.vertical),this.createFloats()}init(){this.chunkPositions=[],N(this.element,"width",`${this.width}px`),N(this.element,"height",`${this.height}px`),this.initGeom(),this.computedBlockSize=0,this.overflown=!1,this.pageBreakType=null,this.lastAfterPosition=null}saveEdgeBreakPosition(e,t,i){e.formattingContext;let n=e.copy(),s=new Fi().find(e.formattingContext),r=this.calculateClonedPaddingBorder(n),o=s.createEdgeBreakPosition(n,t,i,this.computedBlockSize+r);this.breakPositions.push(o)}saveBoxBreakPosition(e){let t=e[0].breakPenalty;if(t){let n=e[0];for(;n.parent&&n.inline;)n=n.parent;t=n.breakPenalty}let i=new Mn(e,t);this.breakPositions.push(i)}updateMaxReachedAfterEdge(e){if(!isNaN(e)){let t=this.getBoxDir()*(e-this.beforeEdge);this.computedBlockSize=Math.max(t,this.computedBlockSize)}}layout(e,t,i){if(this.chunkPositions.push(e),e.primary.after&&(this.lastAfterPosition=e.primary),this.stopAtOverflow&&this.overflown)return k(e);if(this.isFullWithPageFloats())return e.primary.after&&e.primary.steps.length===1?k(null):k(e);let n=F("layout");return this.openAllViews(e.primary).then(s=>{let r=null;if(s.viewNode)r=s.copy();else{let a=h=>{h.nodeContext.viewNode&&(r=h.nodeContext,this.layoutContext.removeEventListener("nextInTree",a))};this.layoutContext.addEventListener("nextInTree",a)}let o=new wg(t,i);o.layout(s,this).then(a=>{this.doFinishBreak(a,o.context.overflownNodeContext,r,o.initialComputedBlockSize).then(h=>{let l=null;this.pseudoParent?l=k(null):l=this.doFinishBreakOfFragmentLayoutConstraints(h),l.then(()=>{if(this.pageFloatLayoutContext.isInvalidated()){n.finish(null);return}if(!h)n.finish(null);else{this.overflown=!0;let c=new Dt(h.toNodePosition());n.finish(c)}})})})}),n.result()}isFullWithPageFloats(){return this.pageFloatLayoutContext.isColumnFullWithPageFloats(this)}getMaxBlockSizeOfPageFloats(){return this.pageFloatLayoutContext.getMaxBlockSizeOfPageFloats()}doFinishBreakOfFragmentLayoutConstraints(e){let t=F("doFinishBreakOfFragmentLayoutConstraints"),i=[].concat(this.fragmentLayoutConstraints);i.sort((s,r)=>s.getPriorityOfFinishBreak()-r.getPriorityOfFinishBreak());let n=0;return t.loop(()=>n<i.length?i[n++].finishBreak(e,this).thenReturn(!0):k(!1)).then(()=>{t.finish(!0)}),t.result()}doLayout(e,t,i){let n=F("doLayout"),s=null;return this.breakPositions=[],this.nodeContextOverflowingDueToRepetitiveElements=null,n.loopWithFrame(r=>{for(;e;){let o=!0;if(this.layoutNext(e,t,i||null).then(a=>{if(t=!1,i=null,this.nodeContextOverflowingDueToRepetitiveElements&&this.stopAtOverflow?(this.pageBreakType=null,e=this.nodeContextOverflowingDueToRepetitiveElements,e.overflow=!0):e=a,this.pageFloatLayoutContext.isInvalidated())r.breakLoop();else if(this.pageBreakType)r.breakLoop();else if(e&&this.stopByOverflow(e)){s=e;let h=this.findAcceptableBreakPosition();e=h.nodeContext,h.breakPosition&&h.breakPosition.breakPositionChosen(this),r.breakLoop()}else o?o=!1:r.continueLoop()}),o){o=!1;return}}this.computedBlockSize+=this.getOffsetByRepetitiveElements(),r.breakLoop()}).then(()=>{n.finish({nodeContext:e,overflownNodeContext:s})}),n.result()}redoLayout(){let e=this.chunkPositions,t=this.element.lastChild;for(;t!=this.last;){let o=t.previousSibling;this.element===t.parentNode&&this.layoutContext.isPseudoelement(t)||this.element.removeChild(t),t=o}this.killFloats(),this.init();let i=F("redoLayout"),n=0,s=null,r=!0;return i.loopWithFrame(o=>{if(n<e.length){let a=e[n++];this.layout(a,r).then(h=>{r=!1,h?(s=h,o.breakLoop()):o.continueLoop()});return}o.breakLoop()}).then(()=>{i.finish(s)}),i.result()}saveDistanceToBlockEndFloats(){let e=this.pageFloatLayoutContext.getBlockStartEdgeOfBlockEndFloats();e>0&&isFinite(e)&&(this.blockDistanceToBlockEndFloats=this.getBoxDir()*(e-this.beforeEdge-this.computedBlockSize))}collectElementsOffset(){let e=[];for(let t=this;t;t=t.pseudoParent)t.fragmentLayoutConstraints.forEach(i=>{if(Yt.isInstanceOfRepetitiveElementsOwnerLayoutConstraint(i)){let n=i.getRepetitiveElements();e.push(n)}if(Xn.isInstanceOfAfterIfContinuesLayoutConstraint(i)){let n=i.getRepetitiveElements();e.push(n)}Mt.isInstanceOfTableRowLayoutConstraint(i)&&i.getElementsOffsetsForTableCell(this).forEach(n=>{e.push(n)})});return e}},io=class{constructor(e,t,i){u(this,"startNodeContexts",[]),u(this,"column"),this.column=Object.create(e),this.column.element=t,this.column.layoutContext=e.layoutContext.clone(),this.column.stopAtOverflow=!1,this.column.flowRootFormattingContext=i.formattingContext,this.column.pseudoParent=e;let n=this.column.calculateClonedPaddingBorder(i);this.column.footnoteEdge=this.column.footnoteEdge-n;let s=this;this.column.openAllViews=function(r){return Qn.prototype.openAllViews.call(this,r).thenAsync(o=>(s.startNodeContexts.push(o.copy()),k(o)))}}layout(e,t){return this.column.layout(e,t)}findAcceptableBreakPosition(e){let t=this.column.findAcceptableBreakPosition();if(e){let i=this.startNodeContexts[0].copy(),n=new yn(i,null,i.overflow,0);if(n.findAcceptableBreak(this.column,0),!t.nodeContext)return{breakPosition:n,nodeContext:i}}return t}finishBreak(e,t,i){return this.column.finishBreak(e,t,i)}doFinishBreakOfFragmentLayoutConstraints(e){this.column.doFinishBreakOfFragmentLayoutConstraints(e)}isStartNodeContext(e){let t=this.startNodeContexts[0];return t.viewNode===e.viewNode&&t.after===e.after&&t.offsetInNode===e.offsetInNode}isLastAfterNodeContext(e){return zt(e.toNodePosition(),this.column.lastAfterPosition)}getColumnElement(){return this.column.element}getColumn(){return this.column}},es=class{breakTextNode(e,t,i,n,s,r){if(t.after)t.offsetInNode=e.length;else{let o=i-t.boxOffset,a=e.data;a.charCodeAt(o)==173?o=this.breakAfterSoftHyphen(e,a,o,t):o=this.breakAfterOtherCharacter(e,a,o,t),o>0&&(t=this.updateNodeContext(t,o,e))}return t}breakAfterSoftHyphen(e,t,i,n){let s=/[\u0620\u0626\u0628\u062A-\u062E\u0633-\u0647\u0649\u064A\u066E\u066F\u0678-\u0687\u069A-\u06BF\u06C1\u06C2\u06CC\u06CE\u06D0\u06D1\u06FA-\u06FC\u06FF\u0712-\u0714\u071A-\u071D\u071F-\u0727\u0729\u072B\u072D\u072E\u074E-\u0758\u075C-\u076A\u076D-\u0770\u0772\u0775-\u0777\u077A-\u077F\u07CA-\u07EA\u07FA\u0841-\u0845\u0848\u084A-\u0853\u0855\u0860\u0862-\u0865\u0868\u0883-\u0886\u0889-\u088D\u08A0-\u08A9\u08AF\u08B0\u08B3-\u08B8\u08BA-\u08C8\u1807\u180A\u1820-\u1878\u1887-\u18A8\u18AA\u200D\uA840-\uA871\u{10AC0}-\u{10AC4}\u{10AD3}-\u{10AD6}\u{10AD8}-\u{10ADC}\u{10ADE}-\u{10AE0}\u{10AEB}-\u{10AEE}\u{10B80}\u{10B82}\u{10B86}-\u{10B88}\u{10B8A}\u{10B8B}\u{10B8D}\u{10B90}\u{10BAD}\u{10BAE}\u{10D01}-\u{10D21}\u{10D23}\u{10EC3}\u{10EC4}\u{10F30}-\u{10F32}\u{10F34}-\u{10F44}\u{10F51}-\u{10F53}\u{10F70}-\u{10F73}\u{10F76}-\u{10F81}\u{10FB0}\u{10FB2}\u{10FB3}\u{10FB8}\u{10FBB}\u{10FBC}\u{10FBE}\u{10FBF}\u{10FC1}\u{10FC4}\u{10FCA}\u{1E900}-\u{1E943}]\p{Mn}*$/u.test(t.slice(0,i))?"\u200D":"";if(e.replaceData(i,t.length-i,n.breakWord?"":s+va(n)),s){let r=n.preprocessedTextContent[0][1];n.preprocessedTextContent[0][1]=r.slice(0,i+1)+s+r.slice(i+1)}return i+1}breakAfterOtherCharacter(e,t,i,n){let s=t.charAt(i);i++;let r=t.charAt(i);return e.replaceData(i,t.length-i,!n.breakWord&&ko(s)&&ko(r)?va(n):""),i}updateNodeContext(e,t,i){return e=e.modify(),e.offsetInNode+=t,e.breakBefore=null,e}};u(es,"instance");es.instance=new es;function va(e){return e.hyphenateCharacter||e.parent&&e.parent.hyphenateCharacter||"-"}var wg=class extends Yr{constructor(e,t){super(),this.leadingEdge=e,u(this,"breakAfter"),u(this,"initialPageBreakType",null),u(this,"initialComputedBlockSize",0),u(this,"initialOverflown",!1),u(this,"context",{overflownNodeContext:null}),this.breakAfter=t||null}resolveLayoutMode(e){return new bg(this.leadingEdge,this.breakAfter,this.context)}prepareLayout(e,t){t.fragmentLayoutConstraints=[],t.pseudoParent||Qp()}clearNodes(e){super.clearNodes(e);let t=e;for(;t;){let i=t.viewNode;i&&Eh(i.parentNode,i),t=t.parent}}saveState(e,t){super.saveState(e,t),this.initialPageBreakType=t.pageBreakType,this.initialComputedBlockSize=t.computedBlockSize,this.initialOverflown=t.overflown}restoreState(e,t){super.restoreState(e,t),t.pageBreakType=this.initialPageBreakType,t.computedBlockSize=this.initialComputedBlockSize,t.overflown=this.initialOverflown}},bg=class{constructor(e,t,i){this.leadingEdge=e,this.breakAfter=t,this.context=i}doLayout(e,t){let i=F("DefaultLayoutMode.doLayout");return fg(e,t).then(()=>{t.doLayout(e,this.leadingEdge,this.breakAfter).then(n=>{this.context.overflownNodeContext=n.overflownNodeContext,i.finish(n.nodeContext)})}),i.result()}accept(e,t){return t.pageFloatLayoutContext.isInvalidated()||t.pageBreakType||t.fragmentLayoutConstraints.length<=0?!0:t.fragmentLayoutConstraints.every(i=>i.allowLayout(e,this.context.overflownNodeContext,t))}postLayout(e,t,i,n){return n||(n=!i.fragmentLayoutConstraints.some(s=>s.nextCandidate(e))),i.fragmentLayoutConstraints.forEach(s=>{s.postLayout(n,e,t,i)}),n}},vg=class extends Qn{constructor(e,t,i,n,s,r,o){super(t,i,n,s,r),this.floatSide=e,this.parentContainer=o,u(this,"rootViewNodes",[]),u(this,"floatMargins",[]),u(this,"adjustContentRelativeSize",!0)}openAllViews(e){return super.openAllViews(e).thenAsync(t=>(t&&this.fixFloatSizeAndPosition(t),k(t)))}convertPercentageSizesToPx(e){let t=this.parentContainer.getPaddingRect(),i=t.x2-t.x1,n=t.y2-t.y1;function s(r,o){r.forEach(a=>{let h=At(e,a);if(h&&h.charAt(h.length-1)==="%"){let l=parseFloat(h),c=o*l/100;N(e,a,`${c}px`)}})}s(["width","max-width","min-width"],i),s(["height","max-height","min-height"],n),s(["margin-top","margin-right","margin-bottom","margin-left","padding-top","padding-right","padding-bottom","padding-left"],this.vertical?n:i),["margin-top","margin-right","margin-bottom","margin-left"].forEach(r=>{At(e,r)==="auto"&&N(e,r,"0")})}fixFloatSizeAndPosition(e){for(;e.parent;)e=e.parent;e.viewNode.nodeType;let t=e.viewNode;if(this.rootViewNodes.push(t),this.adjustContentRelativeSize&&this.convertPercentageSizesToPx(t),this.floatMargins.push(this.getComputedMargin(t)),this.adjustContentRelativeSize){let i=this.floatSide;if(this.parentContainer.vertical){if(i==="block-end"||i==="left"){let n=At(t,"height");n!==""&&n!=="auto"&&N(t,"margin-top","auto")}}else if(i==="block-end"||i==="bottom"){let n=At(t,"width");n!==""&&n!=="auto"&&N(t,"margin-left","auto")}}}getContentInlineSize(){return Math.max.apply(null,this.rootViewNodes.map((e,t)=>{let i=this.clientLayout.getElementClientRect(e),n=this.floatMargins[t];return this.vertical?n.top+i.height+n.bottom:n.left+i.width+n.right}))}},ei=class{constructor(e,t){this.parent=e,this.rootSourceNode=t,u(this,"formattingContextType","RepetitiveElementsOwner"),u(this,"isRoot",!1),u(this,"repetitiveElements",null)}getName(){return"Repetitive elements owner formatting context (RepetitiveElementsOwnerFormattingContext)"}isFirstTime(e,t){return t}getParent(){return this.parent}getRepetitiveElements(){return this.repetitiveElements}getRootViewNode(e){let t=this.getRootNodeContext(e);return t?t.viewNode:null}getRootNodeContext(e){do if(!e.belongsTo(this)&&e.sourceNode===this.rootSourceNode)return e;while(e=e.parent);return null}initializeRepetitiveElements(e){this.repetitiveElements||sr.some(t=>t.root===this.rootSourceNode?(this.repetitiveElements=t.elements,!0):!1)||(this.repetitiveElements=new yg(e,this.rootSourceNode),sr.push({root:this.rootSourceNode,elements:this.repetitiveElements}))}saveState(){}restoreState(e){}},yg=class{constructor(e,t){this.vertical=e,this.ownerSourceNode=t,u(this,"headerSourceNode",null),u(this,"footerSourceNode",null),u(this,"headerViewNode",null),u(this,"footerViewNode",null),u(this,"headerNodePosition",null),u(this,"footerNodePosition",null),u(this,"headerHeight",0),u(this,"footerHeight",0),u(this,"isSkipHeader",!1),u(this,"isSkipFooter",!1),u(this,"enableSkippingFooter",!0),u(this,"enableSkippingHeader",!0),u(this,"doneInitialLayout",!1),u(this,"firstContentSourceNode",null),u(this,"lastContentSourceNode",null),u(this,"affectedNodeCache",[]),u(this,"afterLastContentNodeCache",[]),u(this,"allowInsert",!1),u(this,"allowInsertRepeatitiveElements")}setHeaderNodeContext(e){this.headerNodePosition||(this.headerNodePosition=qn(e,0),this.headerSourceNode=e.sourceNode,this.headerViewNode=e.viewNode)}setFooterNodeContext(e){this.footerNodePosition||(this.footerNodePosition=qn(e,0),this.footerSourceNode=e.sourceNode,this.footerViewNode=e.viewNode)}updateHeight(e){this.headerViewNode&&(this.headerHeight=ir(this.headerViewNode,e,this.vertical),this.headerViewNode=null),this.footerViewNode&&(this.footerHeight=ir(this.footerViewNode,e,this.vertical),this.footerViewNode=null)}prepareLayoutFragment(){this.isSkipHeader=this.isSkipFooter=!1,this.enableSkippingFooter=!0,this.enableSkippingHeader=!0}appendHeaderToFragment(e,t,i){return!this.headerNodePosition||this.isSkipHeader?k(!0):this.appendElementToFragment(this.headerNodePosition,e,t,i)}appendFooterToFragment(e,t,i){return!this.footerNodePosition||this.isSkipFooter?k(!0):this.appendElementToFragment(this.footerNodePosition,e,t,i)}appendElementToFragment(e,t,i,n){let s=t.viewNode.ownerDocument,r=t.viewNode,o=s.createElement("div");r.appendChild(o);let a=new io(n,o,t),h=a.getColumn().pageBreakType;return a.getColumn().pageBreakType=null,this.allowInsertRepeatitiveElements=!0,a.layout(new Dt(e),!0).thenAsync(()=>(this.allowInsertRepeatitiveElements=!1,r.removeChild(o),this.moveChildren(o,r,i),a.getColumn().pageBreakType=h,k(!0)))}moveChildren(e,t,i){if(t)for(;e.firstChild;){let n=e.firstChild;e.removeChild(n),n.setAttribute(xi,"1"),i?t.insertBefore(n,i):t.appendChild(n)}}calculateOffset(e){let t=0;return e&&!this.affectTo(e)||((!this.isSkipFooter||e&&this.isAfterLastContent(e))&&(t+=this.footerHeight),this.isSkipHeader||(t+=this.headerHeight)),t}calculateMinimumOffset(e){let t=0;return e&&!this.affectTo(e)||(!this.enableSkippingFooter&&e&&this.isAfterLastContent(e)&&(t+=this.footerHeight),this.enableSkippingHeader||(t+=this.headerHeight)),t}isAfterLastContent(e){return this.findResultFromCache(e,this.afterLastContentNodeCache,t=>this.isAfterNodeContextOf(this.lastContentSourceNode,e,!1))}affectTo(e){return this.findResultFromCache(e,this.affectedNodeCache,t=>this.isAfterNodeContextOf(this.ownerSourceNode,e,!0))}findResultFromCache(e,t,i){let n=t.filter(s=>s.nodeContext.sourceNode===e.sourceNode&&s.nodeContext.after===e.after);if(n.length>0)return n[0].result;{let s=i(e);return t.push({nodeContext:e,result:s}),s}}isAfterNodeContextOf(e,t,i){let n=[];for(let s=e;s;s=s.parentNode){if(t.sourceNode===s)return t.after;n.push(s)}for(let s=t.sourceNode;s;s=s.parentNode){let r=n.indexOf(s);if(r>=0)return i?r===0:!1;for(let o=s;o;o=o.previousElementSibling)if(n.includes(o))return!0}return t.after}isFirstContentNode(e){return e&&this.firstContentSourceNode===e.sourceNode}isEnableToUpdateState(){return!!(!this.isSkipFooter&&this.enableSkippingFooter&&this.footerNodePosition||!this.isSkipHeader&&this.enableSkippingHeader&&this.headerNodePosition)}updateState(){!this.isSkipFooter&&this.enableSkippingFooter&&this.footerNodePosition?this.isSkipFooter=!0:!this.isSkipHeader&&this.enableSkippingHeader&&this.headerNodePosition&&(this.isSkipHeader=!0)}preventSkippingHeader(){this.isSkipHeader=!1,this.enableSkippingHeader=!1}preventSkippingFooter(){this.isSkipFooter=!1,this.enableSkippingFooter=!1}isHeaderRegistered(){return!!this.headerNodePosition}isFooterRegistered(){return!!this.footerNodePosition}isHeaderSourceNode(e){return this.headerSourceNode===e}isFooterSourceNode(e){return this.footerSourceNode===e}},eu=class{constructor(e){this.formattingContext=e}accept(e,t){return!!e}postLayout(e,t,i,n){let s=this.formattingContext.getRepetitiveElements();return s&&(i.clientLayout,s.doneInitialLayout||(s.updateHeight(i),s.doneInitialLayout=!0)),n}},tu=class{constructor(e){this.formattingContext=e}accept(e,t){return!0}postLayout(e,t,i,n){return n}},xg=class extends eu{constructor(e,t){super(e),this.processor=t}doLayout(e,t){return this.processor.doInitialLayout(e,t)}accept(e,t){return!1}},Sg=class extends tu{constructor(e,t){super(e),this.processor=t}doLayout(e,t){return!e.belongsTo(this.formattingContext)&&!e.after&&t.fragmentLayoutConstraints.unshift(new no(e)),this.processor.doLayout(e,t)}},no=class iu{constructor(t){u(this,"flagmentLayoutConstraintType","RepetitiveElementsOwner"),u(this,"nodeContext");let i=St(t.formattingContext);this.nodeContext=i.getRootNodeContext(t)}allowLayout(t,i,n){let s=this.getRepetitiveElements();return!s||hi(this.nodeContext.viewNode)||!s.isEnableToUpdateState()?!0:!(i&&!t||t&&t.overflow)}nextCandidate(t){let i=this.getRepetitiveElements();return i&&i.isEnableToUpdateState()?(i.updateState(),!0):!1}postLayout(t,i,n,s){let r=this.getRepetitiveElements();r&&t&&s.stopAtOverflow&&(i==null||r.isAfterLastContent(i))&&r.preventSkippingFooter()}finishBreak(t,i){let n=St(this.nodeContext.formattingContext),s=this.getRepetitiveElements();if(!s)return k(!0);let r=this.nodeContext;return Pg(n,r,i).thenAsync(()=>Tg(n,r,i).thenAsync(()=>(s.prepareLayoutFragment(),k(!0))))}getRepetitiveElements(){return St(this.nodeContext.formattingContext).getRepetitiveElements()}equalsTo(t){return t instanceof iu?St(this.nodeContext.formattingContext)===St(t.nodeContext.formattingContext):!1}getPriorityOfFinishBreak(){return 10}},Cg=class extends Yr{constructor(e,t){super(),this.formattingContext=e,this.processor=t}resolveLayoutMode(e){let t=this.formattingContext.getRepetitiveElements();return!e.belongsTo(this.formattingContext)&&!t.doneInitialLayout?new xg(this.formattingContext,this.processor):(!e.belongsTo(this.formattingContext)&&!e.after&&t&&t.preventSkippingHeader(),new Sg(this.formattingContext,this.processor))}},Eg=class extends Xi{constructor(e,t){super(),this.formattingContext=e,this.column=t}startNonInlineElementNode(e){let t=this.formattingContext,i=e.nodeContext,n=t.getRepetitiveElements();if(i.parent&&t.rootSourceNode===i.parent.sourceNode){switch(i.repeatOnBreak){case"header":if(n.isHeaderRegistered())i.repeatOnBreak="none";else return n.setHeaderNodeContext(i),k(!0);break;case"footer":if(n.isFooterRegistered())i.repeatOnBreak="none";else return n.setFooterNodeContext(i),k(!0);break}n.firstContentSourceNode||(n.firstContentSourceNode=i.sourceNode)}return Xi.prototype.startNonInlineElementNode.call(this,e)}afterNonInlineElementNode(e){let t=this.formattingContext,i=e.nodeContext;return i.sourceNode===t.rootSourceNode&&(t.getRepetitiveElements().lastContentSourceNode=e.lastAfterNodeContext&&e.lastAfterNodeContext.sourceNode,e.break=!0),i.repeatOnBreak==="header"||i.repeatOnBreak==="footer"?k(!0):Xi.prototype.afterNonInlineElementNode.call(this,e)}},kg=class extends ci{layout(e,t,i){if(t.isFloatNodeContext(e))return t.layoutFloatOrFootnote(e);let n=St(e.formattingContext);return n.getRootViewNode(e)?(i&&nu(e.parent,t),e.belongsTo(n)?ci.prototype.layout.call(this,e,t,i):new Cg(n,this).layout(e,t)):t.buildDeepElementView(e)}startNonInlineElementNode(e){let t=Ig(e).getRepetitiveElements();return t&&!t.allowInsertRepeatitiveElements&&(t.isHeaderSourceNode(e.sourceNode)||t.isFooterSourceNode(e.sourceNode))&&e.viewNode.parentNode.removeChild(e.viewNode),!1}doInitialLayout(e,t){let i=St(e.formattingContext),n=F("BlockLayoutProcessor.doInitialLayout");return this.layoutEntireBlock(e,t).thenFinish(n),n.result()}layoutEntireBlock(e,t){let i=St(e.formattingContext),n=new Eg(i,t);return new nr(n,t.layoutContext).iterate(e)}doLayout(e,t){let i=St(e.formattingContext),n=F("doLayout"),s=t.layoutContext.nextInTree(e,!1);return Qh(s,t).then(r=>{let o=r;n.loopWithFrame(a=>{for(;o;){let h=!0;if(t.layoutNext(o,!1).then(l=>{o=l,t.pageFloatLayoutContext.isInvalidated()||t.pageBreakType||o&&t.stopByOverflow(o)||o&&o.after&&o.sourceNode==i.rootSourceNode?a.breakLoop():h?h=!1:a.continueLoop()}),h){h=!1;return}}a.breakLoop()}).then(()=>{n.finish(o)})}),n.result()}finishBreak(e,t,i,n){return ci.prototype.finishBreak.call(this,e,t,i,n)}clearOverflownViewNodes(e,t,i,n){ci.prototype.clearOverflownViewNodes(e,t,i,n)}};function Ng(e,t){for(let i=e;i;i=i.parent){let n=i.formattingContext;n&&n instanceof ei&&!i.belongsTo(n)&&t(n,i)}}function nu(e,t){e&&Ng(e.after?e.parent:e,(i,n)=>{Mt.isInstanceOfTableFormattingContext(i)||t.fragmentLayoutConstraints.push(new no(n))})}function Pg(e,t,i){let n=e.getRepetitiveElements();if(n){let s=e.getRootNodeContext(t);if(s.viewNode){let r=s.viewNode.firstChild;return n.appendHeaderToFragment(s,r,i)}}return k(!0)}function Tg(e,t,i){let n=e.getRepetitiveElements();if(n&&!n.isSkipFooter){let s=e.getRootNodeContext(t);if(s.viewNode)return n.appendFooterToFragment(s,null,i)}return k(!0)}function Ig(e){let t=e.formattingContext;return!t||!(t instanceof ei)?null:t}function St(e){return e instanceof ei,e}var Rg=new kg;ut("RESOLVE_LAYOUT_PROCESSOR",e=>e instanceof ei&&!Mt.isInstanceOfTableFormattingContext(e)?Rg:null);var su=class{constructor(e,t){this.rowIndex=e,this.sourceNode=t,u(this,"cells",[])}addCell(e){this.cells.push(e)}getMinimumHeight(){return Math.min.apply(null,this.cells.map(e=>e.height))}},Ag=class{constructor(e,t,i){this.rowIndex=e,this.columnIndex=t,u(this,"viewElement"),u(this,"colSpan"),u(this,"rowSpan"),u(this,"height",0),u(this,"anchorSlot",null),this.viewElement=i,this.colSpan=i.colSpan||1,this.rowSpan=i.rowSpan||1}setHeight(e){this.height=e}setAnchorSlot(e){this.anchorSlot=e}},Lg=class{constructor(e,t,i){this.rowIndex=e,this.columnIndex=t,this.cell=i}},Fg=class{constructor(e,t,i){this.column=e,this.cellNodeContext=i,u(this,"pseudoColumn"),u(this,"empty",!1),this.pseudoColumn=new io(e,t,i)}findAcceptableBreakPosition(){let e=this.cellNodeContext.viewNode,{verticalAlign:t,alignContent:i}=e.style;t!=="top"&&t!=="baseline"&&N(e,"vertical-align","top"),i&&i!=="normal"&&N(e,"align-content","normal");let n=this.pseudoColumn.findAcceptableBreakPosition(!0);return N(e,"vertical-align",t),i&&i!=="normal"&&N(e,"align-content",i),n}},Og=class{constructor(e,t){this.viewNode=e,this.side=t}},Bg=class extends yn{constructor(e,t,i,n){super(e,t,i,n),u(this,"formattingContext"),u(this,"acceptableCellBreakPositions",null),u(this,"rowIndex",null),this.formattingContext=e.formattingContext}findAcceptableBreak(e,t){let i=super.findAcceptableBreak(e,t);return t<this.getMinBreakPenalty()?null:this.getAcceptableCellBreakPositions().every(n=>!!n.nodeContext)?i:null}getMinBreakPenalty(){let e=super.getMinBreakPenalty();this.getAcceptableCellBreakPositions().forEach(i=>{e+=i.breakPosition.getMinBreakPenalty()});let t=this.getCellFragments();return e+=Math.max(0,...t.map(i=>i.cellNodeContext.breakPenalty)),e}getAcceptableCellBreakPositions(){if(!this.acceptableCellBreakPositions){let e=this.formattingContext,t=this.getCellFragments();this.acceptableCellBreakPositions=t.map(i=>i.findAcceptableBreakPosition())}return this.acceptableCellBreakPositions}getRowIndex(){return this.rowIndex!=null?this.rowIndex:this.rowIndex=this.formattingContext.findRowIndexBySourceNode(this.position.sourceNode)}getCellFragments(){return this.formattingContext.getRowSpanningCellsOverflowingTheRow(this.getRowIndex()).map(this.formattingContext.getCellFragmentOfCell,this.formattingContext)}},_g=class extends jr{constructor(e,t,i){super(),this.rowIndex=e,this.beforeNodeContext=t,this.formattingContext=i,u(this,"acceptableCellBreakPositions",null)}findAcceptableBreak(e,t){if(this!==e.breakPositions[0]&&t<this.getMinBreakPenalty())return null;let i=this.getCellFragments(),n=this.getAcceptableCellBreakPositions(),s=n.every(r=>!!r.nodeContext)&&n.some((r,o)=>{let a=i[o].pseudoColumn,h=r.nodeContext;return!a.isStartNodeContext(h)&&!a.isLastAfterNodeContext(h)});return this.beforeNodeContext.overflow=n.some(r=>r.nodeContext&&r.nodeContext.overflow),s?this.beforeNodeContext:null}getMinBreakPenalty(){let e=this.formattingContext.getRowByIndex(this.rowIndex),t=this.beforeNodeContext.breakPenalty,i=this.getAcceptableCellBreakPositions(),n=this.getCellFragments();t+=Math.max(0,...n.map(r=>r.cellNodeContext.breakPenalty));let s=i.some((r,o)=>r.breakPosition instanceof Mn&&n[o].cellNodeContext.sourceNode.rowSpan>1);return i.forEach((r,o)=>{let a=r.breakPosition.getMinBreakPenalty();s&&r.breakPosition instanceof yn&&r.breakPosition.overflows&&a>=3&&(n[o].column.checkOverflowAndSaveEdge(r.nodeContext,null)||(a-=3)),t+=a}),t}getAcceptableCellBreakPositions(){if(!this.acceptableCellBreakPositions){let e=this.getCellFragments();this.acceptableCellBreakPositions=e.map(t=>t.findAcceptableBreakPosition())}return this.acceptableCellBreakPositions}getCellFragments(){return this.formattingContext.getCellsFallingOnRow(this.rowIndex).map(this.formattingContext.getCellFragmentOfCell,this.formattingContext)}},bi=class extends ei{constructor(e,t){super(e,t),this.tableSourceNode=t,u(this,"formattingContextType","Table"),u(this,"vertical",!1),u(this,"columnCount",-1),u(this,"tableWidth",0),u(this,"captions",[]),u(this,"colGroups",null),u(this,"colWidths",null),u(this,"inlineBorderSpacing",0),u(this,"rows",[]),u(this,"slots",[]),u(this,"cellFragments",[]),u(this,"lastRowViewNode",null),u(this,"cellBreakPositions",[]),u(this,"repetitiveElements",null)}getName(){return"Table formatting context (Table.TableFormattingContext)"}isFirstTime(e,t){if(!t)return t;switch(e.display){case"table-row":return this.cellBreakPositions.length===0;case"table-cell":return!this.cellBreakPositions.some(i=>i.cellNodePosition.steps[0].node===e.sourceNode);default:return t}}getParent(){return this.parent}finishFragment(){this.cellFragments=[]}addRow(e,t){this.rows[e]=t}getRowSlots(e){let t=this.slots[e];return t||(t=this.slots[e]=[]),t}addCell(e,t){let i=this.rows[e];i||(this.addRow(e,new su(e,null)),i=this.rows[e]),i.addCell(t);let n=e+t.rowSpan,s=this.getRowSlots(e),r=0;for(;s[r];)r++;for(;e<n;e++){s=this.getRowSlots(e);for(let o=r;o<r+t.colSpan;o++){let a=s[o]=new Lg(e,o,t);t.anchorSlot||t.setAnchorSlot(a)}}}getRowByIndex(e){return this.rows[e]}findRowIndexBySourceNode(e){return this.rows.findIndex(t=>e===t.sourceNode)}addCellFragment(e,t,i){let n=this.cellFragments[e];n||(n=this.cellFragments[e]=[]),n[t]=i}getCellsFallingOnRow(e){return this.getRowSlots(e).reduce((t,i)=>i.cell!==t[t.length-1]?t.concat(i.cell):t,[])}getRowSpanningCellsOverflowingTheRow(e){return this.getCellsFallingOnRow(e).filter(t=>t.rowIndex+t.rowSpan-1>e)}getCellFragmentOfCell(e){return this.cellFragments[e.rowIndex]&&this.cellFragments[e.rowIndex][e.columnIndex]}getColumnCount(){return this.columnCount<0&&(this.columnCount=Math.max.apply(null,this.rows.map(e=>e.cells.reduce((t,i)=>t+i.colSpan,0)))),this.columnCount}updateCellSizes(e){this.rows.forEach(t=>{t.cells.forEach(i=>{let n=e.getElementClientRect(i.viewElement);i.viewElement=null,i.setHeight(this.vertical?n.width:n.height)})})}findCellFromColumn(e){if(!e)return null;let t=null,i=0,n=0;e:for(i=0;i<this.cellFragments.length;i++)if(this.cellFragments[i]){for(n=0;n<this.cellFragments[i].length;n++)if(this.cellFragments[i][n]&&e===this.cellFragments[i][n].pseudoColumn.getColumn()){t=this.rows[i].cells[n];break e}}if(!t)return null;for(;i<this.slots.length;i++)for(;n<this.slots[i].length;n++){let s=this.slots[i][n];if(s.cell===t)return{rowIndex:s.rowIndex,columnIndex:s.columnIndex}}return null}collectElementsOffsetOfUpperCells(e){let t=[];return this.slots.reduce((i,n,s)=>{if(s>=e.rowIndex)return i;let r=n[e.columnIndex]&&this.getCellFragmentOfCell(n[e.columnIndex].cell);return!r||t.includes(r)||(this.collectElementsOffsetFromColumn(r.pseudoColumn.getColumn(),i),t.push(r)),i},[])}collectElementsOffsetOfHighestColumn(){let e=[];return this.rows.forEach(t=>{t.cells.forEach((i,n)=>{e[n]||(e[n]={collected:[],elements:[]});let s=e[n],r=this.getCellFragmentOfCell(i);!r||s.collected.includes(r)||(this.collectElementsOffsetFromColumn(r.pseudoColumn.getColumn(),s.elements),s.collected.push(r))})}),[new Mg(e.map(t=>t.elements))]}collectElementsOffsetFromColumn(e,t){e.fragmentLayoutConstraints.forEach(i=>{if(Yt.isInstanceOfRepetitiveElementsOwnerLayoutConstraint(i)){let n=i.getRepetitiveElements();t.push(n)}Mt.isInstanceOfTableRowLayoutConstraint(i)&&i.getElementsOffsetsForTableCell(null).forEach(n=>{t.push(n)})})}saveState(){return[].concat(this.cellBreakPositions)}restoreState(e){this.cellBreakPositions=e}},Mg=class{constructor(e){this.repeatitiveElementsInColumns=e}calculateOffset(e){return this.calculateMaxOffsetOfColumn(e,t=>t.current)}calculateMinimumOffset(e){return this.calculateMaxOffsetOfColumn(e,t=>t.minimum)}calculateMaxOffsetOfColumn(e,t){let i=0;return this.repeatitiveElementsInColumns.forEach(n=>{let s=mi(e,n);i=Math.max(i,t(s))}),i}};function lt(e){return e instanceof bi,e}function zg(e){return e==="table-row-group"||e==="table-header-group"||e==="table-footer-group"}function Dg(e){return e==="table"||e==="inline-table"}function ya(e){return zg(e)||Dg(e)}function ru(e,t,i){let n=e.nodeContext,s=n.display,r=n.parent?n.parent.display:null,o=!1;if(r==="inline-table"&&!(n.formattingContext instanceof bi)){for(let a=n.parent;a;a=a.parent)if(a.formattingContext instanceof bi){o=a.formattingContext===t;break}}return o||s==="table-row"&&!ya(r)||s==="table-cell"&&r!=="table-row"&&!ya(r)||n.formattingContext instanceof bi&&n.formattingContext!==t?i.buildDeepElementView(n).thenAsync(a=>(e.nodeContext=a,k(!0))):null}var Vg=class extends Xi{constructor(e,t){super(),this.formattingContext=e,this.column=t,u(this,"rowIndex",-1),u(this,"columnIndex",0),u(this,"inRow",!1),u(this,"checkPoints",[]),u(this,"inHeaderOrFooter",!1)}startNonInlineElementNode(e){let t=this.formattingContext,i=ru(e,t,this.column);if(i)return i;this.postLayoutBlockContents(e);let n=e.nodeContext,s=n.display,r=t.getRepetitiveElements();switch(s){case"table":t.inlineBorderSpacing=n.inlineBorderSpacing;break;case"table-caption":{let o=new Og(n.viewNode,n.captionSide);t.captions.push(o);break}case"table-header-group":return r.isHeaderRegistered()||(this.inHeaderOrFooter=!0,r.setHeaderNodeContext(n)),k(!0);case"table-footer-group":return r.isFooterRegistered()||(this.inHeaderOrFooter=!0,r.setFooterNodeContext(n)),k(!0);case"table-row":this.inHeaderOrFooter||(this.inRow=!0,this.rowIndex++,n.sourceNode,this.columnIndex=0,t.addRow(this.rowIndex,new su(this.rowIndex,n.sourceNode)),r.firstContentSourceNode||(r.firstContentSourceNode=n.sourceNode));break}return super.startNonInlineElementNode(e)}afterNonInlineElementNode(e){let t=this.formattingContext,i=e.nodeContext,n=i.display,s=this.column.clientLayout;if(this.postLayoutBlockContents(e),i.sourceNode===t.tableSourceNode){let r=s.getElementComputedStyle(t.getRootViewNode(i));t.tableWidth=parseFloat(r[t.vertical?"height":"width"]),t.getRepetitiveElements().lastContentSourceNode=e.lastAfterNodeContext&&e.lastAfterNodeContext.sourceNode,e.break=!0}else switch(n){case"table-header-group":case"table-footer-group":if(this.inHeaderOrFooter)return this.inHeaderOrFooter=!1,k(!0);break;case"table-row":this.inHeaderOrFooter||(t.lastRowViewNode=i.viewNode,this.inRow=!1);break;case"table-cell":if(!this.inHeaderOrFooter){this.inRow||(this.rowIndex++,this.columnIndex=0,this.inRow=!0);let r=i.viewNode;t.addCell(this.rowIndex,new Ag(this.rowIndex,this.columnIndex,r)),this.columnIndex++}break}return super.afterNonInlineElementNode(e)}startNonElementNode(e){this.registerCheckPoint(e)}afterNonElementNode(e){this.registerCheckPoint(e)}startInlineElementNode(e){this.registerCheckPoint(e)}afterInlineElementNode(e){this.registerCheckPoint(e)}registerCheckPoint(e){let t=e.nodeContext;t&&t.viewNode&&!ui(t)&&this.checkPoints.push(t.clone())}postLayoutBlockContents(e){this.checkPoints.length>0&&this.column.postLayoutBlock(e.nodeContext,this.checkPoints),this.checkPoints=[]}},ou=class au extends Xi{constructor(t,i){super(!0),this.formattingContext=t,this.column=i,u(this,"inRow",!1),u(this,"currentRowIndex",-1),u(this,"currentColumnIndex",0),u(this,"originalStopAtOverflow"),u(this,"inHeader"),u(this,"inFooter"),this.originalStopAtOverflow=i.stopAtOverflow,i.stopAtOverflow=!1}resetColumn(){this.column.stopAtOverflow=this.originalStopAtOverflow}getColSpanningCellWidth(t){let i=this.formattingContext.colWidths,n=0;for(let s=0;s<t.colSpan;s++)n+=i[t.anchorSlot.columnIndex+s];return n+=this.formattingContext.inlineBorderSpacing*(t.colSpan-1),n}layoutCell(t,i,n){let s=t.rowIndex,r=t.columnIndex,o=t.colSpan,a=i.viewNode,h=i.verticalAlign;o>1&&(N(a,"box-sizing","border-box"),N(a,this.formattingContext.vertical?"height":"width",`${this.getColSpanningCellWidth(t)}px`));let l=a.ownerDocument.createElement("div");a.appendChild(l);let c=new Fg(this.column,l,i);return this.formattingContext.addCellFragment(s,r,c),n.primary.steps.length===1&&n.primary.after&&(c.empty=!0),c.pseudoColumn.layout(n,!0).thenReturn(!0)}hasBrokenCellAtSlot(t){let i=this.formattingContext.cellBreakPositions[0];return i?i.cell.anchorSlot.columnIndex===t:!1}extractRowSpanningCellBreakPositions(){let t=this.formattingContext.cellBreakPositions;if(t.length===0)return[];let i=[],n=0;do{let s=t[n],r=s.cell.rowIndex;if(r<this.currentRowIndex){let o=i[r];o||(o=i[r]=[]),o.push(s),t.splice(n,1)}else n++}while(n<t.length);return i}layoutRowSpanningCellsFromPreviousFragment(t){let i=this.formattingContext,n=this.extractRowSpanningCellBreakPositions(),s=n.reduce(p=>p+1,0);if(s===0)return k(!0);let r=this.column.layoutContext,o=t.nodeContext;o.viewNode.parentNode.removeChild(o.viewNode);let a=F("layoutRowSpanningCellsFromPreviousFragment"),h=k(!0),l=0,c=[];return n.forEach(p=>{h=h.thenAsync(()=>{let d=Yn(p[0].cellNodePosition.steps[1],o.parent);return r.setCurrent(d,!1).thenAsync(()=>{let f=k(!0),g=0;function m(w){for(;g<w;){if(!c.includes(g)){let y=d.viewNode.ownerDocument.createElement("td");N(y,"padding","0"),d.viewNode.appendChild(y)}g++}}return p.forEach(w=>{f=f.thenAsync(()=>{let y=w.cell;m(y.anchorSlot.columnIndex);let b=w.cellNodePosition,x=Yn(b.steps[0],d);return x.offsetInNode=b.offsetInNode,x.after=b.after,x.fragmentIndex=b.steps[0].fragmentIndex+1,r.setCurrent(x,!1).thenAsync(()=>{let I=w.breakChunkPosition;for(let L=0;L<y.colSpan;L++)c.push(g+L);return g+=y.colSpan,this.layoutCell(y,x,I).thenAsync(()=>(x.viewNode.rowSpan=y.rowIndex+y.rowSpan-this.currentRowIndex+s-l,k(!0)))})})}),f.thenAsync(()=>(m(i.getColumnCount()),l++,k(!0)))})})}),h.then(()=>{r.setCurrent(o,!0,t.atUnforcedBreak).then(()=>{a.finish(!0)})}),a.result()}startTableRow(t){if(this.inHeader||this.inFooter)return k(!0);let i=t.nodeContext,n=this.formattingContext;return this.currentRowIndex<0?(i.sourceNode,this.currentRowIndex=n.findRowIndexBySourceNode(i.sourceNode)):this.currentRowIndex++,this.currentColumnIndex=0,this.inRow=!0,this.layoutRowSpanningCellsFromPreviousFragment(t).thenAsync(()=>(this.registerCellFragmentIndex(),this.column.checkOverflowAndSaveEdgeAndBreakPosition(t.lastAfterNodeContext,null,!0,t.breakAtTheEdge)&&n.getRowSpanningCellsOverflowingTheRow(this.currentRowIndex-1).length===0&&(this.resetColumn(),i.overflow=!0,t.break=!0),k(!0)))}registerCellFragmentIndex(){this.formattingContext.getRowByIndex(this.currentRowIndex).cells.forEach(t=>{let i=this.formattingContext.cellBreakPositions[t.columnIndex];if(i&&i.cell.anchorSlot.columnIndex==t.anchorSlot.columnIndex){let n=i.cellNodePosition.steps[0],s=this.column.layoutContext.xmldoc.getElementOffset(n.node);ug(s,n.fragmentIndex+1,1)}})}startTableCell(t){if(this.inHeader||this.inFooter)return k(!0);let i=t.nodeContext;this.inRow||(this.currentRowIndex<0?this.currentRowIndex=0:this.currentRowIndex++,this.currentColumnIndex=0,this.inRow=!0);let n=this.formattingContext.getRowByIndex(this.currentRowIndex).cells[this.currentColumnIndex];if(!n)return t.break=!0,k(!0);let s=i.copy().modify();s.after=!0,t.nodeContext=s;let r=F("startTableCell"),o;if(this.hasBrokenCellAtSlot(n.anchorSlot.columnIndex)){let a=this.formattingContext.cellBreakPositions.shift();i.fragmentIndex=a.cellNodePosition.steps[0].fragmentIndex+1,o=k(a.breakChunkPosition)}else o=this.column.nextInTree(i,t.atUnforcedBreak).thenAsync(a=>{a.viewNode&&i.viewNode.removeChild(a.viewNode);let h=qn(a,0);return k(new Dt(h))});return o.then(a=>{this.layoutCell(n,i,a).then(()=>{this.afterNonInlineElementNode(t),this.currentColumnIndex++,r.finish(!0)})}),r.result()}startNonInlineBox(t){let i=ru(t,lt(this.formattingContext),this.column);if(i)return i;let n=t.nodeContext,s=this.formattingContext.getRepetitiveElements(),r=n.display;return r==="table-header-group"&&s&&s.isHeaderSourceNode(n.sourceNode)?(this.inHeader=!0,k(!0)):r==="table-footer-group"&&s&&s.isFooterSourceNode(n.sourceNode)?(this.inFooter=!0,k(!0)):r==="table-row"?this.startTableRow(t):r==="table-cell"?this.startTableCell(t):k(!0)}endNonInlineBox(t){let i=t.nodeContext;if(i.display==="table-row"&&(this.inRow=!1,!this.inHeader&&!this.inFooter)){let n=i.copy().modify();n.after=!1;let s=new _g(this.currentRowIndex,n,this.formattingContext);this.column.breakPositions.push(s)}return k(!0)}afterNonInlineElementNode(t){let i=t.nodeContext,n=this.formattingContext.getRepetitiveElements(),s=i.display;if(s==="table-header-group"?n&&!n.allowInsertRepeatitiveElements&&n.isHeaderSourceNode(i.sourceNode)?(this.inHeader=!1,i.viewNode.parentNode.removeChild(i.viewNode)):N(i.viewNode,"display","table-row-group"):s==="table-footer-group"&&(n&&!n.allowInsertRepeatitiveElements&&n.isFooterSourceNode(i.sourceNode)?(this.inFooter=!1,i.viewNode.parentNode.removeChild(i.viewNode)):N(i.viewNode,"display","table-row-group")),s&&au.ignoreList[s])i.viewNode.parentNode.removeChild(i.viewNode);else if(i.sourceNode===this.formattingContext.tableSourceNode)i.overflow=this.column.checkOverflowAndSaveEdge(i,null),this.resetColumn(),t.break=!0;else return super.afterNonInlineElementNode(t);return k(!0)}};u(ou,"ignoreList",{"table-caption":!0,"table-column-group":!0,"table-column":!0});var Ug=ou,an=[];function Hg(e){let t=an.findIndex(n=>n.root===e),i=an[t];return i?i.tableLayoutOption:null}function $g(e){let t=an.findIndex(i=>i.root===e);t>=0&&an.splice(t,1)}var lu=class{layoutEntireTable(e,t){let i=lt(e.formattingContext),n=new Vg(i,t);return new nr(n,t.layoutContext).iterate(e)}getColumnWidths(e,t,i,n){let s=e.ownerDocument,r=s.createElement("tr"),o=[];for(let h=0;h<t;h++){let l=s.createElement("td");r.appendChild(l),o.push(l)}e.parentNode.insertBefore(r,e.nextSibling);let a=o.map(h=>{let l=n.getElementClientRect(h),c=i?l.height:l.width;return Math.ceil(c)});return e.parentNode.removeChild(r),a}getColGroupElements(e){let t=[],i=e.firstElementChild;for(;i;)i.localName==="colgroup"&&t.push(i),i=i.nextElementSibling;return t}normalizeAndGetColElements(e){let t=[];return e.forEach(i=>{let n=i.span;i.removeAttribute("span");let s=i.firstElementChild;for(;s;){if(s.localName==="col"){let r=s.span;for(s.removeAttribute("span"),n-=r;r-- >1;){let o=s.cloneNode(!0);i.insertBefore(o,s),t.push(o)}t.push(s)}s=s.nextElementSibling}for(;n-- >0;)s=i.ownerDocument.createElement("col"),i.appendChild(s),t.push(s)}),t}addMissingColElements(e,t,i,n){if(e.length<i){let s=n.ownerDocument.createElement("colgroup");t.push(s);for(let r=e.length;r<i;r++){let o=n.ownerDocument.createElement("col");s.appendChild(o),e.push(o)}}}normalizeColGroups(e,t,i){let n=e.vertical,s=e.lastRowViewNode;if(!s)return;e.lastRowViewNode=null;let r=s.ownerDocument.createDocumentFragment(),o=e.getColumnCount();if(!(o>0)){e.colGroups=r;return}let a=e.colWidths=this.getColumnWidths(s,o,n,i.clientLayout),h=this.getColGroupElements(t),l=this.normalizeAndGetColElements(h);this.addMissingColElements(l,h,o,t),l.forEach((c,p)=>{N(c,n?"height":"width",`${a[p]}px`)}),h.forEach(c=>{r.appendChild(c.cloneNode(!0))}),e.colGroups=r}doInitialLayout(e,t){let i=lt(e.formattingContext);i.vertical=e.vertical,i.initializeRepetitiveElements(e.vertical),e.sourceNode;let n=Hg(e.sourceNode);$g(e.sourceNode);let s=F("TableLayoutProcessor.doInitialLayout"),r=e.copy();return this.layoutEntireTable(e,t).then(o=>{let a=o.viewNode,h=t.clientLayout.getElementClientRect(a),l=t.vertical?h.left:h.bottom;if(l+=(t.vertical?-1:1)*mi(e,t.collectElementsOffset()).current,!t.isOverflown(l)&&(!n||!n.calculateBreakPositionsInside)){t.breakPositions.push(new Xg(r)),s.finish(o);return}this.normalizeColGroups(i,a,t),i.updateCellSizes(t.clientLayout),s.finish(null)}),s.result()}addCaptions(e,t,i){let n=e.captions;n.forEach((s,r)=>{s&&(t.insertBefore(s.viewNode,i),s.side==="top"&&(n[r]=null))})}addColGroups(e,t,i){e.colGroups&&this.getColGroupElements(t).length===0&&(t.insertBefore(e.colGroups.cloneNode(!0),i),N(t,"table-layout","fixed"),N(t,e.vertical?"height":"width",`${e.tableWidth}px`))}removeColGroups(e,t){if(e.colGroups&&t){let i=this.getColGroupElements(t);i&&i.forEach(n=>{t.removeChild(n)})}}doLayout(e,t){let i=lt(e.formattingContext),n=i.getRootViewNode(e),s=n.firstChild;this.addCaptions(i,n,s),this.addColGroups(i,n,s);let r=new Ug(i,t),o=new nr(r,t.layoutContext),a=F("TableFormattingContext.doLayout");return o.iterate(e).thenFinish(a),a.result()}layout(e,t,i){let n=lt(e.formattingContext);return n.getRootViewNode(e)?(i&&nu(e.parent,t),new Wg(n,this).layout(e,t)):t.buildDeepElementView(e)}createEdgeBreakPosition(e,t,i,n){return new Bg(e,t,i,n)}startNonInlineElementNode(e){return!1}afterNonInlineElementNode(e,t){return Ls(e),!1}finishBreak(e,t,i,n){let s=lt(t.formattingContext);if(t.display==="table-row"){t.sourceNode;let r=s.findRowIndexBySourceNode(t.sourceNode);s.cellBreakPositions=[];let o;if(t.after?o=s.getRowSpanningCellsOverflowingTheRow(r):o=s.getCellsFallingOnRow(r),o.length){let a=F("TableLayoutProcessor.finishBreak"),h=0;return a.loopWithFrame(l=>{if(h===o.length){l.breakLoop();return}let c=o[h++],p=s.getCellFragmentOfCell(c),d=p.findAcceptableBreakPosition().nodeContext,f=p.cellNodeContext,g=f.toNodePosition(),m=new Dt(d.toNodePosition());s.cellBreakPositions.push({cellNodePosition:g,breakChunkPosition:m,cell:c});let w=f.viewNode;p.column.layoutContext.processFragmentedBlockEdge(p.cellNodeContext),r<c.rowIndex+c.rowSpan-1&&(w.rowSpan=r-c.rowIndex+1),p.empty?l.continueLoop():p.pseudoColumn.finishBreak(d,!1,!0).then(()=>{Gg(p,s,d),l.continueLoop()})}).then(()=>{e.clearOverflownViewNodes(t,!1),e.layoutContext.processFragmentedBlockEdge(t),Ls(t),s.finishFragment(),a.finish(!0)}),a.result()}}return Ls(t),s.finishFragment(),qr.finishBreak(e,t,i,n)}clearOverflownViewNodes(e,t,i,n){ci.prototype.clearOverflownViewNodes(e,t,i,n)}};function Gg(e,t,i){let n=t.getRepetitiveElements();if(!n||!(n.isHeaderRegistered()||n.isFooterRegistered()))return;let s=t.vertical,r=e.column,o=e.pseudoColumn.getColumnElement(),a=e.cellNodeContext.viewNode,h=r.clientLayout.getElementClientRect(a),l=r.getComputedPaddingBorder(a);if(s){let c=h.right-r.footnoteEdge-n.calculateOffset(i)-l.right;N(o,"max-width",`${c}px`)}else{let c=r.footnoteEdge-n.calculateOffset(i)-h.top-l.top;N(o,"max-height",`${c}px`)}}function Ls(e){let t=e.display==="table-row"?e.viewNode.parentElement:e.display==="table"?e.viewNode.querySelector("tbody"):null;if(!t)return;let i;try{i=t.querySelectorAll(":scope>tr:has(>:empty):not(:has(>:not([rowspan]:not([rowspan='1']),:empty)))")}catch{return}if(i.length===0)return;let n=Array.from(i).reduce((p,d)=>{let f=d.getBoundingClientRect(),g=e.vertical?f.width:f.height;return p+g},0),s=i[i.length-1],r=Array.from(t.children).indexOf(s),o=Array.from(s.children).reduce((p,d)=>{let f=d.rowSpan;return f>1&&r+f<t.childElementCount?Math.max(p,f):p},0),a=o?t.children[r+o-1]:t.lastElementChild;if(a!=t.lastElementChild&&a.querySelector(":scope>*>div>div")){for(let p=a;p&&p!==t.lastElementChild;p=p.nextElementSibling)if(p.querySelector(":scope>[rowspan]:not([rowspan='1'])")){a=p;break}}let h=a.getBoundingClientRect(),l=e.vertical?h.width:h.height,c=n+l;N(a,e.vertical?"width":"height",`${c}px`)}var Wg=class extends Yr{constructor(e,t){super(),this.tableFormattingContext=e,this.processor=t}resolveLayoutMode(e){let t=this.tableFormattingContext.getRepetitiveElements();return!t||!t.doneInitialLayout?new jg(this.tableFormattingContext,this.processor):(e.sourceNode===this.tableFormattingContext.tableSourceNode&&!e.after&&t&&t.preventSkippingHeader(),new Yg(this.tableFormattingContext,this.processor))}clearNodes(e){super.clearNodes(e);let t=this.tableFormattingContext.getRootViewNode(e);this.processor.removeColGroups(this.tableFormattingContext,t)}restoreState(e,t){super.restoreState(e,t),this.tableFormattingContext.finishFragment()}},jg=class extends eu{constructor(e,t){super(e),this.processor=t}doLayout(e,t){return this.processor.doInitialLayout(e,t)}},Xg=class extends yn{constructor(e){super(e,null,e.overflow,0)}getMinBreakPenalty(){if(!this.isEdgeUpdated)throw new Error("EdgeBreakPosition.prototype.updateEdge not called");return(this.overflows?3:0)+(this.position.parent?this.position.parent.breakPenalty:0)}breakPositionChosen(e){e.fragmentLayoutConstraints.push(new qg(this.position.sourceNode))}},qg=class hu{constructor(t){this.tableRootNode=t,u(this,"flagmentLayoutConstraintType","EntireTable")}allowLayout(t,i,n){return t.overflow,!1}nextCandidate(t){return!0}postLayout(t,i,n,s){i.sourceNode,an.push({root:i.sourceNode,tableLayoutOption:{calculateBreakPositionsInside:!0}})}finishBreak(t,i){return k(!0)}equalsTo(t){return t instanceof hu&&t.tableRootNode===this.tableRootNode}getPriorityOfFinishBreak(){return 0}},Yg=class extends tu{constructor(e,t){super(e),this.processor=t}doLayout(e,t){let i=this.formattingContext.getRepetitiveElements();if(i&&!i.isAfterLastContent(e)){let n=new Kg(e);t.fragmentLayoutConstraints.some(s=>n.equalsTo(s))||t.fragmentLayoutConstraints.unshift(n)}return this.processor.doLayout(e,t)}},Kg=class uu extends no{constructor(t){super(t),u(this,"flagmentLayoutConstraintType","TableRow"),u(this,"cellFragmentLayoutConstraints",[])}allowLayout(t,i,n){let s=this.getRepetitiveElements();return!s||n.pseudoParent||hi(this.nodeContext.viewNode)||!s.isEnableToUpdateState()?!0:!(i&&!t||t&&t.overflow)}nextCandidate(t){let i=lt(this.nodeContext.formattingContext);return this.collectCellFragmentLayoutConstraints(t,i).some(n=>n.constraints.some(s=>s.nextCandidate(t)))?!0:super.nextCandidate(t)}postLayout(t,i,n,s){let r=lt(this.nodeContext.formattingContext);if(this.cellFragmentLayoutConstraints=this.collectCellFragmentLayoutConstraints(i,r),this.cellFragmentLayoutConstraints.forEach(o=>{o.constraints.forEach(a=>{a.postLayout(t,o.breakPosition,n,s)})}),!t){let o=r.getRootViewNode(this.nodeContext);new lu().removeColGroups(r,o),this.removeDummyRowNodes(n)}super.postLayout(t,i,n,s)}finishBreak(t,i){let n=lt(this.nodeContext.formattingContext),s=F("finishBreak"),r=this.cellFragmentLayoutConstraints.reduce((a,h)=>a.concat(h.constraints.map(l=>({constraint:l,breakPosition:h.breakPosition}))),[]),o=0;return s.loop(()=>{if(o<r.length){let a=r[o++];return a.constraint.finishBreak(a.breakPosition,i).thenReturn(!0)}else return k(!1)}).then(()=>{s.finish(!0)}),s.result().thenAsync(()=>super.finishBreak(t,i))}removeDummyRowNodes(t){if(!(!t||t.display!=="table-row"||!t.viewNode))for(;t.viewNode.previousElementSibling;){let i=t.viewNode.previousElementSibling;i.parentNode&&i.parentNode.removeChild(i)}}collectCellFragmentLayoutConstraints(t,i){return this.getCellFragemnts(t,i).map(n=>({constraints:n.fragment.pseudoColumn.getColumn().fragmentLayoutConstraints,breakPosition:n.breakPosition}))}getCellFragemnts(t,i){let n=Number.MAX_VALUE;t&&t.display==="table-row"&&(t.sourceNode,n=i.findRowIndexBySourceNode(t.sourceNode)+1),n=Math.min(i.cellFragments.length,n);let s=[];for(let r=0;r<n;r++)i.cellFragments[r]&&i.cellFragments[r].forEach(o=>{o&&s.push({fragment:o,breakPosition:o.findAcceptableBreakPosition().nodeContext})});return s}getElementsOffsetsForTableCell(t){let i=lt(this.nodeContext.formattingContext),n=i.findCellFromColumn(t);return n?i.collectElementsOffsetOfUpperCells(n):i.collectElementsOffsetOfHighestColumn()}equalsTo(t){return t instanceof uu?lt(this.nodeContext.formattingContext)===lt(t.nodeContext.formattingContext):!1}},Zg=new lu;function Jg(e,t,i,n,s,r){if(!t)return null;if(i===v.table){let o=e.parent;return new bi(o?o.formattingContext:null,e.sourceNode)}return null}function Qg(e){return e instanceof bi?Zg:null}ut("RESOLVE_FORMATTING_CONTEXT",Jg);ut("RESOLVE_LAYOUT_PROCESSOR",Qg);function xa(e){return e.reduce((t,i)=>t+i,0)/e.length}function em(e){let t=xa(e);return xa(e.map(i=>{let n=i-t;return n*n}))}var tm=class{constructor(e,t){this.layoutResult=e,this.penalty=t}};function ln(e){return e.vertical?e.width:e.height}function hn(e,t){e.vertical?e.width=t:e.height=t}var cu=class{constructor(e,t,i){this.layoutContainer=e,this.columnGenerator=t,this.regionPageFloatLayoutContext=i,u(this,"originalContainerBlockSize"),this.originalContainerBlockSize=ln(e)}balanceColumns(e){let t=F("ColumnBalancer#balanceColumns");this.preBalance(e),this.savePageFloatLayoutContexts(e),this.layoutContainer.clear();let i=[this.createTrialResult(e)];return t.loopWithFrame(n=>{if(!this.hasNextCandidate(i)){n.breakLoop();return}this.updateCondition(i),this.columnGenerator().then(s=>{if(this.savePageFloatLayoutContexts(s),this.layoutContainer.clear(),!s){n.breakLoop();return}i.push(this.createTrialResult(s)),n.continueLoop()})}).then(()=>{let n=i.reduce((s,r)=>r.penalty<s.penalty?r:s,i[0]);this.restoreContents(n.layoutResult),this.postBalance(),t.finish(n.layoutResult)}),t.result()}createTrialResult(e){let t=this.calculatePenalty(e);return new tm(e,t)}preBalance(e){}postBalance(){hn(this.layoutContainer,this.originalContainerBlockSize)}savePageFloatLayoutContexts(e){let t=this.regionPageFloatLayoutContext.detachChildren();e&&(e.columnPageFloatLayoutContexts=t)}restoreContents(e){let t=this.layoutContainer.element;e.columns.forEach(i=>{t.appendChild(i.element)}),e.columnPageFloatLayoutContexts,this.regionPageFloatLayoutContext.attachChildren(e.columnPageFloatLayoutContexts)}},br=1;function du(e){let t=e[e.length-1];if(t.penalty===0)return!1;let i=e[e.length-2];if(i&&t.penalty>=i.penalty)return!1;let n=t.layoutResult.columns,s=Math.max.apply(null,n.map(o=>o.computedBlockSize)),r=Math.max.apply(null,n.map(o=>o.getMaxBlockSizeOfPageFloats()));return s>r+br}function pu(e,t){var i;let n=e[e.length-1].layoutResult.columns,s=Math.max.apply(null,n.map(r=>isNaN(r.blockDistanceToBlockEndFloats)?r.computedBlockSize:r.computedBlockSize-r.blockDistanceToBlockEndFloats+br))-br;if(s<ln(t)?hn(t,s):hn(t,ln(t)-1),t.vertical){let r=parseFloat((i=t.element.style)==null?void 0:i.width);t.originX=r-t.width}}var im=class extends cu{constructor(e,t,i,n){super(i,e,t),this.columnCount=n,u(this,"originalPosition",null),u(this,"foundUpperBound",!1)}preBalance(e){let t=e.columns.reduce((i,n)=>i+n.computedBlockSize,0);hn(this.layoutContainer,t/this.columnCount),this.originalPosition=e.position}checkPosition(e){return this.originalPosition?this.originalPosition.isSamePosition(e):e===null}calculatePenalty(e){if(!this.checkPosition(e.position))return 1/0;let t=e.columns;return Sa(t)?1/0:Math.max.apply(null,t.map(i=>i.computedBlockSize))}hasNextCandidate(e){if(e.length===1)return!0;if(this.foundUpperBound)return du(e);{let t=e[e.length-1];return this.checkPosition(t.layoutResult.position)&&!Sa(t.layoutResult.columns)?(this.foundUpperBound=!0,!0):ln(this.layoutContainer)<this.originalContainerBlockSize}}updateCondition(e){if(this.foundUpperBound)pu(e,this.layoutContainer);else{let t=Math.min(this.originalContainerBlockSize,ln(this.layoutContainer)+this.originalContainerBlockSize*.1);hn(this.layoutContainer,t)}}};function Sa(e){if(e.length<=1)return!1;let t=e[e.length-1].computedBlockSize,i=e.slice(0,e.length-1),n=6;return i.every(s=>t>s.computedBlockSize+n)}var nm=class extends cu{constructor(e,t,i){super(i,e,t)}calculatePenalty(e){if(e.columns.every(i=>i.computedBlockSize===0))return 1/0;let t=e.columns.filter(i=>!i.pageBreakType).map(i=>i.computedBlockSize);return em(t)}hasNextCandidate(e){return du(e)}updateCondition(e){pu(e,this.layoutContainer)}};function sm(e,t,i,n,s,r,o){if(t===v.auto)return null;{let a=o.positions.length===0,h=r[r.length-1],l=!!(h&&h.pageBreakType);return a||l?new im(i,n,s,e):t===v.balance_all?new nm(i,n,s):(v.balance,null)}}var Fs=class{constructor(e,t,i){u(this,"endStuckFixed"),u(this,"endFixed"),u(this,"endSlipped"),this.endStuckFixed=e,this.endFixed=t,this.endSlipped=i}},rm=class{constructor(){u(this,"map",[])}getMaxFixed(){return this.map.length==0?0:this.map[this.map.length-1].endFixed}getMaxSlipped(){return this.map.length==0?0:this.map[this.map.length-1].endSlipped}addStuckRange(e){if(this.map.length==0)this.map.push(new Fs(e,e,e));else{let t=this.map[this.map.length-1],i=t.endSlipped+e-t.endFixed;t.endFixed==t.endStuckFixed?(t.endFixed=e,t.endStuckFixed=e,t.endSlipped=i):this.map.push(new Fs(e,e,i))}}addSlippedRange(e){this.map.length==0?this.map.push(new Fs(e,0,0)):this.map[this.map.length-1].endFixed=e}slippedByFixed(e){let t=_t(this.map.length,n=>e<=this.map[n].endFixed),i=this.map[t];return i.endSlipped-Math.max(0,i.endStuckFixed-e)}fixedBySlipped(e){let t=_t(this.map.length,n=>e<=this.map[n].endSlipped),i=this.map[t];return i.endStuckFixed-(i.endSlipped-e)}},om=class vr{constructor(t,i,n,s,r,o,a,h){if(this.context=t,this.style=i,this.offset=n,this.isRoot=s,this.flowChunk=r,this.atBlockStart=o,this.atFlowStart=a,this.isParentBoxDisplayed=h,u(this,"flowName"),u(this,"isBlockValue",null),u(this,"hasBoxValue",null),u(this,"styleValues",{}),u(this,"beforeBox",null),u(this,"afterBox",null),u(this,"breakBefore",null),this.flowName=r.flowName,this.hasBox()){let l=i._pseudos;if(l&&l.before){let c=new vr(t,l.before,n,!1,r,this.isBlock(),a,!0),p=c.styleValue("content");Vt(p)&&(this.beforeBox=c,this.breakBefore=c.breakBefore)}}this.breakBefore=Xe(this.getBreakValue("before"),this.breakBefore),this.atFlowStart&&Ze(this.breakBefore)&&(r.breakBefore=Xe(r.breakBefore,this.breakBefore))}buildAfterPseudoElementBox(t,i,n){if(this.hasBox()){let s=this.style._pseudos;if(s&&s.after){let r=new vr(this.context,s.after,t,!1,this.flowChunk,i,n,!0),o=r.styleValue("content");Vt(o)&&(this.afterBox=r)}}}styleValue(t,i){if(!(t in this.styleValues)){let n=this.style[t];this.styleValues[t]=n?n.evaluate(this.context,t):i||null}return this.styleValues[t]}displayValue(){return this.styleValue("display",v.inline)}isBlock(){if(this.isBlockValue===null){let t=this.displayValue(),i=this.styleValue("position"),n=this.styleValue("float");this.isBlockValue=Sh(t,i,n,this.isRoot)}return this.isBlockValue}hasBox(){return this.hasBoxValue===null&&(this.hasBoxValue=this.isParentBoxDisplayed&&this.displayValue()!==v.none&&!tr(this.styleValue("position"))),this.hasBoxValue}getBreakValue(t){let i=null;if(this.isBlock()){let n=this.styleValue(`break-${t}`);n&&(i=n.toString())}return i}},am=class{constructor(e){this.context=e,u(this,"stack",[]),u(this,"atBlockStart",!0),u(this,"atFlowStart",!0),u(this,"atStartStack",[])}empty(){return this.stack.length===0}lastBox(){return this.stack[this.stack.length-1]}lastFlowName(){let e=this.lastBox();return e?e.flowChunk.flowName:null}isCurrentBoxDisplayed(){return this.stack.every(e=>e.displayValue()!==v.none)}push(e,t,i,n){let s=this.lastBox();n&&s&&n.flowName!==s.flowName&&this.atStartStack.push({atBlockStart:this.atBlockStart,atFlowStart:this.atFlowStart});let r=n||s.flowChunk,o=this.atFlowStart||!!n,a=this.isCurrentBoxDisplayed(),h=new om(this.context,e,t,i,r,o||this.atBlockStart,o,a);return this.stack.push(h),this.atBlockStart=h.hasBox()?!h.beforeBox&&h.isBlock():this.atBlockStart,this.atFlowStart=h.hasBox()?!h.beforeBox&&o:this.atFlowStart,h}encounteredTextNode(e){let t=this.lastBox();if((e.nodeType===Node.TEXT_NODE||e.nodeType===Node.CDATA_SECTION_NODE)&&(this.atBlockStart||this.atFlowStart)&&t.hasBox()){let i=t.styleValue("white-space",v.normal).toString(),n=uh(i);n&&!Ve(e,n)&&(this.atBlockStart=!1,this.atFlowStart=!1)}}pop(e){let t=this.stack.pop();if(t.buildAfterPseudoElementBox(e,this.atBlockStart,this.atFlowStart),this.atFlowStart&&t.afterBox){let n=t.afterBox.getBreakValue("before");t.flowChunk.breakBefore=Xe(t.flowChunk.breakBefore,n)}let i=this.lastBox();if(i)if(i.flowName===t.flowName)t.hasBox()&&(this.atBlockStart=this.atFlowStart=!1);else{let n=this.atStartStack.pop();this.atBlockStart=n.atBlockStart,this.atFlowStart=n.atFlowStart}return t}nearestBlockStartOffset(e){if(!e.atBlockStart)return e.offset;let t=this.stack.length-1,i=this.stack[t];for(i===e&&(t--,i=this.stack[t]);t>=0;){if(i.flowName!==e.flowName)return e.offset;if(!i.atBlockStart||i.isRoot)return i.offset;e=i,i=this.stack[--t]}throw new Error("No block start offset found!")}},Ca=class{constructor(e,t,i,n,s,r,o,a){this.xmldoc=e,this.scope=i,this.context=n,this.primaryFlows=s,this.validatorSet=r,this.counterListener=o,u(this,"root"),u(this,"cascadeHolder"),u(this,"last"),u(this,"rootStyle",{}),u(this,"styleMap",{}),u(this,"flows",{}),u(this,"flowChunks",[]),u(this,"flowListener",null),u(this,"flowToReach",null),u(this,"idToReach",null),u(this,"cascade"),u(this,"offsetMap"),u(this,"primary",!0),u(this,"primaryStack",[]),u(this,"rootBackgroundAssigned",!1),u(this,"rootLayoutAssigned",!1),u(this,"lastOffset"),u(this,"breakBeforeValues",{}),u(this,"boxStack"),u(this,"bodyReached",!0),this.root=e.root,this.cascadeHolder=t,this.last=this.root,this.cascade=t.createInstance(n,o,a,e.lang),this.offsetMap=new rm;let h=e.getElementOffset(this.root);this.lastOffset=h,this.boxStack=new am(n),this.offsetMap.addStuckRange(h);let l=this.getAttrStyle(this.root);switch(this.cascade.pushElement(this,this.root,l,h),this.postprocessTopStyle(l,!1),this.root.namespaceURI){case"http://www.w3.org/1999/xhtml":this.bodyReached=!1;break}this.primaryStack.push(!0),this.styleMap={},this.styleMap[`e${h}`]=l,this.lastOffset++,this.replayFlowElementsFromOffset(-1)}hasProp(e,t,i){let n=e[i];return n&&n.evaluate(this.context)!==t[i]}transferPropsToRoot(e,t){for(let i in t){let n=e[i];if(n)this.rootStyle[i]=n,delete e[i];else{let s=t[i];s&&(this.rootStyle[i]=new q(s,Kl))}}}postprocessTopStyle(e,t){var i;if(t)for(let n of["writing-mode","direction"])e[n]&&!(t&&this.rootStyle[n])&&(this.rootStyle[n]=e[n]);else for(let n in e)qi(n)&&(this.rootStyle[n]=e[n]);if(!this.rootBackgroundAssigned){let n=this.hasProp(e,this.validatorSet.backgroundProps,"background-color")?e["background-color"].evaluate(this.context):null,s=this.hasProp(e,this.validatorSet.backgroundProps,"background-image")?e["background-image"].evaluate(this.context):null;(n&&!J(n)||s&&!J(s))&&(this.transferPropsToRoot(e,this.validatorSet.backgroundProps),this.rootBackgroundAssigned=!0)}if(!this.rootLayoutAssigned){for(let n=0;n<Ea.length;n++)if(this.hasProp(e,this.validatorSet.layoutProps,Ea[n])){this.transferPropsToRoot(e,this.validatorSet.layoutProps),this.rootLayoutAssigned=!0;break}}if(!t){let n=e["font-size"],s=!0;if(n&&!J(n.value)){let a=n.evaluate(this.context);if(a instanceof T){let h=a.num;switch(a.unit){case"em":case"rem":h*=this.context.initialFontSize;break;case"ex":h*=this.context.initialFontSize*me.ex/me.em;break;case"%":h*=this.context.initialFontSize/100;break;case"lh":case"rlh":h*=this.context.initialFontSize*me.lh/me.em;break;default:{let l=me[a.unit];l&&(h*=l),s=!1}}this.context.rootFontSize=h,this.context.isRelativeRootFontSize=s}}let r=(i=this.context.rootFontSize)!=null?i:this.context.initialFontSize,o=e["line-height"];if(o&&!J(o.value)){let a=o.evaluate(this.context);if(a instanceof Ut)this.context.rootLineHeight=a.num*r;else if(a instanceof T){let h=a.num;switch(a.unit){case"em":case"rem":h*=r;break;case"ex":h*=r*me.ex/me.em;break;case"%":h*=r/100;break;case"lh":case"rlh":h*=this.context.initialFontSize*me.lh/me.em;break;default:{let l=me[a.unit];l&&(h*=l)}}this.context.rootLineHeight=h}}else this.context.rootLineHeight=this.context.fontSize()*me.lh/me.em}}getTopContainerStyle(){let e=0;for(;!this.bodyReached&&(e+=5e3,this.styleUntil(e,0)!=Number.POSITIVE_INFINITY););return this.rootStyle}getAttrStyle(e){if(e.style instanceof CSSStyleDeclaration){let t=e.getAttribute("style");if(t)return ig(this.scope,this.validatorSet,this.xmldoc.url,t)}return{}}getReachedOffset(){return this.lastOffset}replayFlowElementsFromOffset(e){if(e>=this.lastOffset)return;let t=this.context,i=this.xmldoc.getElementOffset(this.root);if(e<i){let r=this.getStyle(this.root,!1),o=Ue(r,"flow-into"),a=o?o.evaluate(t,"flow-into").toString():"body",h=this.encounteredFlowElement(a,r,this.root,i);this.boxStack.empty()&&this.boxStack.push(r,i,!0,h)}let n=this.xmldoc.getNodeByOffset(e),s=this.xmldoc.getNodeOffset(n,0,!1);if(!(s>=this.lastOffset))for(;;){if(n.nodeType!=1)s+=n.textContent.length;else{let o=n,a=this.getStyle(o,!1),h=a["flow-into"];if(h){let l=h.evaluate(t,"flow-into").toString();this.encounteredFlowElement(l,a,o,s)}s++}if(s>=this.lastOffset)break;let r=n.firstChild;if(r==null){for(;r=n.nextSibling,!r;)if(n=n.parentNode,n===this.root)return}n=r}}resetFlowChunkStream(e){this.flowListener=e;for(let t=0;t<this.flowChunks.length;t++)this.flowListener.encounteredFlowChunk(this.flowChunks[t],this.flows[this.flowChunks[t].flowName])}styleUntilFlowIsReached(e){this.flowToReach=e;let t=0;for(;!(this.flowToReach==null||(t+=5e3,this.styleUntil(t,0)==Number.POSITIVE_INFINITY)););}styleUntilIdIsReached(e){if(!e)return;this.idToReach=e;let t=0;for(;!(!this.idToReach||(t+=5e3,this.styleUntil(t,0)===Number.POSITIVE_INFINITY)););this.idToReach=null}encounteredFlowElement(e,t,i,n){let s=0,r=Number.POSITIVE_INFINITY,o=!1,a=!1,h=!1,l=t["flow-options"];if(l){let m=md(l.evaluate(this.context,"flow-options"));o=!!m.exclusive,a=!!m.static,h=!!m.last}let c=t["flow-linger"];c&&(r=Go(c.evaluate(this.context,"flow-linger"),Number.POSITIVE_INFINITY));let p=t["flow-priority"];p&&(s=Go(p.evaluate(this.context,"flow-priority"),0));let d=this.breakBeforeValues[n]||null,f=this.flows[e];if(!f){let m=this.boxStack.lastFlowName();f=this.flows[e]=new Ap(e,m)}let g=new Lp(e,i,n,s,r,o,a,h,d);return this.flowChunks.push(g),this.flowToReach==e&&(this.flowToReach=null),this.flowListener&&this.flowListener.encounteredFlowChunk(g,f),g}registerForcedBreakOffset(e,t,i){if(Ze(e)){let s=this.flows[i].forcedBreakOffsets;(s.length===0||s[s.length-1]<t)&&s.push(t)}let n=this.breakBeforeValues[t];this.breakBeforeValues[t]=Xe(n,e)}styleUntil(e,t){let i=-1,n;if(e<=this.lastOffset&&(n=this.offsetMap.slippedByFixed(e),i=n+t,i<this.offsetMap.getMaxSlipped()))return this.offsetMap.fixedBySlipped(i);if(this.last==null)return Number.POSITIVE_INFINITY;let s=this.context;for(;;){let r=this.last.firstChild;if(r==null)for(;;){if(this.last.nodeType==1){this.cascade.popElement(this.last),this.primary=this.primaryStack.pop();let o=this.boxStack.pop(this.lastOffset),a=null;if(o.afterBox){let h=o.afterBox.getBreakValue("before");this.registerForcedBreakOffset(h,o.afterBox.atBlockStart?this.boxStack.nearestBlockStartOffset(o):o.afterBox.offset,o.flowName),a=o.afterBox.getBreakValue("after")}a=Xe(a,o.getBreakValue("after")),this.registerForcedBreakOffset(a,this.lastOffset,o.flowName)}if(r=this.last.nextSibling,r)break;if(this.last=this.last.parentNode,this.last===this.root)return this.last=null,e<this.lastOffset&&(i<0&&(n=this.offsetMap.slippedByFixed(e),i=n+t),i<=this.offsetMap.getMaxSlipped())?this.offsetMap.fixedBySlipped(i):Number.POSITIVE_INFINITY}if(this.last=r,this.last.nodeType!=1)this.lastOffset+=this.last.textContent.length,this.boxStack.encounteredTextNode(this.last),this.primary?this.offsetMap.addStuckRange(this.lastOffset):this.offsetMap.addSlippedRange(this.lastOffset);else{let o=this.last,a=this.getAttrStyle(o);this.primaryStack.push(this.primary),this.cascade.pushElement(this,o,a,this.lastOffset);let h=o.getAttribute("id")||o.getAttributeNS("http://www.w3.org/XML/1998/namespace","id");h&&h===this.idToReach&&(this.idToReach=null),!this.bodyReached&&o.localName=="body"&&o.parentNode==this.root&&(this.postprocessTopStyle(a,!0),this.bodyReached=!0);let l,c=a["flow-into"];if(c){let d=c.evaluate(s,"flow-into").toString(),f=this.encounteredFlowElement(d,a,o,this.lastOffset);this.primary=!!this.primaryFlows[d],l=this.boxStack.push(a,this.lastOffset,o===this.root,f)}else l=this.boxStack.push(a,this.lastOffset,o===this.root),o===this.xmldoc.body&&(l.breakBefore=Xe(l.flowChunk.breakBefore,l.breakBefore));let p=this.boxStack.nearestBlockStartOffset(l);if(p===0){let d=a.page,f=d&&!J(d.value)&&d.value.toString();f&&f.toLowerCase()!=="auto"&&(this.cascade.firstPageType=f)}if(this.registerForcedBreakOffset(l.breakBefore,p,l.flowName),l.beforeBox){let d=l.beforeBox.getBreakValue("after");this.registerForcedBreakOffset(d,l.beforeBox.atBlockStart?p:l.offset,l.flowName)}if(this.primary&&l.displayValue()===v.none&&(this.primary=!1),this.styleMap[`e${this.lastOffset}`]=a,this.lastOffset++,this.primary?this.offsetMap.addStuckRange(this.lastOffset):this.offsetMap.addSlippedRange(this.lastOffset),this.bodyReached&&p===0)continue;if(e<this.lastOffset&&(i<0&&(n=this.offsetMap.slippedByFixed(e),i=n+t),i<=this.offsetMap.getMaxSlipped()))return this.offsetMap.fixedBySlipped(i)}}}getStyle(e,t){let i=this.xmldoc.getElementOffset(e),n=`e${i}`;return t&&(i=this.xmldoc.getNodeOffset(e,0,!0)),this.lastOffset<=i&&this.styleUntil(i,0),this.styleMap[n]}processContent(e,t,i){}},Ea=["column-count","column-width","column-fill"],pi=class{constructor(e){this.validator=e,u(this,"success",null),u(this,"failure",null),u(this,"code",0)}isSpecial(){return this.code!=0}markAsStartGroup(){this.code=-1}isStartGroup(){return this.code==-1}markAsEndGroup(){this.code=-2}isEndGroup(){return this.code==-2}markAsStartAlternate(e){this.code=2*e+1}isStartAlternate(){return this.code>0&&this.code%2!=0}markAsEndAlternate(e){this.code=2*e+2}isEndAlternate(){return this.code>0&&this.code%2==0}getAlternate(){return Math.floor((this.code-1)/2)}},Wt=class{constructor(e,t){this.where=e,this.success=t,u(this,"what",-1)}},Bi=class fu{constructor(){u(this,"nodes",[]),u(this,"connections",[]),u(this,"match",[]),u(this,"nomatch",[]),u(this,"error",[]),u(this,"emptyHead",!0)}connect(t,i){for(let n=0;n<t.length;n++)this.connections[t[n]].what=i;t.splice(0,t.length)}clone(){let t=new fu;for(let i=0;i<this.nodes.length;i++){let n=this.nodes[i],s=new pi(n.validator);s.code=n.code,t.nodes.push(s)}for(let i=0;i<this.connections.length;i++){let n=this.connections[i],s=new Wt(n.where,n.success);s.what=n.what,t.connections.push(s)}return t.match.push(...this.match),t.nomatch.push(...this.nomatch),t.error.push(...this.error),t}addSpecialToArr(t,i,n){let s=this.nodes.length,r=new pi(ka);n>=0?i?r.markAsStartAlternate(n):r.markAsEndAlternate(n):i?r.markAsStartGroup():r.markAsEndGroup(),this.nodes.push(r),this.connect(t,s);let o=new Wt(s,!0),a=new Wt(s,!1);t.push(this.connections.length),this.connections.push(a),t.push(this.connections.length),this.connections.push(o)}endSpecialGroup(){let t=[this.match,this.nomatch,this.error];for(let i=0;i<t.length;i++)this.addSpecialToArr(t[i],!1,-1)}startSpecialGroup(){if(this.nodes.length)throw new Error("invalid call");this.addSpecialToArr(this.match,!0,-1)}endClause(t){this.addSpecialToArr(this.match,!1,t)}startClause(t){if(this.nodes.length)throw new Error("invalid call");let i=new pi(ka);i.markAsStartAlternate(t),this.nodes.push(i);let n=new Wt(0,!0),s=new Wt(0,!1);this.nomatch.push(this.connections.length),this.connections.push(s),this.match.push(this.connections.length),this.connections.push(n)}addPrimitive(t){let i=this.nodes.length;this.nodes.push(new pi(t));let n=new Wt(i,!0),s=new Wt(i,!1);this.connect(this.match,i),this.emptyHead?(this.nomatch.push(this.connections.length),this.emptyHead=!1):this.error.push(this.connections.length),this.connections.push(s),this.match.push(this.connections.length),this.connections.push(n)}isSimple(){return this.nodes.length==1&&!this.nodes[0].isSpecial()}isPrimitive(){return this.isSimple()&&this.nodes[0].validator instanceof Pe}addGroup(t,i){if(t.nodes.length==0)return;let n=this.nodes.length;if(i==4&&n==1&&t.isPrimitive()&&this.isPrimitive()){this.nodes[0].validator=this.nodes[0].validator.combine(t.nodes[0].validator);return}for(let r=0;r<t.nodes.length;r++)this.nodes.push(t.nodes[r]);i==4?(this.emptyHead=!0,this.connect(this.nomatch,n)):this.connect(this.match,n);let s=this.connections.length;for(let r=0;r<t.connections.length;r++){let o=t.connections[r];o.where+=n,o.what>=0&&(o.what+=n),this.connections.push(o)}for(let r=0;r<t.match.length;r++)this.match.push(t.match[r]+s);if(i==3&&this.connect(this.match,n),i==2||i==3)for(let r=0;r<t.nomatch.length;r++)this.match.push(t.nomatch[r]+s);else if(this.emptyHead){for(let r=0;r<t.nomatch.length;r++)this.nomatch.push(t.nomatch[r]+s);this.emptyHead=t.emptyHead}else for(let r=0;r<t.nomatch.length;r++)this.error.push(t.nomatch[r]+s);for(let r=0;r<t.error.length;r++)this.error.push(t.error[r]+s);t.nodes=null,t.connections=null}finish(t,i){let n=this.nodes.length;this.nodes.push(t),this.nodes.push(i),this.connect(this.match,n),this.connect(this.nomatch,n+1),this.connect(this.error,n+1);for(let s of this.connections)s.success?this.nodes[s.where].success=this.nodes[s.what]:this.nodes[s.where].failure=this.nodes[s.what];for(let s=0;s<n;s++)if(this.nodes[s].failure==null||this.nodes[s].success==null)throw new Error("Invalid validator state");return this.nodes[0]}},lm=1,gu=2,mu=4,jt=8,zn=16,yr=32,Dn=64,wu=128,Ui=256,Hi=512,xr=1024,bu=2048,vu=4096,yu=8192,xu=class extends It{constructor(){super()}validateForShorthand(e,t){let i=e[t].visit(this);return i?[i]:null}},Pe=class Su extends xu{constructor(t,i,n){super(),this.allowed=t,this.idents=i,this.units=n}visitEmpty(t){return this.allowed&lm?t:null}visitSlash(t){return this.allowed&bu?t:null}visitStr(t){return this.allowed&gu?t:null}visitIdent(t){return this.idents[t.name.toLowerCase()]||(this.allowed&mu||this.allowed&Dn&&CSS.supports("color",t.name)?t:null)}visitNumeric(t){return t.num==0&&!(this.allowed&Hi)?t.unit=="%"&&this.allowed&xr?t:null:t.num<0&&!(this.allowed&Ui)?null:this.units[t.unit]?t:null}visitNum(t){return t.num==0?this.allowed&Hi?t:null:t.num<=0&&!(this.allowed&Ui)?null:this.allowed&zn?t:null}visitInt(t){return t.num==0?this.allowed&Hi?t:null:t.num<=0&&!(this.allowed&Ui)?null:this.allowed&(yr|zn)?t:this.idents[`${t.num}`]||null}visitHexColor(t){return this.allowed&Dn&&/^([0-9A-F]{3,4}|([0-9A-F]{2}){3,4})$/i.test(t.hex)?t:null}visitURL(t){return this.allowed&wu?t:null}visitURange(t){return this.allowed&vu?t:null}visitSpaceList(t){return null}visitCommaList(t){return null}visitFunc(t){return this.allowed&Dn&&CSS.supports("color",t.toString())||this.allowed&yu&&CSS.supports("background-image",t.toString())||t.name==="calc"&&this.allowed&(jt|zn|yr|Ui|Hi|xr)?t:null}visitExpr(t){return this.allowed&2046?t:null}combine(t){let i={},n={};for(let s in this.idents)i[s]=this.idents[s];for(let s in t.idents)i[s]=t.idents[s];for(let s in this.units)n[s]=this.units[s];for(let s in t.units)n[s]=t.units[s];return new Su(this.allowed|t.allowed,i,n)}},ne={},ka=new Pe(0,ne,ne),so=class extends xu{constructor(e){super(),u(this,"successTerminal"),u(this,"failureTerminal"),u(this,"first"),this.successTerminal=new pi(null),this.failureTerminal=new pi(null),this.first=e.finish(this.successTerminal,this.failureTerminal)}validateList(e,t,i){let n=t?[]:e,s=this.first,r=i,o=null,a=null;for(;s!==this.successTerminal&&s!==this.failureTerminal;){if(r>=e.length){s=s.failure;continue}let h=e[r],l=h;if(s.isSpecial()){let c=!0;s.isStartGroup()?(o?o.push(a):o=[a],a=[]):s.isEndGroup()?o.length>0?a=o.pop():a=null:s.isEndAlternate()?a[s.getAlternate()]="taken":c=a[s.getAlternate()]==null,s=c?s.success:s.failure}else{if(r==0&&!t&&s.validator instanceof Zi&&this instanceof Zi){if(l=new ye(e).visit(s.validator),l){r=e.length,s=s.success;continue}}else if(r==0&&!t&&s.validator instanceof ro&&this instanceof Zi){if(l=new qe(e).visit(s.validator),l){r=e.length,s=s.success;continue}}else l=h.visit(s.validator);if(!l){s=s.failure;continue}if(l!==h&&e===n){n=[];for(let c=0;c<r;c++)n[c]=e[c]}e!==n&&(n[r-i]=l),r++,s=s.success}}return s===this.successTerminal&&(t?n.length>0:r==e.length)?n:null}validateSingle(e){let t=null,i=this.first;for(;i!==this.successTerminal&&i!==this.failureTerminal;){if(!e){i=i.failure;continue}if(i.isSpecial()){i=i.success;continue}if(t=e.visit(i.validator),!t){i=i.failure;continue}e=null,i=i.success}return i===this.successTerminal?t:null}visitEmpty(e){return this.validateSingle(e)}visitSlash(e){return this.validateSingle(e)}visitStr(e){return this.validateSingle(e)}visitIdent(e){return this.validateSingle(e)}visitNumeric(e){return this.validateSingle(e)}visitNum(e){return this.validateSingle(e)}visitInt(e){return this.validateSingle(e)}visitHexColor(e){return this.validateSingle(e)}visitURL(e){return this.validateSingle(e)}visitURange(e){return this.validateSingle(e)}visitSpaceList(e){return null}visitCommaList(e){return null}visitFunc(e){return this.validateSingle(e)}visitExpr(e){return null}},Zi=class extends so{constructor(e){super(e)}visitSpaceList(e){let t=this.validateList(e.values,!1,0);return t===e.values?e:t?new ye(t):null}visitCommaList(e){let t=this.first,i=!1;for(;t;){if(t.validator instanceof ro){i=!0;break}t=t.failure}if(i){let n=this.validateList(e.values,!1,0);return n===e.values?e:n?new qe(n):null}return null}validateForShorthand(e,t){return this.validateList(e,!0,t)}},ro=class extends so{constructor(e){super(e)}visitSpaceList(e){return this.validateSingle(e)}visitCommaList(e){let t=this.validateList(e.values,!1,0);return t===e.values?e:t?new qe(t):null}validateForShorthand(e,t){let i=this.first,n;for(;i!==this.failureTerminal;){if(n=i.validator.validateForShorthand(e,t),n)return n;i=i.failure}return null}},hm=class extends so{constructor(e,t){super(t),this.name=e}validateSingle(e){return null}visitFunc(e){if(e.name.toLowerCase()!=this.name)return null;let t=this.validateList(e.values,!1,0);return t===e.values?e:t?new Ni(e.name,t):null}},Cu=class{tryParse(e,t,i){return t}success(e,t){}},Eu=class extends Cu{constructor(e,t){super(),this.name=t,u(this,"validator"),this.validator=e.validators[this.name]}tryParse(e,t,i){if(i.values[this.name])return t;let n=this.validator.validateForShorthand(e,t);if(n){let s=n.length,r=s>1?new ye(n):n[0];return this.success(r,i),t+s}return t}success(e,t){t.values[this.name]=e}},um=class extends Eu{constructor(e,t){super(e,t[0]),this.names=t}success(e,t){for(let i=0;i<this.names.length;i++)t.values[this.names[i]]=e}},cm=class extends Cu{constructor(e,t){super(),this.nodes=e,this.slash=t}tryParse(e,t,i){let n=t;if(this.slash)if(e[t]==rs){if(++t==e.length)return n}else return n;let s=this.nodes[0].tryParse(e,t,i);if(s==t)return n;t=s;for(let r=1;r<this.nodes.length&&t<e.length&&(s=this.nodes[r].tryParse(e,t,i),s!=t);r++)t=s;return t}},oo=class extends It{constructor(){super(...arguments),u(this,"syntax",null),u(this,"propList",null),u(this,"error",!1),u(this,"values",{}),u(this,"validatorSet",null)}setOwner(e){this.validatorSet=e}syntaxNodeForProperty(e){return new Eu(this.validatorSet,e)}clone(){let e=new this.constructor;return e.syntax=this.syntax,e.propList=this.propList,e.validatorSet=this.validatorSet,e}init(e,t){this.syntax=e,this.propList=t}finish(e,t){var i,n;if(!this.error){for(let s of this.propList)t.simpleProperty(s,(n=(i=this.values[s])!=null?i:this.validatorSet.defaultValues[s])!=null?n:v.initial,e);return!0}return!1}propagateDefaultingValue(e,t,i){for(let n of this.propList)i.simpleProperty(n,e,t)}validateList(e){return this.error=!0,0}validateSingle(e){return this.validateList([e]),null}visitEmpty(e){return this.validateSingle(e)}visitStr(e){return this.validateSingle(e)}visitIdent(e){return this.validateSingle(e)}visitNumeric(e){return this.validateSingle(e)}visitNum(e){return this.validateSingle(e)}visitInt(e){return this.validateSingle(e)}visitHexColor(e){return this.validateSingle(e)}visitURL(e){return this.validateSingle(e)}visitSpaceList(e){return this.validateList(e.values),null}visitCommaList(e){return this.error=!0,null}visitFunc(e){return this.validateSingle(e)}visitExpr(e){return this.validateSingle(e)}},Ri=class extends oo{constructor(){super()}validateList(e){let t=0,i=0;for(;t<e.length;){let n=this.syntax[i].tryParse(e,t,this);if(n>t){t=n,i=0;continue}if(++i==this.syntax.length){this.error=!0;break}}return t}},ku=class extends oo{constructor(){super()}validateList(e){if(e.length>this.syntax.length||e.length==0)return this.error=!0,0;for(let t=0;t<this.syntax.length;t++){let i=t;for(;i>=e.length;)i=i==1?0:i-2;if(this.syntax[t].tryParse(e,i,this)!=i+1)return this.error=!0,0}return e.length}createSyntaxNode(){return new um(this.validatorSet,this.propList)}},dm=class extends oo{constructor(){super()}validateList(e){let t=e.length;for(let i=0;i<e.length;i++)if(e[i]===rs){t=i;break}if(t>this.syntax.length||e.length==0)return this.error=!0,0;for(let i=0;i<this.syntax.length;i++){let n=i;for(;n>=t;)n=n==1?0:n-2;let s;if(t+1<e.length)for(s=t+i+1;s>=e.length;)s=s-(s==t+2?1:2);else s=n;let r=[e[n],e[s]];if(this.syntax[i].tryParse(r,0,this)!=2)return this.error=!0,0}return e.length}},pm=class extends Ri{constructor(){super()}mergeIn(e,t){var i,n;for(let s of this.propList){let r=(n=(i=t[s])!=null?i:this.validatorSet.defaultValues[s])!=null?n:v.initial,o=e[s];o||(o=[],e[s]=o),o.push(r)}}visitCommaList(e){let t={};for(let i=0;i<e.values.length;i++)if(this.values={},e.values[i]instanceof qe?this.error=!0:(e.values[i].visit(this),this.mergeIn(t,this.values),this.values["background-color"]&&i!=e.values.length-1&&(this.error=!0)),this.error)return null;this.values={};for(let i in t)i=="background-color"?this.values[i]=t[i].pop():this.values[i]=new qe(t[i]);return null}},fm=class extends Ri{constructor(){super()}init(e,t){super.init(e,t),this.propList.push("font-family","line-height","font-size","font-stretch","font-variant-ligatures","font-variant-caps","font-variant-numeric","font-variant-east-asian")}validateList(e){let t=super.validateList(e),i=this.values["font-variant_css2"];i&&(delete this.values["font-variant_css2"],this.values["font-variant-caps"]=i);let n=this.values["font-stretch_css3"];if(n&&(delete this.values["font-stretch_css3"],this.values["font-stretch"]=n),t+2>e.length)return this.error=!0,t;this.error=!1;let s=this.validatorSet.validators;if(!e[t].visit(s["font-size"]))return this.error=!0,t;if(this.values["font-size"]=e[t++],e[t]===rs){if(t++,t+2>e.length)return this.error=!0,t;if(!e[t].visit(s["line-height"]))return this.error=!0,t;this.values["line-height"]=e[t++]}let r=t==e.length-1?e[t]:new ye(e.slice(t,e.length));return r.visit(s["font-family"])?(this.values["font-family"]=r,e.length):(this.error=!0,t)}visitCommaList(e){if(e.values[0].visit(this),this.error)return null;let t=[this.values["font-family"]];for(let n=1;n<e.values.length;n++)t.push(e.values[n]);let i=new qe(t);return i.visit(this.validatorSet.validators["font-family"])?this.values["font-family"]=i:this.error=!0,null}visitIdent(e){let t=this.validatorSet.systemFonts[e.name];if(t)for(let i in t)this.values[i]=t[i];else this.error=!0;return null}},gm=class extends Ri{validateList(e){if(e.length===1&&e[0]instanceof nt)switch(e[0].name.toLowerCase()){case"normal":e=[this.validatorSet.defaultValues["text-autospace"],this.validatorSet.defaultValues["text-spacing-trim"]];break;case"auto":e=[v.auto,v.auto];break;case"none":e=[B("no-autospace"),B("space-all")];break}return super.validateList(e)}},mm=["unicode-bidi","direction","margin-block-start","margin-block-end","margin-inline-start","margin-inline-end","padding-block-start","padding-block-end","padding-inline-start","padding-inline-end","border-block-start-color","border-block-end-color","border-inline-start-color","border-inline-end-color","border-block-start-style","border-block-end-style","border-inline-start-style","border-inline-end-style","border-block-start-width","border-block-end-width","border-inline-start-width","border-inline-end-width","block-start","block-end","inline-start","inline-end","block-size","inline-size","max-block-size","max-inline-size","min-block-size","min-inline-size","behavior","bleed","conflicting-partitions","crop-offset","crop-marks-line-color","enabled","flow-consume","flow-from","flow-into","flow-linger","flow-options","flow-priority","font-display","font-size-adjust","font-stretch_css3","font-variant_css2","glyph-orientation-vertical","marks","min-page-height","min-page-width","repeat-on-break","required","required-partitions","ruby-align","shape-inside","snap-height","snap-width","template","text-decoration-skip","text-justify","text-zoom","unicode-range","utilization","wrap-flow"],wm=class extends Ri{constructor(){super()}init(e,t){super.init(e,t);for(let i in this.validatorSet.validators)mm.includes(i)||this.propList.push(i)}validateList(e){return this.error=!0,0}},Na={SIMPLE:Ri,INSETS:ku,INSETS_SLASH:dm,COMMA:pm,FONT:fm,TEXT_SPACING:gm,ALL:wm},bm=class{constructor(){u(this,"validators",{}),u(this,"prefixes",{}),u(this,"defaultValues",{}),u(this,"namedValidators",{}),u(this,"systemFonts",{}),u(this,"shorthands",{}),u(this,"layoutProps",{}),u(this,"backgroundProps",{})}addReplacement(e,t){let i;if(t.type==3)i=new T(t.num,t.text);else if(t.type==7)i=new Il(t.text);else if(t.type==1)i=B(t.text);else throw new Error("unexpected replacement");if(e.isPrimitive()){let n=e.nodes[0].validator.idents;for(let s in n)n[s]=i;return e}throw new Error("unexpected replacement")}newGroup(e,t){let i=new Bi;if(e=="||"){for(let s=0;s<t.length;s++){let r=new Bi;r.startClause(s),r.addGroup(t[s],1),r.endClause(s),i.addGroup(r,s==0?1:4)}let n=new Bi;return n.startSpecialGroup(),n.addGroup(i,3),n.endSpecialGroup(),n}else{let n;switch(e){case" ":n=1;break;case"|":case"||":n=4;break;default:throw new Error("unexpected op")}for(let s=0;s<t.length;s++)i.addGroup(t[s],s==0?1:n);return i}}addCounts(e,t,i){let n=new Bi;for(let s=0;s<t;s++)n.addGroup(e.clone(),1);if(i==Number.POSITIVE_INFINITY)n.addGroup(e,3);else for(let s=t;s<i;s++)n.addGroup(e.clone(),2);return n}primitive(e){let t=new Bi;return t.addPrimitive(e),t}newFunc(e,t){let i;switch(e){case"COMMA":i=new ro(t);break;case"SPACE":i=new Zi(t);break;default:i=new hm(e.toLowerCase(),t);break}return this.primitive(i)}initBuiltInValidators(){this.namedValidators.COLOR=this.primitive(new Pe(Dn,ne,ne)),this.namedValidators.IMAGE_FUNCTION=this.primitive(new Pe(yu,ne,ne)),this.namedValidators.POS_INT=this.primitive(new Pe(yr,ne,ne)),this.namedValidators.POS_NUM=this.primitive(new Pe(zn,ne,ne)),this.namedValidators.POS_PERCENTAGE=this.primitive(new Pe(jt,ne,{"%":G})),this.namedValidators.NEGATIVE=this.primitive(new Pe(Ui,ne,ne)),this.namedValidators.ZERO=this.primitive(new Pe(Hi,ne,ne)),this.namedValidators.ZERO_PERCENTAGE=this.primitive(new Pe(xr,ne,ne)),this.namedValidators.POS_LENGTH=this.primitive(new Pe(jt,ne,{em:G,ex:G,ch:G,rem:G,lh:G,rlh:G,vw:G,vh:G,vi:G,vb:G,vmin:G,vmax:G,pvw:G,pvh:G,pvi:G,pvb:G,pvmin:G,pvmax:G,cm:G,mm:G,in:G,px:G,pt:G,pc:G,q:G})),this.namedValidators.POS_ANGLE=this.primitive(new Pe(jt,ne,{deg:G,grad:G,rad:G,turn:G})),this.namedValidators.POS_TIME=this.primitive(new Pe(jt,ne,{s:G,ms:G})),this.namedValidators.FREQUENCY=this.primitive(new Pe(jt,ne,{Hz:G,kHz:G})),this.namedValidators.RESOLUTION=this.primitive(new Pe(jt,ne,{dpi:G,dpcm:G,dppx:G})),this.namedValidators.URI=this.primitive(new Pe(wu,ne,ne)),this.namedValidators.URANGE=this.primitive(new Pe(vu,ne,ne)),this.namedValidators.IDENT=this.primitive(new Pe(mu,ne,ne)),this.namedValidators.STRING=this.primitive(new Pe(gu,ne,ne)),this.namedValidators.SLASH=this.primitive(new Pe(bu,ne,ne));let e={"font-family":B("sans-serif")};this.systemFonts.caption=e,this.systemFonts.icon=e,this.systemFonts.menu=e,this.systemFonts["message-box"]=e,this.systemFonts["small-caption"]=e,this.systemFonts["status-bar"]=e}isBuiltIn(e){return!!e.match(/^[A-Z_0-9]+$/)}readNameAndPrefixes(e,t){let i=e.token();if(i.type==0)return null;let n={"":!0};if(i.type==14){do{if(e.consume(),i=e.token(),i.type!=1)throw new Error("Prefix name expected");n[i.text]=!0,e.consume(),i=e.token()}while(i.type==16);if(i.type!=15)throw new Error("']' expected");e.consume(),i=e.token()}if(i.type!=1)throw new Error("Property name expected");if(t==2?i.text=="SHORTHANDS":i.text=="DEFAULTS")return e.consume(),null;let s=i.text;if(e.consume(),t!=2){if(e.token().type!=39)throw new Error("'=' expected");this.isBuiltIn(s)||(this.prefixes[s]=n)}else if(e.token().type!=18)throw new Error("':' expected");return s}parseValidators(e){for(;;){let t=this.readNameAndPrefixes(e,1);if(!t)return;let i=[],n=[],s="",r,o=!0,a=()=>{if(i.length==0)throw new Error("No values");return i.length==1?i[0]:this.newGroup(s,i)},h=c=>{if(o)throw new Error(`'${c}': unexpected`);if(s&&s!=c)throw new Error(`mixed operators: '${c}' and '${s}'`);s=c,o=!0},l=null;for(;!l;){e.consume();let c=e.token();switch(c.type){case 1:if(o||h(" "),this.isBuiltIn(c.text)){let p=this.namedValidators[c.text];if(!p)throw new Error(`'${c.text}' unexpected`);i.push(p.clone())}else{let p={};p[c.text.toLowerCase()]=B(c.text),i.push(this.primitive(new Pe(0,p,ne)))}o=!1;break;case 5:{let p={};p[`${c.num}`]=new Qt(c.num),i.push(this.primitive(new Pe(0,p,ne))),o=!1;break}case 34:h("|");break;case 25:h("||");break;case 14:o||h(" "),n.push({vals:i,op:s,b:"["}),s="",i=[],o=!0;break;case 6:o||h(" "),n.push({vals:i,op:s,b:"(",fn:c.text}),s="",i=[],o=!0;break;case 15:{r=a();let p=n.pop();if(p.b!="[")throw new Error("']' unexpected");i=p.vals,i.push(r),s=p.op,o=!1;break}case 11:{r=a();let p=n.pop();if(p.b!="(")throw new Error("')' unexpected");i=p.vals,i.push(this.newFunc(p.fn,r)),s=p.op,o=!1;break}case 18:if(o)throw new Error("':' unexpected");e.consume(),i.push(this.addReplacement(i.pop(),e.token()));break;case 22:if(o)throw new Error("'?' unexpected");i.push(this.addCounts(i.pop(),0,1));break;case 36:if(o)throw new Error("'*' unexpected");i.push(this.addCounts(i.pop(),0,Number.POSITIVE_INFINITY));break;case 23:if(o)throw new Error("'+' unexpected");i.push(this.addCounts(i.pop(),1,Number.POSITIVE_INFINITY));break;case 12:{if(e.consume(),c=e.token(),c.type!=5)throw new Error("<int> expected");let p=c.num,d=p;if(e.consume(),c=e.token(),c.type==16){if(e.consume(),c=e.token(),c.type!=5)throw new Error("<int> expected");d=c.num,e.consume(),c=e.token()}if(c.type!=13)throw new Error("'}' expected");i.push(this.addCounts(i.pop(),p,d));break}case 17:if(l=a(),n.length>0)throw new Error(`unclosed '${n.pop().b}'`);break;default:throw new Error("unexpected token")}}e.consume(),this.isBuiltIn(t)?this.namedValidators[t]=l:l.isSimple()?this.validators[t]=l.nodes[0].validator:this.validators[t]=new Zi(l)}}parseDefaults(e){for(;;){let t=this.readNameAndPrefixes(e,2);if(!t)return;let i=[];for(;;){e.consume();let n=e.token();if(n.type==17){e.consume();break}switch(n.type){case 1:i.push(B(n.text));break;case 4:i.push(new Ut(n.num));break;case 5:i.push(new Qt(n.num));break;case 3:i.push(new T(n.num,n.text));break;default:throw new Error("unexpected token")}}this.defaultValues[t]=i.length>1?new ye(i):i[0]}}parseShorthands(e){for(;;){let t=this.readNameAndPrefixes(e,3);if(!t)return;let i=e.nthToken(1),n;i.type==1&&Na[i.text]?(n=new Na[i.text],e.consume()):n=new Ri,n.setOwner(this);let s=!1,r=[],o=!1,a=[],h=[];for(;!s;)switch(e.consume(),i=e.token(),i.type){case 1:if(this.validators[i.text])r.push(n.syntaxNodeForProperty(i.text)),i.text.includes("_")||h.push(i.text);else if(this.shorthands[i.text]instanceof ku){let l=this.shorthands[i.text];r.push(l.createSyntaxNode()),h.push(...l.propList)}else throw new Error(`'${i.text}' is neither a simple property nor an inset shorthand`);break;case 19:if(r.length>0||o)throw new Error("unexpected slash");o=!0;break;case 14:a.push({slash:o,syntax:r}),r=[],o=!1;break;case 15:{let l=new cm(r,o),c=a.pop();r=c.syntax,o=c.slash,r.push(l);break}case 17:s=!0,e.consume();break;default:throw new Error("unexpected token")}n.init(r,h),this.shorthands[t]=n}}parse(e){let t=new gt(e,null);this.parseValidators(t),this.parseDefaults(t),this.parseShorthands(t),this.backgroundProps=this.makePropSet(["background"]),this.layoutProps=this.makePropSet(["margin","border","padding","columns","column-gap","column-rule","column-fill"])}makePropSet(e){var t;let i={};for(let n of e){let s=this.shorthands[n],r=s?s.propList:[n];for(let o of r)i[o]=(t=this.defaultValues[o])!=null?t:v.initial}return i}validatePropertyAndHandleShorthand(e,t,i,n){if(Nt(e)||n.ruleType==="font-face"||ym(t)){n.simpleProperty(e,t,i);return}let s="",r=e;e=e.toLowerCase();let o=e.match(/^-([a-z]+)-([-a-z0-9]+)$/);o&&(s=o[1],e=o[2]);let a=this.prefixes[e];if(!a||!a[s]){CSS.supports(r,t.toString())?n.simpleProperty(r,t,i):s&&!il.includes(`-${s}-`)||n.unknownProperty(r,t);return}let h=this.validators[e];if(h){let l=J(t)||t.isExpr()?t:t.visit(h);l?n.simpleProperty(e,l,i):!s&&CSS.supports(e,t.toString())?n.simpleProperty(e,t,i):n.invalidPropertyValue(r,t)}else{let l=this.shorthands[e].clone();J(t)?l.propagateDefaultingValue(t,i,n):(t.visit(l),l.finish(i,n)||n.invalidPropertyValue(r,t))}}};function Nu(){let e=new bm;return e.initBuiltInValidators(),e.parse($l),e}var vm=class extends It{constructor(){super(...arguments),u(this,"varFound",!1)}visitFunc(e){return e.name==="var"?this.varFound=!0:this.varFound||this.visitValues(e.values),null}};function ym(e){let t=new vm;return e.visit(t),t.varFound}var Kw=`OTTO${new Date().valueOf()}`;function ao(e){return Object.keys(e).filter(t=>!["src","font-family","font-display"].includes(t)).sort()}function xm(e){let t=new kt;for(let i of ao(e))t.append(`${i}:${e[i].toString()};`);return t.toString()}function Sm(e,t){let i={};for(let n in e)i[n]=Ue(e,n).evaluate(t,n);return i}var Pu=class{constructor(e){this.properties=e,u(this,"fontTraitKey"),u(this,"src"),u(this,"blobURLs",[]),u(this,"blobs",[]),u(this,"family"),this.fontTraitKey=xm(this.properties),this.src=this.properties.src?this.properties.src.toString():null;let t=this.properties["font-family"];this.family=t?t.stringValue():null}traitsEqual(e){return this.fontTraitKey==e.fontTraitKey}makeAtRule(e,t){let i=new kt;i.append(`@font-face {
|
|
1510
|
+
`;function hs(e,t,i){let n=F("fetchFromURL"),s={method:i||"GET",mode:"cors"},r=n.suspend(),o={status:0,statusText:"",url:e,contentType:null,responseText:null,responseXML:null,responseBlob:null};return fetch(e,s).then(a=>{var h;return o.status=a.status,o.url=a.url,o.statusText=a.statusText,o.contentType=(h=a.headers.get("Content-Type"))==null?void 0:h.replace(/;.*$/,"").toLowerCase(),a.ok?t==="blob"?a.blob():t==="arraybuffer"?a.arrayBuffer():t==="json"?a.json():/\/aozorabunko\/[^/]+\/cards\/[^/]+\/files\/[^/.]+\.html$/.test(e)?(o.contentType="text/html",a.arrayBuffer().then(l=>new TextDecoder("Shift_JIS").decode(l))):(/^data:,(<|%3c)/i.test(e)&&(o.contentType="text/html"),a.text()):a.text()}).then(a=>{t==="blob"&&a instanceof Blob?o.responseBlob=a:t==="arraybuffer"&&a instanceof ArrayBuffer?o.responseBlob=Zl([a]):t==="json"?o.responseText=JSON.stringify(a):typeof a=="string"&&(o.responseText=a),r.schedule(o)}).catch(a=>{H.warn(a,`Error fetching ${e}`),r.schedule(o)}),n.result()}function Zl(e,t){let i=t||"application/octet-stream";return new Blob(e,{type:i})}function np(e){let t=F("readBlob"),i=new FileReader,n=t.suspend(i);return i.addEventListener("load",()=>{n.schedule(i.result)},!1),i.readAsArrayBuffer(e),t.result()}function sp(e){return URL.createObjectURL(e)}var Vr=class{constructor(e,t){this.parser=e,this.type=t,u(this,"resources",{}),u(this,"fetchers",{})}load(e,t,i){e=St(e);let n=this.resources[e];return typeof n<"u"?k(n):this.fetch(e,t,i).get()}fetchInner(e,t,i){let n=F("fetch"),s=e.endsWith("?viv-toc-box");s&&(e=e.replace("?viv-toc-box",""));let r=Pe("user-agent.xml",Kt),o=!s&&e===r;return o&&(e=`data:application/xml,${encodeURIComponent(Wl)}`),hs(e,this.type).then(a=>{if(a.status>=400&&t)throw new Error((i||`Failed to fetch required resource: ${e}`)+` (${a.status}${a.statusText?" "+a.statusText:""})`);s?(e+="?viv-toc-box",a.url+="?viv-toc-box"):o&&(a.url=e=r),this.parser(a,this).then(h=>{delete this.fetchers[e],this.resources[e]=h,n.finish(h)})}),n.result()}fetch(e,t,i){if(e=St(e),this.resources[e])return null;let n=this.fetchers[e];return n||(n=new wn(()=>this.fetchInner(e,t,i),`Fetch ${e}`),this.fetchers[e]=n,n.start()),n}get(e){return this.resources[St(e)]}delete(e){delete this.resources[St(e)]}};function rp(e,t){let i=e.responseText;return k(i?Ar(i):null)}function op(){return new Vr(rp,"text")}function si(e,t,i){let n=new wn(()=>{let s=F("loadElement"),r=s.suspend(e),o=!1,a=h=>{o||(o=!0,r.schedule(h?h.type:"timeout"))};return e.addEventListener("load",a,!1),e.addEventListener("error",a,!1),e.addEventListener("abort",a,!1),e.namespaceURI=="http://www.w3.org/2000/svg"?(t&&e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",t),setTimeout(a,300)):e.localName==="script"?setTimeout(a,3e3):t&&(e.src=t,i&&(e.alt=i)),s.result()},`loadElement ${t||e.localName}`);return n.start(),n}var qo=0,ap=16777216,Kl=33554432,Jl=50331648,Ql=67108864,lp=83886080,hp=100663296,Hr=class{constructor(e){this.scope=e,u(this,"flavor"),this.flavor="Author"}getCurrentToken(){return null}getScope(){return this.scope}error(e,t){}startStylesheet(e){this.flavor=e}tagSelector(e,t){}classSelector(e){}pseudoclassSelector(e,t){}pseudoelementSelector(e,t){}idSelector(e){}attributeSelector(e,t,i,n){}descendantSelector(){}childSelector(){}adjacentSiblingSelector(){}followingSiblingSelector(){}nextSelector(){}startSelectorRule(){}startFontFaceRule(){}startFootnoteRule(e){}startViewportRule(){}startDefineRule(){}startRegionRule(){}startPageRule(){}startPageMarginBoxRule(e){}startWhenRule(e){}startMediaRule(e){this.startWhenRule(e)}startFlowRule(e){}startPageTemplateRule(){}startPageMasterRule(e,t,i){}startPartitionRule(e,t,i){}startPartitionGroupRule(e,t,i){}startRuleBody(){}property(e,t,i){}endRule(){}startFuncWithSelector(e){}endFuncWithSelector(){}pushSelectorText(e){}getImportantSpecificity(){switch(this.flavor){case"UA":return qo;case"User":return hp;default:return lp}}getBaseSpecificity(){switch(this.flavor){case"UA":return qo;case"User":return ap;default:return Kl}}},up=class extends Hr{constructor(){super(null),u(this,"stack",[]),u(this,"tokenizer",null),u(this,"slave",null)}pushHandler(e){this.stack.push(this.slave),this.slave=e}popHandler(){this.slave=this.stack.pop()}getCurrentToken(){return this.tokenizer?this.tokenizer.token():null}getScope(){return this.slave.getScope()}error(e,t){this.slave.error(e,t)}errorMsg(e,t){var i;H.warn(e,(i=t?.toString())!=null?i:"")}startStylesheet(e){super.startStylesheet(e),this.stack.length>0&&(this.slave=this.stack[0],this.stack=[]),this.slave.startStylesheet(e)}tagSelector(e,t){this.slave.tagSelector(e,t)}classSelector(e){this.slave.classSelector(e)}pseudoclassSelector(e,t){this.slave.pseudoclassSelector(e,t)}pseudoelementSelector(e,t){this.slave.pseudoelementSelector(e,t)}idSelector(e){this.slave.idSelector(e)}attributeSelector(e,t,i,n){this.slave.attributeSelector(e,t,i,n)}descendantSelector(){this.slave.descendantSelector()}childSelector(){this.slave.childSelector()}adjacentSiblingSelector(){this.slave.adjacentSiblingSelector()}followingSiblingSelector(){this.slave.followingSiblingSelector()}nextSelector(){this.slave.nextSelector()}startSelectorRule(){this.slave.startSelectorRule()}startFontFaceRule(){this.slave.startFontFaceRule()}startFootnoteRule(e){this.slave.startFootnoteRule(e)}startViewportRule(){this.slave.startViewportRule()}startDefineRule(){this.slave.startDefineRule()}startRegionRule(){this.slave.startRegionRule()}startPageRule(){this.slave.startPageRule()}startPageMarginBoxRule(e){this.slave.startPageMarginBoxRule(e)}startWhenRule(e){this.slave.startWhenRule(e)}startFlowRule(e){this.slave.startFlowRule(e)}startPageTemplateRule(){this.slave.startPageTemplateRule()}startPageMasterRule(e,t,i){this.slave.startPageMasterRule(e,t,i)}startPartitionRule(e,t,i){this.slave.startPartitionRule(e,t,i)}startPartitionGroupRule(e,t,i){this.slave.startPartitionGroupRule(e,t,i)}startRuleBody(){this.slave.startRuleBody()}property(e,t,i){this.slave.property(e,t,i)}endRule(){this.slave.endRule()}startFuncWithSelector(e){this.slave.startFuncWithSelector(e)}endFuncWithSelector(){this.slave.endFuncWithSelector()}pushSelectorText(e){this.slave.pushSelectorText(e)}},Yo=class extends Hr{constructor(e,t,i){super(e),this.owner=t,this.topLevel=i,u(this,"depth",0),t&&(this.flavor=t.flavor)}getCurrentToken(){var e;return(e=this.owner)==null?void 0:e.getCurrentToken()}error(e,t){var i;(i=this.owner)==null||i.errorMsg(e,t)}startRuleBody(){this.depth++}endRule(){--this.depth==0&&!this.topLevel&&this.owner.popHandler()}},bn=class extends Yo{constructor(e,t,i){super(e,t,i)}report(e){this.error(e,this.getCurrentToken())}reportAndSkip(e){this.report(e),this.owner.pushHandler(new Yo(this.scope,this.owner,!1))}startSelectorRule(){this.reportAndSkip("E_CSS_UNEXPECTED_SELECTOR")}startFontFaceRule(){this.reportAndSkip("E_CSS_UNEXPECTED_FONT_FACE")}startFootnoteRule(e){this.reportAndSkip("E_CSS_UNEXPECTED_FOOTNOTE")}startViewportRule(){this.reportAndSkip("E_CSS_UNEXPECTED_VIEWPORT")}startDefineRule(){this.reportAndSkip("E_CSS_UNEXPECTED_DEFINE")}startRegionRule(){this.reportAndSkip("E_CSS_UNEXPECTED_REGION")}startPageRule(){this.reportAndSkip("E_CSS_UNEXPECTED_PAGE")}startWhenRule(e){this.reportAndSkip("E_CSS_UNEXPECTED_WHEN")}startFlowRule(e){this.reportAndSkip("E_CSS_UNEXPECTED_FLOW")}startPageTemplateRule(){this.reportAndSkip("E_CSS_UNEXPECTED_PAGE_TEMPLATE")}startPageMasterRule(e,t,i){this.reportAndSkip("E_CSS_UNEXPECTED_PAGE_MASTER")}startPartitionRule(e,t,i){this.reportAndSkip("E_CSS_UNEXPECTED_PARTITION")}startPartitionGroupRule(e,t,i){this.reportAndSkip("E_CSS_UNEXPECTED_PARTITION_GROUP")}startFuncWithSelector(e){this.reportAndSkip("E_CSS_UNEXPECTED_SELECTOR_FUNC")}endFuncWithSelector(){this.reportAndSkip("E_CSS_UNEXPECTED_END_SELECTOR_FUNC")}property(e,t,i){this.error("E_CSS_UNEXPECTED_PROPERTY",this.getCurrentToken())}},ke=[],Wn=[],de=[],Ee=[],at=[],et=[],Ce=[],Oe=[],le=[],ze=[],Xe=[],Me=[],Se=[],ri=55,oi=56,Pn=57;ke[1]=28,ke[36]=29,ke[7]=29,ke[9]=29,ke[14]=29,ke[18]=29,ke[50]=29,ke[20]=30,ke[13]=27,ke[0]=200,Wn[1]=46,Wn[0]=200,et[1]=2,et[36]=4,et[7]=6,et[9]=8,et[14]=10,et[18]=14,et[50]=42,de[37]=11,de[23]=12,de[35]=56,de[1]=1,de[36]=3,de[7]=5,de[9]=7,de[14]=9,de[12]=13,de[18]=55,de[50]=58,de[16]=41,Ee[37]=11,Ee[23]=12,Ee[35]=56,Ee[1]=1,Ee[36]=3,Ee[7]=5,Ee[9]=7,Ee[14]=9,Ee[18]=55,at[1]=2,at[36]=4,at[7]=6,at[9]=8,at[18]=14,at[50]=42,at[14]=10,at[12]=13,Ce[1]=15,Ce[7]=16,Ce[4]=17,Ce[5]=18,Ce[3]=19,Ce[2]=20,Ce[8]=21,Ce[27]=57,Ce[16]=22,Ce[19]=23,Ce[6]=24,Ce[11]=25,Ce[17]=26,Ce[13]=48,Ce[31]=47,Ce[23]=54,Ce[0]=44,Oe[1]=31,Oe[4]=32,Oe[5]=32,Oe[3]=33,Oe[2]=34,Oe[10]=40,Oe[6]=38,Oe[31]=36,Oe[24]=36,Oe[32]=35,le[1]=45,le[16]=37,le[37]=37,le[38]=37,le[47]=37,le[48]=37,le[39]=37,le[49]=37,le[41]=37,le[26]=37,le[25]=37,le[23]=37,le[24]=37,le[19]=37,le[21]=37,le[36]=37,le[18]=37,le[22]=37,le[11]=39,le[12]=43,le[17]=49,ze[0]=200,ze[12]=50,ze[13]=51,ze[14]=50,ze[15]=51,ze[10]=50,ze[11]=51,ze[17]=53,Xe[0]=200,Xe[12]=50,Xe[13]=52,Xe[14]=50,Xe[15]=51,Xe[10]=50,Xe[11]=51,Xe[17]=53,Me[0]=200,Me[12]=50,Me[13]=51,Me[14]=50,Me[15]=51,Me[10]=50,Me[11]=51,Se[11]=0,Se[16]=0,Se[22]=1,Se[18]=1,Se[26]=2,Se[25]=2,Se[38]=3,Se[37]=3,Se[48]=3,Se[47]=3,Se[39]=3,Se[49]=3,Se[41]=3,Se[23]=4,Se[24]=4,Se[36]=5,Se[19]=5,Se[21]=5,Se[0]=6,Se[ri]=2,Se[oi]=2;var vn=class{constructor(e,t,i,n){this.actions=e,this.tokenizer=t,this.handler=i,this.baseURL=n,u(this,"valStack",[]),u(this,"namespacePrefixToURI",{}),u(this,"defaultNamespaceURI",null),u(this,"propName",null),u(this,"propImportant",!1),u(this,"exprContext"),u(this,"result",null),u(this,"importReady",!1),u(this,"importURL",null),u(this,"importCondition",null),u(this,"errorBrackets",[]),u(this,"ruleStack",[]),u(this,"regionRule",!1),u(this,"pageRule",!1),u(this,"inStyleDeclaration",!1),this.exprContext=2}extractVals(e,t){let i=[],n=this.valStack;for(;t<n.length&&(i.push(n[t++]),t!==n.length);){if(n[t++]!==e)throw new Error("Unexpected state");t===n.length&&i.push(G)}return i}valStackReduce(e,t){let i=this.valStack,n=i.length,s=0,r;do if(r=i[--n],e===")"&&r instanceof Ai){if(r.text===")")s++;else if(r.text==="("){if(s===0)return null;s--}}while(typeof r<"u"&&typeof r!="string");let o=i.length-(n+1);if(o>1&&i.splice(n+1,o,new xe(i.slice(n+1,i.length))),e==",")return null;n++;do r=i[--n];while(typeof r<"u"&&(typeof r!="string"||r==","));if(o=i.length-(n+1),r=="("){e!=")"&&t.type!==0&&(this.handler.error("E_CSS_MISMATCHED_C_PAR",t),this.actions=Xe);let h=new Ni(i[n-1],this.extractVals(",",n+1));if(i.splice(n-1,o+2,h),h.name==="var"){let l=h.values[0]instanceof nt&&h.values[0].name;(!kt(l)||l===this.propName)&&(this.handler.error(`E_CSS_INVALID_VAR ${h.toString()}`,t),this.actions=Xe)}return h}if(e!=";"||n>=0)return this.handler.error("E_CSS_UNEXPECTED_VAL_END",t),this.actions=Xe,null;if(o>1)return new Ye(this.extractVals(",",n+1));let a=i[0];return a instanceof Ge?a:a?new Ai(a.toString()):G}exprError(e,t){this.actions=this.propName?Xe:ze,H.warn(e,t.toString())}exprStackReduce(e,t){let i=this.valStack,n=this.handler,s=i.pop(),r;for(;;){let o=i.pop();if(e==11){let a=[s];for(;o==16;)a.unshift(i.pop()),o=i.pop();if(typeof o=="string"){if(o=="{"){for(;a.length>=2;){let h=a.shift(),l=a.shift(),c=new Yc(n.getScope(),h,l);a.unshift(c)}return i.push(new z(a[0])),!0}else if(o=="("){let h=i.pop(),l=i.pop();s=new Gi(n.getScope(),Ds(l,h),a),e=0;continue}}if(o==10){s.isMediaName()&&(s=new _o(n.getScope(),s,null)),e=0;continue}}else if(typeof o=="string"){i.push(o);break}if(o<0)if(o==-31)s=new Bt(n.getScope(),s);else if(o==-24)s=new li(n.getScope(),s);else if(o==-Pn)s=new Xc(n.getScope(),s);else return this.exprError("F_UNEXPECTED_STATE",t),!1;else{if(Se[e]>Se[o]){i.push(o);break}switch(r=i.pop(),o){case 26:s=new Or(n.getScope(),r,s);break;case ri:s=new qc(n.getScope(),r,s);break;case oi:s=new Zc(n.getScope(),r,s);break;case 25:s=new Br(n.getScope(),r,s);break;case 38:s=new Kc(n.getScope(),r,s);break;case 37:s=new Qc(n.getScope(),r,s);break;case 48:s=new Jc(n.getScope(),r,s);break;case 47:s=new Us(n.getScope(),r,s);break;case 39:case 49:s=new _r(n.getScope(),r,s);break;case 41:s=new ed(n.getScope(),r,s);break;case 23:s=new bl(n.getScope(),r,s);break;case 24:s=new vl(n.getScope(),r,s);break;case 36:s=new Mr(n.getScope(),r,s);break;case 19:s=new yl(n.getScope(),r,s);break;case 21:s=new xl(n.getScope(),r,s);break;case 18:if(i.length>1)switch(i[i.length-1]){case 22:i.pop(),s=new nd(n.getScope(),i.pop(),r,s);break;case 10:if(r.isMediaName())s=new _o(n.getScope(),r,s);else return this.exprError("E_CSS_MEDIA_TEST",t),!1;break}else return this.exprError("E_CSS_EXPR_COND",t),!1;break;case 22:if(e!=18)return this.exprError("E_CSS_EXPR_COND",t),!1;case 10:return i.push(r),i.push(o),i.push(s),!1;default:return this.exprError("F_UNEXPECTED_STATE",t),!1}}}return i.push(s),!1}readSupportsTest(e){let t=e.type===6,i=this.tokenizer,n,s;if(t)s=e.text,n=e.position+s.length+1;else if(e.type===10){let c=i.nthToken(1),p=i.nthToken(2);if(c.type===1&&p.type===18)i.consume(),i.consume(),s=c.text,n=p.position+1;else{if(c.type===10||c.type===6||c.type===1&&c.text.toLowerCase()==="not"&&(p.type===10||p.type===6))return null;n=e.position+1}}else return null;let r=0,o,a=0;for(;r>=0;)switch(i.consume(),o=i.token(),o.type){case 11:r--;break;case 10:case 6:r++;break;case 16:r===0&&a++;break;case 0:return this.exprError("E_CSS_UNEXPECTED_EOF",o),null}i.consume();let h=o.position,l=t&&s==="selector"&&a>0?"":i.input.substring(n,h).trim();return new sd(this.handler.getScope(),s,l,t)}readPseudoParams(){let e=[];for(;;){let t=this.tokenizer.token();switch(t.type){case 1:e.push(t.text);break;case 23:e.push("+");break;case 4:case 5:e.push(t.num);break;default:return e}this.tokenizer.consume()}}readNthPseudoParams(){let e=!1,t=this.tokenizer.token();if(t.type===23)e=!0,this.tokenizer.consume(),t=this.tokenizer.token();else if(t.type===1&&(t.text==="even"||t.text==="odd"))return this.tokenizer.consume(),[2,t.text==="odd"?1:0];switch(t.type){case 3:if(e&&t.num<0)return null;case 1:if(e&&t.text.charAt(0)==="-")return null;if(t.text==="n"||t.text==="-n"){if(e&&t.precededBySpace)return null;let i=t.text==="-n"?-1:1;t.type===3&&(i=t.num);let n=0;this.tokenizer.consume(),t=this.tokenizer.token();let s=t.type===24,r=t.type===23||s;if(r&&(this.tokenizer.consume(),t=this.tokenizer.token()),t.type===5){if(n=t.num,1/n===-1/0){if(n=0,r)return null}else if(n<0){if(r)return null}else if(n>=0&&!r)return null;this.tokenizer.consume()}else if(r)return null;return[i,s&&n>0?-n:n]}else if(t.text==="n-"||t.text==="-n-"){if(e&&t.precededBySpace)return null;let i=t.text==="-n-"?-1:1;if(t.type===3&&(i=t.num),this.tokenizer.consume(),t=this.tokenizer.token(),t.type===5)return t.num<0||1/t.num===-1/0?null:(this.tokenizer.consume(),[i,t.num])}else{let i=t.text.match(/^n(-[0-9]+)$/);if(i)return e&&t.precededBySpace?null:(this.tokenizer.consume(),[t.type===3?t.num:1,parseInt(i[1],10)]);if(i=t.text.match(/^-n(-[0-9]+)$/),i)return this.tokenizer.consume(),[-1,parseInt(i[1],10)]}return null;case 5:return e&&(t.precededBySpace||t.num<0)?null:(this.tokenizer.consume(),[0,t.num])}return null}makeCondition(e,t){let i=this.handler.getScope();if(!i)return null;if(t=t||i._true,e){let n=e.split(/\s+/);for(let s of n)switch(s){case"vertical":t=ht(i,t,new Bt(i,new Ae(i,"pref-horizontal")));break;case"horizontal":t=ht(i,t,new Ae(i,"pref-horizontal"));break;case"day":t=ht(i,t,new Bt(i,new Ae(i,"pref-night-mode")));break;case"night":t=ht(i,t,new Ae(i,"pref-night-mode"));break;default:t=i._false}}return t===i._true?null:new z(t)}isInsidePropertyOnlyRule(){switch(this.ruleStack[this.ruleStack.length-1]){case"[selector]":case"font-face":case"-epubx-flow":case"-epubx-viewport":case"-epubx-define":case"-adapt-footnote-area":return!0}return!1}runParser(e,t,i,n,s,r){let o=this.handler,a=this.tokenizer,h=this.valStack,l,c,p,d,f,m,g,w=null;for(i&&(this.inStyleDeclaration=!0),n&&(this.exprContext=2,this.valStack.push("{"));e>0;--e){if(l=a.token(),s&&w===null&&(w=l.position-1,a.input[w]==="("&&w++),this.actions===Ce&&this.errorBrackets.length>0&&(l.type===this.errorBrackets[this.errorBrackets.length-1]||l.type===17||l.type===31)){if(l.type===this.errorBrackets[this.errorBrackets.length-1]&&(this.errorBrackets.pop(),l.type===11&&this.valStackReduce(")",l))){a.consume();continue}h.push(new Ai(l.toString())),a.consume();continue}switch(this.actions[l.type]){case 28:if(!this.inStyleDeclaration||a.nthToken(1).type!=18){this.isInsidePropertyOnlyRule()?(o.error("E_CSS_COLON_EXPECTED",a.nthToken(1)),this.actions=Xe):(this.actions=et,o.startSelectorRule());continue}this.propName=l.text,this.propImportant=!1,a.consume(),a.consume(),this.actions=Ce,h.splice(0,h.length);continue;case 46:if(a.nthToken(1).type!=18){this.actions=Xe,o.error("E_CSS_COLON_EXPECTED",a.nthToken(1));continue}this.propName=l.text,this.propImportant=!1,a.consume(),a.consume(),this.actions=Ce,h.splice(0,h.length);continue;case 29:this.actions=et,o.startSelectorRule();continue;case 1:if(!l.precededBySpace){this.actions=Me,o.error("E_CSS_SPACE_EXPECTED",l);continue}o.descendantSelector();case 2:if(a.nthToken(1).type==34)if(a.consume(),a.consume(),p=this.namespacePrefixToURI[l.text],p!=null)switch(l=a.token(),l.type){case 1:o.tagSelector(p,l.text),s?this.actions=Ee:this.actions=de,a.consume();break;case 36:o.tagSelector(p,null),s?this.actions=Ee:this.actions=de,a.consume();break;default:this.actions=ze,o.error("E_CSS_NAMESPACE",l)}else this.actions=ze,o.error("E_CSS_UNDECLARED_PREFIX",l);else o.tagSelector(this.defaultNamespaceURI,l.text),s?this.actions=Ee:this.actions=de,a.consume();continue;case 3:if(!l.precededBySpace){this.actions=Me,o.error("E_CSS_SPACE_EXPECTED",l);continue}o.descendantSelector();case 4:if(a.nthToken(1).type==34)switch(a.consume(),a.consume(),l=a.token(),l.type){case 1:o.tagSelector(null,l.text),s?this.actions=Ee:this.actions=de,a.consume();break;case 36:o.tagSelector(null,null),s?this.actions=Ee:this.actions=de,a.consume();break;default:this.actions=ze,o.error("E_CSS_NAMESPACE",l)}else o.tagSelector(this.defaultNamespaceURI,null),s?this.actions=Ee:this.actions=de,a.consume();continue;case 5:l.precededBySpace&&o.descendantSelector();case 6:if(!l.text){o.error("E_CSS_SYNTAX",l),a.consume();continue}o.idSelector(l.text),s?this.actions=Ee:this.actions=de,a.consume();continue;case 7:l.precededBySpace&&o.descendantSelector();case 8:o.classSelector(l.text),s?this.actions=Ee:this.actions=de,a.consume();continue;case 55:l.precededBySpace&&o.descendantSelector();case 14:a.consume(),l=a.token();e:switch(l.type){case 1:o.pseudoclassSelector(l.text,null),a.consume(),s?this.actions=Ee:this.actions=de;continue;case 6:switch(d=l.text,a.consume(),d){case"is":case"not":case"where":case"has":this.actions=et,o.startFuncWithSelector(d),this.runParser(Number.POSITIVE_INFINITY,!1,!1,!1,!0,d==="has")?this.actions=de:this.actions=Me;continue;case"lang":case"href-epub-type":if(l=a.token(),l.type===1){g=[l.text],a.consume(),d==="href-epub-type"&&a.token().type===16&&(a.consume(),l=a.token(),l.type===1&&(g.push(l.text),a.consume()));break}else break e;case"nth-child":case"nth-of-type":case"nth-last-child":case"nth-last-of-type":case"nth":if(g=this.readNthPseudoParams(),g)break;break e;default:g=this.readPseudoParams()}if(l=a.token(),l.type==11){o.pseudoclassSelector(d,g),a.consume(),s?this.actions=Ee:this.actions=de;continue}break}o.error("E_CSS_PSEUDOCLASS_SYNTAX",l),this.actions=ze;continue;case 58:l.precededBySpace&&o.descendantSelector();case 42:switch(a.consume(),l=a.token(),l.type){case 1:o.pseudoelementSelector(l.text,null),s?this.actions=Ee:this.actions=de,a.consume();continue;case 6:if(d=l.text,a.consume(),d=="nth-fragment"){if(g=this.readNthPseudoParams(),g===null)break}else g=this.readPseudoParams();if(l=a.token(),l.type==11){o.pseudoelementSelector(d,g),s?this.actions=Ee:this.actions=de,a.consume();continue}break}o.error("E_CSS_PSEUDOELEM_SYNTAX",l),this.actions=ze;continue;case 9:l.precededBySpace&&o.descendantSelector();case 10:if(a.consume(),l=a.token(),l.type==1)d=l.text,a.consume();else if(l.type==36)d=null,a.consume();else if(l.type==34)d="";else{this.actions=Me,o.error("E_CSS_ATTR",l),a.consume();continue}if(l=a.token(),l.type==34){if(p=d&&this.namespacePrefixToURI[d],p===void 0){this.actions=Me,o.error("E_CSS_UNDECLARED_PREFIX",l),a.consume();continue}if(a.consume(),l=a.token(),l.type!=1){this.actions=Me,o.error("E_CSS_ATTR_NAME_EXPECTED",l);continue}d=l.text,a.consume(),l=a.token()}else p="";switch(l.type){case 39:case 45:case 44:case 43:case 42:case 46:case 50:f=l.type,a.consume(),l=a.token();break;case 15:o.attributeSelector(p,d,0,null),s?this.actions=Ee:this.actions=de,a.consume();continue;default:this.actions=Me,o.error("E_CSS_ATTR_OP_EXPECTED",l);continue}switch(l.type){case 1:case 2:o.attributeSelector(p,d,f,l.text),a.consume(),l=a.token();break;default:this.actions=Me,o.error("E_CSS_ATTR_VAL_EXPECTED",l);continue}if(l.type!=15){this.actions=Me,o.error("E_CSS_ATTR",l);continue}s?this.actions=Ee:this.actions=de,a.consume();continue;case 11:o.childSelector(),this.actions=at,a.consume();continue;case 12:o.adjacentSiblingSelector(),this.actions=at,a.consume();continue;case 56:o.followingSiblingSelector(),this.actions=at,a.consume();continue;case 13:this.regionRule?(this.ruleStack.push("-epubx-region"),this.regionRule=!1):this.pageRule?(this.ruleStack.push("page"),this.pageRule=!1,this.inStyleDeclaration=!0):(this.ruleStack.push("[selector]"),this.inStyleDeclaration=!0),o.startRuleBody(),this.actions=ke,a.consume();continue;case 41:o.nextSelector(),this.actions=et,a.consume();continue;case 15:h.push(B(l.text)),a.consume();continue;case 16:f=parseInt(l.text,16),h.push(new Rl(l.text)),a.consume();continue;case 17:h.push(new Ht(l.num)),a.consume();continue;case 18:h.push(new Jt(l.num)),a.consume();continue;case 19:h.push(new I(l.num,l.text)),a.consume();continue;case 20:h.push(new Fe(l.text)),a.consume();continue;case 21:h.push(new dt(Pe(l.text,this.baseURL))),a.consume();continue;case 57:h.push(new Al(l.text)),a.consume();continue;case 22:this.valStackReduce(",",l),h.push(","),a.consume();continue;case 23:h.push(rs),a.consume();continue;case 24:d=l.text.toLowerCase(),d=="-epubx-expr"||d=="env"?(this.actions=Oe,this.exprContext=0,h.push("{")):(h.push(d),h.push("("),this.errorBrackets.length>0&&this.errorBrackets.push(11)),a.consume();continue;case 25:this.valStackReduce(")",l),a.consume();continue;case 47:if(a.consume(),l=a.token(),c=a.nthToken(1),l.type==1&&l.text.toLowerCase()=="important"&&(c.type==17||c.type==0||c.type==13)){a.consume(),this.propImportant=!0;continue}this.exprError("E_CSS_SYNTAX",l);continue;case 54:switch(c=a.nthToken(1),c.type){case 4:case 3:case 5:if(!c.precededBySpace){a.consume();continue}}h.push(new Ai("+")),a.consume();continue;case 26:a.consume();case 48:m=this.valStackReduce(";",l),m&&this.propName&&o.property(this.propName,m,this.propImportant),this.actions=i?Wn:ke;continue;case 44:for(a.consume();h.length>0;){let y=h.length;if(m=this.valStackReduce(";",l),!m||h.length===y)break}return t?(this.result=m,!0):(this.propName&&m&&o.property(this.propName,m,this.propImportant),!0);case 31:if(c=a.nthToken(1),c.type==9)a.nthToken(2).type==10&&!a.nthToken(2).precededBySpace?(h.push(l.text,c.text,"("),a.consume()):(h.push(new Ae(o.getScope(),Ds(l.text,c.text))),this.actions=le),a.consume();else{if(this.exprContext==2||this.exprContext==3)l.text.toLowerCase()=="not"?(a.consume(),h.push(new Bo(o.getScope(),!0,c.text))):(l.text.toLowerCase()=="only"&&(a.consume(),l=c),h.push(new Bo(o.getScope(),!1,l.text)));else if(this.exprContext===4&&l.text.toLowerCase()==="not"&&h[h.length-1]!==ri&&h[h.length-1]!==oi&&(c.type===10||c.type===6)){h.push(-Pn),a.consume();continue}else h.push(new Ae(o.getScope(),l.text));this.actions=le}a.consume();continue;case 38:if(this.exprContext===4){h.push(this.readSupportsTest(l)),this.actions=le;continue}h.push(null,l.text,"("),a.consume();continue;case 32:h.push(new Be(o.getScope(),l.num)),a.consume(),this.actions=le;continue;case 33:d=l.text,d=="%"&&(this.propName&&this.propName.match(/height|^(top|bottom)$/)?d="vh":d="vw"),h.push(new fn(o.getScope(),l.num,d)),a.consume(),this.actions=le;continue;case 34:h.push(new Be(o.getScope(),l.text)),a.consume(),this.actions=le;continue;case 35:a.consume(),l=a.token(),l.type!=5||l.precededBySpace?this.exprError("E_CSS_SYNTAX",l):(h.push(new kl(o.getScope(),l.num)),a.consume(),this.actions=le);continue;case 36:h.push(-l.type),a.consume();continue;case 37:this.actions=Oe,this.exprStackReduce(l.type,l),h.push(l.type),a.consume();continue;case 45:l.text.toLowerCase()==="and"&&h[h.length-2]!==oi&&h[h.length-2]!==-Pn?(this.actions=Oe,this.exprStackReduce(ri,l),h.push(ri),a.consume()):l.text.toLowerCase()==="or"&&h[h.length-2]!==ri&&h[h.length-2]!==-Pn?(this.actions=Oe,this.exprStackReduce(oi,l),h.push(oi),a.consume()):this.exprError("E_CSS_SYNTAX",l);continue;case 39:this.exprStackReduce(l.type,l)&&(this.actions=Ce),a.consume();continue;case 43:this.exprStackReduce(11,l)&&(this.propName||this.exprContext==3?this.exprError("E_CSS_UNEXPECTED_BRC",l):(this.exprContext==1?o.startWhenRule(h.pop()):o.startMediaRule(h.pop()),this.ruleStack.push("media"),o.startRuleBody(),this.actions=ke)),a.consume();continue;case 49:if(this.exprStackReduce(11,l))return this.propName||this.exprContext!=3?(this.exprError("E_CSS_UNEXPECTED_SEMICOL",l),this.actions=ke,a.consume(),!1):(this.importCondition=h.pop(),this.importReady=!0,this.actions=ke,a.consume(),!1);a.consume();continue;case 40:if(this.exprContext===4){let y=this.readSupportsTest(l);if(y){h.push(y),this.actions=le;continue}}h.push(l.type),a.consume();continue;case 27:if(this.actions=ke,a.consume(),o.endRule(),this.inStyleDeclaration=!1,this.ruleStack.length)switch(this.ruleStack.pop(),this.ruleStack[this.ruleStack.length-1]){case"page":case"-epubx-page-master":case"-epubx-partition-group":this.inStyleDeclaration=!0}continue;case 30:switch(d=l.text.toLowerCase(),d){case"import":if(a.consume(),l=a.token(),l.type==2||l.type==8){if(this.importURL=l.text,a.consume(),l=a.token(),l.type==17||l.type==0)return this.importReady=!0,a.consume(),!1;this.propName=null,this.exprContext=3,this.actions=Oe,h.push("{");continue}o.error("E_CSS_IMPORT_SYNTAX",l),this.actions=ze;continue;case"namespace":switch(a.consume(),l=a.token(),l.type){case 1:if(d=l.text,a.consume(),l=a.token(),(l.type==2||l.type==8)&&a.nthToken(1).type==17){this.namespacePrefixToURI[d]=l.text,a.consume(),a.consume();continue}break;case 2:case 8:if(a.nthToken(1).type==17){this.defaultNamespaceURI=l.text,a.consume(),a.consume();continue}break}o.error("E_CSS_NAMESPACE_SYNTAX",l),this.actions=ze;continue;case"charset":if(a.consume(),l=a.token(),l.type==2&&a.nthToken(1).type==17){d=l.text.toLowerCase(),d!="utf-8"&&d!="utf-16"&&o.error(`E_CSS_UNEXPECTED_CHARSET ${d}`,l),a.consume(),a.consume();continue}o.error("E_CSS_CHARSET_SYNTAX",l),this.actions=ze;continue;case"font-face":case"-epubx-page-template":case"-epubx-define":case"-epubx-viewport":if(a.nthToken(1).type==12){switch(a.consume(),a.consume(),d){case"font-face":o.startFontFaceRule(),this.inStyleDeclaration=!0;break;case"-epubx-page-template":o.startPageTemplateRule();break;case"-epubx-define":o.startDefineRule(),this.inStyleDeclaration=!0;break;case"-epubx-viewport":o.startViewportRule(),this.inStyleDeclaration=!0;break}this.ruleStack.push(d),o.startRuleBody();continue}break;case"-adapt-footnote-area":switch(a.consume(),l=a.token(),l.type){case 12:a.consume(),o.startFootnoteRule(null),this.ruleStack.push(d),o.startRuleBody(),this.inStyleDeclaration=!0;continue;case 50:if(a.consume(),l=a.token(),l.type==1&&a.nthToken(1).type==12){d=l.text,a.consume(),a.consume(),o.startFootnoteRule(d),this.ruleStack.push("-adapt-footnote-area"),o.startRuleBody(),this.inStyleDeclaration=!0;continue}break}break;case"-epubx-region":a.consume(),o.startRegionRule(),this.regionRule=!0,this.actions=et;continue;case"page":a.consume(),o.startPageRule(),this.pageRule=!0,this.actions=at;continue;case"top-left-corner":case"top-left":case"top-center":case"top-right":case"top-right-corner":case"right-top":case"right-middle":case"right-bottom":case"bottom-right-corner":case"bottom-right":case"bottom-center":case"bottom-left":case"bottom-left-corner":case"left-bottom":case"left-middle":case"left-top":if(a.consume(),l=a.token(),l.type==12){a.consume(),o.startPageMarginBoxRule(d),this.ruleStack.push(d),o.startRuleBody(),this.inStyleDeclaration=!0;continue}break;case"-epubx-when":a.consume(),this.propName=null,this.exprContext=1,this.actions=Oe,h.push("{");continue;case"media":a.consume(),this.propName=null,this.exprContext=2,this.actions=Oe,h.push("{");continue;case"supports":a.consume(),this.propName=null,this.exprContext=4,this.actions=Oe,h.push("{");continue;case"-epubx-flow":if(a.nthToken(1).type==1&&a.nthToken(2).type==12){o.startFlowRule(a.nthToken(1).text),a.consume(),a.consume(),a.consume(),this.ruleStack.push(d),o.startRuleBody(),this.inStyleDeclaration=!0;continue}break;case"-epubx-page-master":case"-epubx-partition":case"-epubx-partition-group":{a.consume(),l=a.token();let y=null,b=null,S=[];for(l.type==1&&(y=l.text,a.consume(),l=a.token()),l.type==18&&a.nthToken(1).type==1&&(b=a.nthToken(1).text,a.consume(),a.consume(),l=a.token());l.type==6&&l.text.toLowerCase()=="class"&&a.nthToken(1).type==1&&a.nthToken(2).type==11;)S.push(a.nthToken(1).text),a.consume(),a.consume(),a.consume(),l=a.token();if(l.type==12){switch(a.consume(),d){case"-epubx-page-master":o.startPageMasterRule(y,b,S);break;case"-epubx-partition":o.startPartitionRule(y,b,S);break;case"-epubx-partition-group":o.startPartitionGroupRule(y,b,S);break}this.ruleStack.push(d),o.startRuleBody(),this.inStyleDeclaration=!0;continue}break}case"":o.error(`E_CSS_UNEXPECTED_AT${d}`,l),this.actions=Me;continue;default:o.error(`E_CSS_AT_UNKNOWN ${d}`,l),this.actions=ze;continue}o.error(`E_CSS_AT_SYNTAX ${d}`,l),this.actions=ze;continue;case 50:this.errorBrackets.push(l.type+1),a.consume();continue;case 52:if(this.errorBrackets.length==0){this.actions=ke;continue}case 51:if(s&&this.errorBrackets.length==0&&l.type==11)return a.consume(),o.endFuncWithSelector(),!0;this.errorBrackets.length>0&&this.errorBrackets[this.errorBrackets.length-1]==l.type&&this.errorBrackets.pop(),this.errorBrackets.length==0&&l.type==13&&(this.actions=ke),a.consume();continue;case 53:this.errorBrackets.length==0&&(this.actions=ke),a.consume();continue;case 200:return!0;default:if(n)return this.exprStackReduce(11,l)?(this.result=h.pop(),!0):!1;if(s){switch(l.type){case 16:case 11:if(this.actions===et)o.error("E_CSS_SYNTAX",l);else{let y=a.input.substring(w,l.position);o.pushSelectorText(y),w=l.position+1}if(l.type===16){o.nextSelector(),this.actions=et,a.consume();continue}else return o.endFuncWithSelector(),a.consume(),!0;case 37:case 23:case 35:if(r){this.actions=de;continue}break;case 12:case 14:case 10:this.errorBrackets.push(l.type+1);break}o.error("E_CSS_SYNTAX",l),a.consume(),this.actions=Me;continue}if(this.actions!==ze&&this.actions!==Me&&this.actions!==Xe){if(l.type==54)o.error("E_CSS_SYNTAX",l);else if(this.actions===Ce){switch(l.type){case 10:case 12:case 14:this.errorBrackets.push(l.type+1);break}h.push(new Ai(l.toString())),a.consume();continue}else if(l.type===12&&this.actions==Oe&&h.length>0){o.startMediaRule(h.pop()),this.ruleStack.push("media"),o.startRuleBody(),this.actions=ke,a.consume();continue}else{if(l.type===17&&this.actions==Oe)return this.actions=ke,a.consume(),!1;o.error("E_CSS_SYNTAX",l)}this.isInsidePropertyOnlyRule()?this.actions=Xe:this.actions=Me;continue}a.consume();continue}}return!1}},eh=class extends Hr{constructor(e){super(null),this.scope=e}error(e,t){H.warn(e,t.toString())}getScope(){return this.scope}};function cp(e,t,i,n,s){let r=F("parseStylesheet"),o=new vn(ke,e,t,i),a=null;return s&&(a=pp(new gt(s,t),t,i)),a=o.makeCondition(n,a&&a.toExpr()),a&&(t.startMediaRule(a),t.startRuleBody()),r.loop(()=>{for(;!o.runParser(100,!1,!1,!1,!1);){if(o.importReady){let l=Pe(o.importURL,i);o.importCondition&&(t.startMediaRule(o.importCondition),t.startRuleBody());let c=F("parseStylesheet.import");return th(l,t,null,null).then(()=>{o.importCondition&&t.endRule(),o.importReady=!1,o.importURL=null,o.importCondition=null,c.finish(!0)}),c.result()}let h=r.timeSlice();if(h.isPending)return h}return k(!1)}).then(()=>{a&&t.endRule(),r.finish(!0)}),r.result()}function Ur(e,t,i,n,s){return yi("parseStylesheetFromText",r=>{let o=new gt(e,t);cp(o,t,i,n,s).thenFinish(r)},(r,o)=>{H.warn(o,`Failed to parse stylesheet text: ${e}`),r.finish(!1)})}function th(e,t,i,n){return yi("parseStylesheetFromURL",s=>{hs(e).then(r=>{r.responseText?Ur(r.responseText,t,e,i,n).then(o=>{o||H.warn(`Failed to parse stylesheet from ${e}`),s.finish(!0)}):s.finish(!0)})},(s,r)=>{H.warn(r,"Exception while fetching and parsing:",e),s.finish(!0)})}function Pi(e,t,i){let n=new vn(Ce,t,new eh(e),i);return n.runParser(Number.POSITIVE_INFINITY,!0,!1,!1,!1),n.result}function dp(e,t,i){new vn(Wn,e,t,i).runParser(Number.POSITIVE_INFINITY,!1,!0,!1,!1)}function pp(e,t,i){let n=new vn(Oe,e,t,i);return n.runParser(Number.POSITIVE_INFINITY,!1,!1,!0,!1),n.result}var fp={"z-index":!0,"column-count":!0,"flow-linger":!0,opacity:!0,page:!0,"flow-priority":!0,utilization:!0};function gp(e){return!!fp[e]}function mp(e,t,i){let n=t.evaluate(e);switch(typeof n){case"number":return gp(i)?n==Math.round(n)?new Jt(n):new Ht(n):new I(n,"px");case"string":return n?Pi(t.scope,new gt(n,null),""):G;case"boolean":return n?v._true:v._false;case"undefined":return G}throw new Error("E_UNEXPECTED")}function ih(e,t){let i={};return Object.keys(e).forEach(n=>{let s=i[n]={},r=e[n];Object.keys(r).forEach(o=>{s[o]=r[o].map(a=>{let h=t?a.logical:a.physical,l=t?a.physical:a.logical;return{regexp:new RegExp(`(-?)${h}(-?)`),to:`$1${l}$2`}})})}),i}function nh(e,t,i,n){let s=n[t];if(!s)throw new Error(`unknown writing-mode: ${t}`);let r=s[i||"ltr"];if(!r)throw new Error(`unknown direction: ${i}`);for(let o of r){let a=e.replace(o.regexp,o.to);if(a!==e)return a}return e}var sh={"horizontal-tb":{ltr:[{logical:"inline-start",physical:"left"},{logical:"inline-end",physical:"right"},{logical:"block-start",physical:"top"},{logical:"block-end",physical:"bottom"},{logical:"inline-size",physical:"width"},{logical:"block-size",physical:"height"}],rtl:[{logical:"inline-start",physical:"right"},{logical:"inline-end",physical:"left"},{logical:"block-start",physical:"top"},{logical:"block-end",physical:"bottom"},{logical:"inline-size",physical:"width"},{logical:"block-size",physical:"height"}]},"vertical-rl":{ltr:[{logical:"inline-start",physical:"top"},{logical:"inline-end",physical:"bottom"},{logical:"block-start",physical:"right"},{logical:"block-end",physical:"left"},{logical:"inline-size",physical:"height"},{logical:"block-size",physical:"width"}],rtl:[{logical:"inline-start",physical:"bottom"},{logical:"inline-end",physical:"top"},{logical:"block-start",physical:"right"},{logical:"block-end",physical:"left"},{logical:"inline-size",physical:"height"},{logical:"block-size",physical:"width"}]},"vertical-lr":{ltr:[{logical:"inline-start",physical:"top"},{logical:"inline-end",physical:"bottom"},{logical:"block-start",physical:"left"},{logical:"block-end",physical:"right"},{logical:"inline-size",physical:"height"},{logical:"block-size",physical:"width"}],rtl:[{logical:"inline-start",physical:"bottom"},{logical:"inline-end",physical:"top"},{logical:"block-start",physical:"left"},{logical:"block-end",physical:"right"},{logical:"inline-size",physical:"height"},{logical:"block-size",physical:"width"}]}},wp=ih(sh,!0);function rh(e,t,i){return nh(e,t,i||null,wp)}var bp=ih(sh,!1);function oh(e,t,i){return nh(e,t,i||null,bp)}var vp={"horizontal-tb":[{logical:"line-left",physical:"left"},{logical:"line-right",physical:"right"},{logical:"over",physical:"top"},{logical:"under",physical:"bottom"}],"vertical-rl":[{logical:"line-left",physical:"top"},{logical:"line-right",physical:"bottom"},{logical:"over",physical:"right"},{logical:"under",physical:"left"}],"vertical-lr":[{logical:"line-left",physical:"top"},{logical:"line-right",physical:"bottom"},{logical:"over",physical:"right"},{logical:"under",physical:"left"}]};function yp(e,t){let i=vp[t];if(!i)throw new Error(`unknown writing-mode: ${t}`);for(let n=0;n<i.length;n++)if(i[n].physical===e)return i[n].logical;return e}function $r(e,t,i){var n;let s=t,r={width:s.style.width,height:s.style.height};function o(d){return e.getElementComputedStyle(t).getPropertyValue(d)}let a=o("writing-mode")!=="horizontal-tb",h=a?"height":"width",l=a?"width":"height";function c(d,f){s.style[d]=f;let m=o(d);return s.style[d]=r[d],m}let p={};for(let d of i){let f;switch(d){case"max-content inline size":f=c(h,"max-content");break;case"min-content inline size":f=c(h,"min-content");break;case"fit-content inline size":f=c(h,"fit-content");break;case"max-content block size":f=c(l,"max-content");break;case"min-content block size":f=c(l,"min-content");break;case"fit-content block size":f=c(l,"fit-content");break;case"max-content width":f=c("width","max-content");break;case"max-content height":f=c("height","max-content");break;case"min-content width":f=c("width","min-content");break;case"min-content height":f=c("height","min-content");break;case"fit-content width":f=c("width","fit-content");break;case"fit-content height":f=c("height","fit-content");break}f==="0px"&&t.childNodes.length===1&&((n=t.firstElementChild)==null?void 0:n.localName)==="img"&&!t.firstElementChild.complete&&(f="1px"),p[d]=parseFloat(f)}return p}function _i(e){var t,i;return((t=e?.style)==null?void 0:t["box-decoration-break"])==="clone"||((i=e?.style)==null?void 0:i["-webkit-box-decoration-break"])==="clone"}function ah(e){let t=e.getAttribute("data-viv-box-break");return t?t.split(" "):[]}function lh(e,t){e.setAttribute("data-viv-box-break",t.join(" "))}function st(e,t){let i=ah(e);i.includes(t)||(i.push(t),lh(e,i))}function xp(e){let t=e.getAttribute("data-viv-margin-discard");return t?t.split(" "):[]}function Sp(e,t){e.setAttribute("data-viv-margin-discard",t.join(" "))}function Rs(e,t){let i=xp(e);i.includes(t)||(i.push(t),Sp(e,i))}function Cp(e){let t=e.name,i=e.value;switch(t){case"page-break-before":case"page-break-after":case"page-break-inside":return{name:t.replace(/^page-/,""),value:i===v.always?v.page:i,important:e.important};default:return e}}var Zs={page:!0,left:!0,right:!0,recto:!0,verso:!0,column:!0,region:!0};function Ke(e){return!!Zs[e]}var Ep={left:!0,right:!0,recto:!0,verso:!0};function sn(e){return!!Ep[e]}var kp={avoid:!0,"avoid-page":!0,"avoid-column":!0,"avoid-region":!0};function jn(e){return!!kp[e]}function qe(e,t){if(e)if(t){if(sn(t))return t;if(sn(e))return e;{let i=Ke(e),n=Ke(t);if(i&&n)switch(t){case"column":return e;case"region":return e==="column"?t:e;default:return t}else return n?t:i?e:jn(t)?t:jn(e)?e:t}}else return e;else return t}function Zo(e){return Ke(e)?e:"auto"}ut("SIMPLE_PROPERTY",Cp);var ji=xc(Cc());function Np(e,t){return(0,ji.default)(e,t,0)}function Ko(e){return e.reduce((t,i)=>i[0]===ji.default.DELETE?t:t+i[1],"")}function Pp(e,t){return hh(e,t,1)}function Tp(e,t){return hh(e,t,-1)}function hh(e,t,i){let n=0,s=0;return e.some(r=>{for(let o=0;o<r[1].length;o++){switch(r[0]*i){case ji.default.INSERT:n++;break;case ji.default.DELETE:n--,s++;break;case ji.default.EQUAL:s++;break}if(s>t)return!0}return!1}),Math.max(Math.min(t,s-1)+n,0)}var Ks;(e=>{function t(i){return i&&i.formattingContextType==="Block"}e.isInstanceOfBlockFormattingContext=t})(Ks||(Ks={}));var fi;(e=>{let t;(i=>(i.INLINE="inline",i.COLUMN="column",i.REGION="region",i.PAGE="page"))(t=e.FloatReference||(e.FloatReference={}))})(fi||(fi={}));var Xn;(e=>{function t(i){return i&&i.flagmentLayoutConstraintType=="AfterIfContinue"}e.isInstanceOfAfterIfContinuesLayoutConstraint=t})(Xn||(Xn={}));var qt;(e=>{function t(n){return n?n.formattingContextType==="RepetitiveElementsOwner"||Mt.isInstanceOfTableFormattingContext(n):!1}e.isInstanceOfRepetitiveElementsOwnerFormattingContext=t;function i(n){return n?n.flagmentLayoutConstraintType==="RepetitiveElementsOwner"||Mt.isInstanceOfTableRowLayoutConstraint(n):!1}e.isInstanceOfRepetitiveElementsOwnerLayoutConstraint=i})(qt||(qt={}));var Mt;(e=>{function t(n){return n&&n.formattingContextType==="Table"}e.isInstanceOfTableFormattingContext=t;function i(n){return n&&n.flagmentLayoutConstraintType==="TableRow"}e.isInstanceOfTableRowLayoutConstraint=i})(Mt||(Mt={}));var Nt;(e=>{let t;(n=>(n[n.IGNORE=0]="IGNORE",n[n.NEWLINE=1]="NEWLINE",n[n.PRESERVE=2]="PRESERVE"))(t=e.Whitespace||(e.Whitespace={}));let i;(n=>(n[n.NONE=0]="NONE",n[n.CONTENT=1]="CONTENT",n[n.ROOTLESS=2]="ROOTLESS",n[n.ROOTED=3]="ROOTED"))(i=e.ShadowType||(e.ShadowType={}))})(Nt||(Nt={}));var Ip={transform:!0,"transform-origin":!0},Rp={top:!0,bottom:!0,left:!0,right:!0},Gr=class{constructor(e,t,i){this.target=e,this.name=t,this.value=i}},Ap={show:function(e){e.style.visibility="visible"},hide:function(e){e.style.visibility="hidden"},play:function(e){e.currentTime=0,e.play()},pause:function(e){e.pause()},resume:function(e){e.play()},mute:function(e){e.muted=!0},unmute:function(e){e.muted=!1}};function Lp(e,t){let i=Ap[t];return i?()=>{for(let n=0;n<e.length;n++)try{i(e[n])}catch{}}:null}var Js=class Mi extends Lr{constructor(t,i){super(),this.container=t,this.bleedBox=i,u(this,"pageAreaElement",null),u(this,"delayedItems",[]),u(this,"hrefHandler"),u(this,"elementsById",{}),u(this,"dimensions",{width:0,height:0}),u(this,"isFirstPage",!1),u(this,"isLastPage",!1),u(this,"isBlankPage",!1),u(this,"isAutoPageWidth",!0),u(this,"isAutoPageHeight",!0),u(this,"spineIndex",0),u(this,"position",null),u(this,"offset",-1),u(this,"side",null),u(this,"fetchers",[]),u(this,"marginBoxes",{top:{},bottom:{},left:{},right:{}}),u(this,"pageType",null),this.hrefHandler=n=>{let s=n.currentTarget,r=s.getAttribute("href")||s.getAttributeNS("http://www.w3.org/1999/xlink","href");if(r){let o={type:"hyperlink",target:null,currentTarget:null,anchorElement:s,href:r,preventDefault(){n.preventDefault()}};this.dispatchEvent(o)}}}setAutoPageWidth(t){this.isAutoPageWidth=t,t?this.container.setAttribute(Mi.AUTO_PAGE_WIDTH_ATTRIBUTE,"true"):this.container.removeAttribute(Mi.AUTO_PAGE_WIDTH_ATTRIBUTE)}setAutoPageHeight(t){this.isAutoPageHeight=t,t?this.container.setAttribute(Mi.AUTO_PAGE_HEIGHT_ATTRIBUTE,"true"):this.container.removeAttribute(Mi.AUTO_PAGE_HEIGHT_ATTRIBUTE)}registerElementWithId(t,i){let n=this.elementsById[i];n?n.push(t):this.elementsById[i]=[t]}finish(t,i){Object.keys(this.elementsById).forEach(r=>{let o=this.elementsById[r];for(let a=0;a<o.length;)this.container.contains(o[a])?a++:o.splice(a,1);o.length===0&&delete this.elementsById[r]});let n=this.delayedItems;for(let r=0;r<n.length;r++){let o=n[r];o.target===this.container&&o.name==="transform"&&!this.isAutoPageWidth&&!this.isAutoPageHeight||N(o.target,o.name,o.value.toString())}let s=i.getElementClientRect(this.container);this.dimensions.width=s.width,this.dimensions.height=s.height;for(let r=0;r<t.length;r++){let o=t[r],a=this.elementsById[o.ref],h=this.elementsById[o.observer];if(a&&h){let l=Lp(a,o.action);if(l)for(let c=0;c<h.length;c++)h[c].addEventListener(o.event,l,!1)}}}};u(Js,"AUTO_PAGE_WIDTH_ATTRIBUTE","data-vivliostyle-auto-page-width"),u(Js,"AUTO_PAGE_HEIGHT_ATTRIBUTE","data-vivliostyle-auto-page-height");var uh=Js,xi="data-adapt-spec",Je=Nt.Whitespace;function ch(e){switch(e){case"normal":case"nowrap":return Je.IGNORE;case"pre-line":return Je.NEWLINE;case"pre":case"pre-wrap":case"break-spaces":return Je.PRESERVE;default:return null}}function Ve(e,t){if(!e)return!0;if(e.nodeType==1)return!1;let i=e.textContent;switch(t){case Je.PRESERVE:return i.length==0;case Je.NEWLINE:return!!i.match(/^[ \t]*$/);case Je.IGNORE:default:return!!i.match(/^[ \t\r\n\f]*$/)}}var Fp=class{constructor(e,t){this.flowName=e,this.parentFlowName=t,u(this,"forcedBreakOffsets",[]),u(this,"formattingContext",null)}},Op=class{constructor(e,t,i,n,s,r,o,a,h){this.flowName=e,this.element=t,this.startOffset=i,this.priority=n,this.linger=s,this.exclusive=r,this.repeated=o,this.last=a,this.breakBefore=h,u(this,"startPage",-1)}isBetter(e){return this.exclusive?!e.exclusive||this.priority>e.priority?!0:this.last:!1}};function Bp(e,t){return e.top-t.top}function _p(e,t){return t.right-e.right}function dh(e,t){var i,n;return e===t?!0:!e||!t?!1:(e.node===t.node||!!e.shadowContext&&!!t.shadowContext&&e.shadowType===Nt.ShadowType.ROOTLESS&&t.shadowType===Nt.ShadowType.ROOTLESS&&((i=e.node)==null?void 0:i.outerHTML)===((n=t.node)==null?void 0:n.outerHTML))&&e.shadowType===t.shadowType&&er(e.shadowContext,t.shadowContext)&&er(e.nodeShadow,t.nodeShadow)&&dh(e.shadowSibling,t.shadowSibling)}function zt(e,t){if(e===t)return!0;if(!e||!t||e.offsetInNode!==t.offsetInNode||e.after!==t.after||e.steps.length!==t.steps.length)return!1;for(let i=0;i<e.steps.length;i++)if(!dh(e.steps[i],t.steps[i]))return!1;return!0}function Mp(e){return{steps:[{node:e,shadowType:ot.NONE,shadowContext:null,nodeShadow:null,shadowSibling:null,formattingContext:null,fragmentIndex:0}],offsetInNode:0,after:!1,preprocessedTextContent:null}}function qn(e,t){return{steps:[{node:e.sourceNode,shadowType:ot.NONE,shadowContext:e.shadowContext,nodeShadow:null,shadowSibling:null,formattingContext:null,fragmentIndex:t??e.fragmentIndex}],offsetInNode:0,after:!1,preprocessedTextContent:e.preprocessedTextContent}}function Yn(e,t){let i=new zi(e.node,t,0);return i.shadowType=e.shadowType,i.shadowContext=e.shadowContext,i.nodeShadow=e.nodeShadow,i.shadowSibling=e.shadowSibling?Yn(e.shadowSibling,t.copy()):null,i.formattingContext=e.formattingContext,i.fragmentIndex=e.fragmentIndex+1,i}var ot=Nt.ShadowType,Qs=class{constructor(e,t,i,n,s,r,o){this.owner=e,this.root=t,this.xmldoc=i,this.parentShadow=n,this.type=r,this.styler=o,u(this,"subShadow",null),s&&(s.subShadow=this)}equals(e){return e?this.owner===e.owner&&this.xmldoc===e.xmldoc&&this.type===e.type&&er(this.parentShadow,e.parentShadow):!1}};function er(e,t){return e===t||!!e&&!!t&&e.equals(t)}var zp=class{constructor(e,t){this.outer=e,this.count=t}},zi=class ph{constructor(t,i,n){this.sourceNode=t,this.parent=i,this.boxOffset=n,u(this,"offsetInNode",0),u(this,"after",!1),u(this,"shadowType"),u(this,"shadowContext"),u(this,"nodeShadow",null),u(this,"shadowSibling",null),u(this,"shared",!1),u(this,"inline",!0),u(this,"overflow",!1),u(this,"breakPenalty"),u(this,"display",null),u(this,"floatReference"),u(this,"floatSide",null),u(this,"clearSide",null),u(this,"floatMinWrapBlock",null),u(this,"columnSpan",null),u(this,"verticalAlign","baseline"),u(this,"captionSide","top"),u(this,"inlineBorderSpacing",0),u(this,"blockBorderSpacing",0),u(this,"flexContainer",!1),u(this,"whitespace"),u(this,"hyphenateCharacter"),u(this,"breakWord"),u(this,"establishesBFC",!1),u(this,"containingBlockForAbsolute",!1),u(this,"breakBefore",null),u(this,"breakAfter",null),u(this,"viewNode",null),u(this,"clearSpacer",null),u(this,"inheritedProps"),u(this,"vertical"),u(this,"direction"),u(this,"firstPseudo"),u(this,"lang",null),u(this,"preprocessedTextContent",null),u(this,"formattingContext"),u(this,"repeatOnBreak",null),u(this,"pluginProps",{}),u(this,"fragmentIndex",1),u(this,"afterIfContinues",null),u(this,"footnotePolicy",null),u(this,"pageType"),this.shadowType=ot.NONE,this.shadowContext=i?i.shadowContext:null,this.breakPenalty=i?i.breakPenalty:0,this.floatReference=fi.FloatReference.INLINE,this.whitespace=i?i.whitespace:Je.IGNORE,this.hyphenateCharacter=i?i.hyphenateCharacter:null,this.breakWord=i?i.breakWord:!1,this.inheritedProps=i?i.inheritedProps:{},this.vertical=i?i.vertical:!1,this.direction=i?i.direction:"ltr",this.firstPseudo=i?i.firstPseudo:null,this.formattingContext=i?i.formattingContext:null,this.pageType=i?i.pageType:null}resetView(){this.inline=!0,this.breakPenalty=this.parent?this.parent.breakPenalty:0,this.viewNode=null,this.clearSpacer=null,this.offsetInNode=0,this.after=!1,this.display=null,this.floatReference=fi.FloatReference.INLINE,this.floatSide=null,this.clearSide=null,this.floatMinWrapBlock=null,this.columnSpan=null,this.verticalAlign="baseline",this.flexContainer=!1,this.whitespace=this.parent?this.parent.whitespace:Je.IGNORE,this.hyphenateCharacter=this.parent?this.parent.hyphenateCharacter:null,this.breakWord=this.parent?this.parent.breakWord:!1,this.breakBefore=null,this.breakAfter=null,this.nodeShadow=null,this.establishesBFC=!1,this.containingBlockForAbsolute=!1,this.vertical=this.parent?this.parent.vertical:!1,this.nodeShadow=null,this.preprocessedTextContent=null,this.formattingContext=this.parent?this.parent.formattingContext:null,this.repeatOnBreak=null,this.pluginProps={},this.fragmentIndex=1,this.afterIfContinues=null,this.footnotePolicy=null}cloneItem(){let t=new ph(this.sourceNode,this.parent,this.boxOffset);return t.offsetInNode=this.offsetInNode,t.after=this.after,t.nodeShadow=this.nodeShadow,t.shadowType=this.shadowType,t.shadowContext=this.shadowContext,t.shadowSibling=this.shadowSibling,t.inline=this.inline,t.breakPenalty=this.breakPenalty,t.display=this.display,t.floatReference=this.floatReference,t.floatSide=this.floatSide,t.clearSide=this.clearSide,t.floatMinWrapBlock=this.floatMinWrapBlock,t.columnSpan=this.columnSpan,t.verticalAlign=this.verticalAlign,t.captionSide=this.captionSide,t.inlineBorderSpacing=this.inlineBorderSpacing,t.blockBorderSpacing=this.blockBorderSpacing,t.establishesBFC=this.establishesBFC,t.containingBlockForAbsolute=this.containingBlockForAbsolute,t.flexContainer=this.flexContainer,t.whitespace=this.whitespace,t.hyphenateCharacter=this.hyphenateCharacter,t.breakWord=this.breakWord,t.breakBefore=this.breakBefore,t.breakAfter=this.breakAfter,t.viewNode=this.viewNode,t.clearSpacer=this.clearSpacer,t.firstPseudo=this.firstPseudo,t.vertical=this.vertical,t.overflow=this.overflow,t.preprocessedTextContent=this.preprocessedTextContent,t.formattingContext=this.formattingContext,t.repeatOnBreak=this.repeatOnBreak,t.pluginProps=Object.create(this.pluginProps),t.fragmentIndex=this.fragmentIndex,t.afterIfContinues=this.afterIfContinues,t.footnotePolicy=this.footnotePolicy,t}modify(){return this.shared?this.cloneItem():this}copy(){let t=this;do{if(t.shared)break;t.shared=!0,t=t.parent}while(t);return this}clone(){let t=this.cloneItem(),i=t,n;for(;(n=i.parent)!=null;)n=n.cloneItem(),i.parent=n,i=n;return t}toNodePositionStep(){var t;return{node:this.sourceNode,shadowType:this.shadowType,shadowContext:this.shadowContext,nodeShadow:this.nodeShadow,shadowSibling:this.shadowSibling?this.shadowSibling.toNodePositionStep():null,formattingContext:this.formattingContext,fragmentIndex:((t=this.viewNode)==null?void 0:t.parentNode)===null?0:this.fragmentIndex}}toNodePosition(){var t,i,n;let s=this,r=[];s.shadowType===Nt.ShadowType.ROOTLESS&&(s.floatReference!==fi.FloatReference.INLINE||s.floatSide==="footnote")&&(n=(i=(t=s.shadowContext)==null?void 0:t.styler)==null?void 0:i.style)!=null&&n._pseudos&&(s=s.parent);do(!s.firstPseudo||!s.parent||s.parent.firstPseudo===s.firstPseudo)&&r.push(s.toNodePositionStep()),s=s.parent;while(s);let o=this.preprocessedTextContent?Tp(this.preprocessedTextContent,this.offsetInNode):this.offsetInNode;return{steps:r,offsetInNode:o,after:this.after,preprocessedTextContent:this.preprocessedTextContent}}isInsideBFC(){let t=this.parent;for(;t;){if(t.establishesBFC)return!0;t=t.parent}return!1}getContainingBlockForAbsolute(){let t=this.parent;for(;t;){if(t.containingBlockForAbsolute)return t;t=t.parent}return null}belongsTo(t){return this.formattingContext===t&&!!this.parent&&this.parent.formattingContext===t}},Dt=class fh{constructor(t){this.primary=t,u(this,"floats",null)}clone(){let t=new fh(this.primary);if(this.floats){t.floats=[];for(let i=0;i<this.floats.length;++i)t.floats[i]=this.floats[i]}return t}isSamePosition(t){if(!t)return!1;if(this===t)return!0;if(!zt(this.primary,t.primary))return!1;if(this.floats){if(!t.floats||this.floats.length!==t.floats.length)return!1;for(let i=0;i<this.floats.length;i++)if(!zt(this.floats[i],t.floats[i]))return!1}else if(t.floats)return!1;return!0}},Dp=class gh{constructor(t,i){this.chunkPosition=t,this.flowChunk=i}clone(){return new gh(this.chunkPosition.clone(),this.flowChunk)}isSamePosition(t){return!!t&&(this===t||this.chunkPosition.isSamePosition(t.chunkPosition))}},Vp=class mh{constructor(){u(this,"positions",[]),u(this,"startBreakType",null),u(this,"breakAfter",null)}clone(){let t=new mh,i=this.positions,n=t.positions;for(let s=0;s<i.length;s++)n[s]=i[s].clone();return t.startBreakType=this.startBreakType,t.breakAfter=this.breakAfter,t}isSamePosition(t){if(this===t)return!0;if(!t||this.positions.length!==t.positions.length)return!1;for(let i=0;i<this.positions.length;i++)if(!this.positions[i].isSamePosition(t.positions[i]))return!1;return!0}hasContent(t){return this.positions.length>0&&this.positions[0].flowChunk.startOffset<=t}},Hp=class wh{constructor(){u(this,"page",0),u(this,"flows",{}),u(this,"flowPositions",{}),u(this,"isBlankPage",!1),u(this,"highestSeenOffset",0),u(this,"highestSeenNode"),u(this,"lookupPositionOffset")}clone(){let t=new wh;t.page=this.page,t.isBlankPage=this.isBlankPage,t.highestSeenNode=this.highestSeenNode,t.highestSeenOffset=this.highestSeenOffset,t.lookupPositionOffset=this.lookupPositionOffset,t.flows=this.flows;for(let i in this.flowPositions)t.flowPositions[i]=this.flowPositions[i].clone();return t}isSamePosition(t){if(this===t)return!0;if(!t||this.page!==t.page)return!1;let i=Object.keys(this.flowPositions),n=Object.keys(t.flowPositions);if(i.length!==n.length)return!1;for(let s of i)if(!this.flowPositions[s].isSamePosition(t.flowPositions[s]))return!1;return!0}hasContent(t,i){let n=this.flowPositions[t];return n?n.hasContent(i):!1}startSideOfFlow(t){var i;let n=(i=this.flowPositions[t])==null?void 0:i.startBreakType;return n&&sn(n)?n:"any"}firstFlowChunkOfFlow(t){let i=this.flowPositions[t];if(!i)return null;let n=i.positions[0];return n?n.flowChunk:null}},bh=class{constructor(e){this.element=e,u(this,"left",0),u(this,"top",0),u(this,"marginLeft",0),u(this,"marginRight",0),u(this,"marginTop",0),u(this,"marginBottom",0),u(this,"borderLeft",0),u(this,"borderRight",0),u(this,"borderTop",0),u(this,"borderBottom",0),u(this,"paddingLeft",0),u(this,"paddingRight",0),u(this,"paddingTop",0),u(this,"paddingBottom",0),u(this,"width",0),u(this,"height",0),u(this,"originX",0),u(this,"originY",0),u(this,"exclusions",null),u(this,"innerShape",null),u(this,"computedBlockSize",0),u(this,"snapWidth",0),u(this,"snapHeight",0),u(this,"snapOffsetX",0),u(this,"snapOffsetY",0),u(this,"vertical",!1),u(this,"rtl",!1),u(this,"borderBoxSizing",!1)}getInsetTop(){return this.marginTop+(this.borderBoxSizing?0:this.borderTop+this.paddingTop)}getInsetBottom(){return this.marginBottom+(this.borderBoxSizing?0:this.borderBottom+this.paddingBottom)}getInsetLeft(){return this.marginLeft+(this.borderBoxSizing?0:this.borderLeft+this.paddingLeft)}getInsetRight(){return this.marginRight+(this.borderBoxSizing?0:this.borderRight+this.paddingRight)}getInsetBefore(){return this.vertical?this.getInsetRight():this.getInsetTop()}getInsetAfter(){return this.vertical?this.getInsetLeft():this.getInsetBottom()}getInsetStart(){return this.vertical?this.getInsetTop():this.getInsetLeft()}getInsetEnd(){return this.vertical?this.getInsetBottom():this.getInsetRight()}getBeforeEdge(e){return this.vertical?e.right:e.top}getAfterEdge(e){return this.vertical?e.left:e.bottom}getStartEdge(e){return this.vertical?this.rtl?e.bottom:e.top:this.rtl?e.right:e.left}getEndEdge(e){return this.vertical?this.rtl?e.top:e.bottom:this.rtl?e.left:e.right}getInlineSize(e){return this.vertical?e.bottom-e.top:e.right-e.left}getBoxSize(e){return this.vertical?e.right-e.left:e.bottom-e.top}getBoxDir(){return this.vertical?-1:1}getInlineDir(){return this.rtl?-1:1}copyFrom(e){this.element=e.element,this.left=e.left,this.top=e.top,this.marginLeft=e.marginLeft,this.marginRight=e.marginRight,this.marginTop=e.marginTop,this.marginBottom=e.marginBottom,this.borderLeft=e.borderLeft,this.borderRight=e.borderRight,this.borderTop=e.borderTop,this.borderBottom=e.borderBottom,this.paddingLeft=e.paddingLeft,this.paddingRight=e.paddingRight,this.paddingTop=e.paddingTop,this.paddingBottom=e.paddingBottom,this.width=e.width,this.height=e.height,this.originX=e.originX,this.originY=e.originY,this.innerShape=e.innerShape,this.exclusions=e.exclusions,this.computedBlockSize=e.computedBlockSize,this.snapWidth=e.snapWidth,this.snapHeight=e.snapHeight,this.vertical=e.vertical,this.rtl=e.rtl,this.borderBoxSizing=e.borderBoxSizing}setVerticalPosition(e,t){this.top=e,this.height=t,N(this.element,"top",`${e}px`),N(this.element,"height",`${t}px`)}setHorizontalPosition(e,t){this.left=e,this.width=t,N(this.element,"left",`${e}px`),N(this.element,"width",`${t}px`)}setBlockPosition(e,t){if(this.vertical){let i=t+this.marginLeft+this.marginRight+(this.borderBoxSizing?0:this.paddingLeft+this.paddingRight+this.borderLeft+this.borderRight);this.setHorizontalPosition(e+i*this.getBoxDir(),t)}else this.setVerticalPosition(e,t)}setInlinePosition(e,t){if(this.vertical)if(this.rtl){let i=t+this.marginTop+this.marginBottom+(this.borderBoxSizing?0:this.paddingTop+this.paddingBottom+this.borderTop+this.borderBottom);this.setVerticalPosition(e+i*this.getInlineDir(),t)}else this.setVerticalPosition(e,t);else if(this.rtl){let i=t+this.marginLeft+this.marginRight+(this.borderBoxSizing?0:this.paddingLeft+this.paddingRight+this.borderLeft+this.borderRight);this.setHorizontalPosition(e+i*this.getInlineDir(),t)}else this.setHorizontalPosition(e,t)}clear(){let e=this.element,t;for(;t=e.lastChild;)e.removeChild(t)}getInnerShape(){let e=this.getInnerRect();return this.innerShape?this.innerShape.withOffset(e.x1,e.y1):Dr(e.x1,e.y1,e.x2,e.y2)}getInnerRect(){let e=this.originX+this.left+this.getInsetLeft(),t=this.originY+this.top+this.getInsetTop();return new rt(e,t,e+this.width,t+this.height)}getPaddingRect(){let e=this.originX+this.left+this.marginLeft+this.borderLeft,t=this.originY+this.top+this.marginTop+this.borderTop,i=this.paddingLeft+this.width+this.paddingRight,n=this.paddingTop+this.height+this.paddingBottom;return new rt(e,t,e+i,t+n)}getOuterShape(e,t){let i=this.getOuterRect();return Ml(e,i.x1,i.y1,i.x2-i.x1,i.y2-i.y1,t)}getOuterRect(){let e=this.originX+this.left,t=this.originY+this.top,i=this.getInsetLeft()+this.width+this.getInsetRight(),n=this.getInsetTop()+this.height+this.getInsetBottom();return new rt(e,t,e+i,t+n)}},Zn=class extends It{constructor(e,t,i,n){super(),this.elem=e,this.context=t,this.rootContentValue=i,this.exprContentListener=n}visitStrInner(e,t){var i;if(!t){if(((i=this.elem.lastChild)==null?void 0:i.nodeType)===3){this.elem.lastChild.textContent+=e;return}t=this.elem.ownerDocument.createTextNode(e)}this.elem.appendChild(t)}visitStr(e){return this.visitStrInner(e.str),null}visitURL(e){if(this.rootContentValue.url)this.elem.setAttribute("src",e.url);else{let t=this.elem.ownerDocument.createElementNS("http://www.w3.org/1999/xhtml","img");t.setAttribute("src",e.url),this.elem.appendChild(t)}return null}visitSpaceList(e){return this.visitValues(e.values),null}visitExpr(e){let t=e.toExpr(),i=t.evaluate(this.context);if(typeof i=="string"){t instanceof Ae&&(i=Pi(t.scope,new gt(i,null),"").stringValue()),this.elem.ownerDocument;let n=this.exprContentListener(t,i,this.elem.ownerDocument);!n&&i&&t instanceof De&&t.str.startsWith("running-element-")&&(i=""),this.visitStrInner(i,n)}return null}};function Vt(e){return e!=null&&e!==G&&e!==v.normal&&e!==v.none&&!J(e)}var Ne=fi.FloatReference;function Up(e){switch(e){case"inline":return Ne.INLINE;case"column":return Ne.COLUMN;case"region":return Ne.REGION;case"page":return Ne.PAGE;default:throw new Error(`Unknown float-reference: ${e}`)}}function gi(e){switch(e){case Ne.INLINE:return!1;case Ne.COLUMN:case Ne.REGION:case Ne.PAGE:return!0;default:throw new Error(`Unknown float-reference: ${e}`)}}function Jo(e,t,i,n){let s=t?"vertical-rl":"horizontal-tb";if((e==="top"||e==="bottom")&&(e=oh(e,s,i)),e==="block-start"&&(e="inline-start"),e==="block-end"&&(e="inline-end"),e==="inline-start"||e==="inline-end"){let r=rh(e,s,i),o=yp(r,s);o==="line-left"?e="left":o==="line-right"&&(e="right")}else e==="inside"?e=n==="left"?"right":"left":e==="outside"&&(e=n==="left"?"left":"right");return e!=="left"&&e!=="right"&&(H.warn(`Invalid float value: ${e}. Fallback to left.`),e="left"),e}var vh=class{constructor(e,t,i,n,s,r){this.nodePosition=e,this.floatReference=t,this.floatSide=i,this.clearSide=n,this.flowName=s,this.floatMinWrapBlock=r,u(this,"order",null),u(this,"id",null)}getOrder(){if(this.order===null)throw new Error("The page float is not yet added");return this.order}getId(){if(!this.id)throw new Error("The page float is not yet added");return this.id}isAllowedOnContext(e){return e.isAnchorAlreadyAppeared(this.getId())}isAllowedToPrecede(e){return!1}},$p=class{constructor(){u(this,"floats",[]),u(this,"nextPageFloatIndex",0)}nextOrder(){return this.nextPageFloatIndex++}createPageFloatId(e){return`pf${e}`}addPageFloat(e){if(this.floats.findIndex(t=>zt(t.nodePosition,e.nodePosition))>=0)throw new Error("A page float with the same source node is already registered");{let t=e.order=this.nextOrder();e.id=this.createPageFloatId(t),this.floats.push(e)}}findPageFloatByNodePosition(e){let t=this.floats.findIndex(i=>zt(i.nodePosition,e));return t>=0?this.floats[t]:null}findPageFloatById(e){let t=this.floats.findIndex(i=>i.id===e);return t>=0?this.floats[t]:null}},yh=class{constructor(e,t,i,n,s,r){this.floatReference=e,this.floatSide=t,this.clearSide=i,this.continuations=n,this.area=s,this.continues=r}hasFloat(e){return this.continuations.some(t=>t.float===e)}findNotAllowedFloat(e){for(let t=this.continuations.length-1;t>=0;t--){let i=this.continuations[t].float;if(!i.isAllowedOnContext(e))return i}return null}getOuterShape(){return this.area.getOuterShape(null,null)}getOuterRect(){return this.area.getOuterRect()}getOrder(){let e=this.continuations.map(t=>t.float);return Math.min.apply(null,e.map(t=>t.getOrder()))}shouldBeStashedBefore(e){return this.getOrder()<e.getOrder()}addContinuations(e){e.forEach(t=>{this.continuations.push(t)})}getFlowName(){let e=this.continuations[0].float.flowName;return this.continuations.every(t=>t.float.flowName===e),e}},Qo=class{constructor(e,t){this.float=e,this.nodePosition=t}equals(e){return e?this===e?!0:this.float===e.float&&zt(this.nodePosition,e.nodePosition):!1}},Di=class{constructor(e,t,i,n,s,r,o){this.parent=e,this.floatReference=t,this.container=i,this.flowName=n,this.generatingNodePosition=s,u(this,"children",[]),u(this,"writingMode"),u(this,"direction"),u(this,"invalidated",!1),u(this,"floatStore"),u(this,"forbiddenFloats",[]),u(this,"floatFragments",[]),u(this,"stashedFloatFragments",[]),u(this,"floatAnchors",{}),u(this,"floatsDeferredToNext",[]),u(this,"floatsDeferredFromPrevious"),u(this,"layoutConstraints",[]),u(this,"locked",!1),e&&e.children.push(this),this.writingMode=r||e&&e.writingMode||v.horizontal_tb,this.direction=o||e&&e.direction||v.ltr,this.floatStore=e?e.floatStore:new $p;let a=this.getPreviousSibling();this.floatsDeferredFromPrevious=a?[].concat(a.floatsDeferredToNext):[]}getParent(e){if(!this.parent)throw new Error(`No PageFloatLayoutContext for ${e}`);return this.parent}getPreviousSiblingOf(e,t,i,n){let s=this.children.indexOf(e);s<0&&(s=this.children.length);for(let r=s-1;r>=0;r--){let o=this.children[r];if(o.floatReference===t&&o.flowName===i&&zt(o.generatingNodePosition,n)||(o=o.getPreviousSiblingOf(null,t,i,n),o))return o}return null}getPreviousSibling(){let e=this,t=this.parent,i;for(;t;){if(i=t.getPreviousSiblingOf(e,this.floatReference,this.flowName,this.generatingNodePosition),i)return i;e=t,t=t.parent}return null}getContainer(e){return!e||e===this.floatReference?this.container:this.getParent(e).getContainer(e)}setContainer(e){this.container=e,this.reattachFloatFragments()}addPageFloat(e){this.floatStore.addPageFloat(e)}getPageFloatLayoutContext(e){return e===this.floatReference?this:this.getParent(e).getPageFloatLayoutContext(e)}findPageFloatByNodePosition(e){return this.floatStore.findPageFloatByNodePosition(e)}forbid(e){let t=e.getId(),i=e.floatReference;i===this.floatReference?this.forbiddenFloats.includes(t)||(this.forbiddenFloats.push(t),new Si().findByFloat(e).forbid(e,this)):this.getParent(i).forbid(e)}isForbidden(e){let t=e.getId(),i=e.floatReference;return i===this.floatReference?this.forbiddenFloats.includes(t):this.getParent(i).isForbidden(e)}addPageFloatFragment(e,t){let i=e.floatReference;i!==this.floatReference?this.getParent(i).addPageFloatFragment(e,t):this.floatFragments.includes(e)||(this.floatFragments.push(e),this.floatFragments.sort((n,s)=>n.getOrder()-s.getOrder())),t||this.invalidate()}removePageFloatFragment(e,t){let i=e.floatReference;if(i!==this.floatReference)this.getParent(i).removePageFloatFragment(e,t);else{let n=this.floatFragments.indexOf(e);if(n>=0){let s=this.floatFragments.splice(n,1)[0],r=s.area&&s.area.element;r&&r.parentNode&&r.parentNode.removeChild(r),t||this.invalidate()}}}findPageFloatFragment(e){if(e.floatReference!==this.floatReference)return this.getParent(e.floatReference).findPageFloatFragment(e);let t=this.floatFragments.findIndex(i=>i.hasFloat(e));return t>=0?this.floatFragments[t]:null}hasFloatFragments(e){return this.floatFragments.length>0&&(!e||this.floatFragments.some(e))?!0:this.parent?this.parent.hasFloatFragments(e):!1}hasContinuingFloatFragmentsInFlow(e){return this.hasFloatFragments(t=>t.continues&&t.getFlowName()===e)}registerPageFloatAnchor(e,t){this.floatAnchors[e.getId()]=t}collectPageFloatAnchors(){let e=Object.assign({},this.floatAnchors);return this.children.reduce((t,i)=>Object.assign(t,i.collectPageFloatAnchors()),e)}isAnchorAlreadyAppeared(e){if(this.getDeferredPageFloatContinuations().some(i=>i.float.getId()===e))return!0;let t=this.collectPageFloatAnchors()[e];return t&&this.container&&this.container.element?this.container.element.contains(t):!1}deferPageFloat(e){let t=e.float;if(t.floatReference===this.floatReference){let i=this.floatsDeferredToNext.findIndex(n=>n.float===t);i>=0?this.floatsDeferredToNext.splice(i,1,e):this.floatsDeferredToNext.push(e)}else this.getParent(t.floatReference).deferPageFloat(e)}hasPrecedingFloatsDeferredToNext(e,t){if(!t&&e.floatReference!==this.floatReference)return this.getParent(e.floatReference).hasPrecedingFloatsDeferredToNext(e,!1);let i=e.getOrder();return this.floatsDeferredToNext.some(n=>n.float.getOrder()<i&&!e.isAllowedToPrecede(n.float))?!0:this.parent?this.parent.hasPrecedingFloatsDeferredToNext(e,!0):!1}getLastFollowingFloatInFragments(e){let t=e.getOrder(),i=null;if(this.floatFragments.forEach(n=>{n.continuations.forEach(s=>{let r=s.float,o=r.getOrder();o>t&&(!i||o>i.getOrder())&&(i=r)})}),this.parent){let n=this.parent.getLastFollowingFloatInFragments(e);n&&(!i||n.getOrder()>i.getOrder())&&(i=n)}return i}getDeferredPageFloatContinuations(e){e=e||this.flowName;let t=this.floatsDeferredFromPrevious.filter(i=>!e||i.float.flowName===e);return this.parent&&(t=this.parent.getDeferredPageFloatContinuations(e).concat(t)),t.sort((i,n)=>i.float.getOrder()-n.float.getOrder())}getPageFloatContinuationsDeferredToNext(e){e=e||this.flowName;let t=this.floatsDeferredToNext.filter(i=>!e||i.float.flowName===e);return this.parent?this.parent.getPageFloatContinuationsDeferredToNext(e).concat(t):t}getFloatsDeferredToNextInChildContexts(){let e=[],t=[];for(let i=this.children.length-1;i>=0;i--){let n=this.children[i];t.includes(n.flowName)||(t.push(n.flowName),e=e.concat(n.floatsDeferredToNext.map(s=>s.float)),e=e.concat(n.getFloatsDeferredToNextInChildContexts()))}return e}checkAndForbidNotAllowedFloat(){if(this.checkAndForbidFloatFollowingDeferredFloat())return!0;for(let e=this.floatFragments.length-1;e>=0;e--){let t=this.floatFragments[e],i=t.findNotAllowedFloat(this);if(i)return this.locked?this.invalidate():(this.removePageFloatFragment(t),this.forbid(i),this.removeEndFloatFragments(t.floatSide)),!0}return this.floatReference===Ne.REGION&&this.parent.locked?this.parent.checkAndForbidNotAllowedFloat():!1}checkAndForbidFloatFollowingDeferredFloat(){let e=this.getFloatsDeferredToNextInChildContexts(),t=this.floatFragments.reduce((i,n)=>i.concat(n.continuations.map(s=>s.float)),[]);t.sort((i,n)=>n.getOrder()-i.getOrder());for(let i of t){let n=i.getOrder();if(e.some(s=>!i.isAllowedToPrecede(s)&&n>s.getOrder())){if(this.locked)this.invalidate();else{this.forbid(i);let s=this.findPageFloatFragment(i);this.removePageFloatFragment(s)}return!0}}return!1}finish(){if(!this.checkAndForbidNotAllowedFloat()){for(let e=this.floatsDeferredToNext.length-1;e>=0;e--)if(!this.floatsDeferredToNext[e].float.isAllowedOnContext(this)){if(this.locked){this.invalidate();return}this.floatsDeferredToNext.splice(e,1)}this.floatsDeferredFromPrevious.forEach(e=>{this.floatsDeferredToNext.findIndex(t=>e.equals(t))>=0||this.floatFragments.some(t=>t.hasFloat(e.float))||this.floatsDeferredToNext.push(e)})}}hasSameContainerAs(e){return!!this.container&&!!e.container&&this.container.element===e.container.element}invalidate(){this.invalidated=!0,!this.locked&&(this.container&&(this.children.forEach(e=>{this.hasSameContainerAs(e)&&e.floatFragments.forEach(t=>{let i=t.area.element;i&&i.parentNode&&i.parentNode.removeChild(i)})}),this.container.clear()),this.children.forEach(e=>{e.layoutConstraints.splice(0)}),this.children.splice(0),Object.keys(this.floatAnchors).forEach(e=>{delete this.floatAnchors[e]}))}detachChildren(){let e=this.children.splice(0);return e.forEach(t=>{t.floatFragments.forEach(i=>{let n=i.area.element;n&&n.parentNode&&n.parentNode.removeChild(n)})}),e}attachChildren(e){e.forEach(t=>{this.children.push(t),t.reattachFloatFragments()})}isInvalidated(){return this.invalidated||!!this.parent&&this.parent.isInvalidated()}validate(){this.invalidated=!1}toLogical(e){let t=this.writingMode.toString(),i=this.direction.toString();if(e==="inside"||e==="outside"){let n=!!this.container.element.closest("[data-vivliostyle-page-side='left']");e=e==="inside"?n?"right":"left":n?"left":"right"}return oh(e,t,i)}toPhysical(e){let t=this.writingMode.toString(),i=this.direction.toString();return rh(e,t,i)}toLogicalFloatSides(e){let t=e.split(" "),i=[];for(let o of t){let a=this.toLogical(o);i.includes(a)||i.push(a)}let n=[],s=!1,r=!1;for(let o=0;o<i.length;o++){let a=i[o];a.includes("block")?s||(i.slice(o+1).some(h=>h.includes("block"))?(n.push("snap-block"),s=!0):n.push(a)):a.includes("inline")&&(r||(i.slice(o+1).some(h=>h.includes("inline"))?(n.push("snap-inline"),r=!0):n.push(a)))}return n}removeEndFloatFragments(e){let t=this.toLogicalFloatSides(e)[0];if(t==="block-end"||t==="inline-end"){let i=0;for(;i<this.floatFragments.length;){let n=this.floatFragments[i];this.toLogicalFloatSides(n.floatSide)[0]===t?this.removePageFloatFragment(n):i++}}}stashEndFloatFragments(e){let t=e.floatReference;if(t!==this.floatReference){this.getParent(t).stashEndFloatFragments(e);return}let i=this.toLogicalFloatSides(e.floatSide)[0];if(i==="block-end"||i==="snap-block"||i==="inline-end"||i==="snap-inline"){let n=0;for(;n<this.floatFragments.length;){let s=this.floatFragments[n],r=this.toLogicalFloatSides(s.floatSide)[0];(r===i||i==="snap-block"&&r==="block-end"||i==="snap-inline"&&r==="inline-end")&&s.shouldBeStashedBefore(e)?(this.stashedFloatFragments.push(s),this.floatFragments.splice(n,1)):n++}}}restoreStashedFragments(e){if(e!==this.floatReference){this.getParent(e).restoreStashedFragments(e);return}this.stashedFloatFragments.forEach(t=>{this.addPageFloatFragment(t,!0)}),this.stashedFloatFragments.splice(0)}discardStashedFragments(e){if(e!==this.floatReference){this.getParent(e).discardStashedFragments(e);return}this.stashedFloatFragments.splice(0)}getStashedFloatFragments(e){return e===this.floatReference?this.stashedFloatFragments.concat().sort((t,i)=>i.getOrder()-t.getOrder()):this.getParent(e).getStashedFloatFragments(e)}getLimitValue(e,t,i,n,s){this.container;let r=this.toLogical(e),o=this.toPhysical(e),a=t&&this.toLogical(t),h=t&&this.toPhysical(t),l=this.getLimitValueInner(r,a,i,n,s);if(this.parent&&this.parent.container){let c=this.parent.getLimitValue(o,h,i,n,s);switch(o){case"top":return Math.max(l,c);case"left":return Math.max(l,c);case"bottom":return Math.min(l,c);case"right":return Math.min(l,c);default:}}return l}getLimitValueInner(e,t,i,n,s){this.container;let r=this.getLimitValuesInner(i,n,s,e,t);switch(e){case"block-start":return this.container.vertical?r.right:r.top;case"block-end":return this.container.vertical?r.left:r.bottom;case"inline-start":return this.container.vertical?this.container.rtl?r.bottom:r.top:this.container.rtl?r.right:r.left;case"inline-end":return this.container.vertical?this.container.rtl?r.top:r.bottom:this.container.rtl?r.left:r.right;default:throw new Error(`Unknown logical side: ${e}`)}}getLimitValuesInner(e,t,i,n,s){this.container;let r=this.container.originX,o=this.container.originY,a=this.container.getPaddingRect(),h={top:a.y1-o,left:a.x1-r,bottom:a.y2-o,right:a.x2-r,floatMinWrapBlockStart:0,floatMinWrapBlockEnd:0};function l(p,d,f){return p.unit==="%"?f*p.num/100:e.convertLengthToPx(p,d,t)}let c=this.floatFragments;return c.length>0&&(h=c.reduce((p,d)=>{if(i&&!i(d,this))return p;let[f,m]=this.toLogicalFloatSides(d.floatSide);if(m&&(n&&m.includes("block")===n.includes("block")&&m!==n||s&&m.includes("block")===s.includes("block")&&m!==s))return p;let g=d.area,w=d.continuations[0].float.floatMinWrapBlock,y=p.top,b=p.left,S=p.bottom,T=p.right,A=p.floatMinWrapBlockStart,_=p.floatMinWrapBlockEnd;switch(f){case"inline-start":g.vertical?y=Math.max(y,g.top+g.height):b=Math.max(b,g.left+g.width);break;case"block-start":g.vertical?(w&&g.left<T&&(A=l(w,g.rootViewNodes[0],a.x2-a.x1)),T=Math.min(T,g.left)):(w&&g.top+g.height>y&&(A=l(w,g.rootViewNodes[0],a.y2-a.y1)),y=Math.max(y,g.top+g.height));break;case"inline-end":g.vertical?S=Math.min(S,g.top):T=Math.min(T,g.left);break;case"block-end":g.vertical?(w&&g.left+g.width>b&&(_=l(w,g.rootViewNodes[0],a.x2-a.x1)),b=Math.max(b,g.left+g.width)):(w&&g.top<S&&(_=l(w,g.rootViewNodes[0],a.y2-a.y1)),S=Math.min(S,g.top));break;default:throw new Error(`Unknown logical float side: ${f}`)}return{top:y,left:b,bottom:S,right:T,floatMinWrapBlockStart:A,floatMinWrapBlockEnd:_}},h)),h.left+=r,h.right+=r,h.top+=o,h.bottom+=o,h}setFloatAreaDimensions(e,t,i,n,s,r,o){if(t!==this.floatReference)return this.getParent(t).setFloatAreaDimensions(e,t,i,n,s,r,o);let a=this.toLogicalFloatSides(i);if(a[0]==="snap-block"){if(!o["block-start"]&&!o["block-end"])return null}else if(a[0].includes("block")&&!o[a[0]])return null;e.clientLayout;let h=a.find(A=>A.includes("inline")&&o[A==="inline-start"?"inline-end":"inline-start"]),l=a.find(A=>A.includes("block")),c=this.getLimitValue("block-start",h,e.layoutContext,e.clientLayout),p=this.getLimitValue("block-end",h,e.layoutContext,e.clientLayout),d=this.getLimitValue("inline-start",l,e.layoutContext,e.clientLayout),f=this.getLimitValue("inline-end",l,e.layoutContext,e.clientLayout),m=e.vertical?e.originX:e.originY,g=e.vertical?e.originY:e.originX;c=e.vertical?Math.min(c,e.left+e.getInsetLeft()+e.width+e.getInsetRight()+m):Math.max(c,e.top+m),p=e.vertical?Math.max(p,e.left+m):Math.min(p,e.top+e.getInsetTop()+e.height+e.getInsetBottom()+m);function w(A,_){let V=A(e.bands,_);return V?(e.vertical&&(V=Ol(V)),c=e.vertical?Math.min(c,V.x2):Math.max(c,V.y1),p=e.vertical?Math.max(p,V.x1):Math.min(p,V.y2),!0):r}let y,b,S,T;if(s){let A=e.vertical?Gn(new rt(p,d,c,f)):new rt(d,c,f,p);if((a[0]==="block-start"||a[0]==="snap-block"||a[0]==="inline-start"||a[0]==="snap-inline")&&!w(pd,A)||(a[0]==="block-end"||a[0]==="snap-block"||a[0]==="inline-end"||a[0]==="snap-inline")&&!w(fd,A)||(S=(p-c)*e.getBoxDir(),y=S-e.getInsetBefore()-e.getInsetAfter(),T=(f-d)*e.getInlineDir(),b=T-e.getInsetStart()-e.getInsetEnd(),!r&&(y<=0||b<=0)))return null}else{y=e.computedBlockSize,S=y+e.getInsetBefore()+e.getInsetAfter();let A=(p-c)*e.getBoxDir();if(a[0]==="snap-block"){if(n===null)a[0]="block-start";else{let V=this.container.getPaddingRect(),W=this.container.getBoxDir()*(n-(this.container.vertical?V.x2:V.y1)),ee=this.container.getBoxDir()*((this.container.vertical?V.x1:V.y2)-n-S);W<=ee?a[0]="block-start":a[0]="block-end"}if(!o[a[0]])if(o["block-end"])a[0]="block-end";else return null}else if(a[0]==="snap-inline")if(n===null)a[0]="inline-start";else if(o["inline-start"])a[0]="inline-start";else if(o["inline-end"])a[0]="inline-end";else return null;if(!r&&A<S)return null;a[0]==="inline-start"||a[0]==="inline-end"||a[1]?b=$r(e.clientLayout,e.element,["fit-content inline size"])["fit-content inline size"]:e.adjustContentRelativeSize?b=e.getContentInlineSize():b=e.vertical?e.height:e.width,T=b+e.getInsetStart()+e.getInsetEnd();let _=(f-d)*e.getInlineDir();if(!r&&_<T)return null}return c-=m,p-=m,d-=g,f-=g,a.some(A=>A==="inline-start"||A==="snap-inline")||a.length===1&&(a[0]==="block-start"||a[0]==="snap-block")?e.setInlinePosition(d,b):(a.some(A=>A==="inline-end")||a.length===1&&a[0]==="block-end")&&e.setInlinePosition(f-T*e.getInlineDir(),b),a.some(A=>A==="block-start"||A==="snap-block")||a.length===1&&(a[0]==="inline-start"||a[0]==="snap-inline")?e.setBlockPosition(c,y):(a.some(A=>A==="block-end")||a.length===1&&a[0]==="inline-end")&&e.setBlockPosition(p-S*e.getBoxDir(),y),a.join(" ")}getFloatFragmentExclusions(){let e=this.floatFragments.map(t=>t.getOuterShape());return this.parent?this.parent.getFloatFragmentExclusions().concat(e):e}reattachFloatFragments(){let e=this.container.element&&this.container.element.parentNode;e&&this.floatFragments.forEach(t=>{e.appendChild(t.area.element)})}getMaxReachedAfterEdge(){let e=this.getContainer().vertical;return this.floatFragments.reduce((t,i)=>{let n=i.getOuterRect();return e?Math.min(t,n.x1):Math.max(t,n.y2)},e?1/0:0)}getBlockStartEdgeOfBlockEndFloats(){let e=this.getContainer().vertical;return this.floatFragments.filter(t=>t.floatSide==="block-end").reduce((t,i)=>{let n=i.getOuterRect();return e?Math.max(t,n.x2):Math.min(t,n.y1)},e?0:1/0)}getPageFloatClearEdge(e,t){function i(l){return c=>l.isAnchorAlreadyAppeared(c.float.getId())}function n(l,c){return e==="inline-start"&&(l.floatSide.includes("inline-end")||l.floatSide==="block-end")||e==="inline-end"&&(l.floatSide.includes("inline-start")||l.floatSide==="block-start")?!1:l.continuations.some(i(c))}let s=t.getPaddingRect(),r=t.vertical?s.x1:s.y2,o=this;for(;o;){if(o.floatsDeferredToNext.some(i(o)))return r;o=o.parent}function a(l){return l.floatFragments.some(c=>n(c,l))||l.children.some(c=>a(c))}if(e==="column"||e==="region"||e==="page"){for(o=this;o;o=o.parent)if(o.floatReference===e){if(a(o))return r;break}}t.clientLayout;let h=this.getLimitValue("block-start",null,t.layoutContext,t.clientLayout,n);return this.getLimitValue("block-end",null,t.layoutContext,t.clientLayout,n)*t.getBoxDir()<r*t.getBoxDir()?r:h}getPageFloatPlacementCondition(e,t,i){if(e.floatReference!==this.floatReference)return this.getParent(e.floatReference).getPageFloatPlacementCondition(e,t,i);let n={"block-start":!0,"block-end":!0,"inline-start":!0,"inline-end":!0};if(!i)return n;let s=this.toLogicalFloatSides(t)[0],r=this.toLogical(i),o;r==="all"?o=["block-start","block-end","inline-start","inline-end"]:r==="both"?o=["inline-start","inline-end"]:r==="same"?s==="snap-block"?o=["block-start","block-end"]:o=[s]:o=[r];let a=e.getOrder();function h(p){return d=>(!p||d.floatSide.includes(p))&&d.getOrder()<a}function l(p,d){return p.children.some(f=>f.floatFragments.some(h(d))||l(f,d))}function c(p,d){let f=p.parent;return!!f&&(f.floatFragments.some(h(d))||c(f,d))}if(i==="column"||i==="region"||i==="page"){for(let p=this;p;p=p.parent)if(p.floatReference===i){(p.floatFragments.some(h(null))||l(p,null))&&(n["block-start"]=!1,n["block-end"]=!1,n["inline-start"]=!1,n["inline-end"]=!1);break}return n}return o.forEach(p=>{switch(p){case"block-start":n[p]=!l(this,p);break;case"block-end":n[p]=!c(this,p);break;case"inline-start":case"inline-end":n[p]=!this.floatFragments.some(h(p));break;default:throw new Error(`Unexpected side: ${p}`)}}),n}getLayoutConstraints(){return(this.parent?this.parent.getLayoutConstraints():[]).concat(this.layoutConstraints)}addLayoutConstraint(e,t){t===this.floatReference?this.layoutConstraints.push(e):this.getParent(t).addLayoutConstraint(e,t)}isColumnFullWithPageFloats(e){let t=e.layoutContext,i=e.clientLayout,n=this,s=null;for(;n&&n.container;){let o=n.getLimitValuesInner(t,i);s?e.vertical?(o.right<s.right&&(s.right=o.right,s.floatMinWrapBlockStart=o.floatMinWrapBlockStart),o.left>s.left&&(s.left=o.left,s.floatMinWrapBlockEnd=o.floatMinWrapBlockEnd)):(o.top>s.top&&(s.top=o.top,s.floatMinWrapBlockStart=o.floatMinWrapBlockStart),o.bottom<s.bottom&&(s.bottom=o.bottom,s.floatMinWrapBlockEnd=o.floatMinWrapBlockEnd)):s=o,n=n.parent}let r=Math.max(s.floatMinWrapBlockStart,s.floatMinWrapBlockEnd);return(e.vertical?s.right-s.left:s.bottom-s.top)<=r}getMaxBlockSizeOfPageFloats(){let e=this.getContainer().vertical;return this.floatFragments.length?Math.max.apply(null,this.floatFragments.map(t=>{let i=t.area;return e?i.width:i.height})):0}lock(){this.locked=!0}unlock(){this.locked=!1}isLocked(){return this.locked}},Li=[],Si=class{static register(e){Li.push(e)}findByNodeContext(e){for(let t=Li.length-1;t>=0;t--){let i=Li[t];if(i.appliesToNodeContext(e))return i}throw new Error(`No PageFloatLayoutStrategy found for ${e}`)}findByFloat(e){for(let t=Li.length-1;t>=0;t--){let i=Li[t];if(i.appliesToFloat(e))return i}throw new Error(`No PageFloatLayoutStrategy found for ${e}`)}},Gp=class{appliesToNodeContext(e){return gi(e.floatReference)}appliesToFloat(e){return!0}createPageFloat(e,t,i){let n=e.floatReference;e.floatSide;let s=e.floatSide,r=e.toNodePosition();return i.resolveFloatReferenceFromColumnSpan(n,e.columnSpan,e).thenAsync(o=>{n=o,t.flowName;let a=new vh(r,n,s,e.clearSide,t.flowName,e.floatMinWrapBlock);return t.addPageFloat(a),k(a)})}createPageFloatFragment(e,t,i,n,s){let r=e[0].float;return new yh(r.floatReference,t,i,e,n,s)}findPageFloatFragment(e,t){return t.findPageFloatFragment(e)}adjustPageFloatArea(e,t,i){}forbid(e,t){}};Si.register(new Gp);var Wp=yh,tr=class xh extends vh{constructor(t,i,n,s,r){super(t,i,"block-end",null,n,r),this.footnotePolicy=s}isAllowedToPrecede(t){return!(t instanceof xh)}},ea=class extends Wp{constructor(e,t,i,n){super(e,"block-end",null,t,i,n)}getOrder(){return 1/0}shouldBeStashedBefore(e){return e instanceof tr?!0:this.getOrder()<e.getOrder()}},jp=class{constructor(e){this.footnote=e}allowLayout(e){let t=e.toNodePosition();return!zt(t,this.footnote.nodePosition)}},Xp=class{appliesToNodeContext(e){return e.floatSide==="footnote"}appliesToFloat(e){return e instanceof tr}createPageFloat(e,t,i){let n=Ne.REGION,s=t.getPageFloatLayoutContext(n);t.getPageFloatLayoutContext(Ne.PAGE).hasSameContainerAs(s)&&(n=Ne.PAGE);let r=e.toNodePosition();t.flowName;let o=new tr(r,n,t.flowName,e.footnotePolicy,e.floatMinWrapBlock);return t.addPageFloat(o),k(o)}createPageFloatFragment(e,t,i,n,s){let r=e[0].float;return new ea(r.floatReference,e,n,s)}findPageFloatFragment(e,t){let i=t.getPageFloatLayoutContext(e.floatReference).floatFragments.filter(n=>n instanceof ea);return i.length<=1,i[0]||null}adjustPageFloatArea(e,t,i){e.isFootnote=!0,e.adjustContentRelativeSize=!1;let n=e.element;e.vertical=i.layoutContext.applyFootnoteStyle(t.vertical,i.layoutContext.nodeContext&&i.layoutContext.nodeContext.direction==="rtl",n),e.convertPercentageSizesToPx(n),i.setComputedInsets(n,e),i.setComputedWidthAndHeight(n,e)}forbid(e,t){let i=e;switch(i.footnotePolicy){case v.line:{let n=new jp(i);t.addLayoutConstraint(n,i.floatReference);break}}}};Si.register(new Xp);var qp="data-vivliostyle-flow-root";function Yp(e){return e.getAttribute(qp)==="true"}function ta(e){let t=e?.toString()||"block",i;switch(t){case"inline-flex":i="flex";break;case"inline-grid":i="grid";break;case"inline-table":i="table";break;case"inline":case"table-row-group":case"table-column":case"table-column-group":case"table-header-group":case"table-footer-group":case"table-row":case"table-cell":case"table-caption":case"inline-block":i="block";break;default:i=t}return B(i)}function Wr(e){return e===v.absolute||e===v.fixed}function ir(e){return e instanceof Ni&&e.name==="running"}function Sh(e,t,i,n){return e===v.none||(Wr(t)?(i=v.none,e=ta(e)):(i&&i!==v.none&&!J(i)||n)&&(e=ta(e))),{display:e,position:t,float:i}}function Ch(e,t,i,n){return Sh(e,t,i,n).display===v.block}function Xt(e){switch(e.toString()){case"inline":case"inline-block":case"inline-list-item":case"inline-flex":case"inline-grid":case"ruby":case"inline-table":return!0;default:return!1}}function Eh(e){switch(e.toString()){case"ruby-base":case"ruby-text":case"ruby-base-container":case"ruby-text-container":return!0;default:return!1}}function Zp(e,t,i,n,s,r,o){return s=s||r||v.horizontal_tb,!!o||!!i&&i!==v.none&&!J(i)||Wr(t)||e===v.inline_block||e===v.table_cell||e===v.table_caption||e==v.flex||e==v.grid||e==v.flow_root||(e===v.block||e===v.list_item)&&!!n&&n!==v.visible&&n!==v.clip&&!J(n)||!!r&&s!==r}function Kp(e){return e===v.relative||e===v.absolute||e===v.fixed}function ai(e,t,i,n){let s=e.viewNode;if(!s)return NaN;let r=s.nodeType===1?s:s.parentElement;if(r&&r.namespaceURI==="http://www.w3.org/1999/xhtml"){let o=r.style;if(o&&Xt(o.display)&&/^([\d\.]|super|(text-)?top)/.test(o.verticalAlign))return NaN}if(s===r){if(e.after||!e.inline){if(e.after&&!e.inline&&r.querySelector("ruby")){let a=r.parentNode,h=r.nextSibling;a.removeChild(r),a.insertBefore(r,h)}let o=t.getElementClientRect(r);if(o.left===0&&o.top===0&&o.right===0&&o.bottom===0)return NaN;if(o.right>=o.left&&o.bottom>=o.top)return e.after?n?o.left:o.bottom:n?o.right:o.top}return NaN}else{let o=NaN,a=s.ownerDocument.createRange(),h=s.textContent.length;if(!h)return NaN;e.after&&(i+=h),i>=h&&(i=h-1),a.setStart(s,i),a.setEnd(s,i+1);let l=t.getRangeClientRects(a);return l=l.filter(c=>c.right>c.left&&c.bottom>c.top),l.length?(n?o=Math.min.apply(null,l.map(c=>c.left)):o=Math.max.apply(null,l.map(c=>c.bottom)),o):NaN}}function nr(e,t,i){let n=t.clientLayout.getElementClientRect(e),s=t.getComputedMargin(e);return i?n.width+s.left+s.right:n.height+s.top+s.bottom}function hi(e){for(;e;){if(e.parentNode===e.ownerDocument)return!1;e=e.parentNode}return!0}function kh(e,t){var i;if(e)for(let n=e.lastChild,s=n;n!==t;n=s)s=n.previousSibling,!(n.nodeType===1&&n.hasAttribute("data-vivliostyle-float-box-moved")&&((i=t.style)==null?void 0:i.display)==="inline")&&e.removeChild(n)}function jr(e){return!!e.getAttribute(xi)}function Vi(e){var t;if(e?.nodeType!==1)return!1;let i=e;if(jr(i))return!0;let n=(t=i.style)==null?void 0:t.position;return n==="absolute"||n==="fixed"}function ui(e){let t=e?.viewNode;return t?.nodeType===1&&jr(t)}function Jp(e){return e!=="inline"&&(Xt(e)||Eh(e))}function ia(e){var t;for(let i=e.parent;i;i=i.parent)if((i.display!=="inline"||i.vertical!==((t=i.parent)==null?void 0:t.vertical))&&Xt(i.display))return i;return null}var Xr=class{calculateOffset(e){return mi(this.getNodeContext(),e.collectElementsOffset())}breakPositionChosen(e){}getNodeContext(){return null}};function mi(e,t){return{current:t.reduce((i,n)=>i+n.calculateOffset(e),0),minimum:t.reduce((i,n)=>i+n.calculateMinimumOffset(e),0)}}var yn=class extends Xr{constructor(e,t,i,n){super(),this.position=e,this.breakOnEdge=t,this.overflows=i,this.computedBlockSize=n,u(this,"overflowIfRepetitiveElementsDropped"),u(this,"isEdgeUpdated",!1),u(this,"edge",0),this.overflowIfRepetitiveElementsDropped=i}findAcceptableBreak(e,t){return this.updateOverflows(e),t<this.getMinBreakPenalty()?null:e.findEdgeBreakPosition(this)}getMinBreakPenalty(){if(!this.isEdgeUpdated)throw new Error("EdgeBreakPosition.prototype.updateEdge not called");let e=this.isFirstContentOfRepetitiveElementsOwner()&&!this.overflowIfRepetitiveElementsDropped;return(jn(this.breakOnEdge)?1:0)+(this.overflows&&!e?3:0)+(this.position.parent?this.position.parent.breakPenalty:0)}updateEdge(e){var t;let i=e.calculateClonedPaddingBorder(this.position);if(this.edge=ai(this.position,e.clientLayout,0,e.vertical)+i,!this.position.after&&!this.position.inline){let n=e.parseComputedLength(e.clientLayout.getElementComputedStyle(this.position.viewNode).marginBlockStart);this.edge-=(e.vertical?-1:1)*n}else if(this.position.after&&((t=this.position.shadowContext)==null?void 0:t.root.id)==="table-cell"){let n=e.element.parentElement,s=n?.closest("table, [style*='display: table;']");if(s){let r=s.style.borderCollapse==="collapse",o=0,a=0;for(let h=n;h;h=h.parentElement){let l=e.clientLayout.getElementComputedStyle(h);if((h===n||h===s&&!r)&&(o+=e.parseComputedLength(l.paddingBlockEnd)),h===s&&!r&&(o+=e.parseComputedLength(l.borderSpacing.replace(/^\S+ (\S+)$/,"$1"))),r?a=Math.max(a,e.parseComputedLength(l.borderBlockEndWidth)):(h===n||h===s)&&(a+=e.parseComputedLength(l.borderBlockEndWidth)),h===s)break}this.edge+=(e.vertical?-1:1)*(o+a)}}this.isEdgeUpdated=!0}updateOverflows(e){this.isEdgeUpdated||this.updateEdge(e);let t=this.edge,i=this.calculateOffset(e);this.overflowIfRepetitiveElementsDropped=e.isOverflown(t+(e.vertical?-1:1)*i.minimum),this.overflows=this.position.overflow=e.isOverflown(t+(e.vertical?-1:1)*i.current)}getNodeContext(){return this.position}isFirstContentOfRepetitiveElementsOwner(){let e=this.getNodeContext();if(!e||!e.parent)return!1;let{formattingContext:t}=e.parent;if(!qt.isInstanceOfRepetitiveElementsOwnerFormattingContext(t))return!1;let i=t.getRepetitiveElements();return i?i.isFirstContentNode(e):!1}},Fi=class{find(e){let t=ft("RESOLVE_LAYOUT_PROCESSOR");for(let i=0;i<t.length;i++){let n=t[i](e);if(n)return n}throw new Error(`No processor found for a formatting context: ${e.getName()}`)}},ci=class{layout(e,t,i){return t.isFloatNodeContext(e)?t.layoutFloatOrFootnote(e):t.isBreakable(e)?t.layoutBreakableBlock(e):t.layoutUnbreakable(e)}createEdgeBreakPosition(e,t,i,n){return new yn(e.copy(),t,i,n)}startNonInlineElementNode(e){return!1}afterNonInlineElementNode(e,t){return!1}clearOverflownViewNodes(e,t,i,n){var s;if(!i.viewNode||!i.viewNode.parentNode||i.shadowType===Nt.ShadowType.ROOTLESS&&ui(i))return;let r=i.viewNode;((s=r.parentElement)==null?void 0:s.localName)==="viv-ts-inner"&&(r=r.parentElement.parentElement);let o=r.parentNode;kh(o,r),n&&o.removeChild(r)}finishBreak(e,t,i,n){let s=i||t.viewNode!=null&&t.viewNode.nodeType==1&&!t.after;return e.clearOverflownViewNodes(t,s),n&&e.layoutContext.processFragmentedBlockEdge(t),k(!0)}},qr=class{constructor(e){this.parent=e,u(this,"formattingContextType","Block")}getName(){return"Block formatting context (BlockFormattingContext)"}isFirstTime(e,t){return t}getParent(){return this.parent}saveState(){}restoreState(e){}},Yr=new ci,Qp=Ks.isInstanceOfBlockFormattingContext;ut("RESOLVE_FORMATTING_CONTEXT",(e,t,i,n,s,r)=>{let o=e.parent;return!o&&e.formattingContext||o&&e.formattingContext!==o.formattingContext?null:e.establishesBFC||!e.formattingContext&&Ch(i,n,s,r)?new qr(o?o.formattingContext:null):null});ut("RESOLVE_LAYOUT_PROCESSOR",e=>e instanceof qr?Yr:null);var Zr=class{constructor(){u(this,"initialBreakPositions",null),u(this,"initialStateOfFormattingContext",null),u(this,"initialPosition"),u(this,"initialFragmentLayoutConstraints")}layout(e,t){return this.prepareLayout(e,t),this.tryLayout(e,t)}tryLayout(e,t){let i=F("AbstractLayoutRetryer.tryLayout");this.saveState(e,t);let n=this.resolveLayoutMode(e);return n.doLayout(e,t).then(s=>{let r=n.accept(s,t);r=n.postLayout(s,this.initialPosition,t,r),r?i.finish(s):(this.initialPosition,this.clearNodes(this.initialPosition),this.restoreState(e,t),this.tryLayout(this.initialPosition,t).thenFinish(i))}),i.result()}prepareLayout(e,t){}clearNodes(e){let t=e.viewNode||e.parent.viewNode,i;for(;i=t.lastChild;)t.removeChild(i);let n;for(;n=t.nextSibling;)n.parentNode.removeChild(n)}saveState(e,t){this.initialPosition=e.copy(),this.initialBreakPositions=[].concat(t.breakPositions),this.initialFragmentLayoutConstraints=[].concat(t.fragmentLayoutConstraints),e.formattingContext&&(this.initialStateOfFormattingContext=e.formattingContext.saveState())}restoreState(e,t){t.breakPositions=this.initialBreakPositions,t.fragmentLayoutConstraints=this.initialFragmentLayoutConstraints,e.formattingContext&&e.formattingContext.restoreState(this.initialStateOfFormattingContext)}},ef=class{initialState(e){return{nodeContext:e,atUnforcedBreak:!1,break:!1}}startNonDisplayableNode(e){}afterNonDisplayableNode(e){}startIgnoredTextNode(e){}afterIgnoredTextNode(e){}startNonElementNode(e){}afterNonElementNode(e){}startInlineElementNode(e){}afterInlineElementNode(e){}startNonInlineElementNode(e){}afterNonInlineElementNode(e){}finish(e){}},sr=class{constructor(e,t){this.strategy=e,this.layoutContext=t}iterate(e){let t=this.strategy,i=t.initialState(e),n=F("LayoutIterator");return n.loopWithFrame(s=>{let r;for(;i.nodeContext;){i.nodeContext.viewNode?i.nodeContext.viewNode.nodeType!==1?Ve(i.nodeContext.viewNode,i.nodeContext.whitespace)?i.nodeContext.after?r=t.afterIgnoredTextNode(i):r=t.startIgnoredTextNode(i):i.nodeContext.after?r=t.afterNonElementNode(i):r=t.startNonElementNode(i):i.nodeContext.inline?i.nodeContext.after?r=t.afterInlineElementNode(i):r=t.startInlineElementNode(i):i.nodeContext.after?r=t.afterNonInlineElementNode(i):r=t.startNonInlineElementNode(i):i.nodeContext.after?r=t.afterNonDisplayableNode(i):r=t.startNonDisplayableNode(i);let o=(r&&r.isPending()?r:k(!0)).thenAsync(()=>i.break?k(null):this.layoutContext.nextInTree(i.nodeContext,i.atUnforcedBreak));if(o.isPending()){o.then(a=>{i.break?s.breakLoop():(i.nodeContext=a,s.continueLoop())});return}else if(i.break){s.breakLoop();return}else i.nodeContext=o.get()}t.finish(i),s.breakLoop()}).then(()=>{n.finish(i.nodeContext)}),n.result()}},Xi=class extends ef{constructor(e){super(),this.leadingEdge=e}startNonInlineBox(e){}endEmptyNonInlineBox(e){}endNonInlineBox(e){}initialState(e){return{nodeContext:e,atUnforcedBreak:!!this.leadingEdge&&e.after,break:!1,leadingEdge:this.leadingEdge,breakAtTheEdge:null,onStartEdges:!1,leadingEdgeContexts:[],lastAfterNodeContext:null}}processForcedBreak(e,t){let i=!e.leadingEdge&&Ke(e.breakAtTheEdge);if(i){let n=e.nodeContext=e.leadingEdgeContexts[0]||e.nodeContext;n.viewNode.parentNode.removeChild(n.viewNode),t.pageBreakType=e.breakAtTheEdge}return i}saveEdgeAndProcessOverflow(e,t){let i=t.checkOverflowAndSaveEdgeAndBreakPosition(e.lastAfterNodeContext,null,!0,e.breakAtTheEdge);return i&&(e.nodeContext=(e.lastAfterNodeContext||e.nodeContext).modify(),e.nodeContext.overflow=!0),i}processLayoutConstraint(e,t,i){let n=e.nodeContext,s=!t.allowLayout(n);return s&&(i.checkOverflowAndSaveEdgeAndBreakPosition(e.lastAfterNodeContext,null,!1,e.breakAtTheEdge),n=e.nodeContext=n.modify(),n.overflow=!0),s}startNonElementNode(e){e.onStartEdges=!1}startNonInlineElementNode(e){return e.leadingEdgeContexts.push(e.nodeContext.copy()),e.breakAtTheEdge=qe(e.breakAtTheEdge,e.nodeContext.breakBefore),e.onStartEdges=!0,this.startNonInlineBox(e)}afterNonInlineElementNode(e){let t,i;return e.onStartEdges?(t=this.endEmptyNonInlineBox(e),i=t&&t.isPending()?t:k(!0),i=i.thenAsync(()=>(e.break||(e.leadingEdgeContexts=[],e.leadingEdge=!1,e.atUnforcedBreak=!1,e.breakAtTheEdge=null),k(!0)))):(t=this.endNonInlineBox(e),i=t&&t.isPending()?t:k(!0)),i.thenAsync(()=>(e.break||(e.onStartEdges=!1,e.lastAfterNodeContext=e.nodeContext.copy(),e.breakAtTheEdge=qe(e.breakAtTheEdge,e.nodeContext.breakAfter)),k(!0)))}},rr=[];function tf(){rr=[]}function Nh(e,t,i){return e-=i,t===0?e===0:e%t===0&&e/t>=0}var nf=class{constructor(e){this.matchers=e}matches(){return this.matchers.some(e=>e.matches())}},sf=class{constructor(e){this.matchers=e}matches(){return this.matchers.every(e=>e.matches())}},Ph=class Bn{constructor(t,i,n){this.elementOffset=t,this.a=i,this.b=n}static registerFragmentIndex(t,i,n){let s=Bn.fragmentIndices;(!s[t]||s[t].priority<=n)&&(s[t]={fragmentIndex:i,priority:n})}static clearFragmentIndices(){Bn.fragmentIndices={}}matches(){let t=Bn.fragmentIndices[this.elementOffset];return t!=null&&t.fragmentIndex!=null&&Nh(t.fragmentIndex,this.a,this.b)}};u(Ph,"fragmentIndices",{});var us=Ph,Tn=class{static buildViewConditionMatcher(e,t){let i=t.split("_");return i[0]=="NFS"?new us(e,parseInt(i[1],10),parseInt(i[2],10)):(`${t}`,null)}static buildAllMatcher(e){return new sf(e)}static buildAnyMatcher(e){return new nf(e)}},Th={"border-collapse":!0,"border-spacing":!0,"caption-side":!0,"clip-rule":!0,color:!0,"color-interpolation":!0,"color-rendering":!0,cursor:!0,direction:!0,"empty-cells":!0,fill:!0,"fill-opacity":!0,"fill-rule":!0,"font-kerning":!0,"font-size":!0,"font-size-adjust":!0,"font-family":!0,"font-feature-settings":!0,"font-style":!0,"font-stretch":!0,"font-variant-ligatures":!0,"font-variant-caps":!0,"font-variant-numeric":!0,"font-variant-east-asian":!0,"font-weight":!0,"glyph-orientation-vertical":!0,"hanging-punctuation":!0,hyphens:!0,"hyphenate-character":!0,"hyphenate-limit-chars":!0,"hyphenate-limit-last":!0,"image-rendering":!0,"image-resolution":!0,"letter-spacing":!0,"line-break":!0,"line-height":!0,"list-style-image":!0,"list-style-position":!0,"list-style-type":!0,marker:!0,"marker-end":!0,"marker-mid":!0,"marker-start":!0,orphans:!0,"overflow-wrap":!0,"paint-order":!0,"pointer-events":!0,quotes:!0,"ruby-align":!0,"ruby-position":!0,"shape-rendering":!0,stroke:!0,"stroke-dasharray":!0,"stroke-dashoffset":!0,"stroke-linecap":!0,"stroke-linejoin":!0,"stroke-miterlimit":!0,"stroke-opacity":!0,"stroke-width":!0,"tab-size":!0,"text-align":!0,"text-align-last":!0,"text-anchor":!0,"text-autospace":!0,"text-decoration-skip":!0,"text-decoration-skip-ink":!0,"text-emphasis-color":!0,"text-emphasis-position":!0,"text-emphasis-style":!0,"text-fill-color":!0,"text-combine-upright":!0,"text-indent":!0,"text-justify":!0,"text-orientation":!0,"text-rendering":!0,"text-shadow":!0,"text-size-adjust":!0,"text-spacing-trim":!0,"text-stroke-color":!0,"text-stroke-width":!0,"text-transform":!0,"text-underline-offset":!0,"text-underline-position":!0,"text-wrap":!0,"text-wrap-mode":!0,"text-wrap-style":!0,visibility:!0,"white-space":!0,widows:!0,"word-break":!0,"word-spacing":!0,"writing-mode":!0},rf=["image-resolution","orphans","widows"];function of(){return ft("POLYFILLED_INHERITED_PROPS").reduce((e,t)=>e.concat(t()),[].concat(rf))}var af={"http://www.idpf.org/2007/ops":!0,"http://www.w3.org/1999/xhtml":!0,"http://www.w3.org/2000/svg":!0,"http://www.w3.org/1998/Math/MathML":!0},or=["margin-%","padding-%","border-%-width","border-%-style","border-%-color","%"],lf=["max-%","min-%","%"],na=(()=>{let e=["left","right","top","bottom"],t={width:!0,height:!0,"max-width":!0,"max-height":!0,"min-width":!0,"min-height":!0};for(let i=0;i<or.length;i++)for(let n=0;n<e.length;n++){let s=or[i].replace("%",e[n]);t[s]=!0}return t})();function Ti(e,t){let i={};for(let n of or)for(let s in e){let r=n.replace("%",s),o=n.replace("%",e[s]);i[r]=o,i[o]=r}for(let n of lf)for(let s in t){let r=n.replace("%",s),o=n.replace("%",t[s]);i[r]=o,i[o]=r}return i}var Ih=Ti({"block-start":"right","block-end":"left","inline-start":"top","inline-end":"bottom"},{"block-size":"width","inline-size":"height"}),Rh=Ti({"block-start":"top","block-end":"bottom","inline-start":"left","inline-end":"right"},{"block-size":"height","inline-size":"width"}),hf=Ti({"block-start":"right","block-end":"left","inline-start":"bottom","inline-end":"top"},{"block-size":"width","inline-size":"height"}),uf=Ti({"block-start":"top","block-end":"bottom","inline-start":"right","inline-end":"left"},{"block-size":"height","inline-size":"width"}),cf=Ti({inside:"right",outside:"left"},{}),df=Ti({inside:"left",outside:"right"},{}),q=class ar{constructor(t,i){this.value=t,this.priority=i}getBaseValue(){return this}filterValue(t){let i=this.value.visit(t);return i===this.value?this:new ar(i,this.priority)}increaseSpecificity(t){return t==0?this:new ar(this.value,this.priority+t)}evaluate(t,i,n,s){return i&&kt(i)?this.value:Jn(t,this.value,i,n,s)}isEnabled(t){return!0}},lr=class hr extends q{constructor(t,i,n){super(t,i),this.condition=n}getBaseValue(){return new q(this.value,this.priority)}filterValue(t){let i=this.value.visit(t);return i===this.value?this:new hr(i,this.priority,this.condition)}increaseSpecificity(t){return t==0?this:new hr(this.value,this.priority+t,this.condition)}isEnabled(t){try{return!!this.condition.evaluate(t)}catch(i){H.warn(i)}return!1}};function ur(e,t,i){return(!t||i.priority>=t.priority)&&i.isEnabled(e)?i.getBaseValue():t}function Pt(e,t,i,n){if(e)if(!i)delete e[t];else{let s=e[t];(!s||i.priority>=s.priority)&&(n?i.isEnabled(n)&&(e[t]=i.getBaseValue()):e[t]=i)}}var Ah={"region-id":!0,"fragment-selector-id":!0};function pf(e){return!!Ah[e]}function cr(e){return e.charAt(0)==="_"&&e!=="_viewConditionalStyles"}function wi(e){return e.charAt(0)!=="_"&&!Ah[e]}function qi(e){return!!Th[e]||kt(e)}function Ue(e,t){return e[t]}function Yt(e,t,i){i?e[t]=i:delete e[t]}function pt(e,t){return e[t]}function cs(e,t){let i=e[t];return i||(i={},e[t]=i),i}var Lh=e=>{let t=e._viewConditionalStyles;return t||(t=[],e._viewConditionalStyles=t),t};function Fh(e,t){return e[t]}function Oh(e,t){let i=e[t];return i||(i=[],e[t]=i),i}function Kn(e,t,i,n,s,r,o){var a,h;if([{id:s,styleKey:"_pseudos"},{id:r,styleKey:"_regions"}].forEach(l=>{if(l.id){let c=cs(t,l.styleKey);t=c[l.id],t||(t={},c[l.id]=t)}}),o){let l=Lh(t);t={},l.push({styles:t,matcher:o})}for(let l in i)if(!cr(l))if(pf(l)){let c=Fh(i,l),p=Oh(t,l);Array.prototype.push.apply(p,c)}else{let c=Ue(i,l);if(!c.isEnabled(e))continue;let p=c.increaseSpecificity(n);Pt(t,l,p,e);let d=(h=(a=e.style)==null?void 0:a.validatorSet.shorthands[l])==null?void 0:h.propList;if(d)for(let f of d){let m=new q(G,p.priority);Pt(t,f,m,e)}}}function ff(e,t){let i={};for(let n=0;n<t.length;n++)Kn(e,i,t[n],0,null,null,null);return i}function Bh(e,t){if(e.length>0){e.sort((n,s)=>s.getPriority()-n.getPriority());let i=null;for(let n=e.length-1;n>=0;n--)i=e[n],i.chained=t,t=i;return i}return t}var gf=class extends ki{constructor(e,t){super(),this.props=e,this.context=t,u(this,"propName","")}setPropName(e){this.propName=e}getFontSize(){let e=Ue(this.props,"font-size");if(!e.value.isNumeric())return me.em;let t=e.value;if(!Gc(t.unit))throw new Error("Unexpected state");return t.num*me[t.unit]}visitNumeric(e){return this.context,this.propName==="font-size"?_h(e,this.getFontSize(),this.context):e.unit==="em"||e.unit==="ex"||e.unit==="rem"||e.unit==="lh"||e.unit==="rlh"?Kr(e,this.getFontSize(),this.context):e}visitExpr(e){return this.propName=="font-size"?Jn(this.context,e,this.propName).visit(this):e}};function Kr(e,t,i){let n=e.unit,s=e.num;if(n==="em"||n==="ex"){let r=me[n]/me.em;return new I(s*r*t,"px")}else return n==="rem"?new I(s*i.fontSize(),"px"):n==="rlh"?new I(s*i.rootLineHeight,"px"):e}function _h(e,t,i){e=Kr(e,t,i);let n=e.unit,s=e.num;return n==="px"?e:n==="%"?new I(s/100*t,"px"):new I(s*i.queryUnitSize(n,!1),"px")}var Ii=class{apply(e){}mergeWith(e){return new mf([this,e])}clone(){return this}},In=class extends Ii{constructor(e){super(),this.conditionItem=e}apply(e){e.pushConditionItem(this.conditionItem.fresh(e))}},mf=class Mh extends Ii{constructor(t){super(),this.list=t}apply(t){for(let i=0;i<this.list.length;i++)this.list[i].apply(t)}mergeWith(t){return this.list.push(t),this}clone(){return new Mh([].concat(this.list))}},Jr=class extends Ii{constructor(e,t,i,n,s){super(),this.style=e,this.specificity=t,this.pseudoelement=i,this.regionId=n,this.viewConditionId=s}apply(e){Kn(e.context,e.currentStyle,this.style,this.specificity,this.pseudoelement,this.regionId,e.buildViewConditionMatcher(this.viewConditionId))}},pe=class extends Ii{constructor(){super(),u(this,"chained",null)}apply(e){this.chained.apply(e)}getPriority(){return 0}makePrimary(e){return!1}},wf=class extends pe{constructor(e){super(),this.className=e}apply(e){e.currentClassNames.includes(this.className)&&this.chained.apply(e)}getPriority(){return 10}makePrimary(e){return this.chained&&e.insertInTable(e.classes,this.className,this.chained),!0}},bf=class extends pe{constructor(e){super(),this.id=e}apply(e){(e.currentId==this.id||e.currentXmlId==this.id)&&this.chained.apply(e)}getPriority(){return 11}makePrimary(e){return this.chained&&e.insertInTable(e.ids,this.id,this.chained),!0}},sa=class extends pe{constructor(e){super(),this.localName=e}apply(e){e.currentLocalName==this.localName&&this.chained.apply(e)}getPriority(){return 8}makePrimary(e){return this.chained&&e.insertInTable(e.tags,this.localName,this.chained),!0}},vf=class extends pe{constructor(e,t){super(),this.ns=e,this.localName=t}apply(e){e.currentLocalName==this.localName&&e.currentNamespace==this.ns&&this.chained.apply(e)}getPriority(){return 8}makePrimary(e){if(this.chained){let t=e.nsPrefix[this.ns];t||(t=`ns${e.nsCount++}:`,e.nsPrefix[this.ns]=t);let i=t+this.localName;e.insertInTable(e.nstags,i,this.chained)}return!0}},yf=class extends pe{constructor(e,t){super(),this.epubTypePatt=e,this.targetLocalName=t}apply(e){let t=e.currentElement;if(t instanceof HTMLAnchorElement&&t.hash&&t.href==t.baseURI.replace(/#.*$/,"")+t.hash){let i=t.hash.substring(1),n=t.ownerDocument.getElementById(i);if(n&&(!this.targetLocalName||n.localName==this.targetLocalName)){let s=n.getAttributeNS("http://www.idpf.org/2007/ops","type")||n.getAttribute("epub:type");s&&s.match(this.epubTypePatt)&&this.chained.apply(e)}}}},xf=class extends pe{constructor(e){super(),this.ns=e}apply(e){e.currentNamespace==this.ns&&this.chained.apply(e)}};function ds(e,t,i,n){if(!e)return!1;if(t!==null)return n(e,t,i);for(let s of e.getAttributeNames())if((s===i||s.endsWith(`:${i}`))&&n(e,s===i?"":e.lookupNamespaceURI(s.split(":")[0]),i))return!0;return!1}var ra=class extends pe{constructor(e,t){super(),this.ns=e,this.name=t}apply(e){ds(e.currentElement,this.ns,this.name,(t,i,n)=>t.hasAttributeNS(i,n))&&this.chained.apply(e)}},Sf=class extends pe{constructor(e,t,i){super(),this.ns=e,this.name=t,this.value=i}apply(e){ds(e.currentElement,this.ns,this.name,(t,i,n)=>t.getAttributeNS(i,n)==this.value)&&this.chained.apply(e)}getPriority(){return this.name=="type"&&this.ns=="http://www.idpf.org/2007/ops"?9:0}makePrimary(e){return this.name=="type"&&this.ns=="http://www.idpf.org/2007/ops"?(this.chained&&e.insertInTable(e.epubtypes,this.value,this.chained),!0):!1}},Cf=class extends pe{constructor(e,t){super(),this.ns=e,this.name=t}apply(e){ds(e.currentElement,this.ns,this.name,(t,i,n)=>!!af[t.getAttributeNS(i,n)])&&this.chained.apply(e)}getPriority(){return 0}makePrimary(e){return!1}},Oi=class extends pe{constructor(e,t,i){super(),this.ns=e,this.name=t,this.regexp=i}apply(e){ds(e.currentElement,this.ns,this.name,(t,i,n)=>{var s;return!!((s=t.getAttributeNS(i,n))!=null&&s.match(this.regexp))})&&this.chained.apply(e)}},Ef=class extends pe{constructor(e){super(),this.langRegExp=e}apply(e){e.lang.match(this.langRegExp)&&this.chained.apply(e)}},oa=class extends pe{constructor(){super()}apply(e){e.isFirst&&this.chained.apply(e)}getPriority(){return 6}},kf=class extends pe{constructor(){super()}apply(e){e.isRoot&&this.chained.apply(e)}getPriority(){return 12}},xn=class extends pe{constructor(e,t){super(),this.a=e,this.b=t}matchANPlusB(e){return Nh(e,this.a,this.b)}},Nf=class extends xn{constructor(e,t){super(e,t)}apply(e){this.matchANPlusB(e.currentSiblingOrder)&&this.chained.apply(e)}getPriority(){return 5}},dr=class extends xn{constructor(e,t){super(e,t)}apply(e){let t=e.currentSiblingTypeCounts[e.currentNamespace][e.currentLocalName];this.matchANPlusB(t)&&this.chained.apply(e)}getPriority(){return 5}},pr=class extends xn{constructor(e,t){super(e,t)}apply(e){let t=e.currentFollowingSiblingOrder;t===null&&(t=e.currentFollowingSiblingOrder=e.currentElement.parentNode.childElementCount-e.currentSiblingOrder+1),this.matchANPlusB(t)&&this.chained.apply(e)}getPriority(){return 4}},fr=class extends xn{constructor(e,t){super(e,t)}apply(e){let t=e.currentFollowingSiblingTypeCounts;if(!t[e.currentNamespace]){let i=e.currentElement;do{let n=i.namespaceURI,s=i.localName,r=t[n];r||(r=t[n]={}),r[s]=(r[s]||0)+1}while(i=i.nextElementSibling)}this.matchANPlusB(t[e.currentNamespace][e.currentLocalName])&&this.chained.apply(e)}getPriority(){return 4}},Pf=class extends pe{constructor(){super()}apply(e){let t=e.currentElement.firstChild;for(;t;){switch(t.nodeType){case Node.ELEMENT_NODE:return;case Node.TEXT_NODE:if(t.length>0)return}t=t.nextSibling}this.chained.apply(e)}getPriority(){return 4}},Tf=class extends pe{constructor(){super()}apply(e){e.currentElement.disabled===!1&&this.chained.apply(e)}getPriority(){return 5}},If=class extends pe{constructor(){super()}apply(e){e.currentElement.disabled===!0&&this.chained.apply(e)}getPriority(){return 5}},Rf=class extends pe{constructor(){super()}apply(e){let t=e.currentElement;(t.selected===!0||t.checked===!0)&&this.chained.apply(e)}getPriority(){return 5}},We=class extends pe{constructor(e){super(),this.condition=e}apply(e){if(e.conditions[this.condition])try{e.dependentConditions.push(this.condition),this.chained.apply(e)}finally{e.dependentConditions.pop()}}getPriority(){return 5}},Af=class zh extends Ii{constructor(){super(),u(this,"applied",!1)}apply(t){this.applied=!0}clone(){let t=new zh;return t.applied=this.applied,t}},Qr=class extends pe{constructor(e){super(),u(this,"checkAppliedAction"),u(this,"firstActions",[]),this.checkAppliedAction=new Af;for(let t of e)this.firstActions.push(Bh(t,this.checkAppliedAction))}apply(e){for(let t of this.firstActions)if(t.apply(e),this.checkAppliedAction.applied)break;this.checkAppliedAction.applied===this.positive()&&this.chained.apply(e),this.checkAppliedAction.applied=!1}getPriority(){return Math.max(...this.firstActions.map(e=>e instanceof pe?e.getPriority():0))}positive(){return!0}relational(){return!1}},Lf=class extends Qr{positive(){return!1}},Ff=class extends Qr{constructor(e){super([]),this.selectorTexts=e}apply(e){for(let t of this.selectorTexts){let i,n;/^\s*[+~]/.test(t)?(n=e.currentElement.parentNode,i=`:scope > :nth-child(${Array.from(n.children).indexOf(e.currentElement)+1}) ${t}`):(n=e.currentElement,i=`:scope ${t}`);try{if(n.querySelector(i)){this.checkAppliedAction.apply(e);break}}catch{}}this.checkAppliedAction.applied&&this.chained.apply(e),this.checkAppliedAction.applied=!1}relational(){return!0}},ps=class{constructor(e,t,i){this.condition=e,this.viewConditionId=t,this.viewCondition=i}increment(e){e.increment(this.condition,this.viewCondition)}decrement(e){e.decrement(this.condition,this.viewCondition)}buildViewConditionMatcher(e){return e.buildViewConditionMatcher(this.viewConditionId)}},Of=class Dh extends ps{constructor(t,i,n){super(t,i,n)}fresh(t){return new Dh(this.condition,this.viewConditionId,this.buildViewConditionMatcher(t))}push(t,i){return i==0&&this.increment(t),!1}pop(t,i){return i==0?(this.decrement(t),!0):!1}},Bf=class Vh extends ps{constructor(t,i,n){super(t,i,n)}fresh(t){return new Vh(this.condition,this.viewConditionId,this.buildViewConditionMatcher(t))}push(t,i){return i==0?this.increment(t):i==1&&this.decrement(t),!1}pop(t,i){return i==0?(this.decrement(t),!0):(i==1&&this.increment(t),!1)}},_f=class Hh extends ps{constructor(t,i,n){super(t,i,n),u(this,"fired",!1)}fresh(t){return new Hh(this.condition,this.viewConditionId,this.buildViewConditionMatcher(t))}push(t,i){return this.fired?(this.decrement(t),!0):!1}pop(t,i){return this.fired?(this.decrement(t),!0):(i==0&&(this.fired=!0,this.increment(t)),!1)}},Mf=class Uh extends ps{constructor(t,i,n){super(t,i,n),u(this,"fired",!1)}fresh(t){return new Uh(this.condition,this.viewConditionId,this.buildViewConditionMatcher(t))}push(t,i){return this.fired&&(i==-1?this.increment(t):i==0&&this.decrement(t)),!1}pop(t,i){if(this.fired){if(i==-1)return this.decrement(t),!0;i==0&&this.increment(t)}else i==0&&(this.fired=!0,this.increment(t));return!1}},zf=class{constructor(e,t){this.afterprop=e,this.element=t}fresh(e){return this}push(e,t){return!1}pop(e,t){return t==0?(e.processPseudoelementProps(this.afterprop,this.element),!0):!1}},Df=class{constructor(e){this.lang=e}fresh(e){return this}push(e,t){return!1}pop(e,t){return t==0?(e.lang=this.lang,!0):!1}},Vf=class{constructor(e){this.oldQuotes=e}fresh(e){return this}push(e,t){return!1}pop(e,t){return t==0?(e.quotes=this.oldQuotes,!0):!1}},Hf=class extends ki{constructor(e){super(),this.element=e}createValueFromString(e,t){switch(t){case"url":return e?new dt(e):new dt("about:invalid");case"string":default:return e?new Fe(e):new Fe("")}}visitFunc(e){if(e.name!=="attr")return super.visitFunc(e);let t="string",i=null,n=null;if(e.values[0]instanceof xe){let s=e.values[0].values;s.length>=2&&(t=s[1].stringValue()),i=s[0].stringValue()}else i=e.values[0].stringValue();return e.values.length>1?n=this.createValueFromString(e.values[1].stringValue(),t):n=this.createValueFromString(null,t),this.element&&this.element.hasAttribute(i)?this.createValueFromString(this.element.getAttribute(i),t):n}};function Yi(e){if(Vt(e)){if(e instanceof Fe)return e.stringValue();if(e instanceof xe)return e.values.map(t=>Yi(t)).join("")}return""}var gr=class extends ki{constructor(e,t,i){super(),this.cascade=e,this.element=t,this.counterResolver=i}visitIdent(e){let t=this.cascade,i=t.quotes,n=Math.floor(i.length/2)-1;switch(e.name){case"open-quote":{let s=i[2*Math.min(n,t.quoteDepth)];return t.quoteDepth++,s}case"close-quote":return t.quoteDepth>0&&t.quoteDepth--,i[2*Math.min(n,t.quoteDepth)+1];case"no-open-quote":return t.quoteDepth++,new Fe("");case"no-close-quote":return t.quoteDepth>0&&t.quoteDepth--,new Fe("")}return e}format(e,t){let i=!1,n=!1,s;(s=t.match(/^upper-(.*)/))!=null?(i=!0,t=s[1]):(s=t.match(/^lower-(.*)/))!=null&&(n=!0,t=s[1]);let r="";return aa[t]?r=$f(aa[t],e):la[t]?r=Wf(la[t],e):ha[t]!=null?r=ha[t]:t=="decimal-leading-zero"?(r=`${e}`,r.length==1&&(r=`0${r}`)):t=="cjk-ideographic"||t=="trad-chinese-informal"?r=Xf(e,jf):r=`${e}`,i?r.toUpperCase():n?r.toLowerCase():r}visitFuncCounter(e){let t=e[0].toString(),i=e.length>1?e[1].stringValue():"decimal",n=this.cascade.counters[t];if(n&&n.length){let s=n&&n.length&&n[n.length-1]||0;return new Fe(this.format(s,i))}else{let s=new z(this.counterResolver.getPageCounterVal(t,r=>this.format(r||0,i)));return new xe([s])}}visitFuncCounters(e){let t=e[0].toString(),i=e[1].stringValue(),n=e.length>2?e[2].stringValue():"decimal",s=this.cascade.counters[t],r=new Et;if(s&&s.length)for(let a=0;a<s.length;a++)a>0&&r.append(i),r.append(this.format(s[a],n));let o=new z(this.counterResolver.getPageCountersVal(t,a=>{let h=[];if(a.length)for(let c=0;c<a.length;c++)h.push(this.format(a[c],n));let l=r.toString();return l.length&&h.push(l),h.length?h.join(i):this.format(0,n)}));return new xe([o])}visitFuncTargetCounter(e){let t=e[0],i;t instanceof dt?i=t.url:i=t.stringValue();let n=e[1].toString(),s=e.length>2?e[2].stringValue():"decimal",r=new z(this.counterResolver.getTargetCounterVal(i,n,o=>this.format(o||0,s)));return new xe([r])}visitFuncTargetCounters(e){let t=e[0],i;t instanceof dt?i=t.url:i=t.stringValue();let n=e[1].toString(),s=e[2].stringValue(),r=e.length>3?e[3].stringValue():"decimal",o=new z(this.counterResolver.getTargetCountersVal(i,n,a=>{let h=a.map(l=>this.format(l,r));return h.length?h.join(s):this.format(0,r)}));return new xe([o])}visitFuncString(e){let t=e.length>0?e[0].stringValue():"",i=e.length>1?e[1].stringValue():"first";return new z(this.counterResolver.getNamedStringVal(t,i))}visitFuncElement(e){let t=e.length>0?e[0].stringValue():"",i=e.length>1?e[1].stringValue():"first";return new z(this.counterResolver.getRunningElementVal(t,i))}visitFuncContent(e){var t,i,n,s,r,o;let a=e.length>0?e[0].stringValue():"text",h="";switch(a){case"text":h=this.element.textContent;break;case"before":case"after":{let l=pt(this.cascade.currentStyle,"_pseudos"),c=(i=(t=l?.[a])==null?void 0:t.content)==null?void 0:i.value;h=Yi(c)}break;case"first-letter":{let l=pt(this.cascade.currentStyle,"_pseudos"),c=(Yi((s=(n=l?.before)==null?void 0:n.content)==null?void 0:s.value)||this.element.textContent||Yi((o=(r=l?.after)==null?void 0:r.content)==null?void 0:o.value)).match(_s);h=c?c[0]:""}break}return new Fe(h)}visitFuncLeader(e){let t="";if(e[0]instanceof nt)switch(e[0].stringValue()){case"dotted":t=".";break;case"solid":t="_";break;case"space":t=" ";break}else e[0]instanceof Fe&&(t=e[0].stringValue());return t.length==0?new Fe(""):new z(new De(null,()=>t,"viv-leader"))}visitFunc(e){switch(e.name){case"counter":if(e.values.length<=2)return this.visitFuncCounter(e.values);break;case"counters":if(e.values.length<=3)return this.visitFuncCounters(e.values);break;case"target-counter":if(e.values.length<=3)return this.visitFuncTargetCounter(e.values);break;case"target-counters":if(e.values.length<=4)return this.visitFuncTargetCounters(e.values);break;case"string":if(e.values.length<=2)return this.visitFuncString(e.values);break;case"element":if(e.values.length<=2)return this.visitFuncElement(e.values);break;case"content":if(e.values.length<=1)return this.visitFuncContent(e.values);break;case"leader":if(e.values.length<=1)return this.visitFuncLeader(e.values);break}return e}},Uf=(e,t,i)=>{let n=t.filter(h=>h.after&&h.viewNode.nodeType===1&&h.viewNode.getAttribute("data-viv-leader"));for(let h of n){let l=function(he){if(S==="rtl"){let ue="\u200F";m.textContent=(he.startsWith(ue)?"":ue)+he+(he.endsWith(ue)?"":ue)}else m.textContent=he},c=function(){let he=i.clientLayout.getElementClientRect(g);return A.left>he.left||A.right<he.right||A.top>he.top||A.bottom<he.bottom},p=function(){let he,ue;if(l(y),c())he=1,ue=y.length/w.length;else{he=y.length/w.length,ue=he;for(let x=0;x<16;x++){let P=y;for(let C=0;C<1<<x;C++)P+=w;if(l(P),c()){ue+=1<<x;break}}}for(let x=0;x<16;x++){let P="",C=Math.floor((he+ue)/2);for(let E=0;E<C;E++)P+=w;if(l(P),c())ue=C;else{if(he==C)return;he=C}}l(w)},d=function(he){let ue=0,x=g.parentElement;for(;x&&x!==f.viewNode;)ue+=i.getComputedInsets(x)[he],x=x.parentElement;return ue};var s=l,r=c,o=p,a=d;let f=h.parent;for(;f&&f.inline;)f=f.parent;let m=h.viewNode,g=m.parentElement,w=m.getAttribute("data-viv-leader-value"),y=m.textContent||w,{writingMode:b,direction:S,marginInlineEnd:T}=i.clientLayout.getElementComputedStyle(g);m.style.marginInlineStart="1px",l(w),g.style.display="inline-block",g.style.textIndent="0";let A=i.clientLayout.getElementClientRect(f.viewNode),_=i.clientLayout.getElementClientRect(g),V=i.parseComputedLength(T);b==="vertical-rl"||b==="vertical-lr"?(S==="rtl"?A.top+=V:A.bottom-=V,A.left=_.left,A.right=_.right,A.top=Math.min(_.top,A.top),A.bottom=Math.max(_.bottom,A.bottom)):(S==="rtl"?A.left+=V:A.right-=V,A.top=_.top,A.bottom=_.bottom,A.left=Math.min(_.left,A.left),A.right=Math.max(_.right,A.right)),p();let W=i.clientLayout.getElementClientRect(g);S=="rtl"?g.style.float="left":g.style.float="right";let ee=i.clientLayout.getElementClientRect(g),$e=0;S=="rtl"?b=="vertical-rl"||b=="vertical-lr"?$e=W.top-ee.top-d("top"):$e=W.left-ee.left-d("left"):b=="vertical-rl"||b=="vertical-lr"?$e=ee.bottom-W.bottom-d("bottom"):$e=ee.right-W.right-d("right"),$e=Math.max(0,$e-.1),g.style.float="",m.style.marginInlineStart=`${$e}px`}};ut("POST_LAYOUT_BLOCK",Uf);var aa={roman:[4999,1e3,"M",900,"CM",500,"D",400,"CD",100,"C",90,"XC",50,"L",40,"XL",10,"X",9,"IX",5,"V",4,"IV",1,"I"],armenian:[9999,9e3,"\u0584",8e3,"\u0583",7e3,"\u0582",6e3,"\u0581",5e3,"\u0580",4e3,"\u057F",3e3,"\u057E",2e3,"\u057D",1e3,"\u057C",900,"\u057B",800,"\u057A",700,"\u0579",600,"\u0578",500,"\u0577",400,"\u0576",300,"\u0575",200,"\u0574",100,"\u0573",90,"\u0572",80,"\u0571",70,"\u0570",60,"\u056F",50,"\u056E",40,"\u056D",30,"\u056C",20,"\u056B",10,"\u056A",9,"\u0569",8,"\u0568",7,"\u0567",6,"\u0566",5,"\u0565",4,"\u0564",3,"\u0563",2,"\u0562",1,"\u0561"],georgian:[19999,1e4,"\u10F5",9e3,"\u10F0",8e3,"\u10EF",7e3,"\u10F4",6e3,"\u10EE",5e3,"\u10ED",4e3,"\u10EC",3e3,"\u10EB",2e3,"\u10EA",1e3,"\u10E9",900,"\u10E8",800,"\u10E7",700,"\u10E6",600,"\u10E5",500,"\u10E4",400,"\u10F3",300,"\u10E2",200,"\u10E1",100,"\u10E0",90,"\u10DF",80,"\u10DE",70,"\u10DD",60,"\u10F2",50,"\u10DC",40,"\u10DB",30,"\u10DA",20,"\u10D9",10,"\u10D8",9,"\u10D7",8,"\u10F1",7,"\u10D6",6,"\u10D5",5,"\u10D4",4,"\u10D3",3,"\u10D2",2,"\u10D1",1,"\u10D0"],hebrew:[999,400,"\u05EA",300,"\u05E9",200,"\u05E8",100,"\u05E7",90,"\u05E6",80,"\u05E4",70,"\u05E2",60,"\u05E1",50,"\u05E0",40,"\u05DE",30,"\u05DC",20,"\u05DB",19,"\u05D9\u05D8",18,"\u05D9\u05D7",17,"\u05D9\u05D6",16,"\u05D8\u05D6",15,"\u05D8\u05D5",10,"\u05D9",9,"\u05D8",8,"\u05D7",7,"\u05D6",6,"\u05D5",5,"\u05D4",4,"\u05D3",3,"\u05D2",2,"\u05D1",1,"\u05D0"]},la={latin:"a-z",alpha:"a-z",greek:"\u03B1-\u03C1\u03C3-\u03C9",russian:"\u0430-\u0438\u043A-\u0449\u044D-\u044F"},ha={square:"\u25A0",disc:"\u2022",circle:"\u25E6",none:""};function $f(e,t){let i=e[0];if(t>i||t<=0||t!=Math.round(t))return"";let n="";for(let s=1;s<e.length;s+=2){let r=e[s],o=Math.floor(t/r);if(o>20)return"";for(t-=o*r;o>0;)n+=e[s+1],o--}return n}function Gf(e){let t=[],i=0;for(;i<e.length;)if(e.substr(i+1,1)=="-"){let n=e.charCodeAt(i),s=e.charCodeAt(i+2);i+=3;for(let r=n;r<=s;r++)t.push(String.fromCharCode(r))}else t.push(e.substr(i++,1));return t}function Wf(e,t){if(t<=0||t!=Math.round(t))return"";let i=Gf(e),n="";do{t--;let s=t%i.length;n=i[s]+n,t=(t-s)/i.length}while(t>0);return n}var jf={formal:!1,digits:"\u96F6\u4E00\u4E8C\u4E09\u56DB\u4E94\u516D\u4E03\u516B\u4E5D",markers:"\u5341\u767E\u5343",negative:"\u8CA0"};function Xf(e,t){if(e>9999||e<-9999)return`${e}`;if(e==0)return t.digits.charAt(0);let i=new Et;if(e<0&&(i.append(t.negative),e=-e),e<10)i.append(t.digits.charAt(e));else if(!t.formal&&e<=19)i.append(t.markers.charAt(0)),e!=0&&i.append(t.digits.charAt(e-10));else{let n=Math.floor(e/1e3);n&&(i.append(t.digits.charAt(n)),i.append(t.markers.charAt(2)));let s=Math.floor(e/100)%10;s&&(i.append(t.digits.charAt(s)),i.append(t.markers.charAt(1)));let r=Math.floor(e/10)%10;r&&(i.append(t.digits.charAt(r)),i.append(t.markers.charAt(0)));let o=e%10;o&&i.append(t.digits.charAt(o))}return i.toString()}var eo=1/1048576;function ii(e,t){for(let i in e)t[i]=e[i].clone()}var qf=class $h{constructor(){u(this,"nsCount",0),u(this,"nsPrefix",{}),u(this,"tags",{}),u(this,"nstags",{}),u(this,"epubtypes",{}),u(this,"classes",{}),u(this,"ids",{}),u(this,"pagetypes",{}),u(this,"order",0)}clone(){let t=new $h;t.nsCount=this.nsCount;for(let i in this.nsPrefix)t.nsPrefix[i]=this.nsPrefix[i];return ii(this.tags,t.tags),ii(this.nstags,t.nstags),ii(this.epubtypes,t.epubtypes),ii(this.classes,t.classes),ii(this.ids,t.ids),ii(this.pagetypes,t.pagetypes),t.order=this.order,t}insertInTable(t,i,n){let s=t[i];s&&(n=s.mergeWith(n)),t[i]=n}createInstance(t,i,n,s){return new Yf(this,t,i,n,s)}nextOrder(){return this.order+=eo}},Yf=class{constructor(e,t,i,n,s){this.context=t,this.counterListener=i,this.counterResolver=n,u(this,"code"),u(this,"stack",[[],[]]),u(this,"conditions",{}),u(this,"currentElement",null),u(this,"currentElementOffset",null),u(this,"currentStyle",null),u(this,"currentClassNames",null),u(this,"currentLocalName",""),u(this,"currentNamespace",""),u(this,"currentId",""),u(this,"currentXmlId",""),u(this,"currentNSTag",""),u(this,"currentEpubTypes",null),u(this,"currentPageType",null),u(this,"previousPageType",null),u(this,"firstPageType",null),u(this,"isFirst",!0),u(this,"isRoot",!0),u(this,"counters",{}),u(this,"counterScoping",[{}]),u(this,"quotes"),u(this,"quoteDepth",0),u(this,"lang",""),u(this,"siblingOrderStack",[0]),u(this,"currentSiblingOrder",0),u(this,"siblingTypeCountsStack",[{}]),u(this,"currentSiblingTypeCounts"),u(this,"currentFollowingSiblingOrder",null),u(this,"followingSiblingOrderStack"),u(this,"followingSiblingTypeCountsStack",[{}]),u(this,"currentFollowingSiblingTypeCounts"),u(this,"viewConditions",{}),u(this,"dependentConditions",[]),u(this,"elementStack"),this.code=e,this.quotes=[new Fe("\u201C"),new Fe("\u201D"),new Fe("\u2018"),new Fe("\u2019")],this.currentSiblingTypeCounts=this.siblingTypeCountsStack[0],this.followingSiblingOrderStack=[this.currentFollowingSiblingOrder],this.currentFollowingSiblingTypeCounts=this.siblingTypeCountsStack[0]}pushConditionItem(e){this.stack[this.stack.length-1].push(e)}increment(e,t){this.conditions[e]=(this.conditions[e]||0)+1,t&&(this.viewConditions[e]?this.viewConditions[e].push(t):this.viewConditions[e]=[t])}decrement(e,t){this.conditions[e]--,this.viewConditions[e]&&(this.viewConditions[e]=this.viewConditions[e].filter(i=>i!==t),this.viewConditions[e].length===0&&delete this.viewConditions[e])}buildViewConditionMatcher(e){let t=null;e&&(this.currentElementOffset,t=Tn.buildViewConditionMatcher(this.currentElementOffset,e));let i=this.dependentConditions.map(n=>{let s=this.viewConditions[n];return s&&s.length>0?s.length===1?s[0]:Tn.buildAnyMatcher([].concat(s)):null}).filter(n=>n);return i.length<=0?t:t===null?i.length===1?i[0]:Tn.buildAllMatcher(i):Tn.buildAllMatcher([t].concat(i))}applyAction(e,t){let i=e[t];i&&i.apply(this)}pushRule(e,t,i){this.currentElement=null,this.currentElementOffset=null,this.currentStyle=i,this.currentNamespace="",this.currentLocalName="",this.currentId="",this.currentXmlId="",this.currentClassNames=e,this.currentNSTag="",this.currentEpubTypes=As,this.currentPageType=t,this.applyActions()}defineCounter(e,t){let i=this.counterScoping[this.counterScoping.length-1];i||(i={},this.counterScoping[this.counterScoping.length-1]=i),this.counters[e]?(i[e]&&this.counters[e].pop(),this.counters[e].push(t)):this.counters[e]=[t],i[e]=!0}pushCounters(e){var t,i,n,s,r,o,a;let h=v.inline,l=e.display;if(l&&(h=l.evaluate(this.context)),h===v.none){this.currentElement.setAttribute("data-viv-display-none","true"),this.counterScoping.push(null);return}else if(this.currentElement.closest("[data-viv-display-none]")){this.counterScoping.push(null);return}let c=v.inline,p=e.float;p&&(c=p.evaluate(this.context));let d=null,f=null,m=null,g=e["counter-reset"];if(g){let b=g.evaluate(this.context);b&&(d=Wi(b,!0))}let w=e["counter-set"];if(w){let b=w.evaluate(this.context);b&&(m=Wi(b,!1))}let y=e["counter-increment"];if(y){let b=y.evaluate(this.context);b&&(f=Wi(b,!1))}if((this.currentLocalName=="ol"||this.currentLocalName=="ul")&&this.currentNamespace=="http://www.w3.org/1999/xhtml"&&(d||(d={}),d["list-item"]=((i=(t=this.currentElement)==null?void 0:t.start)!=null?i:1)-1),h===v.list_item&&(f||(f={}),f["list-item"]=(n=f["list-item"])!=null?n:1,/^\s*[-+]?\d/.test((r=(s=this.currentElement)==null?void 0:s.getAttribute("value"))!=null?r:"")&&(m||(m={}),m["list-item"]=this.currentElement.value)),((o=this.currentElement)==null?void 0:o.parentNode.nodeType)===Node.DOCUMENT_NODE&&(d||(d={}),d.footnote===void 0&&(d.footnote=0)),c===v.footnote&&(f||(f={}),f.footnote===void 0)){let b=(a=this.currentStyle["counter-increment"])==null?void 0:a.value;(!b||!(b===v.footnote||b instanceof xe&&b.values.includes(v.footnote)))&&(f.footnote=1)}if(d)for(let b in d)this.defineCounter(b,d[b]);if(f)for(let b in f){this.counters[b]||this.defineCounter(b,0);let S=this.counters[b];S[S.length-1]+=f[b]}if(m)for(let b in m)if(!this.counters[b])this.defineCounter(b,m[b]);else{let S=this.counters[b];S[S.length-1]=m[b]}if(h===v.list_item){let b=this.counters["list-item"],S=b[b.length-1];e["ua-list-item-count"]=new q(new Ht(S),0)}this.counterScoping.push(null)}popCounters(){let e=this.counterScoping.pop();if(e)for(let t in e){let i=this.counters[t];i&&(i.length==1?delete this.counters[t]:i.pop())}}setNamedStrings(e){let t=e["string-set"];if(!t)return;t=t.filterValue(new gr(this,this.currentElement,this.counterResolver));let i=t.value instanceof Ye?t.value.values:[t.value];for(let n of i)if(n instanceof xe){let s=n.values[0].stringValue(),r=n.values.slice(1).map(o=>Yi(o)).join("");this.counterResolver.setNamedString(s,r,this.currentElementOffset)}delete e["string-set"]}setRunningElement(e){let t=e.position;if(t?.value instanceof Ni&&t.value.name==="running"){let i=t.value.values[0].stringValue();this.counterResolver.setRunningElement(i,this.currentElementOffset)}}processPseudoelementProps(e,t){this.pushCounters(e);let i=e.content;i&&(e.content=i.filterValue(new gr(this,t,this.counterResolver))),this.popCounters()}pushElement(e,t,i,n){var s,r;this.currentPageType=null,this.currentElement=t,this.currentElementOffset=n,this.currentStyle=i,this.currentNamespace=t.namespaceURI,this.currentLocalName=t.localName;let o=this.code.nsPrefix[this.currentNamespace];o?this.currentNSTag=o+this.currentLocalName:this.currentNSTag="",this.currentId=t.getAttribute("id"),this.currentXmlId=t.getAttributeNS("http://www.w3.org/XML/1998/namespace","id");let a=t.getAttribute("class");a?this.currentClassNames=a.split(/\s+/):this.currentClassNames=As;let h=t.getAttributeNS("http://www.idpf.org/2007/ops","type");h?this.currentEpubTypes=h.split(/\s+/):this.currentEpubTypes=As;let l=Ms(t);l&&(this.stack[this.stack.length-1].push(new Df(this.lang)),this.lang=l.toLowerCase());let c=this.isRoot,p=this.siblingOrderStack;this.currentSiblingOrder=++p[p.length-1],p.push(0);let d=this.siblingTypeCountsStack,f=this.currentSiblingTypeCounts=d[d.length-1],m=f[this.currentNamespace];m||(m=f[this.currentNamespace]={}),m[this.currentLocalName]=(m[this.currentLocalName]||0)+1,d.push({});let g=this.followingSiblingOrderStack;g[g.length-1]!==null?this.currentFollowingSiblingOrder=--g[g.length-1]:this.currentFollowingSiblingOrder=null,g.push(null);let w=this.followingSiblingTypeCountsStack,y=this.currentFollowingSiblingTypeCounts=w[w.length-1];y&&y[this.currentNamespace]&&y[this.currentNamespace][this.currentLocalName]--,w.push({}),this.applyActions(),this.applyVarFilter([this.currentStyle],e,t),this.applyCalcFilter(this.currentStyle,this.context),this.applyAttrFilter(t);let b=i.quotes,S=null;if(b){let _=b.evaluate(this.context);_&&(S=new Vf(this.quotes),_===v.none?this.quotes=[new Fe(""),new Fe("")]:_===v.auto||_===v.initial?this.quotes=[new Fe("\u201C"),new Fe("\u201D"),new Fe("\u2018"),new Fe("\u2019")]:_ instanceof xe&&(this.quotes=_.values))}this.pushCounters(this.currentStyle);let T=this.currentId||this.currentXmlId||t.getAttribute("name")||"";if(c||T){let _={};Object.keys(this.counters).forEach(V=>{_[V]=Array.from(this.counters[V])}),this.counterListener.countersOfId(T,_)}let A=pt(this.currentStyle,"_pseudos");if(A){let _=!0;for(let V of Zf){V||(_=!1);let W=A[V];W&&((V==="before"||V==="after")&&!Vt((s=W.content)==null?void 0:s.value)||(V==="footnote-call"||V==="footnote-marker")&&((r=Ue(this.currentStyle,"float"))==null?void 0:r.value)!==v.footnote?delete A[V]:_?this.processPseudoelementProps(W,t):this.stack[this.stack.length-2].push(new zf(W,t)))}}this.setNamedStrings(this.currentStyle),this.setRunningElement(this.currentStyle),S&&this.stack[this.stack.length-2].push(S)}applyAttrFilterInner(e,t){for(let i in t)wi(i)&&!kt(i)&&(t[i]=t[i].filterValue(e))}applyAttrFilter(e){let t=new Hf(e),i=this.currentStyle,n=pt(i,"_pseudos");for(let s in n)this.applyAttrFilterInner(t,n[s]);this.applyAttrFilterInner(t,i)}applyVarFilter(e,t,i){var n,s,r;let o=e[0],a=new rg(e,t,i),h=32,l={};for(let c in o)if(cr(c)){let p=pt(o,c);for(let d in p)this.applyVarFilter([p[d],...e],t,i)}else if(wi(c)){let p=Ue(o,c),d=p.value;for(let f=0;;f++){if(f>=h){d=G;break}let m=d.visit(a);if(a.error){d=G,a.error=!1;break}if(m===d)break;d=m}if(d!==p.value){let f=t.validatorSet,m=(n=f?.shorthands[c])==null?void 0:n.clone();if(m)if(J(d)){for(let g of m.propList){let w=new q(d,p.priority),y=Ue(o,g);Yt(l,g,ur(this.context,y,w))}delete o[c]}else{let g=Pi(t.scope,new gt(d.toString(),null),"");if(g&&(g.visit(m),!m.error)){for(let w of m.propList){let y=new q((r=(s=m.values[w])!=null?s:f.defaultValues[w])!=null?r:v.initial,p.priority),b=Ue(o,w);Yt(l,w,ur(this.context,b,y))}delete o[c]}}else o[c]=new q(d,p.priority)}if(l[c]){let f=Ue(o,c);f&&f.value!==G&&Pt(l,c,f,this.context)}}for(let c in l)o[c]=l[c]}applyCalcFilter(e,t){let i=new Kh(t);for(let n in e)if(cr(n)){let s=pt(e,n);for(let r in s)this.applyCalcFilter(s[r],t)}else if(wi(n)&&!kt(n)){let s=Ue(e,n),r=s.value.visit(i);r!==s.value&&(e[n]=new q(r,s.priority))}}applyActions(){let e;for(e=0;e<this.currentClassNames.length;e++)this.applyAction(this.code.classes,this.currentClassNames[e]);for(e=0;e<this.currentEpubTypes.length;e++)this.applyAction(this.code.epubtypes,this.currentEpubTypes[e]);this.applyAction(this.code.ids,this.currentId),this.applyAction(this.code.tags,this.currentLocalName),this.currentLocalName!=""&&this.applyAction(this.code.tags,"*"),this.applyAction(this.code.nstags,this.currentNSTag),this.currentPageType!==null&&(this.applyAction(this.code.pagetypes,this.currentPageType),this.applyAction(this.code.pagetypes,"*")),this.stack.push([]);for(let t=1;t>=-1;--t){let i=this.stack[this.stack.length-t-2];for(e=0;e<i.length;)i[e].push(this,t)?i.splice(e,1):e++}this.isFirst=!0,this.isRoot=!1}pop(){for(let e=1;e>=-1;--e){let t=this.stack[this.stack.length-e-2],i=0;for(;i<t.length;)t[i].pop(this,e)?t.splice(i,1):i++}this.stack.pop(),this.isFirst=!1}popRule(){this.pop()}popElement(e){this.siblingOrderStack.pop(),this.siblingTypeCountsStack.pop(),this.followingSiblingOrderStack.pop(),this.followingSiblingTypeCountsStack.pop(),this.pop(),this.popCounters()}},As=[],Zf=["before","transclusion-before","footnote-call","footnote-marker","inner","first-letter","first-line","","transclusion-after","after"],mr=null;function Kf(e){mr=e}var rn=class extends bn{constructor(e,t,i,n,s,r,o){super(e,t,o),this.condition=i,this.regionId=s,this.validatorSet=r,u(this,"chain",null),u(this,"specificity",0),u(this,"elementStyle",null),u(this,"conditionCount",0),u(this,"pseudoelement",null),u(this,"footnoteContent",!1),u(this,"cascade"),u(this,"state"),u(this,"viewConditionId",null),u(this,"insideSelectorRule"),u(this,"invalid",!1),this.cascade=n?n.cascade:mr?mr.clone():new qf,this.state=0}insertNonPrimary(e){this.cascade.insertInTable(this.cascade.tags,"*",e)}processChain(e){let t=Bh(this.chain,e);t!==e&&t.makePrimary(this.cascade)||this.insertNonPrimary(t)}isInsideSelectorRule(e){return this.state!=0?(this.reportAndSkip(e),!0):!1}tagSelector(e,t){!t&&!e||(t&&(this.specificity+=1),t&&e?this.chain.push(new vf(e,t.toLowerCase())):t?this.chain.push(new sa(t.toLowerCase())):this.chain.push(new xf(e)))}invalidSelector(e){H.warn(e),this.chain.push(new We("")),this.setInvalid()}setInvalid(){this.invalid=!0;for(let e=this;e instanceof on;e=e.parent)e.parent.invalid=!0}classSelector(e){if(this.pseudoelement){this.invalidSelector(`::${this.pseudoelement} followed by .${e}`);return}this.specificity+=256,this.chain.push(new wf(e))}pseudoclassSelector(e,t){if(this.pseudoelement){this.invalidSelector(`::${this.pseudoelement} followed by :${e}`);return}switch(e.toLowerCase()){case"enabled":this.chain.push(new Tf);break;case"disabled":this.chain.push(new If);break;case"checked":this.chain.push(new Rf);break;case"root":case"scope":this.chain.push(new kf);break;case"link":this.chain.push(new sa("a")),this.chain.push(new ra("","href"));break;case"-adapt-href-epub-type":case"href-epub-type":if(t&&t.length>=1&&typeof t[0]=="string"){let i=t[0],n=new RegExp(`(^|\\s)${Rt(i)}($|\\s)`),s=t[1];this.chain.push(new yf(n,s))}else this.chain.push(new We(""));break;case"-adapt-footnote-content":case"footnote-content":this.footnoteContent=!0;break;case"visited":case"active":case"hover":case"focus":this.chain.push(new We(""));break;case"lang":if(t&&t.length==1&&typeof t[0]=="string"){let i=t[0];this.chain.push(new Ef(new RegExp(`^${Rt(i.toLowerCase())}($|-)`)))}else this.chain.push(new We(""));break;case"nth-child":case"nth-last-child":case"nth-of-type":case"nth-last-of-type":{let i=Jf[e.toLowerCase()];t&&t.length==2?this.chain.push(new i(t[0],t[1])):this.chain.push(new We(""));break}case"first-child":this.chain.push(new oa);break;case"last-child":this.chain.push(new pr(0,1));break;case"first-of-type":this.chain.push(new dr(0,1));break;case"last-of-type":this.chain.push(new fr(0,1));break;case"only-child":this.chain.push(new oa),this.chain.push(new pr(0,1));break;case"only-of-type":this.chain.push(new dr(0,1)),this.chain.push(new fr(0,1));break;case"empty":this.chain.push(new Pf);break;case"before":case"after":case"first-line":case"first-letter":this.pseudoelementSelector(e,t);return;default:this.invalidSelector(`Unknown pseudo-class :${e}`);return}this.specificity+=256}pseudoelementSelector(e,t){switch(e){case"before":case"after":case"first-line":case"first-letter":case"footnote-call":case"footnote-marker":case"inner":case"after-if-continues":if(!this.pseudoelement)this.pseudoelement=e;else{this.invalidSelector(`Double pseudo-element ::${this.pseudoelement}::${e}`);return}break;case"first-n-lines":if(t&&t.length==1&&typeof t[0]=="number"){let i=Math.round(t[0]);if(i>0&&i==t[0]){if(!this.pseudoelement)this.pseudoelement=`first-${i}-lines`;else{this.invalidSelector(`Double pseudo-element ::${this.pseudoelement}::${e}`);return}break}}this.chain.push(new We(""));break;case"nth-fragment":t&&t.length==2?this.viewConditionId=`NFS_${t[0]}_${t[1]}`:this.chain.push(new We(""));break;default:this.invalidSelector(`Unknown pseudo-element ::${e}`);return}this.specificity+=1}idSelector(e){this.specificity+=65536,this.chain.push(new bf(e))}attributeSelector(e,t,i,n){this.specificity+=256,t=t.toLowerCase(),n=n||"";let s;switch(i){case 0:s=new ra(e,t);break;case 39:s=new Sf(e,t,n);break;case 45:!n||n.match(/\s/)?s=new We(""):s=new Oi(e,t,new RegExp(`(^|\\s)${Rt(n)}($|\\s)`));break;case 44:s=new Oi(e,t,new RegExp(`^${Rt(n)}($|-)`));break;case 43:n?s=new Oi(e,t,new RegExp(`^${Rt(n)}`)):s=new We("");break;case 42:n?s=new Oi(e,t,new RegExp(`${Rt(n)}$`)):s=new We("");break;case 46:n?s=new Oi(e,t,new RegExp(Rt(n))):s=new We("");break;case 50:if(n=="supported")s=new Cf(e,t);else{this.invalidSelector(`Unsupported :: attr selector op: ${n}`);return}break;default:this.invalidSelector(`Unsupported attr selector: ${i}`);return}this.chain.push(s)}descendantSelector(){let e=`d${Rn++}`;this.processChain(new In(new Of(e,this.viewConditionId,null))),this.chain=[new We(e)],this.viewConditionId=null}childSelector(){let e=`c${Rn++}`;this.processChain(new In(new Bf(e,this.viewConditionId,null))),this.chain=[new We(e)],this.viewConditionId=null}adjacentSiblingSelector(){let e=`a${Rn++}`;this.processChain(new In(new _f(e,this.viewConditionId,null))),this.chain=[new We(e)],this.viewConditionId=null}followingSiblingSelector(){let e=`f${Rn++}`;this.processChain(new In(new Mf(e,this.viewConditionId,null))),this.chain=[new We(e)],this.viewConditionId=null}nextSelector(){this.finishChain(),this.pseudoelement=null,this.footnoteContent=!1,this.specificity=0,this.chain=[]}startSelectorRule(){this.isInsideSelectorRule("E_CSS_UNEXPECTED_SELECTOR")||(this.state=1,this.elementStyle={},this.pseudoelement=null,this.specificity=0,this.footnoteContent=!1,this.chain=[],this.invalid=!1)}error(e,t){super.error(e,t),this.state==1&&(this.state=0),this.setInvalid()}startStylesheet(e){super.startStylesheet(e),this.state=0}startRuleBody(){this.finishChain(),super.startRuleBody(),this.state==1&&(this.state=0)}endRule(){super.endRule(),this.insideSelectorRule=0}finishChain(){this.chain&&(this.processChain(this.makeApplyRuleAction(this.specificity)),this.chain=null,this.pseudoelement=null,this.viewConditionId=null,this.footnoteContent=!1,this.specificity=0)}makeApplyRuleAction(e){let t=this.regionId;return this.footnoteContent&&(t?t="xxx-bogus-xxx":t="footnote"),new Jr(this.elementStyle,e,this.pseudoelement,t,this.viewConditionId)}special(e,t){let i;this.condition?i=new lr(t,0,this.condition):i=new q(t,0),Oh(this.elementStyle,e).push(i)}property(e,t,i){this.validatorSet.validatePropertyAndHandleShorthand(e,t,i,this)}invalidPropertyValue(e,t){this.report(`E_INVALID_PROPERTY_VALUE ${e}: ${t.toString()}`)}unknownProperty(e,t){this.report(`E_INVALID_PROPERTY ${e}: ${t.toString()}`)}simpleProperty(e,t,i){e=="display"&&(t===v.oeb_page_head||t===v.oeb_page_foot)&&(this.simpleProperty("flow-options",new xe([v.exclusive,v._static]),i),this.simpleProperty("flow-into",t,i),t=v.block),ft("SIMPLE_PROPERTY").forEach(r=>{let o=r({name:e,value:t,important:i});e=o.name,t=o.value,i=o.important});let n=(i?this.getImportantSpecificity():this.getBaseSpecificity())+this.cascade.nextOrder(),s=this.condition?new lr(t,n,this.condition):new q(t,n);Pt(this.elementStyle,e,s)}finish(){return this.cascade}startFuncWithSelector(e){let t;switch(e){case"is":t=new on(this);break;case"not":t=new Qf(this);break;case"where":t=new eg(this);break;case"has":t=new tg(this);break}t&&(t.startSelectorRule(),this.owner.pushHandler(t))}},Jf={"nth-child":Nf,"nth-of-type":dr,"nth-last-child":pr,"nth-last-of-type":fr},Rn=0,on=class Gh extends rn{constructor(t){super(t.scope,t.owner,t.condition,t,t.regionId,t.validatorSet,!1),this.parent=t,u(this,"parentChain"),u(this,"chains",[]),u(this,"maxSpecificity",0),u(this,"selectorTexts",[]),this.parentChain=t.chain}nextSelector(){this.chain&&this.chains.push(this.chain),this.maxSpecificity=Math.max(this.maxSpecificity,this.specificity),this.chain=[],this.pseudoelement=null,this.viewConditionId=null,this.footnoteContent=!1,this.specificity=0}endFuncWithSelector(){this.chain&&this.chains.push(this.chain),this.chains.length>0?(this.maxSpecificity=Math.max(this.maxSpecificity,this.specificity),this.parentChain.push(this.relational()?new Ff(this.selectorTexts):this.positive()?new Qr(this.chains):new Lf(this.chains)),this.increasingSpecificity()&&(this.parent.specificity+=this.maxSpecificity)):this.parentChain.push(new We("")),this.owner.popHandler()}startRuleBody(){this.reportAndSkip("E_CSS_UNEXPECTED_RULE_BODY")}error(t,i){super.error(t,i),this.chain=null,this.pseudoelement=null,this.viewConditionId=null,this.footnoteContent=!1,this.specificity=0;let n=!1;for(let s=this;s instanceof Gh;s=s.parent)if(s.forgiving()){n=!0;break}n||this.owner.popHandler()}pushSelectorText(t){this.chain&&this.relational()&&this.selectorTexts.push(t)}positive(){return!0}increasingSpecificity(){return!0}forgiving(){return!0}relational(){return!1}},Qf=class extends on{positive(){return!1}forgiving(){return!1}},eg=class extends on{increasingSpecificity(){return!1}},tg=class extends on{relational(){return!0}},ig=class extends bn{constructor(e,t){super(e,t,!1)}property(e,t,i){if(this.scope.values[e])this.error(`E_CSS_NAME_REDEFINED ${e}`,this.getCurrentToken());else{let n=e.match(/height|^(top|bottom)$/)?"vh":"vw",s=new fn(this.scope,100,n);this.scope.defineName(e,t.toExpr(this.scope,s))}}},An=class extends bn{constructor(e,t,i,n,s,r){super(e,t,!1),this.condition=i,this.elementStyle=n,this.validatorSet=s,this.ruleType=r,u(this,"order"),this.order=0}property(e,t,i){i?H.warn("E_IMPORTANT_NOT_ALLOWED"):this.validatorSet.validatePropertyAndHandleShorthand(e,t,i,this)}invalidPropertyValue(e,t){H.warn("E_INVALID_PROPERTY_VALUE",`${e}:`,t.toString())}unknownProperty(e,t){H.warn("E_INVALID_PROPERTY",`${e}:`,t.toString())}simpleProperty(e,t,i){let n=i?this.getImportantSpecificity():this.getBaseSpecificity();n+=this.order,this.order+=eo;let s=this.condition?new lr(t,n,this.condition):new q(t,n);Pt(this.elementStyle,e,s)}},ng=class extends eh{constructor(e,t){super(e),this.validatorSet=t,u(this,"elementStyle",{}),u(this,"order",0)}property(e,t,i){this.validatorSet.validatePropertyAndHandleShorthand(e,t,i,this)}invalidPropertyValue(e,t){H.warn("E_INVALID_PROPERTY_VALUE",`${e}:`,t.toString())}unknownProperty(e,t){H.warn("E_INVALID_PROPERTY",`${e}:`,t.toString())}simpleProperty(e,t,i){let n=i?Ql:Jl;n+=this.order,this.order+=eo;let s=new q(t,n);Pt(this.elementStyle,e,s)}};function Wh(e,t){let i=Lh(e);i&&i.forEach(n=>{n.matcher.matches()&&t(n.styles)})}function wr(e,t,i){Wh(i,n=>{Zi(e,n,t)})}function sg(e,t,i,n){let s=new ng(e,t),r=new gt(n,s);try{dp(r,s,i)}catch(o){H.warn(o,"Style attribute parse error:")}return s.elementStyle}function jh(e,t,i){let n=e["writing-mode"];if(n){let s=n.evaluate(t,"writing-mode");if(s&&s!==v.inherit&&s!==v.revert&&s!==v.unset)return s===v.vertical_rl}return i}function Xh(e,t,i){let n=e.direction;if(n){let s=n.evaluate(t,"direction");if(s&&s!==v.inherit&&s!==v.revert&&s!==v.unset)return s===v.rtl}return i}function qh(e,t,i,n,s){let r={};for(let o in e)wi(o)&&(r[o]=Ue(e,o));return wr(r,t,e),Yh(e,i,n,(o,a)=>{Zi(r,a,t),wr(r,t,a)}),r}function Yh(e,t,i,n){let s=pt(e,"_regions");if((t||i)&&s){if(i){let r=["footnote"];t?t=t.concat(r):t=r}for(let r of t){let o=s[r];o&&n(r,o)}}}function Zi(e,t,i){for(let n in t)if(wi(n)){let s=Ue(t,n),r=e[n];e[n]=ur(i,r,s)}}var Zh=(e,t,i,n,s,r)=>{var o,a;let h=i?n?hf:Ih:n?uf:Rh,l=s?cf:df;for(let c in e){let p=e[c];if(!p)continue;let d=(o=h[c])!=null?o:h[l[c]],f=(a=l[c])!=null?a:l[h[c]],m=d??f,g;if(m){let w=e[m];if(w&&w.priority>p.priority||d&&f&&d!==f&&(m=f,w=e[m],w&&w.priority>p.priority))continue;g=na[d]?d:na[f]?f:c}else g=c,c.startsWith("text-align")&&(p.value===v.inside||p.value===v.outside)&&(p=new q(s===(p.value===v.inside)?v.right:v.left,p.priority));t[g]=r(c,p)}},rg=class extends ki{constructor(e,t,i){super(),this.elementStyles=e,this.styler=t,this.element=i}getVarValue(e){var t,i,n,s,r;let o=(t=this.element)!=null?t:this.styler.root;if((i=this.elementStyles)!=null&&i.length){for(let a of this.elementStyles){let h=(n=a[e])==null?void 0:n.value;if(h)return h}this.element&&(o=this.element.parentElement)}for(;o;o=o.parentElement){let a=(r=(s=this.styler.getStyle(o,!1))==null?void 0:s[e])==null?void 0:r.value;if(a)return a}return null}visitFunc(e){if(e.name!=="var")return super.visitFunc(e);let t=e.values[0]instanceof nt&&e.values[0].name;return!t||!kt(t)?(this.error=!0,G):this.getVarValue(t)||(e.values.length<2?(this.error=!0,G):e.values.length===2?e.values[1]:new Ye(e.values.slice(1)))}},Kh=class extends ki{constructor(e,t,i,n){super(),this.context=e,this.resolveViewportUnit=t,this.percentRef=i,this.vertical=n}visitFunc(e){let t=super.visitFunc(e);if(e.name!=="calc")return t;let i=t.toString().replace(/^calc\b/,"-epubx-expr");if(/\d(%|em|ex|cap|ch|ic|lh|p?v[whbi]|p?vmin|p?vmax)\W|\Wvar\(\s*--/i.test(i))return t;let n=Pi(this.context.rootScope,new gt(i,null),"");if(n instanceof z)try{let s=n.expr.evaluate(this.context);typeof s=="number"&&!isNaN(s)&&(/\d(px|in|pt|pc|cm|mm|q|rem|rlh)\W/i.test(i)?t=new I(s,"px"):/\d[a-z]/i.test(i)||(t=new Ht(s)))}catch(s){H.warn(s)}return t}visitNumeric(e){return this.resolveViewportUnit&&(pl(e.unit)||jc(e.unit))?new I(e.num*this.context.queryUnitSize(e.unit,!1,this.vertical),"px"):typeof this.percentRef=="number"&&e.unit==="%"?new I(e.num*this.percentRef/100,"px"):e}};function Jn(e,t,i,n,s){try{if(t instanceof z)return t.expr instanceof De&&(t.expr.str.startsWith("named-string-")||t.expr.str.startsWith("running-element-"))?t:mp(e,t.expr,i);if(t instanceof I||t instanceof Ni||t instanceof xe||t instanceof Ye)return t.visit(new Kh(e,!0,n,s))}catch(r){return H.warn(r),G}return t}var ua={first:!1,forceEnd:!1,allowEnd:!1,last:!1};function ca(e){let t=e instanceof Ge?e:typeof e=="string"?B(e):v.none;if(t===v.none)return ua;let i=t instanceof xe?t.values:[t],n=Object.create(ua);for(let s of i)if(s instanceof nt)switch(s.name){case"first":n.first=!0;break;case"force-end":n.forceEnd=!0,n.allowEnd=!1;break;case"allow-end":n.forceEnd=!1,n.allowEnd=!0;break;case"last":n.last=!0;break}return n}function da(e){return!e.first&&!e.last&&!e.forceEnd&&!e.allowEnd}var og={trimStart:!1,spaceFirst:!1,trimEnd:!1,allowEnd:!1,trimAdjacent:!1},pa={trimStart:!1,spaceFirst:!1,trimEnd:!1,allowEnd:!0,trimAdjacent:!0},fa={trimStart:!0,spaceFirst:!1,trimEnd:!0,allowEnd:!1,trimAdjacent:!0};function ga(e){let t=e instanceof Ge?e:typeof e=="string"?B(e):v.normal;if(t===v.normal)return pa;if(t===v.auto)return fa;let i=t instanceof xe?t.values:[t],n=Object.create(pa);for(let s of i)if(s instanceof nt)switch(s.name){case"trim-both":case"trim-auto":return fa;case"space-all":return og;case"trim-start":n.trimStart=!0,n.spaceFirst=!1;break;case"space-start":n.trimStart=!1,n.spaceFirst=!1;break;case"space-first":n.trimStart=!1,n.spaceFirst=!0;break;case"trim-end":n.trimEnd=!0,n.allowEnd=!1;break;case"space-end":n.trimEnd=!1,n.allowEnd=!1;break;case"allow-end":n.trimEnd=!1,n.allowEnd=!0;break;case"trim-adjacent":n.trimAdjacent=!0;break;case"space-adjacent":n.trimAdjacent=!1;break}return n}var Ls={ideographAlpha:!1,ideographNumeric:!1},ag={ideographAlpha:!0,ideographNumeric:!0};function ma(e){let t=e instanceof Ge?e:typeof e=="string"?B(e):v.normal;if(t===v.normal||t===v.auto)return ag;if(t===v.none)return Ls;let i=t instanceof xe?t.values:[t],n=Object.create(Ls);for(let s of i)if(s instanceof nt)switch(s.name){case"no-autospace":return Ls;case"ideograph-alpha":n.ideographAlpha=!0;break;case"ideograph-numeric":n.ideographNumeric=!0;break}return n}function wa(e,t){return!e.ideographAlpha&&!e.ideographNumeric&&!t.trimStart&&!t.spaceFirst&&!t.trimEnd&&!t.allowEnd&&!t.trimAdjacent}function ba(e){return e?(e=e.toLowerCase(),/^zh\b.*-(hant|tw|hk)\b/.test(e)?"zh-hant":/^zh\b/.test(e)?"zh-hans":/^ja\b/.test(e)?"ja":/^ko\b/.test(e)?"ko":e):null}var lg=class{getPolyfilledInheritedProps(){return["hanging-punctuation","text-autospace","text-spacing-trim"]}preprocessSingleDocument(e){e.body&&this.preprocessForTextSpacing(e.body)}preprocessForTextSpacing(e){var t;let i=e.ownerDocument.createNodeIterator(e,NodeFilter.SHOW_TEXT);for(let n=i.nextNode();n;n=i.nextNode()){if(n.parentElement.namespaceURI!=="http://www.w3.org/1999/xhtml"||((t=n.parentElement.dataset)==null?void 0:t.mathTypeset)==="true")continue;let s=n.textContent.replace(/(?![()\[\]{}])[\p{Ps}\p{Pe}\p{Pf}\p{Pi}、。,.:;、。\u3000]\p{M}*(?=\P{M})|.(?=(?![()\[\]{}])[\p{Ps}\p{Pe}\p{Pf}\p{Pi}、。,.:;、。\u3000])|(?!\p{P})[\p{sc=Han}\u3041-\u30FF\u31C0-\u31FF]\p{M}*(?=(?![\p{sc=Han}\u3041-\u30FF\u31C0-\u31FF\uFF01-\uFF60])[\p{L}\p{Nd}])|(?![\p{sc=Han}\u3041-\u30FF\u31C0-\u31FF\uFF01-\uFF60])[\p{L}\p{Nd}]\p{M}*(?=(?!\p{P})[\p{sc=Han}\u3041-\u30FF\u31C0-\u31FF])/gsu,"$&\0").split("\0");if(s.length>1){let r=s.length-1;for(let o=0;o<r;o++)n.parentNode.insertBefore(document.createTextNode(s[o]),n);n.textContent=s[r]}}}processGeneratedContent(e,t,i,n,s,r){s=ba(s);let o=ma(t),a=ga(i),h=ca(n);if(da(h)&&wa(o,a))return;this.preprocessForTextSpacing(e);let l=e.style.whiteSpace;(r?e.offsetHeight:e.offsetWidth)===0&&(e.style.whiteSpace="pre");let c=e.ownerDocument.createNodeIterator(e,NodeFilter.SHOW_TEXT),p=null,d=null;for(let f=c.nextNode();f;f=d){d=c.nextNode();let m=!p,g=!p||/\n$/.test(p.textContent),w=!d||/^\n/.test(d.textContent),y=!d;this.processTextSpacing(f,m||g,m,g,w,y,p,d,o,a,h,s,r),p=f}e.style.whiteSpace=l}postLayoutBlock(e,t){var i,n,s,r,o,a,h;let l=!e||e.fragmentIndex===1&&d(),c=l||f();function p(y){var b;if(y?.nodeType!==1)return!1;let S=y;if(S.hasAttribute(xi))return!0;let{position:T,float:A}=(b=S.style)!=null?b:{};return T==="absolute"||T==="fixed"||A&&A!=="none"}function d(){let y=t[0];for(let b=y;;b=b.parent)if(!b||!b.inline){if(b?.fragmentIndex!==1)return!1;break}if(!y.inline)return!0;for(let b=y.viewNode.previousSibling;b;b=b.previousSibling)if(!Ve(b,y.whitespace)&&!p(b))return!1;return!0}function f(){var y,b;let S=t[0],T;for(;S&&S.inline&&(T=(y=S.viewNode)==null?void 0:y.previousSibling,!(T&&(T.nodeType===3&&/^[ \t\r\n\f]*$/.test(T.textContent)&&S.whitespace!==Je.PRESERVE&&(T=T.previousSibling),T)));)S=S.parent;for(;T;){if(T.nodeType===1){if(T.localName==="br")return!0;let A=(b=T.style)==null?void 0:b.display;if(A&&A!=="inline")return!/^(inline|ruby)\b/.test(A)}else if(T.nodeType===3){if(S.whitespace===Je.PRESERVE){if(/\n$/.test(T.textContent))return!0}else if(S.whitespace===Je.NEWLINE&&/\n[ \t\r\n\f]*$/.test(T.textContent))return!0}T=T.lastChild}return!1}let m=-1;for(let y=0;y<t.length;y++){let b=t[y];if(!b.after&&b.inline&&!b.display&&b.parent&&b.viewNode.parentNode&&b.viewNode.nodeType===Node.TEXT_NODE&&!Ve(b.viewNode,b.whitespace)){let S=function(E){var L,R,O;if(((L=E.viewNode)==null?void 0:L.nodeType)===1)return E.viewNode.localName==="br";if(((R=E.viewNode)==null?void 0:R.nodeType)===3){if(E.whitespace===Je.PRESERVE){if(/\n$/.test(E.viewNode.textContent))return!0}else if(E.whitespace===Je.NEWLINE&&/\n[ \t\r\n\f]*$/.test(E.viewNode.textContent))return!0;if(((O=E.viewNode.previousElementSibling)==null?void 0:O.localName)==="br")return Ve(E.viewNode,E.whitespace)}return!1},T=function(E){var L,R,O;if(((L=E.viewNode)==null?void 0:L.nodeType)===1)return E.viewNode.localName==="br";if(((R=E.viewNode)==null?void 0:R.nodeType)===3){if(E.whitespace===Je.PRESERVE){if(/^\n/.test(E.viewNode.textContent))return!0}else if(E.whitespace===Je.NEWLINE&&/^[ \t\r\n\f]*\n/.test(E.viewNode.textContent))return!0;if(((O=E.viewNode.nextElementSibling)==null?void 0:O.localName)==="br")return Ve(E.viewNode,E.whitespace)}return!1};var g=S,w=T;let A=ba((r=(n=(i=b.lang)!=null?i:b.parent.lang)!=null?n:e?.lang)!=null?r:(s=e?.parent)==null?void 0:s.lang),_=ma(b.inheritedProps["text-autospace"]),V=ga(b.inheritedProps["text-spacing-trim"]),W=ca(b.inheritedProps["hanging-punctuation"]);if(da(W)&&wa(_,V)||/\b(flex|grid)\b/.test(b.parent.display))continue;m<0&&(m=y);let ee=null,$e=null,he=y===m,ue=y===m&&l,x=y===m&&c,P=!1,C=!1;for(let E=y-1;E>=0;E--){let L=t[E];if(S(L)){x=!0;break}if(!L.display&&L.viewNode.nodeType===Node.TEXT_NODE&&L.viewNode.textContent.length>0){ee=L.viewNode;break}if(L.display&&!/^(inline|ruby)\b/.test(L.display)||((o=L.viewNode)==null?void 0:o.nodeType)===1&&(L.viewNode.localName==="br"||jt[L.viewNode.localName]))break;E===0&&(he=!0,l&&(ue=!0,x=!0))}for(let E=y+1;E<t.length;E++){let L=t[E];if(T(L)){P=!0;break}if(L.viewNode!==b.viewNode&&!L.display&&L.viewNode.nodeType===Node.TEXT_NODE&&L.viewNode.textContent.length>0){$e=L.viewNode;break}if(L.display&&!/^(inline|ruby)\b/.test(L.display)||((a=L.viewNode)==null?void 0:a.nodeType)===1&&(L.viewNode.localName==="br"||jt[L.viewNode.localName])){E===t.length-1&&p(L.viewNode)&&(C=!0);break}if(E===t.length-1){P=!0,C=!0;for(let R=L.viewNode.nextSibling;R;R=R.nextSibling)if(!p(R)){C=!1;break}}}if(((h=b.parent)==null?void 0:h.display)==="inline-block"){if(!ue){let E=b.parent.viewNode.firstChild;for(;Ve(E,b.whitespace);)E=E.nextSibling;b.viewNode===E&&(ue=!0)}if(!C){let E=b.parent.viewNode.lastChild;for(;Ve(E,b.whitespace);)E=E.previousSibling;b.viewNode===E&&(C=!0)}}this.processTextSpacing(b.viewNode,he,ue,x,P,C,ee,$e,_,V,W,A,b.vertical)}}}processTextSpacing(e,t,i,n,s,r,o,a,h,l,c,p,d){let f=e.textContent,m=e.ownerDocument,g,w,y;function b(){if(t)return!0;if(!o)return!1;g||(g=m.createRange(),g.selectNode(e));let P=g.getClientRects()[0];w||(w=m.createRange(),w.selectNode(o));let C=w.getClientRects(),E=C[C.length-1];return!P||!E?!1:d?P.top<E.top+E.height-P.width||P.left+P.width<E.left+P.width/10||P.left>E.left+E.width-P.width/10:P.left<E.left+E.width-P.height||P.top>E.top+E.height-P.height/10||P.top+P.height<E.top+P.height/10}function S(){if(!a)return!1;g||(g=m.createRange(),g.selectNode(e));let P=g.getClientRects()[0];y||(y=m.createRange(),y.selectNode(a));let C=y.getClientRects()[0];return!P||!C?!1:d?P.top+P.height>C.top+P.width||P.left>C.left+C.width-P.width/10||P.left+P.width<C.left+P.width/10:P.left+P.width>C.left+P.height||P.top+P.height<C.top+P.height/10||P.top>C.top+C.height-P.height/10}let T=!1,A=!1,_=!1,V=!1,W;if(i&&c.first&&/^[\p{Ps}\p{Pf}\p{Pi}'"\u3000]\p{M}*$/u.test(f)?(W="viv-ts-open",T=!0,A=!0):r&&c.last&&/^[\p{Pe}\p{Pf}\p{Pi}'"]\p{M}*$/u.test(f)?(W="viv-ts-close",T=!0,_=!0):(c.forceEnd||c.allowEnd)&&/^[、。,.、。]\p{M}*$/u.test(f)?(W="viv-ts-close",T=!0,V=!0):(l.trimStart||l.spaceFirst||l.trimAdjacent)&&/^[‘“〝([{⦅〈〈《「『【〔〖〘〚]\p{M}*$/u.test(f)?(W="viv-ts-open",T=!0):(l.trimEnd||l.allowEnd||l.trimAdjacent)&&(/^[’”〞〟)]}⦆〉〉》」』】〕〗〙〛]\p{M}*$/u.test(f)||p==="zh-hans"&&/^[:;]\p{M}*$/u.test(f)||p!=="zh-hant"&&/^[、。,.]\p{M}*$/u.test(f))&&(W="viv-ts-close",T=!0),T){let P=function(O){let D=parseFloat(m.defaultView.getComputedStyle(O).fontSize)*.7;return(d?O.offsetHeight:O.offsetWidth)>D},C=function(){return d?E.offsetLeft:E.offsetTop};var ee=P,$e=C;if(e.parentElement.localName==="viv-ts-inner")return;let E=m.createElement(W),L=m.createElement("viv-ts-inner");E.appendChild(L),e.parentNode.insertBefore(E,e),L.appendChild(e);let R=P(L);if(R||A||_||V){if(W==="viv-ts-open"){if(A)E.className="viv-hang-first";else if(i||n)l.trimStart?E.className="viv-ts-trim":E.className="viv-ts-space";else if(!(l.trimStart||l.spaceFirst)&&b())E.className="viv-ts-space";else if(l.trimAdjacent&&o&&/[\p{Ps}\p{Pi}\p{Pe}\p{Pf}\u00B7\u2027\u30FB\u3000:;、。,.]\p{M}*$/u.test(o.textContent)&&(!/[\p{Pe}\p{Pf}]\p{M}*$/u.test(o.textContent)||o.parentElement.localName==="viv-ts-inner"&&P(o.parentElement)))E.className="viv-ts-trim";else if((l.trimStart||l.spaceFirst)&&b()){let O=C();E.className="viv-ts-auto",O===C()&&!b()&&(E.className="viv-ts-trim")}}else if(W==="viv-ts-close"){if(_)E.className=R?"viv-hang-last":"viv-hang-last viv-hang-hw";else if(r||s){let O=C();V?(E.className=R?c.allowEnd&&l.allowEnd?"viv-ts-auto":"viv-hang-end":"viv-hang-end viv-hang-hw",c.allowEnd&&O===C()&&(l.trimEnd?E.className="viv-ts-trim":l.allowEnd?(E.className="viv-hang-end",O===C()&&(E.className="")):E.className="viv-ts-space")):l.trimEnd?E.className="viv-ts-trim":l.allowEnd?(E.className="viv-ts-auto",O===C()&&(E.className="")):E.className="viv-ts-space"}else if(a&&/^[\p{Pe}\p{Pf}\u00B7\u2027\u30FB\u3000:;、。,.]/u.test(a.textContent))R&&l.trimAdjacent&&(E.className="viv-ts-trim");else if(V){let O=S(),D=O&&c.allowEnd;D||(E.className=R?"viv-hang-end":"viv-hang-end viv-hang-hw"),R?D&&l.trimEnd?E.className="viv-ts-auto":!D&&!S()?E.className="":!O&&c.allowEnd&&(l.trimEnd?(E.className="viv-ts-auto",S()||(E.className="viv-hang-end")):(E.className="viv-ts-space",S()||(l.allowEnd?(E.className="viv-ts-auto",S()||(E.className="viv-hang-end")):E.className="viv-hang-end"))):!O&&!S()&&(E.className="")}else if(l.trimEnd||l.allowEnd)if(S())l.allowEnd?E.className="viv-ts-space":E.className="viv-ts-auto";else{let O=C();E.className="viv-ts-auto",O===C()&&(E.className="")}}}}let he=!1;function ue(P){var C;let E=(C=P?.ownerDocument.defaultView)==null?void 0:C.getComputedStyle(P);return!!E&&(E.textOrientation==="upright"||E.textCombineUpright==="all"||E["-webkit-text-combine"]==="horizontal")}function x(P,C){if(P.nodeType===1){let R=m.defaultView.getComputedStyle(P);if(parseFloat(R.marginInlineEnd)||parseFloat(R.borderInlineEndWidth)||parseFloat(R.paddingInlineEnd))return!0}let E=P.parentElement;if(E&&!E.contains(C))return x(E,C);if(C.nodeType===1){let R=m.defaultView.getComputedStyle(C);if(parseFloat(R.marginInlineStart)||parseFloat(R.borderInlineStartWidth)||parseFloat(R.paddingInlineStart))return!0}let L=C.parentElement;return L&&!L.contains(P)?x(P,L):!1}(h.ideographAlpha||h.ideographNumeric)&&(o&&/^(?!\p{P})[\p{sc=Han}\u3041-\u30FF\u31C0-\u31FF]/u.test(f)&&(h.ideographAlpha&&/(?![\p{sc=Han}\u3041-\u30FF\u31C0-\u31FF\uFF01-\uFF60])\p{L}\p{M}*$/u.test(o.textContent)||h.ideographNumeric&&/(?![\uFF01-\uFF60])\p{Nd}\p{M}*$/u.test(o.textContent))&&!(d&&ue(o.parentElement))&&!x(o,e)&&(e.parentNode.insertBefore(m.createElement("viv-ts-thin-sp"),e),he=!0),a&&/(?!\p{P})[\p{sc=Han}\u3041-\u30FF\u31C0-\u31FF]\p{M}*$/u.test(f)&&(h.ideographAlpha&&/^(?![\p{sc=Han}\u3041-\u30FF\u31C0-\u31FF\uFF01-\uFF60])\p{L}/u.test(a.textContent)||h.ideographNumeric&&/^(?![\uFF01-\uFF60])\p{Nd}/u.test(a.textContent))&&!(d&&ue(a.parentElement))&&!x(e,a)&&(e.parentNode.insertBefore(m.createElement("viv-ts-thin-sp"),e.nextSibling),he=!0))}registerHooks(){ut("POLYFILLED_INHERITED_PROPS",this.getPolyfilledInheritedProps.bind(this)),ut("PREPROCESS_SINGLE_DOCUMENT",this.preprocessSingleDocument.bind(this)),ut("POST_LAYOUT_BLOCK",this.postLayoutBlock.bind(this),!0)}},to=new lg;to.registerHooks();function hg(e){to.preprocessForTextSpacing(e)}function ug(e,t,i,n,s,r){to.processGeneratedContent(e,t,i,n,s,r)}var _n=new DOMParser().parseFromString('<root xmlns="http://www.pyroxy.com/ns/shadow"/>',"text/xml"),cg=["footnote-marker","first-5-lines","first-4-lines","first-3-lines","first-2-lines","first-line","first-letter","before","","after"],io="data-adapt-pseudo";function di(e){return e.getAttribute(io)||""}function br(e,t){e.setAttribute(io,t)}var va=class{constructor(e,t,i,n,s){this.element=e,this.style=t,this.styler=i,this.context=n,this.exprContentListener=s,u(this,"contentProcessed",{})}getStyle(e,t){let i=di(e);this.styler&&i&&i.match(/after$/)&&(this.style=this.styler.getStyle(this.element,!0),this.styler=null);let n=pt(this.style,"_pseudos")[i]||{};if(i.match(/^first-/)&&!n["x-first-pseudo"]){let s=1,r;i=="first-letter"?s=0:(r=i.match(/^first-([0-9]+)-lines$/))!=null&&(s=r[1]-0),n["x-first-pseudo"]=new q(new Jt(s),0)}return n}processContent(e,t,i){let n=di(e);if(!this.contentProcessed[n]){this.contentProcessed[n]=!0;let s=t.content;s&&Vt(s)&&(s.visit(new Zn(e,this.context,s,this.exprContentListener)),hg(e))}}},Yw=Xn.isInstanceOfAfterIfContinuesLayoutConstraint,dg=us.registerFragmentIndex,Zw=us.clearFragmentIndices,pg=class{constructor(e,t){this.sourceNode=e,this.styler=t}createElement(e,t){let i=t.viewNode.ownerDocument.createElement("div"),n=new no(e,i,t),s=n.getColumn().pageBreakType;return n.getColumn().pageBreakType=null,n.layout(this.createNodePositionForPseudoElement(),!0).thenAsync(()=>{this.styler.contentProcessed["after-if-continues"]=!1,n.getColumn().pageBreakType=s;let r=i.firstChild;return N(r,"display","block"),k(r)})}createNodePositionForPseudoElement(){let e=_n.createElementNS("http://www.w3.org/1999/xhtml","div");br(e,"after-if-continues");let t=this.createShadowContext(e),i={steps:[{node:e,shadowType:t.type,shadowContext:t,nodeShadow:null,shadowSibling:null}],offsetInNode:0,after:!1,preprocessedTextContent:null};return new Dt(i)}createShadowContext(e){return new Qs(this.sourceNode,e,null,null,null,Nt.ShadowType.ROOTED,this.styler)}},fg=class Jh{constructor(t,i,n){this.nodeContext=t,this.afterIfContinues=i,this.pseudoElementHeight=n,u(this,"flagmentLayoutConstraintType","AfterIfContinue")}allowLayout(t,i,n){return!(i&&!t||t&&t.overflow)}nextCandidate(t){return!1}postLayout(t,i,n,s){}finishBreak(t,i){return this.getRepetitiveElements().affectTo(t)?this.afterIfContinues.createElement(i,this.nodeContext).thenAsync(n=>(this.nodeContext.viewNode.appendChild(n),k(!0))):k(!0)}getRepetitiveElements(){return new gg(this.nodeContext,this.pseudoElementHeight)}equalsTo(t){return t instanceof Jh?this.afterIfContinues==t.afterIfContinues:!1}getPriorityOfFinishBreak(){return 9}},gg=class{constructor(e,t){this.nodeContext=e,this.pseudoElementHeight=t}calculateOffset(e){return this.affectTo(e)?this.pseudoElementHeight:0}calculateMinimumOffset(e){return this.calculateOffset(e)}affectTo(e){if(!e)return!1;let t=e.shadowContext?e.shadowContext.owner:e.sourceNode;if(t===this.nodeContext.sourceNode)return!!e.after;for(let i=t.parentNode;i;i=i.parentNode)if(i===this.nodeContext.sourceNode)return!0;return!1}};function Qh(e,t){if(!e||!e.afterIfContinues||e.after||t.isFloatNodeContext(e))return k(e);let i=e.afterIfContinues;return i.createElement(t,e).thenAsync(n=>{let s=wg(e,t,n);return t.fragmentLayoutConstraints.push(new fg(e,i,s)),k(e)})}function eu(e,t){return e.thenAsync(i=>Qh(i,t))}function mg(e,t){let i=F("processAfterIfContinuesOfAncestors"),n=e;return i.loop(()=>{if(n!==null){let s=Qh(n,t);return n=n.parent,s.thenReturn(!0)}else return k(!1)}).then(()=>{i.finish(!0)}),i.result()}function wg(e,t,i){let n=e.viewNode;n.appendChild(i);let s=nr(i,t,e.vertical);return n.removeChild(i),s}var bg=class{constructor(e){this.constraints=e}allowLayout(e){return this.constraints.every(t=>t.allowLayout(e))}},Mn=class extends Xr{constructor(e,t){super(),this.checkPoints=e,this.penalty=t,u(this,"alreadyEvaluated",!1),u(this,"breakNodeContext",null)}findAcceptableBreak(e,t){return t<this.getMinBreakPenalty()?null:(this.alreadyEvaluated||(this.breakNodeContext=e.findBoxBreakPosition(this,t>0),this.alreadyEvaluated=!!this.breakNodeContext||t>0||!!e.pseudoParent),this.breakNodeContext)}getMinBreakPenalty(){return this.penalty}getNodeContext(){return this.alreadyEvaluated?this.breakNodeContext:this.checkPoints[this.checkPoints.length-1]}},Qn=class extends bh{constructor(e,t,i,n,s){super(e),this.layoutContext=t,this.clientLayout=i,this.layoutConstraint=n,this.pageFloatLayoutContext=s,u(this,"last"),u(this,"viewDocument"),u(this,"flowRootFormattingContext",null),u(this,"isFloat",!1),u(this,"isFootnote",!1),u(this,"startEdge",0),u(this,"endEdge",0),u(this,"beforeEdge",0),u(this,"afterEdge",0),u(this,"footnoteEdge",0),u(this,"box",null),u(this,"chunkPositions",null),u(this,"bands",null),u(this,"overflown",!1),u(this,"breakPositions",null),u(this,"pageBreakType",null),u(this,"forceNonfitting",!0),u(this,"leftFloatEdge",0),u(this,"rightFloatEdge",0),u(this,"bottommostFloatTop",0),u(this,"stopAtOverflow",!0),u(this,"lastAfterPosition",null),u(this,"fragmentLayoutConstraints",[]),u(this,"pseudoParent",null),u(this,"nodeContextOverflowingDueToRepetitiveElements",null),u(this,"blockDistanceToBlockEndFloats",NaN),u(this,"breakAtTheEdgeBeforeFloat",null),this.last=e.lastChild,this.viewDocument=e.ownerDocument,s.setContainer(this)}getTopEdge(){return this.vertical?this.rtl?this.endEdge:this.startEdge:this.beforeEdge}getBottomEdge(){return this.vertical?this.rtl?this.startEdge:this.endEdge:this.afterEdge}getLeftEdge(){return this.vertical?this.afterEdge:this.rtl?this.endEdge:this.startEdge}getRightEdge(){return this.vertical?this.beforeEdge:this.rtl?this.startEdge:this.endEdge}isFloatNodeContext(e){return!!e.floatSide&&(!this.isFloat||!!e.parent)}stopByOverflow(e){return this.stopAtOverflow&&!!e&&e.overflow}isOverflown(e){return this.vertical?e<this.footnoteEdge:e>this.footnoteEdge}getExclusions(){let e=this.pageFloatLayoutContext.getFloatFragmentExclusions();return this.exclusions.concat(e)}openAllViews(e){let t=F("openAllViews"),i=e.steps;this.layoutContext.setViewRoot(this.element,this.isFootnote);let n=i.length-1,s=null;return t.loop(()=>{for(;n>=0;){let r=s,o=i[n];if(s=Yn(o,r),n===i.length-1&&!s.formattingContext&&(s.formattingContext=this.flowRootFormattingContext),n==0&&(s.offsetInNode=this.calculateOffsetInNodeForNodeContext(e),s.after=e.after,s.preprocessedTextContent=e.preprocessedTextContent,s.after))break;let a=this.layoutContext.setCurrent(s,n==0&&s.offsetInNode==0);if(n--,a.isPending())return a}return k(!1)}).then(()=>{t.finish(s)}),t.result()}calculateOffsetInNodeForNodeContext(e){return e.preprocessedTextContent?Pp(e.preprocessedTextContent,e.offsetInNode):e.offsetInNode}maybePeelOff(e,t){var i,n;if(e.firstPseudo&&e.inline&&!e.after&&e.firstPseudo.count==0&&e.viewNode.nodeType!=1){let s=e.viewNode.textContent,r=s.match(_s),o=r?r[0].length:0;if(!r&&((i=e.sourceNode)==null?void 0:i.nodeType)===3&&((n=e.sourceNode.nextSibling)==null?void 0:n.nodeType)===3&&s===e.sourceNode.textContent){let a=s+e.sourceNode.nextSibling.textContent,h=a.match(_s);if(h){let l=h[0];o=l.length,e.sourceNode.textContent=l,e.viewNode.textContent=l,e.sourceNode.nextSibling.textContent=a.substr(o)}}return this.layoutContext.peelOff(e,o)}return k(e)}buildViewToNextBlockEdge(e,t){let i=!1,n=F("buildViewToNextBlockEdge");return n.loopWithFrame(s=>{var r;e.viewNode&&!ui(e)&&((r=e.viewNode.parentElement)==null?void 0:r.namespaceURI)==="http://www.w3.org/1999/xhtml"&&t.push(e.copy()),this.maybePeelOff(e,0).then(o=>{let a=o;a!==e&&(e=a,ui(e)||t.push(e.copy())),this.nextInTree(e).then(h=>{if(e=h,!e){s.breakLoop();return}(i||!this.layoutConstraint.allowLayout(e))&&(i=!0,e=e.modify(),e.overflow=!0),this.isFloatNodeContext(e)&&(gi(e.floatReference)||e.floatSide==="footnote")?this.layoutFloatOrFootnote(e).then(l=>{if(e=l,this.pageFloatLayoutContext.isInvalidated()&&(e=null),!e){s.breakLoop();return}s.continueLoop()}):e.inline?s.continueLoop():s.breakLoop()})})}).then(()=>{n.finish(e)}),n.result()}nextInTree(e,t){let i=this.layoutContext.nextInTree(e,t);return eu(i,this)}buildDeepElementView(e){if(!e.viewNode)return k(e);let t=[],i=e.sourceNode,n=F("buildDeepElementView");return n.loopWithFrame(s=>{e.viewNode&&e.inline&&!ui(e)?t.push(e.copy()):(t.length>0&&this.postLayoutBlock(e,t),t=[]),this.maybePeelOff(e,0).then(r=>{let o=r;if(o!==e){let a=o;for(;a&&a.sourceNode!=i;)a=a.parent;if(a==null){e=o,s.breakLoop();return}ui(o)||t.push(o.copy())}this.nextInTree(o).then(a=>{e=a,!e||e.sourceNode==i?s.breakLoop():this.layoutConstraint.allowLayout(e)?s.continueLoop():(e=e.modify(),e.overflow=!0,this.stopAtOverflow?s.breakLoop():s.continueLoop())})})}).then(()=>{t.length>0&&this.postLayoutBlock(e,t),n.finish(e)}),n.result()}createFloat(e,t,i,n){let s=this.viewDocument.createElement("div");return this.vertical?(n>=this.height&&(n-=.1),n<1&&(n=0),N(s,"height",`${i}px`),N(s,"width",`${n}px`)):(i>=this.width&&(i-=.1),i<1&&(i=0),N(s,"width",`${i}px`),N(s,"height",`${n}px`)),N(s,"float",t),N(s,"clear",t),this.element.insertBefore(s,e),s}killFloats(){let e=this.element.firstChild;for(;e;){let t=e.nextSibling;if(e.nodeType==1){let i=e,n=i.style.cssFloat;if(n=="left"||n=="right"||n==="none")this.element.removeChild(i);else break}e=t}}createFloats(){let e=this.element.firstChild,t=this.bands,i=this.vertical?this.getTopEdge():this.getLeftEdge(),n=this.vertical?this.getBottomEdge():this.getRightEdge(),s=null;for(let r of t){let o=r.y2-r.y1;r.left=this.createFloat(e,"left",r.x1-i,o),r.right=this.createFloat(e,"right",n-r.x2,o),r.x1<n&&r.x2>i?s=r:s||N(r.right,"float","none")}if(s){let r=t[t.length-1],o=this.vertical?-this.getLeftEdge():this.getBottomEdge();s!==r&&r.y2>=o&&(this.footnoteEdge=this.vertical?-s.y2:s.y2)}}calculateEdge(e,t,i,n){let s;if(e&&hi(e.viewNode))return NaN;if(e&&e.after&&!e.inline&&(s=ai(e,this.clientLayout,0,this.vertical),!isNaN(s)))return s;e=t[i];let r=n-e.boxOffset;for(;;){if(s=ai(e,this.clientLayout,r,this.vertical),!isNaN(s))return s;if(r>0){r--;continue}if(i--,i<0)return this.beforeEdge;e=t[i],e.viewNode.nodeType!=1&&(r=e.viewNode.textContent.length)}}parseComputedLength(e){let t=e.match(/^(-?[0-9]*(\.[0-9]*)?)px$/);return t?this.clientLayout.adjustLengthValue(parseFloat(t[0])):0}getComputedMargin(e){let t=this.clientLayout.getElementComputedStyle(e),i=new Es(0,0,0,0);return t&&(i.left=this.parseComputedLength(t.marginLeft),i.top=this.parseComputedLength(t.marginTop),i.right=this.parseComputedLength(t.marginRight),i.bottom=this.parseComputedLength(t.marginBottom)),i}getComputedPaddingBorder(e){let t=this.clientLayout.getElementComputedStyle(e),i=new Es(0,0,0,0);return t&&(i.left=this.parseComputedLength(t.borderLeftWidth)+this.parseComputedLength(t.paddingLeft),i.top=this.parseComputedLength(t.borderTopWidth)+this.parseComputedLength(t.paddingTop),i.right=this.parseComputedLength(t.borderRightWidth)+this.parseComputedLength(t.paddingRight),i.bottom=this.parseComputedLength(t.borderBottomWidth)+this.parseComputedLength(t.paddingBottom)),i}getComputedInsets(e){let t=this.clientLayout.getElementComputedStyle(e),i=new Es(0,0,0,0);if(t){if(t.boxSizing=="border-box")return this.getComputedMargin(e);i.left=this.parseComputedLength(t.marginLeft)+this.parseComputedLength(t.borderLeftWidth)+this.parseComputedLength(t.paddingLeft),i.top=this.parseComputedLength(t.marginTop)+this.parseComputedLength(t.borderTopWidth)+this.parseComputedLength(t.paddingTop),i.right=this.parseComputedLength(t.marginRight)+this.parseComputedLength(t.borderRightWidth)+this.parseComputedLength(t.paddingRight),i.bottom=this.parseComputedLength(t.marginBottom)+this.parseComputedLength(t.borderBottomWidth)+this.parseComputedLength(t.paddingBottom)}return i}setComputedInsets(e,t){let i=this.clientLayout.getElementComputedStyle(e);i&&(t.marginLeft=this.parseComputedLength(i.marginLeft),t.borderLeft=this.parseComputedLength(i.borderLeftWidth),t.paddingLeft=this.parseComputedLength(i.paddingLeft),t.marginTop=this.parseComputedLength(i.marginTop),t.borderTop=this.parseComputedLength(i.borderTopWidth),t.paddingTop=this.parseComputedLength(i.paddingTop),t.marginRight=this.parseComputedLength(i.marginRight),t.borderRight=this.parseComputedLength(i.borderRightWidth),t.paddingRight=this.parseComputedLength(i.paddingRight),t.marginBottom=this.parseComputedLength(i.marginBottom),t.borderBottom=this.parseComputedLength(i.borderBottomWidth),t.paddingBottom=this.parseComputedLength(i.paddingBottom))}setComputedWidthAndHeight(e,t){let i=this.clientLayout.getElementComputedStyle(e);i&&(t.width=this.parseComputedLength(i.width),t.height=this.parseComputedLength(i.height))}layoutUnbreakable(e){return this.buildDeepElementView(e)}layoutFloat(e){let t=F("layoutFloat"),i=e.viewNode,n=Jo(e.floatSide,e.vertical,e.direction,this.layoutContext.page.side);return N(i,"float","none"),N(i,"display","inline-block"),N(i,"vertical-align","top"),this.buildDeepElementView(e).then(s=>{let r=this.clientLayout.getElementClientRect(i),o=this.getComputedMargin(i),a=new rt(r.left-o.left,r.top-o.top,r.right+o.right,r.bottom+o.bottom),h=this.rtl?this.endEdge:this.startEdge,l=this.rtl?this.startEdge:this.endEdge,c=e.parent;for(;c&&c.inline;)c=c.parent;if(c){let S=c.viewNode.ownerDocument.createElement("div");S.style.left="0px",S.style.top="0px",this.vertical?(S.style.bottom="0px",S.style.width="1px"):(S.style.right="0px",S.style.height="1px"),c.viewNode.appendChild(S);let T=this.clientLayout.getElementClientRect(S);h=Math.max(this.rtl?this.getEndEdge(T):this.getStartEdge(T),h),l=Math.min(this.rtl?this.getStartEdge(T):this.getEndEdge(T),l),c.viewNode.removeChild(S);let A=this.vertical?a.y2-a.y1:a.x2-a.x1;n=="left"?l=Math.max(l,h+A):h=Math.min(h,l-A),c!==e.parent&&!e.firstPseudo&&(c.viewNode.appendChild(i),i.setAttribute("data-vivliostyle-float-box-moved","true"))}let p=new rt(h,this.getBoxDir()*this.beforeEdge,l,this.getBoxDir()*this.afterEdge),d=a;this.vertical&&(d=Gn(a));let f=this.getBoxDir();if(d.y1<this.bottommostFloatTop*f){let S=d.y2-d.y1;d.y1=this.bottommostFloatTop*f,d.y2=d.y1+S}gd(p,this.bands,d,n),this.vertical&&(a=Ol(d));let m=this.getComputedInsets(i);N(i,"width",`${a.x2-a.x1-m.left-m.right}px`),N(i,"height",`${a.y2-a.y1-m.top-m.bottom}px`),N(i,"position","absolute"),e.display,N(i,"display",e.display);let g,w=null;if(c&&(c.containingBlockForAbsolute?w=c:w=c.getContainingBlockForAbsolute()),w){let S=w.viewNode.ownerDocument.createElement("div");S.style.position="absolute",w.vertical?S.style.right="0":S.style.left="0",S.style.top="0",w.viewNode.appendChild(S),g=this.clientLayout.getElementClientRect(S),w.viewNode.removeChild(S)}else g={left:this.getLeftEdge()-this.paddingLeft,right:this.getRightEdge()+this.paddingRight,top:this.getTopEdge()-this.paddingTop};(w?w.vertical:this.vertical)?N(i,"right",`${g.right-a.x2}px`):N(i,"left",`${a.x1-g.left}px`),N(i,"top",`${a.y1-g.top}px`),e.clearSpacer&&(e.clearSpacer.parentNode.removeChild(e.clearSpacer),e.clearSpacer=null);let y=this.vertical?a.x1:a.y2,b=this.vertical?a.x2:a.y1;!this.isOverflown(y)||this.breakPositions.length==0?(this.killFloats(),p=new rt(this.getLeftEdge(),this.getTopEdge(),this.getRightEdge(),this.getBottomEdge()),this.vertical&&(p=Gn(p)),md(p,this.bands,d,null,n),this.createFloats(),n=="left"?this.leftFloatEdge=y:this.rightFloatEdge=y,this.bottommostFloatTop=b,this.updateMaxReachedAfterEdge(y),t.finish(s)):(e=e.modify(),e.overflow=!0,t.finish(e))}),t.result()}setupFloatArea(e,t,i,n,s,r){let o=this.pageFloatLayoutContext,a=o.getContainer(t),h=e.element;a.element.parentNode.appendChild(h),e.isFloat=!0,e.originX=a.originX,e.originY=a.originY,e.vertical=a.vertical,e.rtl=a.rtl,e.marginLeft=e.marginRight=e.marginTop=e.marginBottom=0,e.borderLeft=e.borderRight=e.borderTop=e.borderBottom=0,e.paddingLeft=e.paddingRight=e.paddingTop=e.paddingBottom=0,e.exclusions=(a.exclusions||[]).concat(),e.forceNonfitting=!o.hasFloatFragments(),e.innerShape=null;let l=a.getPaddingRect();e.setHorizontalPosition(l.x1-a.originX,l.x2-l.x1),e.setVerticalPosition(l.y1-a.originY,l.y2-l.y1),s.adjustPageFloatArea(e,a,this),e.init();let c=!!o.setFloatAreaDimensions(e,t,i,n,!0,!o.hasFloatFragments(),r);return c?(e.killFloats(),e.init()):a.element.parentNode.removeChild(h),c}createPageFloatArea(e,t,i,n,s){let r=this.element.ownerDocument.createElement("div");N(r,"position","absolute");let o=this.pageFloatLayoutContext.getPageFloatLayoutContext(e.floatReference),a=new Di(null,Ne.COLUMN,null,this.pageFloatLayoutContext.flowName,e.nodePosition,null,null),h=o.getContainer(),l=new xg(t,r,this.layoutContext.clone(),this.clientLayout,this.layoutConstraint,a,h);return a.setContainer(l),this.setupFloatArea(l,e.floatReference,t,i,n,s)?l:null}layoutSinglePageFloatFragment(e,t,i,n,s,r,o){let a=this.pageFloatLayoutContext;e=(o?o.continuations:[]).concat(e);let h=e[0].float,l=a.getPageFloatPlacementCondition(h,t,i),c=this.createPageFloatArea(h,t,r,s,l),p={floatArea:c,pageFloatFragment:null,newPosition:null};if(!c)return k(p);let d=F("layoutSinglePageFloatFragment"),f=!1,m=0;return d.loopWithFrame(g=>{if(m>=e.length){g.breakLoop();return}let w=e[m],y=new Dt(w.nodePosition);c.layout(y,!0).then(b=>{p.newPosition=b,!b||n?(m++,g.continueLoop()):(f=!0,g.breakLoop())})}).then(()=>{if(!f){let g=a.setFloatAreaDimensions(c,h.floatReference,t,r,!1,n,l);if(!g)f=!0;else{let w=s.createPageFloatFragment(e,g,i,c,!!p.newPosition);a.addPageFloatFragment(w,!0),p.pageFloatFragment=w}}d.finish(p)}),d.result()}layoutPageFloatInner(e,t,i,n){let s=this.pageFloatLayoutContext,r=e.float;s.stashEndFloatFragments(r);function o(h,l){l?s.removePageFloatFragment(l,!0):h&&h.element.parentNode.removeChild(h.element),s.restoreStashedFragments(r.floatReference),s.deferPageFloat(e)}let a=F("layoutPageFloatInner");return this.layoutSinglePageFloatFragment([e],r.floatSide,r.clearSide,!s.hasFloatFragments(),t,i,n).then(h=>{let l=h.floatArea,c=h.pageFloatFragment,p=h.newPosition;c?this.layoutStashedPageFloats(r.floatReference,[n]).then(d=>{if(d){if(s.addPageFloatFragment(c),s.discardStashedFragments(r.floatReference),p){let f=new Qo(r,p.primary);s.deferPageFloat(f)}a.finish(!0)}else o(l,c),a.finish(!1)}):(o(l,c),a.finish(!1))}),a.result()}layoutStashedPageFloats(e,t){let i=this.pageFloatLayoutContext,n=i.getStashedFloatFragments(e),s=[],r=[],o=!1,a=F("layoutStashedPageFloats"),h=0;return a.loopWithFrame(l=>{if(h>=n.length){l.breakLoop();return}let c=n[h];if(t.includes(c)){h++,l.continueLoop();return}let p=new Si().findByFloat(c.continuations[0].float);this.layoutSinglePageFloatFragment(c.continuations,c.floatSide,c.clearSide,!1,p,null).then(d=>{let f=d.floatArea;f&&s.push(f);let m=d.pageFloatFragment;m?(r.push(m),h++,l.continueLoop()):(o=!0,l.breakLoop())})}).then(()=>{o?(r.forEach(l=>{i.removePageFloatFragment(l,!0)}),s.forEach(l=>{let c=l.element;c&&c.parentNode&&c.parentNode.removeChild(c)})):n.forEach(l=>{let c=l.area.element;c&&c.parentNode&&c.parentNode.removeChild(c)}),a.finish(!o)}),a.result()}setFloatAnchorViewNode(e){let t=e.viewNode.parentNode,i=t.ownerDocument.createElement("span");i.setAttribute(xi,"1"),e.floatSide==="footnote"&&this.layoutContext.applyPseudoelementStyle(e,"footnote-call",i),t.appendChild(i),t.removeChild(e.viewNode);let n=e.modify();return n.after=!0,n.viewNode=i,n}resolveFloatReferenceFromColumnSpan(e,t,i){let n=F("resolveFloatReferenceFromColumnSpan"),s=this.pageFloatLayoutContext,r=s.getPageFloatLayoutContext(Ne.REGION);return s.getContainer().width<r.getContainer().width&&e===Ne.COLUMN?t===v.auto?this.buildDeepElementView(i.copy()).then(o=>{let a=o.viewNode,h=$r(this.clientLayout,a,["min-content inline size"])["min-content inline size"],l=this.getComputedMargin(a);this.vertical?h+=l.top+l.bottom:h+=l.left+l.right,h>this.width?n.finish(Ne.REGION):n.finish(e)}):t===v.all?n.finish(Ne.REGION):n.finish(e):n.finish(e),n.result()}layoutPageFloat(e){let t=this.pageFloatLayoutContext,i=new Si().findByNodeContext(e),n,s=t.findPageFloatByNodePosition(e.toNodePosition());return s?n=k(s):n=i.createPageFloat(e,t,this),n.thenAsync(r=>{let o=qn(e,0),a=this.setFloatAnchorViewNode(e),h=i.findPageFloatFragment(r,t),l=new Qo(r,o);if(h&&h.hasFloat(r))return t.registerPageFloatAnchor(r,a.viewNode),k(a);if(t.isForbidden(r)||t.hasPrecedingFloatsDeferredToNext(r))return t.deferPageFloat(l),t.registerPageFloatAnchor(r,a.viewNode),k(a);if(this.nodeContextOverflowingDueToRepetitiveElements)return k(null);{let c=ai(a,this.clientLayout,0,this.vertical);return this.isOverflown(c)?k(a):this.layoutPageFloatInner(l,i,c,h).thenAsync(p=>p?k(null):(t.registerPageFloatAnchor(r,a.viewNode),k(a)))}})}processLineStyling(e,t,i){let n=F("processLineStyling"),s=i.concat([]);i.splice(0,i.length);let r=0,o=e.firstPseudo;return o.count==0&&(o=o.outer),n.loopWithFrame(a=>{if(!o){a.breakLoop();return}let h=this.findLinePositions(s),l=o.count-r;if(h.length<=l){a.breakLoop();return}let c=this.findAcceptableBreakInside(s,h[l-1],!0);if(c==null){a.breakLoop();return}this.finishBreak(c,!1,!1).then(()=>{r+=l,this.layoutContext.peelOff(c,0).then(p=>{e=p,o=e.firstPseudo,s=[],this.buildViewToNextBlockEdge(e,s).then(d=>{t=d,a.continueLoop()})})})}).then(()=>{Array.prototype.push.apply(i,s),n.finish(t)}),n.result()}isLoneImage(e){return e.length!=2&&this.breakPositions.length>0?!1:e[0].sourceNode==e[1].sourceNode&&jt[e[0].sourceNode.localName]}getTrailingMarginEdgeAdjustment(e){let t=0,i=0;for(let n=e.length-1;n>=0;n--){let s=e[n];if(!s.after||!s.viewNode||s.viewNode.nodeType!=1)break;let r=this.getComputedMargin(s.viewNode),o=this.vertical?-r.left:r.bottom;o>0?t=Math.max(t,o):i=Math.min(i,o)}return t+i}layoutBreakableBlock(e){let t=F("layoutBreakableBlock"),i=[];return this.buildViewToNextBlockEdge(e,i).then(n=>{let s=i.length-1;if(s<0){t.finish(n);return}this.postLayoutBlock(n,i);let r=this.calculateEdge(n,i,s,i[s].boxOffset),o=!1;if(!n||!hi(n.viewNode)){let h=mi(n,this.collectElementsOffset());o=this.isOverflown(r+(this.vertical?-1:1)*h.minimum),this.isOverflown(r+(this.vertical?-1:1)*h.current)&&!this.nodeContextOverflowingDueToRepetitiveElements&&(this.nodeContextOverflowingDueToRepetitiveElements=n)}n==null&&(r+=this.getTrailingMarginEdgeAdjustment(i)),this.updateMaxReachedAfterEdge(r);let a;e.firstPseudo?a=this.processLineStyling(e,n,i):a=k(n),a.then(h=>{i.length>0&&(this.saveBoxBreakPosition(i),o&&!this.isLoneImage(i)&&h&&(h=h.modify(),h.overflow=!0)),t.finish(h)})}),t.result()}postLayoutBlock(e,t){ft("POST_LAYOUT_BLOCK").forEach(i=>{i(e,t,this)})}findEndOfLine(e,t,i){let n=this.vertical?e-1:e+1,s=0,r=t[0].boxOffset,o=s,a=t.length-1,h=t[a].boxOffset,l;for(;r<h;){l=r+Math.ceil((h-r)/2),o=s;let c=a;for(;o<c;){let d=o+Math.ceil((c-o)/2);t[d].boxOffset>l?c=d-1:o=d}let p=this.calculateEdge(null,t,o,l);if(this.vertical?p<=n:p>=n){for(h=l-1;t[o].boxOffset==l;)o--;a=o}else i&&this.updateMaxReachedAfterEdge(p),r=l,s=o}return{nodeContext:t[o],index:r,checkPointIndex:o}}findAcceptableBreakInside(e,t,i){var n,s,r;let o=this.findEndOfLine(t,e,!0),a=o.nodeContext;if(o.checkPointIndex===0&&o.index===a.boxOffset)return null;let h=a.viewNode;if(h.nodeType!=1&&((n=h.parentElement)==null?void 0:n.localName)!=="viv-ts-inner"){let l=h;a=this.resolveTextNodeBreaker(a).breakTextNode(l,a,o.index,e,o.checkPointIndex,i)}else{let l=ia(a);if(l){if(((s=this.breakPositions)==null?void 0:s[0])instanceof Mn&&l!=null&&l.viewNode.contains(this.breakPositions[0].checkPoints[0].viewNode))return null;for(a=l;!a.after&&a.inline&&a.parent;){let c=(r=a.viewNode)==null?void 0:r.previousSibling;for(;c&&(Ve(c,a.parent.whitespace)||Vi(c));)c=c.previousSibling;if(c)break;a=a.parent}}}return this.clearOverflownViewNodes(a,!1),a}resolveTextNodeBreaker(e){return ft("RESOLVE_TEXT_NODE_BREAKER").reduce((t,i)=>i(e)||t,es.instance)}getRangeBoxes(e,t){let i=[],n=e.ownerDocument.createRange(),s=!1,r=e,o=null,a=!1,h=!0;for(;h;){let l=!0;do{let c=null;r==t&&(t.nodeType===1?h=!(!t.firstChild||s):h=!1);let p=r.nodeType===1?r:null;p?s?s=!1:jr(p)?l=!a:!p.firstChild||jt[p.localName]||/^r(uby|[bt]c?)$/.test(p.localName)||Jp(this.clientLayout.getElementComputedStyle(p).display)?(l=!a,l?(p.localName==="ruby"&&r.firstChild&&(r=r.firstChild),n.setStartBefore(r),a=!0,o=r):/^r(uby|tc?)$/.test(p.localName)||(o=r),r.contains(t)&&(h=!1)):c=r.firstChild:(a||(r.parentNode==null?h=!1:(n.setStartBefore(r),a=!0)),o=r),c||(c=r.nextSibling,c||(s=!0,c=r.parentNode)),r=c}while(l&&h);if(a){n.setEndAfter(o);let c=this.clientLayout.getRangeClientRects(n);for(let p=0;p<c.length;p++)i.push(c[p]);a=!1}}return i}findLinePositions(e){let t=[],i=this.getRangeBoxes(e[0].viewNode,e[e.length-1].viewNode);i.sort(this.vertical?_p:Bp);let n=0,s=0,r=0,o=0,a=0,h=this.getBoxDir();for(;;){if(a<i.length){let l=i[a],c=1;if(o>0){let p=Math.max(this.getBoxSize(l),1);h*this.getBeforeEdge(l)<h*n?c=h*(this.getAfterEdge(l)-n)/p:h*this.getAfterEdge(l)>h*s?c=h*(s-this.getBeforeEdge(l))/p:c=1}if(o==0||c>=.6||c>=.2&&this.getStartEdge(l)>=r-1){r=this.getEndEdge(l),this.vertical?(n=o==0?l.right:Math.max(n,l.right),s=o==0?l.left:Math.min(s,l.left)):(n=o==0?l.top:Math.min(n,l.top),s=o==0?l.bottom:Math.max(s,l.bottom)),o++,a++;continue}}if(o>0&&(t.push(s),o=0),a>=i.length)break}return t.sort(ol),this.vertical&&t.reverse(),t}calculateClonedPaddingBorder(e){let t=0;for(let i=e;i;i=i.parent)if(!i.inline&&_i(i.viewNode)){let n=this.getComputedPaddingBorder(i.viewNode);t+=i.vertical?-n.left:n.bottom,i.display==="table"&&(t+=(i.vertical?-1:1)*i.blockBorderSpacing)}return t}getOffsetByRepetitiveElements(e){let t;return e?t=e.calculateOffset(this):t=mi(null,this.collectElementsOffset()),t.current}findBoxBreakPosition(e,t){let i=this.element.parentNode,n=this.element.nextSibling;i.removeChild(this.element),i.insertBefore(this.element,n);let s=e.checkPoints,r=s[0];for(;r.parent&&r.inline;)r=r.parent;let o,a;t?(o=1,a=1):(o=Math.max((r.inheritedProps.widows||2)-0,1),a=Math.max((r.inheritedProps.orphans||2)-0,1));let h=this.calculateClonedPaddingBorder(r),l=this.findLinePositions(s),c=this.footnoteEdge-h,p=this.getBoxDir(),d=this.getOffsetByRepetitiveElements(e);c-=p*d;let f=this.findFirstOverflowingEdgeAndCheckPoint(s);isNaN(f.edge)&&(f.edge=p*(1/0));let m=_t(l.length,b=>{let S=l[b];return this.vertical?S<c||S<=f.edge:S>c||S>=f.edge}),g=m<=0;g&&(m=_t(l.length,b=>this.vertical?l[b]<c:l[b]>c));let w=s[s.length-1].viewNode;if(w?.parentElement.localName==="viv-ts-inner"&&(w=w.parentElement.parentElement),(m===l.length&&w.nextSibling||m>=l.length-1&&w.parentElement.querySelector(".MJXc-display"))&&(o=0),m=Math.min(l.length-o,m),m<a)return null;c=l[m-1];let y;if(g?y=f.checkPoint:y=this.findAcceptableBreakInside(e.checkPoints,c,t),y){let b=this.getAfterEdgeOfBlockContainer(y);!isNaN(b)&&p*(c-b)>0&&(c=b),this.computedBlockSize=p*(c-this.beforeEdge)+d}return y}getAfterEdgeOfBlockContainer(e){let t=e;do t=t.parent;while(t&&t.inline);return t?(t=t.copy().modify(),t.after=!0,ai(t,this.clientLayout,0,this.vertical)):NaN}findFirstOverflowingEdgeAndCheckPoint(e){let t=e.findIndex(n=>n.overflow);if(t<0)return{edge:NaN,checkPoint:null};let i=e[t];return{edge:this.calculateEdge(null,e,t,i.boxOffset),checkPoint:i}}findEdgeBreakPosition(e){return this.computedBlockSize=e.computedBlockSize+this.getOffsetByRepetitiveElements(e),e.position}finishBreak(e,t,i){e.formattingContext;let n=new Fi().find(e.formattingContext).finishBreak(this,e,t,i);return n||(n=Yr.finishBreak(this,e,t,i)),n}findAcceptableBreakPosition(){let e=null,t=null,i=0,n=0;do{i=n,n=Number.MAX_VALUE;for(let s=this.breakPositions.length-1;s>=0&&!t;--s){e=this.breakPositions[s],t=e.findAcceptableBreak(this,i);let r=e.getMinBreakPenalty();r>i&&(n=Math.min(n,r))}}while(n>i&&!t&&this.forceNonfitting);return{breakPosition:t?e:null,nodeContext:t}}doFinishBreak(e,t,i,n){if(this.pageFloatLayoutContext.isInvalidated()||this.pageBreakType||!t)return k(e);let s=F("doFinishBreak"),r=!1;if(!e){if(this.forceNonfitting)return H.warn("Could not find any page breaks?!!"),this.skipTailEdges(t).then(o=>{o?(o=o.modify(),o.overflow=!1,this.finishBreak(o,r,!0).then(()=>{s.finish(o)})):s.finish(o)}),s.result();e=i,r=!0,this.computedBlockSize=n}return this.finishBreak(e,r,!0).then(()=>{s.finish(e)}),s.result()}isBreakable(e){for(let t=e;t;t=t.parent)if(Vi(t.viewNode))return!1;if(e.after)return!0;switch(e.sourceNode.namespaceURI){case"http://www.w3.org/2000/svg":return!1}return!e.flexContainer}zeroIndent(e){let t=e.toString();return t==""||t=="auto"||!!t.match(/^0+(.0*)?[^0-9]/)}checkOverflowAndSaveEdge(e,t){if(!e)return!1;for(let r=e;r;r=r.parent)if(Vi(r.viewNode))return!1;if(hi(e.viewNode))return!1;let i=ai(e,this.clientLayout,0,this.vertical),n=mi(e,this.collectElementsOffset()),s=this.isOverflown(i+(this.vertical?-1:1)*n.minimum);if(this.isOverflown(i+(this.vertical?-1:1)*n.current)&&!this.nodeContextOverflowingDueToRepetitiveElements)this.nodeContextOverflowingDueToRepetitiveElements=e;else if(t){let r=i+this.getTrailingMarginEdgeAdjustment(t),o=this.footnoteEdge-this.getBoxDir()*n.current;i=this.vertical?Math.min(i,Math.max(r,o)):Math.max(i,Math.min(r,o))}return this.updateMaxReachedAfterEdge(i),s}checkOverflowAndSaveEdgeAndBreakPosition(e,t,i,n){if(!e||hi(e.viewNode))return!1;let s=this.checkOverflowAndSaveEdge(e,t);return(i||!s)&&this.saveEdgeBreakPosition(e,n,s),s}applyClearance(e){if(!e.viewNode.parentNode||e.floatReference!==Ne.INLINE)return!1;let t=this.getComputedMargin(e.viewNode),i=e.viewNode.ownerDocument.createElement("div");this.vertical?(i.style.bottom="0px",i.style.width="1px",i.style.marginRight=`${t.right}px`):(i.style.right="0px",i.style.height="1px",i.style.marginTop=`${t.top}px`),e.viewNode.parentNode.insertBefore(i,e.viewNode);let n=this.clientLayout.getElementClientRect(i),s=this.getBeforeEdge(n),r=this.getBoxDir(),o=e.clearSide==="same"?e.floatSide:e.clearSide,a=/^(top|bottom|inside|outside|(block|inline)-(start|end))$/.test(o)?Jo(o,e.vertical,e.direction,this.layoutContext.page.side):o,h=a==="left"||a==="right"?e.direction==="rtl"==(a==="left")?"inline-end":"inline-start":a,l=this.pageFloatLayoutContext.getPageFloatClearEdge(h,this);switch(a){case"left":l=r*Math.max(l*r,this.leftFloatEdge*r);break;case"right":l=r*Math.max(l*r,this.rightFloatEdge*r);break;default:l=r*Math.max(l*r,Math.max(this.rightFloatEdge*r,this.leftFloatEdge*r))}if(s*r>=l*r)return e.viewNode.parentNode.removeChild(i),!1;{let c=Math.max(1,(l-s)*r);this.vertical?i.style.width=`${c}px`:i.style.height=`${c}px`,n=this.clientLayout.getElementClientRect(i);let p=this.getAfterEdge(n);if(!e.floatSide)if(this.vertical){let d=p+t.right-l;d>0==t.right>=0&&(d+=t.right),i.style.marginLeft=`${d}px`}else{let d=l-(p+t.top);d>0==t.top>=0&&(d+=t.top),i.style.marginBottom=`${d}px`}return e.clearSpacer=i,!0}}isBFC(e){return!!(Qp(e)||qt.isInstanceOfRepetitiveElementsOwnerFormattingContext(e))}skipEdges(e,t,i){var n;let s=e.after?(n=e.parent)==null?void 0:n.formattingContext:e.formattingContext;if(s&&!this.isBFC(s))return k(e);let r=F("skipEdges"),o=!i&&t&&e&&e.after,a=i,h=null,l=[],c=[],p=!1;function d(){return!!i||!t&&Ke(a)&&!f()}function f(){var g;if(!h||e.floatSide)return!1;for(let w=h;w!=null&&w.parent;w=w.parent){let y=w.after?w.viewNode:(g=w.viewNode)==null?void 0:g.previousSibling;for(;y&&(Ve(y,w.parent.whitespace)||Vi(y));)y=y.previousSibling;if(y)return!1}return!0}let m=()=>{e=l[0]||e,e.viewNode.parentNode.removeChild(e.viewNode),this.pageBreakType=a};return r.loopWithFrame(g=>{for(var w;e;){e.formattingContext;let y=new Fi().find(e.formattingContext);do{if(!e.viewNode)break;if(e.inline&&e.viewNode.nodeType!=1){if(Ve(e.viewNode,e.whitespace))break;if(!e.after){d()?m():this.checkOverflowAndSaveEdgeAndBreakPosition(h,null,!0,a)?(e=(this.stopAtOverflow&&h||e).modify(),e.overflow=!0):(e=e.modify(),e.breakBefore=a),g.breakLoop();return}}if(!e.after){if(e.floatSide&&(this.breakAtTheEdgeBeforeFloat=jn(a)?a:null),y&&y.startNonInlineElementNode(e))break;if(e.clearSide&&this.applyClearance(e)&&t&&this.breakPositions.length===0&&this.saveEdgeBreakPosition(e.copy(),a,!1),!e.inline&&!e.repeatOnBreak&&(h?ia(h):this.breakPositions[this.breakPositions.length-1]instanceof Mn)&&this.saveEdgeBreakPosition(e.copy(),a,!1),!this.isBFC(e.formattingContext)||qt.isInstanceOfRepetitiveElementsOwnerFormattingContext(e.formattingContext)||this.isFloatNodeContext(e)||e.flexContainer||!e.nodeShadow&&!e.sourceNode.firstElementChild&&Ve(e.sourceNode.firstChild,e.whitespace)){l.push(e.copy()),a=qe(a,e.breakBefore),d()?m():(this.checkOverflowAndSaveEdgeAndBreakPosition(h,null,!0,a)||!this.layoutConstraint.allowLayout(e))&&(e=(this.stopAtOverflow&&h||e).modify(),e.overflow=!0),g.breakLoop();return}}if(e.viewNode.nodeType!=1)break;let S=e.viewNode.style;if(e.after){e.floatSide&&(a=a??this.breakAtTheEdgeBeforeFloat,this.breakAtTheEdgeBeforeFloat=null);let T=e.sourceNode;if(T.localName==="svg"||T.localName==="math"||T.getAttribute("data-math-typeset")==="true"){p=!1,h=e.copy(),c.push(h),a=qe(null,e.breakAfter),this.checkOverflowAndSaveEdgeAndBreakPosition(h,null,!this.stopAtOverflow,a);break}if(e.inline||y&&y.afterNonInlineElementNode(e,this.stopAtOverflow))break;if(p){if(d()){m(),g.breakLoop();return}l=[],t=!1,o=!1,a=null}p=!1,h=e.copy(),c.push(h),a=qe(a,e.breakAfter),S&&!(this.zeroIndent(S.paddingBottom)&&this.zeroIndent(S.borderBottomWidth))&&(c=[h])}else{if(l.push(e.copy()),a=qe(a,e.breakBefore),(e.pageType!=((w=e.parent)==null?void 0:w.pageType)||!Ke(a))&&!this.layoutConstraint.allowLayout(e)&&(this.checkOverflowAndSaveEdgeAndBreakPosition(h,null,!this.stopAtOverflow,a),e=e.modify(),e.overflow=!0,this.stopAtOverflow)){g.breakLoop();return}let T=e.viewNode.localName;if(jt[T]){d()?m():this.checkOverflowAndSaveEdgeAndBreakPosition(h,null,!0,a)&&(e=(this.stopAtOverflow&&h||e).modify(),e.overflow=!0),g.breakLoop();return}S&&!(this.zeroIndent(S.paddingTop)&&this.zeroIndent(S.borderTopWidth))&&(o=!1,c=[]),p=!0}}while(!1);let b=this.nextInTree(e,o);if(b.isPending()){b.then(S=>{e=S,g.continueLoop()});return}else e=b.get()}this.checkOverflowAndSaveEdgeAndBreakPosition(h,c,!this.stopAtOverflow,a)?h&&this.stopAtOverflow&&(e=h.modify(),e.overflow=!0):Ke(a)&&(this.pageBreakType=a),g.breakLoop()}).then(()=>{h&&(this.lastAfterPosition=h.toNodePosition()),r.finish(e)}),r.result()}skipTailEdges(e){let t=e.copy(),i=F("skipEdges"),n=null,s=!1;return i.loopWithFrame(r=>{for(;e;){do{if(!e.viewNode)break;if(e.inline&&e.viewNode.nodeType!=1){if(Ve(e.viewNode,e.whitespace))break;if(!e.after){Ke(n)&&(this.pageBreakType=n),r.breakLoop();return}}if(!e.after&&(this.isFloatNodeContext(e)||e.flexContainer)){n=qe(n,e.breakBefore),Ke(n)&&(this.pageBreakType=n),r.breakLoop();return}if(e.viewNode.nodeType!=1)break;let a=e.viewNode.style;if(e.after){if(s){if(Ke(n)){this.pageBreakType=n,r.breakLoop();return}n=null}s=!1,n=qe(n,e.breakAfter)}else{n=qe(n,e.breakBefore);let h=e.viewNode.localName;if(jt[h]){Ke(n)&&(this.pageBreakType=n),r.breakLoop();return}if(a&&!(this.zeroIndent(a.paddingTop)&&this.zeroIndent(a.borderTopWidth))){r.breakLoop();return}}s=!0}while(!1);let o=this.layoutContext.nextInTree(e);if(o.isPending()){o.then(a=>{e=a,r.continueLoop()});return}else e=o.get()}t=null,r.breakLoop()}).then(()=>{i.finish(t)}),i.result()}layoutFloatOrFootnote(e){return gi(e.floatReference)||e.floatSide==="footnote"?this.layoutPageFloat(e):this.layoutFloat(e)}layoutNext(e,t,i){let n=F("layoutNext");return this.skipEdges(e,t,i||null).then(s=>{if(e=s,!e||this.pageBreakType||this.stopByOverflow(e))n.finish(e);else{let r=e.formattingContext;new Fi().find(r).layout(e,this,t).thenFinish(n)}}),n.result()}clearOverflownViewNodes(e,t){if(e)for(let i=e.parent;e;e=i,i=i?i.parent:null){let n=(i||e).formattingContext;new Fi().find(n).clearOverflownViewNodes(this,i,e,t),t=!1}}initGeom(){let e=this.element.ownerDocument.createElement("div");e.style.position="absolute",e.style.top=`${this.paddingTop}px`,e.style.right=`${this.paddingRight}px`,e.style.bottom=`${this.paddingBottom}px`,e.style.left=`${this.paddingLeft}px`,this.element.appendChild(e);let t=this.clientLayout.getElementClientRect(e);this.element.removeChild(e);let i=this.originX+this.left+this.getInsetLeft(),n=this.originY+this.top+this.getInsetTop();this.box=new rt(i,n,i+this.width,n+this.height),this.startEdge=t?this.vertical?this.rtl?t.bottom:t.top:this.rtl?t.right:t.left:0,this.endEdge=t?this.vertical?this.rtl?t.top:t.bottom:this.rtl?t.left:t.right:0,this.beforeEdge=t?this.vertical?t.right:t.top:0,this.afterEdge=t?this.vertical?t.left:t.bottom:0,this.leftFloatEdge=this.beforeEdge,this.rightFloatEdge=this.beforeEdge,this.bottommostFloatTop=this.beforeEdge,this.footnoteEdge=this.afterEdge,this.bands=dd(this.box,[this.getInnerShape()],this.getExclusions(),8,this.snapHeight,this.vertical),this.createFloats()}init(){this.chunkPositions=[],N(this.element,"width",`${this.width}px`),N(this.element,"height",`${this.height}px`),this.initGeom(),this.computedBlockSize=0,this.overflown=!1,this.pageBreakType=null,this.lastAfterPosition=null}saveEdgeBreakPosition(e,t,i){e.formattingContext;let n=e.copy(),s=new Fi().find(e.formattingContext),r=this.calculateClonedPaddingBorder(n),o=s.createEdgeBreakPosition(n,t,i,this.computedBlockSize+r);this.breakPositions.push(o)}saveBoxBreakPosition(e){let t=e[0].breakPenalty;if(t){let n=e[0];for(;n.parent&&n.inline;)n=n.parent;t=n.breakPenalty}let i=new Mn(e,t);this.breakPositions.push(i)}updateMaxReachedAfterEdge(e){if(!isNaN(e)){let t=this.getBoxDir()*(e-this.beforeEdge);this.computedBlockSize=Math.max(t,this.computedBlockSize)}}layout(e,t,i){if(this.chunkPositions.push(e),e.primary.after&&(this.lastAfterPosition=e.primary),this.stopAtOverflow&&this.overflown)return k(e);if(this.isFullWithPageFloats())return e.primary.after&&e.primary.steps.length===1?k(null):k(e);let n=F("layout");return this.openAllViews(e.primary).then(s=>{let r=null;if(s.viewNode)r=s.copy();else{let a=h=>{h.nodeContext.viewNode&&(r=h.nodeContext,this.layoutContext.removeEventListener("nextInTree",a))};this.layoutContext.addEventListener("nextInTree",a)}let o=new vg(t,i);o.layout(s,this).then(a=>{this.doFinishBreak(a,o.context.overflownNodeContext,r,o.initialComputedBlockSize).then(h=>{let l=null;this.pseudoParent?l=k(null):l=this.doFinishBreakOfFragmentLayoutConstraints(h),l.then(()=>{if(this.pageFloatLayoutContext.isInvalidated()){n.finish(null);return}if(!h)n.finish(null);else{this.overflown=!0;let c=new Dt(h.toNodePosition());n.finish(c)}})})})}),n.result()}isFullWithPageFloats(){return this.pageFloatLayoutContext.isColumnFullWithPageFloats(this)}getMaxBlockSizeOfPageFloats(){return this.pageFloatLayoutContext.getMaxBlockSizeOfPageFloats()}doFinishBreakOfFragmentLayoutConstraints(e){let t=F("doFinishBreakOfFragmentLayoutConstraints"),i=[].concat(this.fragmentLayoutConstraints);i.sort((s,r)=>s.getPriorityOfFinishBreak()-r.getPriorityOfFinishBreak());let n=0;return t.loop(()=>n<i.length?i[n++].finishBreak(e,this).thenReturn(!0):k(!1)).then(()=>{t.finish(!0)}),t.result()}doLayout(e,t,i){let n=F("doLayout"),s=null;return this.breakPositions=[],this.nodeContextOverflowingDueToRepetitiveElements=null,n.loopWithFrame(r=>{for(;e;){let o=!0;if(this.layoutNext(e,t,i||null).then(a=>{if(t=!1,i=null,this.nodeContextOverflowingDueToRepetitiveElements&&this.stopAtOverflow?(this.pageBreakType=null,e=this.nodeContextOverflowingDueToRepetitiveElements,e.overflow=!0):e=a,this.pageFloatLayoutContext.isInvalidated())r.breakLoop();else if(this.pageBreakType)r.breakLoop();else if(e&&this.stopByOverflow(e)){s=e;let h=this.findAcceptableBreakPosition();e=h.nodeContext,h.breakPosition&&h.breakPosition.breakPositionChosen(this),r.breakLoop()}else o?o=!1:r.continueLoop()}),o){o=!1;return}}this.computedBlockSize+=this.getOffsetByRepetitiveElements(),r.breakLoop()}).then(()=>{n.finish({nodeContext:e,overflownNodeContext:s})}),n.result()}redoLayout(){let e=this.chunkPositions,t=this.element.lastChild;for(;t!=this.last;){let o=t.previousSibling;this.element===t.parentNode&&this.layoutContext.isPseudoelement(t)||this.element.removeChild(t),t=o}this.killFloats(),this.init();let i=F("redoLayout"),n=0,s=null,r=!0;return i.loopWithFrame(o=>{if(n<e.length){let a=e[n++];this.layout(a,r).then(h=>{r=!1,h?(s=h,o.breakLoop()):o.continueLoop()});return}o.breakLoop()}).then(()=>{i.finish(s)}),i.result()}saveDistanceToBlockEndFloats(){let e=this.pageFloatLayoutContext.getBlockStartEdgeOfBlockEndFloats();e>0&&isFinite(e)&&(this.blockDistanceToBlockEndFloats=this.getBoxDir()*(e-this.beforeEdge-this.computedBlockSize))}collectElementsOffset(){let e=[];for(let t=this;t;t=t.pseudoParent)t.fragmentLayoutConstraints.forEach(i=>{if(qt.isInstanceOfRepetitiveElementsOwnerLayoutConstraint(i)){let n=i.getRepetitiveElements();e.push(n)}if(Xn.isInstanceOfAfterIfContinuesLayoutConstraint(i)){let n=i.getRepetitiveElements();e.push(n)}Mt.isInstanceOfTableRowLayoutConstraint(i)&&i.getElementsOffsetsForTableCell(this).forEach(n=>{e.push(n)})});return e}},no=class{constructor(e,t,i){u(this,"startNodeContexts",[]),u(this,"column"),this.column=Object.create(e),this.column.element=t,this.column.layoutContext=e.layoutContext.clone(),this.column.stopAtOverflow=!1,this.column.flowRootFormattingContext=i.formattingContext,this.column.pseudoParent=e;let n=this.column.calculateClonedPaddingBorder(i);this.column.footnoteEdge=this.column.footnoteEdge-n;let s=this;this.column.openAllViews=function(r){return Qn.prototype.openAllViews.call(this,r).thenAsync(o=>(s.startNodeContexts.push(o.copy()),k(o)))}}layout(e,t){return this.column.layout(e,t)}findAcceptableBreakPosition(e){let t=this.column.findAcceptableBreakPosition();if(e){let i=this.startNodeContexts[0].copy(),n=new yn(i,null,i.overflow,0);if(n.findAcceptableBreak(this.column,0),!t.nodeContext)return{breakPosition:n,nodeContext:i}}return t}finishBreak(e,t,i){return this.column.finishBreak(e,t,i)}doFinishBreakOfFragmentLayoutConstraints(e){this.column.doFinishBreakOfFragmentLayoutConstraints(e)}isStartNodeContext(e){let t=this.startNodeContexts[0];return t.viewNode===e.viewNode&&t.after===e.after&&t.offsetInNode===e.offsetInNode}isLastAfterNodeContext(e){return zt(e.toNodePosition(),this.column.lastAfterPosition)}getColumnElement(){return this.column.element}getColumn(){return this.column}},es=class{breakTextNode(e,t,i,n,s,r){if(t.after)t.offsetInNode=e.length;else{let o=i-t.boxOffset,a=e.data;a.charCodeAt(o)==173?o=this.breakAfterSoftHyphen(e,a,o,t):o=this.breakAfterOtherCharacter(e,a,o,t),o>0&&(t=this.updateNodeContext(t,o,e))}return t}breakAfterSoftHyphen(e,t,i,n){let s=/[\u0620\u0626\u0628\u062A-\u062E\u0633-\u0647\u0649\u064A\u066E\u066F\u0678-\u0687\u069A-\u06BF\u06C1\u06C2\u06CC\u06CE\u06D0\u06D1\u06FA-\u06FC\u06FF\u0712-\u0714\u071A-\u071D\u071F-\u0727\u0729\u072B\u072D\u072E\u074E-\u0758\u075C-\u076A\u076D-\u0770\u0772\u0775-\u0777\u077A-\u077F\u07CA-\u07EA\u07FA\u0841-\u0845\u0848\u084A-\u0853\u0855\u0860\u0862-\u0865\u0868\u0883-\u0886\u0889-\u088D\u08A0-\u08A9\u08AF\u08B0\u08B3-\u08B8\u08BA-\u08C8\u1807\u180A\u1820-\u1878\u1887-\u18A8\u18AA\u200D\uA840-\uA871\u{10AC0}-\u{10AC4}\u{10AD3}-\u{10AD6}\u{10AD8}-\u{10ADC}\u{10ADE}-\u{10AE0}\u{10AEB}-\u{10AEE}\u{10B80}\u{10B82}\u{10B86}-\u{10B88}\u{10B8A}\u{10B8B}\u{10B8D}\u{10B90}\u{10BAD}\u{10BAE}\u{10D01}-\u{10D21}\u{10D23}\u{10EC3}\u{10EC4}\u{10F30}-\u{10F32}\u{10F34}-\u{10F44}\u{10F51}-\u{10F53}\u{10F70}-\u{10F73}\u{10F76}-\u{10F81}\u{10FB0}\u{10FB2}\u{10FB3}\u{10FB8}\u{10FBB}\u{10FBC}\u{10FBE}\u{10FBF}\u{10FC1}\u{10FC4}\u{10FCA}\u{1E900}-\u{1E943}]\p{Mn}*$/u.test(t.slice(0,i))?"\u200D":"";if(e.replaceData(i,t.length-i,n.breakWord?"":s+ya(n)),s){let r=n.preprocessedTextContent[0][1];n.preprocessedTextContent[0][1]=r.slice(0,i+1)+s+r.slice(i+1)}return i+1}breakAfterOtherCharacter(e,t,i,n){let s=t.charAt(i);i++;let r=t.charAt(i);return e.replaceData(i,t.length-i,!n.breakWord&&No(s)&&No(r)?ya(n):""),i}updateNodeContext(e,t,i){return e=e.modify(),e.offsetInNode+=t,e.breakBefore=null,e}};u(es,"instance");es.instance=new es;function ya(e){return e.hyphenateCharacter||e.parent&&e.parent.hyphenateCharacter||"-"}var vg=class extends Zr{constructor(e,t){super(),this.leadingEdge=e,u(this,"breakAfter"),u(this,"initialPageBreakType",null),u(this,"initialComputedBlockSize",0),u(this,"initialOverflown",!1),u(this,"context",{overflownNodeContext:null}),this.breakAfter=t||null}resolveLayoutMode(e){return new yg(this.leadingEdge,this.breakAfter,this.context)}prepareLayout(e,t){t.fragmentLayoutConstraints=[],t.pseudoParent||tf()}clearNodes(e){super.clearNodes(e);let t=e;for(;t;){let i=t.viewNode;i&&kh(i.parentNode,i),t=t.parent}}saveState(e,t){super.saveState(e,t),this.initialPageBreakType=t.pageBreakType,this.initialComputedBlockSize=t.computedBlockSize,this.initialOverflown=t.overflown}restoreState(e,t){super.restoreState(e,t),t.pageBreakType=this.initialPageBreakType,t.computedBlockSize=this.initialComputedBlockSize,t.overflown=this.initialOverflown}},yg=class{constructor(e,t,i){this.leadingEdge=e,this.breakAfter=t,this.context=i}doLayout(e,t){let i=F("DefaultLayoutMode.doLayout");return mg(e,t).then(()=>{t.doLayout(e,this.leadingEdge,this.breakAfter).then(n=>{this.context.overflownNodeContext=n.overflownNodeContext,i.finish(n.nodeContext)})}),i.result()}accept(e,t){return t.pageFloatLayoutContext.isInvalidated()||t.pageBreakType||t.fragmentLayoutConstraints.length<=0?!0:t.fragmentLayoutConstraints.every(i=>i.allowLayout(e,this.context.overflownNodeContext,t))}postLayout(e,t,i,n){return n||(n=!i.fragmentLayoutConstraints.some(s=>s.nextCandidate(e))),i.fragmentLayoutConstraints.forEach(s=>{s.postLayout(n,e,t,i)}),n}},xg=class extends Qn{constructor(e,t,i,n,s,r,o){super(t,i,n,s,r),this.floatSide=e,this.parentContainer=o,u(this,"rootViewNodes",[]),u(this,"floatMargins",[]),u(this,"adjustContentRelativeSize",!0)}openAllViews(e){return super.openAllViews(e).thenAsync(t=>(t&&this.fixFloatSizeAndPosition(t),k(t)))}convertPercentageSizesToPx(e){let t=this.parentContainer.getPaddingRect(),i=t.x2-t.x1,n=t.y2-t.y1;function s(r,o){r.forEach(a=>{let h=At(e,a);if(h&&h.charAt(h.length-1)==="%"){let l=parseFloat(h),c=o*l/100;N(e,a,`${c}px`)}})}s(["width","max-width","min-width"],i),s(["height","max-height","min-height"],n),s(["margin-top","margin-right","margin-bottom","margin-left","padding-top","padding-right","padding-bottom","padding-left"],this.vertical?n:i),["margin-top","margin-right","margin-bottom","margin-left"].forEach(r=>{At(e,r)==="auto"&&N(e,r,"0")})}fixFloatSizeAndPosition(e){for(;e.parent;)e=e.parent;e.viewNode.nodeType;let t=e.viewNode;if(this.rootViewNodes.push(t),this.adjustContentRelativeSize&&this.convertPercentageSizesToPx(t),this.floatMargins.push(this.getComputedMargin(t)),this.adjustContentRelativeSize){let i=this.floatSide;if(this.parentContainer.vertical){if(i==="block-end"||i==="left"){let n=At(t,"height");n!==""&&n!=="auto"&&N(t,"margin-top","auto")}}else if(i==="block-end"||i==="bottom"){let n=At(t,"width");n!==""&&n!=="auto"&&N(t,"margin-left","auto")}}}getContentInlineSize(){return Math.max.apply(null,this.rootViewNodes.map((e,t)=>{let i=this.clientLayout.getElementClientRect(e),n=this.floatMargins[t];return this.vertical?n.top+i.height+n.bottom:n.left+i.width+n.right}))}},Qt=class{constructor(e,t){this.parent=e,this.rootSourceNode=t,u(this,"formattingContextType","RepetitiveElementsOwner"),u(this,"isRoot",!1),u(this,"repetitiveElements",null)}getName(){return"Repetitive elements owner formatting context (RepetitiveElementsOwnerFormattingContext)"}isFirstTime(e,t){return t}getParent(){return this.parent}getRepetitiveElements(){return this.repetitiveElements}getRootViewNode(e){let t=this.getRootNodeContext(e);return t?t.viewNode:null}getRootNodeContext(e){do if(!e.belongsTo(this)&&e.sourceNode===this.rootSourceNode)return e;while(e=e.parent);return null}initializeRepetitiveElements(e){this.repetitiveElements||rr.some(t=>t.root===this.rootSourceNode?(this.repetitiveElements=t.elements,!0):!1)||(this.repetitiveElements=new Sg(e,this.rootSourceNode),rr.push({root:this.rootSourceNode,elements:this.repetitiveElements}))}saveState(){}restoreState(e){}},Sg=class{constructor(e,t){this.vertical=e,this.ownerSourceNode=t,u(this,"headerSourceNode",null),u(this,"footerSourceNode",null),u(this,"headerViewNode",null),u(this,"footerViewNode",null),u(this,"headerNodePosition",null),u(this,"footerNodePosition",null),u(this,"headerHeight",0),u(this,"footerHeight",0),u(this,"isSkipHeader",!1),u(this,"isSkipFooter",!1),u(this,"enableSkippingFooter",!0),u(this,"enableSkippingHeader",!0),u(this,"doneInitialLayout",!1),u(this,"firstContentSourceNode",null),u(this,"lastContentSourceNode",null),u(this,"affectedNodeCache",[]),u(this,"afterLastContentNodeCache",[]),u(this,"allowInsert",!1),u(this,"allowInsertRepeatitiveElements")}setHeaderNodeContext(e){this.headerNodePosition||(this.headerNodePosition=qn(e,0),this.headerSourceNode=e.sourceNode,this.headerViewNode=e.viewNode)}setFooterNodeContext(e){this.footerNodePosition||(this.footerNodePosition=qn(e,0),this.footerSourceNode=e.sourceNode,this.footerViewNode=e.viewNode)}updateHeight(e){this.headerViewNode&&(this.headerHeight=nr(this.headerViewNode,e,this.vertical),this.headerViewNode=null),this.footerViewNode&&(this.footerHeight=nr(this.footerViewNode,e,this.vertical),this.footerViewNode=null)}prepareLayoutFragment(){this.isSkipHeader=this.isSkipFooter=!1,this.enableSkippingFooter=!0,this.enableSkippingHeader=!0}appendHeaderToFragment(e,t,i){return!this.headerNodePosition||this.isSkipHeader?k(!0):this.appendElementToFragment(this.headerNodePosition,e,t,i)}appendFooterToFragment(e,t,i){return!this.footerNodePosition||this.isSkipFooter?k(!0):this.appendElementToFragment(this.footerNodePosition,e,t,i)}appendElementToFragment(e,t,i,n){let s=t.viewNode.ownerDocument,r=t.viewNode,o=s.createElement("div");r.appendChild(o);let a=new no(n,o,t),h=a.getColumn().pageBreakType;return a.getColumn().pageBreakType=null,this.allowInsertRepeatitiveElements=!0,a.layout(new Dt(e),!0).thenAsync(()=>(this.allowInsertRepeatitiveElements=!1,r.removeChild(o),this.moveChildren(o,r,i),a.getColumn().pageBreakType=h,k(!0)))}moveChildren(e,t,i){if(t)for(;e.firstChild;){let n=e.firstChild;e.removeChild(n),n.setAttribute(xi,"1"),i?t.insertBefore(n,i):t.appendChild(n)}}calculateOffset(e){let t=0;return e&&!this.affectTo(e)||((!this.isSkipFooter||e&&this.isAfterLastContent(e))&&(t+=this.footerHeight),this.isSkipHeader||(t+=this.headerHeight)),t}calculateMinimumOffset(e){let t=0;return e&&!this.affectTo(e)||(!this.enableSkippingFooter&&e&&this.isAfterLastContent(e)&&(t+=this.footerHeight),this.enableSkippingHeader||(t+=this.headerHeight)),t}isAfterLastContent(e){return this.findResultFromCache(e,this.afterLastContentNodeCache,t=>this.isAfterNodeContextOf(this.lastContentSourceNode,e,!1))}affectTo(e){return this.findResultFromCache(e,this.affectedNodeCache,t=>this.isAfterNodeContextOf(this.ownerSourceNode,e,!0))}findResultFromCache(e,t,i){let n=t.filter(s=>s.nodeContext.sourceNode===e.sourceNode&&s.nodeContext.after===e.after);if(n.length>0)return n[0].result;{let s=i(e);return t.push({nodeContext:e,result:s}),s}}isAfterNodeContextOf(e,t,i){let n=[];for(let s=e;s;s=s.parentNode){if(t.sourceNode===s)return t.after;n.push(s)}for(let s=t.sourceNode;s;s=s.parentNode){let r=n.indexOf(s);if(r>=0)return i?r===0:!1;for(let o=s;o;o=o.previousElementSibling)if(n.includes(o))return!0}return t.after}isFirstContentNode(e){return e&&this.firstContentSourceNode===e.sourceNode}isEnableToUpdateState(){return!!(!this.isSkipFooter&&this.enableSkippingFooter&&this.footerNodePosition||!this.isSkipHeader&&this.enableSkippingHeader&&this.headerNodePosition)}updateState(){!this.isSkipFooter&&this.enableSkippingFooter&&this.footerNodePosition?this.isSkipFooter=!0:!this.isSkipHeader&&this.enableSkippingHeader&&this.headerNodePosition&&(this.isSkipHeader=!0)}preventSkippingHeader(){this.isSkipHeader=!1,this.enableSkippingHeader=!1}preventSkippingFooter(){this.isSkipFooter=!1,this.enableSkippingFooter=!1}isHeaderRegistered(){return!!this.headerNodePosition}isFooterRegistered(){return!!this.footerNodePosition}isHeaderSourceNode(e){return this.headerSourceNode===e}isFooterSourceNode(e){return this.footerSourceNode===e}},tu=class{constructor(e){this.formattingContext=e}accept(e,t){return!!e}postLayout(e,t,i,n){let s=this.formattingContext.getRepetitiveElements();return s&&(i.clientLayout,s.doneInitialLayout||(s.updateHeight(i),s.doneInitialLayout=!0)),n}},iu=class{constructor(e){this.formattingContext=e}accept(e,t){return!0}postLayout(e,t,i,n){return n}},Cg=class extends tu{constructor(e,t){super(e),this.processor=t}doLayout(e,t){return this.processor.doInitialLayout(e,t)}accept(e,t){return!1}},Eg=class extends iu{constructor(e,t){super(e),this.processor=t}doLayout(e,t){return!e.belongsTo(this.formattingContext)&&!e.after&&t.fragmentLayoutConstraints.unshift(new so(e)),this.processor.doLayout(e,t)}},so=class nu{constructor(t){u(this,"flagmentLayoutConstraintType","RepetitiveElementsOwner"),u(this,"nodeContext");let i=xt(t.formattingContext);this.nodeContext=i.getRootNodeContext(t)}allowLayout(t,i,n){let s=this.getRepetitiveElements();return!s||hi(this.nodeContext.viewNode)||!s.isEnableToUpdateState()?!0:!(i&&!t||t&&t.overflow)}nextCandidate(t){let i=this.getRepetitiveElements();return i&&i.isEnableToUpdateState()?(i.updateState(),!0):!1}postLayout(t,i,n,s){let r=this.getRepetitiveElements();r&&t&&s.stopAtOverflow&&(i==null||r.isAfterLastContent(i))&&r.preventSkippingFooter()}finishBreak(t,i){let n=xt(this.nodeContext.formattingContext),s=this.getRepetitiveElements();if(!s)return k(!0);let r=this.nodeContext;return Ig(n,r,i).thenAsync(()=>Rg(n,r,i).thenAsync(()=>(s.prepareLayoutFragment(),k(!0))))}getRepetitiveElements(){return xt(this.nodeContext.formattingContext).getRepetitiveElements()}equalsTo(t){return t instanceof nu?xt(this.nodeContext.formattingContext)===xt(t.nodeContext.formattingContext):!1}getPriorityOfFinishBreak(){return 10}},kg=class extends Zr{constructor(e,t){super(),this.formattingContext=e,this.processor=t}resolveLayoutMode(e){let t=this.formattingContext.getRepetitiveElements();return!e.belongsTo(this.formattingContext)&&!t.doneInitialLayout?new Cg(this.formattingContext,this.processor):(!e.belongsTo(this.formattingContext)&&!e.after&&t&&t.preventSkippingHeader(),new Eg(this.formattingContext,this.processor))}},Ng=class extends Xi{constructor(e,t){super(),this.formattingContext=e,this.column=t}startNonInlineElementNode(e){let t=this.formattingContext,i=e.nodeContext,n=t.getRepetitiveElements();if(i.parent&&t.rootSourceNode===i.parent.sourceNode){switch(i.repeatOnBreak){case"header":if(n.isHeaderRegistered())i.repeatOnBreak="none";else return n.setHeaderNodeContext(i),k(!0);break;case"footer":if(n.isFooterRegistered())i.repeatOnBreak="none";else return n.setFooterNodeContext(i),k(!0);break}n.firstContentSourceNode||(n.firstContentSourceNode=i.sourceNode)}return Xi.prototype.startNonInlineElementNode.call(this,e)}afterNonInlineElementNode(e){let t=this.formattingContext,i=e.nodeContext;return i.sourceNode===t.rootSourceNode&&(t.getRepetitiveElements().lastContentSourceNode=e.lastAfterNodeContext&&e.lastAfterNodeContext.sourceNode,e.break=!0),i.repeatOnBreak==="header"||i.repeatOnBreak==="footer"?k(!0):Xi.prototype.afterNonInlineElementNode.call(this,e)}},Pg=class extends ci{layout(e,t,i){if(t.isFloatNodeContext(e))return t.layoutFloatOrFootnote(e);let n=xt(e.formattingContext);return n.getRootViewNode(e)?(i&&su(e.parent,t),e.belongsTo(n)?ci.prototype.layout.call(this,e,t,i):new kg(n,this).layout(e,t)):t.buildDeepElementView(e)}startNonInlineElementNode(e){let t=Ag(e).getRepetitiveElements();return t&&!t.allowInsertRepeatitiveElements&&(t.isHeaderSourceNode(e.sourceNode)||t.isFooterSourceNode(e.sourceNode))&&e.viewNode.parentNode.removeChild(e.viewNode),!1}doInitialLayout(e,t){let i=xt(e.formattingContext),n=F("BlockLayoutProcessor.doInitialLayout");return this.layoutEntireBlock(e,t).thenFinish(n),n.result()}layoutEntireBlock(e,t){let i=xt(e.formattingContext),n=new Ng(i,t);return new sr(n,t.layoutContext).iterate(e)}doLayout(e,t){let i=xt(e.formattingContext),n=F("doLayout"),s=t.layoutContext.nextInTree(e,!1);return eu(s,t).then(r=>{let o=r;n.loopWithFrame(a=>{for(;o;){let h=!0;if(t.layoutNext(o,!1).then(l=>{o=l,t.pageFloatLayoutContext.isInvalidated()||t.pageBreakType||o&&t.stopByOverflow(o)||o&&o.after&&o.sourceNode==i.rootSourceNode?a.breakLoop():h?h=!1:a.continueLoop()}),h){h=!1;return}}a.breakLoop()}).then(()=>{n.finish(o)})}),n.result()}finishBreak(e,t,i,n){return ci.prototype.finishBreak.call(this,e,t,i,n)}clearOverflownViewNodes(e,t,i,n){ci.prototype.clearOverflownViewNodes(e,t,i,n)}};function Tg(e,t){for(let i=e;i;i=i.parent){let n=i.formattingContext;n&&n instanceof Qt&&!i.belongsTo(n)&&t(n,i)}}function su(e,t){e&&Tg(e.after?e.parent:e,(i,n)=>{Mt.isInstanceOfTableFormattingContext(i)||t.fragmentLayoutConstraints.push(new so(n))})}function Ig(e,t,i){let n=e.getRepetitiveElements();if(n){let s=e.getRootNodeContext(t);if(s.viewNode){let r=s.viewNode.firstChild;return n.appendHeaderToFragment(s,r,i)}}return k(!0)}function Rg(e,t,i){let n=e.getRepetitiveElements();if(n&&!n.isSkipFooter){let s=e.getRootNodeContext(t);if(s.viewNode)return n.appendFooterToFragment(s,null,i)}return k(!0)}function Ag(e){let t=e.formattingContext;return!t||!(t instanceof Qt)?null:t}function xt(e){return e instanceof Qt,e}var Lg=new Pg;ut("RESOLVE_LAYOUT_PROCESSOR",e=>e instanceof Qt&&!Mt.isInstanceOfTableFormattingContext(e)?Lg:null);var ru=class{constructor(e,t){this.rowIndex=e,this.sourceNode=t,u(this,"cells",[])}addCell(e){this.cells.push(e)}getMinimumHeight(){return Math.min.apply(null,this.cells.map(e=>e.height))}},Fg=class{constructor(e,t,i){this.rowIndex=e,this.columnIndex=t,u(this,"viewElement"),u(this,"colSpan"),u(this,"rowSpan"),u(this,"height",0),u(this,"anchorSlot",null),this.viewElement=i,this.colSpan=i.colSpan||1,this.rowSpan=i.rowSpan||1}setHeight(e){this.height=e}setAnchorSlot(e){this.anchorSlot=e}},Og=class{constructor(e,t,i){this.rowIndex=e,this.columnIndex=t,this.cell=i}},Bg=class{constructor(e,t,i){this.column=e,this.cellNodeContext=i,u(this,"pseudoColumn"),u(this,"empty",!1),this.pseudoColumn=new no(e,t,i)}findAcceptableBreakPosition(){let e=this.cellNodeContext.viewNode,{verticalAlign:t,alignContent:i}=e.style;t!=="top"&&t!=="baseline"&&N(e,"vertical-align","top"),i&&i!=="normal"&&N(e,"align-content","normal");let n=this.pseudoColumn.findAcceptableBreakPosition(!0);return N(e,"vertical-align",t),i&&i!=="normal"&&N(e,"align-content",i),n}},_g=class{constructor(e,t){this.viewNode=e,this.side=t}},Mg=class extends yn{constructor(e,t,i,n){super(e,t,i,n),u(this,"formattingContext"),u(this,"acceptableCellBreakPositions",null),u(this,"rowIndex",null),this.formattingContext=e.formattingContext}findAcceptableBreak(e,t){let i=super.findAcceptableBreak(e,t);return t<this.getMinBreakPenalty()?null:this.getAcceptableCellBreakPositions().every(n=>!!n.nodeContext)?i:null}getMinBreakPenalty(){let e=super.getMinBreakPenalty();this.getAcceptableCellBreakPositions().forEach(i=>{e+=i.breakPosition.getMinBreakPenalty()});let t=this.getCellFragments();return e+=Math.max(0,...t.map(i=>i.cellNodeContext.breakPenalty)),e}getAcceptableCellBreakPositions(){if(!this.acceptableCellBreakPositions){let e=this.formattingContext,t=this.getCellFragments();this.acceptableCellBreakPositions=t.map(i=>i.findAcceptableBreakPosition())}return this.acceptableCellBreakPositions}getRowIndex(){return this.rowIndex!=null?this.rowIndex:this.rowIndex=this.formattingContext.findRowIndexBySourceNode(this.position.sourceNode)}getCellFragments(){return this.formattingContext.getRowSpanningCellsOverflowingTheRow(this.getRowIndex()).map(this.formattingContext.getCellFragmentOfCell,this.formattingContext)}},zg=class extends Xr{constructor(e,t,i){super(),this.rowIndex=e,this.beforeNodeContext=t,this.formattingContext=i,u(this,"acceptableCellBreakPositions",null)}findAcceptableBreak(e,t){if(this!==e.breakPositions[0]&&t<this.getMinBreakPenalty())return null;let i=this.getCellFragments(),n=this.getAcceptableCellBreakPositions(),s=n.every(r=>!!r.nodeContext)&&n.some((r,o)=>{let a=i[o].pseudoColumn,h=r.nodeContext;return!a.isStartNodeContext(h)&&!a.isLastAfterNodeContext(h)});return this.beforeNodeContext.overflow=n.some(r=>r.nodeContext&&r.nodeContext.overflow),s?this.beforeNodeContext:null}getMinBreakPenalty(){let e=this.formattingContext.getRowByIndex(this.rowIndex),t=this.beforeNodeContext.breakPenalty,i=this.getAcceptableCellBreakPositions(),n=this.getCellFragments();t+=Math.max(0,...n.map(r=>r.cellNodeContext.breakPenalty));let s=i.some((r,o)=>r.breakPosition instanceof Mn&&n[o].cellNodeContext.sourceNode.rowSpan>1);return i.forEach((r,o)=>{let a=r.breakPosition.getMinBreakPenalty();s&&r.breakPosition instanceof yn&&r.breakPosition.overflows&&a>=3&&(n[o].column.checkOverflowAndSaveEdge(r.nodeContext,null)||(a-=3)),t+=a}),t}getAcceptableCellBreakPositions(){if(!this.acceptableCellBreakPositions){let e=this.getCellFragments();this.acceptableCellBreakPositions=e.map(t=>t.findAcceptableBreakPosition())}return this.acceptableCellBreakPositions}getCellFragments(){return this.formattingContext.getCellsFallingOnRow(this.rowIndex).map(this.formattingContext.getCellFragmentOfCell,this.formattingContext)}},bi=class extends Qt{constructor(e,t){super(e,t),this.tableSourceNode=t,u(this,"formattingContextType","Table"),u(this,"vertical",!1),u(this,"columnCount",-1),u(this,"tableWidth",0),u(this,"captions",[]),u(this,"colGroups",null),u(this,"colWidths",null),u(this,"inlineBorderSpacing",0),u(this,"rows",[]),u(this,"slots",[]),u(this,"cellFragments",[]),u(this,"lastRowViewNode",null),u(this,"cellBreakPositions",[]),u(this,"repetitiveElements",null)}getName(){return"Table formatting context (Table.TableFormattingContext)"}isFirstTime(e,t){if(!t)return t;switch(e.display){case"table-row":return this.cellBreakPositions.length===0;case"table-cell":return!this.cellBreakPositions.some(i=>i.cellNodePosition.steps[0].node===e.sourceNode);default:return t}}getParent(){return this.parent}finishFragment(){this.cellFragments=[]}addRow(e,t){this.rows[e]=t}getRowSlots(e){let t=this.slots[e];return t||(t=this.slots[e]=[]),t}addCell(e,t){let i=this.rows[e];i||(this.addRow(e,new ru(e,null)),i=this.rows[e]),i.addCell(t);let n=e+t.rowSpan,s=this.getRowSlots(e),r=0;for(;s[r];)r++;for(;e<n;e++){s=this.getRowSlots(e);for(let o=r;o<r+t.colSpan;o++){let a=s[o]=new Og(e,o,t);t.anchorSlot||t.setAnchorSlot(a)}}}getRowByIndex(e){return this.rows[e]}findRowIndexBySourceNode(e){return this.rows.findIndex(t=>e===t.sourceNode)}addCellFragment(e,t,i){let n=this.cellFragments[e];n||(n=this.cellFragments[e]=[]),n[t]=i}getCellsFallingOnRow(e){return this.getRowSlots(e).reduce((t,i)=>i.cell!==t[t.length-1]?t.concat(i.cell):t,[])}getRowSpanningCellsOverflowingTheRow(e){return this.getCellsFallingOnRow(e).filter(t=>t.rowIndex+t.rowSpan-1>e)}getCellFragmentOfCell(e){return this.cellFragments[e.rowIndex]&&this.cellFragments[e.rowIndex][e.columnIndex]}getColumnCount(){return this.columnCount<0&&(this.columnCount=Math.max.apply(null,this.rows.map(e=>e.cells.reduce((t,i)=>t+i.colSpan,0)))),this.columnCount}updateCellSizes(e){this.rows.forEach(t=>{t.cells.forEach(i=>{let n=e.getElementClientRect(i.viewElement);i.viewElement=null,i.setHeight(this.vertical?n.width:n.height)})})}findCellFromColumn(e){if(!e)return null;let t=null,i=0,n=0;e:for(i=0;i<this.cellFragments.length;i++)if(this.cellFragments[i]){for(n=0;n<this.cellFragments[i].length;n++)if(this.cellFragments[i][n]&&e===this.cellFragments[i][n].pseudoColumn.getColumn()){t=this.rows[i].cells[n];break e}}if(!t)return null;for(;i<this.slots.length;i++)for(;n<this.slots[i].length;n++){let s=this.slots[i][n];if(s.cell===t)return{rowIndex:s.rowIndex,columnIndex:s.columnIndex}}return null}collectElementsOffsetOfUpperCells(e){let t=[];return this.slots.reduce((i,n,s)=>{if(s>=e.rowIndex)return i;let r=n[e.columnIndex]&&this.getCellFragmentOfCell(n[e.columnIndex].cell);return!r||t.includes(r)||(this.collectElementsOffsetFromColumn(r.pseudoColumn.getColumn(),i),t.push(r)),i},[])}collectElementsOffsetOfHighestColumn(){let e=[];return this.rows.forEach(t=>{t.cells.forEach((i,n)=>{e[n]||(e[n]={collected:[],elements:[]});let s=e[n],r=this.getCellFragmentOfCell(i);!r||s.collected.includes(r)||(this.collectElementsOffsetFromColumn(r.pseudoColumn.getColumn(),s.elements),s.collected.push(r))})}),[new Dg(e.map(t=>t.elements))]}collectElementsOffsetFromColumn(e,t){e.fragmentLayoutConstraints.forEach(i=>{if(qt.isInstanceOfRepetitiveElementsOwnerLayoutConstraint(i)){let n=i.getRepetitiveElements();t.push(n)}Mt.isInstanceOfTableRowLayoutConstraint(i)&&i.getElementsOffsetsForTableCell(null).forEach(n=>{t.push(n)})})}saveState(){return[].concat(this.cellBreakPositions)}restoreState(e){this.cellBreakPositions=e}},Dg=class{constructor(e){this.repeatitiveElementsInColumns=e}calculateOffset(e){return this.calculateMaxOffsetOfColumn(e,t=>t.current)}calculateMinimumOffset(e){return this.calculateMaxOffsetOfColumn(e,t=>t.minimum)}calculateMaxOffsetOfColumn(e,t){let i=0;return this.repeatitiveElementsInColumns.forEach(n=>{let s=mi(e,n);i=Math.max(i,t(s))}),i}};function lt(e){return e instanceof bi,e}function Vg(e){return e==="table-row-group"||e==="table-header-group"||e==="table-footer-group"}function Hg(e){return e==="table"||e==="inline-table"}function xa(e){return Vg(e)||Hg(e)}function ou(e,t,i){let n=e.nodeContext,s=n.display,r=n.parent?n.parent.display:null,o=!1;if(r==="inline-table"&&!(n.formattingContext instanceof bi)){for(let a=n.parent;a;a=a.parent)if(a.formattingContext instanceof bi){o=a.formattingContext===t;break}}return o||s==="table-row"&&!xa(r)||s==="table-cell"&&r!=="table-row"&&!xa(r)||n.formattingContext instanceof bi&&n.formattingContext!==t?i.buildDeepElementView(n).thenAsync(a=>(e.nodeContext=a,k(!0))):null}var Ug=class extends Xi{constructor(e,t){super(),this.formattingContext=e,this.column=t,u(this,"rowIndex",-1),u(this,"columnIndex",0),u(this,"inRow",!1),u(this,"checkPoints",[]),u(this,"inHeaderOrFooter",!1)}startNonInlineElementNode(e){let t=this.formattingContext,i=ou(e,t,this.column);if(i)return i;this.postLayoutBlockContents(e);let n=e.nodeContext,s=n.display,r=t.getRepetitiveElements();switch(s){case"table":t.inlineBorderSpacing=n.inlineBorderSpacing;break;case"table-caption":{let o=new _g(n.viewNode,n.captionSide);t.captions.push(o);break}case"table-header-group":return r.isHeaderRegistered()||(this.inHeaderOrFooter=!0,r.setHeaderNodeContext(n)),k(!0);case"table-footer-group":return r.isFooterRegistered()||(this.inHeaderOrFooter=!0,r.setFooterNodeContext(n)),k(!0);case"table-row":this.inHeaderOrFooter||(this.inRow=!0,this.rowIndex++,n.sourceNode,this.columnIndex=0,t.addRow(this.rowIndex,new ru(this.rowIndex,n.sourceNode)),r.firstContentSourceNode||(r.firstContentSourceNode=n.sourceNode));break}return super.startNonInlineElementNode(e)}afterNonInlineElementNode(e){let t=this.formattingContext,i=e.nodeContext,n=i.display,s=this.column.clientLayout;if(this.postLayoutBlockContents(e),i.sourceNode===t.tableSourceNode){let r=s.getElementComputedStyle(t.getRootViewNode(i));t.tableWidth=parseFloat(r[t.vertical?"height":"width"]),t.getRepetitiveElements().lastContentSourceNode=e.lastAfterNodeContext&&e.lastAfterNodeContext.sourceNode,e.break=!0}else switch(n){case"table-header-group":case"table-footer-group":if(this.inHeaderOrFooter)return this.inHeaderOrFooter=!1,k(!0);break;case"table-row":this.inHeaderOrFooter||(t.lastRowViewNode=i.viewNode,this.inRow=!1);break;case"table-cell":if(!this.inHeaderOrFooter){this.inRow||(this.rowIndex++,this.columnIndex=0,this.inRow=!0);let r=i.viewNode;t.addCell(this.rowIndex,new Fg(this.rowIndex,this.columnIndex,r)),this.columnIndex++}break}return super.afterNonInlineElementNode(e)}startNonElementNode(e){this.registerCheckPoint(e)}afterNonElementNode(e){this.registerCheckPoint(e)}startInlineElementNode(e){this.registerCheckPoint(e)}afterInlineElementNode(e){this.registerCheckPoint(e)}registerCheckPoint(e){let t=e.nodeContext;t&&t.viewNode&&!ui(t)&&this.checkPoints.push(t.clone())}postLayoutBlockContents(e){this.checkPoints.length>0&&this.column.postLayoutBlock(e.nodeContext,this.checkPoints),this.checkPoints=[]}},au=class lu extends Xi{constructor(t,i){super(!0),this.formattingContext=t,this.column=i,u(this,"inRow",!1),u(this,"currentRowIndex",-1),u(this,"currentColumnIndex",0),u(this,"originalStopAtOverflow"),u(this,"inHeader"),u(this,"inFooter"),this.originalStopAtOverflow=i.stopAtOverflow,i.stopAtOverflow=!1}resetColumn(){this.column.stopAtOverflow=this.originalStopAtOverflow}getColSpanningCellWidth(t){let i=this.formattingContext.colWidths,n=0;for(let s=0;s<t.colSpan;s++)n+=i[t.anchorSlot.columnIndex+s];return n+=this.formattingContext.inlineBorderSpacing*(t.colSpan-1),n}layoutCell(t,i,n){let s=t.rowIndex,r=t.columnIndex,o=t.colSpan,a=i.viewNode,h=i.verticalAlign;o>1&&(N(a,"box-sizing","border-box"),N(a,this.formattingContext.vertical?"height":"width",`${this.getColSpanningCellWidth(t)}px`));let l=a.ownerDocument.createElement("div");a.appendChild(l);let c=new Bg(this.column,l,i);return this.formattingContext.addCellFragment(s,r,c),n.primary.steps.length===1&&n.primary.after&&(c.empty=!0),c.pseudoColumn.layout(n,!0).thenReturn(!0)}hasBrokenCellAtSlot(t){let i=this.formattingContext.cellBreakPositions[0];return i?i.cell.anchorSlot.columnIndex===t:!1}extractRowSpanningCellBreakPositions(){let t=this.formattingContext.cellBreakPositions;if(t.length===0)return[];let i=[],n=0;do{let s=t[n],r=s.cell.rowIndex;if(r<this.currentRowIndex){let o=i[r];o||(o=i[r]=[]),o.push(s),t.splice(n,1)}else n++}while(n<t.length);return i}layoutRowSpanningCellsFromPreviousFragment(t){let i=this.formattingContext,n=this.extractRowSpanningCellBreakPositions(),s=n.reduce(p=>p+1,0);if(s===0)return k(!0);let r=this.column.layoutContext,o=t.nodeContext;o.viewNode.parentNode.removeChild(o.viewNode);let a=F("layoutRowSpanningCellsFromPreviousFragment"),h=k(!0),l=0,c=[];return n.forEach(p=>{h=h.thenAsync(()=>{let d=Yn(p[0].cellNodePosition.steps[1],o.parent);return r.setCurrent(d,!1).thenAsync(()=>{let f=k(!0),m=0;function g(w){for(;m<w;){if(!c.includes(m)){let y=d.viewNode.ownerDocument.createElement("td");N(y,"padding","0"),d.viewNode.appendChild(y)}m++}}return p.forEach(w=>{f=f.thenAsync(()=>{let y=w.cell;g(y.anchorSlot.columnIndex);let b=w.cellNodePosition,S=Yn(b.steps[0],d);return S.offsetInNode=b.offsetInNode,S.after=b.after,S.fragmentIndex=b.steps[0].fragmentIndex+1,r.setCurrent(S,!1).thenAsync(()=>{let T=w.breakChunkPosition;for(let A=0;A<y.colSpan;A++)c.push(m+A);return m+=y.colSpan,this.layoutCell(y,S,T).thenAsync(()=>(S.viewNode.rowSpan=y.rowIndex+y.rowSpan-this.currentRowIndex+s-l,k(!0)))})})}),f.thenAsync(()=>(g(i.getColumnCount()),l++,k(!0)))})})}),h.then(()=>{r.setCurrent(o,!0,t.atUnforcedBreak).then(()=>{a.finish(!0)})}),a.result()}startTableRow(t){if(this.inHeader||this.inFooter)return k(!0);let i=t.nodeContext,n=this.formattingContext;return this.currentRowIndex<0?(i.sourceNode,this.currentRowIndex=n.findRowIndexBySourceNode(i.sourceNode)):this.currentRowIndex++,this.currentColumnIndex=0,this.inRow=!0,this.layoutRowSpanningCellsFromPreviousFragment(t).thenAsync(()=>(this.registerCellFragmentIndex(),this.column.checkOverflowAndSaveEdgeAndBreakPosition(t.lastAfterNodeContext,null,!0,t.breakAtTheEdge)&&n.getRowSpanningCellsOverflowingTheRow(this.currentRowIndex-1).length===0&&(this.resetColumn(),i.overflow=!0,t.break=!0),k(!0)))}registerCellFragmentIndex(){this.formattingContext.getRowByIndex(this.currentRowIndex).cells.forEach(t=>{let i=this.formattingContext.cellBreakPositions[t.columnIndex];if(i&&i.cell.anchorSlot.columnIndex==t.anchorSlot.columnIndex){let n=i.cellNodePosition.steps[0],s=this.column.layoutContext.xmldoc.getElementOffset(n.node);dg(s,n.fragmentIndex+1,1)}})}startTableCell(t){if(this.inHeader||this.inFooter)return k(!0);let i=t.nodeContext;this.inRow||(this.currentRowIndex<0?this.currentRowIndex=0:this.currentRowIndex++,this.currentColumnIndex=0,this.inRow=!0);let n=this.formattingContext.getRowByIndex(this.currentRowIndex).cells[this.currentColumnIndex];if(!n)return t.break=!0,k(!0);let s=i.copy().modify();s.after=!0,t.nodeContext=s;let r=F("startTableCell"),o;if(this.hasBrokenCellAtSlot(n.anchorSlot.columnIndex)){let a=this.formattingContext.cellBreakPositions.shift();i.fragmentIndex=a.cellNodePosition.steps[0].fragmentIndex+1,o=k(a.breakChunkPosition)}else o=this.column.nextInTree(i,t.atUnforcedBreak).thenAsync(a=>{a.viewNode&&i.viewNode.removeChild(a.viewNode);let h=qn(a,0);return k(new Dt(h))});return o.then(a=>{this.layoutCell(n,i,a).then(()=>{this.afterNonInlineElementNode(t),this.currentColumnIndex++,r.finish(!0)})}),r.result()}startNonInlineBox(t){let i=ou(t,lt(this.formattingContext),this.column);if(i)return i;let n=t.nodeContext,s=this.formattingContext.getRepetitiveElements(),r=n.display;return r==="table-header-group"&&s&&s.isHeaderSourceNode(n.sourceNode)?(this.inHeader=!0,k(!0)):r==="table-footer-group"&&s&&s.isFooterSourceNode(n.sourceNode)?(this.inFooter=!0,k(!0)):r==="table-row"?this.startTableRow(t):r==="table-cell"?this.startTableCell(t):k(!0)}endNonInlineBox(t){let i=t.nodeContext;if(i.display==="table-row"&&(this.inRow=!1,!this.inHeader&&!this.inFooter)){let n=i.copy().modify();n.after=!1;let s=new zg(this.currentRowIndex,n,this.formattingContext);this.column.breakPositions.push(s)}return k(!0)}afterNonInlineElementNode(t){let i=t.nodeContext,n=this.formattingContext.getRepetitiveElements(),s=i.display;if(s==="table-header-group"?n&&!n.allowInsertRepeatitiveElements&&n.isHeaderSourceNode(i.sourceNode)?(this.inHeader=!1,i.viewNode.parentNode.removeChild(i.viewNode)):N(i.viewNode,"display","table-row-group"):s==="table-footer-group"&&(n&&!n.allowInsertRepeatitiveElements&&n.isFooterSourceNode(i.sourceNode)?(this.inFooter=!1,i.viewNode.parentNode.removeChild(i.viewNode)):N(i.viewNode,"display","table-row-group")),s&&lu.ignoreList[s])i.viewNode.parentNode.removeChild(i.viewNode);else if(i.sourceNode===this.formattingContext.tableSourceNode)i.overflow=this.column.checkOverflowAndSaveEdge(i,null),this.resetColumn(),t.break=!0;else return super.afterNonInlineElementNode(t);return k(!0)}};u(au,"ignoreList",{"table-caption":!0,"table-column-group":!0,"table-column":!0});var $g=au,an=[];function Gg(e){let t=an.findIndex(n=>n.root===e),i=an[t];return i?i.tableLayoutOption:null}function Wg(e){let t=an.findIndex(i=>i.root===e);t>=0&&an.splice(t,1)}var hu=class{layoutEntireTable(e,t){let i=lt(e.formattingContext),n=new Ug(i,t);return new sr(n,t.layoutContext).iterate(e)}getColumnWidths(e,t,i,n){let s=e.ownerDocument,r=s.createElement("tr"),o=[];for(let h=0;h<t;h++){let l=s.createElement("td");r.appendChild(l),o.push(l)}e.parentNode.insertBefore(r,e.nextSibling);let a=o.map(h=>{let l=n.getElementClientRect(h),c=i?l.height:l.width;return Math.ceil(c)});return e.parentNode.removeChild(r),a}getColGroupElements(e){let t=[],i=e.firstElementChild;for(;i;)i.localName==="colgroup"&&t.push(i),i=i.nextElementSibling;return t}normalizeAndGetColElements(e){let t=[];return e.forEach(i=>{let n=i.span;i.removeAttribute("span");let s=i.firstElementChild;for(;s;){if(s.localName==="col"){let r=s.span;for(s.removeAttribute("span"),n-=r;r-- >1;){let o=s.cloneNode(!0);i.insertBefore(o,s),t.push(o)}t.push(s)}s=s.nextElementSibling}for(;n-- >0;)s=i.ownerDocument.createElement("col"),i.appendChild(s),t.push(s)}),t}addMissingColElements(e,t,i,n){if(e.length<i){let s=n.ownerDocument.createElement("colgroup");t.push(s);for(let r=e.length;r<i;r++){let o=n.ownerDocument.createElement("col");s.appendChild(o),e.push(o)}}}normalizeColGroups(e,t,i){let n=e.vertical,s=e.lastRowViewNode;if(!s)return;e.lastRowViewNode=null;let r=s.ownerDocument.createDocumentFragment(),o=e.getColumnCount();if(!(o>0)){e.colGroups=r;return}let a=e.colWidths=this.getColumnWidths(s,o,n,i.clientLayout),h=this.getColGroupElements(t),l=this.normalizeAndGetColElements(h);this.addMissingColElements(l,h,o,t),l.forEach((c,p)=>{N(c,n?"height":"width",`${a[p]}px`)}),h.forEach(c=>{r.appendChild(c.cloneNode(!0))}),e.colGroups=r}doInitialLayout(e,t){let i=lt(e.formattingContext);i.vertical=e.vertical,i.initializeRepetitiveElements(e.vertical),e.sourceNode;let n=Gg(e.sourceNode);Wg(e.sourceNode);let s=F("TableLayoutProcessor.doInitialLayout"),r=e.copy();return this.layoutEntireTable(e,t).then(o=>{let a=o.viewNode,h=t.clientLayout.getElementClientRect(a),l=t.vertical?h.left:h.bottom;if(l+=(t.vertical?-1:1)*mi(e,t.collectElementsOffset()).current,!t.isOverflown(l)&&(!n||!n.calculateBreakPositionsInside)){t.breakPositions.push(new Yg(r)),s.finish(o);return}this.normalizeColGroups(i,a,t),i.updateCellSizes(t.clientLayout),s.finish(null)}),s.result()}addCaptions(e,t,i){let n=e.captions;n.forEach((s,r)=>{s&&(t.insertBefore(s.viewNode,i),s.side==="top"&&(n[r]=null))})}addColGroups(e,t,i){e.colGroups&&this.getColGroupElements(t).length===0&&(t.insertBefore(e.colGroups.cloneNode(!0),i),N(t,"table-layout","fixed"),N(t,e.vertical?"height":"width",`${e.tableWidth}px`))}removeColGroups(e,t){if(e.colGroups&&t){let i=this.getColGroupElements(t);i&&i.forEach(n=>{t.removeChild(n)})}}doLayout(e,t){let i=lt(e.formattingContext),n=i.getRootViewNode(e),s=n.firstChild;this.addCaptions(i,n,s),this.addColGroups(i,n,s);let r=new $g(i,t),o=new sr(r,t.layoutContext),a=F("TableFormattingContext.doLayout");return o.iterate(e).thenFinish(a),a.result()}layout(e,t,i){let n=lt(e.formattingContext);return n.getRootViewNode(e)?(i&&su(e.parent,t),new Xg(n,this).layout(e,t)):t.buildDeepElementView(e)}createEdgeBreakPosition(e,t,i,n){return new Mg(e,t,i,n)}startNonInlineElementNode(e){return!1}afterNonInlineElementNode(e,t){return Fs(e),!1}finishBreak(e,t,i,n){let s=lt(t.formattingContext);if(t.display==="table-row"){t.sourceNode;let r=s.findRowIndexBySourceNode(t.sourceNode);s.cellBreakPositions=[];let o;if(t.after?o=s.getRowSpanningCellsOverflowingTheRow(r):o=s.getCellsFallingOnRow(r),o.length){let a=F("TableLayoutProcessor.finishBreak"),h=0;return a.loopWithFrame(l=>{if(h===o.length){l.breakLoop();return}let c=o[h++],p=s.getCellFragmentOfCell(c),d=p.findAcceptableBreakPosition().nodeContext,f=p.cellNodeContext,m=f.toNodePosition(),g=new Dt(d.toNodePosition());s.cellBreakPositions.push({cellNodePosition:m,breakChunkPosition:g,cell:c});let w=f.viewNode;p.column.layoutContext.processFragmentedBlockEdge(p.cellNodeContext),r<c.rowIndex+c.rowSpan-1&&(w.rowSpan=r-c.rowIndex+1),p.empty?l.continueLoop():p.pseudoColumn.finishBreak(d,!1,!0).then(()=>{jg(p,s,d),l.continueLoop()})}).then(()=>{e.clearOverflownViewNodes(t,!1),e.layoutContext.processFragmentedBlockEdge(t),Fs(t),s.finishFragment(),a.finish(!0)}),a.result()}}return Fs(t),s.finishFragment(),Yr.finishBreak(e,t,i,n)}clearOverflownViewNodes(e,t,i,n){ci.prototype.clearOverflownViewNodes(e,t,i,n)}};function jg(e,t,i){let n=t.getRepetitiveElements();if(!n||!(n.isHeaderRegistered()||n.isFooterRegistered()))return;let s=t.vertical,r=e.column,o=e.pseudoColumn.getColumnElement(),a=e.cellNodeContext.viewNode,h=r.clientLayout.getElementClientRect(a),l=r.getComputedPaddingBorder(a);if(s){let c=h.right-r.footnoteEdge-n.calculateOffset(i)-l.right;N(o,"max-width",`${c}px`)}else{let c=r.footnoteEdge-n.calculateOffset(i)-h.top-l.top;N(o,"max-height",`${c}px`)}}function Fs(e){let t=e.display==="table-row"?e.viewNode.parentElement:e.display==="table"?e.viewNode.querySelector("tbody"):null;if(!t)return;let i;try{i=t.querySelectorAll(":scope>tr:has(>:empty):not(:has(>:not([rowspan]:not([rowspan='1']),:empty)))")}catch{return}if(i.length===0)return;let n=Array.from(i).reduce((p,d)=>{let f=d.getBoundingClientRect(),m=e.vertical?f.width:f.height;return p+m},0),s=i[i.length-1],r=Array.from(t.children).indexOf(s),o=Array.from(s.children).reduce((p,d)=>{let f=d.rowSpan;return f>1&&r+f<t.childElementCount?Math.max(p,f):p},0),a=o?t.children[r+o-1]:t.lastElementChild;if(a!=t.lastElementChild&&a.querySelector(":scope>*>div>div")){for(let p=a;p&&p!==t.lastElementChild;p=p.nextElementSibling)if(p.querySelector(":scope>[rowspan]:not([rowspan='1'])")){a=p;break}}let h=a.getBoundingClientRect(),l=e.vertical?h.width:h.height,c=n+l;N(a,e.vertical?"width":"height",`${c}px`)}var Xg=class extends Zr{constructor(e,t){super(),this.tableFormattingContext=e,this.processor=t}resolveLayoutMode(e){let t=this.tableFormattingContext.getRepetitiveElements();return!t||!t.doneInitialLayout?new qg(this.tableFormattingContext,this.processor):(e.sourceNode===this.tableFormattingContext.tableSourceNode&&!e.after&&t&&t.preventSkippingHeader(),new Kg(this.tableFormattingContext,this.processor))}clearNodes(e){super.clearNodes(e);let t=this.tableFormattingContext.getRootViewNode(e);this.processor.removeColGroups(this.tableFormattingContext,t)}restoreState(e,t){super.restoreState(e,t),this.tableFormattingContext.finishFragment()}},qg=class extends tu{constructor(e,t){super(e),this.processor=t}doLayout(e,t){return this.processor.doInitialLayout(e,t)}},Yg=class extends yn{constructor(e){super(e,null,e.overflow,0)}getMinBreakPenalty(){if(!this.isEdgeUpdated)throw new Error("EdgeBreakPosition.prototype.updateEdge not called");return(this.overflows?3:0)+(this.position.parent?this.position.parent.breakPenalty:0)}breakPositionChosen(e){e.fragmentLayoutConstraints.push(new Zg(this.position.sourceNode))}},Zg=class uu{constructor(t){this.tableRootNode=t,u(this,"flagmentLayoutConstraintType","EntireTable")}allowLayout(t,i,n){return t.overflow,!1}nextCandidate(t){return!0}postLayout(t,i,n,s){i.sourceNode,an.push({root:i.sourceNode,tableLayoutOption:{calculateBreakPositionsInside:!0}})}finishBreak(t,i){return k(!0)}equalsTo(t){return t instanceof uu&&t.tableRootNode===this.tableRootNode}getPriorityOfFinishBreak(){return 0}},Kg=class extends iu{constructor(e,t){super(e),this.processor=t}doLayout(e,t){let i=this.formattingContext.getRepetitiveElements();if(i&&!i.isAfterLastContent(e)){let n=new Jg(e);t.fragmentLayoutConstraints.some(s=>n.equalsTo(s))||t.fragmentLayoutConstraints.unshift(n)}return this.processor.doLayout(e,t)}},Jg=class cu extends so{constructor(t){super(t),u(this,"flagmentLayoutConstraintType","TableRow"),u(this,"cellFragmentLayoutConstraints",[])}allowLayout(t,i,n){let s=this.getRepetitiveElements();return!s||n.pseudoParent||hi(this.nodeContext.viewNode)||!s.isEnableToUpdateState()?!0:!(i&&!t||t&&t.overflow)}nextCandidate(t){let i=lt(this.nodeContext.formattingContext);return this.collectCellFragmentLayoutConstraints(t,i).some(n=>n.constraints.some(s=>s.nextCandidate(t)))?!0:super.nextCandidate(t)}postLayout(t,i,n,s){let r=lt(this.nodeContext.formattingContext);if(this.cellFragmentLayoutConstraints=this.collectCellFragmentLayoutConstraints(i,r),this.cellFragmentLayoutConstraints.forEach(o=>{o.constraints.forEach(a=>{a.postLayout(t,o.breakPosition,n,s)})}),!t){let o=r.getRootViewNode(this.nodeContext);new hu().removeColGroups(r,o),this.removeDummyRowNodes(n)}super.postLayout(t,i,n,s)}finishBreak(t,i){let n=lt(this.nodeContext.formattingContext),s=F("finishBreak"),r=this.cellFragmentLayoutConstraints.reduce((a,h)=>a.concat(h.constraints.map(l=>({constraint:l,breakPosition:h.breakPosition}))),[]),o=0;return s.loop(()=>{if(o<r.length){let a=r[o++];return a.constraint.finishBreak(a.breakPosition,i).thenReturn(!0)}else return k(!1)}).then(()=>{s.finish(!0)}),s.result().thenAsync(()=>super.finishBreak(t,i))}removeDummyRowNodes(t){if(!(!t||t.display!=="table-row"||!t.viewNode))for(;t.viewNode.previousElementSibling;){let i=t.viewNode.previousElementSibling;i.parentNode&&i.parentNode.removeChild(i)}}collectCellFragmentLayoutConstraints(t,i){return this.getCellFragemnts(t,i).map(n=>({constraints:n.fragment.pseudoColumn.getColumn().fragmentLayoutConstraints,breakPosition:n.breakPosition}))}getCellFragemnts(t,i){let n=Number.MAX_VALUE;t&&t.display==="table-row"&&(t.sourceNode,n=i.findRowIndexBySourceNode(t.sourceNode)+1),n=Math.min(i.cellFragments.length,n);let s=[];for(let r=0;r<n;r++)i.cellFragments[r]&&i.cellFragments[r].forEach(o=>{o&&s.push({fragment:o,breakPosition:o.findAcceptableBreakPosition().nodeContext})});return s}getElementsOffsetsForTableCell(t){let i=lt(this.nodeContext.formattingContext),n=i.findCellFromColumn(t);return n?i.collectElementsOffsetOfUpperCells(n):i.collectElementsOffsetOfHighestColumn()}equalsTo(t){return t instanceof cu?lt(this.nodeContext.formattingContext)===lt(t.nodeContext.formattingContext):!1}},Qg=new hu;function em(e,t,i,n,s,r){if(!t)return null;if(i===v.table){let o=e.parent;return new bi(o?o.formattingContext:null,e.sourceNode)}return null}function tm(e){return e instanceof bi?Qg:null}ut("RESOLVE_FORMATTING_CONTEXT",em);ut("RESOLVE_LAYOUT_PROCESSOR",tm);function Sa(e){return e.reduce((t,i)=>t+i,0)/e.length}function im(e){let t=Sa(e);return Sa(e.map(i=>{let n=i-t;return n*n}))}var nm=class{constructor(e,t){this.layoutResult=e,this.penalty=t}};function ln(e){return e.vertical?e.width:e.height}function hn(e,t){e.vertical?e.width=t:e.height=t}var du=class{constructor(e,t,i){this.layoutContainer=e,this.columnGenerator=t,this.regionPageFloatLayoutContext=i,u(this,"originalContainerBlockSize"),this.originalContainerBlockSize=ln(e)}balanceColumns(e){let t=F("ColumnBalancer#balanceColumns");this.preBalance(e),this.savePageFloatLayoutContexts(e),this.layoutContainer.clear();let i=[this.createTrialResult(e)];return t.loopWithFrame(n=>{if(!this.hasNextCandidate(i)){n.breakLoop();return}this.updateCondition(i),this.columnGenerator().then(s=>{if(this.savePageFloatLayoutContexts(s),this.layoutContainer.clear(),!s){n.breakLoop();return}i.push(this.createTrialResult(s)),n.continueLoop()})}).then(()=>{let n=i.reduce((s,r)=>r.penalty<s.penalty?r:s,i[0]);this.restoreContents(n.layoutResult),this.postBalance(),t.finish(n.layoutResult)}),t.result()}createTrialResult(e){let t=this.calculatePenalty(e);return new nm(e,t)}preBalance(e){}postBalance(){hn(this.layoutContainer,this.originalContainerBlockSize)}savePageFloatLayoutContexts(e){let t=this.regionPageFloatLayoutContext.detachChildren();e&&(e.columnPageFloatLayoutContexts=t)}restoreContents(e){let t=this.layoutContainer.element;e.columns.forEach(i=>{t.appendChild(i.element)}),e.columnPageFloatLayoutContexts,this.regionPageFloatLayoutContext.attachChildren(e.columnPageFloatLayoutContexts)}},vr=1;function pu(e){let t=e[e.length-1];if(t.penalty===0)return!1;let i=e[e.length-2];if(i&&t.penalty>=i.penalty)return!1;let n=t.layoutResult.columns,s=Math.max.apply(null,n.map(o=>o.computedBlockSize)),r=Math.max.apply(null,n.map(o=>o.getMaxBlockSizeOfPageFloats()));return s>r+vr}function fu(e,t){var i;let n=e[e.length-1].layoutResult.columns,s=Math.max.apply(null,n.map(r=>isNaN(r.blockDistanceToBlockEndFloats)?r.computedBlockSize:r.computedBlockSize-r.blockDistanceToBlockEndFloats+vr))-vr;if(s<ln(t)?hn(t,s):hn(t,ln(t)-1),t.vertical){let r=parseFloat((i=t.element.style)==null?void 0:i.width);t.originX=r-t.width}}var sm=class extends du{constructor(e,t,i,n){super(i,e,t),this.columnCount=n,u(this,"originalPosition",null),u(this,"foundUpperBound",!1)}preBalance(e){let t=e.columns.reduce((i,n)=>i+n.computedBlockSize,0);hn(this.layoutContainer,t/this.columnCount),this.originalPosition=e.position}checkPosition(e){return this.originalPosition?this.originalPosition.isSamePosition(e):e===null}calculatePenalty(e){if(!this.checkPosition(e.position))return 1/0;let t=e.columns;return Ca(t)?1/0:Math.max.apply(null,t.map(i=>i.computedBlockSize))}hasNextCandidate(e){if(e.length===1)return!0;if(this.foundUpperBound)return pu(e);{let t=e[e.length-1];return this.checkPosition(t.layoutResult.position)&&!Ca(t.layoutResult.columns)?(this.foundUpperBound=!0,!0):ln(this.layoutContainer)<this.originalContainerBlockSize}}updateCondition(e){if(this.foundUpperBound)fu(e,this.layoutContainer);else{let t=Math.min(this.originalContainerBlockSize,ln(this.layoutContainer)+this.originalContainerBlockSize*.1);hn(this.layoutContainer,t)}}};function Ca(e){if(e.length<=1)return!1;let t=e[e.length-1].computedBlockSize,i=e.slice(0,e.length-1),n=6;return i.every(s=>t>s.computedBlockSize+n)}var rm=class extends du{constructor(e,t,i){super(i,e,t)}calculatePenalty(e){if(e.columns.every(i=>i.computedBlockSize===0))return 1/0;let t=e.columns.filter(i=>!i.pageBreakType).map(i=>i.computedBlockSize);return im(t)}hasNextCandidate(e){return pu(e)}updateCondition(e){fu(e,this.layoutContainer)}};function om(e,t,i,n,s,r,o){if(t===v.auto)return null;{let a=o.positions.length===0,h=r[r.length-1],l=!!(h&&h.pageBreakType);return a||l?new sm(i,n,s,e):t===v.balance_all?new rm(i,n,s):(v.balance,null)}}var Os=class{constructor(e,t,i){u(this,"endStuckFixed"),u(this,"endFixed"),u(this,"endSlipped"),this.endStuckFixed=e,this.endFixed=t,this.endSlipped=i}},am=class{constructor(){u(this,"map",[])}getMaxFixed(){return this.map.length==0?0:this.map[this.map.length-1].endFixed}getMaxSlipped(){return this.map.length==0?0:this.map[this.map.length-1].endSlipped}addStuckRange(e){if(this.map.length==0)this.map.push(new Os(e,e,e));else{let t=this.map[this.map.length-1],i=t.endSlipped+e-t.endFixed;t.endFixed==t.endStuckFixed?(t.endFixed=e,t.endStuckFixed=e,t.endSlipped=i):this.map.push(new Os(e,e,i))}}addSlippedRange(e){this.map.length==0?this.map.push(new Os(e,0,0)):this.map[this.map.length-1].endFixed=e}slippedByFixed(e){let t=_t(this.map.length,n=>e<=this.map[n].endFixed),i=this.map[t];return i.endSlipped-Math.max(0,i.endStuckFixed-e)}fixedBySlipped(e){let t=_t(this.map.length,n=>e<=this.map[n].endSlipped),i=this.map[t];return i.endStuckFixed-(i.endSlipped-e)}},lm=class yr{constructor(t,i,n,s,r,o,a,h){if(this.context=t,this.style=i,this.offset=n,this.isRoot=s,this.flowChunk=r,this.atBlockStart=o,this.atFlowStart=a,this.isParentBoxDisplayed=h,u(this,"flowName"),u(this,"isBlockValue",null),u(this,"hasBoxValue",null),u(this,"styleValues",{}),u(this,"beforeBox",null),u(this,"afterBox",null),u(this,"breakBefore",null),this.flowName=r.flowName,this.hasBox()){let l=i._pseudos;if(l&&l.before){let c=new yr(t,l.before,n,!1,r,this.isBlock(),a,!0),p=c.styleValue("content");Vt(p)&&(this.beforeBox=c,this.breakBefore=c.breakBefore)}}this.breakBefore=qe(this.getBreakValue("before"),this.breakBefore),this.atFlowStart&&Ke(this.breakBefore)&&(r.breakBefore=qe(r.breakBefore,this.breakBefore))}buildAfterPseudoElementBox(t,i,n){if(this.hasBox()){let s=this.style._pseudos;if(s&&s.after){let r=new yr(this.context,s.after,t,!1,this.flowChunk,i,n,!0),o=r.styleValue("content");Vt(o)&&(this.afterBox=r)}}}styleValue(t,i){if(!(t in this.styleValues)){let n=this.style[t];this.styleValues[t]=n?n.evaluate(this.context,t):i||null}return this.styleValues[t]}displayValue(){return this.styleValue("display",v.inline)}isBlock(){if(this.isBlockValue===null){let t=this.displayValue(),i=this.styleValue("position"),n=this.styleValue("float");this.isBlockValue=Ch(t,i,n,this.isRoot)}return this.isBlockValue}hasBox(){return this.hasBoxValue===null&&(this.hasBoxValue=this.isParentBoxDisplayed&&this.displayValue()!==v.none&&!ir(this.styleValue("position"))),this.hasBoxValue}getBreakValue(t){let i=null;if(this.isBlock()){let n=this.styleValue(`break-${t}`);n&&(i=n.toString())}return i}},hm=class{constructor(e){this.context=e,u(this,"stack",[]),u(this,"atBlockStart",!0),u(this,"atFlowStart",!0),u(this,"atStartStack",[])}empty(){return this.stack.length===0}lastBox(){return this.stack[this.stack.length-1]}lastFlowName(){let e=this.lastBox();return e?e.flowChunk.flowName:null}isCurrentBoxDisplayed(){return this.stack.every(e=>e.displayValue()!==v.none)}push(e,t,i,n){let s=this.lastBox();n&&s&&n.flowName!==s.flowName&&this.atStartStack.push({atBlockStart:this.atBlockStart,atFlowStart:this.atFlowStart});let r=n||s.flowChunk,o=this.atFlowStart||!!n,a=this.isCurrentBoxDisplayed(),h=new lm(this.context,e,t,i,r,o||this.atBlockStart,o,a);return this.stack.push(h),this.atBlockStart=h.hasBox()?!h.beforeBox&&h.isBlock():this.atBlockStart,this.atFlowStart=h.hasBox()?!h.beforeBox&&o:this.atFlowStart,h}encounteredTextNode(e){let t=this.lastBox();if((e.nodeType===Node.TEXT_NODE||e.nodeType===Node.CDATA_SECTION_NODE)&&(this.atBlockStart||this.atFlowStart)&&t.hasBox()){let i=t.styleValue("white-space",v.normal).toString(),n=ch(i);n&&!Ve(e,n)&&(this.atBlockStart=!1,this.atFlowStart=!1)}}pop(e){let t=this.stack.pop();if(t.buildAfterPseudoElementBox(e,this.atBlockStart,this.atFlowStart),this.atFlowStart&&t.afterBox){let n=t.afterBox.getBreakValue("before");t.flowChunk.breakBefore=qe(t.flowChunk.breakBefore,n)}let i=this.lastBox();if(i)if(i.flowName===t.flowName)t.hasBox()&&(this.atBlockStart=this.atFlowStart=!1);else{let n=this.atStartStack.pop();this.atBlockStart=n.atBlockStart,this.atFlowStart=n.atFlowStart}return t}nearestBlockStartOffset(e){if(!e.atBlockStart)return e.offset;let t=this.stack.length-1,i=this.stack[t];for(i===e&&(t--,i=this.stack[t]);t>=0;){if(i.flowName!==e.flowName)return e.offset;if(!i.atBlockStart||i.isRoot)return i.offset;e=i,i=this.stack[--t]}throw new Error("No block start offset found!")}},Ea=class{constructor(e,t,i,n,s,r,o,a){this.xmldoc=e,this.scope=i,this.context=n,this.primaryFlows=s,this.validatorSet=r,this.counterListener=o,u(this,"root"),u(this,"cascadeHolder"),u(this,"last"),u(this,"rootStyle",{}),u(this,"styleMap",{}),u(this,"flows",{}),u(this,"flowChunks",[]),u(this,"flowListener",null),u(this,"flowToReach",null),u(this,"idToReach",null),u(this,"cascade"),u(this,"offsetMap"),u(this,"primary",!0),u(this,"primaryStack",[]),u(this,"rootBackgroundAssigned",!1),u(this,"rootLayoutAssigned",!1),u(this,"lastOffset"),u(this,"breakBeforeValues",{}),u(this,"boxStack"),u(this,"bodyReached",!0),this.root=e.root,this.cascadeHolder=t,this.last=this.root,this.cascade=t.createInstance(n,o,a,e.lang),this.offsetMap=new am;let h=e.getElementOffset(this.root);this.lastOffset=h,this.boxStack=new hm(n),this.offsetMap.addStuckRange(h);let l=this.getAttrStyle(this.root);switch(this.cascade.pushElement(this,this.root,l,h),this.postprocessTopStyle(l,!1),this.root.namespaceURI){case"http://www.w3.org/1999/xhtml":this.bodyReached=!1;break}this.primaryStack.push(!0),this.styleMap={},this.styleMap[`e${h}`]=l,this.lastOffset++,this.replayFlowElementsFromOffset(-1)}hasProp(e,t,i){let n=e[i];return n&&n.evaluate(this.context)!==t[i]}transferPropsToRoot(e,t){for(let i in t){let n=e[i];if(n)this.rootStyle[i]=n,delete e[i];else{let s=t[i];s&&(this.rootStyle[i]=new q(s,Kl))}}}postprocessTopStyle(e,t){var i;if(t)for(let n of["writing-mode","direction"])e[n]&&!(t&&this.rootStyle[n])&&(this.rootStyle[n]=e[n]);else for(let n in e)qi(n)&&(this.rootStyle[n]=e[n]);if(!this.rootBackgroundAssigned){let n=this.hasProp(e,this.validatorSet.backgroundProps,"background-color")?e["background-color"].evaluate(this.context):null,s=this.hasProp(e,this.validatorSet.backgroundProps,"background-image")?e["background-image"].evaluate(this.context):null;(n&&!J(n)||s&&!J(s))&&(this.transferPropsToRoot(e,this.validatorSet.backgroundProps),this.rootBackgroundAssigned=!0)}if(!this.rootLayoutAssigned){for(let n=0;n<ka.length;n++)if(this.hasProp(e,this.validatorSet.layoutProps,ka[n])){this.transferPropsToRoot(e,this.validatorSet.layoutProps),this.rootLayoutAssigned=!0;break}}if(!t){let n=e["font-size"],s=!0;if(n&&!J(n.value)){let a=n.evaluate(this.context);if(a instanceof I){let h=a.num;switch(a.unit){case"em":case"rem":h*=this.context.initialFontSize;break;case"ex":h*=this.context.initialFontSize*me.ex/me.em;break;case"%":h*=this.context.initialFontSize/100;break;case"lh":case"rlh":h*=this.context.initialFontSize*me.lh/me.em;break;default:{let l=me[a.unit];l&&(h*=l),s=!1}}this.context.rootFontSize=h,this.context.isRelativeRootFontSize=s}}let r=(i=this.context.rootFontSize)!=null?i:this.context.initialFontSize,o=e["line-height"];if(o&&!J(o.value)){let a=o.evaluate(this.context);if(a instanceof Ht)this.context.rootLineHeight=a.num*r;else if(a instanceof I){let h=a.num;switch(a.unit){case"em":case"rem":h*=r;break;case"ex":h*=r*me.ex/me.em;break;case"%":h*=r/100;break;case"lh":case"rlh":h*=this.context.initialFontSize*me.lh/me.em;break;default:{let l=me[a.unit];l&&(h*=l)}}this.context.rootLineHeight=h}}else this.context.rootLineHeight=this.context.fontSize()*me.lh/me.em}}getTopContainerStyle(){let e=0;for(;!this.bodyReached&&(e+=5e3,this.styleUntil(e,0)!=Number.POSITIVE_INFINITY););return this.rootStyle}getAttrStyle(e){if(e.style instanceof CSSStyleDeclaration){let t=e.getAttribute("style");if(t)return sg(this.scope,this.validatorSet,this.xmldoc.url,t)}return{}}getReachedOffset(){return this.lastOffset}replayFlowElementsFromOffset(e){if(e>=this.lastOffset)return;let t=this.context,i=this.xmldoc.getElementOffset(this.root);if(e<i){let r=this.getStyle(this.root,!1),o=Ue(r,"flow-into"),a=o?o.evaluate(t,"flow-into").toString():"body",h=this.encounteredFlowElement(a,r,this.root,i);this.boxStack.empty()&&this.boxStack.push(r,i,!0,h)}let n=this.xmldoc.getNodeByOffset(e),s=this.xmldoc.getNodeOffset(n,0,!1);if(!(s>=this.lastOffset))for(;;){if(n.nodeType!=1)s+=n.textContent.length;else{let o=n,a=this.getStyle(o,!1),h=a["flow-into"];if(h){let l=h.evaluate(t,"flow-into").toString();this.encounteredFlowElement(l,a,o,s)}s++}if(s>=this.lastOffset)break;let r=n.firstChild;if(r==null){for(;r=n.nextSibling,!r;)if(n=n.parentNode,n===this.root)return}n=r}}resetFlowChunkStream(e){this.flowListener=e;for(let t=0;t<this.flowChunks.length;t++)this.flowListener.encounteredFlowChunk(this.flowChunks[t],this.flows[this.flowChunks[t].flowName])}styleUntilFlowIsReached(e){this.flowToReach=e;let t=0;for(;!(this.flowToReach==null||(t+=5e3,this.styleUntil(t,0)==Number.POSITIVE_INFINITY)););}styleUntilIdIsReached(e){if(!e)return;this.idToReach=e;let t=0;for(;!(!this.idToReach||(t+=5e3,this.styleUntil(t,0)===Number.POSITIVE_INFINITY)););this.idToReach=null}encounteredFlowElement(e,t,i,n){let s=0,r=Number.POSITIVE_INFINITY,o=!1,a=!1,h=!1,l=t["flow-options"];if(l){let g=bd(l.evaluate(this.context,"flow-options"));o=!!g.exclusive,a=!!g.static,h=!!g.last}let c=t["flow-linger"];c&&(r=Wo(c.evaluate(this.context,"flow-linger"),Number.POSITIVE_INFINITY));let p=t["flow-priority"];p&&(s=Wo(p.evaluate(this.context,"flow-priority"),0));let d=this.breakBeforeValues[n]||null,f=this.flows[e];if(!f){let g=this.boxStack.lastFlowName();f=this.flows[e]=new Fp(e,g)}let m=new Op(e,i,n,s,r,o,a,h,d);return this.flowChunks.push(m),this.flowToReach==e&&(this.flowToReach=null),this.flowListener&&this.flowListener.encounteredFlowChunk(m,f),m}registerForcedBreakOffset(e,t,i){if(Ke(e)){let s=this.flows[i].forcedBreakOffsets;(s.length===0||s[s.length-1]<t)&&s.push(t)}let n=this.breakBeforeValues[t];this.breakBeforeValues[t]=qe(n,e)}styleUntil(e,t){let i=-1,n;if(e<=this.lastOffset&&(n=this.offsetMap.slippedByFixed(e),i=n+t,i<this.offsetMap.getMaxSlipped()))return this.offsetMap.fixedBySlipped(i);if(this.last==null)return Number.POSITIVE_INFINITY;let s=this.context;for(;;){let r=this.last.firstChild;if(r==null)for(;;){if(this.last.nodeType==1){this.cascade.popElement(this.last),this.primary=this.primaryStack.pop();let o=this.boxStack.pop(this.lastOffset),a=null;if(o.afterBox){let h=o.afterBox.getBreakValue("before");this.registerForcedBreakOffset(h,o.afterBox.atBlockStart?this.boxStack.nearestBlockStartOffset(o):o.afterBox.offset,o.flowName),a=o.afterBox.getBreakValue("after")}a=qe(a,o.getBreakValue("after")),this.registerForcedBreakOffset(a,this.lastOffset,o.flowName)}if(r=this.last.nextSibling,r)break;if(this.last=this.last.parentNode,this.last===this.root)return this.last=null,e<this.lastOffset&&(i<0&&(n=this.offsetMap.slippedByFixed(e),i=n+t),i<=this.offsetMap.getMaxSlipped())?this.offsetMap.fixedBySlipped(i):Number.POSITIVE_INFINITY}if(this.last=r,this.last.nodeType!=1)this.lastOffset+=this.last.textContent.length,this.boxStack.encounteredTextNode(this.last),this.primary?this.offsetMap.addStuckRange(this.lastOffset):this.offsetMap.addSlippedRange(this.lastOffset);else{let o=this.last,a=this.getAttrStyle(o);this.primaryStack.push(this.primary),this.cascade.pushElement(this,o,a,this.lastOffset);let h=o.getAttribute("id")||o.getAttributeNS("http://www.w3.org/XML/1998/namespace","id");h&&h===this.idToReach&&(this.idToReach=null),!this.bodyReached&&o.localName=="body"&&o.parentNode==this.root&&(this.postprocessTopStyle(a,!0),this.bodyReached=!0);let l,c=a["flow-into"];if(c){let d=c.evaluate(s,"flow-into").toString(),f=this.encounteredFlowElement(d,a,o,this.lastOffset);this.primary=!!this.primaryFlows[d],l=this.boxStack.push(a,this.lastOffset,o===this.root,f)}else l=this.boxStack.push(a,this.lastOffset,o===this.root),o===this.xmldoc.body&&(l.breakBefore=qe(l.flowChunk.breakBefore,l.breakBefore));let p=this.boxStack.nearestBlockStartOffset(l);if(p===0){let d=a.page,f=d&&!J(d.value)&&d.value.toString();f&&f.toLowerCase()!=="auto"&&(this.cascade.firstPageType=f)}if(this.registerForcedBreakOffset(l.breakBefore,p,l.flowName),l.beforeBox){let d=l.beforeBox.getBreakValue("after");this.registerForcedBreakOffset(d,l.beforeBox.atBlockStart?p:l.offset,l.flowName)}if(this.primary&&l.displayValue()===v.none&&(this.primary=!1),this.styleMap[`e${this.lastOffset}`]=a,this.lastOffset++,this.primary?this.offsetMap.addStuckRange(this.lastOffset):this.offsetMap.addSlippedRange(this.lastOffset),this.bodyReached&&p===0)continue;if(e<this.lastOffset&&(i<0&&(n=this.offsetMap.slippedByFixed(e),i=n+t),i<=this.offsetMap.getMaxSlipped()))return this.offsetMap.fixedBySlipped(i)}}}getStyle(e,t){let i=this.xmldoc.getElementOffset(e),n=`e${i}`;return t&&(i=this.xmldoc.getNodeOffset(e,0,!0)),this.lastOffset<=i&&this.styleUntil(i,0),this.styleMap[n]}processContent(e,t,i){}},ka=["column-count","column-width","column-fill"],pi=class{constructor(e){this.validator=e,u(this,"success",null),u(this,"failure",null),u(this,"code",0)}isSpecial(){return this.code!=0}markAsStartGroup(){this.code=-1}isStartGroup(){return this.code==-1}markAsEndGroup(){this.code=-2}isEndGroup(){return this.code==-2}markAsStartAlternate(e){this.code=2*e+1}isStartAlternate(){return this.code>0&&this.code%2!=0}markAsEndAlternate(e){this.code=2*e+2}isEndAlternate(){return this.code>0&&this.code%2==0}getAlternate(){return Math.floor((this.code-1)/2)}},Gt=class{constructor(e,t){this.where=e,this.success=t,u(this,"what",-1)}},Bi=class gu{constructor(){u(this,"nodes",[]),u(this,"connections",[]),u(this,"match",[]),u(this,"nomatch",[]),u(this,"error",[]),u(this,"emptyHead",!0)}connect(t,i){for(let n=0;n<t.length;n++)this.connections[t[n]].what=i;t.splice(0,t.length)}clone(){let t=new gu;for(let i=0;i<this.nodes.length;i++){let n=this.nodes[i],s=new pi(n.validator);s.code=n.code,t.nodes.push(s)}for(let i=0;i<this.connections.length;i++){let n=this.connections[i],s=new Gt(n.where,n.success);s.what=n.what,t.connections.push(s)}return t.match.push(...this.match),t.nomatch.push(...this.nomatch),t.error.push(...this.error),t}addSpecialToArr(t,i,n){let s=this.nodes.length,r=new pi(Na);n>=0?i?r.markAsStartAlternate(n):r.markAsEndAlternate(n):i?r.markAsStartGroup():r.markAsEndGroup(),this.nodes.push(r),this.connect(t,s);let o=new Gt(s,!0),a=new Gt(s,!1);t.push(this.connections.length),this.connections.push(a),t.push(this.connections.length),this.connections.push(o)}endSpecialGroup(){let t=[this.match,this.nomatch,this.error];for(let i=0;i<t.length;i++)this.addSpecialToArr(t[i],!1,-1)}startSpecialGroup(){if(this.nodes.length)throw new Error("invalid call");this.addSpecialToArr(this.match,!0,-1)}endClause(t){this.addSpecialToArr(this.match,!1,t)}startClause(t){if(this.nodes.length)throw new Error("invalid call");let i=new pi(Na);i.markAsStartAlternate(t),this.nodes.push(i);let n=new Gt(0,!0),s=new Gt(0,!1);this.nomatch.push(this.connections.length),this.connections.push(s),this.match.push(this.connections.length),this.connections.push(n)}addPrimitive(t){let i=this.nodes.length;this.nodes.push(new pi(t));let n=new Gt(i,!0),s=new Gt(i,!1);this.connect(this.match,i),this.emptyHead?(this.nomatch.push(this.connections.length),this.emptyHead=!1):this.error.push(this.connections.length),this.connections.push(s),this.match.push(this.connections.length),this.connections.push(n)}isSimple(){return this.nodes.length==1&&!this.nodes[0].isSpecial()}isPrimitive(){return this.isSimple()&&this.nodes[0].validator instanceof Te}addGroup(t,i){if(t.nodes.length==0)return;let n=this.nodes.length;if(i==4&&n==1&&t.isPrimitive()&&this.isPrimitive()){this.nodes[0].validator=this.nodes[0].validator.combine(t.nodes[0].validator);return}for(let r=0;r<t.nodes.length;r++)this.nodes.push(t.nodes[r]);i==4?(this.emptyHead=!0,this.connect(this.nomatch,n)):this.connect(this.match,n);let s=this.connections.length;for(let r=0;r<t.connections.length;r++){let o=t.connections[r];o.where+=n,o.what>=0&&(o.what+=n),this.connections.push(o)}for(let r=0;r<t.match.length;r++)this.match.push(t.match[r]+s);if(i==3&&this.connect(this.match,n),i==2||i==3)for(let r=0;r<t.nomatch.length;r++)this.match.push(t.nomatch[r]+s);else if(this.emptyHead){for(let r=0;r<t.nomatch.length;r++)this.nomatch.push(t.nomatch[r]+s);this.emptyHead=t.emptyHead}else for(let r=0;r<t.nomatch.length;r++)this.error.push(t.nomatch[r]+s);for(let r=0;r<t.error.length;r++)this.error.push(t.error[r]+s);t.nodes=null,t.connections=null}finish(t,i){let n=this.nodes.length;this.nodes.push(t),this.nodes.push(i),this.connect(this.match,n),this.connect(this.nomatch,n+1),this.connect(this.error,n+1);for(let s of this.connections)s.success?this.nodes[s.where].success=this.nodes[s.what]:this.nodes[s.where].failure=this.nodes[s.what];for(let s=0;s<n;s++)if(this.nodes[s].failure==null||this.nodes[s].success==null)throw new Error("Invalid validator state");return this.nodes[0]}},um=1,mu=2,wu=4,Wt=8,zn=16,xr=32,Dn=64,bu=128,Hi=256,Ui=512,Sr=1024,vu=2048,yu=4096,xu=8192,Su=class extends It{constructor(){super()}validateForShorthand(e,t){let i=e[t].visit(this);return i?[i]:null}},Te=class Cu extends Su{constructor(t,i,n){super(),this.allowed=t,this.idents=i,this.units=n}visitEmpty(t){return this.allowed&um?t:null}visitSlash(t){return this.allowed&vu?t:null}visitStr(t){return this.allowed&mu?t:null}visitIdent(t){return this.idents[t.name.toLowerCase()]||(this.allowed&wu||this.allowed&Dn&&CSS.supports("color",t.name)?t:null)}visitNumeric(t){return t.num==0&&!(this.allowed&Ui)?t.unit=="%"&&this.allowed&Sr?t:null:t.num<0&&!(this.allowed&Hi)?null:this.units[t.unit]?t:null}visitNum(t){return t.num==0?this.allowed&Ui?t:null:t.num<=0&&!(this.allowed&Hi)?null:this.allowed&zn?t:null}visitInt(t){return t.num==0?this.allowed&Ui?t:null:t.num<=0&&!(this.allowed&Hi)?null:this.allowed&(xr|zn)?t:this.idents[`${t.num}`]||null}visitHexColor(t){return this.allowed&Dn&&/^([0-9A-F]{3,4}|([0-9A-F]{2}){3,4})$/i.test(t.hex)?t:null}visitURL(t){return this.allowed&bu?t:null}visitURange(t){return this.allowed&yu?t:null}visitSpaceList(t){return null}visitCommaList(t){return null}visitFunc(t){return this.allowed&Dn&&CSS.supports("color",t.toString())||this.allowed&xu&&CSS.supports("background-image",t.toString())||t.name==="calc"&&this.allowed&(Wt|zn|xr|Hi|Ui|Sr)?t:null}visitExpr(t){return this.allowed&2046?t:null}combine(t){let i={},n={};for(let s in this.idents)i[s]=this.idents[s];for(let s in t.idents)i[s]=t.idents[s];for(let s in this.units)n[s]=this.units[s];for(let s in t.units)n[s]=t.units[s];return new Cu(this.allowed|t.allowed,i,n)}},ie={},Na=new Te(0,ie,ie),ro=class extends Su{constructor(e){super(),u(this,"successTerminal"),u(this,"failureTerminal"),u(this,"first"),this.successTerminal=new pi(null),this.failureTerminal=new pi(null),this.first=e.finish(this.successTerminal,this.failureTerminal)}validateList(e,t,i){let n=t?[]:e,s=this.first,r=i,o=null,a=null;for(;s!==this.successTerminal&&s!==this.failureTerminal;){if(r>=e.length){s=s.failure;continue}let h=e[r],l=h;if(s.isSpecial()){let c=!0;s.isStartGroup()?(o?o.push(a):o=[a],a=[]):s.isEndGroup()?o.length>0?a=o.pop():a=null:s.isEndAlternate()?a[s.getAlternate()]="taken":c=a[s.getAlternate()]==null,s=c?s.success:s.failure}else{if(r==0&&!t&&s.validator instanceof Ki&&this instanceof Ki){if(l=new xe(e).visit(s.validator),l){r=e.length,s=s.success;continue}}else if(r==0&&!t&&s.validator instanceof oo&&this instanceof Ki){if(l=new Ye(e).visit(s.validator),l){r=e.length,s=s.success;continue}}else l=h.visit(s.validator);if(!l){s=s.failure;continue}if(l!==h&&e===n){n=[];for(let c=0;c<r;c++)n[c]=e[c]}e!==n&&(n[r-i]=l),r++,s=s.success}}return s===this.successTerminal&&(t?n.length>0:r==e.length)?n:null}validateSingle(e){let t=null,i=this.first;for(;i!==this.successTerminal&&i!==this.failureTerminal;){if(!e){i=i.failure;continue}if(i.isSpecial()){i=i.success;continue}if(t=e.visit(i.validator),!t){i=i.failure;continue}e=null,i=i.success}return i===this.successTerminal?t:null}visitEmpty(e){return this.validateSingle(e)}visitSlash(e){return this.validateSingle(e)}visitStr(e){return this.validateSingle(e)}visitIdent(e){return this.validateSingle(e)}visitNumeric(e){return this.validateSingle(e)}visitNum(e){return this.validateSingle(e)}visitInt(e){return this.validateSingle(e)}visitHexColor(e){return this.validateSingle(e)}visitURL(e){return this.validateSingle(e)}visitURange(e){return this.validateSingle(e)}visitSpaceList(e){return null}visitCommaList(e){return null}visitFunc(e){return this.validateSingle(e)}visitExpr(e){return null}},Ki=class extends ro{constructor(e){super(e)}visitSpaceList(e){let t=this.validateList(e.values,!1,0);return t===e.values?e:t?new xe(t):null}visitCommaList(e){let t=this.first,i=!1;for(;t;){if(t.validator instanceof oo){i=!0;break}t=t.failure}if(i){let n=this.validateList(e.values,!1,0);return n===e.values?e:n?new Ye(n):null}return null}validateForShorthand(e,t){return this.validateList(e,!0,t)}},oo=class extends ro{constructor(e){super(e)}visitSpaceList(e){return this.validateSingle(e)}visitCommaList(e){let t=this.validateList(e.values,!1,0);return t===e.values?e:t?new Ye(t):null}validateForShorthand(e,t){let i=this.first,n;for(;i!==this.failureTerminal;){if(n=i.validator.validateForShorthand(e,t),n)return n;i=i.failure}return null}},cm=class extends ro{constructor(e,t){super(t),this.name=e}validateSingle(e){return null}visitFunc(e){if(e.name.toLowerCase()!=this.name)return null;let t=this.validateList(e.values,!1,0);return t===e.values?e:t?new Ni(e.name,t):null}},Eu=class{tryParse(e,t,i){return t}success(e,t){}},ku=class extends Eu{constructor(e,t){super(),this.name=t,u(this,"validator"),this.validator=e.validators[this.name]}tryParse(e,t,i){if(i.values[this.name])return t;let n=this.validator.validateForShorthand(e,t);if(n){let s=n.length,r=s>1?new xe(n):n[0];return this.success(r,i),t+s}return t}success(e,t){t.values[this.name]=e}},dm=class extends ku{constructor(e,t){super(e,t[0]),this.names=t}success(e,t){for(let i=0;i<this.names.length;i++)t.values[this.names[i]]=e}},pm=class extends Eu{constructor(e,t){super(),this.nodes=e,this.slash=t}tryParse(e,t,i){let n=t;if(this.slash)if(e[t]==rs){if(++t==e.length)return n}else return n;let s=this.nodes[0].tryParse(e,t,i);if(s==t)return n;t=s;for(let r=1;r<this.nodes.length&&t<e.length&&(s=this.nodes[r].tryParse(e,t,i),s!=t);r++)t=s;return t}},ao=class extends It{constructor(){super(...arguments),u(this,"syntax",null),u(this,"propList",null),u(this,"error",!1),u(this,"values",{}),u(this,"validatorSet",null)}setOwner(e){this.validatorSet=e}syntaxNodeForProperty(e){return new ku(this.validatorSet,e)}clone(){let e=new this.constructor;return e.syntax=this.syntax,e.propList=this.propList,e.validatorSet=this.validatorSet,e}init(e,t){this.syntax=e,this.propList=t}finish(e,t){var i,n;if(!this.error){for(let s of this.propList)t.simpleProperty(s,(n=(i=this.values[s])!=null?i:this.validatorSet.defaultValues[s])!=null?n:v.initial,e);return!0}return!1}propagateDefaultingValue(e,t,i){for(let n of this.propList)i.simpleProperty(n,e,t)}validateList(e){return this.error=!0,0}validateSingle(e){return this.validateList([e]),null}visitEmpty(e){return this.validateSingle(e)}visitStr(e){return this.validateSingle(e)}visitIdent(e){return this.validateSingle(e)}visitNumeric(e){return this.validateSingle(e)}visitNum(e){return this.validateSingle(e)}visitInt(e){return this.validateSingle(e)}visitHexColor(e){return this.validateSingle(e)}visitURL(e){return this.validateSingle(e)}visitSpaceList(e){return this.validateList(e.values),null}visitCommaList(e){return this.error=!0,null}visitFunc(e){return this.validateSingle(e)}visitExpr(e){return this.validateSingle(e)}},Ri=class extends ao{constructor(){super()}validateList(e){let t=0,i=0;for(;t<e.length;){let n=this.syntax[i].tryParse(e,t,this);if(n>t){t=n,i=0;continue}if(++i==this.syntax.length){this.error=!0;break}}return t}},Nu=class extends ao{constructor(){super()}validateList(e){if(e.length>this.syntax.length||e.length==0)return this.error=!0,0;for(let t=0;t<this.syntax.length;t++){let i=t;for(;i>=e.length;)i=i==1?0:i-2;if(this.syntax[t].tryParse(e,i,this)!=i+1)return this.error=!0,0}return e.length}createSyntaxNode(){return new dm(this.validatorSet,this.propList)}},fm=class extends ao{constructor(){super()}validateList(e){let t=e.length;for(let i=0;i<e.length;i++)if(e[i]===rs){t=i;break}if(t>this.syntax.length||e.length==0)return this.error=!0,0;for(let i=0;i<this.syntax.length;i++){let n=i;for(;n>=t;)n=n==1?0:n-2;let s;if(t+1<e.length)for(s=t+i+1;s>=e.length;)s=s-(s==t+2?1:2);else s=n;let r=[e[n],e[s]];if(this.syntax[i].tryParse(r,0,this)!=2)return this.error=!0,0}return e.length}},gm=class extends Ri{constructor(){super()}mergeIn(e,t){var i,n;for(let s of this.propList){let r=(n=(i=t[s])!=null?i:this.validatorSet.defaultValues[s])!=null?n:v.initial,o=e[s];o||(o=[],e[s]=o),o.push(r)}}visitCommaList(e){let t={};for(let i=0;i<e.values.length;i++)if(this.values={},e.values[i]instanceof Ye?this.error=!0:(e.values[i].visit(this),this.mergeIn(t,this.values),this.values["background-color"]&&i!=e.values.length-1&&(this.error=!0)),this.error)return null;this.values={};for(let i in t)i=="background-color"?this.values[i]=t[i].pop():this.values[i]=new Ye(t[i]);return null}},mm=class extends Ri{constructor(){super()}init(e,t){super.init(e,t),this.propList.push("font-family","line-height","font-size","font-stretch","font-variant-ligatures","font-variant-caps","font-variant-numeric","font-variant-east-asian")}validateList(e){let t=super.validateList(e),i=this.values["font-variant_css2"];i&&(delete this.values["font-variant_css2"],this.values["font-variant-caps"]=i);let n=this.values["font-stretch_css3"];if(n&&(delete this.values["font-stretch_css3"],this.values["font-stretch"]=n),t+2>e.length)return this.error=!0,t;this.error=!1;let s=this.validatorSet.validators;if(!e[t].visit(s["font-size"]))return this.error=!0,t;if(this.values["font-size"]=e[t++],e[t]===rs){if(t++,t+2>e.length)return this.error=!0,t;if(!e[t].visit(s["line-height"]))return this.error=!0,t;this.values["line-height"]=e[t++]}let r=t==e.length-1?e[t]:new xe(e.slice(t,e.length));return r.visit(s["font-family"])?(this.values["font-family"]=r,e.length):(this.error=!0,t)}visitCommaList(e){if(e.values[0].visit(this),this.error)return null;let t=[this.values["font-family"]];for(let n=1;n<e.values.length;n++)t.push(e.values[n]);let i=new Ye(t);return i.visit(this.validatorSet.validators["font-family"])?this.values["font-family"]=i:this.error=!0,null}visitIdent(e){let t=this.validatorSet.systemFonts[e.name];if(t)for(let i in t)this.values[i]=t[i];else this.error=!0;return null}},wm=class extends Ri{validateList(e){if(e.length===1&&e[0]instanceof nt)switch(e[0].name.toLowerCase()){case"normal":e=[this.validatorSet.defaultValues["text-autospace"],this.validatorSet.defaultValues["text-spacing-trim"]];break;case"auto":e=[v.auto,v.auto];break;case"none":e=[B("no-autospace"),B("space-all")];break}return super.validateList(e)}},bm=["unicode-bidi","direction","margin-block-start","margin-block-end","margin-inline-start","margin-inline-end","padding-block-start","padding-block-end","padding-inline-start","padding-inline-end","border-block-start-color","border-block-end-color","border-inline-start-color","border-inline-end-color","border-block-start-style","border-block-end-style","border-inline-start-style","border-inline-end-style","border-block-start-width","border-block-end-width","border-inline-start-width","border-inline-end-width","block-start","block-end","inline-start","inline-end","block-size","inline-size","max-block-size","max-inline-size","min-block-size","min-inline-size","behavior","bleed","conflicting-partitions","crop-offset","crop-marks-line-color","enabled","flow-consume","flow-from","flow-into","flow-linger","flow-options","flow-priority","font-display","font-size-adjust","font-stretch_css3","font-variant_css2","glyph-orientation-vertical","marks","min-page-height","min-page-width","repeat-on-break","required","required-partitions","ruby-align","shape-inside","snap-height","snap-width","template","text-decoration-skip","text-justify","text-zoom","unicode-range","utilization","wrap-flow"],vm=class extends Ri{constructor(){super()}init(e,t){super.init(e,t);for(let i in this.validatorSet.validators)bm.includes(i)||this.propList.push(i)}validateList(e){return this.error=!0,0}},Pa={SIMPLE:Ri,INSETS:Nu,INSETS_SLASH:fm,COMMA:gm,FONT:mm,TEXT_SPACING:wm,ALL:vm},ym=class{constructor(){u(this,"validators",{}),u(this,"prefixes",{}),u(this,"defaultValues",{}),u(this,"namedValidators",{}),u(this,"systemFonts",{}),u(this,"shorthands",{}),u(this,"layoutProps",{}),u(this,"backgroundProps",{})}addReplacement(e,t){let i;if(t.type==3)i=new I(t.num,t.text);else if(t.type==7)i=new Rl(t.text);else if(t.type==1)i=B(t.text);else throw new Error("unexpected replacement");if(e.isPrimitive()){let n=e.nodes[0].validator.idents;for(let s in n)n[s]=i;return e}throw new Error("unexpected replacement")}newGroup(e,t){let i=new Bi;if(e=="||"){for(let s=0;s<t.length;s++){let r=new Bi;r.startClause(s),r.addGroup(t[s],1),r.endClause(s),i.addGroup(r,s==0?1:4)}let n=new Bi;return n.startSpecialGroup(),n.addGroup(i,3),n.endSpecialGroup(),n}else{let n;switch(e){case" ":n=1;break;case"|":case"||":n=4;break;default:throw new Error("unexpected op")}for(let s=0;s<t.length;s++)i.addGroup(t[s],s==0?1:n);return i}}addCounts(e,t,i){let n=new Bi;for(let s=0;s<t;s++)n.addGroup(e.clone(),1);if(i==Number.POSITIVE_INFINITY)n.addGroup(e,3);else for(let s=t;s<i;s++)n.addGroup(e.clone(),2);return n}primitive(e){let t=new Bi;return t.addPrimitive(e),t}newFunc(e,t){let i;switch(e){case"COMMA":i=new oo(t);break;case"SPACE":i=new Ki(t);break;default:i=new cm(e.toLowerCase(),t);break}return this.primitive(i)}initBuiltInValidators(){this.namedValidators.COLOR=this.primitive(new Te(Dn,ie,ie)),this.namedValidators.IMAGE_FUNCTION=this.primitive(new Te(xu,ie,ie)),this.namedValidators.POS_INT=this.primitive(new Te(xr,ie,ie)),this.namedValidators.POS_NUM=this.primitive(new Te(zn,ie,ie)),this.namedValidators.POS_PERCENTAGE=this.primitive(new Te(Wt,ie,{"%":G})),this.namedValidators.NEGATIVE=this.primitive(new Te(Hi,ie,ie)),this.namedValidators.ZERO=this.primitive(new Te(Ui,ie,ie)),this.namedValidators.ZERO_PERCENTAGE=this.primitive(new Te(Sr,ie,ie)),this.namedValidators.POS_LENGTH=this.primitive(new Te(Wt,ie,{em:G,ex:G,ch:G,rem:G,lh:G,rlh:G,vw:G,vh:G,vi:G,vb:G,vmin:G,vmax:G,pvw:G,pvh:G,pvi:G,pvb:G,pvmin:G,pvmax:G,cm:G,mm:G,in:G,px:G,pt:G,pc:G,q:G})),this.namedValidators.POS_ANGLE=this.primitive(new Te(Wt,ie,{deg:G,grad:G,rad:G,turn:G})),this.namedValidators.POS_TIME=this.primitive(new Te(Wt,ie,{s:G,ms:G})),this.namedValidators.FREQUENCY=this.primitive(new Te(Wt,ie,{Hz:G,kHz:G})),this.namedValidators.RESOLUTION=this.primitive(new Te(Wt,ie,{dpi:G,dpcm:G,dppx:G})),this.namedValidators.URI=this.primitive(new Te(bu,ie,ie)),this.namedValidators.URANGE=this.primitive(new Te(yu,ie,ie)),this.namedValidators.IDENT=this.primitive(new Te(wu,ie,ie)),this.namedValidators.STRING=this.primitive(new Te(mu,ie,ie)),this.namedValidators.SLASH=this.primitive(new Te(vu,ie,ie));let e={"font-family":B("sans-serif")};this.systemFonts.caption=e,this.systemFonts.icon=e,this.systemFonts.menu=e,this.systemFonts["message-box"]=e,this.systemFonts["small-caption"]=e,this.systemFonts["status-bar"]=e}isBuiltIn(e){return!!e.match(/^[A-Z_0-9]+$/)}readNameAndPrefixes(e,t){let i=e.token();if(i.type==0)return null;let n={"":!0};if(i.type==14){do{if(e.consume(),i=e.token(),i.type!=1)throw new Error("Prefix name expected");n[i.text]=!0,e.consume(),i=e.token()}while(i.type==16);if(i.type!=15)throw new Error("']' expected");e.consume(),i=e.token()}if(i.type!=1)throw new Error("Property name expected");if(t==2?i.text=="SHORTHANDS":i.text=="DEFAULTS")return e.consume(),null;let s=i.text;if(e.consume(),t!=2){if(e.token().type!=39)throw new Error("'=' expected");this.isBuiltIn(s)||(this.prefixes[s]=n)}else if(e.token().type!=18)throw new Error("':' expected");return s}parseValidators(e){for(;;){let t=this.readNameAndPrefixes(e,1);if(!t)return;let i=[],n=[],s="",r,o=!0,a=()=>{if(i.length==0)throw new Error("No values");return i.length==1?i[0]:this.newGroup(s,i)},h=c=>{if(o)throw new Error(`'${c}': unexpected`);if(s&&s!=c)throw new Error(`mixed operators: '${c}' and '${s}'`);s=c,o=!0},l=null;for(;!l;){e.consume();let c=e.token();switch(c.type){case 1:if(o||h(" "),this.isBuiltIn(c.text)){let p=this.namedValidators[c.text];if(!p)throw new Error(`'${c.text}' unexpected`);i.push(p.clone())}else{let p={};p[c.text.toLowerCase()]=B(c.text),i.push(this.primitive(new Te(0,p,ie)))}o=!1;break;case 5:{let p={};p[`${c.num}`]=new Jt(c.num),i.push(this.primitive(new Te(0,p,ie))),o=!1;break}case 34:h("|");break;case 25:h("||");break;case 14:o||h(" "),n.push({vals:i,op:s,b:"["}),s="",i=[],o=!0;break;case 6:o||h(" "),n.push({vals:i,op:s,b:"(",fn:c.text}),s="",i=[],o=!0;break;case 15:{r=a();let p=n.pop();if(p.b!="[")throw new Error("']' unexpected");i=p.vals,i.push(r),s=p.op,o=!1;break}case 11:{r=a();let p=n.pop();if(p.b!="(")throw new Error("')' unexpected");i=p.vals,i.push(this.newFunc(p.fn,r)),s=p.op,o=!1;break}case 18:if(o)throw new Error("':' unexpected");e.consume(),i.push(this.addReplacement(i.pop(),e.token()));break;case 22:if(o)throw new Error("'?' unexpected");i.push(this.addCounts(i.pop(),0,1));break;case 36:if(o)throw new Error("'*' unexpected");i.push(this.addCounts(i.pop(),0,Number.POSITIVE_INFINITY));break;case 23:if(o)throw new Error("'+' unexpected");i.push(this.addCounts(i.pop(),1,Number.POSITIVE_INFINITY));break;case 12:{if(e.consume(),c=e.token(),c.type!=5)throw new Error("<int> expected");let p=c.num,d=p;if(e.consume(),c=e.token(),c.type==16){if(e.consume(),c=e.token(),c.type!=5)throw new Error("<int> expected");d=c.num,e.consume(),c=e.token()}if(c.type!=13)throw new Error("'}' expected");i.push(this.addCounts(i.pop(),p,d));break}case 17:if(l=a(),n.length>0)throw new Error(`unclosed '${n.pop().b}'`);break;default:throw new Error("unexpected token")}}e.consume(),this.isBuiltIn(t)?this.namedValidators[t]=l:l.isSimple()?this.validators[t]=l.nodes[0].validator:this.validators[t]=new Ki(l)}}parseDefaults(e){for(;;){let t=this.readNameAndPrefixes(e,2);if(!t)return;let i=[];for(;;){e.consume();let n=e.token();if(n.type==17){e.consume();break}switch(n.type){case 1:i.push(B(n.text));break;case 4:i.push(new Ht(n.num));break;case 5:i.push(new Jt(n.num));break;case 3:i.push(new I(n.num,n.text));break;default:throw new Error("unexpected token")}}this.defaultValues[t]=i.length>1?new xe(i):i[0]}}parseShorthands(e){for(;;){let t=this.readNameAndPrefixes(e,3);if(!t)return;let i=e.nthToken(1),n;i.type==1&&Pa[i.text]?(n=new Pa[i.text],e.consume()):n=new Ri,n.setOwner(this);let s=!1,r=[],o=!1,a=[],h=[];for(;!s;)switch(e.consume(),i=e.token(),i.type){case 1:if(this.validators[i.text])r.push(n.syntaxNodeForProperty(i.text)),i.text.includes("_")||h.push(i.text);else if(this.shorthands[i.text]instanceof Nu){let l=this.shorthands[i.text];r.push(l.createSyntaxNode()),h.push(...l.propList)}else throw new Error(`'${i.text}' is neither a simple property nor an inset shorthand`);break;case 19:if(r.length>0||o)throw new Error("unexpected slash");o=!0;break;case 14:a.push({slash:o,syntax:r}),r=[],o=!1;break;case 15:{let l=new pm(r,o),c=a.pop();r=c.syntax,o=c.slash,r.push(l);break}case 17:s=!0,e.consume();break;default:throw new Error("unexpected token")}n.init(r,h),this.shorthands[t]=n}}parse(e){let t=new gt(e,null);this.parseValidators(t),this.parseDefaults(t),this.parseShorthands(t),this.backgroundProps=this.makePropSet(["background"]),this.layoutProps=this.makePropSet(["margin","border","padding","columns","column-gap","column-rule","column-fill"])}makePropSet(e){var t;let i={};for(let n of e){let s=this.shorthands[n],r=s?s.propList:[n];for(let o of r)i[o]=(t=this.defaultValues[o])!=null?t:v.initial}return i}validatePropertyAndHandleShorthand(e,t,i,n){if(kt(e)||n.ruleType==="font-face"||Sm(t)){n.simpleProperty(e,t,i);return}let s="",r=e;e=e.toLowerCase();let o=e.match(/^-([a-z]+)-([-a-z0-9]+)$/);o&&(s=o[1],e=o[2]);let a=this.prefixes[e];if(!a||!a[s]){CSS.supports(r,t.toString())?n.simpleProperty(r,t,i):s&&!nl.includes(`-${s}-`)||n.unknownProperty(r,t);return}let h=this.validators[e];if(h){let l=J(t)||t.isExpr()?t:t.visit(h);l?n.simpleProperty(e,l,i):!s&&CSS.supports(e,t.toString())?n.simpleProperty(e,t,i):n.invalidPropertyValue(r,t)}else{let l=this.shorthands[e].clone();J(t)?l.propagateDefaultingValue(t,i,n):(t.visit(l),l.finish(i,n)||n.invalidPropertyValue(r,t))}}};function Pu(){let e=new ym;return e.initBuiltInValidators(),e.parse(Gl),e}var xm=class extends It{constructor(){super(...arguments),u(this,"varFound",!1)}visitFunc(e){return e.name==="var"?this.varFound=!0:this.varFound||this.visitValues(e.values),null}};function Sm(e){let t=new xm;return e.visit(t),t.varFound}var Kw=`OTTO${new Date().valueOf()}`;function lo(e){return Object.keys(e).filter(t=>!["src","font-family","font-display"].includes(t)).sort()}function Cm(e){let t=new Et;for(let i of lo(e))t.append(`${i}:${e[i].toString()};`);return t.toString()}function Em(e,t){let i={};for(let n in e)i[n]=Ue(e,n).evaluate(t,n);return i}var Tu=class{constructor(e){this.properties=e,u(this,"fontTraitKey"),u(this,"src"),u(this,"blobURLs",[]),u(this,"blobs",[]),u(this,"family"),this.fontTraitKey=Cm(this.properties),this.src=this.properties.src?this.properties.src.toString():null;let t=this.properties["font-family"];this.family=t?t.stringValue():null}traitsEqual(e){return this.fontTraitKey==e.fontTraitKey}makeAtRule(e,t){let i=new Et;i.append(`@font-face {
|
|
1507
1511
|
font-family: `),i.append(this.family),i.append(`;
|
|
1508
|
-
`);for(let n of
|
|
1509
|
-
`);if(t){i.append('src: url("');let n=
|
|
1512
|
+
`);for(let n of lo(this.properties))i.append(n),i.append(": "),this.properties[n].appendTo(i,!0),i.append(`;
|
|
1513
|
+
`);if(t){i.append('src: url("');let n=sp(t);i.append(n),this.blobURLs.push(n),this.blobs.push(t),i.append('")')}else i.append("src: "),i.append(e);return i.append(`;
|
|
1510
1514
|
}
|
|
1511
|
-
`),i.toString()}},Cm=class{constructor(e){this.deobfuscator=e,u(this,"familyMap",{})}registerFamily(e,t){let i=e.family,n=this.familyMap[i],s=t.family;if(n){if(n!=s)throw new Error(`E_FONT_FAMILY_INCONSISTENT ${e.family}`)}else this.familyMap[i]=s}filterFontFamily(e){if(e instanceof qe){let t=e.values,i=[];for(let n of t){let s=this.familyMap[n.stringValue()];s&&i.push(B(s)),i.push(n)}return new qe(i)}else{let t=this.familyMap[e.stringValue()];return t?new qe([B(t),e]):e}}},Em=class{constructor(e,t,i){this.head=e,this.body=t,u(this,"srcURLMap",{}),u(this,"familyPrefix"),u(this,"familyCounter",0),this.familyPrefix=i||"Fnt_"}getViewFontFamily(e,t){let i=e.family,n=t.familyMap[i];return n||(n=this.familyPrefix+ ++this.familyCounter,t.familyMap[i]=n,n)}initFont(e,t,i){let n=F("initFont"),s=e.src,r={};for(let l of ao(e.properties))r[l]=e.properties[l];let o=this.getViewFontFamily(e,i);r["font-family"]=B(o);let a=new Pu(r),h=this.head.ownerDocument.createElement("style");return h.textContent=a.makeAtRule(s,t),this.head.appendChild(h),V.debug("Load font:",s),n.finish(a),n.result()}loadFont(e,t){let i=e.src,n=e.family+";"+i,s=this.srcURLMap[n];return s?s.piggyback(r=>{let o=r;o.traitsEqual(e)?(t.registerFamily(e,o),V.debug("Found already-loaded font:",i)):V.warn("E_FONT_FACE_INCOMPATIBLE",e.src)}):(s=new wn(()=>{let r=F("loadFont"),o=i.replace(/^url\("([^"]+)"\).*$/,"$1"),a=t.deobfuscator?t.deobfuscator(o):null;return a?hs(o,"blob").then(h=>{if(!h.responseBlob){r.finish(null);return}a(h.responseBlob).then(l=>{this.initFont(e,l,t).thenFinish(r)})}):this.initFont(e,null,t).thenFinish(r),r.result()},`loadFont ${i}`),this.srcURLMap[n]=s,s.start()),s}findOrLoadFonts(e,t){let i=[];for(let n of e){if(!n.src||!n.family){V.warn("E_FONT_FACE_INVALID");continue}i.push(this.loadFont(n,t))}return ls(i).thenAsync(()=>this.waitFontLoading())}waitFontLoading(){let e=this.head.ownerDocument.fonts,t=0;if(e.forEach(n=>{n.status==="unloaded"&&(t++,n.load().catch(s=>{}))}),t===0)return k(!0);let i=F("waitFontLoading");return i.loop(()=>i.sleep(20).thenAsync(()=>e.status==="loading"?k(!0):k(!1))).thenFinish(i),i.result()}},km=1,fs=class{constructor(e,t,i,n,s){this.name=t,this.pseudoName=i,this.classes=n,this.parent=s,u(this,"specified",{}),u(this,"children",[]),u(this,"pageMaster",null),u(this,"index",0),u(this,"key"),u(this,"_scope"),this._scope=e,this.key=`p${km++}`,s&&(this.index=s.children.length,s.children.push(this))}get scope(){return this._scope}createInstance(e){throw new Error("E_UNEXPECTED_CALL")}clone(e){throw new Error("E_UNEXPECTED_CALL")}copySpecified(e){let t=this.specified,i=e.specified;for(let n in t)Object.prototype.hasOwnProperty.call(t,n)&&(i[n]=t[n])}cloneChildren(e){for(let t=0;t<this.children.length;t++)this.children[t].clone({parent:e})}},Nm=class extends fs{constructor(e){super(e,null,null,[],null),this.specified.width=new q(gn,0),this.specified.height=new q(mn,0)}},Pa=class extends Ds{constructor(e,t){super(e,n),this.pageMaster=t;let i=this;function n(s,r){let o=s.match(/^([^.]+)\.([^.]+)$/);if(o){let a=i.pageMaster.keyMap[o[1]];if(a){let h=this.lookupInstance(a);if(h)return r?h.resolveFunc(o[2]):h.resolveName(o[2])}}return null}}},Tu=class Iu extends fs{constructor(t,i,n,s,r,o,a){super(t,i,n,s,r),this.condition=o,this.specificity=a,u(this,"keyMap",{}),t instanceof Pa||(this._scope=new Pa(t,this)),this.pageMaster=this,this.specified.width=new q(gn,0),this.specified.height=new q(mn,0),this.specified["wrap-flow"]=new q(v.auto,0),this.specified.position=new q(v.relative,0),this.specified.overflow=new q(v.visible,0)}createInstance(t){return new ho(t,this)}clone(t){let i=new Iu(this.scope,this.name,t.pseudoName||this.pseudoName,this.classes,this.parent,this.condition,this.specificity);return this.copySpecified(i),this.cloneChildren(i),i}resetScope(){this.scope.pageMaster=this}},Ru=class Au extends fs{constructor(t,i,n,s,r){super(t,i,n,s,r),this.pageMaster=r.pageMaster,i&&(this.pageMaster.keyMap[i]=this.key),this.specified["wrap-flow"]=new q(v.auto,0)}createInstance(t){return new Rm(t,this)}clone(t){let i=new Au(t.parent.scope,this.name,this.pseudoName,this.classes,t.parent);return this.copySpecified(i),this.cloneChildren(i),i}},Sn=class Lu extends fs{constructor(t,i,n,s,r){super(t,i,n,s,r),this.pageMaster=r.pageMaster,i&&(this.pageMaster.keyMap[i]=this.key)}createInstance(t){return new Ci(t,this)}clone(t){let i=new Lu(t.parent.scope,this.name,this.pseudoName,this.classes,t.parent);return this.copySpecified(i),this.cloneChildren(i),i}};function Pm(e,t,i){return!t||J(t)?new Oe(e,i):t.toExpr(e,e.zero)}function he(e,t,i){return!t||t===v.auto||J(t)?null:t.toExpr(e,i)}function Tm(e,t,i){return!t||t===v.normal||J(t)?null:t.toExpr(e,i)}function it(e,t,i){return!t||t===v.auto||J(t)?e.zero:t.toExpr(e,i)}function Ta(e,t,i){return!t||J(t)?e.zero:t===v.auto?null:t.toExpr(e,i)}function bt(e,t,i,n){return!t||i===v.none||J(t)?e.zero:t.toExpr(e,n)}function Fu(e,t,i){return!t||J(t)?i:t===v._true?e._true:t===v._false?e._false:t.toExpr(e,e.zero)}var gs=class{constructor(e,t){this.parentInstance=e,this.pageBox=t,u(this,"cascaded",{}),u(this,"style",{}),u(this,"autoWidth",null),u(this,"autoHeight",null),u(this,"children",[]),u(this,"isAutoWidth",!1),u(this,"isAutoHeight",!1),u(this,"isTopDependentOnAutoHeight",!1),u(this,"isRightDependentOnAutoWidth",!1),u(this,"calculatedWidth",0),u(this,"calculatedHeight",0),u(this,"pageMasterInstance",null),u(this,"namedValues",{}),u(this,"namedFuncs",{}),u(this,"vertical",!1),u(this,"rtl",!1),u(this,"suppressEmptyBoxGeneration",!1),u(this,"borderBoxSizing",!1),e&&e.children.push(this)}reset(){this.calculatedWidth=0,this.calculatedHeight=0}addNamedValues(e,t){let i=this.resolveName(e),n=this.resolveName(t);if(!i||!n)throw new Error("E_INTERNAL");return j(this.pageBox.scope,i,n)}resolveName(e){let t=this.namedValues[e];if(t)return t;let i=this.style[e];switch(i&&(t=i.toExpr(this.pageBox.scope,this.pageBox.scope.zero)),e){case"margin-left-edge":t=this.resolveName("left");break;case"margin-top-edge":t=this.resolveName("top");break;case"margin-right-edge":t=this.addNamedValues("border-right-edge","margin-right");break;case"margin-bottom-edge":t=this.addNamedValues("border-bottom-edge","margin-bottom");break;case"border-left-edge":t=this.addNamedValues("margin-left-edge","margin-left");break;case"border-top-edge":t=this.addNamedValues("margin-top-edge","margin-top");break;case"border-right-edge":t=this.addNamedValues("padding-right-edge","border-right-width");break;case"border-bottom-edge":t=this.addNamedValues("padding-bottom-edge","border-bottom-width");break;case"padding-left-edge":t=this.addNamedValues("border-left-edge","border-left-width");break;case"padding-top-edge":t=this.addNamedValues("border-top-edge","border-top-width");break;case"padding-right-edge":t=this.addNamedValues("right-edge","padding-right");break;case"padding-bottom-edge":t=this.addNamedValues("bottom-edge","padding-bottom");break;case"left-edge":t=this.addNamedValues("padding-left-edge","padding-left");break;case"top-edge":t=this.addNamedValues("padding-top-edge","padding-top");break;case"right-edge":t=this.addNamedValues("left-edge","width");break;case"bottom-edge":t=this.addNamedValues("top-edge","height");break}if(!t){let n;if(e=="extent")n=this.vertical?"width":"height";else if(e=="measure")n=this.vertical?"height":"width";else{let s=this.vertical?Th:Ih;n=e;for(let r in s)n=n.replace(r,s[r])}n!=e&&(t=this.resolveName(n))}return t&&(this.namedValues[e]=t),t}resolveFunc(e){let t=this.namedFuncs[e];if(t)return t;switch(e){case"columns":{let i=this.pageBox.scope,n=new El(i,0),s=this.resolveName("column-count"),r=this.resolveName("column-width"),o=this.resolveName("column-gap");t=ae(i,On(i,new Gi(i,"min",[n,s]),j(i,r,o)),o);break}}return t&&(this.namedFuncs[e]=t),t}initEnabled(){let e=this.pageBox.scope,t=this.style,i=Fu(e,t.enabled,e._true),n=he(e,t.page,e.zero);if(n){let o=new Re(e,"page-number");i=ht(e,i,new Br(e,n,o))}let s=he(e,t["min-page-width"],e.zero);s&&(i=ht(e,i,new Us(e,new Re(e,"page-width"),s)));let r=he(e,t["min-page-height"],e.zero);r&&(i=ht(e,i,new Us(e,new Re(e,"page-height"),r))),i=this.boxSpecificEnabled(i),t.enabled=new z(i)}boxSpecificEnabled(e){return e}initHorizontal(){let e=this.pageBox.scope,t=this.style,i=this.parentInstance?this.parentInstance.style.width.toExpr(e,null):null,n=he(e,t.left,i),s=he(e,t["margin-left"],i),r=bt(e,t["border-left-width"],t["border-left-style"],i),o=it(e,t["padding-left"],i),a=he(e,t.width,i),h=he(e,t["max-width"],i),l=it(e,t["padding-right"],i),c=bt(e,t["border-right-width"],t["border-right-style"],i),p=he(e,t["margin-right"],i),d=he(e,t.right,i),f=j(e,r,o),g=j(e,r,l);if(n&&d&&a){let y=ae(e,i,j(e,a,j(e,j(e,n,f),g)));s?p?d=ae(e,y,p):p=ae(e,y,j(e,d,s)):(y=ae(e,y,d),p?s=ae(e,y,p):(s=On(e,y,new Oe(e,.5)),p=s))}else{s||(s=e.zero),p||(p=e.zero),!n&&!d&&!a&&(n=e.zero),!n&&!a?(a=this.autoWidth,this.isAutoWidth=!0):!n&&!d?n=e.zero:!a&&!d&&(a=this.autoWidth,this.isAutoWidth=!0);let y=ae(e,i,j(e,j(e,s,f),j(e,p,g)));this.isAutoWidth&&(h||(h=ae(e,y,n||d)),!this.vertical&&(he(e,t["column-width"],null)||he(e,t["column-count"],null))&&(a=h,this.isAutoWidth=!1)),n?a?d||(d=ae(e,y,j(e,n,a))):a=ae(e,y,j(e,n,d)):n=ae(e,y,j(e,d,a))}let m=t["snap-width"]||(this.parentInstance?this.parentInstance.style["snap-width"]:null),w=it(e,m,i);t.left=new z(n),t["margin-left"]=new z(s),t["border-left-width"]=new z(r),t["padding-left"]=new z(o),t.width=new z(a),t["max-width"]=new z(h||a),t["padding-right"]=new z(l),t["border-right-width"]=new z(c),t["margin-right"]=new z(p),t.right=new z(d),t["snap-width"]=new z(w)}initVertical(){let e=this.pageBox.scope,t=this.style,i=this.parentInstance?this.parentInstance.style.width.toExpr(e,null):null,n=this.parentInstance?this.parentInstance.style.height.toExpr(e,null):null,s=he(e,t.top,n),r=he(e,t["margin-top"],i),o=bt(e,t["border-top-width"],t["border-top-style"],i),a=it(e,t["padding-top"],i),h=he(e,t.height,n),l=he(e,t["max-height"],n),c=it(e,t["padding-bottom"],i),p=bt(e,t["border-bottom-width"],t["border-bottom-style"],i),d=he(e,t["margin-bottom"],i),f=he(e,t.bottom,n),g=j(e,o,a),m=j(e,p,c);if(s&&f&&h){let b=ae(e,n,j(e,h,j(e,j(e,s,g),m)));r?d?f=ae(e,b,r):d=ae(e,b,j(e,f,r)):(b=ae(e,b,f),d?r=ae(e,b,d):(r=On(e,b,new Oe(e,.5)),d=r))}else{r||(r=e.zero),d||(d=e.zero),!s&&!f&&!h&&(s=e.zero),!s&&!h?(h=this.autoHeight,this.isAutoHeight=!0):!s&&!f?s=e.zero:!h&&!f&&(h=this.autoHeight,this.isAutoHeight=!0);let b=ae(e,n,j(e,j(e,r,g),j(e,d,m)));this.isAutoHeight&&(l||(l=ae(e,b,s||f)),this.vertical&&(he(e,t["column-width"],null)||he(e,t["column-count"],null))&&(h=l,this.isAutoHeight=!1)),s?h?f||(f=ae(e,b,j(e,s,h))):h=ae(e,b,j(e,f,s)):s=ae(e,b,j(e,f,h))}let w=t["snap-height"]||(this.parentInstance?this.parentInstance.style["snap-height"]:null),y=it(e,w,i);t.top=new z(s),t["margin-top"]=new z(r),t["border-top-width"]=new z(o),t["padding-top"]=new z(a),t.height=new z(h),t["max-height"]=new z(l||h),t["padding-bottom"]=new z(c),t["border-bottom-width"]=new z(p),t["margin-bottom"]=new z(d),t.bottom=new z(f),t["snap-height"]=new z(y)}initColumns(){let e=this.pageBox.scope,t=this.style,i=he(e,t[this.vertical?"height":"width"],null),n=he(e,t["column-width"],i),s=he(e,t["column-count"],null),r=Tm(e,t["column-gap"],null);r||(r=new fn(e,1,"em")),n&&!s&&(s=new Gi(e,"floor",[Hs(e,j(e,i,r),j(e,n,r))]),s=new Gi(e,"max",[e.one,s])),s||(s=e.one),n=ae(e,Hs(e,j(e,i,r),s),r),t["column-width"]=new z(n),t["column-count"]=new z(s),t["column-gap"]=new z(r)}depends(e,t,i){return this.style[e].toExpr(this.pageBox.scope,null).depend(t,i)}init(e){var t;e.registerInstance(this.pageBox.key,this);let i=this.pageBox.scope,n=this.style,s=this.parentInstance?this.parentInstance.getActiveRegions(e):null,r=Xh(this.cascaded,e,s,!1,null);this.vertical=Wh(r,e,this.parentInstance?this.parentInstance.vertical:!1),this.rtl=jh(r,e,this.parentInstance?this.parentInstance.rtl:!1),this.borderBoxSizing=((t=r["box-sizing"])==null?void 0:t.value)===v.border_box;let o=!!(e instanceof go&&e.currentLayoutPosition&&new Re(i,"left-page").evaluate(e));Yh(r,n,this.vertical,this.rtl,o,(a,h)=>h.value),this.autoWidth=new De(i,()=>this.calculatedWidth,"autoWidth"),this.autoHeight=new De(i,()=>this.calculatedHeight,"autoHeight"),this.initHorizontal(),this.initVertical(),this.initColumns(),this.initEnabled()}getProp(e,t){var i,n;let s=this.style[t];return!s&&qi(t)&&(t==="font-size"&&e.isRelativeRootFontSize&&e.rootFontSize?s=new T(e.rootFontSize,"px"):s=(n=((i=e.styler)==null?void 0:i.rootStyle)[t])==null?void 0:n.value),s&&(s=Jn(e,s,t)),s}getPropAsNumber(e,t){var i,n;let s=this.style[t];if(s){let r=/\b(height|top|bottom)\b/.test(t)?(i=e.pageAreaHeight)!=null?i:e.pageHeight():(n=e.pageAreaWidth)!=null?n:e.pageWidth();s=Jn(e,s,t,r)}return We(s,e)}getSpecial(e,t){let i=Lh(this.cascaded,t);if(i){let n=[];for(let s=0;s<i.length;s++){let r=i[s].evaluate(e,"");r&&r!==G&&n.push(r)}if(n.length)return n}return null}getActiveRegions(e){let t=this.getSpecial(e,"region-id");if(t){let i=[];for(let n=0;n<t.length;n++)i[n]=t[n].toString();return i}return null}propagateProperty(e,t,i,n){this.propagatePropertyToElement(e,t.element,i,n)}propagatePropertyToElement(e,t,i,n){let s=this.getProp(e,i);s&&(s.isNumeric()&&pl(s.unit)&&(s=Al(s,e)),i==="font-family"&&(s=n.filterFontFamily(s)),(i.startsWith("background")||i==="z-index")&&t.parentElement.hasAttribute("data-vivliostyle-bleed-box")&&(t=t.parentElement),N(t,i,s.toString()))}propagateDelayedProperty(e,t,i,n){let s=this.getProp(e,i);s&&n.push(new $r(t.element,i,s))}assignLeftPosition(e,t){let i=this.getPropAsNumber(e,"left"),n=this.getPropAsNumber(e,"margin-left"),s=this.getPropAsNumber(e,"padding-left"),r=this.getPropAsNumber(e,"border-left-width"),o=this.getPropAsNumber(e,"width");t.setHorizontalPosition(i,o),N(t.element,"margin-left",`${n}px`),N(t.element,"padding-left",`${s}px`),N(t.element,"border-left-width",`${r}px`),t.marginLeft=n,t.borderLeft=r,t.paddingLeft=s}assignRightPosition(e,t){let i=this.getPropAsNumber(e,"right"),n=this.getPropAsNumber(e,"snap-height"),s=this.getPropAsNumber(e,"margin-right"),r=this.getPropAsNumber(e,"padding-right"),o=this.getPropAsNumber(e,"border-right-width");if(N(t.element,"margin-right",`${s}px`),N(t.element,"padding-right",`${r}px`),N(t.element,"border-right-width",`${o}px`),t.marginRight=s,t.borderRight=o,this.vertical&&n>0){let a=i+t.getInsetRight(),h=a-Math.floor(a/n)*n;h>0&&(t.snapOffsetX=n-h,r+=t.snapOffsetX)}t.paddingRight=r,t.snapWidth=n}assignTopPosition(e,t){let i=this.getPropAsNumber(e,"snap-height"),n=this.getPropAsNumber(e,"top"),s=this.getPropAsNumber(e,"margin-top"),r=this.getPropAsNumber(e,"padding-top"),o=this.getPropAsNumber(e,"border-top-width");if(t.top=n,t.marginTop=s,t.borderTop=o,t.snapHeight=i,!this.vertical&&i>0){let a=n+t.getInsetTop(),h=a-Math.floor(a/i)*i;h>0&&(t.snapOffsetY=i-h,r+=t.snapOffsetY)}t.paddingTop=r,N(t.element,"top",`${n}px`),N(t.element,"margin-top",`${s}px`),N(t.element,"padding-top",`${r}px`),N(t.element,"border-top-width",`${o}px`)}assignBottomPosition(e,t){let i=this.getPropAsNumber(e,"margin-bottom"),n=this.getPropAsNumber(e,"padding-bottom"),s=this.getPropAsNumber(e,"border-bottom-width"),r=this.getPropAsNumber(e,"height")-t.snapOffsetY;N(t.element,"height",`${r}px`),N(t.element,"margin-bottom",`${i}px`),N(t.element,"padding-bottom",`${n}px`),N(t.element,"border-bottom-width",`${s}px`),t.height=r-t.snapOffsetY,t.marginBottom=i,t.borderBottom=s,t.paddingBottom=n}assignBeforePosition(e,t){this.vertical?this.assignRightPosition(e,t):this.assignTopPosition(e,t)}assignAfterPosition(e,t){this.vertical?this.assignLeftPosition(e,t):this.assignBottomPosition(e,t)}assignStartEndPosition(e,t){this.vertical?(this.assignTopPosition(e,t),this.assignBottomPosition(e,t)):(this.assignRightPosition(e,t),this.assignLeftPosition(e,t))}sizeWithMaxHeight(e,t){N(t.element,"border-top-width","0px");let i=this.getPropAsNumber(e,"max-height");this.isTopDependentOnAutoHeight?t.setVerticalPosition(0,i):(this.assignTopPosition(e,t),i-=t.snapOffsetY,t.height=i,N(t.element,"height",`${i}px`))}sizeWithMaxWidth(e,t){N(t.element,"border-left-width","0px");let i=this.getPropAsNumber(e,"max-width");if(this.isRightDependentOnAutoWidth)t.setHorizontalPosition(0,i);else{this.assignRightPosition(e,t),i-=t.snapOffsetX,t.width=i;let n=this.getPropAsNumber(e,"right");N(t.element,"right",`${n}px`),N(t.element,"width",`${i}px`)}}prepareContainer(e,t,i,n,s){(!this.parentInstance||this.vertical!=this.parentInstance.vertical)&&N(t.element,"writing-mode",this.vertical?"vertical-rl":"horizontal-tb"),(!this.parentInstance||this.rtl!=this.parentInstance.rtl)&&N(t.element,"direction",this.rtl?"rtl":"ltr"),(this.vertical?this.isAutoWidth:this.isAutoHeight)?this.vertical?this.sizeWithMaxWidth(e,t):this.sizeWithMaxHeight(e,t):(this.assignBeforePosition(e,t),this.assignAfterPosition(e,t)),(this.vertical?this.isAutoHeight:this.isAutoWidth)?this.vertical?this.sizeWithMaxHeight(e,t):this.sizeWithMaxWidth(e,t):this.assignStartEndPosition(e,t);for(let r=0;r<Ia.length;r++)this.propagateProperty(e,t,Ia[r],n)}transferContentProps(e,t,i,n){for(let s=0;s<Aa.length;s++)this.propagateProperty(e,t,Aa[s],n);if(this.style["text-overflow"]){let s=t.element.firstElementChild;N(s,"text-overflow","inherit"),N(s,"overflow","inherit")}}transferSingleUriContentProps(e,t,i){let n=()=>{var r,o;let a=(o=(r=this.cascaded.width)!=null?r:this.cascaded[this.vertical?"block-size":"inline-size"])==null?void 0:o.value;return!!a&&a!==v.auto&&!J(a)},s=()=>{var r,o;let a=(o=(r=this.cascaded.height)!=null?r:this.cascaded[this.vertical?"inline-size":"block-size"])==null?void 0:o.value;return!!a&&a!==v.auto&&!J(a)};for(let r=0;r<La.length;r++){let o=La[r];if(o==="width"||o==="height"){if(o==="width"&&!n()||o==="height"&&!s())continue;N(t,o,"100%");continue}this.propagatePropertyToElement(e,t,o,i)}}finishContainer(e,t,i,n,s,r,o){this.vertical?this.calculatedWidth=t.computedBlockSize+t.snapOffsetX:this.calculatedHeight=t.computedBlockSize+t.snapOffsetY;let a=(this.vertical||!n)&&this.isAutoHeight,h=(!this.vertical||!n)&&this.isAutoWidth,l=null;if((h||a)&&(h&&N(t.element,"width","auto"),a&&N(t.element,"height","auto"),l=r.getElementClientRect(n?n.element:t.element),h&&(this.calculatedWidth=Math.ceil(l.right-l.left-t.paddingLeft-t.borderLeft-t.paddingRight-t.borderRight),this.vertical&&(this.calculatedWidth+=t.snapOffsetX)),a&&(this.calculatedHeight=l.bottom-l.top-t.paddingTop-t.borderTop-t.paddingBottom-t.borderBottom,this.vertical||(this.calculatedHeight+=t.snapOffsetY))),(this.vertical?this.isAutoHeight:this.isAutoWidth)&&this.assignStartEndPosition(e,t),(this.vertical?this.isAutoWidth:this.isAutoHeight)&&((this.vertical?this.isRightDependentOnAutoWidth:this.isTopDependentOnAutoHeight)&&this.assignBeforePosition(e,t),this.assignAfterPosition(e,t)),s>1){let c=this.getPropAsNumber(e,"column-rule-width"),p=this.getProp(e,"column-rule-style"),d=this.getProp(e,"column-rule-color");if(c>0&&p&&p!=v.none&&d!=v.transparent){let f=this.getPropAsNumber(e,"column-gap"),g=this.vertical?t.height:t.width,m=this.vertical?"border-top":"border-left";for(let w=1;w<s;w++){let y=this.vertical?(g+f)*w/s-f/2+t.paddingTop-c/2:(g+f)*w/s-f/2+t.paddingLeft-c/2,b=this.vertical?t.width+t.paddingLeft+t.paddingRight:t.height+t.paddingTop+t.paddingBottom,x=t.element.ownerDocument.createElement("div");N(x,"position","absolute"),N(x,this.vertical?"left":"top","0px"),N(x,this.vertical?"top":"left",`${y}px`),N(x,this.vertical?"height":"width","0px"),N(x,this.vertical?"width":"height",`${b}px`),N(x,m,`${c}px ${p.toString()}${d?` ${d.toString()}`:""}`),t.element.insertBefore(x,t.element.firstChild)}}}for(let c=0;c<Ra.length;c++)this.propagateProperty(e,t,Ra[c],o);for(let c=0;c<Fa.length;c++)this.propagateDelayedProperty(e,t,Fa[c],i.delayedItems)}applyCascadeAndInit(e,t){let i=this.cascaded,n=this.pageBox.specified;for(let r in n)this instanceof Qi&&this.pageBox.pseudoName=="vivliostyle-page-rule-master"&&(r==="writing-mode"||r==="direction")||wi(r)&&Kt(i,r,Ue(n,r));if(this.pageBox.pseudoName==lo)for(let r in t)(r.match(/^background-/)||r=="writing-mode")&&(i[r]=t[r]);if(this.pageBox.pseudoName=="layout-host")for(let r in t)!r.match(/^background-/)&&r!="writing-mode"&&(i[r]=t[r]);e.pushRule(this.pageBox.classes,null,i);let s=i.content;s&&(i.content=s.filterValue(new fr(e,null,e.counterResolver))),this.init(e.context);for(let r of this.pageBox.children)r.createInstance(this).applyCascadeAndInit(e,t);e.popRule()}resolveAutoSizing(e){this.isAutoWidth&&(this.isRightDependentOnAutoWidth=this.depends("right",this.autoWidth,e)||this.depends("margin-right",this.autoWidth,e)||this.depends("border-right-width",this.autoWidth,e)||this.depends("padding-right",this.autoWidth,e)),this.isAutoHeight&&(this.isTopDependentOnAutoHeight=this.depends("top",this.autoHeight,e)||this.depends("margin-top",this.autoHeight,e)||this.depends("border-top-width",this.autoHeight,e)||this.depends("padding-top",this.autoHeight,e));for(let t of this.children)t.resolveAutoSizing(e)}},Ia=["border-left-style","border-right-style","border-top-style","border-bottom-style","border-left-color","border-right-color","border-top-color","border-bottom-color","box-sizing","outline-style","outline-color","outline-width","overflow","visibility"],Ra=["border-top-left-radius","border-top-right-radius","border-bottom-right-radius","border-bottom-left-radius","border-start-start-radius","border-start-end-radius","border-end-start-radius","border-end-end-radius","border-image-source","border-image-slice","border-image-width","border-image-outset","border-image-repeat","background-attachment","background-color","background-image","background-repeat","background-position","background-clip","background-origin","background-size","box-shadow","opacity","z-index","background-blend-mode","isolation","mix-blend-mode","filter"],Aa=["color","font-family","font-size","font-style","font-weight","line-height","letter-spacing","text-align","text-align-last","text-decoration","text-indent","text-transform","white-space","text-wrap","text-wrap-mode","text-wrap-style","word-spacing","font-feature-settings","font-kerning","font-size-adjust","font-variant-ligatures","font-variant-caps","font-variant-numeric","font-variant-east-asian","font-stretch","text-combine-upright","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-fill-color","text-orientation","text-shadow","text-stroke-color","text-stroke-width","text-underline-offset","text-underline-position","text-overflow"],La=["width","height","image-resolution","object-fit","object-position"],Fa=["transform","transform-origin"],lo="background-host",Im=class extends gs{constructor(e){super(null,e)}applyCascadeAndInit(e,t){super.applyCascadeAndInit(e,t),this.children.sort((i,n)=>n.pageBox.specificity-i.pageBox.specificity||i.pageBox.index-n.pageBox.index)}},ho=class extends gs{constructor(e,t){super(e,t),this.pageMasterInstance=this}boxSpecificEnabled(e){let t=this.pageBox.pageMaster;return t.condition&&(e=ht(t.scope,e,t.condition)),e}adjustPageLayout(e,t,i){}},Rm=class extends gs{constructor(e,t){super(e,t),this.pageMasterInstance=e.pageMasterInstance}},Ci=class extends gs{constructor(e,t){super(e,t),this.pageMasterInstance=e.pageMasterInstance}processPartitionList(e,t,i){let n=null;if(t instanceof nt&&(n=[t]),t instanceof qe&&(n=t.values),n){let s=this.pageBox.scope;for(let r=0;r<n.length;r++)if(n[r]instanceof nt){let o=zs(n[r].name,"enabled"),a=new Re(s,o);i&&(a=new Bt(s,a)),e=ht(s,e,a)}}return e}boxSpecificEnabled(e){let t=this.pageBox.scope,i=this.style,n=Fu(t,i.required,t._false)!==t._false;if(n||this.isAutoHeight){let s=Pm(t,i["flow-from"],"body"),r=new Gi(t,"has-content",[s]);e=ht(t,e,r)}if(e=this.processPartitionList(e,i["required-partitions"],!1),e=this.processPartitionList(e,i["conflicting-partitions"],!0),n){let s=this.pageMasterInstance.style.enabled,r=s?s.toExpr(t,null):t._true;r=ht(t,r,e),this.pageMasterInstance.style.enabled=new z(r)}return e}prepareContainer(e,t,i,n,s){var r;this.pageBox.pageMaster instanceof zu||(N(t.element,"overflow","hidden"),t.element.setAttribute("data-vivliostyle-page-partition",(r=this.pageBox.name)!=null?r:"")),super.prepareContainer(e,t,i,n,s)}},uo=class extends bn{constructor(e,t,i,n){super(e,t,!1),this.target=i,this.validatorSet=n}property(e,t,i){this.validatorSet.validatePropertyAndHandleShorthand(e,t,i,this)}unknownProperty(e,t){this.report(`E_INVALID_PROPERTY ${e}: ${t.toString()}`)}invalidPropertyValue(e,t){this.report(`E_INVALID_PROPERTY_VALUE ${e}: ${t.toString()}`)}simpleProperty(e,t,i){this.target.specified[e]=new q(t,i?Zl:Jl)}},Ou=class extends uo{constructor(e,t,i,n){super(e,t,i,n)}},Am=class Bu extends uo{constructor(t,i,n,s){super(t,i,n,s),n.specified.width=new q(_o,0),n.specified.height=new q(_o,0)}startPartitionRule(t,i,n){let s=new Sn(this.scope,t,i,n,this.target),r=new Ou(this.scope,this.owner,s,this.validatorSet);this.owner.pushHandler(r)}startPartitionGroupRule(t,i,n){let s=new Ru(this.scope,t,i,n,this.target),r=new Bu(this.scope,this.owner,s,this.validatorSet);this.owner.pushHandler(r)}},Lm=class extends uo{constructor(e,t,i,n){super(e,t,i,n)}startPartitionRule(e,t,i){let n=new Sn(this.scope,e,t,i,this.target),s=new Ou(this.scope,this.owner,n,this.validatorSet);this.owner.pushHandler(s)}startPartitionGroupRule(e,t,i){let n=new Ru(this.scope,e,t,i,this.target),s=new Am(this.scope,this.owner,n,this.validatorSet);this.owner.pushHandler(s)}};function _u(e){var t,i;let n=(t=e["writing-mode"])==null?void 0:t.value,s=(i=e.direction)==null?void 0:i.value;return n===v.vertical_lr||n!==v.vertical_rl&&s!==v.rtl?"ltr":"rtl"}var Fm={a10:{width:new T(26,"mm"),height:new T(37,"mm")},a9:{width:new T(37,"mm"),height:new T(52,"mm")},a8:{width:new T(52,"mm"),height:new T(74,"mm")},a7:{width:new T(74,"mm"),height:new T(105,"mm")},a6:{width:new T(105,"mm"),height:new T(148,"mm")},a5:{width:new T(148,"mm"),height:new T(210,"mm")},a4:{width:new T(210,"mm"),height:new T(297,"mm")},a3:{width:new T(297,"mm"),height:new T(420,"mm")},a2:{width:new T(420,"mm"),height:new T(594,"mm")},a1:{width:new T(594,"mm"),height:new T(841,"mm")},a0:{width:new T(841,"mm"),height:new T(1189,"mm")},b10:{width:new T(31,"mm"),height:new T(44,"mm")},b9:{width:new T(44,"mm"),height:new T(62,"mm")},b8:{width:new T(62,"mm"),height:new T(88,"mm")},b7:{width:new T(88,"mm"),height:new T(125,"mm")},b6:{width:new T(125,"mm"),height:new T(176,"mm")},b5:{width:new T(176,"mm"),height:new T(250,"mm")},b4:{width:new T(250,"mm"),height:new T(353,"mm")},b3:{width:new T(353,"mm"),height:new T(500,"mm")},b2:{width:new T(500,"mm"),height:new T(707,"mm")},b1:{width:new T(707,"mm"),height:new T(1e3,"mm")},b0:{width:new T(1e3,"mm"),height:new T(1414,"mm")},c10:{width:new T(28,"mm"),height:new T(40,"mm")},c9:{width:new T(40,"mm"),height:new T(57,"mm")},c8:{width:new T(57,"mm"),height:new T(81,"mm")},c7:{width:new T(81,"mm"),height:new T(114,"mm")},c6:{width:new T(114,"mm"),height:new T(162,"mm")},c5:{width:new T(162,"mm"),height:new T(229,"mm")},c4:{width:new T(229,"mm"),height:new T(324,"mm")},c3:{width:new T(324,"mm"),height:new T(458,"mm")},c2:{width:new T(458,"mm"),height:new T(648,"mm")},c1:{width:new T(648,"mm"),height:new T(917,"mm")},c0:{width:new T(917,"mm"),height:new T(1297,"mm")},"jis-b10":{width:new T(32,"mm"),height:new T(45,"mm")},"jis-b9":{width:new T(45,"mm"),height:new T(64,"mm")},"jis-b8":{width:new T(64,"mm"),height:new T(91,"mm")},"jis-b7":{width:new T(91,"mm"),height:new T(128,"mm")},"jis-b6":{width:new T(128,"mm"),height:new T(182,"mm")},"jis-b5":{width:new T(182,"mm"),height:new T(257,"mm")},"jis-b4":{width:new T(257,"mm"),height:new T(364,"mm")},"jis-b3":{width:new T(364,"mm"),height:new T(515,"mm")},"jis-b2":{width:new T(515,"mm"),height:new T(728,"mm")},"jis-b1":{width:new T(728,"mm"),height:new T(1030,"mm")},"jis-b0":{width:new T(1030,"mm"),height:new T(1456,"mm")},letter:{width:new T(8.5,"in"),height:new T(11,"in")},legal:{width:new T(8.5,"in"),height:new T(14,"in")},ledger:{width:new T(11,"in"),height:new T(17,"in")}},Om=new T(.24,"pt"),Zw=new T(3,"mm"),Bm=new T(10,"mm"),_m=new T(13,"mm");function ts(e){let t={width:gn,height:mn,bleed:be,bleedOffset:be,cropOffset:be},i=e.size;if(!(!i||i.value===v.auto)){let l=i.value,c,p;if(l.isSpaceList()?(c=l.values[0],p=l.values[1]):(c=l,p=null),c.isNumeric())t.width=c,t.height=p||c;else{let d=c.name&&Fm[c.name.toLowerCase()];d&&(p&&p===v.landscape?(t.width=d.height,t.height=d.width):(t.width=d.width,t.height=d.height))}}let n=e.marks,s=e.bleed,r=n&&!J(n.value)?n.value:v.none,o=s&&!J(s.value)?s.value:v.auto;if(o===v.auto){if(r!==v.none){let l=!1;r.isSpaceList()?l=r.values.some(c=>c===v.crop):l=r===v.crop,l&&(t.bleed=new T(6,"pt"))}}else o.isNumeric()&&(t.bleed=o);let a=e["crop-offset"],h=a&&!J(a.value)?a.value:v.auto;return h===v.auto?r!==v.none&&(t.bleedOffset=_m):h.isNumeric()&&(t.cropOffset=h),t}function Oa(e,t){let i={},n=Math.max(0,e.bleed.num)*t.queryUnitSize(e.bleed.unit,!1),s=!e.cropOffset.num&&e.bleedOffset.num?e.bleedOffset.num*t.queryUnitSize(e.bleedOffset.unit,!1):Math.max(0,e.cropOffset.num*t.queryUnitSize(e.cropOffset.unit,!1)-n),r=n+s,o=e.width;o===gn?t.pref.defaultPaperSize?i.pageWidth=t.pref.defaultPaperSize.width*t.queryUnitSize("px",!1):i.pageWidth=(t.pref.spreadView?Math.floor(t.viewportWidth/2)-t.pref.pageBorder:t.viewportWidth)-r*2:i.pageWidth=o.num*t.queryUnitSize(o.unit,!1);let a=e.height;return a===mn?t.pref.defaultPaperSize?i.pageHeight=t.pref.defaultPaperSize.height*t.queryUnitSize("px",!1):i.pageHeight=t.viewportHeight-r*2:i.pageHeight=a.num*t.queryUnitSize(a.unit,!1),i.bleed=n,i.bleedOffset=s,i.cropOffset=r,i}function Mu(e,t,i){let n=e.createElementNS("http://www.w3.org/2000/svg","svg");return n.setAttribute("width",t),n.setAttribute("height",i),n.style.position="absolute",n}function Ji(e,t,i,n){n=n||"polyline";let s=e.createElementNS("http://www.w3.org/2000/svg",n);return s.setAttribute("stroke",i===v.auto?"#010101":i.toString()),s.setAttribute("stroke-width",t),s.setAttribute("fill","none"),s}var Sr=(e=>(e.TOP_LEFT="top left",e.TOP_RIGHT="top right",e.BOTTOM_LEFT="bottom left",e.BOTTOM_RIGHT="bottom right",e))(Sr||{});function Mm(e,t,i,n,s,r,o){let a=s;a<=r+2*me.mm&&(a=r+s/2);let h=Math.max(s,a),l=r+h+i/2,c=Mu(e,l,l),p=[[0,r+s],[s,r+s],[s,r+s-a]],d=p.map(m=>[m[1],m[0]]);(t==="top right"||t==="bottom right")&&(p=p.map(m=>[r+h-m[0],m[1]]),d=d.map(m=>[r+h-m[0],m[1]])),(t==="bottom left"||t==="bottom right")&&(p=p.map(m=>[m[0],r+h-m[1]]),d=d.map(m=>[m[0],r+h-m[1]]));let f=Ji(e,i,n);f.setAttribute("points",p.map(m=>m.join(",")).join(" ")),c.appendChild(f);let g=Ji(e,i,n);return g.setAttribute("points",d.map(m=>m.join(",")).join(" ")),c.appendChild(g),t.split(" ").forEach(m=>{c.style[m]=`${o}px`}),c}var un=(e=>(e.TOP="top",e.BOTTOM="bottom",e.LEFT="left",e.RIGHT="right",e))(un||{});function zm(e,t,i,n,s,r){let o=s*2,a,h;t==="top"||t==="bottom"?(a=o,h=s):(a=s,h=o);let l=Mu(e,a,h),c=Ji(e,i,n);c.setAttribute("points",`0,${h/2} ${a},${h/2}`),l.appendChild(c);let p=Ji(e,i,n);p.setAttribute("points",`${a/2},0 ${a/2},${h}`),l.appendChild(p);let d=Ji(e,i,n,"circle");d.setAttribute("cx",a/2),d.setAttribute("cy",h/2),d.setAttribute("r",s/4),l.appendChild(d);let f;switch(t){case"top":f="bottom";break;case"bottom":f="top";break;case"left":f="right";break;case"right":f="left";break}return Object.keys(un).forEach(g=>{let m=un[g];m===t?l.style[m]=`${r}px`:m!==f&&(l.style[m]="0",l.style[`margin-${m}`]="auto")}),l}function Dm(e,t,i,n){let s=!1,r=!1,o=e.marks;if(o){let m=o.value;m instanceof ye?m.values.forEach(w=>{w===v.crop?s=!0:w===v.cross&&(r=!0)}):m===v.crop?s=!0:m===v.cross&&(r=!0)}let a=t.bleed;if(!s&&!r)return;let h=i.container,l=h.ownerDocument,c=We(Om,n),p=Math.max(0,t.bleedOffset-We(Bm,n)),d=t.bleedOffset-p,f=e["crop-marks-line-color"],g=f&&!J(f.value)?f.value:v.auto;s&&Object.keys(Sr).forEach(m=>{let w=Sr[m],y=Mm(l,w,c,g,d,a,p);h.appendChild(y)}),r&&Object.keys(un).forEach(m=>{let w=un[m],y=zm(l,w,c,g,d,p);h.appendChild(y)})}var Cr=(()=>{let e=["left","right","top","bottom","before","after","start","end","block-start","block-end","inline-start","inline-end","inside","outside"],t={width:!0,height:!0,"block-size":!0,"inline-size":!0,margin:!0,padding:!0,border:!0,outline:!0,"outline-width":!0,"outline-style":!0,"outline-color":!0,"border-radius":!0,"border-top-left-radius":!0,"border-top-right-radius":!0,"border-bottom-right-radius":!0,"border-bottom-left-radius":!0,"border-start-start-radius":!0,"border-start-end-radius":!0,"border-end-start-radius":!0,"border-end-end-radius":!0,"box-shadow":!0,"box-sizing":!0};return e.forEach(i=>{t[`margin-${i}`]=!0,t[`padding-${i}`]=!0,t[`border-${i}-width`]=!0,t[`border-${i}-style`]=!0,t[`border-${i}-color`]=!0}),t})(),co={"top-left-corner":{order:1,isInTopRow:!0,isInBottomRow:!1,isInLeftColumn:!0,isInRightColumn:!1,positionAlongVariableDimension:null},"top-left":{order:2,isInTopRow:!0,isInBottomRow:!1,isInLeftColumn:!1,isInRightColumn:!1,positionAlongVariableDimension:"start"},"top-center":{order:3,isInTopRow:!0,isInBottomRow:!1,isInLeftColumn:!1,isInRightColumn:!1,positionAlongVariableDimension:"center"},"top-right":{order:4,isInTopRow:!0,isInBottomRow:!1,isInLeftColumn:!1,isInRightColumn:!1,positionAlongVariableDimension:"end"},"top-right-corner":{order:5,isInTopRow:!0,isInBottomRow:!1,isInLeftColumn:!1,isInRightColumn:!0,positionAlongVariableDimension:null},"right-top":{order:6,isInTopRow:!1,isInBottomRow:!1,isInLeftColumn:!1,isInRightColumn:!0,positionAlongVariableDimension:"start"},"right-middle":{order:7,isInTopRow:!1,isInBottomRow:!1,isInLeftColumn:!1,isInRightColumn:!0,positionAlongVariableDimension:"center"},"right-bottom":{order:8,isInTopRow:!1,isInBottomRow:!1,isInLeftColumn:!1,isInRightColumn:!0,positionAlongVariableDimension:"end"},"bottom-right-corner":{order:9,isInTopRow:!1,isInBottomRow:!0,isInLeftColumn:!1,isInRightColumn:!0,positionAlongVariableDimension:null},"bottom-right":{order:10,isInTopRow:!1,isInBottomRow:!0,isInLeftColumn:!1,isInRightColumn:!1,positionAlongVariableDimension:"end"},"bottom-center":{order:11,isInTopRow:!1,isInBottomRow:!0,isInLeftColumn:!1,isInRightColumn:!1,positionAlongVariableDimension:"center"},"bottom-left":{order:12,isInTopRow:!1,isInBottomRow:!0,isInLeftColumn:!1,isInRightColumn:!1,positionAlongVariableDimension:"start"},"bottom-left-corner":{order:13,isInTopRow:!1,isInBottomRow:!0,isInLeftColumn:!0,isInRightColumn:!1,positionAlongVariableDimension:null},"left-bottom":{order:14,isInTopRow:!1,isInBottomRow:!1,isInLeftColumn:!0,isInRightColumn:!1,positionAlongVariableDimension:"end"},"left-middle":{order:15,isInTopRow:!1,isInBottomRow:!1,isInLeftColumn:!0,isInRightColumn:!1,positionAlongVariableDimension:"center"},"left-top":{order:16,isInTopRow:!1,isInBottomRow:!1,isInLeftColumn:!0,isInRightColumn:!1,positionAlongVariableDimension:"start"}},Vm=(()=>{let e=co;return Object.keys(e).sort((t,i)=>e[t].order-e[i].order)})(),po="vivliostyle-page-rule-master",cn="_marginBoxes",zu=class extends Tu{constructor(e,t,i){super(e,null,po,[],t,null,0),u(this,"pageMarginBoxes",{});let n=ts(i),s=new Um(this.scope,this,i,n);this.createPageMarginBoxes(i),this.applySpecified(i,n)}createPageMarginBoxes(e){let t=e[cn];t&&Vm.forEach(i=>{t[i]&&(this.pageMarginBoxes[i]=new $m(this.scope,this,i,e))})}applySpecified(e,t){this.specified.position=new q(v.relative,0),this.specified.width=new q(t.width,0),this.specified.height=new q(t.height,0);for(let i in e)!Cr[i]&&i!=="background-clip"&&(this.specified[i]=e[i])}createInstance(e){return new Qi(e,this)}},Um=class extends Sn{constructor(e,t,i,n){super(e,null,null,[],t),this.pageSize=n;let s=new Hm(this.scope,this);this.applySpecified(i)}applySpecified(e){this.specified["wrap-flow"]=new q(v.auto,0),this.specified["z-index"]=new q(new Qt(0),0),this.specified.position=new q(v.absolute,0),this.specified.overflow=new q(v.visible,0);for(let t in Cr)Cr.hasOwnProperty(t)&&(this.specified[t]=e[t])}createInstance(e){return new Wm(e,this)}},Hm=class extends Sn{constructor(e,t){super(e,null,null,[],t),this.specified["flow-from"]=new q(B("body"),0)}createInstance(e){return new Du(e,this)}},$m=class extends Sn{constructor(e,t,i,n){super(e,null,null,[],t),this.marginBoxName=i,this.applySpecified(n)}applySpecified(e){let t=e[cn][this.marginBoxName];for(let i in e){let n=e[i],s=t[i];(Ph[i]||s&&s.value===v.inherit)&&(this.specified[i]=n)}for(let i in t)if(Object.prototype.hasOwnProperty.call(t,i)){let n=t[i];n&&n.value!==G&&n.value!==v.inherit&&n.value!==v.unset&&n.value!==v.revert&&(this.specified[i]=n)}}createInstance(e){return new jm(e,this)}},Qi=class extends ho{constructor(e,t){super(e,t),u(this,"pageAreaDimension",null),u(this,"pageMarginBoxInstances",{})}applyCascadeAndInit(e,t){let i=this.cascaded;for(let n in t)if(Object.prototype.hasOwnProperty.call(t,n))switch(n){case"writing-mode":case"direction":i[n]=t[n]}super.applyCascadeAndInit(e,t)}initHorizontal(){let e=this.style;e.left=be,e["margin-left"]=be,e["border-left-width"]=be,e["padding-left"]=be,e["padding-right"]=be,e["border-right-width"]=be,e["margin-right"]=be,e.right=be}initVertical(){let e=this.style;e.top=be,e["margin-top"]=be,e["border-top-width"]=be,e["padding-top"]=be,e["padding-bottom"]=be,e["border-bottom-width"]=be,e["margin-bottom"]=be,e.bottom=be}setPageAreaDimension(e){this.pageAreaDimension=e;let t=this.style;t.width=new z(e.borderBoxWidth),t.height=new z(e.borderBoxHeight),t["padding-left"]=new z(e.marginLeft),t["padding-right"]=new z(e.marginRight),t["padding-top"]=new z(e.marginTop),t["padding-bottom"]=new z(e.marginBottom)}adjustPageLayout(e,t,i){let n=t.marginBoxes,s={start:this.pageAreaDimension.marginLeft,end:this.pageAreaDimension.marginRight,extent:this.pageAreaDimension.borderBoxWidth},r={start:this.pageAreaDimension.marginTop,end:this.pageAreaDimension.marginBottom,extent:this.pageAreaDimension.borderBoxHeight};this.sizeMarginBoxesAlongVariableDimension(n.top,!0,s,e,i),this.sizeMarginBoxesAlongVariableDimension(n.bottom,!0,s,e,i),this.sizeMarginBoxesAlongVariableDimension(n.left,!1,r,e,i),this.sizeMarginBoxesAlongVariableDimension(n.right,!1,r,e,i)}sizeMarginBoxesAlongVariableDimension(e,t,i,n,s){let r="start",o="center",a="end",h=this.pageBox.scope,l={},c={},p={};for(let x in e){let I=co[x];if(I){let L=e[x],M=this.pageMarginBoxInstances[x],H=new Vn(L,M.style,t,h,s);l[I.positionAlongVariableDimension]=L,c[I.positionAlongVariableDimension]=M,p[I.positionAlongVariableDimension]=H}}let d={start:i.start.evaluate(n),end:i.end.evaluate(n),extent:i.extent.evaluate(n)},f=this.getSizesOfMarginBoxesAlongVariableDimension(p,d.extent),g=!1,m={};Object.keys(l).forEach(x=>{let I=x,L=he(h,c[I].style[t?"max-width":"max-height"],i.extent);if(L){let M=L.evaluate(n);if(f[I]>M){let H=p[I]=new Ba(l[I],c[I].style,t,h,s,M);m[I]=H.getOuterSize(),g=!0}}}),g&&(f=this.getSizesOfMarginBoxesAlongVariableDimension(p,d.extent),g=!1,[r,o,a].forEach(x=>{var I;f[x]=(I=m[x])!=null?I:f[x]}));let w={};Object.keys(l).forEach(x=>{let I=x,L=he(h,c[I].style[t?"min-width":"min-height"],i.extent);if(L){let M=L.evaluate(n);if(f[I]<M){let H=p[I]=new Ba(l[I],c[I].style,t,h,s,M);w[I]=H.getOuterSize(),g=!0}}}),g&&(f=this.getSizesOfMarginBoxesAlongVariableDimension(p,d.extent),[r,o,a].forEach(x=>{f[x]=w[x]||f[x]}));let y=d.start+d.extent,b=d.start+(d.start+d.extent);[r,o,a].forEach(x=>{let I=f[x];if(I!=null){let L=l[x],M=0;switch(x){case r:M=t?L.left:L.top;break;case o:M=(b-I)/2;break;case a:M=y-I;break}t?L.setHorizontalPosition(M,I-L.getInsetLeft()-L.getInsetRight()):L.setVerticalPosition(M,I-L.getInsetTop()-L.getInsetBottom())}})}getSizesOfMarginBoxesAlongVariableDimension(e,t){var i;let n=e.start,s=e.center,r=e.end,o={};if(s){let a=[n,r],h=new Gm(a),l=this.distributeAutoMarginBoxSizes(s,h,t);l.xSize!=null&&(o.center=l.xSize);let c=(i=l.xSize)!=null?i:s.getOuterSize(),p=Math.max((t-c)/2,0);n&&(o.start=n.hasAutoSize()?p:n.getOuterSize()),r&&(o.end=r.hasAutoSize()?p:r.getOuterSize())}else{let a=this.distributeAutoMarginBoxSizes(n,r,t);a.xSize!=null&&(o.start=a.xSize),a.ySize!=null&&(o.end=a.ySize)}return o}distributeAutoMarginBoxSizes(e,t,i){let n={xSize:null,ySize:null};if(e instanceof Vn&&e.minMaxFitContent&&(n.xSize=e.getOuterSize()),t instanceof Vn&&t.minMaxFitContent&&(n.ySize=t.getOuterSize()),e&&t)if(e.hasAutoSize()&&t.hasAutoSize()){let s=e.getOuterMaxContentSize(),r=t.getOuterMaxContentSize();if(s>0&&r>0){let o=s+r;if(o<i)n.xSize=i*s/o;else{let a=e.getOuterMinContentSize(),h=t.getOuterMinContentSize(),l=a+h;l<i?n.xSize=a+(i-l)*(s-a)/(o-l):l>0&&(n.xSize=i*a/l)}n.xSize>0&&(n.ySize=i-n.xSize)}else s>0?n.xSize=i:r>0&&(n.ySize=i)}else e.hasAutoSize()?n.xSize=Math.max(i-t.getOuterSize(),0):t.hasAutoSize()&&(n.ySize=Math.max(i-e.getOuterSize(),0));else e?e.hasAutoSize()&&(n.xSize=i):t&&t.hasAutoSize()&&(n.ySize=i);return n}prepareContainer(e,t,i,n,s){t.element.setAttribute("data-vivliostyle-page-box",!0),super.prepareContainer(e,t,i,n,s)}},Vn=class{constructor(e,t,i,n,s){this.container=e,this.isHorizontal=i,this.clientLayout=s,u(this,"hasAutoSize_"),u(this,"size",null),u(this,"minMaxFitContent",null);let r=t[i?"width":"height"];if(this.hasAutoSize_=!r||r===v.auto||J(r),this.minMaxFitContent=r instanceof nt&&(r.name==="min-content"||r.name==="max-content"||r.name==="fit-content")?r.name:null,this.minMaxFitContent){let o=this.getSize();if(this.isHorizontal){let a=o[this.minMaxFitContent==="min-content"?"min-content width":this.minMaxFitContent==="max-content"?"max-content width":"fit-content width"];this.container.setHorizontalPosition(this.container.left,a)}else{let a=o[this.minMaxFitContent==="min-content"?"min-content height":this.minMaxFitContent==="max-content"?"max-content height":"fit-content height"];this.container.setVerticalPosition(this.container.top,a)}}}hasAutoSize(){return this.hasAutoSize_}getSize(){if(!this.size){let e=this.isHorizontal?["max-content width","min-content width","fit-content width"]:["max-content height","min-content height","fit-content height"];this.size=Hr(this.clientLayout,this.container.element,e)}return this.size}getOuterMaxContentSize(){let e=this.getSize();return this.isHorizontal?this.container.getInsetLeft()+e["max-content width"]+this.container.getInsetRight():this.container.getInsetTop()+e["max-content height"]+this.container.getInsetBottom()}getOuterMinContentSize(){let e=this.getSize();return this.isHorizontal?this.container.getInsetLeft()+e["min-content width"]+this.container.getInsetRight():this.container.getInsetTop()+e["min-content height"]+this.container.getInsetBottom()}getOuterSize(){return this.isHorizontal?this.container.getInsetLeft()+this.container.width+this.container.getInsetRight():this.container.getInsetTop()+this.container.height+this.container.getInsetBottom()}},Gm=class{constructor(e){this.params=e}hasAutoSize(){return this.params.some(e=>{var t;return(t=e?.hasAutoSize())!=null?t:!1})}getOuterMaxContentSize(){let e=this.params.map(t=>{var i;return(i=t?.getOuterMaxContentSize())!=null?i:0});return Math.max.apply(null,e)*e.length}getOuterMinContentSize(){let e=this.params.map(t=>{var i;return(i=t?.getOuterMinContentSize())!=null?i:0});return Math.max.apply(null,e)*e.length}getOuterSize(){let e=this.params.map(t=>{var i;return(i=t?.getOuterSize())!=null?i:0});return Math.max.apply(null,e)*e.length}},Ba=class extends Vn{constructor(e,t,i,n,s,r){super(e,t,i,n,s),u(this,"fixedSize"),this.fixedSize=r}hasAutoSize(){return!1}getOuterMaxContentSize(){return this.getOuterSize()}getOuterMinContentSize(){return this.getOuterSize()}getOuterSize(){return this.isHorizontal?this.container.getInsetLeft()+this.fixedSize+this.container.getInsetRight():this.container.getInsetTop()+this.fixedSize+this.container.getInsetBottom()}},Wm=class extends Ci{constructor(e,t){super(e,t),u(this,"borderBoxWidth",null),u(this,"borderBoxHeight",null),u(this,"contentBoxWidth",null),u(this,"contentBoxHeight",null),u(this,"marginTop",null),u(this,"marginRight",null),u(this,"marginBottom",null),u(this,"marginLeft",null)}applyCascadeAndInit(e,t){for(let i in t)i.match(/^background-/)&&(this.cascaded[i]=t[i]);super.applyCascadeAndInit(e,t),this.parentInstance.setPageAreaDimension({borderBoxWidth:this.borderBoxWidth,borderBoxHeight:this.borderBoxHeight,marginTop:this.marginTop,marginRight:this.marginRight,marginBottom:this.marginBottom,marginLeft:this.marginLeft})}initHorizontal(){let e=this.resolvePageBoxDimensions({start:"left",end:"right",extent:"width"});this.borderBoxWidth=e.borderBoxExtent,this.contentBoxWidth=e.contentBoxExtent,this.marginLeft=e.marginStart,this.marginRight=e.marginEnd}initVertical(){let e=this.resolvePageBoxDimensions({start:"top",end:"bottom",extent:"height"});this.borderBoxHeight=e.borderBoxExtent,this.contentBoxHeight=e.contentBoxExtent,this.marginTop=e.marginStart,this.marginBottom=e.marginEnd}resolvePageBoxDimensions(e){let t=this.style,i=this.pageBox.pageSize,n=this.pageBox.scope,s=e.start,r=e.end,o=e.extent,a=i[o].toExpr(n,null),h=he(n,t[o],a),l=he(n,t[`margin-${s}`],a),c=he(n,t[`margin-${r}`],a),p=it(n,t[`padding-${s}`],a),d=it(n,t[`padding-${r}`],a),f=bt(n,t[`border-${s}-width`],t[`border-${s}-style`],a),g=bt(n,t[`border-${r}-width`],t[`border-${r}-style`],a),m=j(n,j(n,f,p),j(n,g,d)),w,y,b;return h?(this.borderBoxSizing?(y=h,b=ae(n,y,m)):(b=h,y=j(n,b,m)),w=ae(n,a,y),!l&&!c?(l=On(n,w,new Oe(n,.5)),c=l):l?c=ae(n,w,l):l=ae(n,w,c)):(l||(l=n.zero),c||(c=n.zero),w=j(n,l,c),y=ae(n,a,w),b=ae(n,y,m),h=this.borderBoxSizing?y:b),t[s]=new z(l),t[r]=new z(c),t[`margin-${s}`]=be,t[`margin-${r}`]=be,t[`border-${s}-width`]=new z(f),t[`border-${r}-width`]=new z(g),t[`padding-${s}`]=new z(p),t[`padding-${r}`]=new z(d),t[o]=new z(h),t[`max-${o}`]=new z(h),{borderBoxExtent:y,contentBoxExtent:b,marginStart:l,marginEnd:c}}prepareContainer(e,t,i,n,s){t.element.setAttribute("data-vivliostyle-page-area-container",!0),super.prepareContainer(e,t,i,n,s)}},Du=class extends Ci{constructor(e,t){super(e,t)}applyCascadeAndInit(e,t){for(let i in t)i.match(/^column.*$/)&&(this.cascaded[i]=t[i]);super.applyCascadeAndInit(e,{})}initHorizontal(){let e=this.style,t=this.parentInstance.style,i=this.pageBox.scope;e.left=t["padding-left"],e.width=new z(this.parentInstance.contentBoxWidth),e["margin-left"]=new z(new li(i,t.left.toExpr(i,null))),e["margin-right"]=new z(new li(i,t.right.toExpr(i,null))),e["border-left-width"]=t.left,e["border-right-width"]=t.right,e["border-left-style"]=v.solid,e["border-right-style"]=v.solid,e["border-left-color"]=v.transparent,e["border-right-color"]=v.transparent}initVertical(){let e=this.style,t=this.parentInstance.style,i=this.pageBox.scope;e.top=t["padding-top"],e.height=new z(this.parentInstance.contentBoxHeight),e["margin-top"]=new z(new li(i,t.top.toExpr(i,null))),e["margin-bottom"]=new z(new li(i,t.bottom.toExpr(i,null))),e["border-top-width"]=t.top,e["border-bottom-width"]=t.bottom,e["border-top-style"]=v.solid,e["border-bottom-style"]=v.solid,e["border-top-color"]=v.transparent,e["border-bottom-color"]=v.transparent}prepareContainer(e,t,i,n,s){t.element.setAttribute("data-vivliostyle-page-area",!0),i.pageAreaElement=t.element,super.prepareContainer(e,t,i,n,s),e.pageAreaWidth=parseFloat(i.pageAreaElement.style.width),e.pageAreaHeight=parseFloat(i.pageAreaElement.style.height)}},jm=class extends Ci{constructor(e,t){super(e,t),u(this,"boxInfo"),u(this,"suppressEmptyBoxGeneration",!0);let i=t.marginBoxName;this.boxInfo=co[i];let n=e;n.pageMarginBoxInstances[i]=this}prepareContainer(e,t,i,n,s){t.element.setAttribute("data-vivliostyle-page-margin-box",this.pageBox.marginBoxName),this.applyVerticalAlign(e,t.element),super.prepareContainer(e,t,i,n,s)}applyVerticalAlign(e,t){N(t,"display","flex"),N(t,"flex-flow",this.vertical?this.rtl?"row-reverse":"row":"column");let i=this.getProp(e,"vertical-align"),n=null;i===B("middle")?n="center":i===B("top")?n="flex-start":i===B("bottom")&&(n="flex-end"),n&&N(t,"justify-content",n);let s=this.getProp(e,"content");if(this.vertical||s instanceof dt||s instanceof z&&s.expr instanceof De&&s.expr.str.startsWith("running-element-")){let r="center";(this.boxInfo.isInTopRow||this.boxInfo.isInBottomRow)&&(this.boxInfo.isInLeftColumn||this.boxInfo.positionAlongVariableDimension==="end"?r=this.vertical||this.rtl?"start":"end":(this.boxInfo.isInRightColumn||this.boxInfo.positionAlongVariableDimension==="start")&&(r=this.vertical||this.rtl?"end":"start")),N(t,"align-items",r)}}positionAlongVariableDimension(e,t){let i=this.style,n=this.pageBox.scope,s=e.start,r=e.end,o=e.extent,a=s==="left",h=a?t.borderBoxWidth:t.borderBoxHeight,l=he(n,i[o],h),c=a?t.marginLeft:t.marginTop;if(this.boxInfo.positionAlongVariableDimension==="start")i[s]=new z(c);else if(l){let p=it(n,i[`margin-${s}`],h),d=it(n,i[`margin-${r}`],h),f=it(n,i[`padding-${s}`],h),g=it(n,i[`padding-${r}`],h),m=bt(n,i[`border-${s}-width`],i[`border-${s}-style`],h),w=bt(n,i[`border-${r}-width`],i[`border-${r}-style`],h),y=j(n,l,j(n,this.borderBoxSizing?n.zero:j(n,j(n,f,g),j(n,m,w)),j(n,p,d)));switch(this.boxInfo.positionAlongVariableDimension){case"center":i[s]=new z(j(n,c,Hs(n,ae(n,h,y),new Oe(n,2))));break;case"end":i[s]=new z(ae(n,j(n,c,h),y));break}}}positionAndSizeAlongFixedDimension(e,t){let i=this.style,n=this.pageBox.scope,s=this.borderBoxSizing,r=e.inside,o=e.outside,a=e.extent,h=t[`margin${o.charAt(0).toUpperCase()}${o.substring(1)}`],l=Ta(n,i[`margin-${r}`],h),c=Ta(n,i[`margin-${o}`],h),p=it(n,i[`padding-${r}`],h),d=it(n,i[`padding-${o}`],h),f=bt(n,i[`border-${r}-width`],i[`border-${r}-style`],h),g=bt(n,i[`border-${o}-width`],i[`border-${o}-style`],h),m=he(n,i[a],h),w=null;function y(b){if(w)return w;w={extent:m?m.evaluate(b):null,marginInside:l?l.evaluate(b):null,marginOutside:c?c.evaluate(b):null};let x=h.evaluate(b),I=0;return s||[f,p,d,g].forEach(L=>{L&&(I+=L.evaluate(b))}),(w.marginInside===null||w.marginOutside===null)&&I+w.extent+w.marginInside+w.marginOutside>x&&(w.marginInside===null&&(w.marginInside=0),w.marginOutside===null&&(w.marginOutside=0)),w.extent!==null&&w.marginInside!==null&&w.marginOutside!==null&&(w.marginOutside=null),w.extent===null?(w.extent=x-I-w.marginInside-w.marginOutside,w.marginInside===null&&(w.marginInside=0),w.marginOutside===null&&(w.marginOutside=0)):typeof w.extent=="number"&&(w.marginInside===null&&typeof w.marginOutside=="number"?w.marginInside=x-I-w.extent-w.marginOutside:typeof w.marginInside=="number"&&w.marginOutside===null?w.marginOutside=x-I-w.extent-w.marginInside:w.marginInside=w.marginOutside=(x-I-w.extent)/2),w}i[a]=new z(new De(n,function(){let b=y(this).extent;return b===null?"auto":b},a)),i[`margin-${r}`]=new z(new De(n,function(){let b=y(this).marginInside;return b===null?"auto":b},`margin-${r}`)),i[`margin-${o}`]=new z(new De(n,function(){let b=y(this).marginOutside;return b===null?"auto":b},`margin-${o}`)),r==="left"?i.left=new z(j(n,t.marginLeft,t.borderBoxWidth)):r==="top"&&(i.top=new z(j(n,t.marginTop,t.borderBoxHeight)))}initHorizontal(){let e=this.parentInstance.pageAreaDimension;this.boxInfo.isInLeftColumn?this.positionAndSizeAlongFixedDimension({inside:"right",outside:"left",extent:"width"},e):this.boxInfo.isInRightColumn?this.positionAndSizeAlongFixedDimension({inside:"left",outside:"right",extent:"width"},e):this.positionAlongVariableDimension({start:"left",end:"right",extent:"width"},e)}initVertical(){let e=this.parentInstance.pageAreaDimension;this.boxInfo.isInTopRow?this.positionAndSizeAlongFixedDimension({inside:"bottom",outside:"top",extent:"height"},e):this.boxInfo.isInBottomRow?this.positionAndSizeAlongFixedDimension({inside:"top",outside:"bottom",extent:"height"},e):this.positionAlongVariableDimension({start:"top",end:"bottom",extent:"height"},e)}finishContainer(e,t,i,n,s,r,o){super.finishContainer(e,t,i,n,s,r,o);let a=i.marginBoxes,h=this.pageBox.marginBoxName,l=this.boxInfo;!l.isInLeftColumn&&!l.isInRightColumn?l.isInTopRow?a.top[h]=t:l.isInBottomRow&&(a.bottom[h]=t):!l.isInTopRow&&!l.isInBottomRow&&(l.isInLeftColumn?a.left[h]=t:l.isInRightColumn&&(a.right[h]=t));let c=this.parentInstance.pageAreaDimension,p=this.getProp(e,"width"),d=p instanceof nt&&(p.name==="min-content"||p.name==="max-content"||p.name==="fit-content")?p.name:null,f=this.getPropAsNumber(e,"min-width"),g=this.getPropAsNumber(e,"max-width");if(d||f||g){d&&N(t.element,"width",d),f&&N(t.element,"min-width",`${f}px`),g&&N(t.element,"max-width",`${g}px`);let x=this.getProp(e,"margin-left"),I=this.getProp(e,"margin-right");if(l.isInLeftColumn){let L=c.borderBoxWidth.evaluate(e)+c.marginRight.evaluate(e);N(t.element,"right",`${L}px`),(x===v.auto||I!==v.auto)&&N(t.element,"margin-left","auto"),I===v.auto&&N(t.element,"margin-right","auto")}else l.isInRightColumn&&(N(t.element,"right","0"),(I===v.auto||x!==v.auto)&&N(t.element,"margin-right","auto"),x===v.auto&&N(t.element,"margin-left","auto"))}let m=this.getProp(e,"height"),w=m instanceof nt&&(m.name==="min-content"||m.name==="max-content"||m.name==="fit-content")?m.name:null,y=this.getPropAsNumber(e,"min-height"),b=this.getPropAsNumber(e,"max-height");if(w||y||b){w&&N(t.element,"height",w),y&&N(t.element,"min-height",`${y}px`),b&&N(t.element,"max-height",`${b}px`);let x=this.getProp(e,"margin-top"),I=this.getProp(e,"margin-bottom");if(l.isInTopRow){let L=c.borderBoxHeight.evaluate(e)+c.marginBottom.evaluate(e);N(t.element,"bottom",`${L}px`),(x===v.auto||I!==v.auto)&&N(t.element,"margin-top","auto"),I===v.auto&&N(t.element,"margin-bottom","auto")}else l.isInBottomRow&&(N(t.element,"bottom","0"),(I===v.auto||x!==v.auto)&&N(t.element,"margin-bottom","auto"),x===v.auto&&N(t.element,"margin-top","auto"))}}},Xm=class{constructor(e,t,i,n,s){this.cascadeInstance=e,this.pageScope=t,this.rootPageBoxInstance=i,this.context=n,this.docElementStyle=s,u(this,"pageMasterCache",{}),this.definePageProgression()}definePageProgression(){let e=this.pageScope,t=this.context,i=t.isVersoFirstPage,n=new Re(e,"page-number"),s=new Br(e,new yl(e,n,new Oe(e,2)),i?e.one:e.zero);e.defineName("recto-page",new Bt(e,s)),e.defineName("verso-page",s),(t.pageProgression||_u(this.docElementStyle))==="ltr"?(e.defineName("left-page",s),e.defineName("right-page",new Bt(e,s))):(e.defineName("left-page",new Bt(e,s)),e.defineName("right-page",s))}getCascadedPageStyle(e){let t={};return this.cascadeInstance.pushRule([],e,t),this.cascadeInstance.popRule(),t}getPageRulePageMaster(e,t){let i=e.pageBox;if(Object.keys(t).length===0)return i.resetScope(),e;let n=this.makeCacheKey(t,i),s=this.pageMasterCache[n];return s||(i.pseudoName===lo?s=this.generatePageRuleMaster(t):s=this.generateCascadedPageMaster(t,i),this.pageMasterCache[n]=s),s.pageBox.resetScope(),s}makeCacheKey(e,t){var i;let n=this.makeCascadeValueObjectKey(e),s=((i=this.context.currentLayoutPosition)==null?void 0:i.page)%2;return`${t.key}^${n}^${s}`}makeCascadeValueObjectKey(e){let t=[];for(let i in e)if(Object.prototype.hasOwnProperty.call(e,i)){let n=e[i],s;n instanceof q?s=`${n.value}`:s=this.makeCascadeValueObjectKey(n),t.push(i+s+(n.priority||""))}return t.sort().join("^")}generatePageRuleMaster(e){let t=new zu(this.pageScope,this.rootPageBoxInstance.pageBox,e).createInstance(this.rootPageBoxInstance);return t.applyCascadeAndInit(this.cascadeInstance,this.docElementStyle),t.resolveAutoSizing(this.context),t}generateCascadedPageMaster(e,t){let i=t.clone({pseudoName:po}),n=i.specified,s=e.size;if(s&&!J(s.value)){let o=ts(e),a=s.priority;Tt(n,"width",new q(o.width,a),this.context),Tt(n,"height",new q(o.height,a),this.context)}["counter-reset","counter-increment"].forEach(o=>{n[o]&&(e[o]=n[o])});let r=i.createInstance(this.rootPageBoxInstance);return r.applyCascadeAndInit(this.cascadeInstance,this.docElementStyle),r.resolveAutoSizing(this.context),r}},qm=class extends fe{constructor(e){super(),this.pageType=e}apply(e){e.currentPageType===this.pageType&&this.chained.apply(e)}getPriority(){return 3}makePrimary(e){return this.chained&&e.insertInTable(e.pagetypes,this.pageType,this.chained),!0}},Ym=class extends fe{constructor(e){super(),this.scope=e}apply(e){new Re(this.scope,"page-number").evaluate(e.context)===1&&this.chained.apply(e)}getPriority(){return 2}},Km=class extends fe{constructor(e){super(),this.scope=e}apply(e){new Re(this.scope,"blank-page").evaluate(e.context)&&this.chained.apply(e)}getPriority(){return 2}},Zm=class extends fe{constructor(e){super(),this.scope=e}apply(e){new Re(this.scope,"left-page").evaluate(e.context)&&this.chained.apply(e)}getPriority(){return 1}},Jm=class extends fe{constructor(e){super(),this.scope=e}apply(e){new Re(this.scope,"right-page").evaluate(e.context)&&this.chained.apply(e)}getPriority(){return 1}},Qm=class extends fe{constructor(e){super(),this.scope=e}apply(e){new Re(this.scope,"recto-page").evaluate(e.context)&&this.chained.apply(e)}getPriority(){return 1}},ew=class extends fe{constructor(e){super(),this.scope=e}apply(e){new Re(this.scope,"verso-page").evaluate(e.context)&&this.chained.apply(e)}getPriority(){return 1}},tw=class extends xn{constructor(e,t,i){super(t,i),this.scope=e,this.a=t,this.b=i}apply(e){let t=e.context,i=t.layoutPositionAtPageStart.page;t.blankPageAtStart&&i--,i&&this.matchANPlusB(i)&&this.chained.apply(e)}getPriority(){return 2}},iw=class extends Zr{constructor(e,t){super(e,t,null,null,null)}apply(e){nw(e.context,e.currentStyle,this.style,this.specificity,e)}};function nw(e,t,i,n,s){Zn(e,t,i,n,null,null,null);let r=i[cn];if(r){let o=cs(t,cn);for(let a in r)if(r.hasOwnProperty(a)){let h=o[a];h||(h={},o[a]=h),Zn(e,h,r[a],n,null,null,null)}}}var sw=class extends rn{constructor(e,t,i,n,s){super(e,t,i?.condition,i,null,n,!1),this.pageProps=s,u(this,"currentPageSelectors",[]),u(this,"currentNamedPageSelector",""),u(this,"currentPseudoPageClassSelectors",[])}startPageRule(){this.startSelectorRule()}tagSelector(e,t){this.currentNamedPageSelector=t,t&&(this.chain.push(new qm(t)),this.specificity+=65536)}pseudoclassSelector(e,t){if(e=e.toLowerCase(),t)switch(e){case"nth":{let[i,n]=t;this.currentPseudoPageClassSelectors.push(`:${e}(${i}n${n<0?n:"+"+n})`),this.chain.push(new tw(this.scope,i,n)),this.specificity+=256}break;default:this.reportAndSkip(`E_INVALID_PAGE_SELECTOR :${e}(${t.join("")})`);break}else switch(this.currentPseudoPageClassSelectors.push(`:${e}`),e){case"first":this.chain.push(new Ym(this.scope)),this.specificity+=256;break;case"blank":this.chain.push(new Km(this.scope)),this.specificity+=256;break;case"left":this.chain.push(new Zm(this.scope)),this.specificity+=1;break;case"right":this.chain.push(new Jm(this.scope)),this.specificity+=1;break;case"recto":this.chain.push(new Qm(this.scope)),this.specificity+=1;break;case"verso":this.chain.push(new ew(this.scope)),this.specificity+=1;break;default:this.reportAndSkip(`E_INVALID_PAGE_SELECTOR :${e}`);break}}finishSelector(){let e;!this.currentNamedPageSelector&&!this.currentPseudoPageClassSelectors.length?e=null:e=[this.currentNamedPageSelector].concat(this.currentPseudoPageClassSelectors.sort()),this.currentPageSelectors.push({selectors:e,specificity:this.specificity}),this.currentNamedPageSelector="",this.currentPseudoPageClassSelectors=[]}nextSelector(){this.finishSelector(),super.nextSelector()}startRuleBody(){this.finishSelector(),super.startRuleBody()}simpleProperty(e,t,i){if((e==="bleed"||e==="marks")&&!this.currentPageSelectors.some(r=>r.selectors===null))return;super.simpleProperty(e,t,i);let n=Ue(this.elementStyle,e),s=this.pageProps;if(e==="bleed"||e==="marks")s[""]||(s[""]={}),Object.keys(s).forEach(r=>{Kt(s[r],e,n)});else if(e==="size"){let r=s[""];this.currentPageSelectors.forEach(o=>{let a=new q(n.value,n.priority+o.specificity),h=o.selectors?o.selectors.join(""):"",l=s[h];l?Tt(l,e,a):(l=s[h]={},Kt(l,e,a),r&&["bleed","marks"].forEach(c=>{r[c]&&Kt(l,c,r[c])}))})}}insertNonPrimary(e){this.cascade.insertInTable(this.cascade.pagetypes,"*",e)}makeApplyRuleAction(e){return new iw(this.elementStyle,e)}startPageMarginBoxRule(e){let t=cs(this.elementStyle,cn),i=t[e];i||(i={},t[e]=i);let n=new rw(this.scope,this.owner,this.validatorSet,i);this.owner.pushHandler(n)}},rw=class extends bn{constructor(e,t,i,n){super(e,t,!1),this.validatorSet=i,this.boxStyle=n}property(e,t,i){this.validatorSet.validatePropertyAndHandleShorthand(e,t,i,this)}invalidPropertyValue(e,t){this.report(`E_INVALID_PROPERTY_VALUE ${e}: ${t.toString()}`)}unknownProperty(e,t){this.report(`E_INVALID_PROPERTY ${e}: ${t.toString()}`)}simpleProperty(e,t,i){let n=i?this.getImportantSpecificity():this.getBaseSpecificity(),s=new q(t,n);Kt(this.boxStyle,e,s)}},vt=!0;function ow(e){vt=e}var Zt=[];function _a(e,t){return e===t||(e.src||t.src?e.src===t.src:e.textContent===t.textContent)}function Vu(e){let t=Array.from(e.querySelectorAll("body > :not(script):not(link):not(style) ~ script"));return Array.from(e.querySelectorAll("head > script, body > script")).filter(i=>!t.includes(i))}function fo(e,t,i){var n,s;if(!vt||!(i!=null&&i.inHead)&&!(i!=null&&i.atEnd)&&Vu(e.ownerDocument).includes(e))return k(!1);let r=e.textContent,o=e.src,a=e.type==="module",h=(a||o)&&e.async,l=a&&!h||o&&e.defer,c=!(i!=null&&i.atEnd)&&(i?.forceDefer||l||h);if(Uu(t)||(t.onload=null),c)return Zt.some(d=>_a(d,e))||Zt.push(e),k(!0);if(o.includes("/mathjax")){let d=t.document.head.querySelector("script[src*='MathJax.js']:not([data-vivliostyle-scripting])");if(d){if(o.includes("/mathjax@3"))t.document.head.removeChild(d),(s=(n=t.MathJax)==null?void 0:n.version)!=null&&s.startsWith("2.")&&delete t.MathJax;else if(o.includes("/MathJax.js"))return k(!0)}}for(let d of t.document.head.getElementsByTagName("script"))d.hasAttribute("data-vivliostyle-scripting")&&_a(d,e)&&t.document.head.removeChild(d);let p=t.document.createElement("script");p.textContent=r,o&&(p.src=o),p.async=h,p.defer=l,p.setAttribute("data-vivliostyle-scripting","true");for(let d of e.attributes)["src","async","defer"].includes(d.name)||p.setAttribute(d.name,d.value);if(V.debug("script:",o),o){let d=si(p);return t.document.head.appendChild(p),ls([d])}else return t.document.head.appendChild(p),k(!0)}function aw(e,t){var i;let n={},s=o=>{var a;let h=(a=o["font-family"])==null?void 0:a.value;if(h)if(h.values)for(let c of h.values)n[c.stringValue()]=!0;else n[h.stringValue()]=!0;let l=o._marginBoxes;if(l)for(let c of Object.values(l))s(c)},r=o=>{if(o instanceof Zr)s(o.style);else if(o instanceof Ii||Array.isArray(o))for(let a of Object.values(o))r(a)};for(let o of Object.values(t.cascade.code))for(let a of Object.values(o??{}))r(a);for(let o of e.querySelectorAll("[style]"))(i=o.style)!=null&&i.fontFamily&&(n[o.style.fontFamily]=!0);return Object.keys(n).join(",")}function lw(e,t,i){var n;let s=(n=t.document.querySelector("[data-vivliostyle-textcontent]"))!=null?n:t.document.createElement("div");return s.style.position="fixed",s.style.fontSize="0",s.setAttribute("data-vivliostyle-textcontent","true"),s.setAttribute("aria-hidden","true"),s.style.fontFamily=aw(e,i),s.textContent=e.documentElement.textContent,t.document.body.appendChild(s),s}function hw(e,t,i){if(!vt)return k(!1);let n=Vu(e);if(n.length===0)return k(!1);let s=n.some(c=>!(c.async||c.defer||c.type==="module")),r=s?lw(e,t,i):null,o=t.document.fonts,a=t.$,h=!1,l=F("loadScripts");return l.loop(()=>{if(n.length===0)return s?l.sleep(20).thenAsync(()=>{var p,d;return o.status==="loading"||t.document.documentElement.classList.contains("wf-loading")||(p=t.FontJSON)!=null&&p.Font&&(d=t.ret)!=null&&d.readyState&&t.ret.readyState<4?k(!0):k(!1)}):k(!1);let c=n.shift();return fo(c,t,{inHead:!0,forceDefer:h}).thenAsync(()=>(!h&&t.$!==a&&(Zt.push(c),h=!0),n.length===0&&s&&(V.debug("dispatchEvent: DOMContentLoaded (document)"),t.document.dispatchEvent(new Event("DOMContentLoaded"))),k(!0)))}).then(()=>{r&&r.remove(),l.finish(!0)}),l.result()}function uw(e){if(!vt)return k(!1);let t=F("loadScripts");return t.loop(()=>Zt.length===0?k(!1):fo(Zt.shift(),e,{atEnd:!0}).thenReturn(Zt.length>0)).then(()=>{V.debug("dispatchEvent: DOMContentLoaded (window)"),e.dispatchEvent(new Event("DOMContentLoaded")),V.debug("dispatchEvent: load (window)"),e.dispatchEvent(new Event("load")),t.finish(!0)}),t.result()}function Uu(e){return vt?Zt.length>0||!!e.document.head.querySelector("script[data-vivliostyle-scripting]"):!1}var cw=(e,t,i)=>e.replace(/[uU][rR][lL]\(\s*"((\\([^0-9a-fA-F]+|[0-9a-fA-F]+\s*)|[^"\r\n])+)"/gm,(n,s)=>`url("${i.transformURL(s,t)}"`).replace(/[uU][rR][lL]\(\s*'((\\([^0-9a-fA-F]+|[0-9a-fA-F]+\s*)|[^'\r\n])+)'/gm,(n,s)=>`url('${i.transformURL(s,t)}'`).replace(/[uU][rR][lL]\(\s*((\\([^0-9a-fA-F]+|[0-9a-fA-F]+\s*)|[^"'\r\n\)\s])+)/gm,(n,s)=>`url(${i.transformURL(s,t)}`),dw={};function pw(e){e.addEventListener("load",()=>{e.contentWindow.navigator.epubReadingSystem={name:"adapt",version:"0.1",layoutStyle:"paginated",hasFeature:function(t,i){switch(t){case"mouse-events":return!0}return!1}}},!1)}var Hu=class Er extends Ar{constructor(t,i,n,s,r,o,a,h,l,c,p,d,f){super(),this.flowName=t,this.context=i,this.viewport=n,this.styler=s,this.regionIds=r,this.xmldoc=o,this.docFaces=a,this.footnoteStyle=h,this.stylerProducer=l,this.page=c,this.customRenderer=p,this.fallbackMap=d,this.documentURLTransformer=f,u(this,"document"),u(this,"exprContentListener"),u(this,"nodeContext",null),u(this,"viewRoot",null),u(this,"isFootnote",!1),u(this,"sourceNode",null),u(this,"offsetInNode",0),u(this,"viewNode",null),this.document=n.document,this.exprContentListener=s.counterListener.getExprContentListener()}clone(){return new Er(this.flowName,this.context,this.viewport,this.styler,this.regionIds,this.xmldoc,this.docFaces,this.footnoteStyle,this.stylerProducer,this.page,this.customRenderer,this.fallbackMap,this.documentURLTransformer)}createPseudoelementShadow(t,i,n,s,r,o,a,h){let l=this.getPseudoMap(n,this.regionIds,this.isFootnote,this.nodeContext,o);if(!l)return h;let c=[],p=_n.createElementNS("http://www.pyroxy.com/ns/shadow","root"),d=p;for(let g of hg){let m;if(g){if(!l[g]||g=="footnote-marker"&&!(i&&this.isFootnote))continue;if(g.match(/^first-/)){let w=s.display;if(!w||w===v.inline)continue;let y=t.firstElementChild;if(y&&Ve(y.previousSibling)){let b=r.getStyle(y,!1);if(b){let x=Ue(b,"display");if(x!=null&&x.value&&x.value!==v.inline)continue}}}if(g==="before"||g==="after"){let w=l[g].content;if(!w||!Vt(w.value))continue}c.push(g),m=_n.createElementNS("http://www.w3.org/1999/xhtml","span"),wr(m,g)}else m=_n.createElementNS("http://www.pyroxy.com/ns/shadow","content");d.appendChild(m),g.match(/^first-/)&&(d=m)}if(!c.length)return h;let f=new ba(t,n,r,o,this.exprContentListener);return new Js(t,p,null,a,h,ot.ROOTLESS,f)}getPseudoMap(t,i,n,s,r){let o=pt(t,"_pseudos");if(!o)return null;let a={};for(let h in o){let l=a[h]={};Ki(l,o[h],r),mr(l,r,o[h]),qh(o[h],i,n,(c,p)=>{Ki(l,p,r),Gh(p,d=>{Ki(l,d,r)})})}return a}createRefShadow(t,i,n,s,r){let o=F("createRefShadow");return this.xmldoc.store.load(t).then(a=>{let h=a;if(h){let l=h.getElement(t);if(l){let c=this.stylerProducer.getStylerForDoc(h);r=new Js(n,l,h,s,r,i,c)}}o.finish(r)}),o.result()}createShadows(t,i,n,s,r,o,a){let h=F("createShadows"),l=null,c=s.template,p;if(c instanceof dt||c===v.footnote){let d=c instanceof dt?c.url:ke("user-agent.xml#footnote",Jt);p=this.createRefShadow(d,ot.ROOTLESS,t,a,l)}else p=k(l);return p.then(d=>{let f=null;if(t.namespaceURI=="http://www.pyroxy.com/ns/shadow"&&t.localName=="include"){let m=t.getAttribute("href"),w=null;m?w=a?a.xmldoc:this.xmldoc:a&&(a.owner.namespaceURI=="http://www.w3.org/1999/xhtml"?m=a.owner.getAttribute("href"):m=a.owner.getAttributeNS("http://www.w3.org/1999/xlink","href"),w=a.parentShadow?a.parentShadow.xmldoc:this.xmldoc),m&&(m=ke(m,w.url),f=this.createRefShadow(m,ot.ROOTED,t,a,d))}f==null&&(f=k(d));let g=null;f.then(m=>{if(s.display===v.table_cell){let w=ke("user-agent.xml#table-cell",Jt);g=this.createRefShadow(w,ot.ROOTLESS,t,a,m)}else g=k(m);g.then(w=>{w=this.createPseudoelementShadow(t,i,n,s,r,o,a,w),h.finish(w)})})}),h.result()}setViewRoot(t,i){this.viewRoot=t,this.isFootnote=i}computeStyle(t,i,n,s){var r;let o=this.context,a=Xh(n,o,this.regionIds,this.isFootnote,this.nodeContext),h=!((r=this.nodeContext)!=null&&r.parent);h&&(!a["writing-mode"]&&this.styler.rootStyle["writing-mode"]&&(a["writing-mode"]=this.styler.rootStyle["writing-mode"]),!a.direction&&this.styler.rootStyle.direction&&(a.direction=this.styler.rootStyle.direction));let l=t;t=Wh(a,o,t);let c=!h&&t!==l;i=jh(a,o,i);let p=(y,b)=>{let x;c&&(t?/^(min-|max-)?(height|inline-size)$/.test(y)&&(x=o.pageAreaHeight):/^(min-|max-)?(width|inline-size)$/.test(y)&&(x=o.pageAreaWidth));let I=b.evaluate(o,y,x,t);return y=="font-family"&&(I=this.docFaces.filterFontFamily(I)),I},d=!!new Re(o.style.pageScope,"left-page").evaluate(o);if(Yh(a,s,t,i,d,p),c){let y=s[t?"height":"width"];(!y||y===v.auto)&&(s[t?"height":"width"]=v.max_content)}if(tr(s.position))return s.position=v.fixed,s.visibility=v.hidden,t;let f=s.position,g=s.float,m=s.display||(this.sourceNode.namespaceURI==="http://www.w3.org/1999/xhtml"?v.inline:void 0),w=xh(m,f,g,this.sourceNode===this.xmldoc.root);return["display","position","float"].forEach(y=>{w[y]&&(s[y]=w[y])}),t}inheritFromSourceParent(t){let i=this.nodeContext.sourceNode,n=[],s=null,r=this.nodeContext.shadowContext,o=-1;for(;i&&i.nodeType==1;){let p=r&&r.root==i;if(!p||r.type==ot.ROOTLESS){let d=(r?r.styler:this.styler).getStyle(i,!1);n.push(d),s=s||_s(i)}p?(i=r.owner,r=r.parentShadow):(i=i.parentNode,o++)}let a=o===0,h=this.context.queryUnitSize("em",a),l={"font-size":new q(new T(h,"px"),0)},c=new pf(l,this.context);for(let p=n.length-1;p>=0;--p){let d=n[p],f=[];for(let w in d)qi(w)&&f.push(w);f.sort(zo);let g,m;for(let w of f){c.setPropName(w);let y=Ue(d,w),b=y;J(y.value)||(w==="font-size"&&p===n.length-1&&this.context.isRelativeRootFontSize&&this.context.rootFontSize?b=new q(new T(this.context.rootFontSize,"px"),y.priority):w==="line-height"&&p===n.length-1&&this.context.rootLineHeight&&y.value instanceof T&&(y.value.unit==="lh"||y.value.unit==="rlh")?b=new q(new T(this.context.rootLineHeight,"px"),y.priority):p===0&&y.value instanceof T&&y.value.unit==="lh"?b=new q(new T(y.value.num*this.getLineHeightUnitSize(w,g,m),"px"),y.priority):Nt(w)||(b=y.filterValue(c)),w==="font-size"?g=b.value:w==="line-height"&&(m=b.value),l[w]=b)}}for(let p in t)qi(p)||(l[p]=t[p]);return{lang:s,elementStyle:l}}resolveURL(t){return t=ke(t,this.xmldoc.url),this.fallbackMap[t]||t}inheritLangAttribute(){this.nodeContext.lang=_s(this.nodeContext.sourceNode)||this.nodeContext.parent&&this.nodeContext.parent.lang||this.nodeContext.lang}transferPolyfilledInheritedProps(t){let i=sf().filter(n=>t[n]);if(i.length){let n=this.nodeContext.inheritedProps;if(this.nodeContext.parent){n=this.nodeContext.inheritedProps={};for(let s in this.nodeContext.parent.inheritedProps)n[s]=this.nodeContext.parent.inheritedProps[s]}i.forEach(s=>{let r=t[s];if(r){if(J(r))r===v.initial&&(n[s]=void 0);else if(r instanceof Qt)n[s]=r.num;else if(r instanceof nt)n[s]=r.name;else if(r instanceof T){let o=r;switch(o.unit){case"dpi":case"dpcm":case"dppx":n[s]=o.num*me[o.unit];break;default:n[s]=r}}else n[s]=r;["widows","orphans"].includes(s)||delete t[s]}})}}resolveFormattingContext(t,i,n,s,r,o){let a=ft("RESOLVE_FORMATTING_CONTEXT");for(let h=0;h<a.length;h++){let l=a[h](t,i,n,s,r,o);if(l){t.formattingContext=l;return}}}createElementView(t,i){var n,s,r,o;let a=!0,h=F("createElementView"),l=this.sourceNode,c=this.nodeContext.shadowContext?this.nodeContext.shadowContext.styler:this.styler,p=c.getStyle(l,!1);if(!this.nodeContext.shadowContext){let I=this.xmldoc.getElementOffset(l);us.registerFragmentIndex(I,this.nodeContext.fragmentIndex,0)}let d={};if(!this.nodeContext.parent){let I=this.inheritFromSourceParent(p);p=I.elementStyle,this.nodeContext.lang=I.lang}let f=p.position,g=p.float,m=p["float-reference"],w=g&&!J(g.value)&&g.value!==v.none&&m&&!J(m.value)?Vp(m.value.toString()):null;if(this.nodeContext.parent&&(tr(f?.value)||w&&gi(w))){let I=this.inheritFromSourceParent(p);p=I.elementStyle,this.nodeContext.lang=I.lang}this.nodeContext.vertical=this.computeStyle(this.nodeContext.vertical,this.nodeContext.direction==="rtl",p,d),w&&gi(w)&&d.display===v.block&&(d.display=v.flow_root),c.processContent(l,d,(s=this.nodeContext.viewNode)!=null?s:(n=this.nodeContext.parent)==null?void 0:n.viewNode),this.transferPolyfilledInheritedProps(d),this.inheritLangAttribute(),d.direction&&(this.nodeContext.direction=d.direction.toString());let y=d["flow-into"];if(y&&y.toString()!=this.flowName)return h.finish(!1),h.result();if(vt&&l.localName==="script"&&l.namespaceURI==="http://www.w3.org/1999/xhtml")return fo(l,this.viewport.window).thenFinish(h),h.result();let b=d.display;if(J(b)&&(b===v.initial||b===v.unset?b=v.inline:b===v.inherit?b=((r=this.nodeContext.parent)==null?void 0:r.display)&&B((o=this.nodeContext.parent)==null?void 0:o.display):b=null),b===v.none)return h.finish(!1),h.result();let x=this.nodeContext.parent==null;return this.nodeContext.flexContainer=b===v.flex,this.createShadows(l,x,p,d,c,this.context,this.nodeContext.shadowContext).then(I=>{var L,M;this.nodeContext.nodeShadow=I;let H=d.position,W=d.float,se=d.clear,He=this.nodeContext.vertical?v.vertical_rl:v.horizontal_tb,ce=this.nodeContext.parent?this.nodeContext.parent.vertical?v.vertical_rl:v.horizontal_tb:He,de=Xp(l);this.nodeContext.establishesBFC=qp(b,H,W,d.overflow,He,ce,de),this.nodeContext.containingBlockForAbsolute=Yp(H),this.nodeContext.isInsideBFC()&&W!==v.footnote&&!(w&&gi(w))&&(W=null,se=null);let S=W instanceof ye||W===v.left||W===v.right||W===v.top||W===v.bottom||W===v.inline_start||W===v.inline_end||W===v.block_start||W===v.block_end||W===v.snap_block||W===v.snap_inline||W===v.inside||W===v.outside||W===v.footnote;W&&(delete d.float,W===v.footnote&&(this.isFootnote?(S=!1,d.display=v.block):d.display=v.inline)),se&&(se===v.inherit&&this.nodeContext.parent&&this.nodeContext.parent.clearSide&&(se=B(this.nodeContext.parent.clearSide)),(se===v.left||se===v.right||se===v.top||se===v.bottom||se===v.inline_start||se===v.inline_end||se===v.block_start||se===v.block_end||se===v.inside||se===v.outside||se===v.both||se===v.all||se===v.same)&&(delete d.clear,d.display&&d.display!=v.inline&&(this.nodeContext.clearSide=se.toString())));let P=b===v.list_item&&d["ua-list-item-count"],C=d["break-inside"];(S||C&&!J(C)&&C!==v.auto)&&this.nodeContext.breakPenalty++,b&&b!==v.inline&&qt(b)&&this.nodeContext.breakPenalty++,this.nodeContext.inline=!S&&!b||qt(b)||Ch(b),this.nodeContext.display=b?b.toString():"inline",this.nodeContext.floatSide=S?W.toString():null,this.nodeContext.floatReference=w||Ae.INLINE;let E=d["float-min-wrap-block"];this.nodeContext.floatMinWrapBlock=E&&!J(E)?E:null;let A=this.isInsideNonRootMultiColumn(),R=d["column-span"];if(this.nodeContext.columnSpan=!A&&R&&!J(R)?R:null,!this.nodeContext.inline){let _=d["break-after"];_&&!J(_)&&!(A&&_===v.column)&&(this.nodeContext.breakAfter=_.toString(),Ys[this.nodeContext.breakAfter]&&delete d["break-after"]);let Q=d["break-before"];Q&&!J(Q)&&!(A&&Q===v.column)&&(this.nodeContext.fragmentIndex===1&&(this.nodeContext.breakBefore=Q.toString()),Ys[this.nodeContext.breakBefore]&&delete d["break-before"]);let ee=d.page,le=ee&&!J(ee)&&ee.toString();!le&&!this.nodeContext.parent&&(this.nodeContext.shadowContext||b===v.table_header_group||b===v.table_footer_group)&&(le=this.styler.cascade.currentPageType),!le||le.toLowerCase()==="auto"?le=this.nodeContext.pageType:this.nodeContext.pageType=le,this.styler.cascade.currentPageType!==le&&!(!le&&d.position===v.fixed)&&(this.nodeContext.fragmentIndex===1&&!sn(this.nodeContext.breakBefore)&&(this.nodeContext.breakBefore="page"),le!==this.styler.cascade.previousPageType&&(this.styler.cascade.previousPageType=this.styler.cascade.currentPageType),this.styler.cascade.currentPageType=le)}this.nodeContext.verticalAlign=d["vertical-align"]&&d["vertical-align"].toString()||"baseline",this.nodeContext.captionSide=d["caption-side"]&&d["caption-side"].toString()||"top";let O=d["border-collapse"];if(!O||O===B("separate")){let _=d["border-spacing"],Q,ee;_&&(_ instanceof ye?(Q=_.values[0],ee=_.values[1]):Q=ee=_,Q.isNumeric()&&(this.nodeContext.inlineBorderSpacing=We(Q,this.context)),ee.isNumeric()&&(this.nodeContext.blockBorderSpacing=We(ee,this.context)))}let D=d["footnote-policy"];this.nodeContext.footnotePolicy=D&&!J(D)?D:null;let $=d["x-first-pseudo"];if($){let _=this.nodeContext.parent?this.nodeContext.parent.firstPseudo:null;this.nodeContext.firstPseudo=new _p(_,$.num)}this.nodeContext.inline||this.processAfterIfcontinues(l,p,c,this.context);let X=d["white-space"];if(X){let _=uh(X.toString());_!==null&&(this.nodeContext.whitespace=_)}let K=d["hyphenate-character"];K&&K instanceof Le&&(this.nodeContext.hyphenateCharacter=K.str);let Y=d["word-break"],ge=d["line-break"],te=d["overflow-wrap"];(Y===v.break_all||ge===v.anywhere||te===v.break_word||te===v.anywhere)&&(this.nodeContext.breakWord=!0),this.resolveFormattingContext(this.nodeContext,t,b,H,W,x),this.nodeContext.parent&&this.nodeContext.parent.formattingContext&&(t=this.nodeContext.parent.formattingContext.isFirstTime(this.nodeContext,t)),this.nodeContext.inline||(this.nodeContext.repeatOnBreak=this.processRepeatOnBreak(d),this.findAndProcessRepeatingElements(l,c));let re=!1,ve=null,we=[],Z=l.namespaceURI,U=l.localName;if(Z=="http://www.w3.org/1999/xhtml"?(U=="html"||U=="body"||U=="script"||U=="link"||U=="meta"?U="div":U=="vide_"?U="video":U=="audi_"?U="audio":U=="object"&&(re=!!this.customRenderer),l.getAttribute(to)&&(M=(L=p.content)==null?void 0:L.value)!=null&&M.url&&(U="img")):Z=="http://www.idpf.org/2007/ops"?(U="span",Z="http://www.w3.org/1999/xhtml"):Z=="http://www.pyroxy.com/ns/shadow"?(Z="http://www.w3.org/1999/xhtml",U=this.nodeContext.inline?"span":"div"):re=!!this.customRenderer,P)t?U="li":(U="div",b=v.block,d.display=b);else if(U=="body"||U=="li")U="div";else if(U=="q")U="span";else if(U=="a"){let _=d["hyperlink-processing"];_&&_.toString()!="normal"&&(U="span")}d.behavior&&d.behavior.toString()!="none"&&this.customRenderer&&(re=!0),l.dataset&&l.getAttribute("data-math-typeset")==="true"&&(re=!0);let oe;if(re){let _=this.nodeContext.parent?this.nodeContext.parent.viewNode:null;oe=this.customRenderer(l,_,d)}else oe=k(null);oe.then(_=>{if(_)re&&(a=_.getAttribute("data-adapt-process-children")=="true");else if(d.display===v.none){h.finish(!1);return}else _=this.createElement(Z,U);U=="a"&&_.addEventListener("click",this.page.hrefHandler,!1),ve&&(this.applyPseudoelementStyle(this.nodeContext,"inner",ve),_.appendChild(ve)),_.localName=="iframe"&&_.namespaceURI=="http://www.w3.org/1999/xhtml"&&pw(_);let Q=this.nodeContext.inheritedProps["image-resolution"],ee=[],le=d.width,Ye=d.height,ec=l.getAttribute("width"),tc=l.getAttribute("height"),ms=le===v.auto||!le&&!ec,ws=Ye===v.auto||!Ye&&!tc,wo=l.attributes,ic=wo.length,Cn=null,bo=null;for(let Ke=0;Ke<ic;Ke++){let mt=wo[Ke],Qe=mt.namespaceURI,ie=mt.localName,Ne=mt.nodeValue;if(Qe){if(Qe=="http://www.w3.org/2000/xmlns/")continue;Qe=="http://www.w3.org/1999/xlink"&&ie=="href"&&(Ne=this.documentURLTransformer.transformURL(this.resolveURL(Ne),this.xmldoc.url))}else{if(!vt&&ie.match(/^on/)||ie=="style")continue;if((ie=="id"||ie=="name")&&t){let _e=this.documentURLTransformer.transformFragment(Ne,this.xmldoc.url);if(vt&&_.localName!=="tr"&&!(_.namespaceURI==="http://www.w3.org/2000/svg"&&_.localName!=="svg")&&!_.ownerDocument.getElementById(Ne)){_.setAttribute(ie,Ne),_.setAttribute("data-vivliostyle-id",_e);let Ht=_.ownerDocument.createElement("a");Ht.setAttribute(ie,_e),Ht.setAttribute(xi,"1"),Ht.style.position="absolute",_.appendChild(Ht)}else _.setAttribute(ie,_e);this.page.registerElementWithId(_,_e);continue}if(ie=="src"||ie=="href"||ie=="poster")Ne=this.resolveURL(Ne),ie==="href"&&(Ne=this.documentURLTransformer.transformURL(Ne,this.xmldoc.url));else if(ie=="srcset")Ne=Ne.split(",").map(_e=>this.resolveURL(_e.trim())).join(",");else if(ie==="data"&&re&&U==="object"&&_.hasAttribute("data"))continue;if(ie==="poster"&&U==="video"&&Z==="http://www.w3.org/1999/xhtml"&&ms&&ws){let _e=new Image,Ht=si(_e,Ne);we.push(Ht),ee.push({image:_e,element:_,fetcher:Ht})}}if(Z=="http://www.w3.org/2000/svg"&&/^[A-Z\-]+$/.test(ie)&&(ie=ie.toLowerCase()),this.isSVGUrlAttribute(ie)&&(Ne=cw(Ne,this.xmldoc.url,this.documentURLTransformer)),Qe){let _e=dw[Qe];_e&&(ie=`${_e}:${ie}`)}if(ie=="src"&&!Qe&&(U=="img"||U=="input")&&Z=="http://www.w3.org/1999/xhtml")Cn=Ne;else if(ie=="alt"&&!Qe&&U=="img"&&Z=="http://www.w3.org/1999/xhtml")bo=Ne;else if(ie=="href"&&U=="image"&&Z=="http://www.w3.org/2000/svg"&&Qe=="http://www.w3.org/1999/xlink")this.page.fetchers.push(si(_,Ne));else if(Qe)_.setAttributeNS(Qe,ie,Ne);else try{_.setAttribute(ie,Ne)}catch(_e){V.warn(_e)}}if(Cn){let Ke=U==="input"?new Image:_,mt=si(Ke,Cn,bo);Ke!==_&&(_.src=Cn);let Qe=()=>{var ie,Ne;if(d.position===v.fixed)return!0;for(let _e=(ie=this.nodeContext.parent)==null?void 0:ie.viewNode;_e&&_e!==this.viewRoot;_e=_e.parentElement)if(((Ne=_e.style)==null?void 0:Ne.position)==="fixed")return!0;return!1};!ms&&!ws&&!(()=>{let ie=this.nodeContext.vertical?le:Ye;return ie instanceof T&&ie.unit==="%"})()&&!Qe()?this.page.fetchers.push(mt):(ms&&ws&&Q&&Q!==1&&ee.push({image:Ke,element:_,fetcher:mt}),we.push(mt))}delete d.content;let bs=d["list-style-image"];if(bs&&bs instanceof dt){let Ke=bs.url;we.push(si(new Image,Ke))}if(this.preprocessElementStyle(d),this.applyComputedStyles(_,d),this.nodeContext.inline)t||(st(_,"inline-start"),_i(_)&&st(_,"clone"));else if(t){if(!Gr(d.position)){let Ke=d["margin-break"],mt=this.getBreakTypeAt(this.nodeContext),Qe=mt!==null,ie=mt==="auto";(Ke===v.discard&&Qe||Ke!==v.keep&&ie&&!this.nodeContext.floatSide)&&Is(_,"block-start")}}else{let Ke=this.nodeContext.vertical?"width":"height";At(_,Ke)&&N(_,Ke,this.nodeContext.display==="table-row"?"0.01px":""),st(_,"block-start"),_i(_)&&st(_,"clone"),Is(_,"block-start")}P&&_.setAttribute("value",d["ua-list-item-count"].stringValue()),this.viewNode=_,we.length?ls(we).then(()=>{Q>0&&this.modifyElemDimensionWithImageResolution(ee,Q,d,this.nodeContext.vertical),h.finish(a)}):h.timeSlice().then(()=>{h.finish(a)})})}),h.result()}isInsideNonRootMultiColumn(){var t;for(let i=(t=this.nodeContext.parent)==null?void 0:t.viewNode;i;i=i.parentNode){let n=i.nodeType===1?i.style:null;if(!n)break;if(!isNaN(parseFloat(n.columnCount))||!isNaN(parseFloat(n.columnWidth)))return!0;if(n.position==="absolute")break}return!1}getBreakTypeAt(t){var i,n,s,r,o;if(this.isInsideTable(t))return null;for(let h=t;h&&!h.after;h=h.parent){if(Ze(h.breakBefore))return h.breakBefore;if(h.fragmentIndex===1&&!h.parent)return h.sourceNode===h.sourceNode.ownerDocument.documentElement?"page":null;if((i=h.parent)!=null&&i.floatSide)return null;let l=(n=h.parent)==null?void 0:n.viewNode;if(l){let c=this.viewport.window.getComputedStyle(l),p=parseFloat(c.paddingBlockStart),d=parseFloat(c.borderBlockStartWidth);if(p||d)return null;let f=l?.firstChild;for(;f&&(Ve(f,h.parent.whitespace)||!h.floatSide&&Vi(f));)f=f.nextSibling;if(f&&f!==h.viewNode)return null}}let a=(o=(r=(s=this.context)==null?void 0:s.currentLayoutPosition)==null?void 0:r.flowPositions[this.flowName])==null?void 0:o.startBreakType;return Ze(a)?a:"auto"}isInsideTable(t){for(let i=t;i&&!i.after;i=i.parent)if(i.display&&i.display.startsWith("table"))return!0;return!1}processAfterIfcontinues(t,i,n,s){let r=this.getPseudoMap(i,this.regionIds,this.isFootnote,this.nodeContext,s);if(r&&r["after-if-continues"]&&r["after-if-continues"].content){let o=new ba(t,i,n,s,this.exprContentListener);this.nodeContext.afterIfContinues=new cg(t,o)}}isSVGUrlAttribute(t){return Er.SVG_URL_ATTRIBUTES.includes(t.toLowerCase())}modifyElemDimensionWithImageResolution(t,i,n,s){t.forEach(r=>{if(r.fetcher.get().get()==="load"){let o=r.image,a=o.width/i,h=o.height/i,l=r.element;if(a>0&&h>0){if(n["box-sizing"]===v.border_box&&(n["border-left-style"]!==v.none&&(a+=We(n["border-left-width"],this.context)),n["border-right-style"]!==v.none&&(a+=We(n["border-right-width"],this.context)),n["border-top-style"]!==v.none&&(h+=We(n["border-top-width"],this.context)),n["border-bottom-style"]!==v.none&&(h+=We(n["border-bottom-width"],this.context))),i>1){let c=n["max-width"]||v.none,p=n["max-height"]||v.none;if(c===v.none&&p===v.none)N(l,"max-width",`${a}px`);else if(c!==v.none&&p===v.none)N(l,"width",`${a}px`);else if(c===v.none&&p!==v.none)N(l,"height",`${h}px`);else{c.isNumeric(),p.isNumeric();let d=c,f=p;d.unit!=="%"?N(l,"max-width",`${Math.min(a,We(d,this.context))}px`):f.unit!=="%"?N(l,"max-height",`${Math.min(h,We(f,this.context))}px`):s?N(l,"height",`${h}px`):N(l,"width",`${a}px`)}}else if(i<1){let c=n["min-width"]||be,p=n["min-height"]||be;c.isNumeric(),c.isNumeric();let d=c,f=p;d.num===0&&f.num===0?N(l,"min-width",`${a}px`):d.num!==0&&f.num===0?N(l,"width",`${a}px`):d.num===0&&f.num!==0?N(l,"height",`${h}px`):d.unit!=="%"?N(l,"min-width",`${Math.max(a,We(d,this.context))}px`):f.unit!=="%"?N(l,"min-height",`${Math.max(h,We(f,this.context))}px`):s?N(l,"height",`${h}px`):N(l,"width",`${a}px`)}}}})}preprocessElementStyle(t){ft("PREPROCESS_ELEMENT_STYLE").forEach(i=>{i(this.nodeContext,t)})}findAndProcessRepeatingElements(t,i){for(let n=t.firstChild;n;n=n.nextSibling){if(n.nodeType!==1)continue;let s={},r=i.getStyle(n,!1);if(this.computeStyle(this.nodeContext.vertical,this.nodeContext.direction==="rtl",r,s),!this.processRepeatOnBreak(s))continue;if(this.nodeContext.formattingContext instanceof ei&&!this.nodeContext.belongsTo(this.nodeContext.formattingContext))return;let o=this.nodeContext.parent,a=o&&o.formattingContext;this.nodeContext.formattingContext=new ei(a,this.nodeContext.sourceNode),this.nodeContext.formattingContext.initializeRepetitiveElements(this.nodeContext.vertical);return}}processRepeatOnBreak(t){let i=t["repeat-on-break"];return i!==v.none&&((i===v.auto||J(i))&&(t.display===v.table_header_group?i=v.header:t.display===v.table_footer_group?i=v.footer:i=v.none),i&&i!==v.none)?i.toString():null}createTextNodeView(){let t=F("createTextNodeView");return this.preprocessTextContent().then(()=>{let i=this.offsetInNode||0,n=Ko(this.nodeContext.preprocessedTextContent).substr(i);this.viewNode=document.createTextNode(n),t.finish(!0)}),t.result()}preprocessTextContent(){if(this.nodeContext.preprocessedTextContent!=null)return k(!0);let t,i=t=this.sourceNode.textContent,n=F("preprocessTextContent"),s=ft("PREPROCESS_TEXT_CONTENT"),r=0;return n.loop(()=>r>=s.length?k(!1):s[r++](this.nodeContext,i).thenAsync(o=>(i=o,k(!0)))).then(()=>{this.nodeContext.preprocessedTextContent=Ep(t,i),n.finish(!0)}),n.result()}createNodeView(t,i){let n=F("createNodeView"),s,r=!0;return this.sourceNode.nodeType==1?s=this.createElementView(t,i):this.sourceNode.nodeType==8?(this.viewNode=null,s=k(!0)):s=this.createTextNodeView(),s.then(o=>{var a;if(r=o,this.nodeContext.viewNode=this.viewNode,this.viewNode){let h=(p,d)=>p?.nodeType===1&&di(p)===d,l=this.nodeContext.parent,c=l?h(this.viewNode,"after")&&h(l.viewNode,"first-letter")&&(a=l.viewNode)!=null&&a.hasChildNodes()?l.parent.viewNode:l.viewNode:this.viewRoot;c&&(this.nodeContext.inline&&!(this.viewNode.nodeType===3&&Ve(this.viewNode))&&!c.hasChildNodes()&&oh(c).includes("block-start")&&st(c,"text-start"),c.appendChild(this.viewNode))}n.finish(r)}),n.result()}setCurrent(t,i,n){return this.nodeContext=t,t?(this.sourceNode=t.sourceNode,this.offsetInNode=t.offsetInNode):(this.sourceNode=null,this.offsetInNode=-1),this.viewNode=null,this.nodeContext?this.createNodeView(i,!!n):k(!0)}processShadowContent(t){if(t.shadowContext==null||t.sourceNode.localName!="content"||t.sourceNode.namespaceURI!="http://www.pyroxy.com/ns/shadow")return t;let i=t.boxOffset,n=t.shadowContext,s=t.parent,r,o,a=n.subShadow||n.parentShadow;n.subShadow?(r=n.root,o=n.type,o==ot.ROOTLESS&&(r=r.firstChild)):(r=n.owner.firstChild,o=ot.ROOTLESS);let h=t.sourceNode.nextSibling;if(h?(t.sourceNode=h,t.resetView()):t.shadowSibling?t=t.shadowSibling:r?t=null:(t=t.parent.modify(),t.after=!0),r){let l=new zi(r,s,i);return l.shadowContext=a,l.shadowType=o,l.shadowSibling=t,l}return t.boxOffset=i,t}nextPositionInTree(t){let i=t.boxOffset+1;if(t.after){if(!t.parent)return null;if(t.shadowType!=ot.ROOTED){let n=t.sourceNode.nextSibling;if(n)return t=t.modify(),t.boxOffset=i,t.sourceNode=n,t.resetView(),this.processShadowContent(t)}return t.shadowSibling?(t=t.shadowSibling.modify(),t.boxOffset=i,t):(t=t.parent.modify(),t.boxOffset=i,t.after=!0,t)}else{if(t.nodeShadow){let s=t.nodeShadow.root;if(t.nodeShadow.type==ot.ROOTLESS&&(s=s.firstChild),s){let r=new zi(s,t,i);return r.shadowContext=t.nodeShadow,r.shadowType=t.nodeShadow.type,this.processShadowContent(r)}}let n=t.sourceNode.firstChild;if(n)return this.processShadowContent(new zi(n,t,i));if(t.sourceNode.nodeType!=1){let s=Ko(t.preprocessedTextContent);i+=s.length-1-t.offsetInNode}return t=t.modify(),t.boxOffset=i,t.after=!0,t}}isTransclusion(t,i,n){let s=Ue(i,"hyperlink-processing");if(!s)return!1;let r=s.evaluate(this.context,"hyperlink-processing");return r?r.toString()==n:!1}nextInTree(t,i){let n=this.nextPositionInTree(t);if(!n||n.after)return k(n);let s=F("nextInTree");return this.setCurrent(n,!0,i).then(r=>{(!n.viewNode||!r)&&(n=n.modify(),n.after=!0,n.viewNode||(n.inline=!0)),this.dispatchEvent({type:"nextInTree",nodeContext:n}),s.finish(n)}),s.result()}addImageFetchers(t){if(t instanceof qe){let i=t.values;for(let n=0;n<i.length;n++)this.addImageFetchers(i[n])}else if(t instanceof dt){let i=t.url;this.page.fetchers.push(si(new Image,i))}}applyComputedStyles(t,i){var n,s,r;let o=i["background-image"];o&&this.addImageFetchers(o);let a=i.position===v.relative,h=((n=this.nodeContext)==null?void 0:n.parent)===null&&((s=this.sourceNode)==null?void 0:s.parentElement)===null&&!!((r=this.viewRoot)!=null&&r.parentElement),l=Object.keys(i);l.sort(zo);let c,p;for(let d of l){if(gw[d])continue;let f=i[d];if(!(!f||f===G&&!Nt(d))){if(f=f.visit(new yd(this.xmldoc.url,this.documentURLTransformer)),f instanceof T&&pl(f.unit)&&(f.unit==="lh"?f=new T(f.num*this.getLineHeightUnitSize(d,c,p),"px"):f=Al(f,this.context)),d==="font-size"?c=f:d==="line-height"&&(p=f),Pp[d]||a&&Tp[d]){this.page.delayedItems.push(new $r(t,d,f));continue}h&&this.page.pageAreaElement&&qi(d)?N(this.page.pageAreaElement.parentElement.parentElement,d,f.toString()):N(t,d,f.toString())}}}getLineHeightUnitSize(t,i,n){var s,r,o,a;let h=me.lh/me.em,l=((r=(s=this.nodeContext.parent)==null?void 0:s.viewNode)==null?void 0:r.nodeType)===1?this.viewport.window.getComputedStyle(this.nodeContext.parent.viewNode):null,c=l?parseFloat(l.fontSize):this.context.fontSize(),p=l?l.lineHeight==="normal"?c*h:parseFloat(l.lineHeight):this.context.rootLineHeight;if(t==="line-height"||t==="font-size")return p;let d=null;if(n){if(n instanceof Ut||n instanceof T&&(n.unit==="em"||n.unit==="%"))d=n instanceof T&&n.unit==="%"?n.num/100:n.num;else if(n instanceof T)return n.num*this.context.queryUnitSize(n.unit,!1)}else for(let f=(o=this.nodeContext.parent)==null?void 0:o.viewNode;;f=f.parentNode){if(!f||f.nodeType!==1){d=h;break}let g=(a=f?.style)==null?void 0:a.lineHeight;if(g){/^[0-9.]+$/.test(g)&&(d=parseFloat(g)),g==="normal"&&(d=h);break}}return d!==null?i instanceof T?d*Bh(i,c,this.context).num:d*c:p}applyPseudoelementStyle(t,i,n){if(t.after)return;let s=this.sourceNode,r=(t.shadowContext?t.shadowContext.styler:this.styler).getStyle(s,!1),o=pt(r,"_pseudos");if(!o||(r=o[i],!r))return;let a={};t.vertical=this.computeStyle(t.vertical,t.direction==="rtl",r,a);let h=a.content;Vt(h)&&(h.visit(new Kn(n,this.context,h,this.exprContentListener)),delete a.content),this.applyComputedStyles(n,a)}peelOff(t,i){let n=F("peelOff"),s=t.firstPseudo,r=t.offsetInNode,o=t.after;if(i>0){let p=t.viewNode.textContent;t.viewNode.textContent=p.substr(0,i),r+=i}else if(!o&&t.viewNode&&r==0){let p=t.viewNode.parentNode;p&&p.removeChild(t.viewNode)}let a=t.boxOffset+i,h=[];for(;t.firstPseudo===s;)h.push(t),t=t.parent;let l=h.pop(),c=l.shadowSibling;return n.loop(()=>{for(;h.length>0;){l=h.pop(),t=new zi(l.sourceNode,t,a),h.length==0&&(t.offsetInNode=r,t.after=o),t.shadowType=l.shadowType,t.shadowContext=l.shadowContext,t.nodeShadow=l.nodeShadow,t.shadowSibling=l.shadowSibling?l.shadowSibling:c,c=null;let p=this.setCurrent(t,!1);if(p.isPending())return p}return k(!1)}).then(()=>{n.finish(t)}),n.result()}createElement(t,i){return t=="http://www.w3.org/1999/xhtml"?this.document.createElement(i):this.document.createElementNS(t,i)}applyFootnoteStyle(t,i,n){let s={},r=pt(this.footnoteStyle,"_pseudos");if(t=this.computeStyle(t,i,this.footnoteStyle,s),r&&r.before){let o={},a=this.createElement("http://www.w3.org/1999/xhtml","span");wr(a,"before"),n.appendChild(a),this.computeStyle(t,i,r.before,o),delete o.content,this.applyComputedStyles(a,o)}return delete s.content,this.applyComputedStyles(n,s),t}processFragmentedBlockEdge(t){var i,n,s;let r=!t.inline&&t.after?t.parent:t,o=!1;if(t.inline&&t.after&&!t.shadowContext&&((i=t.sourceNode.nextSibling)==null?void 0:i.nodeType)===1){let h=t.sourceNode.nextSibling,l=(n=Ue(this.styler.getStyle(h,!1),"display"))==null?void 0:n.value.toString();o=l&&!qt(l)||h.getAttribute("data-math-typeset")==="true"&&/^\s*(\$\$|\\\[)/.test(h.textContent)}let a=0;for(let h=r;h;h=h.parent){if(((s=h.viewNode)==null?void 0:s.nodeType)!==1)continue;let l=h.viewNode;if(l.style)if(h.inline){if(st(l,"inline-end"),_i(l)){let c=h.vertical?l.offsetWidth:l.offsetHeight;st(l,"clone"),(h.vertical?l.offsetWidth:l.offsetHeight)>c&&this.fixClonedBoxDecorationOverflow(l)}}else{let c=this.nodeContext.vertical?"width":"height";if(At(l,c)&&N(l,c,""),st(l,"block-end"),!a++&&h!==r){let{textAlign:p}=this.viewport.window.getComputedStyle(l);if(p==="justify"&&!o){let d=this.createChildAnonymousBlockIfNeeded(l);d?d!==l?ah(d,["block-start","text-start","block-end","text-end","justify"]):(st(l,"text-end"),st(l,"justify")):st(l,"text-end")}else st(l,"text-end")}_i(l)&&st(l,"clone"),Is(l,"block-end")}}}fixClonedBoxDecorationOverflow(t){let i=this.viewport.window.getComputedStyle(t),n=parseFloat(i.paddingInlineEnd),s=parseFloat(i.borderInlineEndWidth),r=-(n+s);isNaN(r)||(t.style.marginInlineEnd=`${r}px`)}createChildAnonymousBlockIfNeeded(t){let i=r=>{let{display:o,position:a,float:h}=this.viewport.window.getComputedStyle(r);if(r.localName==="ruby"||Xt[r.localName])return!1;if(r.localName==="br")return!0;if((o==="inline"||o==="contents")&&r.hasChildNodes()){let l=r.lastElementChild;if(l&&(!l.nextSibling||l.nextSibling===r.lastChild&&Ve(l.nextSibling))){let c=i(l);if(c||c===null)return c}for(let c=l?.previousElementSibling;c;c=c.previousElementSibling){let p=i(c);if(p||p===null)return null}return!1}if(o==="none"||a==="absolute"||a==="fixed"||h&&h!=="none"||r.hasAttribute(xi)){let l=r.previousElementSibling;return l&&(l.nextSibling===r||l.nextSibling===r.previousSibling&&Ve(l.nextSibling))?i(l):!1}return!(!o||qt(o))},n=null;for(let r=t.lastElementChild;r;r=r.previousElementSibling){let o=i(r);if(o){n=r;break}if(o===null)return null}if(!n)return t;if(n===t.lastElementChild&&(!n.nextSibling||n.nextSibling===t.lastChild&&Ve(n.nextSibling)))return null;let s=t.ownerDocument.createElement("span");s.className="viv-anonymous-block";for(let r=n.nextSibling,o=null;r;r=o)o=r.nextSibling,s.appendChild(r);return t.appendChild(s),s}convertLengthToPx(t,i,n){let s=t.num,r=t.unit;if($c(r)){let o=i;for(;o&&o.nodeType!==1;)o=o.parentNode;let a=parseFloat(n.getElementComputedStyle(o)["font-size"]);return this.context,Kr(t,a,this.context).num}else{let o=this.context.queryUnitSize(r,!1);return o?s*o:t}}isSameNodePositionStep(t,i){if(t.shadowContext){if(!i.shadowContext)return!1;let n=t.node.nodeType===1?t.node:t.node.parentElement,s=i.node.nodeType===1?i.node:i.node.parentElement;return t.shadowContext.owner===i.shadowContext.owner&&di(n)===di(s)}else return t.node===i.node}isSameNodePosition(t,i){return t.offsetInNode===i.offsetInNode&&t.after==i.after&&t.steps.length===i.steps.length&&t.steps.every((n,s)=>{let r=i.steps[s];return this.isSameNodePositionStep(n,r)})}isPseudoelement(t){return!!di(t)}};u(Hu,"SVG_URL_ATTRIBUTES",["color-profile","clip-path","cursor","filter","marker","marker-start","marker-end","marker-mid","fill","stroke","mask"]);var fw=Hu,gw={"float-min-wrap-block":!0,"float-reference":!0,"flow-into":!0,"flow-linger":!0,"flow-options":!0,"flow-priority":!0,"footnote-policy":!0,"margin-break":!0,page:!0},Un=null,mw=class{constructor(e){u(this,"layoutBox"),u(this,"window"),u(this,"scaleRatio"),this.layoutBox=e.layoutBox,this.window=e.window,this.scaleRatio=e.scaleRatio}scaleRect(e){return Un?{left:e.left*this.scaleRatio,top:e.top*this.scaleRatio,right:e.right*this.scaleRatio,bottom:e.bottom*this.scaleRatio,width:e.width*this.scaleRatio,height:e.height*this.scaleRatio}:e}subtractOffsets(e,t){let i=t.left,n=t.top;return{left:e.left-i,top:e.top-n,right:e.right-i,bottom:e.bottom-n,width:e.width,height:e.height}}getRangeClientRects(e){let t=e.getClientRects(),i=this.layoutBox.getBoundingClientRect();return Array.from(t).map(n=>this.scaleRect(this.subtractOffsets(n,i)))}getElementClientRect(e){let t=e.getBoundingClientRect();if(t.left===0&&t.top===0&&t.right===0&&t.bottom===0)return t;let i=this.layoutBox.getBoundingClientRect();return this.scaleRect(this.subtractOffsets(t,i))}getElementComputedStyle(e){return this.window.getComputedStyle(e,null)}adjustLengthValue(e){let t=64*(this.scaleRatio||1);return Math.floor(e*t)/t}},is=class{constructor(e,t,i,n,s,r){this.window=e,this.fontSize=t,this.pixelRatio=i,u(this,"document"),u(this,"root"),u(this,"outerZoomBox"),u(this,"contentContainer"),u(this,"layoutBox"),u(this,"width"),u(this,"height"),u(this,"scaleRatio",1),this.document=e.document,this.root=n||this.document.body;let o=this.root.firstElementChild;o||(o=this.document.createElement("div"),o.setAttribute("data-vivliostyle-outer-zoom-box","true"),this.root.appendChild(o));let a=o.firstElementChild;a||(a=this.document.createElement("div"),a.setAttribute("data-vivliostyle-spread-container","true"),o.appendChild(a)),i>0&&CSS.supports("zoom","8")&&(N(this.root,"--viv-outputPixelRatio",`${i}`),N(this.root,"--viv-devicePixelRatio",`${e.devicePixelRatio}`),this.scaleRatio=i/e.devicePixelRatio,Un===null&&(Un=!("currentCSSZoom"in a)),Un&&N(this.root,"--viv-scaleRectRatio",`${this.scaleRatio}`));let h=o.nextElementSibling;h||(h=this.document.createElement("div"),h.setAttribute("data-vivliostyle-layout-box","true"),this.root.appendChild(h)),this.outerZoomBox=o,this.contentContainer=a,this.layoutBox=h,this.width=s||parseFloat(e.getComputedStyle(this.root).width)||this.root.offsetWidth||e.innerWidth,this.height=r||parseFloat(e.getComputedStyle(this.root).height)||this.root.offsetHeight||e.innerHeight;let l={width:794,height:1056},c=!e.outerWidth&&!e.outerHeight||/Headless/.test(navigator.userAgent)||navigator.webdriver&&e.innerWidth===800&&e.innerHeight===600;(!this.width||!s&&c)&&(this.width=l.width),(!this.height||!r&&c)&&(this.height=l.height)}resetZoom(){N(this.outerZoomBox,"width",""),N(this.outerZoomBox,"height",""),N(this.contentContainer,"width",""),N(this.contentContainer,"height",""),N(this.contentContainer,"transform","")}zoom(e,t,i){N(this.root,"--viv-outputScale",`${i}`),N(this.outerZoomBox,"width",`${e*i}px`),N(this.outerZoomBox,"height",`${t*i}px`),N(this.contentContainer,"width",`${e}px`),N(this.contentContainer,"height",`${t}px`)}clear(){let e=this.root;for(;e.lastChild;)e.removeChild(e.lastChild)}},$u=class{constructor(e,t,i){this.store=e,this.url=t,this.document=i,u(this,"lang",null),u(this,"totalOffset",-1),u(this,"root"),u(this,"body"),u(this,"head"),u(this,"last"),u(this,"lastOffset",1),u(this,"idMap"),this.root=i.documentElement;let n=null,s=null;if(this.root.namespaceURI=="http://www.w3.org/1999/xhtml"){for(let r=this.root.firstChild;r;r=r.nextSibling){if(r.nodeType!=1)continue;let o=r;if(o.namespaceURI=="http://www.w3.org/1999/xhtml")switch(o.localName){case"head":s=o;break;case"body":n=o;break}}this.lang=this.root.getAttribute("lang")}this.body=n,this.head=s,this.last=this.root,this.last.setAttribute(xt,"0")}doc(){return new Wu([this.document])}getElementOffset(e){let t=e.getAttribute(xt);if(t)return parseInt(t,10);let i=this.lastOffset,n=this.last;for(;n!=e;){let s=n.firstChild;if(!s){for(;s=n.nextSibling,!s;)if(n=n.parentNode,n==null)throw new Error("Internal error")}n=s,s.nodeType==1?(s.setAttribute(xt,i.toString()),++i):i+=s.textContent.length}return this.lastOffset=i,this.last=e,i-1}getNodeOffset(e,t,i){let n=0,s=e,r=null;if(s.nodeType==1){if(!i)return this.getElementOffset(s)}else{if(n=t,r=s.previousSibling,!r)return s=s.parentNode,n+=1,this.getElementOffset(s)+n;s=r}for(;;){for(;s.lastChild;)s=s.lastChild;if(s.nodeType==1)break;if(n+=s.textContent.length,r=s.previousSibling,!r){s=s.parentNode;break}s=r}return n+=1,this.getElementOffset(s)+n}getTotalOffset(){return this.totalOffset<0&&(this.totalOffset=this.getNodeOffset(this.root,0,!0)),this.totalOffset}getNodeByOffset(e){let t,i=this.root;for(;;){if(t=this.getElementOffset(i),t>=e)return i;let a=i.children;if(!a)break;let h=_t(a.length,l=>{let c=a[l];return this.getElementOffset(c)>e});if(h==0)break;i=a[h-1]}let n=t+1,s=i,r=s.firstChild||s.nextSibling,o=null;for(;;){if(r){if(r.nodeType==1||(s=r,o=s,n+=r.textContent.length,n>e&&!/^\s*$/.test(r.textContent)))break}else if(s=s.parentNode,!s)break;r=s.nextSibling}return r&&o&&/^\s*$/.test(o.textContent)&&(o=r),o||i}buildIdMap(e){let t=e.getAttribute("id");t&&!this.idMap[t]&&(this.idMap[t]=e);let i=e.getAttributeNS("http://www.w3.org/XML/1998/namespace","id");i&&!this.idMap[i]&&(this.idMap[i]=e);for(let n=e.firstElementChild;n;n=n.nextElementSibling)this.buildIdMap(n)}getElement(e){let t=e.match(/([^#]*)#(.+)$/);if(!t||t[1]&&t[1]!=this.url)return null;let i=t[2],n=this.document.getElementById(i);return!n&&this.document.getElementsByName&&(n=this.document.getElementsByName(i)[0]),n||(this.idMap||(this.idMap={},this.buildIdMap(this.document.documentElement)),n=this.idMap[i]),n}},kr=(e=>(e.TEXT_HTML="text/html",e.TEXT_XML="text/xml",e.APPLICATION_XML="application/xml",e.APPLICATION_XHTML_XML="application/xhtml+xml",e.IMAGE_SVG_XML="image/svg+xml",e))(kr||{});function Ln(e,t,i){let n=i||new DOMParser,s;try{s=n.parseFromString(e,t)}catch{}if(s){let r=s.documentElement,o="parsererror";if(r.localName===o)return null;for(let a=r.firstElementChild;a;a=a.nextElementSibling)if(a.localName===o)return null}else return null;return s}function ww(e){let t=e.contentType;if(t){let n=Object.keys(kr);for(let s=0;s<n.length;s++)if(kr[n[s]]===t)return t;if(t.match(/\+xml$/))return"application/xml"}let i=e.url.match(/\.([^./]+)$/);if(i)switch(i[1]){case"html":case"htm":return"text/html";case"xhtml":case"xht":return"application/xhtml+xml";case"svg":case"svgz":return"image/svg+xml";case"opf":case"xml":return"application/xml"}return null}function Gu(e,t){let i=e.responseXML;if(!i){let s=new DOMParser,r=e.responseText;if(r){let o=ww(e);if(i=Ln(r,o||"application/xml",s),i&&!o){let a=i.documentElement;a.localName.toLowerCase()==="html"&&!a.namespaceURI?i=Ln(r,"text/html",s):a.localName.toLowerCase()==="svg"&&i.contentType!=="image/svg+xml"&&(i=Ln(r,"image/svg+xml",s))}i||(i=Ln(r,"text/html",s))}}let n=i?new $u(t,e.url,i):null;return k(n)}function bw(){return new Dr(Gu,"document")}var vw=class Nr{constructor(t){this.fn=t}check(t){return this.fn(t)}withAttribute(t,i){return new Nr(n=>this.check(n)&&n.nodeType==1&&n.getAttribute(t)==i)}withChild(t,i){return new Nr(n=>{if(!this.check(n))return!1;let s=new Wu([n]);return s=s.child(t),i&&(s=s.predicate(i)),s.size()>0})}},Ma=new vw(e=>!0),Wu=class Pr{constructor(t){this.nodes=t}asArray(){return this.nodes}size(){return this.nodes.length}predicate(t){let i=[];for(let n of this.nodes)t.check(n)&&i.push(n);return new Pr(i)}forEachNode(t){let i=[],n=s=>{i.push(s)};for(let s=0;s<this.nodes.length;s++)t(this.nodes[s],n);return new Pr(i)}forEach(t){let i=[];for(let n=0;n<this.nodes.length;n++)i.push(t(this.nodes[n]));return i}forEachNonNull(t){let i=[];for(let n=0;n<this.nodes.length;n++){let s=t(this.nodes[n]);s!=null&&i.push(s)}return i}child(t){return this.forEachNode((i,n)=>{for(let s=i.firstChild;s;s=s.nextSibling)s.nodeType==1&&s.localName==t&&n(s)})}childElements(){return this.forEachNode((t,i)=>{for(let n=t.firstChild;n;n=n.nextSibling)n.nodeType==1&&i(n)})}attribute(t){return this.forEachNonNull(i=>i.nodeType==1?i.getAttribute(t):null)}textContent(){return this.forEach(t=>t.textContent)}},yw=new wn(()=>{let e=F("uaStylesheetBase"),t=Nu(),i=ke("user-agent-base.css",Jt),n=new rn(null,null,null,null,null,t,!0);return n.startStylesheet("UA"),Yf(n.cascade),Ur(jl,n,i,null,null).thenFinish(e),e.result()},"uaStylesheetBaseFetcher");function xw(){return yw.get()}var Sw=class{constructor(e,t,i,n,s,r,o,a,h,l){this.store=e,this.rootScope=t,this.pageScope=i,this.cascade=n,this.rootBox=s,this.fontFaces=r,this.footnoteProps=o,this.flowProps=a,this.viewportProps=h,this.pageProps=l,u(this,"fontDeobfuscator"),u(this,"validatorSet"),this.fontDeobfuscator=e.fontDeobfuscator,this.validatorSet=e.validatorSet,this.pageScope.defineBuiltIn("has-content",function(c){c=c;let p=this,d=p.currentLayoutPosition,f=d.firstFlowChunkOfFlow(c);return p.matchPageSide(d.startSideOfFlow(c))&&d.hasContent(c,p.lookupOffset)&&!!f&&!p.flowChunkIsAfterParentFlowForcedBreak(f)}),this.pageScope.defineName("page-number",new De(this.pageScope,function(){let c=this;return c.pageNumberOffset+c.currentLayoutPosition.page},"page-number")),this.pageScope.defineName("blank-page",new De(this.pageScope,function(){let c=this.currentLayoutPosition;return c?.isBlankPage},"blank-page"))}sizeViewport(e,t,i,n){if(this.viewportProps.length){let s=new Vs(this.rootScope,e,t,i),r=df(s,this.viewportProps),o=r.width,a=r.height,h=r["text-zoom"],l=1;if(o&&a||h){let c=me.em;if((h?h.evaluate(s,"text-zoom"):null)===v.scale&&(l=c/i,i=c,e*=l,t*=l),o&&a){let p=We(o.evaluate(s,"width"),s),d=We(a.evaluate(s,"height"),s);if(p>0&&d>0)return{width:n&&n.spreadView?(p+n.pageBorder)*2:p,height:d,fontSize:i}}}}return{width:e,height:t,fontSize:i}}},go=class extends Vs{constructor(e,t,i,n,s,r,o,a,h,l,c,p,d){super(e.rootScope,n.width,n.height,n.fontSize),this.style=e,this.xmldoc=t,this.viewport=n,this.clientLayout=s,this.fontMapper=r,this.customRenderer=o,this.fallbackMap=a,this.pageNumberOffset=h,this.documentURLTransformer=l,this.counterStore=c,u(this,"lang"),u(this,"primaryFlows",{body:!0}),u(this,"rootPageBoxInstance",null),u(this,"styler",null),u(this,"stylerMap",null),u(this,"currentLayoutPosition",null),u(this,"layoutPositionAtPageStart",null),u(this,"lookupOffset",0),u(this,"faces"),u(this,"pageBoxInstances",{}),u(this,"pageManager",null),u(this,"rootPageFloatLayoutContext"),u(this,"pageBreaks",{}),u(this,"pageProgression",null),u(this,"isVersoFirstPage",!1),u(this,"blankPageAtStart",!1),u(this,"pageSheetSize",{}),u(this,"pageSheetHeight",0),u(this,"pageSheetWidth",0),this.lang=t.lang||i,this.faces=new Cm(this.style.fontDeobfuscator),this.rootPageFloatLayoutContext=new Di(null,null,null,null,null,null,null),this.pageProgression=p||null,this.isVersoFirstPage=!!d;for(let f in e.flowProps){let g=e.flowProps[f],m=Ue(g,"flow-consume");m&&(m.evaluate(this,"flow-consume")==v.all?this.primaryFlows[f]=!0:delete this.primaryFlows[f])}}init(){let e=F("StyleInstance.init"),t=this.counterStore.createCounterListener(this.xmldoc.url),i=this.counterStore.createCounterResolver(this.xmldoc.url,this.style.rootScope,this.style.pageScope);this.styler=new Ca(this.xmldoc,this.style.cascade,this.style.rootScope,this,this.primaryFlows,this.style.validatorSet,t,i),i.setStyler(this.styler),this.styler.resetFlowChunkStream(this),this.stylerMap={},this.stylerMap[this.xmldoc.url]=this.styler;let n=this.styler.getTopContainerStyle();this.pageProgression||(this.pageProgression=_u(n)),this.matchStartPageSide(this.styler.breakBeforeValues[0])||(this.pageNumberOffset===0?this.isVersoFirstPage=!0:this.blankPageAtStart=!0);let s=this.style.rootBox;this.rootPageBoxInstance=new Im(s);let r=this.style.cascade.createInstance(this,t,i,this.lang);this.styler.cascade.currentPageType=this.styler.cascade.firstPageType,this.rootPageBoxInstance.applyCascadeAndInit(r,n),this.rootPageBoxInstance.resolveAutoSizing(this),this.pageManager=new Xm(r,this.style.pageScope,this.rootPageBoxInstance,this,n);let o=[];for(let h of this.style.fontFaces){if(h.condition&&!h.condition.evaluate(this))continue;let l=Sm(h.properties,this),c=new Pu(l);o.push(c)}this.fontMapper.findOrLoadFonts(o,this.faces).then(()=>{hw(this.xmldoc.document,this.viewport.window,this.styler).thenFinish(e)});let a=this.style.pageProps;return a[""]||(a[""]={}),Object.keys(a).forEach(h=>{let l=a[h];this.styler.cascade.applyVarFilter([l],this.styler,null),this.styler.cascade.applyCalcFilter(l,this.styler.context);let c=Oa(ts(l),this);this.pageSheetSize[h]={width:c.pageWidth+c.cropOffset*2,height:c.pageHeight+c.cropOffset*2}}),e.result()}matchStartPageSide(e){let t=this.pageNumberOffset%2==(this.isVersoFirstPage?1:0),i=this.pageProgression=="ltr";switch(e){case"left":return t!==i;case"right":return t===i;case"recto":return t;case"verso":return!t;default:return!0}}getStylerForDoc(e){let t=this.stylerMap[e.url];if(!t){let i=this.style.store.getStyleForDoc(e),n=new Vs(i.rootScope,this.pageWidth(),this.pageHeight(),this.initialFontSize),s=this.counterStore.createCounterListener(e.url),r=this.counterStore.createCounterResolver(e.url,i.rootScope,i.pageScope);t=new Ca(e,i.cascade,i.rootScope,n,this.primaryFlows,i.validatorSet,s,r),this.stylerMap[e.url]=t}return t}registerInstance(e,t){this.pageBoxInstances[e]=t}lookupInstance(e){return this.pageBoxInstances[e]}encounteredFlowChunk(e,t){let i=this.currentLayoutPosition;if(i){i.flows[e.flowName]?t=i.flows[e.flowName]:i.flows[e.flowName]=t;let n=i.flowPositions[e.flowName];n||(n=new zp,i.flowPositions[e.flowName]=n);let s=Bp(e.element),r=new Dt(s),o=new Mp(r,e);n.positions.push(o)}}evalSupportsTest(e,t,i){if(i)return e==="selector"?this.evalSupportsSelector(t):!1;if(!e)return!1;let n=!0;class s{unknownProperty(h,l){n=!1}invalidPropertyValue(h,l){n=!1}simpleProperty(h,l,c){}}let r=new s,o=Pi(this.style.rootScope,new gt(t,null),"");return o?(this.xmldoc.store.validatorSet.validatePropertyAndHandleShorthand(e,o,!1,r),n):!1}evalSupportsSelector(e){let t=new ju(null),i=new gt(e+"{}",t);return new vn(Ee,i,t,"").runParser(Number.POSITIVE_INFINITY,!1,!1,!1,!1)?!t.cascadeParserHandler.invalid:!1}getConsumedOffset(e){let t=Number.POSITIVE_INFINITY;for(let i=0;i<e.positions.length;i++){let n=e.positions[i].chunkPosition.primary,s=n.steps[0].node,r=n.offsetInNode,o=n.after,a=0;for(;s.ownerDocument!=this.xmldoc.document;)a++,s=n.steps[a].node,o=!1,r=0;let h=this.xmldoc.getNodeOffset(s,r,o);h<t&&(t=h)}return t}getPosition(e,t){if(!e)return 0;let i=Number.POSITIVE_INFINITY;for(let n in this.primaryFlows){let s=e.flowPositions[n];if(!t&&(!s||s.positions.length==0)&&this.currentLayoutPosition&&(this.styler.styleUntilFlowIsReached(n),s=this.currentLayoutPosition.flowPositions[n],e!=this.currentLayoutPosition&&s&&(s=s.clone(),e.flowPositions[n]=s)),s){let r=this.getConsumedOffset(s);r<i&&(i=r)}}return i}dumpLocation(e){V.debug("Location - page",this.currentLayoutPosition.page),V.debug(" current:",e),V.debug(" lookup:",this.lookupOffset);for(let t in this.currentLayoutPosition.flowPositions){let i=this.currentLayoutPosition.flowPositions[t];for(let n of i.positions)V.debug(" Chunk",`${t}:`,n.flowChunk.startOffset)}}matchPageSide(e){switch(e){case"left":case"right":case"recto":case"verso":return new Re(this.style.pageScope,`${e}-page`).evaluate(this);default:return!0}}updateStartSide(e){for(let t in e.flowPositions){let i=e.flowPositions[t];if(i&&i.positions.length>0){let n=i.positions[0].flowChunk;if(this.getConsumedOffset(i)===n.startOffset){let s=i.positions[0].flowChunk.breakBefore,r=i.startBreakType;i.startBreakType=Yo(Xe(r,s))}}}}selectPageMaster(e){let t=this.currentLayoutPosition,i=this.getPosition(t);if(i==Number.POSITIVE_INFINITY)return null;let n=this.rootPageBoxInstance.children,s;for(let r=0;r<n.length;r++){if(s=n[r],s.pageBox.pseudoName===po)continue;let o=1;s.pageBox.pseudoName===lo&&!(this.actualPageWidth&&this.actualPageHeight)&&(o=1/0);let a=s.getProp(this,"utilization");a&&a.isNum()&&(o=a.num);let h=this.queryUnitSize("em",!1),l=this.pageWidth()*this.pageHeight(),c=Math.ceil(o*l/(h*h)),p=this.styler.cascade.currentPageType;this.lookupOffset=this.styler.styleUntil(i,c),this.styler.cascade.currentPageType=p,this.updateStartSide(t),this.layoutPositionAtPageStart=t.clone(),this.initLingering(),this.clearScope(this.style.pageScope);let d=s.getProp(this,"enabled");if(!d||d===v._true){if(t.page===1&&this.blankPageAtStart){s.style={};let f=e.size;e={},f&&(e.size=f)}return this.pageManager.getPageRulePageMaster(s,e)}}throw new Error("No enabled page masters")}flowChunkIsAfterParentFlowForcedBreak(e){let t=this.layoutPositionAtPageStart.flows,i=t[e.flowName].parentFlowName;if(i){let n=e.startOffset,s=t[i].forcedBreakOffsets;if(!s.length||n<s[0])return!1;let r=_t(s.length,l=>s[l]>n)-1,o=s[r],a=this.layoutPositionAtPageStart.flowPositions[i],h=this.getConsumedOffset(a);return o<h?!1:h<o?!0:!this.matchPageSide(a.startBreakType)}return!1}setFormattingContextToColumn(e,t){let i=this.currentLayoutPosition.flows[t];i.formattingContext||(i.formattingContext=new Xr(null)),e.flowRootFormattingContext=i.formattingContext}layoutDeferredPageFloats(e){let t=e.pageFloatLayoutContext,i=t.getDeferredPageFloatContinuations(),n=a=>{if(a.floatReference!==Ae.PAGE)return!1;let h=this.layoutPositionAtPageStart.flowPositions.body,l=h&&this.getConsumedOffset(h),c=this.xmldoc.getNodeOffset(a.nodePosition.steps[0].node,0,!1);return c!=null&&l!=null&&c>l},s=F("layoutDeferredPageFloats"),r=!1,o=0;return s.loopWithFrame(a=>{if(o===i.length){a.breakLoop();return}let h=i[o++],l=h.float;if(n(l)){a.breakLoop();return}let c=new Si().findByFloat(l),p=c.findPageFloatFragment(l,t);if(p&&p.hasFloat(l)){a.continueLoop();return}else if(t.isForbidden(l)||t.hasPrecedingFloatsDeferredToNext(l)){t.deferPageFloat(h),a.breakLoop();return}e.layoutPageFloatInner(h,c,null,p).then(d=>{if(!d){a.breakLoop();return}let f=t.parent.isInvalidated();if(f){a.breakLoop();return}else t.isInvalidated()&&!f&&(r=!0,t.validate());a.continueLoop()})}).then(()=>{r&&t.invalidate(),s.finish(!0)}),s.result()}getLastAfterPositionIfDeferredFloatsExists(e,t){if(e.pageFloatLayoutContext.getPageFloatContinuationsDeferredToNext().length>0)if(e.lastAfterPosition){let i;return t?(i=t.clone(),i.primary=e.lastAfterPosition):i=new Dt(e.lastAfterPosition),i}else return null;else return null}layoutColumn(e,t){let i=this.currentLayoutPosition.flowPositions[t];if(!i||!this.matchPageSide(i.startBreakType))return k(!0);this.setFormattingContextToColumn(e,t),e.init(),this.primaryFlows[t]&&e.bands.length>0&&(e.forceNonfitting=!1);let n=F("layoutColumn");return this.layoutDeferredPageFloats(e).then(()=>{if(e.pageFloatLayoutContext.isInvalidated()){n.finish(!0);return}let s=[],r=[],o=!0;n.loopWithFrame(a=>{if(e.pageFloatLayoutContext.hasContinuingFloatFragmentsInFlow(t)){a.breakLoop();return}for(;i.positions.length-r.length>0;){let h=0;for(;r.includes(h);)h++;let l=i.positions[h];if(l.flowChunk.startOffset>this.lookupOffset||this.flowChunkIsAfterParentFlowForcedBreak(l.flowChunk))break;for(let d=h+1;d<i.positions.length;d++){if(r.includes(d))continue;let f=i.positions[d];if(f.flowChunk.startOffset>this.lookupOffset||this.flowChunkIsAfterParentFlowForcedBreak(f.flowChunk))break;f.flowChunk.isBetter(l.flowChunk)&&(l=f,h=d)}let c=l.flowChunk,p=!0;if(e.layout(l.chunkPosition,o,i.breakAfter).then(d=>{if(e.pageFloatLayoutContext.isInvalidated()){a.breakLoop();return}if(o=!1,l.flowChunk.repeated&&(d===null||c.exclusive)&&s.push(h),c.exclusive){r.push(h),a.breakLoop();return}else{let f=!!d||!!e.pageBreakType,g=this.getLastAfterPositionIfDeferredFloatsExists(e,d);if(e.pageBreakType&&g?(l.chunkPosition=g,i.breakAfter=e.pageBreakType,e.pageBreakType=null):(r.push(h),(d||g)&&(l.chunkPosition=d||g,s.push(h)),i.startBreakType=Yo(e.pageBreakType)),f){a.breakLoop();return}}e.forceNonfitting=!1,p?p=!1:a.continueLoop()}),p){p=!1;return}}a.breakLoop()}).then(()=>{if(!e.pageFloatLayoutContext.isInvalidated()){i.positions=i.positions.filter((h,l)=>s.includes(l)||!r.includes(l)),i.breakAfter==="column"&&(i.breakAfter=null),e.saveDistanceToBlockEndFloats();let a=e.pageFloatLayoutContext.getMaxReachedAfterEdge();e.updateMaxReachedAfterEdge(a)}n.finish(!0)})}),n.result()}createLayoutConstraint(e){let t=this.currentLayoutPosition.page-1,i=this.counterStore.createLayoutConstraint(t);return new mg([i].concat(e.getLayoutConstraints()))}createAndLayoutColumn(e,t,i,n,s,r,o,a,h,l,c,p,d,f){let g=e.vertical?e.isAutoWidth&&e.isRightDependentOnAutoWidth:e.isAutoHeight&&e.isTopDependentOnAutoHeight,m=s.element,w=new Di(a,Ae.COLUMN,null,o,null,null,null),y=this.currentLayoutPosition.clone(),b=F("createAndLayoutColumn"),x;return b.loopWithFrame(I=>{let L=this.createLayoutConstraint(w);if(h>1){let M=this.viewport.document.createElement("div");if(N(M,"position","absolute"),m.appendChild(M),x=new Qn(M,d,this.clientLayout,L,w),x.forceNonfitting=f,x.vertical=s.vertical,x.rtl=s.rtl,x.snapHeight=s.snapHeight,x.snapWidth=s.snapWidth,s.vertical){let H=(s.rtl?h-r-1:r)*(c+l)+s.paddingTop,W=parseFloat(m.style.width);x.setHorizontalPosition(s.paddingLeft+W-s.width,s.width),x.setVerticalPosition(H,c)}else{let H=(s.rtl?h-r-1:r)*(c+l)+s.paddingLeft;x.setVerticalPosition(s.paddingTop,s.height),x.setHorizontalPosition(H,c)}x.originX=t,x.originY=i}else x=new Qn(m,d,this.clientLayout,L,w),x.copyFrom(s);x.exclusions=g?[]:n.concat(),x.innerShape=p,w.setContainer(x),(x.vertical?x.height:x.width)>=0?this.layoutColumn(x,o).then(()=>{w.isInvalidated()||w.finish(),x.pageFloatLayoutContext.isInvalidated()&&!a.isInvalidated()?(x.pageFloatLayoutContext.validate(),this.currentLayoutPosition=y.clone(),x.element!==m&&m.removeChild(x.element),I.continueLoop()):I.breakLoop()}):(w.finish(),I.breakLoop())}).then(()=>{b.finish(x)}),b.result()}setPagePageFloatLayoutContextContainer(e,t,i){(t instanceof Du||t instanceof ho&&!(t instanceof Qi))&&e.setContainer(i)}getRegionPageFloatLayoutContext(e,t,i,n){t instanceof Ci;let s=t.getProp(this,"writing-mode")||null,r=t.getProp(this,"direction")||null;return new Di(e,Ae.REGION,i,n,null,s,r)}layoutFlowColumnsWithBalancing(e,t,i,n,s,r,o,a,h){let l=this.currentLayoutPosition.clone(),c=this.getRegionPageFloatLayoutContext(r,t,o,a),p=!0,d=()=>(this.currentLayoutPosition=l.clone(),this.layoutFlowColumns(e,t,i,n,s,r,c,o,a,h,p).thenAsync(f=>k(f?{columns:f,position:this.currentLayoutPosition}:null)));return d().thenAsync(f=>{if(!f)return k(null);if(h<=1)return k(f.columns);let g=t.getProp(this,"column-fill")||v.balance,m=this.currentLayoutPosition.flowPositions[a],w=sm(h,g,d,c,o,f.columns,m);return w?(p=!1,r.lock(),c.lock(),w.balanceColumns(f).thenAsync(y=>(r.unlock(),r.validate(),c.unlock(),this.currentLayoutPosition=y.position,k(y.columns)))):k(f.columns)})}layoutFlowColumns(e,t,i,n,s,r,o,a,h,l,c){let p=F("layoutFlowColumns"),d=this.currentLayoutPosition.clone(),f=t.getPropAsNumber(this,"column-gap"),g=l>1?t.getPropAsNumber(this,"column-width"):a.vertical?a.height:a.width,m=t.getActiveRegions(this),w=t.getProp(this,"shape-inside"),y=_l(w,0,0,a.width,a.height,this),b=new fw(h,this,this.viewport,this.styler,m,this.xmldoc,this.faces,this.style.footnoteProps,this,e,this.customRenderer,this.fallbackMap,this.documentURLTransformer),x=0,I=null,L=[];return p.loopWithFrame(M=>{this.createAndLayoutColumn(t,i,n,s,a,x++,h,o,l,f,g,y,b,c).then(H=>{if(r.isInvalidated()){L=null,M.breakLoop();return}if((H.pageBreakType&&H.pageBreakType!=="column"||x===l)&&!o.isInvalidated()&&o.finish(),o.isInvalidated()){x=0,this.currentLayoutPosition=d.clone(),o.validate(),o.isLocked()?(L=null,M.breakLoop()):M.continueLoop();return}I=H,L[x-1]=I,I.pageBreakType&&I.pageBreakType!="column"&&(x=l,I.pageBreakType!="region"&&(this.pageBreaks[h]=!0)),x<l?M.continueLoop():M.breakLoop()})}).then(()=>{p.finish(L)}),p.result()}layoutContainer(e,t,i,n,s,r,o){t.reset();let a=t.getProp(this,"enabled");if(a&&a!==v._true)return k(!0);let h=F("layoutContainer"),l=t.getProp(this,"wrap-flow")===v.auto,c=t.getProp(this,"flow-from"),p=this.viewport.document.createElement("div"),d=t.getProp(this,"position");N(p,"position",d?d.name:"absolute");let f=t instanceof Qi;t instanceof Ci?i.appendChild(p):i.insertBefore(p,i.firstChild);let g=new wh(p);g.vertical=t.vertical,g.rtl=t.rtl,g.borderBoxSizing=t.borderBoxSizing,g.exclusions=r,t.prepareContainer(this,g,e,this.faces,this.clientLayout),t instanceof Qi&&(g.width<=0||g.height<=0)&&V.warn("Negative or zero page area size"),g.originX=n,g.originY=s,n+=g.left+g.marginLeft+g.borderLeft,s+=g.top+g.marginTop+g.borderTop,this.setPagePageFloatLayoutContextContainer(o,t,g);let m,w=!1;if(!c||!c.isIdent()){let y=t.getProp(this,"content");if(y instanceof z&&y.expr instanceof De&&y.expr.str.startsWith("running-element-"))y.visit(new Kn(p,this,y,this.counterStore.getExprContentListener()));else if(y&&Vt(y)){let b="span";y.url&&(b="img");let x=this.viewport.document.createElement(b);y.visit(new Kn(x,this,y,this.counterStore.getExprContentListener())),p.appendChild(x),b=="img"&&t.transferSingleUriContentProps(this,x,this.faces),t.transferContentProps(this,g,e,this.faces),b=="span"&&lg(x,t.getProp(this,"text-autospace"),t.getProp(this,"text-spacing-trim"),t.getProp(this,"hanging-punctuation"),this.lang,t.vertical)}else t.suppressEmptyBoxGeneration&&(i.removeChild(p),w=!0);w||t.finishContainer(this,g,e,null,1,this.clientLayout,this.faces),m=k(!0)}else if(this.pageBreaks[c.toString()])o.isInvalidated()||t.finishContainer(this,g,e,null,1,this.clientLayout,this.faces),m=k(!0);else{let y=F("layoutContainer.inner"),b=c.toString(),x=t.getPropAsNumber(this,"column-count");this.layoutFlowColumnsWithBalancing(e,t,n,s,r,o,g,b,x).then(I=>{if(!o.isInvalidated()){let L=I[0];L.element===p&&(g=L),g.computedBlockSize=Math.max.apply(null,I.map(H=>H.computedBlockSize)),t.finishContainer(this,g,e,L,x,this.clientLayout,this.faces);let M=this.currentLayoutPosition.flowPositions[b];M&&M.breakAfter==="region"&&(M.breakAfter=null)}y.finish(!0)}),m=y.result()}return m.then(()=>{if(o.isInvalidated()){h.finish(!0);return}if(!t.isAutoHeight||Math.floor(g.computedBlockSize)>0){if(!w&&!l){let b=t.getProp(this,"shape-outside"),x=g.getOuterShape(b,this);r.push(x)}}else if(t.children.length==0){i.removeChild(p),h.finish(!0);return}let y=f?0:t.children.length-1;h.loop(()=>{for(;y>=0&&y<t.children.length;){let b=t.children[f?y++:y--],x=this.layoutContainer(e,b,p,n,s,r,o);if(x.isPending())return x.thenAsync(()=>k(!o.isInvalidated()));if(o.isInvalidated())break}return k(!1)}).then(()=>{h.finish(!0)})}),h.result()}processLinger(){let e=this.currentLayoutPosition.page;for(let t in this.currentLayoutPosition.flowPositions){let i=this.currentLayoutPosition.flowPositions[t];for(let n=i.positions.length-1;n>=0;n--){let s=i.positions[n];s.flowChunk.startPage>=0&&s.flowChunk.startPage+s.flowChunk.linger-1<=e&&i.positions.splice(n,1)}}}initLingering(){let e=this.currentLayoutPosition.page;for(let t in this.currentLayoutPosition.flowPositions){let i=this.currentLayoutPosition.flowPositions[t];for(let n=i.positions.length-1;n>=0;n--){let s=i.positions[n];s.flowChunk.startPage<0&&s.flowChunk.startOffset<this.lookupOffset&&(s.flowChunk.startPage=e)}}}noMorePrimaryFlows(e){for(let t in this.primaryFlows){let i=e.flowPositions[t];if(i&&i.positions.length>0)return!1}return!0}layoutNextPage(e,t){var i;let n=e.container===e.bleedBox;this.pageBreaks={},t?(this.currentLayoutPosition=t.clone(),this.styler.replayFlowElementsFromOffset(t.highestSeenOffset)):(this.currentLayoutPosition=new Dp,this.styler.replayFlowElementsFromOffset(-1)),this.lang&&e.bleedBox.setAttribute("lang",this.lang),t=this.currentLayoutPosition;let s=1e4;if(t.page>s)throw new Error(`Too many pages generated (over ${s} pages)`);let r=t.startSideOfFlow("body");t.isBlankPage=sn(r)&&this.matchPageSide(r),e.isBlankPage=t.isBlankPage,t.page++,e.pageType==null&&(e.pageType=(i=e.isBlankPage?this.styler.cascade.previousPageType:this.styler.cascade.currentPageType)!=null?i:"",this.styler.cascade.previousPageType=this.styler.cascade.currentPageType),this.clearScope(this.style.pageScope),this.layoutPositionAtPageStart=t.clone();let o=n?{}:this.pageManager.getCascadedPageStyle(e.pageType);if(this.styler.cascade.applyVarFilter([o],this.styler,null),this.styler.cascade.applyCalcFilter(o,this.styler.context),!n){let f=new Re(this.style.pageScope,"left-page");e.side=f.evaluate(this)?"left":"right",e.container.setAttribute("data-vivliostyle-page-side",e.side)}let a=this.selectPageMaster(o);if(!a)return k(null);let h=0;if(!n){e.setAutoPageWidth(a.pageBox.specified.width.value===gn),e.setAutoPageHeight(a.pageBox.specified.height.value===mn),this.counterStore.setCurrentPage(e),this.counterStore.updatePageCounters(o,this);let f=Oa(ts(o),this);this.setPageSizeAndBleed(f,e),Dm(o,f,e,this),h=f.bleedOffset+f.bleed}let l=!n&&a.getProp(this,"writing-mode")||v.horizontal_tb;this.pageVertical=l!=v.horizontal_tb;let c=a.getProp(this,"direction")||v.ltr,p=new Di(this.rootPageFloatLayoutContext,Ae.PAGE,null,null,null,l,c),d=F("layoutNextPage");return d.loopWithFrame(f=>{this.layoutContainer(e,a,e.bleedBox,h,h,[],p).then(()=>{p.isInvalidated()||p.finish(),p.isInvalidated()?(this.currentLayoutPosition=this.layoutPositionAtPageStart.clone(),p.validate(),f.continueLoop()):f.breakLoop()})}).then(()=>{a.adjustPageLayout(this,e,this.clientLayout),n||(this.processLinger(),t=this.currentLayoutPosition,Object.keys(t.flowPositions).forEach(g=>{let m=t.flowPositions[g],w=m.breakAfter;w&&(w==="page"||!this.matchPageSide(w))&&(m.breakAfter=null)})),this.currentLayoutPosition=this.layoutPositionAtPageStart=null,t.highestSeenOffset=this.styler.getReachedOffset();let f=this.style.store.getTriggersForDoc(this.xmldoc);e.finish(f,this.clientLayout),this.noMorePrimaryFlows(t)&&(t=null),d.finish(t)}),d.result()}setPageSizeAndBleed(e,t){this.actualPageWidth=e.pageWidth,this.actualPageHeight=e.pageHeight,this.pageSheetWidth=e.pageWidth+e.cropOffset*2,this.pageSheetHeight=e.pageHeight+e.cropOffset*2,t.container.style.width=`${this.pageSheetWidth}px`,t.container.style.height=`${this.pageSheetHeight}px`,t.bleedBox.style.left=`${e.bleedOffset}px`,t.bleedBox.style.right=`${e.bleedOffset}px`,t.bleedBox.style.top=`${e.bleedOffset}px`,t.bleedBox.style.bottom=`${e.bleedOffset}px`,t.bleedBox.style.padding=`${e.bleed}px`}},Cw=class Tr extends rn{constructor(t,i,n,s){super(t.rootScope,t,i,n,s,t.validatorSet,!n),this.masterHandler=t,u(this,"insideRegion",!1)}startPageTemplateRule(){}startPageMasterRule(t,i,n){let s=new Tu(this.masterHandler.pageScope,t,i,n,this.masterHandler.rootBox,this.condition,this.owner.getBaseSpecificity());this.masterHandler.pushHandler(new Lm(s.scope,this.masterHandler,s,this.validatorSet))}startWhenRule(t){let i=t.expr;this.condition!=null&&(i=ht(this.scope,this.condition,i)),this.masterHandler.pushHandler(new Tr(this.masterHandler,i,this,this.regionId))}startDefineRule(){this.masterHandler.pushHandler(new eg(this.scope,this.owner))}startFontFaceRule(){let t={};this.masterHandler.fontFaces.push({properties:t,condition:this.condition}),this.masterHandler.pushHandler(new An(this.scope,this.owner,null,t,this.masterHandler.validatorSet,"font-face"))}startFlowRule(t){let i=this.masterHandler.flowProps[t];i||(i={},this.masterHandler.flowProps[t]=i),this.masterHandler.pushHandler(new An(this.scope,this.owner,null,i,this.masterHandler.validatorSet))}startViewportRule(){let t={};this.masterHandler.viewportProps.push(t),this.masterHandler.pushHandler(new An(this.scope,this.owner,this.condition,t,this.masterHandler.validatorSet))}startFootnoteRule(t){let i=this.masterHandler.footnoteProps;if(t){let n=cs(i,"_pseudos");i=n[t],i||(i={},n[t]=i)}this.masterHandler.pushHandler(new An(this.scope,this.owner,null,i,this.masterHandler.validatorSet))}startRegionRule(){this.insideRegion=!0,this.startSelectorRule()}startPageRule(){let t=new sw(this.masterHandler.pageScope,this.masterHandler,this,this.validatorSet,this.masterHandler.pageProps);this.masterHandler.pushHandler(t),t.startPageRule()}startRuleBody(){if(rn.prototype.startRuleBody.call(this),this.insideRegion){this.insideRegion=!1;let t=`R${this.masterHandler.regionCount++}`;this.special("region-id",B(t)),this.endRule();let i=new Tr(this.masterHandler,this.condition,this,t);this.masterHandler.pushHandler(i),i.startRuleBody()}}},ju=class extends lp{constructor(e){super(),this.validatorSet=e,u(this,"rootScope"),u(this,"pageScope"),u(this,"rootBox"),u(this,"cascadeParserHandler"),u(this,"regionCount",0),u(this,"fontFaces",[]),u(this,"footnoteProps",{}),u(this,"flowProps",{}),u(this,"viewportProps",[]),u(this,"pageProps",{}),this.rootScope=new Ds(null),this.pageScope=new Ds(this.rootScope),this.rootBox=new Nm(this.rootScope),this.cascadeParserHandler=new Cw(this,null,null,null),this.slave=this.cascadeParserHandler}};function Ew(e,t){return t.parseOPSResource(e)}var kw=class extends Dr{constructor(e){super(Ew,"document"),this.fontDeobfuscator=e,u(this,"styleByKey",{}),u(this,"styleFetcherByKey",{}),u(this,"styleByDocURL",{}),u(this,"triggersByDocURL",{}),u(this,"validatorSet",null),u(this,"styleSheets",[]),u(this,"triggerSingleDocumentPreprocessing",!1)}init(e,t){this.setStyleSheets(e,t);let i=F("OPSDocStore.init");return this.validatorSet=Nu(),xw().then(()=>{this.triggerSingleDocumentPreprocessing=!0,i.finish(!0)}),i.result()}getStyleForDoc(e){return this.styleByDocURL[e.url]}getTriggersForDoc(e){return this.triggersByDocURL[e.url]}setStyleSheets(e,t){this.clearStyleSheets(),e&&e.forEach(this.addAuthorStyleSheet,this),t&&t.forEach(this.addUserStyleSheet,this)}clearStyleSheets(){this.styleSheets.splice(0)}addAuthorStyleSheet(e){let t=e.url;t&&(t=ke(nn(t),vi)),this.styleSheets.push({url:t,text:e.text,flavor:"Author",classes:null,media:null})}addUserStyleSheet(e){let t=e.url;t&&(t=ke(nn(t),vi)),this.styleSheets.push({url:t,text:e.text,flavor:"User",classes:null,media:null})}parseOPSResource(e){let t=F("OPSDocStore.load"),i=e.url,n=i.endsWith("?viv-toc-box");return Gu(e,this).then(s=>{var r;if(!s){t.finish(null);return}if(this.triggerSingleDocumentPreprocessing){let d=ft("PREPROCESS_SINGLE_DOCUMENT");for(let f=0;f<d.length;f++)try{d[f](s.document)}catch(g){V.warn("Error during single document preprocessing:",g)}}let o=[],a=s.document.getElementsByTagNameNS("http://www.idpf.org/2007/ops","trigger");for(let d=0;d<a.length;d++){let f=a[d],g=f.getAttributeNS("http://www.w3.org/2001/xml-events","observer"),m=f.getAttributeNS("http://www.w3.org/2001/xml-events","event"),w=f.getAttribute("action"),y=f.getAttribute("ref");g&&m&&w&&y&&o.push({observer:g,event:m,action:w,ref:y})}this.triggersByDocURL[i]=o;let h=[];if(h.push({url:ke("user-agent-page.css",Jt),text:Wl,flavor:"UA",classes:null,media:null}),n)h.push({url:ke("user-agent-toc.css",Jt),text:Xl,flavor:"UA",classes:null,media:null});else{let d=s.document.querySelectorAll("style, link, meta");for(let f of d){let g=f.namespaceURI,m=f.localName;if(g=="http://www.w3.org/1999/xhtml")if(m=="style"){let w=f.getAttribute("class"),y=f.getAttribute("media"),b=f.getAttribute("title");h.push({url:i,text:f.textContent,flavor:"Author",classes:b?w:null,media:y})}else if(m=="link"){let w=f.getAttribute("href"),y=(r=f.getAttribute("rel"))==null?void 0:r.split(/\s+/),b=f.getAttribute("class"),x=f.getAttribute("media");if(w&&y!=null&&y.includes("stylesheet")&&(!y.includes("alternate")||b)){let I=ke(w,i),L=f.getAttribute("title");h.push({url:I,text:null,classes:L?b:null,media:x,flavor:"Author"})}}else m=="meta"&&f.getAttribute("name")=="viewport"&&h.push({url:i,text:this.processViewportMeta(f),flavor:"Author",classes:null,media:null})}for(let f=0;f<this.styleSheets.length;f++)h.push(this.styleSheets[f])}let l="";for(let d=0;d<h.length;d++)l+=h[d].url,l+="^",h[d].text&&(l+=h[d].text),l+="^";let c=this.styleByKey[l];if(c){this.styleByDocURL[i]=c,t.finish(s);return}let p=this.styleFetcherByKey[l];p||(p=new wn(()=>{let d=F("fetchStylesheet"),f=0,g=new ju(this.validatorSet);return d.loop(()=>{if(f<h.length){let m=h[f++];return g.startStylesheet(m.flavor),m.text!==null?Ur(m.text,g,m.url,m.classes,m.media).thenReturn(!0):eh(m.url,g,m.classes,m.media)}return k(!1)}).then(()=>{let m=g.cascadeParserHandler.finish();c=new Sw(this,g.rootScope,g.pageScope,m,g.rootBox,g.fontFaces,g.footnoteProps,g.flowProps,g.viewportProps,g.pageProps),this.styleByKey[l]=c,delete this.styleFetcherByKey[l],d.finish(c)}),d.result()},`FetchStylesheet ${i}`),this.styleFetcherByKey[l]=p,p.start()),p.get().then(d=>{this.styleByDocURL[i]=d,t.finish(s)})}),t.result()}processViewportMeta(e){return""}},en="\u25B8",za="\u25BE",Nw="\u25B9";function mo(e){let t=Array.from(e.querySelectorAll("nav[*|type],nav[epub\\:type]"));if(t.length>0||(t=Array.from(e.querySelectorAll("[role=doc-toc]")),t.length>0))return t;let i="nav,.toc,#toc,#table-of-contents,#contents,[role=directory]";for(let n of e.querySelectorAll(i)){if(t.find(r=>r.contains(n)))continue;let s=n;/^h[1-6]$/.test(s.localName)&&(s.previousElementSibling?s=s.nextElementSibling:s=s.parentElement),s&&s.querySelector("li a[href]")&&t.push(s)}return t}function Pw(e){let t=mo(e),i=[];for(let n of t)for(let s of n.querySelectorAll("li a[href]"))i.push(s);return i}var Tw=class{constructor(e,t,i,n,s,r,o,a,h,l){this.store=e,this.url=t,this.lang=i,this.clientLayout=n,this.fontMapper=s,this.rendererFactory=o,this.fallbackMap=a,this.documentURLTransformer=h,this.counterStore=l,u(this,"pref"),u(this,"page",null),u(this,"instance",null),this.pref=hl(r),this.pref.spreadView=!1}setAutoHeight(e,t){if(t--!=0){for(let i=e.firstChild;i;i=i.nextSibling)if(i.nodeType==1){let n=i;At(n,"height","auto")!="auto"&&(N(n,"height","auto"),this.setAutoHeight(n,t)),At(n,"position","static")=="absolute"&&(N(n,"position","relative"),this.setAutoHeight(n,t))}}}makeCustomRenderer(e){let t=this.rendererFactory.makeCustomRenderer(e);return(i,n,s)=>{let r=s.behavior;if(r)switch(r.toString()){case"toc-node-anchor":s.color=v.inherit,s["text-decoration"]=v.none;break;case"toc-node":s.display=v.block,s.margin=be,s.padding=be,s["padding-inline-start"]=new T(1.25,"em");break;case"toc-node-first-child":s.display=v.inline_block,s.margin=new T(.2,"em"),s["vertical-align"]=v.top,s.color=v.inherit,s["text-decoration"]=v.none;break;case"toc-container":s.padding=be;break}if(!r||r.toString()!="toc-node"&&r.toString()!="toc-container")return t(i,n,s);let o=i.firstChild;o&&o.nodeType!==1&&Ve(o)&&i.replaceChild(i.ownerDocument.createComment(o.textContent),o);let a=n.getAttribute("data-adapt-class");if(a=="toc-node"){let l=n.firstChild;l.textContent!=en&&(l.textContent=en,N(l,"cursor","pointer"),l.addEventListener("click",Iw,!1),l.setAttribute("role","button"),l.setAttribute("aria-expanded","false"),n.setAttribute("aria-expanded","false"),n.style.height!=="0px"&&(l.tabIndex=0))}let h=n.ownerDocument.createElement("div");if(h.setAttribute("data-adapt-process-children","true"),r.toString()=="toc-node"){let l=n.ownerDocument.createElement("div");if(l.textContent=Nw,N(l,"margin","0.2em 0 0 -1em"),N(l,"margin-inline-start","-1em"),N(l,"margin-inline-end","0"),N(l,"display","inline-block"),N(l,"width","1em"),N(l,"text-align","center"),N(l,"vertical-align","top"),N(l,"cursor","default"),N(l,"font-family","Menlo,sans-serif"),h.appendChild(l),N(h,"overflow","hidden"),h.setAttribute("data-adapt-class","toc-node"),h.setAttribute("role","treeitem"),a=="toc-node"||a=="toc-container"){N(h,"height","0px");let c=i.firstElementChild;c&&c.localName==="a"&&(c.tabIndex=-1)}else n.setAttribute("role","tree")}else a=="toc-node"&&(h.setAttribute("data-adapt-class","toc-container"),h.setAttribute("role","group"),h.setAttribute("aria-hidden","true"));return k(h)}}showTOC(e,t,i,n,s){if(this.page)return k(this.page);let r=F("showTOC"),o=new hh(e,e);this.page=o;let a=Ct(this.url)+"?viv-toc-box";return this.store.load(a).then(h=>{for(let f of mo(h.document))f.setAttribute("data-vivliostyle-role","doc-toc");let l=this.store.getStyleForDoc(h),c=l.sizeViewport(i,1e5,s);t=new is(t.window,c.fontSize,0,t.root,c.width,c.height);let p=this.makeCustomRenderer(h),d=new go(l,h,this.lang,t,this.clientLayout,this.fontMapper,p,this.fallbackMap,0,this.documentURLTransformer,this.counterStore);this.instance=d,d.pref=this.pref,d.init().then(()=>{d.layoutNextPage(o,null).then(()=>{this.setAutoHeight(e,2),r.finish(o)})})}),r.result()}hideTOC(){this.page&&(this.page.container.style.visibility="hidden",this.page.container.setAttribute("aria-hidden","true"))}isTOCVisible(){return!!this.page&&this.page.container.style.visibility==="visible"}getTOC(){if(!this.page)return[];function e(n){if(!n)return[];let s=n.querySelectorAll(":scope > [role=treeitem] > a[href]");return Array.from(s).map(t)}function t(n){let s=new URL(n.href),[,r]=s.hash.match(/^#?(.*)$/),o=n.innerText,a=n.parentElement.querySelector("[role=group]"),h=e(a);return{id:r,title:o,children:h}}let i=this.page.container.querySelector("[role=tree]");return e(i)}};function Iw(e){let t=e.target,i=t.textContent==en;t.textContent=i?za:en;let n=t.parentNode;t.setAttribute("aria-expanded",i?"true":"false"),n.setAttribute("aria-expanded",i?"true":"false");let s=n.firstChild;for(;s;){if(s.nodeType===1){let r=s,o=r.getAttribute("data-adapt-class");if(o==="toc-container"){if(r.setAttribute("aria-hidden",i?"false":"true"),r.firstChild){s=r.firstChild;continue}}else if(o==="toc-node"&&(r.style.height=i?"auto":"0px",r.children.length>=2&&(r.children[1].tabIndex=i?0:-1),r.children.length>=3&&(r.children[0].tabIndex=i?0:-1,!i))){let a=r.children[0];if(a.textContent==za){a.textContent=en,a.setAttribute("aria-expanded","false"),r.setAttribute("aria-expanded","false"),s=r.children[2];continue}}}for(;!s.nextSibling&&s.parentNode!==n;)s=s.parentNode;s=s.nextSibling}e.stopPropagation()}var Da=class extends kw{constructor(){super(null),u(this,"plainXMLStore"),u(this,"jsonStore"),u(this,"opfByURL",{}),u(this,"primaryOPFByEPubURL",{}),u(this,"deobfuscators",{}),u(this,"documents",{}),this.fontDeobfuscator=this.makeDeobfuscatorFactory(),this.plainXMLStore=bw(),this.jsonStore=sp()}makeDeobfuscatorFactory(){return e=>this.deobfuscators[e]}loadAsPlainXML(e,t,i){return this.plainXMLStore.load(e,t,i)}startLoadingAsPlainXML(e){this.plainXMLStore.fetch(e)}loadAsJSON(e,t,i){return this.jsonStore.load(e,t,i)}loadPubDoc(e){let t=F("loadPubDoc");return hs(e,null,"HEAD").then(i=>{if(i.status>=400)this.loadEPUBDoc(e).then(n=>{if(n){t.finish(n);return}V.error(`Failed to fetch a source document from ${e} (${i.status}${i.statusText?" "+i.statusText:""})`),t.finish(null)});else if(!i.status&&!i.responseXML&&!i.responseText&&!i.responseBlob&&!i.contentType&&/\/[^/.]+(?:[#?]|$)/.test(e)&&(e=e.replace(/([#?]|$)/,"/$1")),i.contentType=="application/oebps-package+xml"||/\.opf(?:[#?]|$)/.test(e)){let[,n,s]=e.match(/^((?:.*\/)?)([^/]*)$/);this.loadOPF(n,s).thenFinish(t)}else i.contentType=="application/ld+json"||i.contentType=="application/webpub+json"||i.contentType=="application/audiobook+json"||i.contentType=="application/json"||/\.json(?:ld)?(?:[#?]|$)/.test(e)?this.loadAsJSON(e,!0).then(n=>{if(!n){this.reportLoadError(e),t.finish(null);return}let s=new Hn(this,e);s.initWithWebPubManifest(n,void 0,e).then(()=>{t.finish(s)})}):this.loadWebPub(e).then(n=>{if(n){t.finish(n);return}this.loadEPUBDoc(e).then(s=>{if(s){t.finish(s);return}V.error(`Failed to load ${e}.`),t.finish(null)})})}),t.result()}loadEPUBDoc(e){let t=F("loadEPUBDoc");e.endsWith("/")||(e=e+"/"),this.startLoadingAsPlainXML(e+"META-INF/encryption.xml");let i=e+"META-INF/container.xml";return this.loadAsPlainXML(i).then(n=>{if(n){let s=n.doc().child("container").child("rootfiles").child("rootfile").attribute("full-path");for(let r of s)if(r){this.loadOPF(e,r).thenFinish(t);return}}t.finish(null)}),t.result()}loadOPF(e,t){let i=e+t,n=this.opfByURL[i];if(n)return k(n);let s=F("loadOPF");return this.loadAsPlainXML(i,!0,`Failed to fetch EPUB OPF ${i}`).then(r=>{r?(n=new Hn(this,e),this.opfByURL[i]=n,this.primaryOPFByEPubURL[e]=n,this.plainXMLStore.resources[e+"META-INF/container.xml"]?this.loadAsPlainXML(e+"META-INF/encryption.xml").then(o=>{n.initWithXMLDoc(r,o).then(()=>{s.finish(n)})}):n.initWithXMLDoc(r,null).then(()=>{s.finish(n)})):this.reportLoadError(i)}),s.result()}loadWebPub(e){let t=F("loadWebPub");return this.load(e).then(i=>{if(!i)this.reportLoadError(e);else if(i.document.querySelector("a[href='META-INF/'],a[href$='/META-INF/']"))t.finish(null);else{let n=i.document,s=new Hn(this,e),r=n.querySelector("link[rel='publication'],link[rel='manifest'][type='application/webpub+json']");if(r){let o=r.getAttribute("href");if(/^#/.test(o)){let a=Rr(n.getElementById(o.substr(1)).textContent);s.initWithWebPubManifest(a,n).then(()=>{t.finish(s)})}else{let a=ke(r.getAttribute("href"),e);this.loadAsJSON(a,!0,`Failed to fetch Publication Manifest ${a}`).then(h=>{s.initWithWebPubManifest(h,n,a).then(()=>{t.finish(s)})})}}else s.initWithWebPubManifest({},n).then(()=>{s.toc&&s.toc.src===i.url&&mo(n).length===0&&(s.toc=null),t.finish(s)})}}),t.result()}addDocument(e,t){let i=F("EPUBDocStore.load"),n=Ct(e);return(this.documents[n]=this.parseOPSResource({status:200,statusText:"",url:n,contentType:t.contentType,responseText:null,responseXML:t,responseBlob:null})).thenFinish(i),i.result()}reportLoadError(e){let t=n=>n.replace(/([^:/?#]|^)[/?#].*/,"$1"),i=()=>{let n=t(e);return!(n===t(vi)||Object.keys(this.resources).find(s=>this.resources[s]&&t(s)===n)||!/^https?:?\/\/[^/]/.test(e)||/\.(xhtml|xht|xml|opf)$/i.test(e))};e.startsWith("data:")?V.error(`Failed to load ${e}. Invalid data.`):e.startsWith("http:")&&vi.startsWith("https:")?V.error(`Failed to load ${e}. Mixed Content ("http:" content on "https:" context) is not allowed.`):i()?V.error(`Failed to load ${e}. This may be caused by the server not allowing cross-origin resource sharing (CORS).`):V.error(`Failed to load ${e}. The target resource is invalid.`)}load(e){let t=Ct(e),i=this.documents[t];if(i)return i.isPending()?i:k(i.get());{let n=F("EPUBDocStore.load");return i=super.load(t,!0,`Failed to fetch a source document from ${t}`),i.then(s=>{s?n.finish(s):this.reportLoadError(t)}),n.result()}}processViewportMeta(e){let t=e.getAttribute("content");if(!t)return"";let i={},n;for(;(n=t.match(/^,?\s*([-A-Za-z_.][-A-Za-z_0-9.]*)\s*=\s*([-+A-Za-z_0-9.]*)\s*/))!=null;)t=t.substr(n[0].length),i[n[1]]=n[2];let s=i.width-0,r=i.height-0;if(s&&r){let o=!!Object.values(this.primaryOPFByEPubURL).find(a=>a.prePaginated);return`@-epubx-viewport{width:${s}px;height:${r}px;}`+(o?`@page{size:${s}px ${r}px;margin:0;}`:"@page{margin:0;}")}return""}},Va=class{constructor(){u(this,"id",null),u(this,"src",""),u(this,"mediaType",null),u(this,"title",null),u(this,"itemRefElement",null),u(this,"spineIndex",-1),u(this,"compressedSize",0),u(this,"compressed",null),u(this,"epage",0),u(this,"epageCount",0),u(this,"startPage",null),u(this,"skipPagesBefore",null),u(this,"itemProperties"),this.itemProperties=Tc}initWithElement(e,t){this.id=e.getAttribute("id"),this.src=ke(e.getAttribute("href"),t),this.mediaType=e.getAttribute("media-type");let i=e.getAttribute("properties");i&&(this.itemProperties=Bc(i.split(/\s+/)))}initWithParam(e){this.spineIndex=e.index,this.id=`item${e.index+1}`,this.src=e.url,this.startPage=e.startPage,this.skipPagesBefore=e.skipPagesBefore}};function Rw(e){return e.id}function Aw(e){return t=>{let i=F("deobfuscator");return Lw("SHA-1",e).then(n=>{let s=t.slice(0,1040),r=t.slice(1040,t.size);tp(s).then(o=>{let a=new DataView(o);for(let h=0;h<a.byteLength;h++){let l=a.getUint8(h);l^=n[h%20],a.setUint8(h,l)}i.finish(Yl([a,r]))})}),i.result()}}function Lw(e,t){let i=F("makeDigest"),n=i.suspend();return window.crypto.subtle.digest(e,new TextEncoder().encode(t)).then(s=>{n.schedule(new Uint8Array(s))}),i.result()}var Ft={dcterms:"http://purl.org/dc/terms/",marc:"http://id.loc.gov/vocabulary/",media:"http://www.idpf.org/epub/vocab/overlays/#",rendition:"http://www.idpf.org/vocab/rendition/#",onix:"http://www.editeur.org/ONIX/book/codelists/current.html#",xsd:"http://www.w3.org/2001/XMLSchema#",opf:"http://www.idpf.org/2007/opf"},$i="http://idpf.org/epub/vocab/package/meta/#",Te={language:`${Ft.dcterms}language`,title:`${Ft.dcterms}title`,creator:`${Ft.dcterms}creator`,layout:`${Ft.rendition}layout`,titleType:`${$i}title-type`,displaySeq:`${$i}display-seq`,alternateScript:`${$i}alternate-script`,role:`${$i}role`};function Fw(e,t){let i={};return(n,s)=>{var r,o,a,h,l,c;let p,d,f=n.r||i,g=s.r||i;if(e==Te.title&&(p=((r=f[Te.titleType])==null?void 0:r[0].v)=="main",d=((o=g[Te.titleType])==null?void 0:o[0].v)=="main",p!=d))return p?-1:1;let m=parseInt((a=f[Te.displaySeq])==null?void 0:a[0].v,10);isNaN(m)&&(m=Number.MAX_VALUE);let w=parseInt((h=g[Te.displaySeq])==null?void 0:h[0].v,10);return isNaN(w)&&(w=Number.MAX_VALUE),m!=w?m-w:e!=Te.language&&t&&(p=((l=f[Te.language]||f[Te.alternateScript])==null?void 0:l[0].v)==t,d=((c=g[Te.language]||g[Te.alternateScript])==null?void 0:c[0].v)==t,p!=d)?p?-1:1:n.o-s.o}}function Ow(e,t){let i;if(!t)i=Ft;else{i={};for(let d in Ft)i[d]=Ft[d];let p;for(;(p=t.match(/^\s*([A-Z_a-z\u007F-\uFFFF][-.A-Z_a-z0-9\u007F-\uFFFF]*):\s*(\S+)/))!=null;)t=t.substr(p[0].length),i[p[1]]=p[2]}let n=p=>{if(p){let d=p.match(/^\s*(([^:]*):)?(\S+)\s*$/);if(d){let f=d[2]?i[d[2]]:$i;if(f)return f+d[3]}}return null},s=1,r=e.childElements().forEachNonNull(p=>{if(p.localName=="meta"){let d=n(p.getAttribute("property"));if(d)return{name:d,value:p.textContent,id:p.getAttribute("id"),order:s++,refines:p.getAttribute("refines"),lang:null,scheme:n(p.getAttribute("scheme")),role:null}}else if(p.namespaceURI=="http://purl.org/dc/elements/1.1/")return{name:Ft.dcterms+p.localName,order:s++,lang:p.getAttribute("xml:lang"),value:p.textContent,id:p.getAttribute("id"),refines:null,scheme:null,role:p.getAttribute("role")||p.getAttribute("opf:role")};return null}),o=xs(r,p=>p.refines),a=p=>_c(p,(d,f)=>d.map(g=>{let m={v:g.value,o:g.order};g.scheme&&(m.s=g.scheme);let w=o[`#${g.id}`]||[];if(w.length||g.lang||g.role){g.lang&&w.push({name:Te.language,value:g.lang,lang:null,id:null,refines:g.id,scheme:null,order:g.order,role:null}),g.role&&w.push({name:Te.role,value:g.role,lang:null,id:null,refines:g.id,scheme:null,order:g.order,role:null});let y=xs(w,b=>b.name);m.r=a(y)}return m})),h=a(xs(r,p=>p.refines?null:p.name)),l=null;h[Te.language]&&(l=h[Te.language][0].v);let c=p=>{for(let d in p){let f=p[d];f.sort(Fw(d,l));for(let g=0;g<f.length;g++){let m=f[g].r;m&&c(m)}}};return c(h),h}function Bw(){let e=window.MathJax;return e?e.Hub:null}var Ua={"application/xhtml+xml":!0,"image/jpeg":!0,"image/png":!0,"image/svg+xml":!0,"image/gif":!0,"audio/mp3":!0},Os="viv-id-",Hn=class{constructor(e,t){this.store=e,this.pubURL=t,u(this,"opfXML",null),u(this,"encXML",null),u(this,"items",null),u(this,"spine",null),u(this,"itemMap",null),u(this,"itemMapByPath",null),u(this,"uid",null),u(this,"bindings",{}),u(this,"lang",null),u(this,"epageCount",0),u(this,"prePaginated",!1),u(this,"epageIsRenderedPage",!0),u(this,"epageCountCallback",null),u(this,"metadata",{}),u(this,"toc",null),u(this,"cover",null),u(this,"fallbackMap",{}),u(this,"pageProgression",null),u(this,"documentURLTransformer"),this.documentURLTransformer=this.createDocumentURLTransformer()}createDocumentURLTransformer(){let e=this;class t{transformFragment(n,s){let r=s+(n?`#${n}`:"");return Os+sl(r,":")}transformURL(n,s){let r=n.match(/^([^#]*)#?(.*)$/);if(r){let o=r[1]||s.replace(/\?viv-toc-box$/,""),a=decodeURIComponent(r[2]);if(o&&e.spine.some(h=>h.src===o))return`#${this.transformFragment(a,o)}`}return n}restoreURL(n){n.charAt(0)==="#"&&(n=n.substring(1)),n.indexOf(Os)===0&&(n=n.substring(Os.length));let s=Oc(n,":").match(/^([^#]*)#?(.*)$/);return s?[s[1],s[2]]:[]}}return new t}getMetadata(){return this.metadata}getPathFromURL(e){if(e.startsWith("data:"))return e===this.pubURL?"":e;if(this.pubURL){let t=ke("",this.pubURL);return e===t||e+"/"===t?"":(t.charAt(t.length-1)!="/"&&(t+="/"),e.substr(0,t.length)==t?decodeURIComponent(e.substr(t.length)):null)}else return e}initWithXMLDoc(e,t){this.opfXML=e,this.encXML=t;let i=e.doc().child("package"),n=i.attribute("unique-identifier")[0];if(n){let h=e.getElement(`${e.url}#${n}`);h&&(this.uid=h.textContent.replace(/[ \n\r\t]/g,""))}let s={};this.items=i.child("manifest").child("item").asArray().map(h=>{let l=new Va,c=h;l.initWithElement(c,e.url);let p=c.getAttribute("fallback");return p&&!Ua[l.mediaType]&&(s[l.src]=p),!this.toc&&l.itemProperties.nav&&(this.toc=l),!this.cover&&l.itemProperties["cover-image"]&&(this.cover=l),l}),this.itemMap=No(this.items,Rw),this.itemMapByPath=No(this.items,h=>this.getPathFromURL(h.src));for(let h in s){let l=h;for(;;){let c=this.itemMap[s[l]];if(!c)break;if(Ua[c.mediaType]){this.fallbackMap[h]=c.src;break}l=c.src}}this.spine=i.child("spine").child("itemref").asArray().map((h,l)=>{let c=h,p=c.getAttribute("idref"),d=this.itemMap[p];return d&&(d.itemRefElement=c,d.spineIndex=l),d});let r=i.child("spine").attribute("page-progression-direction")[0];r&&(this.pageProgression=Ka(r));let o=t?t.doc().child("encryption").child("EncryptedData").predicate(Ma.withChild("EncryptionMethod",Ma.withAttribute("Algorithm","http://www.idpf.org/2008/embedding"))).child("CipherData").child("CipherReference").attribute("URI"):[],a=i.child("bindings").child("mediaType").asArray();for(let h=0;h<a.length;h++){let l=a[h].getAttribute("handler"),c=a[h].getAttribute("media-type");c&&l&&this.itemMap[l]&&(this.bindings[c]=this.itemMap[l].src)}if(this.metadata=Ow(i.child("metadata"),i.attribute("prefix")[0]),this.metadata[Te.language]&&(this.lang=this.metadata[Te.language][0].v),this.metadata[Te.layout]&&(this.prePaginated=this.metadata[Te.layout][0].v==="pre-paginated"),o.length>0&&this.uid){let h=Aw(this.uid);for(let l=0;l<o.length;l++)this.store.deobfuscators[this.pubURL+o[l]]=h}return this.prePaginated&&this.assignAutoPages(),k(!0)}assignAutoPages(){let e=0;for(let t of this.spine){let i=this.prePaginated?1:Math.ceil(t.compressedSize/1024);t.epage=e,t.epageCount=i,e+=i}this.epageCount=e,this.epageCountCallback&&this.epageCountCallback(this.epageCount)}setEPageCountMode(e){this.epageIsRenderedPage=e||this.prePaginated}countEPages(e){if(this.epageCountCallback=e,this.epageIsRenderedPage)return this.prePaginated&&this.epageCount==0&&this.assignAutoPages(),k(!0);let t=0,i=0,n=F("countEPages");return n.loopWithFrame(s=>{if(i===this.spine.length){s.breakLoop();return}let r=this.spine[i++];r.epage=t,this.store.load(r.src).then(o=>{let a=1800,h=o.lang||this.lang;h&&h.match(/^(ja|ko|zh)/)&&(a/=3),r.epageCount=Math.ceil(o.getTotalOffset()/a),t+=r.epageCount,this.epageCount=t,this.epageCountCallback&&this.epageCountCallback(this.epageCount),s.continueLoop()})}).thenFinish(n),n.result()}initWithChapters(e,t){this.itemMap={},this.itemMapByPath={},this.items=[],this.spine=this.items;let i=this.opfXML=new $u(null,"",new DOMParser().parseFromString("<spine></spine>","text/xml"));return e.forEach(n=>{let s=new Va;s.initWithParam(n),s.id;let r=i.document.createElement("itemref");r.setAttribute("idref",s.id),i.root.appendChild(r),s.itemRefElement=r,this.itemMap[s.id]=s;let o=this.getPathFromURL(n.url);o==null&&(o=n.url),this.itemMapByPath[o]=s,this.items.push(s)}),t?this.store.addDocument(e[0].url,t):k(null)}initWithWebPubManifest(e,t,i){var n,s,r,o;e.readingProgression&&(this.pageProgression=e.readingProgression),this.metadata===void 0&&(this.metadata={});let a=e.name||((n=e.metadata)==null?void 0:n.title)||t?.title;a&&(this.metadata[Te.title]=(Array.isArray(a)?a:[a]).map(m=>{var w;return{v:(w=m.value)!=null?w:m}}));let h=e.author||e.creator||((s=e.metadata)==null?void 0:s.author)||Array.from((r=t?.querySelectorAll("meta[name='author'], meta[name='DC.Creator']"))!=null?r:[]).map(m=>m.content);h&&h.length!==0&&(this.metadata[Te.creator]=(Array.isArray(h)?h:[h]).map(m=>{var w;return{v:(w=m.name)!=null?w:m}}));let l=e.inLanguage||((o=e.metadata)==null?void 0:o.language)||t?.documentElement.lang||t?.documentElement.getAttribute("xml:lang");l&&(this.metadata[Te.language]=(Array.isArray(l)?l:[l]).map(m=>({v:m})));let c=this.getPathFromURL(this.pubURL);if(!e.readingOrder&&t&&c!==null){e.readingOrder=[encodeURI(c)];for(let m of Pw(t)){let w=m.getAttribute("href");if(/^(https?:)?\/\//.test(w)||/\.(jpe?g|png|gif|pdf|svg|mml)([#?]|$)/.test(w))continue;let y=Ct(ke(w,this.pubURL)),b=this.getPathFromURL(y),x=b!==null?encodeURI(b):y;e.readingOrder.indexOf(x)==-1&&e.readingOrder.push(x)}}let p=[],d=0,f=-1;[e.readingOrder,e.resources].forEach(m=>{m instanceof Array&&m.forEach(w=>{let y=m===e.readingOrder,b=typeof w=="string"?w:w.url||w.href,x=typeof w=="string"?"":w.encodingFormat||w.href&&w.type||"";if(y||x==="text/html"||x==="application/xhtml+xml"||!x&&w.rel!=="stylesheet"&&/(^|\/)([^/]+\.(x?html|htm|xht)|[^/.]*)([#?]|$)/.test(b)){let I=i?i.replace(/\/[^/]+$/,"/"):this.pubURL,L={url:ke(nn(b),I),index:d++,startPage:null,skipPagesBefore:null};w.rel==="contents"&&f===-1&&(f=L.index),p.push(L)}})});let g=F("initWithWebPubManifest");return this.initWithChapters(p).then(()=>{var m,w;f!==-1&&(this.toc=this.items[f]),this.toc||(this.toc=i?(m=this.items)==null?void 0:m[0]:this.itemMapByPath[c]);let y=(w=e.readingOrder)==null?void 0:w.length;y&&y<this.items.length&&this.items.splice(y),g.finish(!0)}),g.result()}getCFI(e,t){let i=this.spine[e],n=F("getCFI");return this.store.load(i.src).then(s=>{let r=s.getNodeByOffset(t),o=null;if(r){let a=s.getNodeOffset(r,0,!1),h=t-a,l=new Lo;l.prependPathFromNode(r,h,!1,null),i.itemRefElement&&l.prependPathFromNode(i.itemRefElement,0,!1,null),o=l.toString()}n.finish(o)}),n.result()}resolveFragment(e){return yi("resolveFragment",t=>{if(!e){t.finish(null);return}let i=new Lo;i.fromString(e);let n;if(this.opfXML){let s=i.navigate(this.opfXML.document);if(s.node.nodeType!=1||s.after||!s.ref){t.finish(null);return}let r=s.node,o=r.getAttribute("idref");if(r.localName!="itemref"||!o||!this.itemMap[o]){t.finish(null);return}n=this.itemMap[o],i=s.ref}else n=this.spine[0];this.store.load(n.src).then(s=>{let r=i.navigate(s.document),o=s.getNodeOffset(r.node,r.offset,r.after);t.finish({spineIndex:n.spineIndex,offsetInItem:o,pageIndex:-1})})},(t,i)=>{V.warn(i,"Cannot resolve fragment:",e),t.finish(null)})}resolveEPage(e){return yi("resolveEPage",t=>{if(e<=0){t.finish({spineIndex:0,offsetInItem:0,pageIndex:-1});return}if(this.epageIsRenderedPage){let s=this.spine.findIndex(a=>a.epage==0&&a.epageCount==0||a.epage<=e&&a.epage+a.epageCount>e);s==-1&&(s=this.spine.length-1);let r=this.spine[s];(!r||r.epageCount==0)&&(r=this.spine[--s]);let o=Math.floor(e-r.epage);t.finish({spineIndex:s,offsetInItem:-1,pageIndex:o});return}let i=_t(this.spine.length,s=>{let r=this.spine[s];return r.epage+r.epageCount>e});i==this.spine.length&&i--;let n=this.spine[i];this.store.load(n.src).then(s=>{e-=n.epage,e>n.epageCount&&(e=n.epageCount);let r=0;if(e>0){let o=s.getTotalOffset();r=Math.round(o*e/n.epageCount),r==o&&r--}t.finish({spineIndex:i,offsetInItem:r,pageIndex:-1})})},(t,i)=>{V.warn(i,"Cannot resolve epage:",e),t.finish(null)})}getEPageFromPosition(e){let t=this.spine[e.spineIndex];if(this.epageIsRenderedPage){let n=t.epage+e.pageIndex;return k(n)}if(e.offsetInItem<=0)return k(t.epage);let i=F("getEPage");return this.store.load(t.src).then(n=>{let s=n.getTotalOffset(),r=Math.min(s,e.offsetInItem);i.finish(t.epage+r*t.epageCount/s)}),i.result()}},Fn=(e,t)=>({page:e,position:{spineIndex:e.spineIndex,pageIndex:t,offsetInItem:e.offset}}),_w=class{constructor(e,t,i,n,s){this.opf=e,this.viewport=t,this.fontMapper=i,this.pageSheetSizeReporter=s,u(this,"spineItems",[]),u(this,"spineItemLoadingContinuations",[]),u(this,"pref"),u(this,"clientLayout"),u(this,"counterStore"),u(this,"tocAutohide",!1),u(this,"tocVisible",!1),u(this,"tocView"),this.pref=hl(n),this.clientLayout=new mw(t),this.counterStore=new Ed(e.documentURLTransformer)}getPage(e){let t=this.spineItems[e.spineIndex];return t?t.pages[e.pageIndex]:null}getCurrentPageProgression(e){if(this.opf.pageProgression)return this.opf.pageProgression;{let t=this.spineItems[e?e.spineIndex:0];return t?t.instance.pageProgression:null}}finishPageContainer(e,t,i){t.container.style.display="none",t.container.style.visibility="visible",t.container.style.position="",t.container.style.top="",t.container.style.left="",t.container.setAttribute("data-vivliostyle-page-side",t.side);let n=e.pages[i];if(t.isFirstPage=e.item.spineIndex==0&&i==0,e.pages[i]=t,this.opf.epageIsRenderedPage){if(i==0&&e.item.spineIndex>0){let s=this.opf.spine[e.item.spineIndex-1];e.item.epage=s.epage+s.epageCount}e.item.epageCount=e.pages.length,this.opf.epageCount=this.opf.spine.reduce((s,r)=>s+r.epageCount,0),this.opf.epageCountCallback&&this.opf.epageCountCallback(this.opf.epageCount)}if(n)e.instance.viewport.contentContainer.replaceChild(t.container,n.container),n.dispatchEvent({type:"replaced",target:null,currentTarget:null,preventDefault:null,newPage:t});else{let s=null;if(i>0)s=e.pages[i-1].container.nextElementSibling;else for(let r=e.item.spineIndex+1;r<this.spineItems.length;r++){let o=this.spineItems[r];if(o&&o.pages[0]){s=o.pages[0].container;break}}e.instance.viewport.contentContainer.insertBefore(t.container,s)}this.pageSheetSizeReporter({width:e.instance.pageSheetWidth,height:e.instance.pageSheetHeight},e.instance.pageSheetSize,e.item.spineIndex,e.instance.pageNumberOffset+i)}renderSinglePage(e,t){let i=F("renderSinglePage"),n=e.pages[t?t.page:0],s=this.makePage(e,t);return n&&(s.pageType=n.pageType),e.instance.layoutNextPage(s,t).then(r=>{t=r;let o=t?t.page-1:e.layoutPositions.length-1;this.finishPageContainer(e,s,o),this.counterStore.finishPage(s.spineIndex,o);let a=null;if(t){let h=e.layoutPositions[t.page];e.layoutPositions[t.page]=t,h&&e.pages[t.page]&&(t.isSamePosition(h)||(a=this.renderSinglePage(e,t)))}a||(a=k(!0)),a.then(()=>{let h=this.counterStore.getUnresolvedRefsToPage(s),l=0;i.loopWithFrame(c=>{if(l++,l>h.length){c.breakLoop();return}let p=h[l-1];if(p.refs=p.refs.filter(d=>!d.isResolved()),p.refs.length===0){c.continueLoop();return}this.getPageViewItem(p.spineIndex).then(d=>{if(!d){c.continueLoop();return}let{currentPageType:f,previousPageType:g}=d.instance.styler.cascade,m=d.instance.scopes;d.instance.scopes={},this.counterStore.pushPageCounters(p.pageCounters),this.counterStore.pushReferencesToSolve(p.refs);let w=d.layoutPositions[p.pageIndex];this.renderSinglePage(d,w).then(y=>{d.instance.styler.cascade.currentPageType=f,d.instance.styler.cascade.previousPageType=g,d.instance.scopes=m,this.counterStore.popPageCounters(),this.counterStore.popReferencesToSolve();let b=y.pageAndPosition.position;b.spineIndex===s.spineIndex&&b.pageIndex===o&&(s=y.pageAndPosition.page),c.continueLoop()})})}).then(()=>{s.container.parentElement||(s=e.pages[o]),s.isLastPage=!t&&e.item.spineIndex===this.opf.spine.length-1,s.isLastPage&&(this.viewport,this.counterStore.finishLastPage(this.viewport)),s.container.setAttribute("data-vivliostyle-page-index",o),s.container.setAttribute("data-vivliostyle-spine-index",s.spineIndex),i.finish({pageAndPosition:Fn(s,o),nextLayoutPosition:t})})})}),i.result()}normalizeSeekPosition(e,t){let i=e.pageIndex,n=-1;if(i<0){n=e.offsetInItem;let s=_t(t.layoutPositions.length,r=>t.instance.getPosition(t.layoutPositions[r],!0)>n);s===t.layoutPositions.length?t.complete?i=t.layoutPositions.length-1:i=Number.POSITIVE_INFINITY:i=s-1}else i===Number.POSITIVE_INFINITY&&e.offsetInItem!==-1&&(n=e.offsetInItem);return{spineIndex:e.spineIndex,pageIndex:i,offsetInItem:n}}findPage(e,t){let i=F("findPage");return this.getPageViewItem(e.spineIndex).then(n=>{if(!n){i.finish(null);return}let s=null,r;i.loopWithFrame(o=>{let a=this.normalizeSeekPosition(e,n);r=a.pageIndex,s=n.pages[r],s?o.breakLoop():n.complete?(r=n.layoutPositions.length-1,s=n.pages[r],o.breakLoop()):t?this.renderPage(a).then(h=>{h&&(s=h.page,r=h.position.pageIndex),o.breakLoop()}):i.sleep(100).then(()=>{o.continueLoop()})}).then(()=>{i.finish(Fn(s,r))})}),i.result()}renderPage(e){let t=F("renderPage");return this.getPageViewItem(e.spineIndex).then(i=>{if(!i){t.finish(null);return}let n=this.normalizeSeekPosition(e,i),s=n.pageIndex,r=n.offsetInItem,o=i.pages[s];if(o){t.finish(Fn(o,s));return}t.loopWithFrame(a=>{if(s<i.layoutPositions.length){a.breakLoop();return}if(i.complete){s=i.layoutPositions.length-1,a.breakLoop();return}let h=i.layoutPositions[i.layoutPositions.length-1];this.renderSinglePage(i,h).then(l=>{let c=l.pageAndPosition.page;if(h=l.nextLayoutPosition,h){if(r>=0&&i.instance.getPosition(h)>r){o=c,s=i.layoutPositions.length-2,a.breakLoop();return}a.continueLoop()}else o=c,s=l.pageAndPosition.position.pageIndex,i.complete=!0,a.breakLoop()})}).then(()=>{o=o||i.pages[s];let a=i.layoutPositions[s];if(o){t.finish(Fn(o,s));return}this.renderSinglePage(i,a).then(h=>{h.nextLayoutPosition||(i.complete=!0),t.finish(h.pageAndPosition)})})}),t.result()}renderAllPages(){let e=F("renderAllPages");return this.renderPagesUpto({spineIndex:this.opf.spine.length-1,pageIndex:Number.POSITIVE_INFINITY,offsetInItem:-1},!1).then(t=>{e.loopWithFrame(i=>{this.spineItems.some(n=>n?.pages.some(s=>s?.fetchers.some(r=>!r.arrived)))?e.sleep(100).then(()=>{i.continueLoop()}):i.breakLoop()}).then(()=>{e.finish(t)})}),e.result()}renderPagesUpto(e,t){let i=F("renderPagesUpto");e||(e={spineIndex:0,pageIndex:0,offsetInItem:0});let n=e.spineIndex,s=e.pageIndex,r=0;t&&(r=n);let o;return i.loopWithFrame(a=>{let h={spineIndex:r,pageIndex:r===n?s:Number.POSITIVE_INFINITY,offsetInItem:r===n?e.offsetInItem:-1};this.renderPage(h).then(l=>{o=l,++r>n?a.breakLoop():a.continueLoop()})}).then(()=>{i.finish(o)}),i.result()}firstPage(e,t){return this.findPage({spineIndex:0,pageIndex:0,offsetInItem:-1},t)}lastPage(e,t){return this.findPage({spineIndex:this.opf.spine.length-1,pageIndex:Number.POSITIVE_INFINITY,offsetInItem:-1},t)}nextPage(e,t){let i=e.spineIndex,n=e.pageIndex,s=F("nextPage");return this.getPageViewItem(i).then(r=>{if(!r){s.finish(null);return}if(r.complete&&n==r.layoutPositions.length-1){if(i>=this.opf.spine.length-1){s.finish(null);return}i++,n=0;let o=this.spineItems[i],a=o&&o.pages[0],h=r.pages[r.pages.length-1];a&&h&&a.side==h.side&&(o.pages.forEach(l=>{l.container&&l.container.remove()}),this.spineItems[i]=null,this.spineItemLoadingContinuations[i]=null)}else n++;this.findPage({spineIndex:i,pageIndex:n,offsetInItem:-1},t).thenFinish(s)}),s.result()}previousPage(e,t){let i=e.spineIndex,n=e.pageIndex;if(n==0){if(i==0)return k(null);i--,n=Number.POSITIVE_INFINITY}else n--;return this.findPage({spineIndex:i,pageIndex:n,offsetInItem:-1},t)}isRectoPage(e,t){let i=e.side==="left",n=this.getCurrentPageProgression(t)==="ltr";return!i&&n||i&&!n}getSpread(e,t){let i=this.getPage(e);if(!i)return k({left:null,right:null});let n=F("getSpread"),s=i.side==="left",r;return this.isRectoPage(i,e)?r=this.previousPage(e,t):r=this.nextPage(e,t),r.then(o=>{let a=this.getPage(e),h=o&&o.page;h&&h.side===a.side&&(h=null),s?n.finish({left:a,right:h}):n.finish({left:h,right:a})}),n.result()}nextSpread(e,t){let i=this.getPage(e);if(!i)return k(null);let n=this.isRectoPage(i,e),s=this.nextPage(e,t);return n?s:s.thenAsync(r=>{if(r){if(r.page.side===i.side)return s;let o=this.nextPage(r.position,t);return o.thenAsync(a=>a?o:s)}else return k(null)})}previousSpread(e,t){let i=this.getPage(e);if(!i)return k(null);let n=this.isRectoPage(i,e),s=this.previousPage(e,t),r=i.container.previousElementSibling;return n?s.thenAsync(o=>o?o.page.side===i.side||o.page.container!==r?s:this.previousPage(o.position,t):k(null)):s}navigateToEPage(e,t,i){let n=F("navigateToEPage");return this.opf.resolveEPage(e).then(s=>{s?this.findPage(s,i).thenFinish(n):n.finish(null)}),n.result()}navigateToFragment(e,t,i){let n=F("navigateToCFI");return this.opf.resolveFragment(e).then(s=>{s?this.findPage(s,i).thenFinish(n):n.finish(null)}),n.result()}navigateTo(e,t,i){V.debug("Navigate to",e);let n=this.opf.getPathFromURL(Ct(e));if(!n){if(this.opf.opfXML&&e.match(/^#epubcfi\(/))n=this.opf.getPathFromURL(this.opf.opfXML.url);else if(e.charAt(0)==="#"){let o=this.opf.documentURLTransformer.restoreURL(e);this.opf.opfXML?(n=this.opf.getPathFromURL(o[0]),n==null&&(n=o[0])):n=o[0],e=o[0]+(o[1]?`#${o[1]}`:"")}if(n==null)return k(null)}let s=this.opf.itemMapByPath[n];if(!s){if(this.opf.opfXML&&n==this.opf.getPathFromURL(this.opf.opfXML.url)){let o=e.indexOf("#");if(o>=0)return this.navigateToFragment(e.substr(o+1),t,i)}return k(null)}let r=F("navigateTo");return this.getPageViewItem(s.spineIndex).then(o=>{if(!o){r.finish(null);return}let a=o.xmldoc.getElement(e);this.findPage({spineIndex:s.spineIndex,pageIndex:-1,offsetInItem:a?o.xmldoc.getElementOffset(a):0},i).thenFinish(r)}),r.result()}makePage(e,t){let i=e.instance.viewport,n=i.document.createElement("div");n.setAttribute("data-vivliostyle-page-container","true"),n.setAttribute("role","region"),n.style.position="absolute",n.style.top="0",n.style.left="0",tn||(n.style.visibility="hidden"),i.layoutBox.appendChild(n);let s=i.document.createElement("div");s.setAttribute("data-vivliostyle-bleed-box","true"),n.appendChild(s);let r=new hh(n,s);if(r.spineIndex=e.item.spineIndex,r.position=t,r.offset=e.instance.getPosition(t),r.offset===0&&!(e.instance.blankPageAtStart&&e.pages.length===0)){let o=this.opf.documentURLTransformer.transformFragment("",e.item.src);s.setAttribute("id",o),r.registerElementWithId(s,o)}if(i!==this.viewport){let o=ul(this.viewport.width,this.viewport.height,i.width,i.height),a=Pi(null,new gt(o,null),"");r.delayedItems.push(new $r(n,"transform",a))}return r}makeObjectView(e,t,i,n){let s=t.getAttribute("data"),r=null;if(s){s=ke(s,e.url);let o=t.getAttribute("media-type");if(!o){let a=this.opf.getPathFromURL(s);if(a){let h=this.opf.itemMapByPath[a];h&&(o=h.mediaType)}}if(o){let a=this.opf.bindings[o];if(a){r=this.viewport.document.createElement("iframe"),r.style.border="none";let h=Eo(s),l=Eo(o),c=new kt;c.append(a),c.append("?src="),c.append(h),c.append("&type="),c.append(l);for(let f=t.firstChild;f;f=f.nextSibling)if(f.nodeType==1){let g=f;if(g.localName=="param"&&g.namespaceURI=="http://www.w3.org/1999/xhtml"){let m=g.getAttribute("name"),w=g.getAttribute("value");m&&w&&(c.append("&"),c.append(encodeURIComponent(m)),c.append("="),c.append(encodeURIComponent(w)))}}r.setAttribute("src",c.toString());let p=t.getAttribute("width");p&&r.setAttribute("width",p);let d=t.getAttribute("height");d&&r.setAttribute("height",d)}}}return r||(r=this.viewport.document.createElement("object"),s&&r.setAttribute("data",s),r.setAttribute("data-adapt-process-children","true")),k(r)}makeMathJaxView(e,t,i,n){let s=Bw();if(s){let r=i.ownerDocument,o=r.createElement("span");i.appendChild(o);let a=r.importNode(t,!0);this.resolveURLsInMathML(a,e),o.appendChild(a);let h=s.queue;h.Push(["Typeset",s,o]);let l=F("makeMathJaxView"),c=l.suspend();return h.Push(()=>{c.schedule(o)}),l.result()}return k(null)}resolveURLsInMathML(e,t){if(e!=null){if(e.nodeType===1&&e.tagName==="mglyph"){let i=Array.from(e.attributes);for(let n of i){if(n.name!=="src")continue;let s=ke(n.nodeValue,t.url);n.namespaceURI?e.setAttributeNS(n.namespaceURI,n.name,s):e.setAttribute(n.name,s)}}e.firstChild&&this.resolveURLsInMathML(e.firstChild,t),e.nextSibling&&this.resolveURLsInMathML(e.nextSibling,t)}}makeCustomRenderer(e){return(t,i,n)=>t.localName=="object"&&t.namespaceURI=="http://www.w3.org/1999/xhtml"?this.makeObjectView(e,t,i,n):t.namespaceURI=="http://www.w3.org/1998/Math/MathML"?this.makeMathJaxView(e,t,i,n):t.dataset&&t.dataset.mathTypeset=="true"?this.makeMathJaxView(e,t,i,n):k(null)}getPageViewItem(e){if(e===-1||e>=this.opf.spine.length)return k(null);let t=this.spineItems[e];if(t)return k(t);let i=F("getPageViewItem"),n=this.spineItemLoadingContinuations[e];if(n){let o=i.suspend();return n.push(o),i.result()}else n=this.spineItemLoadingContinuations[e]=[];let s=this.opf.spine[e],r=this.opf.store;return r.load(s.src).then(o=>{var a;let h=s.itemRefElement.getAttribute("properties");h&&o.root.setAttribute("data-vivliostyle-epub-spine-properties",h),s.title=o.document.title;let l=r.getStyleForDoc(o),c=this.makeCustomRenderer(o),p=this.viewport,d=l.sizeViewport(p.width,p.height,p.fontSize,this.pref);(d.width!=p.width||d.height!=p.height||d.fontSize!=p.fontSize)&&(p=new is(p.window,d.fontSize,p.pixelRatio,p.root,d.width,d.height));let f=(a=this.spineItems[0])==null?void 0:a.instance.isVersoFirstPage,g=this.spineItems[e-1],m,w;if(s.startPage!==null)m=s.startPage-1,w=m;else{if(e>0&&(!g||!g.complete))m=s.epage||e,!this.opf.prePaginated&&m%2==(f?1:0)&&m++,w=m;else{m=g?g.instance.pageNumberOffset+g.pages.length:0;let x=this.counterStore.currentPageCounters.page;w=!x||!x.length?m:x[x.length-1]}s.skipPagesBefore!==null&&(m+=s.skipPagesBefore,w+=s.skipPagesBefore)}this.counterStore.forceSetPageCounter(w);let y=new go(l,o,this.opf.lang,p,this.clientLayout,this.fontMapper,c,this.opf.fallbackMap,m,this.opf.documentURLTransformer,this.counterStore,this.opf.pageProgression,f);y.pref=this.pref;let b=this.opf.metadata&&this.opf.metadata[Te.title];y.pubTitle=b&&b[0]&&b[0].v||"",y.docTitle=s.title||"",y.init().then(()=>{!this.opf.pageProgression&&y.pageProgression&&(this.opf.pageProgression=y.pageProgression),t={item:s,xmldoc:o,instance:y,layoutPositions:[null],pages:[],complete:!1},this.spineItems[e]=t,i.finish(t),n.forEach(x=>{x.schedule(t)})})}),i.result()}removeRenderedPages(){let e=this.spineItems;for(let t of e)t&&t.pages.splice(0);this.viewport.clear()}hasAutoSizedPages(){let e=this.spineItems;for(let t of e)if(t){let i=t.pages;for(let n of i)if(n.isAutoPageWidth&&n.isAutoPageHeight)return!0}return!1}hasPages(){return this.spineItems.some(e=>e&&e.pages.length>0)}showTOC(e){let t=this.opf,i=t.toc;if(this.tocAutohide=e,!i)return k(null);if(this.tocVisible=!0,this.tocView&&this.tocView.page)return this.tocView.page.container.style.visibility="visible",this.tocView.page.container.setAttribute("aria-hidden","false"),k(this.tocView.page);let n=F("showTOC");this.tocView||(this.tocView=new Tw(t.store,i.src,t.lang,this.clientLayout,this.fontMapper,this.pref,this,t.fallbackMap,t.documentURLTransformer,this.counterStore));let s=this.viewport,r=Math.min(344,Math.round(.67*s.width)-16),o=s.height-6,a=s.document.createElement("div");return s.root.appendChild(a),tn||(a.style.visibility="hidden"),a.style.width=`${r+16}px`,a.style.maxHeight=`${o}px`,a.setAttribute("data-vivliostyle-toc-box","true"),a.setAttribute("role","navigation"),this.tocView.showTOC(a,s,r,o,this.viewport.fontSize).then(h=>{a.style.visibility="visible",a.setAttribute("aria-hidden","false"),n.finish(h)}),n.result()}hideTOC(){this.tocVisible=!1,this.tocView&&this.tocView.hideTOC()}isTOCVisible(){return this.tocVisible&&!!this.tocView&&this.tocView.isTOCVisible()}},Ha="data-vivliostyle-viewer-status",Mw="data-vivliostyle-spread-view",Xu=(e=>(e.SINGLE_PAGE="singlePage",e.SPREAD="spread",e.AUTO_SPREAD="autoSpread",e))(Xu||{}),zw=class{constructor(e,t,i,n){this.window=e,this.viewportElement=t,this.instanceId=i,this.callbackFn=n,u(this,"fontMapper"),u(this,"kick"),u(this,"sendCommand"),u(this,"resizeListener"),u(this,"hyperlinkListener"),u(this,"pageRuleStyleElement"),u(this,"pageSheetSizeAlreadySet",!1),u(this,"renderTask",null),u(this,"actions"),u(this,"readyState"),u(this,"packageURL"),u(this,"opf"),u(this,"touchActive"),u(this,"touchX"),u(this,"touchY"),u(this,"needResize"),u(this,"resized"),u(this,"needRefresh"),u(this,"viewportSize"),u(this,"currentPage"),u(this,"currentSpread"),u(this,"pagePosition"),u(this,"fontSize"),u(this,"zoom"),u(this,"fitToScreen"),u(this,"pageViewMode"),u(this,"waitForLoading"),u(this,"renderAllPages"),u(this,"pref"),u(this,"pageSizes"),u(this,"pixelRatio"),u(this,"pixelRatioLimit"),u(this,"viewport"),u(this,"opfView");let s=t.ownerDocument,r=(o,a)=>{let h=s.getElementById(o);return h||(h=s.createElement("style"),h.id=o,a&&(h.textContent=a),s.head.appendChild(h)),h};r("vivliostyle-viewport-screen-css",Ul),r("vivliostyle-viewport-css",Hl),r("vivliostyle-polyfill-css",ql),t.setAttribute("data-vivliostyle-viewer-viewport",!0),tn&&t.setAttribute("data-vivliostyle-debug",!0),t.setAttribute(Ha,"loading"),this.fontMapper=new Em(s.head,t),this.init(),this.kick=()=>{},this.sendCommand=()=>{},this.resizeListener=()=>{this.needResize=!0,this.resized=!0,this.kick()},this.pageReplacedListener=this.pageReplacedListener.bind(this),this.hyperlinkListener=o=>{},this.pageRuleStyleElement=r("vivliostyle-page-rules"),this.actions={loadPublication:this.loadPublication,loadXML:this.loadXML,configure:this.configure,moveTo:this.moveTo,toc:this.showTOC},this.addLogListeners()}init(){this.readyState="loading",this.packageURL=[],this.opf=null,this.touchActive=!1,this.touchX=0,this.touchY=0,this.needResize=!1,this.resized=!1,this.needRefresh=!1,this.viewportSize=null,this.currentPage=null,this.currentSpread=null,this.pagePosition=null,this.fontSize=16,this.zoom=1,this.fitToScreen=!1,this.pageViewMode="singlePage",this.waitForLoading=!1,this.renderAllPages=!0,this.pref=ll(),this.pageSizes=[],this.pixelRatioLimit=/Chrome/.test(navigator.userAgent)?16:0,this.pixelRatio=Math.min(8,this.pixelRatioLimit)}addLogListeners(){let e=Qa;V.addListener(e.DEBUG,t=>{this.callback({t:"debug",content:t})}),V.addListener(e.INFO,t=>{this.callback({t:"info",content:t})}),V.addListener(e.WARN,t=>{this.callback({t:"warn",content:t})}),V.addListener(e.ERROR,t=>{this.callback({t:"error",content:t})})}callback(e){e.i=this.instanceId,this.callbackFn(e)}setReadyState(e){this.readyState!==e&&(this.readyState=e,this.viewportElement.setAttribute(Ha,e),this.callback({t:"readystatechange"}))}loadPublication(e){tt.registerStartTiming("beforeRender"),this.setReadyState("loading");let t=e.url,i=e.fragment,n=e.authorStyleSheet,s=e.userStyleSheet;this.viewport=null;let r=F("loadPublication");return this.configure(e).then(()=>{let o=new Da;o.init(n,s).then(()=>{let a=ke(nn(t),this.window.location.href);this.packageURL=[a],o.loadPubDoc(a).then(h=>{h?(this.opf=h,this.render(i).then(()=>{r.finish(!0)})):r.finish(!1)})})}),r.result()}loadXML(e){tt.registerStartTiming("beforeRender"),this.setReadyState("loading");let t=e.url,i=e.document,n=e.fragment,s=e.authorStyleSheet,r=e.userStyleSheet;this.viewport=null;let o=F("loadXML");return this.configure(e).then(()=>{let a=new Da;a.init(s,r).then(()=>{let h=t.map((l,c)=>({url:ke(nn(l.url),this.window.location.href),index:c,startPage:l.startPage,skipPagesBefore:l.skipPagesBefore}));this.packageURL=h.map(l=>l.url),this.opf=new Hn(a,""),this.opf.initWithChapters(h,i).then(()=>{this.render(n).then(()=>{o.finish(!0)})})})}),o.result()}render(e){this.cancelRenderingTask();let t;return e?t=this.opf.resolveFragment(e).thenAsync(i=>(this.pagePosition=i,k(!0))):t=k(!0),t.thenAsync(()=>(tt.registerEndTiming("beforeRender"),this.resize()))}resolveLength(e){let t=parseFloat(e),i=/[a-z]+$/,n;if(typeof e=="string"&&(n=e.match(i))){let s=n[0];if(s==="em"||s==="rem")return t*this.fontSize;if(s==="ex")return t*me.ex*this.fontSize/me.em;let r=me[s];if(r)return t*r}return t}configure(e){if(typeof e.autoresize=="boolean"&&(e.autoresize?(this.viewportSize=null,this.window.addEventListener("resize",this.resizeListener,!1),this.needResize=!0):this.window.removeEventListener("resize",this.resizeListener,!1)),typeof e.fontSize=="number"){let t=e.fontSize;t>=5&&t<=72&&this.fontSize!=t&&(this.fontSize=t,this.needResize=!0)}if(typeof e.viewport=="object"&&e.viewport){let t=e.viewport,i={marginLeft:this.resolveLength(t["margin-left"])||0,marginRight:this.resolveLength(t["margin-right"])||0,marginTop:this.resolveLength(t["margin-top"])||0,marginBottom:this.resolveLength(t["margin-bottom"])||0,width:this.resolveLength(t.width)||0,height:this.resolveLength(t.height)||0};(i.width>=200||i.height>=200)&&(this.window.removeEventListener("resize",this.resizeListener,!1),this.viewportSize=i,this.needResize=!0)}if(typeof e.hyphenate=="boolean"&&(this.pref.hyphenate=e.hyphenate,this.needResize=!0),typeof e.horizontal=="boolean"&&(this.pref.horizontal=e.horizontal,this.needResize=!0),typeof e.nightMode=="boolean"&&(this.pref.nightMode=e.nightMode,this.needResize=!0),typeof e.lineHeight=="number"&&(this.pref.lineHeight=e.lineHeight,this.needResize=!0),typeof e.columnWidth=="number"&&(this.pref.columnWidth=e.columnWidth,this.needResize=!0),typeof e.fontFamily=="string"&&(this.pref.fontFamily=e.fontFamily,this.needResize=!0),typeof e.load=="boolean"&&(this.waitForLoading=e.load),typeof e.renderAllPages=="boolean"&&(this.renderAllPages=e.renderAllPages),typeof e.userAgentRootURL=="string"&&(xo(e.userAgentRootURL.replace(/resources\/?$/,"")),So(e.userAgentRootURL)),typeof e.rootURL=="string"&&(xo(e.rootURL),So(`${vi}resources/`)),typeof e.pageViewMode=="string"&&e.pageViewMode!==this.pageViewMode&&(this.pageViewMode=e.pageViewMode,this.needResize=!0),typeof e.pageBorder=="number"&&e.pageBorder!==this.pref.pageBorder&&(this.viewport=null,this.pref.pageBorder=e.pageBorder,this.needResize=!0),typeof e.zoom=="number"&&e.zoom!==this.zoom&&(this.zoom=e.zoom,this.needRefresh=!0),typeof e.fitToScreen=="boolean"&&e.fitToScreen!==this.fitToScreen&&(this.fitToScreen=e.fitToScreen,this.needRefresh=!0),typeof e.defaultPaperSize=="object"&&typeof e.defaultPaperSize.width=="number"&&typeof e.defaultPaperSize.height=="number"&&(this.viewport=null,this.pref.defaultPaperSize=e.defaultPaperSize,this.needResize=!0),typeof e.allowScripts=="boolean"&&e.allowScripts!==vt&&(ow(e.allowScripts),this.needResize=!0),typeof e.pixelRatio=="number"){let t=Math.min(e.pixelRatio,this.pixelRatioLimit);t!==this.pixelRatio&&(this.pixelRatio=t,this.needResize=!0)}return this.configurePlugins(e),k(!0)}configurePlugins(e){ft("CONFIGURATION").forEach(t=>{let i=t(e);this.needResize=i.needResize||this.needResize,this.needRefresh=i.needRefresh||this.needRefresh})}pageReplacedListener(e){let t=this.currentPage,i=this.currentSpread,n=e.target;i?(i.left===n||i.right===n)&&this.showCurrent(e.newPage):t===e.target&&this.showCurrent(e.newPage)}forCurrentPages(e){let t=[];this.currentPage&&t.push(this.currentPage),this.currentSpread&&(t.push(this.currentSpread.left),t.push(this.currentSpread.right)),t.forEach(i=>{i&&e(i)})}removePageListeners(){this.forCurrentPages(e=>{e.removeEventListener("hyperlink",this.hyperlinkListener,!1),e.removeEventListener("replaced",this.pageReplacedListener,!1)})}hidePages(){this.removePageListeners(),this.forCurrentPages(e=>{N(e.container,"display","none")}),this.currentPage=null,this.currentSpread=null}showSinglePage(e){e.addEventListener("hyperlink",this.hyperlinkListener,!1),e.addEventListener("replaced",this.pageReplacedListener,!1),N(e.container,"visibility","visible"),N(e.container,"display","block")}showPage(e){this.hidePages(),this.currentPage=e,e.container.style.marginLeft="",e.container.style.marginRight="",this.showSinglePage(e)}showSpread(e){if(this.hidePages(),this.currentSpread=e,e.left&&e.right){let t=parseFloat(e.left.container.style.width),i=parseFloat(e.right.container.style.width);t&&i&&t!==i&&(t<i?e.left.container.style.marginLeft=`${i-t}px`:e.right.container.style.marginRight=`${t-i}px`)}e.left&&(this.showSinglePage(e.left),e.right?e.left.container.removeAttribute("data-vivliostyle-unpaired-page"):e.left.container.setAttribute("data-vivliostyle-unpaired-page",!0)),e.right&&(this.showSinglePage(e.right),e.left?e.right.container.removeAttribute("data-vivliostyle-unpaired-page"):e.right.container.setAttribute("data-vivliostyle-unpaired-page",!0))}reportPosition(){let e=F("reportPosition");return this.pagePosition,this.opf.getCFI(this.pagePosition.spineIndex,this.pagePosition.offsetInItem).then(t=>{let i=this.currentPage;(this.waitForLoading&&i.fetchers.length>0?ls(i.fetchers):k(!0)).then(()=>{this.sendLocationNotification(i,t).thenFinish(e)})}),e.result()}createViewport(){let e=this.viewportElement;if(this.viewportSize){let t=this.viewportSize;return e.style.marginLeft=`${t.marginLeft}px`,e.style.marginRight=`${t.marginRight}px`,e.style.marginTop=`${t.marginTop}px`,e.style.marginBottom=`${t.marginBottom}px`,new is(this.window,this.fontSize,this.pixelRatio,e,t.width,t.height)}else return new is(this.window,this.fontSize,this.pixelRatio,e)}resolveSpreadView(e,t){switch(this.pageViewMode){case"singlePage":return!1;case"spread":return!0;case"autoSpread":default:return(e.width-this.pref.pageBorder)/e.height>=(t?t.width*2/t.height:1.45)&&(!!t||e.width>800)}}updateSpreadView(e){this.pref.spreadView=e,this.viewportElement.setAttribute(Mw,e.toString())}sizeIsGood(){var e;let t=this.createViewport(),i=((e=this.opfView)==null?void 0:e.hasPages())&&!this.opfView.hasAutoSizedPages(),n=this.resolveSpreadView(t,this.resized&&i?this.pageSizes[0]:null);this.resized=!1;let s=this.pref.spreadView!==n;return this.updateSpreadView(n),this.pixelRatio&&this.opfView&&this.pixelRatio/this.window.devicePixelRatio!==this.opfView.clientLayout.scaleRatio||this.viewportSize||!this.viewport||this.viewport.fontSize!=this.fontSize?!1:!s&&t.width==this.viewport.width&&t.height==this.viewport.height||!s&&t.width==this.viewport.width&&t.height!=this.viewport.height&&/Android|iPhone|iPad|iPod/.test(navigator.userAgent)?!0:i?(this.viewport.width=t.width,this.viewport.height=t.height,this.needRefresh=!0,!0):!1}setPageSize(e,t,i,n){this.pageSizes[n]=e,this.setPageSizePageRules(t,i,n),n===0&&this.pageViewMode==="autoSpread"&&!this.opfView.hasAutoSizedPages()&&this.updateSpreadView(this.resolveSpreadView(this.viewport,e))}setPageSizePageRules(e,t,i){var n,s;if(this.pageRuleStyleElement&&(!this.pageSheetSizeAlreadySet||this.pageSizes[i].width!==((n=this.pageSizes[i-1])==null?void 0:n.width)||this.pageSizes[i].height!==((s=this.pageSizes[i-1])==null?void 0:s.height))){let o=function(g){let m=g*.75;return Math.ceil(m)};var r=o;let a=Math.max(...this.pageSizes.map(g=>g.width)),h=Math.max(...this.pageSizes.map(g=>g.height)),l=o(a),c=o(h),p=l*((this.pixelRatio||1)-1)+2,d=c*((this.pixelRatio||1)-1)+2,f=`@page {size: ${l}pt ${c}pt; margin: 0 ${-p}pt ${-d}pt 0;}`;this.pageRuleStyleElement.textContent=f,this.pageSheetSizeAlreadySet=!0}}removePageSizePageRules(){this.pageRuleStyleElement&&(this.pageRuleStyleElement.textContent="",this.pageSheetSizeAlreadySet=!1)}reset(){let e=!1,t=!1;this.opfView&&(e=this.opfView.tocVisible,t=this.opfView.tocAutohide,this.opfView.removeRenderedPages()),this.pageSizes=[],this.removePageSizePageRules(),this.viewport=this.createViewport(),this.viewport.resetZoom(),this.opfView=new _w(this.opf,this.viewport,this.fontMapper,this.pref,this.setPageSize.bind(this)),e&&this.sendCommand({a:"toc",v:"show",autohide:t})}showCurrent(e,t){this.needRefresh=!1,this.removePageListeners();let i=this.resolveSpreadView(this.viewport,e.dimensions);return i!==this.pref.spreadView&&this.updateSpreadView(i),i?this.opfView.getSpread(this.pagePosition,t).thenAsync(n=>!n.left&&!n.right?k(null):n.left&&n.right&&(!this.resolveSpreadView(this.viewport,n.left.dimensions)||!this.resolveSpreadView(this.viewport,n.right.dimensions))?(this.updateSpreadView(!1),this.showPage(e),this.setPageZoom(e),this.currentPage=e,k(null)):(this.showSpread(n),this.setSpreadZoom(n),this.currentPage=e.side==="left"?n.left:n.right,k(null))):(this.showPage(e),this.setPageZoom(e),this.currentPage=e,k(null))}setPageZoom(e){let t=this.getAdjustedZoomFactor(e.dimensions);this.viewport.zoom(e.dimensions.width,e.dimensions.height,t)}setSpreadZoom(e){let t=this.getSpreadDimensions(e);this.viewport.zoom(t.width,t.height,this.getAdjustedZoomFactor(t))}getAdjustedZoomFactor(e){return this.fitToScreen?this.calculateZoomFactorToFitInsideViewPort(e):this.zoom}getSpreadDimensions(e){let t=0,i=0;return e.left&&(t+=e.left.dimensions.width,i=e.left.dimensions.height),e.right&&(t+=e.right.dimensions.width,i=Math.max(i,e.right.dimensions.height)),e.left&&e.right&&(t+=this.pref.pageBorder*2,t+=Math.abs(e.left.dimensions.width-e.right.dimensions.width)),{width:t,height:i}}queryZoomFactor(e){if(!this.currentPage)throw new Error("no page exists.");switch(e){case"fit inside viewport":{let t;return this.pref.spreadView?(this.currentSpread,t=this.getSpreadDimensions(this.currentSpread)):t=this.currentPage.dimensions,this.calculateZoomFactorToFitInsideViewPort(t)}default:throw new Error(`unknown zoom type: ${e}`)}}calculateZoomFactorToFitInsideViewPort(e){if(!this.viewport)return this.zoom;let t=this.viewport.width/e.width,i=this.viewport.height/e.height;return Math.min(t,i)}cancelRenderingTask(){this.renderTask&&this.renderTask.interrupt(new $a),this.renderTask=null}resize(){if(this.needResize=!1,this.needRefresh=!1,this.sizeIsGood())return k(!0);this.setReadyState("loading"),this.cancelRenderingTask();let e=Xs().getScheduler().run(()=>yi("resize",t=>{if(!this.opf){t.finish(!1);return}this.renderTask=e,tt.registerStartTiming("render (resize)"),this.reset(),this.pagePosition&&(this.pagePosition.pageIndex==0&&this.pagePosition.offsetInItem==0||(this.pagePosition.pageIndex=-1)),this.opf.setEPageCountMode(this.renderAllPages),this.opfView.renderPagesUpto(this.pagePosition,!this.renderAllPages).then(i=>{if(!i){t.finish(!1);return}this.pagePosition=i.position,this.showCurrent(i.page,!0).then(()=>{this.setReadyState("interactive"),this.opf.countEPages(n=>{let s={t:"nav",epageCount:n,first:this.currentPage.isFirstPage,last:this.currentPage.isLastPage,metadata:this.opf.metadata,docTitle:this.opf.spine[this.pagePosition.spineIndex].title};(this.currentPage.isFirstPage||this.pagePosition.pageIndex==0&&this.opf.spine[this.pagePosition.spineIndex].epage)&&(s.epage=this.opf.spine[this.pagePosition.spineIndex].epage),this.callback(s)}).then(()=>{this.reportPosition().then(n=>{(this.renderAllPages?this.opfView.renderAllPages():k(null)).then(()=>{this.renderTask===e&&(this.renderTask=null),tt.registerEndTiming("render (resize)"),vt&&Uu(this.window)?uw(this.window).then(()=>{this.renderAllPages&&this.setReadyState("complete"),this.callback({t:"loaded"}),t.finish(n)}):(this.renderAllPages&&this.setReadyState("complete"),this.callback({t:"loaded"}),t.finish(n))})})})})})},(t,i)=>{if(i instanceof $a)tt.registerEndTiming("render (resize)"),V.debug(i.message);else throw i}));return k(!0)}sendLocationNotification(e,t){let i=F("sendLocationNotification"),n={t:"nav",first:e.isFirstPage,last:e.isLastPage,metadata:this.opf.metadata,docTitle:this.opf.spine[e.spineIndex].title};return this.opf.getEPageFromPosition(this.pagePosition).then(s=>{n.epage=s,n.epageCount=this.opf.epageCount,t&&(n.cfi=t),this.callback(n),i.finish(!0)}),i.result()}getCurrentPageProgression(){return this.opfView?this.opfView.getCurrentPageProgression(this.pagePosition):null}moveTo(e){var t;let i;if(this.readyState!=="complete"&&e.where!=="next"&&this.setReadyState("loading"),typeof e.where=="string"){let s;switch(e.where){case"next":s=this.pref.spreadView?this.opfView.nextSpread:this.opfView.nextPage;break;case"previous":s=this.pref.spreadView?this.opfView.previousSpread:this.opfView.previousPage;break;case"last":s=this.opfView.lastPage;break;case"first":s=this.opfView.firstPage;break;default:return k(!0)}s&&(i=()=>s.call(this.opfView,this.pagePosition,!this.renderAllPages))}else if(typeof e.epage=="number"){let s=e.epage;i=()=>this.opfView.navigateToEPage(s,this.pagePosition,!this.renderAllPages)}else if(typeof e.url=="string"){let s=e.url;i=()=>this.opfView.navigateTo(s,this.pagePosition,!this.renderAllPages)}else if(typeof((t=e.position)==null?void 0:t.spineIndex)=="number"){let s=e.position;i=()=>this.opfView.findPage(s,!this.renderAllPages)}else return k(!0);if(!this.opfView)return k(!0);let n=F("moveTo");return i.call(this.opfView).then(s=>{let r;if(s){this.pagePosition=s.position;let o=F("moveTo.showCurrent");r=o.result(),this.showCurrent(s.page,!this.renderAllPages).then(()=>{this.reportPosition().thenFinish(o)})}else r=k(!0);r.then(o=>{this.readyState==="loading"&&this.setReadyState("interactive"),n.finish(o)})}),n.result()}showTOC(e){let t=!!e.autohide,i=e.v,n=this.opfView.isTOCVisible(),s=t!=this.opfView.tocAutohide&&i!="hide";if(n){if(i=="show"&&!s)return k(!0)}else if(i=="hide")return k(!0);if(n&&i!="show")return this.opfView.hideTOC(),k(!0);{let r=F("showTOC");return this.opfView.showTOC(t).then(o=>{if(o){if(s&&(o.listeners={}),t){let a=()=>{this.opfView.hideTOC()};o.addEventListener("hyperlink",a,!1)}o.addEventListener("hyperlink",this.hyperlinkListener,!1)}r.finish(!0)}),r.result()}}runCommand(e){let t=e.a||"";return yi("runCommand",i=>{let n=this.actions[t];n?n.call(this,e).then(()=>{this.callback({t:"done",a:t}),i.finish(!0)}):(V.error("No such action:",t),i.finish(!0))},(i,n)=>{V.error(n,"Error during action:",t),i.finish(!0)})}initEmbed(e){let t=Ga(e),i=null,n=this;Yd(()=>{let s=F("commandLoop"),r=Xs().getScheduler();return n.hyperlinkListener=o=>{let a=o,h=a.href.charAt(0)==="#"||n.packageURL.some(l=>a.href.substr(0,l.length)==l);if(h){o.preventDefault();let l={t:"hyperlink",href:a.href,internal:h};r.run(()=>(n.callback(l),k(!0)))}},s.loopWithFrame(o=>{if(n.needResize)n.resize().then(()=>{o.continueLoop()});else if(n.needRefresh)n.currentPage&&n.showCurrent(n.currentPage,!this.renderAllPages).then(()=>{o.continueLoop()});else if(t){let a=t;t=null,n.runCommand(a).then(()=>{o.continueLoop()})}else{let a=F("waitForCommand");i=a.suspend(this),a.result().then(()=>{o.continueLoop()})}}).thenFinish(s),s.result()}),n.kick=()=>{let s=i;s&&(i=null,s.schedule(!0))},n.sendCommand=s=>t?!1:(t=Ga(s),n.kick(),!0),this.window.adapt_command=n.sendCommand}},qu=(e=>(e.FIT_INSIDE_VIEWPORT="fit inside viewport",e))(qu||{}),$a=class Yu extends Error{constructor(){super(),u(this,"name","RenderingCanceledError"),u(this,"message","Page rendering has been canceled"),u(this,"stack"),Object.setPrototypeOf(this,Yu.prototype),this.stack=new Error().stack}};function Ga(e){return typeof e=="string"?Rr(e):e}var Wa=Ir;function Dw(){return{autoResize:!0,fontSize:16,pageBorderWidth:1,renderAllPages:!0,pageViewMode:"autoSpread",zoom:1,fitToScreen:!1,defaultPaperSize:void 0,allowScripts:!0,pixelRatio:8}}function ja(e){let t={};return Object.keys(e).forEach(i=>{let n=e[i];switch(i){case"autoResize":t.autoresize=n;break;case"pageBorderWidth":t.pageBorder=n;break;default:t[i]=n}}),t}var Ku=class{constructor(e,t){this.settings=e,u(this,"initialized",!1),u(this,"adaptViewer_"),u(this,"options"),u(this,"eventTarget"),u(this,"readyState"),Ya(e.debug),this.adaptViewer_=new zw(e.window||window,e.viewportElement,"main",this.dispatcher.bind(this)),this.options=Dw(),t&&this.setOptions(t),this.eventTarget=new Ar,Object.defineProperty(this,"readyState",{get(){return this.adaptViewer_.readyState}})}setOptions(e){let t=Object.assign({a:"configure"},ja(e));this.adaptViewer_.sendCommand(t),Object.assign(this.options,e)}dispatcher(e){let t={type:e.t},i=e;Object.keys(i).forEach(n=>{n!=="t"&&(t[n]=i[n])}),this.eventTarget.dispatchEvent(t)}addListener(e,t){this.eventTarget.addEventListener(e,t,!1)}removeListener(e,t){this.eventTarget.removeEventListener(e,t,!1)}loadDocument(e,t,i){if(!e||(Array.isArray(e)?!e[0]||typeof e[0]!="string"&&!e[0].url:typeof e!="string"&&!e.url)){this.eventTarget.dispatchEvent({type:"error",content:{error:new Error("No URL specified")}});return}this.loadDocumentOrPublication(e,null,t,i)}loadPublication(e,t,i){if(!e){this.eventTarget.dispatchEvent({type:"error",content:{error:new Error("No URL specified")}});return}this.loadDocumentOrPublication(null,e,t,i)}loadDocumentOrPublication(e,t,i,n){let s=i||{};function r(l){if(l)return l.map(c=>({url:c.url||null,text:c.text||null}))}let o=r(s.authorStyleSheet),a=r(s.userStyleSheet);n&&Object.assign(this.options,n);let h=Object.assign({a:e?"loadXML":"loadPublication",userAgentRootURL:this.settings.userAgentRootURL,url:Vw(e)||t,document:s.documentObject,fragment:s.fragment,authorStyleSheet:o,userStyleSheet:a},ja(this.options));this.initialized?this.adaptViewer_.sendCommand(h):(this.initialized=!0,this.adaptViewer_.initEmbed(h))}getCurrentPageProgression(){return this.adaptViewer_.getCurrentPageProgression()}resolveNavigation(e){switch(e){case"left":return this.getCurrentPageProgression()===Wa.LTR?"previous":"next";case"right":return this.getCurrentPageProgression()===Wa.LTR?"next":"previous";default:return e}}navigateToPage(e,t){e==="epage"?this.adaptViewer_.sendCommand({a:"moveTo",epage:t}):this.adaptViewer_.sendCommand({a:"moveTo",where:this.resolveNavigation(e)})}navigateToInternalUrl(e){this.adaptViewer_.sendCommand({a:"moveTo",url:e})}navigateToPosition(e){var t,i;this.adaptViewer_.sendCommand({a:"moveTo",position:{spineIndex:e.spineIndex,pageIndex:(t=e.pageIndex)!=null?t:-1,offsetInItem:(i=e.offsetInItem)!=null?i:-1}})}isTOCVisible(){return this.adaptViewer_.opfView&&this.adaptViewer_.opfView.opf&&this.adaptViewer_.opfView.opf.toc?!!this.adaptViewer_.opfView.isTOCVisible():null}showTOC(e,t){let i=e==null?"toggle":e?"show":"hide";this.adaptViewer_.sendCommand({a:"toc",v:i,autohide:t})}queryZoomFactor(e){return this.adaptViewer_.queryZoomFactor(e)}getPageSizes(){return this.adaptViewer_.pageSizes}getTOC(){var e,t;return(t=(e=this.adaptViewer_.opfView)==null?void 0:e.tocView)==null?void 0:t.getTOC()}getMetadata(){return this.adaptViewer_.opf.getMetadata()}getCover(){return this.adaptViewer_.opf.cover}};function Vw(e){function t(n){return typeof n=="number"?n:null}function i(n){return typeof n=="string"?{url:n,startPage:null,skipPagesBefore:null}:{url:n.url,startPage:t(n.startPage),skipPagesBefore:t(n.skipPagesBefore)}}return Array.isArray(e)?e.map(i):e?[i(e)]:null}var Zu=(e=>(e.PREVIOUS="previous",e.NEXT="next",e.LEFT="left",e.RIGHT="right",e.FIRST="first",e.LAST="last",e.EPAGE="epage",e))(Zu||{}),Uw=qu,Hw=Xu;tt.forceRegisterEndTiming("load_vivliostyle");var $w=class{constructor(e,{title:t="",printCallback:i=o=>o.print(),errorCallback:n=null,hideIframe:s=!0,removeIframe:r=!0}){u(this,"htmlDoc"),u(this,"title"),u(this,"printCallback"),u(this,"errorCallback"),u(this,"hideIframe"),u(this,"removeIframe"),u(this,"iframe"),u(this,"iframeWin"),u(this,"window"),this.htmlDoc=e,this.title=t,this.printCallback=i,this.errorCallback=n,this.hideIframe=s,this.removeIframe=r}init(){this.iframe=document.createElement("iframe"),this.hideIframe&&(this.iframe.style.width="0",this.iframe.style.height="0",this.iframe.style.borderWidth="0"),this.window=window,this.window.printInstance=this,this.iframe.srcdoc=`
|
|
1515
|
+
`),i.toString()}},km=class{constructor(e){this.deobfuscator=e,u(this,"familyMap",{})}registerFamily(e,t){let i=e.family,n=this.familyMap[i],s=t.family;if(n){if(n!=s)throw new Error(`E_FONT_FAMILY_INCONSISTENT ${e.family}`)}else this.familyMap[i]=s}filterFontFamily(e){if(e instanceof Ye){let t=e.values,i=[];for(let n of t){let s=this.familyMap[n.stringValue()];s&&i.push(B(s)),i.push(n)}return new Ye(i)}else{let t=this.familyMap[e.stringValue()];return t?new Ye([B(t),e]):e}}},Nm=class{constructor(e,t,i){this.head=e,this.body=t,u(this,"srcURLMap",{}),u(this,"familyPrefix"),u(this,"familyCounter",0),this.familyPrefix=i||"Fnt_"}getViewFontFamily(e,t){let i=e.family,n=t.familyMap[i];return n||(n=this.familyPrefix+ ++this.familyCounter,t.familyMap[i]=n,n)}initFont(e,t,i){let n=F("initFont"),s=e.src,r={};for(let l of lo(e.properties))r[l]=e.properties[l];let o=this.getViewFontFamily(e,i);r["font-family"]=B(o);let a=new Tu(r),h=this.head.ownerDocument.createElement("style");return h.textContent=a.makeAtRule(s,t),this.head.appendChild(h),H.debug("Load font:",s),n.finish(a),n.result()}loadFont(e,t){let i=e.src,n=e.family+";"+i,s=this.srcURLMap[n];return s?s.piggyback(r=>{let o=r;o.traitsEqual(e)?(t.registerFamily(e,o),H.debug("Found already-loaded font:",i)):H.warn("E_FONT_FACE_INCOMPATIBLE",e.src)}):(s=new wn(()=>{let r=F("loadFont"),o=i.replace(/^url\("([^"]+)"\).*$/,"$1"),a=t.deobfuscator?t.deobfuscator(o):null;return a?hs(o,"blob").then(h=>{if(!h.responseBlob){r.finish(null);return}a(h.responseBlob).then(l=>{this.initFont(e,l,t).thenFinish(r)})}):this.initFont(e,null,t).thenFinish(r),r.result()},`loadFont ${i}`),this.srcURLMap[n]=s,s.start()),s}findOrLoadFonts(e,t){let i=[];for(let n of e){if(!n.src||!n.family){H.warn("E_FONT_FACE_INVALID");continue}i.push(this.loadFont(n,t))}return ls(i).thenAsync(()=>this.waitFontLoading())}waitFontLoading(){let e=this.head.ownerDocument.fonts,t=0;if(e.forEach(n=>{n.status==="unloaded"&&(t++,n.load().catch(s=>{}))}),t===0)return k(!0);let i=F("waitFontLoading");return i.loop(()=>i.sleep(20).thenAsync(()=>e.status==="loading"?k(!0):k(!1))).thenFinish(i),i.result()}},Pm=1,fs=class{constructor(e,t,i,n,s){this.name=t,this.pseudoName=i,this.classes=n,this.parent=s,u(this,"specified",{}),u(this,"children",[]),u(this,"pageMaster",null),u(this,"index",0),u(this,"key"),u(this,"_scope"),this._scope=e,this.key=`p${Pm++}`,s&&(this.index=s.children.length,s.children.push(this))}get scope(){return this._scope}createInstance(e){throw new Error("E_UNEXPECTED_CALL")}clone(e){throw new Error("E_UNEXPECTED_CALL")}copySpecified(e){let t=this.specified,i=e.specified;for(let n in t)Object.prototype.hasOwnProperty.call(t,n)&&(i[n]=t[n])}cloneChildren(e){for(let t=0;t<this.children.length;t++)this.children[t].clone({parent:e})}},Tm=class extends fs{constructor(e){super(e,null,null,[],null),this.specified.width=new q(gn,0),this.specified.height=new q(mn,0)}},Ta=class extends Vs{constructor(e,t){super(e,n),this.pageMaster=t;let i=this;function n(s,r){let o=s.match(/^([^.]+)\.([^.]+)$/);if(o){let a=i.pageMaster.keyMap[o[1]];if(a){let h=this.lookupInstance(a);if(h)return r?h.resolveFunc(o[2]):h.resolveName(o[2])}}return null}}},Iu=class Ru extends fs{constructor(t,i,n,s,r,o,a){super(t,i,n,s,r),this.condition=o,this.specificity=a,u(this,"keyMap",{}),t instanceof Ta||(this._scope=new Ta(t,this)),this.pageMaster=this,this.specified.width=new q(gn,0),this.specified.height=new q(mn,0),this.specified["wrap-flow"]=new q(v.auto,0),this.specified.position=new q(v.relative,0),this.specified.overflow=new q(v.visible,0)}createInstance(t){return new uo(t,this)}clone(t){let i=new Ru(this.scope,this.name,t.pseudoName||this.pseudoName,this.classes,this.parent,this.condition,this.specificity);return this.copySpecified(i),this.cloneChildren(i),i}resetScope(){this.scope.pageMaster=this}},Au=class Lu extends fs{constructor(t,i,n,s,r){super(t,i,n,s,r),this.pageMaster=r.pageMaster,i&&(this.pageMaster.keyMap[i]=this.key),this.specified["wrap-flow"]=new q(v.auto,0)}createInstance(t){return new Lm(t,this)}clone(t){let i=new Lu(t.parent.scope,this.name,this.pseudoName,this.classes,t.parent);return this.copySpecified(i),this.cloneChildren(i),i}},Sn=class Fu extends fs{constructor(t,i,n,s,r){super(t,i,n,s,r),this.pageMaster=r.pageMaster,i&&(this.pageMaster.keyMap[i]=this.key)}createInstance(t){return new Ci(t,this)}clone(t){let i=new Fu(t.parent.scope,this.name,this.pseudoName,this.classes,t.parent);return this.copySpecified(i),this.cloneChildren(i),i}};function Im(e,t,i){return!t||J(t)?new Be(e,i):t.toExpr(e,e.zero)}function ae(e,t,i){return!t||t===v.auto||J(t)?null:t.toExpr(e,i)}function Rm(e,t,i){return!t||t===v.normal||J(t)?null:t.toExpr(e,i)}function it(e,t,i){return!t||t===v.auto||J(t)?e.zero:t.toExpr(e,i)}function Ia(e,t,i){return!t||J(t)?e.zero:t===v.auto?null:t.toExpr(e,i)}function bt(e,t,i,n){return!t||i===v.none||J(t)?e.zero:t.toExpr(e,n)}function Ou(e,t,i){return!t||J(t)?i:t===v._true?e._true:t===v._false?e._false:t.toExpr(e,e.zero)}var gs=class{constructor(e,t){this.parentInstance=e,this.pageBox=t,u(this,"cascaded",{}),u(this,"style",{}),u(this,"autoWidth",null),u(this,"autoHeight",null),u(this,"children",[]),u(this,"isAutoWidth",!1),u(this,"isAutoHeight",!1),u(this,"isTopDependentOnAutoHeight",!1),u(this,"isRightDependentOnAutoWidth",!1),u(this,"calculatedWidth",0),u(this,"calculatedHeight",0),u(this,"pageMasterInstance",null),u(this,"namedValues",{}),u(this,"namedFuncs",{}),u(this,"vertical",!1),u(this,"rtl",!1),u(this,"suppressEmptyBoxGeneration",!1),u(this,"borderBoxSizing",!1),e&&e.children.push(this)}reset(){this.calculatedWidth=0,this.calculatedHeight=0}addNamedValues(e,t){let i=this.resolveName(e),n=this.resolveName(t);if(!i||!n)throw new Error("E_INTERNAL");return j(this.pageBox.scope,i,n)}resolveName(e){let t=this.namedValues[e];if(t)return t;let i=this.style[e];switch(i&&(t=i.toExpr(this.pageBox.scope,this.pageBox.scope.zero)),e){case"margin-left-edge":t=this.resolveName("left");break;case"margin-top-edge":t=this.resolveName("top");break;case"margin-right-edge":t=this.addNamedValues("border-right-edge","margin-right");break;case"margin-bottom-edge":t=this.addNamedValues("border-bottom-edge","margin-bottom");break;case"border-left-edge":t=this.addNamedValues("margin-left-edge","margin-left");break;case"border-top-edge":t=this.addNamedValues("margin-top-edge","margin-top");break;case"border-right-edge":t=this.addNamedValues("padding-right-edge","border-right-width");break;case"border-bottom-edge":t=this.addNamedValues("padding-bottom-edge","border-bottom-width");break;case"padding-left-edge":t=this.addNamedValues("border-left-edge","border-left-width");break;case"padding-top-edge":t=this.addNamedValues("border-top-edge","border-top-width");break;case"padding-right-edge":t=this.addNamedValues("right-edge","padding-right");break;case"padding-bottom-edge":t=this.addNamedValues("bottom-edge","padding-bottom");break;case"left-edge":t=this.addNamedValues("padding-left-edge","padding-left");break;case"top-edge":t=this.addNamedValues("padding-top-edge","padding-top");break;case"right-edge":t=this.addNamedValues("left-edge","width");break;case"bottom-edge":t=this.addNamedValues("top-edge","height");break}if(!t){let n;if(e=="extent")n=this.vertical?"width":"height";else if(e=="measure")n=this.vertical?"height":"width";else{let s=this.vertical?Ih:Rh;n=e;for(let r in s)n=n.replace(r,s[r])}n!=e&&(t=this.resolveName(n))}return t&&(this.namedValues[e]=t),t}resolveFunc(e){let t=this.namedFuncs[e];if(t)return t;switch(e){case"columns":{let i=this.pageBox.scope,n=new kl(i,0),s=this.resolveName("column-count"),r=this.resolveName("column-width"),o=this.resolveName("column-gap");t=oe(i,On(i,new Gi(i,"min",[n,s]),j(i,r,o)),o);break}}return t&&(this.namedFuncs[e]=t),t}initEnabled(){let e=this.pageBox.scope,t=this.style,i=Ou(e,t.enabled,e._true),n=ae(e,t.page,e.zero);if(n){let o=new Ae(e,"page-number");i=ht(e,i,new _r(e,n,o))}let s=ae(e,t["min-page-width"],e.zero);s&&(i=ht(e,i,new Us(e,new Ae(e,"page-width"),s)));let r=ae(e,t["min-page-height"],e.zero);r&&(i=ht(e,i,new Us(e,new Ae(e,"page-height"),r))),i=this.boxSpecificEnabled(i),t.enabled=new z(i)}boxSpecificEnabled(e){return e}initHorizontal(){let e=this.pageBox.scope,t=this.style,i=this.parentInstance?this.parentInstance.style.width.toExpr(e,null):null,n=ae(e,t.left,i),s=ae(e,t["margin-left"],i),r=bt(e,t["border-left-width"],t["border-left-style"],i),o=it(e,t["padding-left"],i),a=ae(e,t.width,i),h=ae(e,t["max-width"],i),l=it(e,t["padding-right"],i),c=bt(e,t["border-right-width"],t["border-right-style"],i),p=ae(e,t["margin-right"],i),d=ae(e,t.right,i),f=j(e,r,o),m=j(e,r,l);if(n&&d&&a){let y=oe(e,i,j(e,a,j(e,j(e,n,f),m)));s?p?d=oe(e,y,p):p=oe(e,y,j(e,d,s)):(y=oe(e,y,d),p?s=oe(e,y,p):(s=On(e,y,new Be(e,.5)),p=s))}else{s||(s=e.zero),p||(p=e.zero),!n&&!d&&!a&&(n=e.zero),!n&&!a?(a=this.autoWidth,this.isAutoWidth=!0):!n&&!d?n=e.zero:!a&&!d&&(a=this.autoWidth,this.isAutoWidth=!0);let y=oe(e,i,j(e,j(e,s,f),j(e,p,m)));this.isAutoWidth&&(h||(h=oe(e,y,n||d)),!this.vertical&&(ae(e,t["column-width"],null)||ae(e,t["column-count"],null))&&(a=h,this.isAutoWidth=!1)),n?a?d||(d=oe(e,y,j(e,n,a))):a=oe(e,y,j(e,n,d)):n=oe(e,y,j(e,d,a))}let g=t["snap-width"]||(this.parentInstance?this.parentInstance.style["snap-width"]:null),w=it(e,g,i);t.left=new z(n),t["margin-left"]=new z(s),t["border-left-width"]=new z(r),t["padding-left"]=new z(o),t.width=new z(a),t["max-width"]=new z(h||a),t["padding-right"]=new z(l),t["border-right-width"]=new z(c),t["margin-right"]=new z(p),t.right=new z(d),t["snap-width"]=new z(w)}initVertical(){let e=this.pageBox.scope,t=this.style,i=this.parentInstance?this.parentInstance.style.width.toExpr(e,null):null,n=this.parentInstance?this.parentInstance.style.height.toExpr(e,null):null,s=ae(e,t.top,n),r=ae(e,t["margin-top"],i),o=bt(e,t["border-top-width"],t["border-top-style"],i),a=it(e,t["padding-top"],i),h=ae(e,t.height,n),l=ae(e,t["max-height"],n),c=it(e,t["padding-bottom"],i),p=bt(e,t["border-bottom-width"],t["border-bottom-style"],i),d=ae(e,t["margin-bottom"],i),f=ae(e,t.bottom,n),m=j(e,o,a),g=j(e,p,c);if(s&&f&&h){let b=oe(e,n,j(e,h,j(e,j(e,s,m),g)));r?d?f=oe(e,b,r):d=oe(e,b,j(e,f,r)):(b=oe(e,b,f),d?r=oe(e,b,d):(r=On(e,b,new Be(e,.5)),d=r))}else{r||(r=e.zero),d||(d=e.zero),!s&&!f&&!h&&(s=e.zero),!s&&!h?(h=this.autoHeight,this.isAutoHeight=!0):!s&&!f?s=e.zero:!h&&!f&&(h=this.autoHeight,this.isAutoHeight=!0);let b=oe(e,n,j(e,j(e,r,m),j(e,d,g)));this.isAutoHeight&&(l||(l=oe(e,b,s||f)),this.vertical&&(ae(e,t["column-width"],null)||ae(e,t["column-count"],null))&&(h=l,this.isAutoHeight=!1)),s?h?f||(f=oe(e,b,j(e,s,h))):h=oe(e,b,j(e,f,s)):s=oe(e,b,j(e,f,h))}let w=t["snap-height"]||(this.parentInstance?this.parentInstance.style["snap-height"]:null),y=it(e,w,i);t.top=new z(s),t["margin-top"]=new z(r),t["border-top-width"]=new z(o),t["padding-top"]=new z(a),t.height=new z(h),t["max-height"]=new z(l||h),t["padding-bottom"]=new z(c),t["border-bottom-width"]=new z(p),t["margin-bottom"]=new z(d),t.bottom=new z(f),t["snap-height"]=new z(y)}initColumns(){let e=this.pageBox.scope,t=this.style,i=ae(e,t[this.vertical?"height":"width"],null),n=ae(e,t["column-width"],i),s=ae(e,t["column-count"],null),r=Rm(e,t["column-gap"],null);r||(r=new fn(e,1,"em")),n&&!s&&(s=new Gi(e,"floor",[$s(e,j(e,i,r),j(e,n,r))]),s=new Gi(e,"max",[e.one,s])),s||(s=e.one),n=oe(e,$s(e,j(e,i,r),s),r),t["column-width"]=new z(n),t["column-count"]=new z(s),t["column-gap"]=new z(r)}depends(e,t,i){return this.style[e].toExpr(this.pageBox.scope,null).depend(t,i)}init(e){var t;e.registerInstance(this.pageBox.key,this);let i=this.pageBox.scope,n=this.style,s=this.parentInstance?this.parentInstance.getActiveRegions(e):null,r=qh(this.cascaded,e,s,!1,null);this.vertical=jh(r,e,this.parentInstance?this.parentInstance.vertical:!1),this.rtl=Xh(r,e,this.parentInstance?this.parentInstance.rtl:!1),this.borderBoxSizing=((t=r["box-sizing"])==null?void 0:t.value)===v.border_box;let o=!!(e instanceof mo&&e.currentLayoutPosition&&new Ae(i,"left-page").evaluate(e));Zh(r,n,this.vertical,this.rtl,o,(a,h)=>h.value),this.autoWidth=new De(i,()=>this.calculatedWidth,"autoWidth"),this.autoHeight=new De(i,()=>this.calculatedHeight,"autoHeight"),this.initHorizontal(),this.initVertical(),this.initColumns(),this.initEnabled()}getProp(e,t){var i,n;let s=this.style[t];return!s&&qi(t)&&(t==="font-size"&&e.isRelativeRootFontSize&&e.rootFontSize?s=new I(e.rootFontSize,"px"):s=(n=((i=e.styler)==null?void 0:i.rootStyle)[t])==null?void 0:n.value),s&&(s=Jn(e,s,t)),s}getPropAsNumber(e,t){var i,n;let s=this.style[t];if(s){let r=/\b(height|top|bottom)\b/.test(t)?(i=e.pageAreaHeight)!=null?i:e.pageHeight():(n=e.pageAreaWidth)!=null?n:e.pageWidth();s=Jn(e,s,t,r)}return je(s,e)}getSpecial(e,t){let i=Fh(this.cascaded,t);if(i){let n=[];for(let s=0;s<i.length;s++){let r=i[s].evaluate(e,"");r&&r!==G&&n.push(r)}if(n.length)return n}return null}getActiveRegions(e){let t=this.getSpecial(e,"region-id");if(t){let i=[];for(let n=0;n<t.length;n++)i[n]=t[n].toString();return i}return null}propagateProperty(e,t,i,n){this.propagatePropertyToElement(e,t.element,i,n)}propagatePropertyToElement(e,t,i,n){let s=this.getProp(e,i);s&&(s.isNumeric()&&fl(s.unit)&&(s=Ll(s,e)),i==="font-family"&&(s=n.filterFontFamily(s)),(i.startsWith("background")||i==="z-index")&&t.parentElement.hasAttribute("data-vivliostyle-bleed-box")&&(t=t.parentElement),N(t,i,s.toString()))}propagateDelayedProperty(e,t,i,n){let s=this.getProp(e,i);s&&n.push(new Gr(t.element,i,s))}assignLeftPosition(e,t){let i=this.getPropAsNumber(e,"left"),n=this.getPropAsNumber(e,"margin-left"),s=this.getPropAsNumber(e,"padding-left"),r=this.getPropAsNumber(e,"border-left-width"),o=this.getPropAsNumber(e,"width");t.setHorizontalPosition(i,o),N(t.element,"margin-left",`${n}px`),N(t.element,"padding-left",`${s}px`),N(t.element,"border-left-width",`${r}px`),t.marginLeft=n,t.borderLeft=r,t.paddingLeft=s}assignRightPosition(e,t){let i=this.getPropAsNumber(e,"right"),n=this.getPropAsNumber(e,"snap-height"),s=this.getPropAsNumber(e,"margin-right"),r=this.getPropAsNumber(e,"padding-right"),o=this.getPropAsNumber(e,"border-right-width");if(N(t.element,"margin-right",`${s}px`),N(t.element,"padding-right",`${r}px`),N(t.element,"border-right-width",`${o}px`),t.marginRight=s,t.borderRight=o,this.vertical&&n>0){let a=i+t.getInsetRight(),h=a-Math.floor(a/n)*n;h>0&&(t.snapOffsetX=n-h,r+=t.snapOffsetX)}t.paddingRight=r,t.snapWidth=n}assignTopPosition(e,t){let i=this.getPropAsNumber(e,"snap-height"),n=this.getPropAsNumber(e,"top"),s=this.getPropAsNumber(e,"margin-top"),r=this.getPropAsNumber(e,"padding-top"),o=this.getPropAsNumber(e,"border-top-width");if(t.top=n,t.marginTop=s,t.borderTop=o,t.snapHeight=i,!this.vertical&&i>0){let a=n+t.getInsetTop(),h=a-Math.floor(a/i)*i;h>0&&(t.snapOffsetY=i-h,r+=t.snapOffsetY)}t.paddingTop=r,N(t.element,"top",`${n}px`),N(t.element,"margin-top",`${s}px`),N(t.element,"padding-top",`${r}px`),N(t.element,"border-top-width",`${o}px`)}assignBottomPosition(e,t){let i=this.getPropAsNumber(e,"margin-bottom"),n=this.getPropAsNumber(e,"padding-bottom"),s=this.getPropAsNumber(e,"border-bottom-width"),r=this.getPropAsNumber(e,"height")-t.snapOffsetY;N(t.element,"height",`${r}px`),N(t.element,"margin-bottom",`${i}px`),N(t.element,"padding-bottom",`${n}px`),N(t.element,"border-bottom-width",`${s}px`),t.height=r-t.snapOffsetY,t.marginBottom=i,t.borderBottom=s,t.paddingBottom=n}assignBeforePosition(e,t){this.vertical?this.assignRightPosition(e,t):this.assignTopPosition(e,t)}assignAfterPosition(e,t){this.vertical?this.assignLeftPosition(e,t):this.assignBottomPosition(e,t)}assignStartEndPosition(e,t){this.vertical?(this.assignTopPosition(e,t),this.assignBottomPosition(e,t)):(this.assignRightPosition(e,t),this.assignLeftPosition(e,t))}sizeWithMaxHeight(e,t){N(t.element,"border-top-width","0px");let i=this.getPropAsNumber(e,"max-height");this.isTopDependentOnAutoHeight?t.setVerticalPosition(0,i):(this.assignTopPosition(e,t),i-=t.snapOffsetY,t.height=i,N(t.element,"height",`${i}px`))}sizeWithMaxWidth(e,t){N(t.element,"border-left-width","0px");let i=this.getPropAsNumber(e,"max-width");if(this.isRightDependentOnAutoWidth)t.setHorizontalPosition(0,i);else{this.assignRightPosition(e,t),i-=t.snapOffsetX,t.width=i;let n=this.getPropAsNumber(e,"right");N(t.element,"right",`${n}px`),N(t.element,"width",`${i}px`)}}prepareContainer(e,t,i,n,s){(!this.parentInstance||this.vertical!=this.parentInstance.vertical)&&N(t.element,"writing-mode",this.vertical?"vertical-rl":"horizontal-tb"),(!this.parentInstance||this.rtl!=this.parentInstance.rtl)&&N(t.element,"direction",this.rtl?"rtl":"ltr"),(this.vertical?this.isAutoWidth:this.isAutoHeight)?this.vertical?this.sizeWithMaxWidth(e,t):this.sizeWithMaxHeight(e,t):(this.assignBeforePosition(e,t),this.assignAfterPosition(e,t)),(this.vertical?this.isAutoHeight:this.isAutoWidth)?this.vertical?this.sizeWithMaxHeight(e,t):this.sizeWithMaxWidth(e,t):this.assignStartEndPosition(e,t);for(let r=0;r<Ra.length;r++)this.propagateProperty(e,t,Ra[r],n)}transferContentProps(e,t,i,n){for(let s=0;s<La.length;s++)this.propagateProperty(e,t,La[s],n);if(this.style["text-overflow"]){let s=t.element.firstElementChild;N(s,"text-overflow","inherit"),N(s,"overflow","inherit")}}transferSingleUriContentProps(e,t,i){let n=()=>{var r,o;let a=(o=(r=this.cascaded.width)!=null?r:this.cascaded[this.vertical?"block-size":"inline-size"])==null?void 0:o.value;return!!a&&a!==v.auto&&!J(a)},s=()=>{var r,o;let a=(o=(r=this.cascaded.height)!=null?r:this.cascaded[this.vertical?"inline-size":"block-size"])==null?void 0:o.value;return!!a&&a!==v.auto&&!J(a)};for(let r=0;r<Fa.length;r++){let o=Fa[r];if(o==="width"||o==="height"){if(o==="width"&&!n()||o==="height"&&!s())continue;N(t,o,"100%");continue}this.propagatePropertyToElement(e,t,o,i)}}finishContainer(e,t,i,n,s,r,o){this.vertical?this.calculatedWidth=t.computedBlockSize+t.snapOffsetX:this.calculatedHeight=t.computedBlockSize+t.snapOffsetY;let a=(this.vertical||!n)&&this.isAutoHeight,h=(!this.vertical||!n)&&this.isAutoWidth,l=null;if((h||a)&&(h&&N(t.element,"width","auto"),a&&N(t.element,"height","auto"),l=r.getElementClientRect(n?n.element:t.element),h&&(this.calculatedWidth=Math.ceil(l.right-l.left-t.paddingLeft-t.borderLeft-t.paddingRight-t.borderRight),this.vertical&&(this.calculatedWidth+=t.snapOffsetX)),a&&(this.calculatedHeight=l.bottom-l.top-t.paddingTop-t.borderTop-t.paddingBottom-t.borderBottom,this.vertical||(this.calculatedHeight+=t.snapOffsetY))),(this.vertical?this.isAutoHeight:this.isAutoWidth)&&this.assignStartEndPosition(e,t),(this.vertical?this.isAutoWidth:this.isAutoHeight)&&((this.vertical?this.isRightDependentOnAutoWidth:this.isTopDependentOnAutoHeight)&&this.assignBeforePosition(e,t),this.assignAfterPosition(e,t)),s>1){let c=this.getPropAsNumber(e,"column-rule-width"),p=this.getProp(e,"column-rule-style"),d=this.getProp(e,"column-rule-color");if(c>0&&p&&p!=v.none&&d!=v.transparent){let f=this.getPropAsNumber(e,"column-gap"),m=this.vertical?t.height:t.width,g=this.vertical?"border-top":"border-left";for(let w=1;w<s;w++){let y=this.vertical?(m+f)*w/s-f/2+t.paddingTop-c/2:(m+f)*w/s-f/2+t.paddingLeft-c/2,b=this.vertical?t.width+t.paddingLeft+t.paddingRight:t.height+t.paddingTop+t.paddingBottom,S=t.element.ownerDocument.createElement("div");N(S,"position","absolute"),N(S,this.vertical?"left":"top","0px"),N(S,this.vertical?"top":"left",`${y}px`),N(S,this.vertical?"height":"width","0px"),N(S,this.vertical?"width":"height",`${b}px`),N(S,g,`${c}px ${p.toString()}${d?` ${d.toString()}`:""}`),t.element.insertBefore(S,t.element.firstChild)}}}for(let c=0;c<Aa.length;c++)this.propagateProperty(e,t,Aa[c],o);for(let c=0;c<Oa.length;c++)this.propagateDelayedProperty(e,t,Oa[c],i.delayedItems)}applyCascadeAndInit(e,t){let i=this.cascaded,n=this.pageBox.specified;for(let r in n)this instanceof Qi&&this.pageBox.pseudoName=="vivliostyle-page-rule-master"&&(r==="writing-mode"||r==="direction")||wi(r)&&Yt(i,r,Ue(n,r));if(this.pageBox.pseudoName==ho)for(let r in t)(r.match(/^background-/)||r=="writing-mode")&&(i[r]=t[r]);if(this.pageBox.pseudoName=="layout-host")for(let r in t)!r.match(/^background-/)&&r!="writing-mode"&&(i[r]=t[r]);e.pushRule(this.pageBox.classes,null,i);let s=i.content;s&&(i.content=s.filterValue(new gr(e,null,e.counterResolver))),this.init(e.context);for(let r of this.pageBox.children)r.createInstance(this).applyCascadeAndInit(e,t);e.popRule()}resolveAutoSizing(e){this.isAutoWidth&&(this.isRightDependentOnAutoWidth=this.depends("right",this.autoWidth,e)||this.depends("margin-right",this.autoWidth,e)||this.depends("border-right-width",this.autoWidth,e)||this.depends("padding-right",this.autoWidth,e)),this.isAutoHeight&&(this.isTopDependentOnAutoHeight=this.depends("top",this.autoHeight,e)||this.depends("margin-top",this.autoHeight,e)||this.depends("border-top-width",this.autoHeight,e)||this.depends("padding-top",this.autoHeight,e));for(let t of this.children)t.resolveAutoSizing(e)}},Ra=["border-left-style","border-right-style","border-top-style","border-bottom-style","border-left-color","border-right-color","border-top-color","border-bottom-color","box-sizing","outline-style","outline-color","outline-width","overflow","visibility"],Aa=["border-top-left-radius","border-top-right-radius","border-bottom-right-radius","border-bottom-left-radius","border-start-start-radius","border-start-end-radius","border-end-start-radius","border-end-end-radius","border-image-source","border-image-slice","border-image-width","border-image-outset","border-image-repeat","background-attachment","background-color","background-image","background-repeat","background-position","background-clip","background-origin","background-size","box-shadow","opacity","z-index","background-blend-mode","isolation","mix-blend-mode","filter"],La=["color","font-family","font-size","font-style","font-weight","line-height","letter-spacing","text-align","text-align-last","text-decoration","text-indent","text-transform","white-space","text-wrap","text-wrap-mode","text-wrap-style","word-spacing","font-feature-settings","font-kerning","font-size-adjust","font-variant-ligatures","font-variant-caps","font-variant-numeric","font-variant-east-asian","font-stretch","text-combine-upright","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-fill-color","text-orientation","text-shadow","text-stroke-color","text-stroke-width","text-underline-offset","text-underline-position","text-overflow"],Fa=["width","height","image-resolution","object-fit","object-position"],Oa=["transform","transform-origin"],ho="background-host",Am=class extends gs{constructor(e){super(null,e)}applyCascadeAndInit(e,t){super.applyCascadeAndInit(e,t),this.children.sort((i,n)=>n.pageBox.specificity-i.pageBox.specificity||i.pageBox.index-n.pageBox.index)}},uo=class extends gs{constructor(e,t){super(e,t),this.pageMasterInstance=this}boxSpecificEnabled(e){let t=this.pageBox.pageMaster;return t.condition&&(e=ht(t.scope,e,t.condition)),e}adjustPageLayout(e,t,i){}},Lm=class extends gs{constructor(e,t){super(e,t),this.pageMasterInstance=e.pageMasterInstance}},Ci=class extends gs{constructor(e,t){super(e,t),this.pageMasterInstance=e.pageMasterInstance}processPartitionList(e,t,i){let n=null;if(t instanceof nt&&(n=[t]),t instanceof Ye&&(n=t.values),n){let s=this.pageBox.scope;for(let r=0;r<n.length;r++)if(n[r]instanceof nt){let o=Ds(n[r].name,"enabled"),a=new Ae(s,o);i&&(a=new Bt(s,a)),e=ht(s,e,a)}}return e}boxSpecificEnabled(e){let t=this.pageBox.scope,i=this.style,n=Ou(t,i.required,t._false)!==t._false;if(n||this.isAutoHeight){let s=Im(t,i["flow-from"],"body"),r=new Gi(t,"has-content",[s]);e=ht(t,e,r)}if(e=this.processPartitionList(e,i["required-partitions"],!1),e=this.processPartitionList(e,i["conflicting-partitions"],!0),n){let s=this.pageMasterInstance.style.enabled,r=s?s.toExpr(t,null):t._true;r=ht(t,r,e),this.pageMasterInstance.style.enabled=new z(r)}return e}prepareContainer(e,t,i,n,s){var r;this.pageBox.pageMaster instanceof Du||(N(t.element,"overflow","hidden"),t.element.setAttribute("data-vivliostyle-page-partition",(r=this.pageBox.name)!=null?r:"")),super.prepareContainer(e,t,i,n,s)}},co=class extends bn{constructor(e,t,i,n){super(e,t,!1),this.target=i,this.validatorSet=n}property(e,t,i){this.validatorSet.validatePropertyAndHandleShorthand(e,t,i,this)}unknownProperty(e,t){this.report(`E_INVALID_PROPERTY ${e}: ${t.toString()}`)}invalidPropertyValue(e,t){this.report(`E_INVALID_PROPERTY_VALUE ${e}: ${t.toString()}`)}simpleProperty(e,t,i){this.target.specified[e]=new q(t,i?Jl:Ql)}},Bu=class extends co{constructor(e,t,i,n){super(e,t,i,n)}},Fm=class _u extends co{constructor(t,i,n,s){super(t,i,n,s),n.specified.width=new q(Mo,0),n.specified.height=new q(Mo,0)}startPartitionRule(t,i,n){let s=new Sn(this.scope,t,i,n,this.target),r=new Bu(this.scope,this.owner,s,this.validatorSet);this.owner.pushHandler(r)}startPartitionGroupRule(t,i,n){let s=new Au(this.scope,t,i,n,this.target),r=new _u(this.scope,this.owner,s,this.validatorSet);this.owner.pushHandler(r)}},Om=class extends co{constructor(e,t,i,n){super(e,t,i,n)}startPartitionRule(e,t,i){let n=new Sn(this.scope,e,t,i,this.target),s=new Bu(this.scope,this.owner,n,this.validatorSet);this.owner.pushHandler(s)}startPartitionGroupRule(e,t,i){let n=new Au(this.scope,e,t,i,this.target),s=new Fm(this.scope,this.owner,n,this.validatorSet);this.owner.pushHandler(s)}};function Mu(e){var t,i;let n=(t=e["writing-mode"])==null?void 0:t.value,s=(i=e.direction)==null?void 0:i.value;return n===v.vertical_lr||n!==v.vertical_rl&&s!==v.rtl?"ltr":"rtl"}var Bm={a10:{width:new I(26,"mm"),height:new I(37,"mm")},a9:{width:new I(37,"mm"),height:new I(52,"mm")},a8:{width:new I(52,"mm"),height:new I(74,"mm")},a7:{width:new I(74,"mm"),height:new I(105,"mm")},a6:{width:new I(105,"mm"),height:new I(148,"mm")},a5:{width:new I(148,"mm"),height:new I(210,"mm")},a4:{width:new I(210,"mm"),height:new I(297,"mm")},a3:{width:new I(297,"mm"),height:new I(420,"mm")},a2:{width:new I(420,"mm"),height:new I(594,"mm")},a1:{width:new I(594,"mm"),height:new I(841,"mm")},a0:{width:new I(841,"mm"),height:new I(1189,"mm")},b10:{width:new I(31,"mm"),height:new I(44,"mm")},b9:{width:new I(44,"mm"),height:new I(62,"mm")},b8:{width:new I(62,"mm"),height:new I(88,"mm")},b7:{width:new I(88,"mm"),height:new I(125,"mm")},b6:{width:new I(125,"mm"),height:new I(176,"mm")},b5:{width:new I(176,"mm"),height:new I(250,"mm")},b4:{width:new I(250,"mm"),height:new I(353,"mm")},b3:{width:new I(353,"mm"),height:new I(500,"mm")},b2:{width:new I(500,"mm"),height:new I(707,"mm")},b1:{width:new I(707,"mm"),height:new I(1e3,"mm")},b0:{width:new I(1e3,"mm"),height:new I(1414,"mm")},c10:{width:new I(28,"mm"),height:new I(40,"mm")},c9:{width:new I(40,"mm"),height:new I(57,"mm")},c8:{width:new I(57,"mm"),height:new I(81,"mm")},c7:{width:new I(81,"mm"),height:new I(114,"mm")},c6:{width:new I(114,"mm"),height:new I(162,"mm")},c5:{width:new I(162,"mm"),height:new I(229,"mm")},c4:{width:new I(229,"mm"),height:new I(324,"mm")},c3:{width:new I(324,"mm"),height:new I(458,"mm")},c2:{width:new I(458,"mm"),height:new I(648,"mm")},c1:{width:new I(648,"mm"),height:new I(917,"mm")},c0:{width:new I(917,"mm"),height:new I(1297,"mm")},"jis-b10":{width:new I(32,"mm"),height:new I(45,"mm")},"jis-b9":{width:new I(45,"mm"),height:new I(64,"mm")},"jis-b8":{width:new I(64,"mm"),height:new I(91,"mm")},"jis-b7":{width:new I(91,"mm"),height:new I(128,"mm")},"jis-b6":{width:new I(128,"mm"),height:new I(182,"mm")},"jis-b5":{width:new I(182,"mm"),height:new I(257,"mm")},"jis-b4":{width:new I(257,"mm"),height:new I(364,"mm")},"jis-b3":{width:new I(364,"mm"),height:new I(515,"mm")},"jis-b2":{width:new I(515,"mm"),height:new I(728,"mm")},"jis-b1":{width:new I(728,"mm"),height:new I(1030,"mm")},"jis-b0":{width:new I(1030,"mm"),height:new I(1456,"mm")},letter:{width:new I(8.5,"in"),height:new I(11,"in")},legal:{width:new I(8.5,"in"),height:new I(14,"in")},ledger:{width:new I(11,"in"),height:new I(17,"in")}},_m=new I(.24,"pt"),Jw=new I(3,"mm"),Mm=new I(10,"mm"),zm=new I(13,"mm");function ts(e){let t={width:gn,height:mn,bleed:ve,bleedOffset:ve,cropOffset:ve},i=e.size;if(!(!i||i.value===v.auto)){let l=i.value,c,p;if(l.isSpaceList()?(c=l.values[0],p=l.values[1]):(c=l,p=null),c.isNumeric())t.width=c,t.height=p||c;else{let d=c.name&&Bm[c.name.toLowerCase()];d&&(p&&p===v.landscape?(t.width=d.height,t.height=d.width):(t.width=d.width,t.height=d.height))}}let n=e.marks,s=e.bleed,r=n&&!J(n.value)?n.value:v.none,o=s&&!J(s.value)?s.value:v.auto;if(o===v.auto){if(r!==v.none){let l=!1;r.isSpaceList()?l=r.values.some(c=>c===v.crop):l=r===v.crop,l&&(t.bleed=new I(6,"pt"))}}else o.isNumeric()&&(t.bleed=o);let a=e["crop-offset"],h=a&&!J(a.value)?a.value:v.auto;return h===v.auto?r!==v.none&&(t.bleedOffset=zm):h.isNumeric()&&(t.cropOffset=h),t}function Ba(e,t){let i={},n=Math.max(0,e.bleed.num)*t.queryUnitSize(e.bleed.unit,!1),s=!e.cropOffset.num&&e.bleedOffset.num?e.bleedOffset.num*t.queryUnitSize(e.bleedOffset.unit,!1):Math.max(0,e.cropOffset.num*t.queryUnitSize(e.cropOffset.unit,!1)-n),r=n+s,o=e.width;o===gn?t.pref.defaultPaperSize?i.pageWidth=t.pref.defaultPaperSize.width*t.queryUnitSize("px",!1):i.pageWidth=(t.pref.spreadView?Math.floor(t.viewportWidth/2)-t.pref.pageBorder:t.viewportWidth)-r*2:i.pageWidth=o.num*t.queryUnitSize(o.unit,!1);let a=e.height;return a===mn?t.pref.defaultPaperSize?i.pageHeight=t.pref.defaultPaperSize.height*t.queryUnitSize("px",!1):i.pageHeight=t.viewportHeight-r*2:i.pageHeight=a.num*t.queryUnitSize(a.unit,!1),i.bleed=n,i.bleedOffset=s,i.cropOffset=r,i}function zu(e,t,i){let n=e.createElementNS("http://www.w3.org/2000/svg","svg");return n.setAttribute("width",t),n.setAttribute("height",i),n.style.position="absolute",n}function Ji(e,t,i,n){n=n||"polyline";let s=e.createElementNS("http://www.w3.org/2000/svg",n);return s.setAttribute("stroke",i===v.auto?"#010101":i.toString()),s.setAttribute("stroke-width",t),s.setAttribute("fill","none"),s}var Cr=(e=>(e.TOP_LEFT="top left",e.TOP_RIGHT="top right",e.BOTTOM_LEFT="bottom left",e.BOTTOM_RIGHT="bottom right",e))(Cr||{});function Dm(e,t,i,n,s,r,o){let a=s;a<=r+2*me.mm&&(a=r+s/2);let h=Math.max(s,a),l=r+h+i/2,c=zu(e,l,l),p=[[0,r+s],[s,r+s],[s,r+s-a]],d=p.map(g=>[g[1],g[0]]);(t==="top right"||t==="bottom right")&&(p=p.map(g=>[r+h-g[0],g[1]]),d=d.map(g=>[r+h-g[0],g[1]])),(t==="bottom left"||t==="bottom right")&&(p=p.map(g=>[g[0],r+h-g[1]]),d=d.map(g=>[g[0],r+h-g[1]]));let f=Ji(e,i,n);f.setAttribute("points",p.map(g=>g.join(",")).join(" ")),c.appendChild(f);let m=Ji(e,i,n);return m.setAttribute("points",d.map(g=>g.join(",")).join(" ")),c.appendChild(m),t.split(" ").forEach(g=>{c.style[g]=`${o}px`}),c}var un=(e=>(e.TOP="top",e.BOTTOM="bottom",e.LEFT="left",e.RIGHT="right",e))(un||{});function Vm(e,t,i,n,s,r){let o=s*2,a,h;t==="top"||t==="bottom"?(a=o,h=s):(a=s,h=o);let l=zu(e,a,h),c=Ji(e,i,n);c.setAttribute("points",`0,${h/2} ${a},${h/2}`),l.appendChild(c);let p=Ji(e,i,n);p.setAttribute("points",`${a/2},0 ${a/2},${h}`),l.appendChild(p);let d=Ji(e,i,n,"circle");d.setAttribute("cx",a/2),d.setAttribute("cy",h/2),d.setAttribute("r",s/4),l.appendChild(d);let f;switch(t){case"top":f="bottom";break;case"bottom":f="top";break;case"left":f="right";break;case"right":f="left";break}return Object.keys(un).forEach(m=>{let g=un[m];g===t?l.style[g]=`${r}px`:g!==f&&(l.style[g]="0",l.style[`margin-${g}`]="auto")}),l}function Hm(e,t,i,n){let s=!1,r=!1,o=e.marks;if(o){let g=o.value;g instanceof xe?g.values.forEach(w=>{w===v.crop?s=!0:w===v.cross&&(r=!0)}):g===v.crop?s=!0:g===v.cross&&(r=!0)}let a=t.bleed;if(!s&&!r)return;let h=i.container,l=h.ownerDocument,c=je(_m,n),p=Math.max(0,t.bleedOffset-je(Mm,n)),d=t.bleedOffset-p,f=e["crop-marks-line-color"],m=f&&!J(f.value)?f.value:v.auto;s&&Object.keys(Cr).forEach(g=>{let w=Cr[g],y=Dm(l,w,c,m,d,a,p);h.appendChild(y)}),r&&Object.keys(un).forEach(g=>{let w=un[g],y=Vm(l,w,c,m,d,p);h.appendChild(y)})}var Er=(()=>{let e=["left","right","top","bottom","before","after","start","end","block-start","block-end","inline-start","inline-end","inside","outside"],t={width:!0,height:!0,"block-size":!0,"inline-size":!0,margin:!0,padding:!0,border:!0,outline:!0,"outline-width":!0,"outline-style":!0,"outline-color":!0,"border-radius":!0,"border-top-left-radius":!0,"border-top-right-radius":!0,"border-bottom-right-radius":!0,"border-bottom-left-radius":!0,"border-start-start-radius":!0,"border-start-end-radius":!0,"border-end-start-radius":!0,"border-end-end-radius":!0,"box-shadow":!0,"box-sizing":!0};return e.forEach(i=>{t[`margin-${i}`]=!0,t[`padding-${i}`]=!0,t[`border-${i}-width`]=!0,t[`border-${i}-style`]=!0,t[`border-${i}-color`]=!0}),t})(),po={"top-left-corner":{order:1,isInTopRow:!0,isInBottomRow:!1,isInLeftColumn:!0,isInRightColumn:!1,positionAlongVariableDimension:null},"top-left":{order:2,isInTopRow:!0,isInBottomRow:!1,isInLeftColumn:!1,isInRightColumn:!1,positionAlongVariableDimension:"start"},"top-center":{order:3,isInTopRow:!0,isInBottomRow:!1,isInLeftColumn:!1,isInRightColumn:!1,positionAlongVariableDimension:"center"},"top-right":{order:4,isInTopRow:!0,isInBottomRow:!1,isInLeftColumn:!1,isInRightColumn:!1,positionAlongVariableDimension:"end"},"top-right-corner":{order:5,isInTopRow:!0,isInBottomRow:!1,isInLeftColumn:!1,isInRightColumn:!0,positionAlongVariableDimension:null},"right-top":{order:6,isInTopRow:!1,isInBottomRow:!1,isInLeftColumn:!1,isInRightColumn:!0,positionAlongVariableDimension:"start"},"right-middle":{order:7,isInTopRow:!1,isInBottomRow:!1,isInLeftColumn:!1,isInRightColumn:!0,positionAlongVariableDimension:"center"},"right-bottom":{order:8,isInTopRow:!1,isInBottomRow:!1,isInLeftColumn:!1,isInRightColumn:!0,positionAlongVariableDimension:"end"},"bottom-right-corner":{order:9,isInTopRow:!1,isInBottomRow:!0,isInLeftColumn:!1,isInRightColumn:!0,positionAlongVariableDimension:null},"bottom-right":{order:10,isInTopRow:!1,isInBottomRow:!0,isInLeftColumn:!1,isInRightColumn:!1,positionAlongVariableDimension:"end"},"bottom-center":{order:11,isInTopRow:!1,isInBottomRow:!0,isInLeftColumn:!1,isInRightColumn:!1,positionAlongVariableDimension:"center"},"bottom-left":{order:12,isInTopRow:!1,isInBottomRow:!0,isInLeftColumn:!1,isInRightColumn:!1,positionAlongVariableDimension:"start"},"bottom-left-corner":{order:13,isInTopRow:!1,isInBottomRow:!0,isInLeftColumn:!0,isInRightColumn:!1,positionAlongVariableDimension:null},"left-bottom":{order:14,isInTopRow:!1,isInBottomRow:!1,isInLeftColumn:!0,isInRightColumn:!1,positionAlongVariableDimension:"end"},"left-middle":{order:15,isInTopRow:!1,isInBottomRow:!1,isInLeftColumn:!0,isInRightColumn:!1,positionAlongVariableDimension:"center"},"left-top":{order:16,isInTopRow:!1,isInBottomRow:!1,isInLeftColumn:!0,isInRightColumn:!1,positionAlongVariableDimension:"start"}},Um=(()=>{let e=po;return Object.keys(e).sort((t,i)=>e[t].order-e[i].order)})(),fo="vivliostyle-page-rule-master",cn="_marginBoxes",Du=class extends Iu{constructor(e,t,i){super(e,null,fo,[],t,null,0),u(this,"pageMarginBoxes",{});let n=ts(i),s=new $m(this.scope,this,i,n);this.createPageMarginBoxes(i),this.applySpecified(i,n)}createPageMarginBoxes(e){let t=e[cn];t&&Um.forEach(i=>{t[i]&&(this.pageMarginBoxes[i]=new Wm(this.scope,this,i,e))})}applySpecified(e,t){this.specified.position=new q(v.relative,0),this.specified.width=new q(t.width,0),this.specified.height=new q(t.height,0);for(let i in e)!Er[i]&&i!=="background-clip"&&(this.specified[i]=e[i])}createInstance(e){return new Qi(e,this)}},$m=class extends Sn{constructor(e,t,i,n){super(e,null,null,[],t),this.pageSize=n;let s=new Gm(this.scope,this);this.applySpecified(i)}applySpecified(e){this.specified["wrap-flow"]=new q(v.auto,0),this.specified["z-index"]=new q(new Jt(0),0),this.specified.position=new q(v.absolute,0),this.specified.overflow=new q(v.visible,0);for(let t in Er)Er.hasOwnProperty(t)&&(this.specified[t]=e[t])}createInstance(e){return new Xm(e,this)}},Gm=class extends Sn{constructor(e,t){super(e,null,null,[],t),this.specified["flow-from"]=new q(B("body"),0)}createInstance(e){return new Vu(e,this)}},Wm=class extends Sn{constructor(e,t,i,n){super(e,null,null,[],t),this.marginBoxName=i,this.applySpecified(n)}applySpecified(e){let t=e[cn][this.marginBoxName];for(let i in e){let n=e[i],s=t[i];(Th[i]||s&&s.value===v.inherit)&&(this.specified[i]=n)}for(let i in t)if(Object.prototype.hasOwnProperty.call(t,i)){let n=t[i];n&&n.value!==G&&n.value!==v.inherit&&n.value!==v.unset&&n.value!==v.revert&&(this.specified[i]=n)}}createInstance(e){return new Hu(e,this)}},Qi=class extends uo{constructor(e,t){super(e,t),u(this,"pageAreaDimension",null),u(this,"pageMarginBoxInstances",{})}applyCascadeAndInit(e,t){let i=this.cascaded;for(let n in t)if(Object.prototype.hasOwnProperty.call(t,n))switch(n){case"writing-mode":case"direction":i[n]=t[n]}super.applyCascadeAndInit(e,t)}initHorizontal(){let e=this.style;e.left=ve,e["margin-left"]=ve,e["border-left-width"]=ve,e["padding-left"]=ve,e["padding-right"]=ve,e["border-right-width"]=ve,e["margin-right"]=ve,e.right=ve}initVertical(){let e=this.style;e.top=ve,e["margin-top"]=ve,e["border-top-width"]=ve,e["padding-top"]=ve,e["padding-bottom"]=ve,e["border-bottom-width"]=ve,e["margin-bottom"]=ve,e.bottom=ve}setPageAreaDimension(e){this.pageAreaDimension=e;let t=this.style;t.width=new z(e.borderBoxWidth),t.height=new z(e.borderBoxHeight),t["padding-left"]=new z(e.marginLeft),t["padding-right"]=new z(e.marginRight),t["padding-top"]=new z(e.marginTop),t["padding-bottom"]=new z(e.marginBottom)}adjustPageLayout(e,t,i){let n=t.marginBoxes,s={start:this.pageAreaDimension.marginLeft,end:this.pageAreaDimension.marginRight,extent:this.pageAreaDimension.borderBoxWidth},r={start:this.pageAreaDimension.marginTop,end:this.pageAreaDimension.marginBottom,extent:this.pageAreaDimension.borderBoxHeight};this.sizeMarginBoxesAlongVariableDimension(n.top,!0,s,e,i),this.sizeMarginBoxesAlongVariableDimension(n.bottom,!0,s,e,i),this.sizeMarginBoxesAlongVariableDimension(n.left,!1,r,e,i),this.sizeMarginBoxesAlongVariableDimension(n.right,!1,r,e,i)}sizeMarginBoxesAlongVariableDimension(e,t,i,n,s){let r="start",o="center",a="end",h=this.pageBox.scope,l={},c={},p={};for(let S in e){let T=po[S];if(T){let A=e[S],_=this.pageMarginBoxInstances[S],V=new Vn(A,_.style,t,h,s);l[T.positionAlongVariableDimension]=A,c[T.positionAlongVariableDimension]=_,p[T.positionAlongVariableDimension]=V}}let d={start:i.start.evaluate(n),end:i.end.evaluate(n),extent:i.extent.evaluate(n)},f=this.getSizesOfMarginBoxesAlongVariableDimension(p,d.extent),m=!1,g={};Object.keys(l).forEach(S=>{let T=S,A=ae(h,c[T].style[t?"max-width":"max-height"],i.extent);if(A){let _=A.evaluate(n);if(f[T]>_){let V=p[T]=new _a(l[T],c[T].style,t,h,s,_);g[T]=V.getOuterSize(),m=!0}}}),m&&(f=this.getSizesOfMarginBoxesAlongVariableDimension(p,d.extent),m=!1,[r,o,a].forEach(S=>{var T;f[S]=(T=g[S])!=null?T:f[S]}));let w={};Object.keys(l).forEach(S=>{let T=S,A=ae(h,c[T].style[t?"min-width":"min-height"],i.extent);if(A){let _=A.evaluate(n);if(f[T]<_){let V=p[T]=new _a(l[T],c[T].style,t,h,s,_);w[T]=V.getOuterSize(),m=!0}}}),m&&(f=this.getSizesOfMarginBoxesAlongVariableDimension(p,d.extent),[r,o,a].forEach(S=>{f[S]=w[S]||f[S]}));let y=d.start+d.extent,b=d.start+(d.start+d.extent);[r,o,a].forEach(S=>{let T=f[S];if(T!=null){let A=l[S],_=0;switch(S){case r:_=t?A.left:A.top;break;case o:_=(b-T)/2;break;case a:_=y-T;break}t?A.setHorizontalPosition(_,T-A.getInsetLeft()-A.getInsetRight()):A.setVerticalPosition(_,T-A.getInsetTop()-A.getInsetBottom())}})}getSizesOfMarginBoxesAlongVariableDimension(e,t){var i;let n=e.start,s=e.center,r=e.end,o={};if(s){let a=[n,r],h=new jm(a),l=this.distributeAutoMarginBoxSizes(s,h,t);l.xSize!=null&&(o.center=l.xSize);let c=(i=l.xSize)!=null?i:s.getOuterSize(),p=Math.max((t-c)/2,0);n&&(o.start=n.hasAutoSize()?p:n.getOuterSize()),r&&(o.end=r.hasAutoSize()?p:r.getOuterSize())}else{let a=this.distributeAutoMarginBoxSizes(n,r,t);a.xSize!=null&&(o.start=a.xSize),a.ySize!=null&&(o.end=a.ySize)}return o}distributeAutoMarginBoxSizes(e,t,i){let n={xSize:null,ySize:null};if(e instanceof Vn&&e.minMaxFitContent&&(n.xSize=e.getOuterSize()),t instanceof Vn&&t.minMaxFitContent&&(n.ySize=t.getOuterSize()),e&&t)if(e.hasAutoSize()&&t.hasAutoSize()){let s=e.getOuterMaxContentSize(),r=t.getOuterMaxContentSize();if(s>0&&r>0){let o=s+r;if(o<i)n.xSize=i*s/o;else{let a=e.getOuterMinContentSize(),h=t.getOuterMinContentSize(),l=a+h;l<i?n.xSize=a+(i-l)*(s-a)/(o-l):l>0&&(n.xSize=i*a/l)}n.xSize>0&&(n.ySize=i-n.xSize)}else s>0?n.xSize=i:r>0&&(n.ySize=i)}else e.hasAutoSize()?n.xSize=Math.max(i-t.getOuterSize(),0):t.hasAutoSize()&&(n.ySize=Math.max(i-e.getOuterSize(),0));else e?e.hasAutoSize()&&(n.xSize=i):t&&t.hasAutoSize()&&(n.ySize=i);return n}prepareContainer(e,t,i,n,s){t.element.setAttribute("data-vivliostyle-page-box",!0),super.prepareContainer(e,t,i,n,s)}},Vn=class{constructor(e,t,i,n,s){this.container=e,this.isHorizontal=i,this.clientLayout=s,u(this,"hasAutoSize_"),u(this,"size",null),u(this,"minMaxFitContent",null);let r=t[i?"width":"height"];if(this.hasAutoSize_=!r||r===v.auto||J(r),this.minMaxFitContent=r instanceof nt&&(r.name==="min-content"||r.name==="max-content"||r.name==="fit-content")?r.name:null,this.minMaxFitContent){let o=this.getSize();if(this.isHorizontal){let a=o[this.minMaxFitContent==="min-content"?"min-content width":this.minMaxFitContent==="max-content"?"max-content width":"fit-content width"];this.container.setHorizontalPosition(this.container.left,a)}else{let a=o[this.minMaxFitContent==="min-content"?"min-content height":this.minMaxFitContent==="max-content"?"max-content height":"fit-content height"];this.container.setVerticalPosition(this.container.top,a)}}}hasAutoSize(){return this.hasAutoSize_}getSize(){if(!this.size){let e=this.isHorizontal?["max-content width","min-content width","fit-content width"]:["max-content height","min-content height","fit-content height"];this.size=$r(this.clientLayout,this.container.element,e)}return this.size}getOuterMaxContentSize(){let e=this.getSize();return this.isHorizontal?this.container.getInsetLeft()+e["max-content width"]+this.container.getInsetRight():this.container.getInsetTop()+e["max-content height"]+this.container.getInsetBottom()}getOuterMinContentSize(){let e=this.getSize();return this.isHorizontal?this.container.getInsetLeft()+e["min-content width"]+this.container.getInsetRight():this.container.getInsetTop()+e["min-content height"]+this.container.getInsetBottom()}getOuterSize(){return this.isHorizontal?this.container.getInsetLeft()+this.container.width+this.container.getInsetRight():this.container.getInsetTop()+this.container.height+this.container.getInsetBottom()}},jm=class{constructor(e){this.params=e}hasAutoSize(){return this.params.some(e=>{var t;return(t=e?.hasAutoSize())!=null?t:!1})}getOuterMaxContentSize(){let e=this.params.map(t=>{var i;return(i=t?.getOuterMaxContentSize())!=null?i:0});return Math.max.apply(null,e)*e.length}getOuterMinContentSize(){let e=this.params.map(t=>{var i;return(i=t?.getOuterMinContentSize())!=null?i:0});return Math.max.apply(null,e)*e.length}getOuterSize(){let e=this.params.map(t=>{var i;return(i=t?.getOuterSize())!=null?i:0});return Math.max.apply(null,e)*e.length}},_a=class extends Vn{constructor(e,t,i,n,s,r){super(e,t,i,n,s),u(this,"fixedSize"),this.fixedSize=r}hasAutoSize(){return!1}getOuterMaxContentSize(){return this.getOuterSize()}getOuterMinContentSize(){return this.getOuterSize()}getOuterSize(){return this.isHorizontal?this.container.getInsetLeft()+this.fixedSize+this.container.getInsetRight():this.container.getInsetTop()+this.fixedSize+this.container.getInsetBottom()}},Xm=class extends Ci{constructor(e,t){super(e,t),u(this,"borderBoxWidth",null),u(this,"borderBoxHeight",null),u(this,"contentBoxWidth",null),u(this,"contentBoxHeight",null),u(this,"marginTop",null),u(this,"marginRight",null),u(this,"marginBottom",null),u(this,"marginLeft",null)}applyCascadeAndInit(e,t){for(let i in t)i.match(/^background-/)&&(this.cascaded[i]=t[i]);super.applyCascadeAndInit(e,t),this.parentInstance.setPageAreaDimension({borderBoxWidth:this.borderBoxWidth,borderBoxHeight:this.borderBoxHeight,marginTop:this.marginTop,marginRight:this.marginRight,marginBottom:this.marginBottom,marginLeft:this.marginLeft})}initHorizontal(){let e=this.resolvePageBoxDimensions({start:"left",end:"right",extent:"width"});this.borderBoxWidth=e.borderBoxExtent,this.contentBoxWidth=e.contentBoxExtent,this.marginLeft=e.marginStart,this.marginRight=e.marginEnd}initVertical(){let e=this.resolvePageBoxDimensions({start:"top",end:"bottom",extent:"height"});this.borderBoxHeight=e.borderBoxExtent,this.contentBoxHeight=e.contentBoxExtent,this.marginTop=e.marginStart,this.marginBottom=e.marginEnd}resolvePageBoxDimensions(e){let t=this.style,i=this.pageBox.pageSize,n=this.pageBox.scope,s=e.start,r=e.end,o=e.extent,a=i[o].toExpr(n,null),h=ae(n,t[o],a),l=ae(n,t[`margin-${s}`],a),c=ae(n,t[`margin-${r}`],a),p=it(n,t[`padding-${s}`],a),d=it(n,t[`padding-${r}`],a),f=bt(n,t[`border-${s}-width`],t[`border-${s}-style`],a),m=bt(n,t[`border-${r}-width`],t[`border-${r}-style`],a),g=j(n,j(n,f,p),j(n,m,d)),w,y,b;return h?(this.borderBoxSizing?(y=h,b=oe(n,y,g)):(b=h,y=j(n,b,g)),w=oe(n,a,y),!l&&!c?(l=On(n,w,new Be(n,.5)),c=l):l?c=oe(n,w,l):l=oe(n,w,c)):(l||(l=n.zero),c||(c=n.zero),w=j(n,l,c),y=oe(n,a,w),b=oe(n,y,g),h=this.borderBoxSizing?y:b),t[s]=new z(l),t[r]=new z(c),t[`margin-${s}`]=ve,t[`margin-${r}`]=ve,t[`border-${s}-width`]=new z(f),t[`border-${r}-width`]=new z(m),t[`padding-${s}`]=new z(p),t[`padding-${r}`]=new z(d),t[o]=new z(h),t[`max-${o}`]=new z(h),{borderBoxExtent:y,contentBoxExtent:b,marginStart:l,marginEnd:c}}prepareContainer(e,t,i,n,s){t.element.setAttribute("data-vivliostyle-page-area-container",!0),super.prepareContainer(e,t,i,n,s),N(t.element,"position","relative"),N(t.element,"inset",""),N(t.element,"display","flow-root")}},Vu=class extends Ci{constructor(e,t){super(e,t)}applyCascadeAndInit(e,t){for(let i in t)i.match(/^column.*$/)&&(this.cascaded[i]=t[i]);super.applyCascadeAndInit(e,{})}initHorizontal(){let e=this.style,t=this.parentInstance.style,i=this.pageBox.scope;e.left=t["padding-left"],e.width=new z(this.parentInstance.contentBoxWidth),e["margin-left"]=new z(new li(i,t.left.toExpr(i,null))),e["margin-right"]=new z(new li(i,t.right.toExpr(i,null))),e["border-left-width"]=t.left,e["border-right-width"]=t.right,e["border-left-style"]=v.solid,e["border-right-style"]=v.solid,e["border-left-color"]=v.transparent,e["border-right-color"]=v.transparent}initVertical(){let e=this.style,t=this.parentInstance.style,i=this.pageBox.scope;e.top=t["padding-top"],e.height=new z(this.parentInstance.contentBoxHeight),e["margin-top"]=new z(new li(i,t.top.toExpr(i,null))),e["margin-bottom"]=new z(new li(i,t.bottom.toExpr(i,null))),e["border-top-width"]=t.top,e["border-bottom-width"]=t.bottom,e["border-top-style"]=v.solid,e["border-bottom-style"]=v.solid,e["border-top-color"]=v.transparent,e["border-bottom-color"]=v.transparent}prepareContainer(e,t,i,n,s){t.element.setAttribute("data-vivliostyle-page-area",!0),i.pageAreaElement=t.element,super.prepareContainer(e,t,i,n,s),e.pageAreaWidth=parseFloat(i.pageAreaElement.style.width),e.pageAreaHeight=parseFloat(i.pageAreaElement.style.height),N(t.element,"position","relative"),N(t.element,"inset",""),N(t.element,"display","flow-root")}},Hu=class extends Ci{constructor(e,t){super(e,t),u(this,"boxInfo"),u(this,"suppressEmptyBoxGeneration",!0);let i=t.marginBoxName;this.boxInfo=po[i];let n=e;n.pageMarginBoxInstances[i]=this}prepareContainer(e,t,i,n,s){t.element.setAttribute("data-vivliostyle-page-margin-box",this.pageBox.marginBoxName),this.applyVerticalAlign(e,t.element),super.prepareContainer(e,t,i,n,s)}applyVerticalAlign(e,t){N(t,"display","flex"),N(t,"flex-flow",this.vertical?this.rtl?"row-reverse":"row":"column");let i=this.getProp(e,"vertical-align"),n=null;i===B("middle")?n="center":i===B("top")?n="flex-start":i===B("bottom")&&(n="flex-end"),n&&N(t,"justify-content",n);let s=this.getProp(e,"content");if(this.vertical||s instanceof dt||s instanceof z&&s.expr instanceof De&&s.expr.str.startsWith("running-element-")){let r="center";(this.boxInfo.isInTopRow||this.boxInfo.isInBottomRow)&&(this.boxInfo.isInLeftColumn||this.boxInfo.positionAlongVariableDimension==="end"?r=this.vertical||this.rtl?"start":"end":(this.boxInfo.isInRightColumn||this.boxInfo.positionAlongVariableDimension==="start")&&(r=this.vertical||this.rtl?"end":"start")),N(t,"align-items",r)}}positionAlongVariableDimension(e,t){let i=this.style,n=this.pageBox.scope,s=e.start,r=e.end,o=e.extent,a=s==="left",h=a?t.borderBoxWidth:t.borderBoxHeight,l=ae(n,i[o],h),c=a?t.marginLeft:t.marginTop;if(this.boxInfo.positionAlongVariableDimension==="start")i[s]=new z(c);else if(l){let p=it(n,i[`margin-${s}`],h),d=it(n,i[`margin-${r}`],h),f=it(n,i[`padding-${s}`],h),m=it(n,i[`padding-${r}`],h),g=bt(n,i[`border-${s}-width`],i[`border-${s}-style`],h),w=bt(n,i[`border-${r}-width`],i[`border-${r}-style`],h),y=j(n,l,j(n,this.borderBoxSizing?n.zero:j(n,j(n,f,m),j(n,g,w)),j(n,p,d)));switch(this.boxInfo.positionAlongVariableDimension){case"center":i[s]=new z(j(n,c,$s(n,oe(n,h,y),new Be(n,2))));break;case"end":i[s]=new z(oe(n,j(n,c,h),y));break}}}positionAndSizeAlongFixedDimension(e,t){let i=this.style,n=this.pageBox.scope,s=this.borderBoxSizing,r=e.inside,o=e.outside,a=e.extent,h=t[`margin${o.charAt(0).toUpperCase()}${o.substring(1)}`],l=Ia(n,i[`margin-${r}`],h),c=Ia(n,i[`margin-${o}`],h),p=it(n,i[`padding-${r}`],h),d=it(n,i[`padding-${o}`],h),f=bt(n,i[`border-${r}-width`],i[`border-${r}-style`],h),m=bt(n,i[`border-${o}-width`],i[`border-${o}-style`],h),g=ae(n,i[a],h),w=null;function y(b){if(w)return w;w={extent:g?g.evaluate(b):null,marginInside:l?l.evaluate(b):null,marginOutside:c?c.evaluate(b):null};let S=h.evaluate(b),T=0;return s||[f,p,d,m].forEach(A=>{A&&(T+=A.evaluate(b))}),(w.marginInside===null||w.marginOutside===null)&&T+w.extent+w.marginInside+w.marginOutside>S&&(w.marginInside===null&&(w.marginInside=0),w.marginOutside===null&&(w.marginOutside=0)),w.extent!==null&&w.marginInside!==null&&w.marginOutside!==null&&(w.marginOutside=null),w.extent===null?(w.extent=S-T-w.marginInside-w.marginOutside,w.marginInside===null&&(w.marginInside=0),w.marginOutside===null&&(w.marginOutside=0)):typeof w.extent=="number"&&(w.marginInside===null&&typeof w.marginOutside=="number"?w.marginInside=S-T-w.extent-w.marginOutside:typeof w.marginInside=="number"&&w.marginOutside===null?w.marginOutside=S-T-w.extent-w.marginInside:w.marginInside=w.marginOutside=(S-T-w.extent)/2),w}i[a]=new z(new De(n,function(){let b=y(this).extent;return b===null?"auto":b},a)),i[`margin-${r}`]=new z(new De(n,function(){let b=y(this).marginInside;return b===null?"auto":b},`margin-${r}`)),i[`margin-${o}`]=new z(new De(n,function(){let b=y(this).marginOutside;return b===null?"auto":b},`margin-${o}`)),r==="left"?i.left=new z(j(n,t.marginLeft,t.borderBoxWidth)):r==="top"&&(i.top=new z(j(n,t.marginTop,t.borderBoxHeight)))}initHorizontal(){let e=this.parentInstance.pageAreaDimension;this.boxInfo.isInLeftColumn?this.positionAndSizeAlongFixedDimension({inside:"right",outside:"left",extent:"width"},e):this.boxInfo.isInRightColumn?this.positionAndSizeAlongFixedDimension({inside:"left",outside:"right",extent:"width"},e):this.positionAlongVariableDimension({start:"left",end:"right",extent:"width"},e)}initVertical(){let e=this.parentInstance.pageAreaDimension;this.boxInfo.isInTopRow?this.positionAndSizeAlongFixedDimension({inside:"bottom",outside:"top",extent:"height"},e):this.boxInfo.isInBottomRow?this.positionAndSizeAlongFixedDimension({inside:"top",outside:"bottom",extent:"height"},e):this.positionAlongVariableDimension({start:"top",end:"bottom",extent:"height"},e)}finishContainer(e,t,i,n,s,r,o){super.finishContainer(e,t,i,n,s,r,o);let a=i.marginBoxes,h=this.pageBox.marginBoxName,l=this.boxInfo;!l.isInLeftColumn&&!l.isInRightColumn?l.isInTopRow?a.top[h]=t:l.isInBottomRow&&(a.bottom[h]=t):!l.isInTopRow&&!l.isInBottomRow&&(l.isInLeftColumn?a.left[h]=t:l.isInRightColumn&&(a.right[h]=t));let c=this.parentInstance.pageAreaDimension,p=this.getProp(e,"width"),d=p instanceof nt&&(p.name==="min-content"||p.name==="max-content"||p.name==="fit-content")?p.name:null,f=this.getPropAsNumber(e,"min-width"),m=this.getPropAsNumber(e,"max-width");if(d||f||m){d&&N(t.element,"width",d),f&&N(t.element,"min-width",`${f}px`),m&&N(t.element,"max-width",`${m}px`);let S=this.getProp(e,"margin-left"),T=this.getProp(e,"margin-right");if(l.isInLeftColumn){let A=c.borderBoxWidth.evaluate(e)+c.marginRight.evaluate(e);N(t.element,"right",`${A}px`),(S===v.auto||T!==v.auto)&&N(t.element,"margin-left","auto"),T===v.auto&&N(t.element,"margin-right","auto")}else l.isInRightColumn&&(N(t.element,"right","0"),(T===v.auto||S!==v.auto)&&N(t.element,"margin-right","auto"),S===v.auto&&N(t.element,"margin-left","auto"))}let g=this.getProp(e,"height"),w=g instanceof nt&&(g.name==="min-content"||g.name==="max-content"||g.name==="fit-content")?g.name:null,y=this.getPropAsNumber(e,"min-height"),b=this.getPropAsNumber(e,"max-height");if(w||y||b){w&&N(t.element,"height",w),y&&N(t.element,"min-height",`${y}px`),b&&N(t.element,"max-height",`${b}px`);let S=this.getProp(e,"margin-top"),T=this.getProp(e,"margin-bottom");if(l.isInTopRow){let A=c.borderBoxHeight.evaluate(e)+c.marginBottom.evaluate(e);N(t.element,"bottom",`${A}px`),(S===v.auto||T!==v.auto)&&N(t.element,"margin-top","auto"),T===v.auto&&N(t.element,"margin-bottom","auto")}else l.isInBottomRow&&(N(t.element,"bottom","0"),(T===v.auto||S!==v.auto)&&N(t.element,"margin-bottom","auto"),S===v.auto&&N(t.element,"margin-top","auto"))}}},qm=class{constructor(e,t,i,n,s){this.cascadeInstance=e,this.pageScope=t,this.rootPageBoxInstance=i,this.context=n,this.docElementStyle=s,u(this,"pageMasterCache",{}),this.definePageProgression()}definePageProgression(){let e=this.pageScope,t=this.context,i=t.isVersoFirstPage,n=new Ae(e,"page-number"),s=new _r(e,new xl(e,n,new Be(e,2)),i?e.one:e.zero);e.defineName("recto-page",new Bt(e,s)),e.defineName("verso-page",s),(t.pageProgression||Mu(this.docElementStyle))==="ltr"?(e.defineName("left-page",s),e.defineName("right-page",new Bt(e,s))):(e.defineName("left-page",new Bt(e,s)),e.defineName("right-page",s))}getCascadedPageStyle(e){let t={};return this.cascadeInstance.pushRule([],e,t),this.cascadeInstance.popRule(),t}getPageRulePageMaster(e,t){let i=e.pageBox;if(Object.keys(t).length===0)return i.resetScope(),e;let n=this.makeCacheKey(t,i),s=this.pageMasterCache[n];return s||(i.pseudoName===ho?s=this.generatePageRuleMaster(t):s=this.generateCascadedPageMaster(t,i),this.pageMasterCache[n]=s),s.pageBox.resetScope(),s}makeCacheKey(e,t){var i;let n=this.makeCascadeValueObjectKey(e),s=((i=this.context.currentLayoutPosition)==null?void 0:i.page)%2;return`${t.key}^${n}^${s}`}makeCascadeValueObjectKey(e){let t=[];for(let i in e)if(Object.prototype.hasOwnProperty.call(e,i)){let n=e[i],s;n instanceof q?s=`${n.value}`:s=this.makeCascadeValueObjectKey(n),t.push(i+s+(n.priority||""))}return t.sort().join("^")}generatePageRuleMaster(e){let t=new Du(this.pageScope,this.rootPageBoxInstance.pageBox,e).createInstance(this.rootPageBoxInstance);return t.applyCascadeAndInit(this.cascadeInstance,this.docElementStyle),t.resolveAutoSizing(this.context),t}generateCascadedPageMaster(e,t){let i=t.clone({pseudoName:fo}),n=i.specified,s=e.size;if(s&&!J(s.value)){let o=ts(e),a=s.priority;Pt(n,"width",new q(o.width,a),this.context),Pt(n,"height",new q(o.height,a),this.context)}["counter-reset","counter-increment"].forEach(o=>{n[o]&&(e[o]=n[o])});let r=i.createInstance(this.rootPageBoxInstance);return r.applyCascadeAndInit(this.cascadeInstance,this.docElementStyle),r.resolveAutoSizing(this.context),r}},Ym=class extends pe{constructor(e){super(),this.pageType=e}apply(e){e.currentPageType===this.pageType&&this.chained.apply(e)}getPriority(){return 3}makePrimary(e){return this.chained&&e.insertInTable(e.pagetypes,this.pageType,this.chained),!0}},Zm=class extends pe{constructor(e){super(),this.scope=e}apply(e){new Ae(this.scope,"page-number").evaluate(e.context)===1&&this.chained.apply(e)}getPriority(){return 2}},Km=class extends pe{constructor(e){super(),this.scope=e}apply(e){new Ae(this.scope,"blank-page").evaluate(e.context)&&this.chained.apply(e)}getPriority(){return 2}},Jm=class extends pe{constructor(e){super(),this.scope=e}apply(e){new Ae(this.scope,"left-page").evaluate(e.context)&&this.chained.apply(e)}getPriority(){return 1}},Qm=class extends pe{constructor(e){super(),this.scope=e}apply(e){new Ae(this.scope,"right-page").evaluate(e.context)&&this.chained.apply(e)}getPriority(){return 1}},ew=class extends pe{constructor(e){super(),this.scope=e}apply(e){new Ae(this.scope,"recto-page").evaluate(e.context)&&this.chained.apply(e)}getPriority(){return 1}},tw=class extends pe{constructor(e){super(),this.scope=e}apply(e){new Ae(this.scope,"verso-page").evaluate(e.context)&&this.chained.apply(e)}getPriority(){return 1}},iw=class extends xn{constructor(e,t,i){super(t,i),this.scope=e,this.a=t,this.b=i}apply(e){let t=e.context,i=t.layoutPositionAtPageStart.page;t.blankPageAtStart&&i--,i&&this.matchANPlusB(i)&&this.chained.apply(e)}getPriority(){return 2}},nw=class extends Jr{constructor(e,t){super(e,t,null,null,null)}apply(e){sw(e.context,e.currentStyle,this.style,this.specificity,e)}};function sw(e,t,i,n,s){Kn(e,t,i,n,null,null,null);let r=i[cn];if(r){let o=cs(t,cn);for(let a in r)if(r.hasOwnProperty(a)){let h=o[a];h||(h={},o[a]=h),Kn(e,h,r[a],n,null,null,null)}}}var rw=class extends rn{constructor(e,t,i,n,s){super(e,t,i?.condition,i,null,n,!1),this.pageProps=s,u(this,"currentPageSelectors",[]),u(this,"currentNamedPageSelector",""),u(this,"currentPseudoPageClassSelectors",[])}startPageRule(){this.startSelectorRule()}tagSelector(e,t){this.currentNamedPageSelector=t,t&&(this.chain.push(new Ym(t)),this.specificity+=65536)}pseudoclassSelector(e,t){if(e=e.toLowerCase(),t)switch(e){case"nth":{let[i,n]=t;this.currentPseudoPageClassSelectors.push(`:${e}(${i}n${n<0?n:"+"+n})`),this.chain.push(new iw(this.scope,i,n)),this.specificity+=256}break;default:this.reportAndSkip(`E_INVALID_PAGE_SELECTOR :${e}(${t.join("")})`);break}else switch(this.currentPseudoPageClassSelectors.push(`:${e}`),e){case"first":this.chain.push(new Zm(this.scope)),this.specificity+=256;break;case"blank":this.chain.push(new Km(this.scope)),this.specificity+=256;break;case"left":this.chain.push(new Jm(this.scope)),this.specificity+=1;break;case"right":this.chain.push(new Qm(this.scope)),this.specificity+=1;break;case"recto":this.chain.push(new ew(this.scope)),this.specificity+=1;break;case"verso":this.chain.push(new tw(this.scope)),this.specificity+=1;break;default:this.reportAndSkip(`E_INVALID_PAGE_SELECTOR :${e}`);break}}finishSelector(){let e;!this.currentNamedPageSelector&&!this.currentPseudoPageClassSelectors.length?e=null:e=[this.currentNamedPageSelector].concat(this.currentPseudoPageClassSelectors.sort()),this.currentPageSelectors.push({selectors:e,specificity:this.specificity}),this.currentNamedPageSelector="",this.currentPseudoPageClassSelectors=[]}nextSelector(){this.finishSelector(),super.nextSelector()}startRuleBody(){this.finishSelector(),super.startRuleBody()}simpleProperty(e,t,i){if((e==="bleed"||e==="marks")&&!this.currentPageSelectors.some(r=>r.selectors===null))return;super.simpleProperty(e,t,i);let n=Ue(this.elementStyle,e),s=this.pageProps;if(e==="bleed"||e==="marks")s[""]||(s[""]={}),Object.keys(s).forEach(r=>{Yt(s[r],e,n)});else if(e==="size"){let r=s[""];this.currentPageSelectors.forEach(o=>{let a=new q(n.value,n.priority+o.specificity),h=o.selectors?o.selectors.join(""):"",l=s[h];l?Pt(l,e,a):(l=s[h]={},Yt(l,e,a),r&&["bleed","marks"].forEach(c=>{r[c]&&Yt(l,c,r[c])}))})}}insertNonPrimary(e){this.cascade.insertInTable(this.cascade.pagetypes,"*",e)}makeApplyRuleAction(e){return new nw(this.elementStyle,e)}startPageMarginBoxRule(e){let t=cs(this.elementStyle,cn),i=t[e];i||(i={},t[e]=i);let n=new ow(this.scope,this.owner,this.validatorSet,i);this.owner.pushHandler(n)}},ow=class extends bn{constructor(e,t,i,n){super(e,t,!1),this.validatorSet=i,this.boxStyle=n}property(e,t,i){this.validatorSet.validatePropertyAndHandleShorthand(e,t,i,this)}invalidPropertyValue(e,t){this.report(`E_INVALID_PROPERTY_VALUE ${e}: ${t.toString()}`)}unknownProperty(e,t){this.report(`E_INVALID_PROPERTY ${e}: ${t.toString()}`)}simpleProperty(e,t,i){let n=i?this.getImportantSpecificity():this.getBaseSpecificity(),s=new q(t,n);Yt(this.boxStyle,e,s)}},Tt=!0;function aw(e){Tt=e}var Zt=[];function Ma(e,t){return e===t||(e.src||t.src?e.src===t.src:e.textContent===t.textContent)}function Uu(e){let t=Array.from(e.querySelectorAll("body > :not(script):not(link):not(style) ~ script"));return Array.from(e.querySelectorAll("head > script, body > script")).filter(i=>!t.includes(i))}function go(e,t,i){var n,s;if(!Tt||!(i!=null&&i.inHead)&&!(i!=null&&i.atEnd)&&Uu(e.ownerDocument).includes(e))return k(!1);let r=e.textContent,o=e.src,a=e.type==="module",h=(a||o)&&e.async,l=a&&!h||o&&e.defer,c=!(i!=null&&i.atEnd)&&(i?.forceDefer||l||h);if($u(t)||(t.onload=null),c)return Zt.some(d=>Ma(d,e))||Zt.push(e),k(!0);if(o.includes("/mathjax")){let d=t.document.head.querySelector("script[src*='MathJax.js']:not([data-vivliostyle-scripting])");if(d){if(o.includes("/mathjax@3"))t.document.head.removeChild(d),(s=(n=t.MathJax)==null?void 0:n.version)!=null&&s.startsWith("2.")&&delete t.MathJax;else if(o.includes("/MathJax.js"))return k(!0)}}for(let d of t.document.head.getElementsByTagName("script"))d.hasAttribute("data-vivliostyle-scripting")&&Ma(d,e)&&t.document.head.removeChild(d);let p=t.document.createElement("script");p.textContent=r,o&&(p.src=o),p.async=h,p.defer=l,p.setAttribute("data-vivliostyle-scripting","true");for(let d of e.attributes)["src","async","defer"].includes(d.name)||p.setAttribute(d.name,d.value);if(H.debug("script:",o),o){let d=si(p);return t.document.head.appendChild(p),ls([d])}else return t.document.head.appendChild(p),k(!0)}function lw(e,t){var i;let n={},s=o=>{var a;let h=(a=o["font-family"])==null?void 0:a.value;if(h)if(h.values)for(let c of h.values)n[c.stringValue()]=!0;else n[h.stringValue()]=!0;let l=o._marginBoxes;if(l)for(let c of Object.values(l))s(c)},r=o=>{if(o instanceof Jr)s(o.style);else if(o instanceof Ii||Array.isArray(o))for(let a of Object.values(o))r(a)};for(let o of Object.values(t.cascade.code))for(let a of Object.values(o??{}))r(a);for(let o of e.querySelectorAll("[style]"))(i=o.style)!=null&&i.fontFamily&&(n[o.style.fontFamily]=!0);return Object.keys(n).join(",")}function hw(e,t,i){var n;let s=(n=t.document.querySelector("[data-vivliostyle-textcontent]"))!=null?n:t.document.createElement("div");return s.style.position="fixed",s.style.fontSize="0",s.setAttribute("data-vivliostyle-textcontent","true"),s.setAttribute("aria-hidden","true"),s.style.fontFamily=lw(e,i),s.textContent=e.documentElement.textContent,t.document.body.appendChild(s),s}function uw(e,t,i){if(!Tt)return k(!1);let n=Uu(e);if(n.length===0)return k(!1);let s=n.some(c=>!(c.async||c.defer||c.type==="module")),r=s?hw(e,t,i):null,o=t.document.fonts,a=t.$,h=!1,l=F("loadScripts");return l.loop(()=>{if(n.length===0)return s?l.sleep(20).thenAsync(()=>{var p,d;return o.status==="loading"||t.document.documentElement.classList.contains("wf-loading")||(p=t.FontJSON)!=null&&p.Font&&(d=t.ret)!=null&&d.readyState&&t.ret.readyState<4?k(!0):k(!1)}):k(!1);let c=n.shift();return go(c,t,{inHead:!0,forceDefer:h}).thenAsync(()=>(!h&&t.$!==a&&(Zt.push(c),h=!0),n.length===0&&s&&(H.debug("dispatchEvent: DOMContentLoaded (document)"),t.document.dispatchEvent(new Event("DOMContentLoaded"))),k(!0)))}).then(()=>{r&&r.remove(),l.finish(!0)}),l.result()}function cw(e){if(!Tt)return k(!1);let t=F("loadScripts");return t.loop(()=>Zt.length===0?k(!1):go(Zt.shift(),e,{atEnd:!0}).thenReturn(Zt.length>0)).then(()=>{H.debug("dispatchEvent: DOMContentLoaded (window)"),e.dispatchEvent(new Event("DOMContentLoaded")),H.debug("dispatchEvent: load (window)"),e.dispatchEvent(new Event("load")),t.finish(!0)}),t.result()}function $u(e){return Tt?Zt.length>0||!!e.document.head.querySelector("script[data-vivliostyle-scripting]"):!1}var dw=(e,t,i)=>e.replace(/[uU][rR][lL]\(\s*"((\\([^0-9a-fA-F]+|[0-9a-fA-F]+\s*)|[^"\r\n])+)"/gm,(n,s)=>`url("${i.transformURL(s,t)}"`).replace(/[uU][rR][lL]\(\s*'((\\([^0-9a-fA-F]+|[0-9a-fA-F]+\s*)|[^'\r\n])+)'/gm,(n,s)=>`url('${i.transformURL(s,t)}'`).replace(/[uU][rR][lL]\(\s*((\\([^0-9a-fA-F]+|[0-9a-fA-F]+\s*)|[^"'\r\n\)\s])+)/gm,(n,s)=>`url(${i.transformURL(s,t)}`),pw={};function fw(e){e.addEventListener("load",()=>{e.contentWindow.navigator.epubReadingSystem={name:"adapt",version:"0.1",layoutStyle:"paginated",hasFeature:function(t,i){switch(t){case"mouse-events":return!0}return!1}}},!1)}var Gu=class kr extends Lr{constructor(t,i,n,s,r,o,a,h,l,c,p,d,f){super(),this.flowName=t,this.context=i,this.viewport=n,this.styler=s,this.regionIds=r,this.xmldoc=o,this.docFaces=a,this.footnoteStyle=h,this.stylerProducer=l,this.page=c,this.customRenderer=p,this.fallbackMap=d,this.documentURLTransformer=f,u(this,"document"),u(this,"exprContentListener"),u(this,"nodeContext",null),u(this,"viewRoot",null),u(this,"isFootnote",!1),u(this,"sourceNode",null),u(this,"offsetInNode",0),u(this,"viewNode",null),this.document=n.document,this.exprContentListener=s.counterListener.getExprContentListener()}clone(){return new kr(this.flowName,this.context,this.viewport,this.styler,this.regionIds,this.xmldoc,this.docFaces,this.footnoteStyle,this.stylerProducer,this.page,this.customRenderer,this.fallbackMap,this.documentURLTransformer)}createPseudoelementShadow(t,i,n,s,r,o,a,h){let l=this.getPseudoMap(n,this.regionIds,this.isFootnote,this.nodeContext,o);if(!l)return h;let c=[],p=_n.createElementNS("http://www.pyroxy.com/ns/shadow","root"),d=p;for(let m of cg){let g;if(m){if(!l[m]||m=="footnote-marker"&&!(i&&this.isFootnote))continue;if(m.match(/^first-/)){let w=s.display;if(!w||w===v.inline)continue;let y=t.firstElementChild;if(y&&Ve(y.previousSibling)){let b=r.getStyle(y,!1);if(b){let S=Ue(b,"display");if(S!=null&&S.value&&S.value!==v.inline)continue}}}if(m==="before"||m==="after"){let w=l[m].content;if(!w||!Vt(w.value))continue}c.push(m),g=_n.createElementNS("http://www.w3.org/1999/xhtml","span"),br(g,m)}else g=_n.createElementNS("http://www.pyroxy.com/ns/shadow","content");d.appendChild(g),m.match(/^first-/)&&(d=g)}if(!c.length)return h;let f=new va(t,n,r,o,this.exprContentListener);return new Qs(t,p,null,a,h,ot.ROOTLESS,f)}getPseudoMap(t,i,n,s,r){let o=pt(t,"_pseudos");if(!o)return null;let a={};for(let h in o){let l=a[h]={};Zi(l,o[h],r),wr(l,r,o[h]),Yh(o[h],i,n,(c,p)=>{Zi(l,p,r),Wh(p,d=>{Zi(l,d,r)})})}return a}createRefShadow(t,i,n,s,r){let o=F("createRefShadow");return this.xmldoc.store.load(t).then(a=>{let h=a;if(h){let l=h.getElement(t);if(l){let c=this.stylerProducer.getStylerForDoc(h);r=new Qs(n,l,h,s,r,i,c)}}o.finish(r)}),o.result()}createShadows(t,i,n,s,r,o,a){let h=F("createShadows"),l=null,c=s.template,p;if(c instanceof dt||c===v.footnote){let d=c instanceof dt?c.url:Pe("user-agent.xml#footnote",Kt);p=this.createRefShadow(d,ot.ROOTLESS,t,a,l)}else p=k(l);return p.then(d=>{let f=null;if(t.namespaceURI=="http://www.pyroxy.com/ns/shadow"&&t.localName=="include"){let g=t.getAttribute("href"),w=null;g?w=a?a.xmldoc:this.xmldoc:a&&(a.owner.namespaceURI=="http://www.w3.org/1999/xhtml"?g=a.owner.getAttribute("href"):g=a.owner.getAttributeNS("http://www.w3.org/1999/xlink","href"),w=a.parentShadow?a.parentShadow.xmldoc:this.xmldoc),g&&(g=Pe(g,w.url),f=this.createRefShadow(g,ot.ROOTED,t,a,d))}f==null&&(f=k(d));let m=null;f.then(g=>{if(s.display===v.table_cell){let w=Pe("user-agent.xml#table-cell",Kt);m=this.createRefShadow(w,ot.ROOTLESS,t,a,g)}else m=k(g);m.then(w=>{w=this.createPseudoelementShadow(t,i,n,s,r,o,a,w),h.finish(w)})})}),h.result()}setViewRoot(t,i){this.viewRoot=t,this.isFootnote=i}computeStyle(t,i,n,s){var r;let o=this.context,a=qh(n,o,this.regionIds,this.isFootnote,this.nodeContext),h=!((r=this.nodeContext)!=null&&r.parent);h&&(!a["writing-mode"]&&this.styler.rootStyle["writing-mode"]&&(a["writing-mode"]=this.styler.rootStyle["writing-mode"]),!a.direction&&this.styler.rootStyle.direction&&(a.direction=this.styler.rootStyle.direction));let l=t;t=jh(a,o,t);let c=!h&&t!==l;i=Xh(a,o,i);let p=(y,b)=>{let S;c&&(t?/^(min-|max-)?(height|inline-size)$/.test(y)&&(S=o.pageAreaHeight):/^(min-|max-)?(width|inline-size)$/.test(y)&&(S=o.pageAreaWidth));let T=b.evaluate(o,y,S,t);return y=="font-family"&&(T=this.docFaces.filterFontFamily(T)),T},d=!!new Ae(o.style.pageScope,"left-page").evaluate(o);if(Zh(a,s,t,i,d,p),c){let y=s[t?"height":"width"];(!y||y===v.auto)&&(s[t?"height":"width"]=v.max_content)}if(ir(s.position))return s.position=v.fixed,s.visibility=v.hidden,t;let f=s.position,m=s.float,g=s.display||(this.sourceNode.namespaceURI==="http://www.w3.org/1999/xhtml"?v.inline:void 0),w=Sh(g,f,m,this.sourceNode===this.xmldoc.root);return["display","position","float"].forEach(y=>{w[y]&&(s[y]=w[y])}),t}inheritFromSourceParent(t){let i=this.nodeContext.sourceNode,n=[],s=null,r=this.nodeContext.shadowContext,o=-1;for(;i&&i.nodeType==1;){let p=r&&r.root==i;if(!p||r.type==ot.ROOTLESS){let d=(r?r.styler:this.styler).getStyle(i,!1);n.push(d),s=s||Ms(i)}p?(i=r.owner,r=r.parentShadow):(i=i.parentNode,o++)}let a=o===0,h=this.context.queryUnitSize("em",a),l={"font-size":new q(new I(h,"px"),0)},c=new gf(l,this.context);for(let p=n.length-1;p>=0;--p){let d=n[p],f=[];for(let w in d)qi(w)&&f.push(w);f.sort(Do);let m,g;for(let w of f){c.setPropName(w);let y=Ue(d,w),b=y;J(y.value)||(w==="font-size"&&p===n.length-1&&this.context.isRelativeRootFontSize&&this.context.rootFontSize?b=new q(new I(this.context.rootFontSize,"px"),y.priority):w==="line-height"&&p===n.length-1&&this.context.rootLineHeight&&y.value instanceof I&&(y.value.unit==="lh"||y.value.unit==="rlh")?b=new q(new I(this.context.rootLineHeight,"px"),y.priority):p===0&&y.value instanceof I&&y.value.unit==="lh"?b=new q(new I(y.value.num*this.getLineHeightUnitSize(w,m,g),"px"),y.priority):kt(w)||(b=y.filterValue(c)),w==="font-size"?m=b.value:w==="line-height"&&(g=b.value),l[w]=b)}}for(let p in t)qi(p)||(l[p]=t[p]);return{lang:s,elementStyle:l}}resolveURL(t){return t=Pe(t,this.xmldoc.url),this.fallbackMap[t]||t}inheritLangAttribute(){this.nodeContext.lang=Ms(this.nodeContext.sourceNode)||this.nodeContext.parent&&this.nodeContext.parent.lang||this.nodeContext.lang}transferPolyfilledInheritedProps(t){let i=of().filter(n=>t[n]);if(i.length){let n=this.nodeContext.inheritedProps;if(this.nodeContext.parent){n=this.nodeContext.inheritedProps={};for(let s in this.nodeContext.parent.inheritedProps)n[s]=this.nodeContext.parent.inheritedProps[s]}i.forEach(s=>{let r=t[s];if(r){if(J(r))r===v.initial&&(n[s]=void 0);else if(r instanceof Jt)n[s]=r.num;else if(r instanceof nt)n[s]=r.name;else if(r instanceof I){let o=r;switch(o.unit){case"dpi":case"dpcm":case"dppx":n[s]=o.num*me[o.unit];break;default:n[s]=r}}else n[s]=r;["widows","orphans"].includes(s)||delete t[s]}})}}resolveFormattingContext(t,i,n,s,r,o){let a=ft("RESOLVE_FORMATTING_CONTEXT");for(let h=0;h<a.length;h++){let l=a[h](t,i,n,s,r,o);if(l){t.formattingContext=l;return}}}createElementView(t,i){var n,s,r,o;let a=!0,h=F("createElementView"),l=this.sourceNode,c=this.nodeContext.shadowContext?this.nodeContext.shadowContext.styler:this.styler,p=c.getStyle(l,!1);if(!this.nodeContext.shadowContext){let T=this.xmldoc.getElementOffset(l);us.registerFragmentIndex(T,this.nodeContext.fragmentIndex,0)}let d={};if(!this.nodeContext.parent){let T=this.inheritFromSourceParent(p);p=T.elementStyle,this.nodeContext.lang=T.lang}let f=p.position,m=p.float,g=p["float-reference"],w=m&&!J(m.value)&&m.value!==v.none&&g&&!J(g.value)?Up(g.value.toString()):null;if(this.nodeContext.parent&&(ir(f?.value)||w&&gi(w))){let T=this.inheritFromSourceParent(p);p=T.elementStyle,this.nodeContext.lang=T.lang}this.nodeContext.vertical=this.computeStyle(this.nodeContext.vertical,this.nodeContext.direction==="rtl",p,d),w&&gi(w)&&d.display===v.block&&(d.display=v.flow_root),c.processContent(l,d,(s=this.nodeContext.viewNode)!=null?s:(n=this.nodeContext.parent)==null?void 0:n.viewNode),this.transferPolyfilledInheritedProps(d),this.inheritLangAttribute(),d.direction&&(this.nodeContext.direction=d.direction.toString());let y=d["flow-into"];if(y&&y.toString()!=this.flowName)return h.finish(!1),h.result();if(Tt&&l.localName==="script"&&l.namespaceURI==="http://www.w3.org/1999/xhtml")return go(l,this.viewport.window).thenFinish(h),h.result();let b=d.display;if(J(b)&&(b===v.initial||b===v.unset?b=v.inline:b===v.inherit?b=((r=this.nodeContext.parent)==null?void 0:r.display)&&B((o=this.nodeContext.parent)==null?void 0:o.display):b=null),b===v.none)return h.finish(!1),h.result();let S=this.nodeContext.parent==null;return this.nodeContext.flexContainer=b===v.flex,this.createShadows(l,S,p,d,c,this.context,this.nodeContext.shadowContext).then(T=>{var A,_;this.nodeContext.nodeShadow=T;let V=d.position,W=d.float,ee=d.clear,$e=this.nodeContext.vertical?v.vertical_rl:v.horizontal_tb,he=this.nodeContext.parent?this.nodeContext.parent.vertical?v.vertical_rl:v.horizontal_tb:$e,ue=Yp(l);this.nodeContext.establishesBFC=Zp(b,V,W,d.overflow,$e,he,ue),this.nodeContext.containingBlockForAbsolute=Kp(V),this.nodeContext.isInsideBFC()&&W!==v.footnote&&!(w&&gi(w))&&(W=null,ee=null);let x=W instanceof xe||W===v.left||W===v.right||W===v.top||W===v.bottom||W===v.inline_start||W===v.inline_end||W===v.block_start||W===v.block_end||W===v.snap_block||W===v.snap_inline||W===v.inside||W===v.outside||W===v.footnote;W&&(delete d.float,W===v.footnote&&(this.isFootnote?(x=!1,d.display=v.block):d.display=v.inline)),ee&&(ee===v.inherit&&this.nodeContext.parent&&this.nodeContext.parent.clearSide&&(ee=B(this.nodeContext.parent.clearSide)),(ee===v.left||ee===v.right||ee===v.top||ee===v.bottom||ee===v.inline_start||ee===v.inline_end||ee===v.block_start||ee===v.block_end||ee===v.inside||ee===v.outside||ee===v.both||ee===v.all||ee===v.same||ee===v.column||ee===v.region||ee===v.page)&&(delete d.clear,d.display&&d.display!=v.inline&&(this.nodeContext.clearSide=ee.toString())));let P=b===v.list_item&&d["ua-list-item-count"],C=d["break-inside"];(x||C&&!J(C)&&C!==v.auto)&&this.nodeContext.breakPenalty++,b&&b!==v.inline&&Xt(b)&&this.nodeContext.breakPenalty++,this.nodeContext.inline=!x&&!b||Xt(b)||Eh(b),this.nodeContext.display=b?b.toString():"inline",this.nodeContext.floatSide=x?W.toString():null,this.nodeContext.floatReference=w||Ne.INLINE;let E=d["float-min-wrap-block"];this.nodeContext.floatMinWrapBlock=E&&!J(E)?E:null;let L=this.isInsideNonRootMultiColumn(),R=d["column-span"];if(this.nodeContext.columnSpan=!L&&R&&!J(R)?R:null,!this.nodeContext.inline){let M=d["break-after"];M&&!J(M)&&!(L&&M===v.column)&&(this.nodeContext.breakAfter=M.toString(),Zs[this.nodeContext.breakAfter]&&delete d["break-after"]);let Q=d["break-before"];Q&&!J(Q)&&!(L&&Q===v.column)&&(this.nodeContext.fragmentIndex===1&&(this.nodeContext.breakBefore=Q.toString()),Zs[this.nodeContext.breakBefore]&&delete d["break-before"]);let ge=d.page,be=ge&&!J(ge)&&ge.toString();!be&&!this.nodeContext.parent&&(this.nodeContext.shadowContext||b===v.table_header_group||b===v.table_footer_group)&&(be=this.styler.cascade.currentPageType),!be||be.toLowerCase()==="auto"?be=this.nodeContext.pageType:this.nodeContext.pageType=be,this.styler.cascade.currentPageType!==be&&!(!be&&d.position===v.fixed)&&(this.nodeContext.fragmentIndex===1&&!sn(this.nodeContext.breakBefore)&&(this.nodeContext.breakBefore="page"),be!==this.styler.cascade.previousPageType&&(this.styler.cascade.previousPageType=this.styler.cascade.currentPageType),this.styler.cascade.currentPageType=be)}this.nodeContext.verticalAlign=d["vertical-align"]&&d["vertical-align"].toString()||"baseline",this.nodeContext.captionSide=d["caption-side"]&&d["caption-side"].toString()||"top";let O=d["border-collapse"];if(!O||O===B("separate")){let M=d["border-spacing"],Q,ge;M&&(M instanceof xe?(Q=M.values[0],ge=M.values[1]):Q=ge=M,Q.isNumeric()&&(this.nodeContext.inlineBorderSpacing=je(Q,this.context)),ge.isNumeric()&&(this.nodeContext.blockBorderSpacing=je(ge,this.context)))}let D=d["footnote-policy"];this.nodeContext.footnotePolicy=D&&!J(D)?D:null;let $=d["x-first-pseudo"];if($){let M=this.nodeContext.parent?this.nodeContext.parent.firstPseudo:null;this.nodeContext.firstPseudo=new zp(M,$.num)}this.nodeContext.inline||this.processAfterIfcontinues(l,p,c,this.context);let X=d["white-space"];if(X){let M=ch(X.toString());M!==null&&(this.nodeContext.whitespace=M)}let Z=d["hyphenate-character"];Z&&Z instanceof Fe&&(this.nodeContext.hyphenateCharacter=Z.str);let Y=d["word-break"],fe=d["line-break"],te=d["overflow-wrap"];(Y===v.break_all||fe===v.anywhere||te===v.break_word||te===v.anywhere)&&(this.nodeContext.breakWord=!0),this.resolveFormattingContext(this.nodeContext,t,b,V,W,S),this.nodeContext.parent&&this.nodeContext.parent.formattingContext&&(t=this.nodeContext.parent.formattingContext.isFirstTime(this.nodeContext,t)),this.nodeContext.inline||(this.nodeContext.repeatOnBreak=this.processRepeatOnBreak(d),this.findAndProcessRepeatingElements(l,c));let se=!1,ye=null,we=[],K=l.namespaceURI,U=l.localName,re=U;if(K=="http://www.w3.org/1999/xhtml"?(U=="html"||U=="body"||U=="script"||U=="link"||U=="meta"?U="div":U=="vide_"?U="video":U=="audi_"?U="audio":U=="object"&&(se=!!this.customRenderer),l.getAttribute(io)&&(_=(A=p.content)==null?void 0:A.value)!=null&&_.url&&(U="img")):K=="http://www.idpf.org/2007/ops"?(U="span",K="http://www.w3.org/1999/xhtml"):K=="http://www.pyroxy.com/ns/shadow"?(K="http://www.w3.org/1999/xhtml",U=this.nodeContext.inline?"span":"div"):se=!!this.customRenderer,P)t?U="li":(U="div",b=v.block,d.display=b);else if(U=="body"||U=="li")U="div";else if(U=="q")U="span";else if(U=="a"){let M=d["hyperlink-processing"];M&&M.toString()!="normal"&&(U="span")}d.behavior&&d.behavior.toString()!="none"&&this.customRenderer&&(se=!0),l.dataset&&l.getAttribute("data-math-typeset")==="true"&&(se=!0);let ce;if(se){let M=this.nodeContext.parent?this.nodeContext.parent.viewNode:null;ce=this.customRenderer(l,M,d)}else ce=k(null);ce.then(M=>{if(M)se&&(a=M.getAttribute("data-adapt-process-children")=="true");else if(d.display===v.none){h.finish(!1);return}else M=this.createElement(K,U);U!=re&&(M.setAttribute("data-vivliostyle-original-tag",re),(re==="html"||re==="body")&&(M.role="presentation")),U=="a"&&M.addEventListener("click",this.page.hrefHandler,!1),ye&&(this.applyPseudoelementStyle(this.nodeContext,"inner",ye),M.appendChild(ye)),M.localName=="iframe"&&M.namespaceURI=="http://www.w3.org/1999/xhtml"&&fw(M);let Q=this.nodeContext.inheritedProps["image-resolution"],ge=[],be=d.width,ms=d.height,ic=l.getAttribute("width"),nc=l.getAttribute("height"),ws=be===v.auto||!be&&!ic,bs=ms===v.auto||!ms&&!nc,bo=l.attributes,sc=bo.length,Cn=null,vo=null;for(let Ze=0;Ze<sc;Ze++){let mt=bo[Ze],Qe=mt.namespaceURI,ne=mt.localName,Le=mt.nodeValue;if(Qe){if(Qe=="http://www.w3.org/2000/xmlns/")continue;Qe=="http://www.w3.org/1999/xlink"&&ne=="href"&&(Le=this.documentURLTransformer.transformURL(this.resolveURL(Le),this.xmldoc.url))}else{if(!Tt&&ne.match(/^on/)||ne=="style")continue;if((ne=="id"||ne=="name")&&t){let He=this.documentURLTransformer.transformFragment(Le,this.xmldoc.url);M.setAttribute(ne,Le),M.setAttribute("data-vivliostyle-id",He);let ei=M.ownerDocument.createElement("a");ei.setAttribute(ne,He),ei.setAttribute(xi,"1"),M.appendChild(ei),this.page.registerElementWithId(M,He);continue}if(ne=="src"||ne=="href"||ne=="poster")Le=this.resolveURL(Le),ne==="href"&&(Le=this.documentURLTransformer.transformURL(Le,this.xmldoc.url));else if(ne=="srcset")Le=Le.split(",").map(He=>this.resolveURL(He.trim())).join(",");else if(ne==="data"&&se&&U==="object"&&M.hasAttribute("data"))continue;if(ne==="poster"&&U==="video"&&K==="http://www.w3.org/1999/xhtml"&&ws&&bs){let He=new Image,ei=si(He,Le);we.push(ei),ge.push({image:He,element:M,fetcher:ei})}}if(K=="http://www.w3.org/2000/svg"&&/^[A-Z\-]+$/.test(ne)&&(ne=ne.toLowerCase()),this.isSVGUrlAttribute(ne)&&(Le=dw(Le,this.xmldoc.url,this.documentURLTransformer)),Qe){let He=pw[Qe];He&&(ne=`${He}:${ne}`)}if(ne=="src"&&!Qe&&(U=="img"||U=="input")&&K=="http://www.w3.org/1999/xhtml")Cn=Le;else if(ne=="alt"&&!Qe&&U=="img"&&K=="http://www.w3.org/1999/xhtml")vo=Le;else if(ne=="href"&&U=="image"&&K=="http://www.w3.org/2000/svg"&&Qe=="http://www.w3.org/1999/xlink")this.page.fetchers.push(si(M,Le));else if(Qe)M.setAttributeNS(Qe,ne,Le);else try{M.setAttribute(ne,Le)}catch(He){H.warn(He)}}if(Cn){let Ze=U==="input"?new Image:M,mt=si(Ze,Cn,vo);Ze!==M&&(M.src=Cn);let Qe=()=>{var ne,Le;if(d.position===v.fixed)return!0;for(let He=(ne=this.nodeContext.parent)==null?void 0:ne.viewNode;He&&He!==this.viewRoot;He=He.parentElement)if(((Le=He.style)==null?void 0:Le.position)==="fixed")return!0;return!1};!ws&&!bs&&!(()=>{let ne=this.nodeContext.vertical?be:ms;return ne instanceof I&&ne.unit==="%"})()&&!Qe()?this.page.fetchers.push(mt):(ws&&bs&&Q&&Q!==1&&ge.push({image:Ze,element:M,fetcher:mt}),we.push(mt))}delete d.content;let vs=d["list-style-image"];if(vs&&vs instanceof dt){let Ze=vs.url;we.push(si(new Image,Ze))}if(this.preprocessElementStyle(d),this.applyComputedStyles(M,d),this.nodeContext.inline)t||(st(M,"inline-start"),_i(M)&&st(M,"clone"));else if(t){if(!Wr(d.position)){let Ze=d["margin-break"],mt=this.getBreakTypeAt(this.nodeContext),Qe=mt!==null,ne=mt==="auto";(Ze===v.discard&&Qe||Ze!==v.keep&&ne&&!this.nodeContext.floatSide)&&Rs(M,"block-start")}}else{let Ze=this.nodeContext.vertical?"width":"height";At(M,Ze)&&N(M,Ze,this.nodeContext.display==="table-row"?"0.01px":""),st(M,"block-start"),_i(M)&&st(M,"clone"),Rs(M,"block-start")}P&&M.setAttribute("value",d["ua-list-item-count"].stringValue()),this.viewNode=M,we.length?ls(we).then(()=>{Q>0&&this.modifyElemDimensionWithImageResolution(ge,Q,d,this.nodeContext.vertical),h.finish(a)}):h.timeSlice().then(()=>{h.finish(a)})})}),h.result()}isInsideNonRootMultiColumn(){var t;for(let i=(t=this.nodeContext.parent)==null?void 0:t.viewNode;i;i=i.parentNode){let n=i.nodeType===1?i.style:null;if(!n)break;if(!isNaN(parseFloat(n.columnCount))||!isNaN(parseFloat(n.columnWidth)))return!0;if(n.position==="absolute")break}return!1}getBreakTypeAt(t){var i,n,s,r,o;if(this.isInsideTable(t))return null;for(let h=t;h&&!h.after;h=h.parent){if(Ke(h.breakBefore))return h.breakBefore;if(h.fragmentIndex===1&&!h.parent)return h.sourceNode===h.sourceNode.ownerDocument.documentElement?"page":null;if((i=h.parent)!=null&&i.floatSide)return null;let l=(n=h.parent)==null?void 0:n.viewNode;if(l){let c=this.viewport.window.getComputedStyle(l),p=parseFloat(c.paddingBlockStart),d=parseFloat(c.borderBlockStartWidth);if(p||d)return null;let f=l?.firstChild;for(;f&&(Ve(f,h.parent.whitespace)||!h.floatSide&&Vi(f));)f=f.nextSibling;if(f&&f!==h.viewNode)return null}}let a=(o=(r=(s=this.context)==null?void 0:s.currentLayoutPosition)==null?void 0:r.flowPositions[this.flowName])==null?void 0:o.startBreakType;return Ke(a)?a:"auto"}isInsideTable(t){for(let i=t;i&&!i.after;i=i.parent)if(i.display&&i.display.startsWith("table"))return!0;return!1}processAfterIfcontinues(t,i,n,s){let r=this.getPseudoMap(i,this.regionIds,this.isFootnote,this.nodeContext,s);if(r&&r["after-if-continues"]&&r["after-if-continues"].content){let o=new va(t,i,n,s,this.exprContentListener);this.nodeContext.afterIfContinues=new pg(t,o)}}isSVGUrlAttribute(t){return kr.SVG_URL_ATTRIBUTES.includes(t.toLowerCase())}modifyElemDimensionWithImageResolution(t,i,n,s){t.forEach(r=>{if(r.fetcher.get().get()==="load"){let o=r.image,a=o.width/i,h=o.height/i,l=r.element;if(a>0&&h>0){if(n["box-sizing"]===v.border_box&&(n["border-left-style"]!==v.none&&(a+=je(n["border-left-width"],this.context)),n["border-right-style"]!==v.none&&(a+=je(n["border-right-width"],this.context)),n["border-top-style"]!==v.none&&(h+=je(n["border-top-width"],this.context)),n["border-bottom-style"]!==v.none&&(h+=je(n["border-bottom-width"],this.context))),i>1){let c=n["max-width"]||v.none,p=n["max-height"]||v.none;if(c===v.none&&p===v.none)N(l,"max-width",`${a}px`);else if(c!==v.none&&p===v.none)N(l,"width",`${a}px`);else if(c===v.none&&p!==v.none)N(l,"height",`${h}px`);else{c.isNumeric(),p.isNumeric();let d=c,f=p;d.unit!=="%"?N(l,"max-width",`${Math.min(a,je(d,this.context))}px`):f.unit!=="%"?N(l,"max-height",`${Math.min(h,je(f,this.context))}px`):s?N(l,"height",`${h}px`):N(l,"width",`${a}px`)}}else if(i<1){let c=n["min-width"]||ve,p=n["min-height"]||ve;c.isNumeric(),c.isNumeric();let d=c,f=p;d.num===0&&f.num===0?N(l,"min-width",`${a}px`):d.num!==0&&f.num===0?N(l,"width",`${a}px`):d.num===0&&f.num!==0?N(l,"height",`${h}px`):d.unit!=="%"?N(l,"min-width",`${Math.max(a,je(d,this.context))}px`):f.unit!=="%"?N(l,"min-height",`${Math.max(h,je(f,this.context))}px`):s?N(l,"height",`${h}px`):N(l,"width",`${a}px`)}}}})}preprocessElementStyle(t){ft("PREPROCESS_ELEMENT_STYLE").forEach(i=>{i(this.nodeContext,t)})}findAndProcessRepeatingElements(t,i){for(let n=t.firstChild;n;n=n.nextSibling){if(n.nodeType!==1)continue;let s={},r=i.getStyle(n,!1);if(this.computeStyle(this.nodeContext.vertical,this.nodeContext.direction==="rtl",r,s),!this.processRepeatOnBreak(s))continue;if(this.nodeContext.formattingContext instanceof Qt&&!this.nodeContext.belongsTo(this.nodeContext.formattingContext))return;let o=this.nodeContext.parent,a=o&&o.formattingContext;this.nodeContext.formattingContext=new Qt(a,this.nodeContext.sourceNode),this.nodeContext.formattingContext.initializeRepetitiveElements(this.nodeContext.vertical);return}}processRepeatOnBreak(t){let i=t["repeat-on-break"];return i!==v.none&&((i===v.auto||J(i))&&(t.display===v.table_header_group?i=v.header:t.display===v.table_footer_group?i=v.footer:i=v.none),i&&i!==v.none)?i.toString():null}createTextNodeView(){let t=F("createTextNodeView");return this.preprocessTextContent().then(()=>{let i=this.offsetInNode||0,n=Ko(this.nodeContext.preprocessedTextContent).substr(i);this.viewNode=document.createTextNode(n),t.finish(!0)}),t.result()}preprocessTextContent(){if(this.nodeContext.preprocessedTextContent!=null)return k(!0);let t,i=t=this.sourceNode.textContent,n=F("preprocessTextContent"),s=ft("PREPROCESS_TEXT_CONTENT"),r=0;return n.loop(()=>r>=s.length?k(!1):s[r++](this.nodeContext,i).thenAsync(o=>(i=o,k(!0)))).then(()=>{this.nodeContext.preprocessedTextContent=Np(t,i),n.finish(!0)}),n.result()}createNodeView(t,i){let n=F("createNodeView"),s,r=!0;return this.sourceNode.nodeType==1?s=this.createElementView(t,i):this.sourceNode.nodeType==8?(this.viewNode=null,s=k(!0)):s=this.createTextNodeView(),s.then(o=>{var a,h;if(r=o,this.nodeContext.viewNode=this.viewNode,this.viewNode){let l=(d,f)=>d?.nodeType===1&&di(d)===f,c=this.nodeContext.parent,p=c?l(this.viewNode,"after")&&l(c.viewNode,"first-letter")&&(a=c.viewNode)!=null&&a.hasChildNodes()?c.parent.viewNode:c.viewNode:this.viewRoot;if(p&&(this.nodeContext.inline&&!(this.viewNode.nodeType===3&&Ve(this.viewNode))&&!p.hasChildNodes()&&ah(p).includes("block-start")&&st(p,"text-start"),p.appendChild(this.viewNode),this.viewNode.nodeType===1&&this.viewNode.hasAttribute("data-vivliostyle-id"))){let d=this.viewNode,f=d.querySelector(":scope > a:empty[id^='viv-id-']");if(f&&(d.closest("[style*='position: absolute']")||/(table|flex|grid|ruby)/.test(d.style.display))){let m=f.getAttribute("id");f.ownerDocument.querySelectorAll(`a[id="${m}"]`).forEach(w=>{var y;(y=w.parentElement)==null||y.removeChild(w)});let g=p.closest("[data-vivliostyle-bleed-box]");(h=g?.parentElement)==null||h.insertBefore(f,g)}}}n.finish(r)}),n.result()}setCurrent(t,i,n){return this.nodeContext=t,t?(this.sourceNode=t.sourceNode,this.offsetInNode=t.offsetInNode):(this.sourceNode=null,this.offsetInNode=-1),this.viewNode=null,this.nodeContext?this.createNodeView(i,!!n):k(!0)}processShadowContent(t){if(t.shadowContext==null||t.sourceNode.localName!="content"||t.sourceNode.namespaceURI!="http://www.pyroxy.com/ns/shadow")return t;let i=t.boxOffset,n=t.shadowContext,s=t.parent,r,o,a=n.subShadow||n.parentShadow;n.subShadow?(r=n.root,o=n.type,o==ot.ROOTLESS&&(r=r.firstChild)):(r=n.owner.firstChild,o=ot.ROOTLESS);let h=t.sourceNode.nextSibling;if(h?(t.sourceNode=h,t.resetView()):t.shadowSibling?t=t.shadowSibling:r?t=null:(t=t.parent.modify(),t.after=!0),r){let l=new zi(r,s,i);return l.shadowContext=a,l.shadowType=o,l.shadowSibling=t,l}return t.boxOffset=i,t}nextPositionInTree(t){let i=t.boxOffset+1;if(t.after){if(!t.parent)return null;if(t.shadowType!=ot.ROOTED){let n=t.sourceNode.nextSibling;if(n)return t=t.modify(),t.boxOffset=i,t.sourceNode=n,t.resetView(),this.processShadowContent(t)}return t.shadowSibling?(t=t.shadowSibling.modify(),t.boxOffset=i,t):(t=t.parent.modify(),t.boxOffset=i,t.after=!0,t)}else{if(t.nodeShadow){let s=t.nodeShadow.root;if(t.nodeShadow.type==ot.ROOTLESS&&(s=s.firstChild),s){let r=new zi(s,t,i);return r.shadowContext=t.nodeShadow,r.shadowType=t.nodeShadow.type,this.processShadowContent(r)}}let n=t.sourceNode.firstChild;if(n)return this.processShadowContent(new zi(n,t,i));if(t.sourceNode.nodeType!=1){let s=Ko(t.preprocessedTextContent);i+=s.length-1-t.offsetInNode}return t=t.modify(),t.boxOffset=i,t.after=!0,t}}isTransclusion(t,i,n){let s=Ue(i,"hyperlink-processing");if(!s)return!1;let r=s.evaluate(this.context,"hyperlink-processing");return r?r.toString()==n:!1}nextInTree(t,i){let n=this.nextPositionInTree(t);if(!n||n.after)return k(n);let s=F("nextInTree");return this.setCurrent(n,!0,i).then(r=>{(!n.viewNode||!r)&&(n=n.modify(),n.after=!0,n.viewNode||(n.inline=!0)),this.dispatchEvent({type:"nextInTree",nodeContext:n}),s.finish(n)}),s.result()}addImageFetchers(t){if(t instanceof Ye){let i=t.values;for(let n=0;n<i.length;n++)this.addImageFetchers(i[n])}else if(t instanceof dt){let i=t.url;this.page.fetchers.push(si(new Image,i))}}applyComputedStyles(t,i){var n,s,r;let o=i["background-image"];o&&this.addImageFetchers(o);let a=i.position===v.relative,h=((n=this.nodeContext)==null?void 0:n.parent)===null&&((s=this.sourceNode)==null?void 0:s.parentElement)===null&&!!((r=this.viewRoot)!=null&&r.parentElement),l=Object.keys(i);l.sort(Do);let c,p;for(let d of l){if(mw[d])continue;let f=i[d];if(!(!f||f===G&&!kt(d))){if(f=f.visit(new Sd(this.xmldoc.url,this.documentURLTransformer)),f instanceof I&&fl(f.unit)&&(f.unit==="lh"?f=new I(f.num*this.getLineHeightUnitSize(d,c,p),"px"):f=Ll(f,this.context)),d==="font-size"?c=f:d==="line-height"&&(p=f),Ip[d]||a&&Rp[d]){this.page.delayedItems.push(new Gr(t,d,f));continue}h&&this.page.pageAreaElement&&qi(d)?N(this.page.pageAreaElement.parentElement.parentElement,d,f.toString()):N(t,d,f.toString())}}}getLineHeightUnitSize(t,i,n){var s,r,o,a;let h=me.lh/me.em,l=((r=(s=this.nodeContext.parent)==null?void 0:s.viewNode)==null?void 0:r.nodeType)===1?this.viewport.window.getComputedStyle(this.nodeContext.parent.viewNode):null,c=l?parseFloat(l.fontSize):this.context.fontSize(),p=l?l.lineHeight==="normal"?c*h:parseFloat(l.lineHeight):this.context.rootLineHeight;if(t==="line-height"||t==="font-size")return p;let d=null;if(n){if(n instanceof Ht||n instanceof I&&(n.unit==="em"||n.unit==="%"))d=n instanceof I&&n.unit==="%"?n.num/100:n.num;else if(n instanceof I)return n.num*this.context.queryUnitSize(n.unit,!1)}else for(let f=(o=this.nodeContext.parent)==null?void 0:o.viewNode;;f=f.parentNode){if(!f||f.nodeType!==1){d=h;break}let m=(a=f?.style)==null?void 0:a.lineHeight;if(m){/^[0-9.]+$/.test(m)&&(d=parseFloat(m)),m==="normal"&&(d=h);break}}return d!==null?i instanceof I?d*_h(i,c,this.context).num:d*c:p}applyPseudoelementStyle(t,i,n){if(t.after)return;let s=this.sourceNode,r=(t.shadowContext?t.shadowContext.styler:this.styler).getStyle(s,!1),o=pt(r,"_pseudos");if(!o||(r=o[i],!r))return;let a={};t.vertical=this.computeStyle(t.vertical,t.direction==="rtl",r,a);let h=a.content;Vt(h)&&(h.visit(new Zn(n,this.context,h,this.exprContentListener)),delete a.content),this.applyComputedStyles(n,a)}peelOff(t,i){let n=F("peelOff"),s=t.firstPseudo,r=t.offsetInNode,o=t.after;if(i>0){let p=t.viewNode.textContent;t.viewNode.textContent=p.substr(0,i),r+=i}else if(!o&&t.viewNode&&r==0){let p=t.viewNode.parentNode;p&&p.removeChild(t.viewNode)}let a=t.boxOffset+i,h=[];for(;t.firstPseudo===s;)h.push(t),t=t.parent;let l=h.pop(),c=l.shadowSibling;return n.loop(()=>{for(;h.length>0;){l=h.pop(),t=new zi(l.sourceNode,t,a),h.length==0&&(t.offsetInNode=r,t.after=o),t.shadowType=l.shadowType,t.shadowContext=l.shadowContext,t.nodeShadow=l.nodeShadow,t.shadowSibling=l.shadowSibling?l.shadowSibling:c,c=null;let p=this.setCurrent(t,!1);if(p.isPending())return p}return k(!1)}).then(()=>{n.finish(t)}),n.result()}createElement(t,i){return t=="http://www.w3.org/1999/xhtml"?this.document.createElement(i):this.document.createElementNS(t,i)}applyFootnoteStyle(t,i,n){let s={},r=pt(this.footnoteStyle,"_pseudos");if(t=this.computeStyle(t,i,this.footnoteStyle,s),r&&r.before){let o={},a=this.createElement("http://www.w3.org/1999/xhtml","span");br(a,"before"),n.appendChild(a),this.computeStyle(t,i,r.before,o),delete o.content,this.applyComputedStyles(a,o)}return delete s.content,this.applyComputedStyles(n,s),t}processFragmentedBlockEdge(t){var i,n,s;let r=!t.inline&&t.after?t.parent:t,o=!1;if(t.inline&&t.after&&!t.shadowContext&&((i=t.sourceNode.nextSibling)==null?void 0:i.nodeType)===1){let h=t.sourceNode.nextSibling,l=(n=Ue(this.styler.getStyle(h,!1),"display"))==null?void 0:n.value.toString();o=l&&!Xt(l)||h.getAttribute("data-math-typeset")==="true"&&/^\s*(\$\$|\\\[)/.test(h.textContent)}let a=0;for(let h=r;h;h=h.parent){if(((s=h.viewNode)==null?void 0:s.nodeType)!==1)continue;let l=h.viewNode;if(l.style)if(h.inline){if(st(l,"inline-end"),_i(l)){let c=h.vertical?l.offsetWidth:l.offsetHeight;st(l,"clone"),(h.vertical?l.offsetWidth:l.offsetHeight)>c&&this.fixClonedBoxDecorationOverflow(l)}}else{let c=this.nodeContext.vertical?"width":"height";if(At(l,c)&&N(l,c,""),st(l,"block-end"),!a++&&h!==r){let{textAlign:p}=this.viewport.window.getComputedStyle(l);if(p==="justify"&&!o){let d=this.createChildAnonymousBlockIfNeeded(l);d?d!==l?lh(d,["block-start","text-start","block-end","text-end","justify"]):(st(l,"text-end"),st(l,"justify")):st(l,"text-end")}else st(l,"text-end")}_i(l)&&st(l,"clone"),Rs(l,"block-end")}}}fixClonedBoxDecorationOverflow(t){let i=this.viewport.window.getComputedStyle(t),n=parseFloat(i.paddingInlineEnd),s=parseFloat(i.borderInlineEndWidth),r=-(n+s);isNaN(r)||(t.style.marginInlineEnd=`${r}px`)}createChildAnonymousBlockIfNeeded(t){let i=r=>{let{display:o,position:a,float:h}=this.viewport.window.getComputedStyle(r);if(r.localName==="ruby"||jt[r.localName])return!1;if(r.localName==="br")return!0;if((o==="inline"||o==="contents")&&r.hasChildNodes()){let l=r.lastElementChild;if(l&&(!l.nextSibling||l.nextSibling===r.lastChild&&Ve(l.nextSibling))){let c=i(l);if(c||c===null)return c}for(let c=l?.previousElementSibling;c;c=c.previousElementSibling){let p=i(c);if(p||p===null)return null}return!1}if(o==="none"||a==="absolute"||a==="fixed"||h&&h!=="none"||r.hasAttribute(xi)){let l=r.previousElementSibling;return l&&(l.nextSibling===r||l.nextSibling===r.previousSibling&&Ve(l.nextSibling))?i(l):!1}return!(!o||Xt(o))},n=null;for(let r=t.lastElementChild;r;r=r.previousElementSibling){let o=i(r);if(o){n=r;break}if(o===null)return null}if(!n)return t;if(n===t.lastElementChild&&(!n.nextSibling||n.nextSibling===t.lastChild&&Ve(n.nextSibling)))return null;let s=t.ownerDocument.createElement("span");s.className="viv-anonymous-block";for(let r=n.nextSibling,o=null;r;r=o)o=r.nextSibling,s.appendChild(r);return t.appendChild(s),s}convertLengthToPx(t,i,n){let s=t.num,r=t.unit;if(Wc(r)){let o=i;for(;o&&o.nodeType!==1;)o=o.parentNode;let a=parseFloat(n.getElementComputedStyle(o)["font-size"]);return this.context,Kr(t,a,this.context).num}else{let o=this.context.queryUnitSize(r,!1);return o?s*o:t}}isSameNodePositionStep(t,i){if(t.shadowContext){if(!i.shadowContext)return!1;let n=t.node.nodeType===1?t.node:t.node.parentElement,s=i.node.nodeType===1?i.node:i.node.parentElement;return t.shadowContext.owner===i.shadowContext.owner&&di(n)===di(s)}else return t.node===i.node}isSameNodePosition(t,i){return t.offsetInNode===i.offsetInNode&&t.after==i.after&&t.steps.length===i.steps.length&&t.steps.every((n,s)=>{let r=i.steps[s];return this.isSameNodePositionStep(n,r)})}isPseudoelement(t){return!!di(t)}};u(Gu,"SVG_URL_ATTRIBUTES",["color-profile","clip-path","cursor","filter","marker","marker-start","marker-end","marker-mid","fill","stroke","mask"]);var gw=Gu,mw={"float-min-wrap-block":!0,"float-reference":!0,"flow-into":!0,"flow-linger":!0,"flow-options":!0,"flow-priority":!0,"footnote-policy":!0,"margin-break":!0,page:!0},Hn=null,ww=class{constructor(e){u(this,"layoutBox"),u(this,"window"),u(this,"scaleRatio"),this.layoutBox=e.layoutBox,this.window=e.window,this.scaleRatio=e.scaleRatio}scaleRect(e){return Hn?{left:e.left*this.scaleRatio,top:e.top*this.scaleRatio,right:e.right*this.scaleRatio,bottom:e.bottom*this.scaleRatio,width:e.width*this.scaleRatio,height:e.height*this.scaleRatio}:e}subtractOffsets(e,t){let i=t.left,n=t.top;return{left:e.left-i,top:e.top-n,right:e.right-i,bottom:e.bottom-n,width:e.width,height:e.height}}getRangeClientRects(e){let t=e.getClientRects(),i=this.layoutBox.getBoundingClientRect();return Array.from(t).map(n=>this.scaleRect(this.subtractOffsets(n,i)))}getElementClientRect(e){let t=e.getBoundingClientRect();if(t.left===0&&t.top===0&&t.right===0&&t.bottom===0)return t;let i=this.layoutBox.getBoundingClientRect();return this.scaleRect(this.subtractOffsets(t,i))}getElementComputedStyle(e){return this.window.getComputedStyle(e,null)}adjustLengthValue(e){let t=64*(this.scaleRatio||1);return Math.floor(e*t)/t}},is=class{constructor(e,t,i,n,s,r){this.window=e,this.fontSize=t,this.pixelRatio=i,u(this,"document"),u(this,"root"),u(this,"outerZoomBox"),u(this,"contentContainer"),u(this,"layoutBox"),u(this,"width"),u(this,"height"),u(this,"scaleRatio",1),this.document=e.document,this.root=n||this.document.body;let o=this.root.firstElementChild;o||(o=this.document.createElement("div"),o.setAttribute("data-vivliostyle-outer-zoom-box","true"),o.role="presentation",this.root.appendChild(o));let a=o.firstElementChild;a||(a=this.document.createElement("div"),a.setAttribute("data-vivliostyle-spread-container","true"),a.role="presentation",o.appendChild(a)),i>0&&CSS.supports("zoom","8")&&(N(this.root,"--viv-outputPixelRatio",`${i}`),N(this.root,"--viv-devicePixelRatio",`${e.devicePixelRatio}`),this.scaleRatio=i/e.devicePixelRatio,Hn===null&&(Hn=!("currentCSSZoom"in a)),Hn&&N(this.root,"--viv-scaleRectRatio",`${this.scaleRatio}`));let h=o.nextElementSibling;h||(h=this.document.createElement("div"),h.setAttribute("data-vivliostyle-layout-box","true"),h.role="presentation",this.root.appendChild(h)),this.outerZoomBox=o,this.contentContainer=a,this.layoutBox=h,this.width=s||parseFloat(e.getComputedStyle(this.root).width)||this.root.offsetWidth||e.innerWidth,this.height=r||parseFloat(e.getComputedStyle(this.root).height)||this.root.offsetHeight||e.innerHeight;let l={width:794,height:1056},c=!e.outerWidth&&!e.outerHeight||/Headless/.test(navigator.userAgent)||navigator.webdriver&&e.innerWidth===800&&e.innerHeight===600;(!this.width||!s&&c)&&(this.width=l.width),(!this.height||!r&&c)&&(this.height=l.height)}resetZoom(){N(this.outerZoomBox,"width",""),N(this.outerZoomBox,"height",""),N(this.contentContainer,"width",""),N(this.contentContainer,"height",""),N(this.contentContainer,"transform","")}zoom(e,t,i){N(this.root,"--viv-outputScale",`${i}`),N(this.outerZoomBox,"width",`${e*i}px`),N(this.outerZoomBox,"height",`${t*i}px`),N(this.contentContainer,"width",`${e}px`),N(this.contentContainer,"height",`${t}px`)}clear(){let e=this.root;for(;e.lastChild;)e.removeChild(e.lastChild)}},Wu=class{constructor(e,t,i){this.store=e,this.url=t,this.document=i,u(this,"lang",null),u(this,"totalOffset",-1),u(this,"root"),u(this,"body"),u(this,"head"),u(this,"last"),u(this,"lastOffset",1),u(this,"idMap"),this.root=i.documentElement;let n=null,s=null;if(this.root.namespaceURI=="http://www.w3.org/1999/xhtml"){for(let r=this.root.firstChild;r;r=r.nextSibling){if(r.nodeType!=1)continue;let o=r;if(o.namespaceURI=="http://www.w3.org/1999/xhtml")switch(o.localName){case"head":s=o;break;case"body":n=o;break}}this.lang=this.root.getAttribute("lang")}this.body=n,this.head=s,this.last=this.root,this.last.setAttribute(yt,"0")}doc(){return new Xu([this.document])}getElementOffset(e){let t=e.getAttribute(yt);if(t)return parseInt(t,10);let i=this.lastOffset,n=this.last;for(;n!=e;){let s=n.firstChild;if(!s){for(;s=n.nextSibling,!s;)if(n=n.parentNode,n==null)throw new Error("Internal error")}n=s,s.nodeType==1?(s.setAttribute(yt,i.toString()),++i):i+=s.textContent.length}return this.lastOffset=i,this.last=e,i-1}getNodeOffset(e,t,i){let n=0,s=e,r=null;if(s.nodeType==1){if(!i)return this.getElementOffset(s)}else{if(n=t,r=s.previousSibling,!r)return s=s.parentNode,n+=1,this.getElementOffset(s)+n;s=r}for(;;){for(;s.lastChild;)s=s.lastChild;if(s.nodeType==1)break;if(n+=s.textContent.length,r=s.previousSibling,!r){s=s.parentNode;break}s=r}return n+=1,this.getElementOffset(s)+n}getTotalOffset(){return this.totalOffset<0&&(this.totalOffset=this.getNodeOffset(this.root,0,!0)),this.totalOffset}getNodeByOffset(e){let t,i=this.root;for(;;){if(t=this.getElementOffset(i),t>=e)return i;let a=i.children;if(!a)break;let h=_t(a.length,l=>{let c=a[l];return this.getElementOffset(c)>e});if(h==0)break;i=a[h-1]}let n=t+1,s=i,r=s.firstChild||s.nextSibling,o=null;for(;;){if(r){if(r.nodeType==1||(s=r,o=s,n+=r.textContent.length,n>e&&!/^\s*$/.test(r.textContent)))break}else if(s=s.parentNode,!s)break;r=s.nextSibling}return r&&o&&/^\s*$/.test(o.textContent)&&(o=r),o||i}buildIdMap(e){let t=e.getAttribute("id");t&&!this.idMap[t]&&(this.idMap[t]=e);let i=e.getAttributeNS("http://www.w3.org/XML/1998/namespace","id");i&&!this.idMap[i]&&(this.idMap[i]=e);for(let n=e.firstElementChild;n;n=n.nextElementSibling)this.buildIdMap(n)}getElement(e){let t=e.match(/([^#]*)#(.+)$/);if(!t||t[1]&&t[1]!=this.url)return null;let i=t[2],n=this.document.getElementById(i);return!n&&this.document.getElementsByName&&(n=this.document.getElementsByName(i)[0]),n||(this.idMap||(this.idMap={},this.buildIdMap(this.document.documentElement)),n=this.idMap[i]),n}},Nr=(e=>(e.TEXT_HTML="text/html",e.TEXT_XML="text/xml",e.APPLICATION_XML="application/xml",e.APPLICATION_XHTML_XML="application/xhtml+xml",e.IMAGE_SVG_XML="image/svg+xml",e))(Nr||{});function Ln(e,t,i){let n=i||new DOMParser,s;try{s=n.parseFromString(e,t)}catch{}if(s){let r=s.documentElement,o="parsererror";if(r.localName===o)return null;for(let a=r.firstElementChild;a;a=a.nextElementSibling)if(a.localName===o)return null}else return null;return s}function bw(e){let t=e.contentType;if(t){let n=Object.keys(Nr);for(let s=0;s<n.length;s++)if(Nr[n[s]]===t)return t;if(t.match(/\+xml$/))return"application/xml"}let i=e.url.match(/\.([^./]+)$/);if(i)switch(i[1]){case"html":case"htm":return"text/html";case"xhtml":case"xht":return"application/xhtml+xml";case"svg":case"svgz":return"image/svg+xml";case"opf":case"xml":return"application/xml"}return null}function ju(e,t){let i=e.responseXML;if(!i){let s=new DOMParser,r=e.responseText;if(r){let o=bw(e);if(i=Ln(r,o||"application/xml",s),i&&!o){let a=i.documentElement;a.localName.toLowerCase()==="html"&&!a.namespaceURI?i=Ln(r,"text/html",s):a.localName.toLowerCase()==="svg"&&i.contentType!=="image/svg+xml"&&(i=Ln(r,"image/svg+xml",s))}i||(i=Ln(r,"text/html",s))}}let n=i?new Wu(t,e.url,i):null;return k(n)}function vw(){return new Vr(ju,"document")}var yw=class Pr{constructor(t){this.fn=t}check(t){return this.fn(t)}withAttribute(t,i){return new Pr(n=>this.check(n)&&n.nodeType==1&&n.getAttribute(t)==i)}withChild(t,i){return new Pr(n=>{if(!this.check(n))return!1;let s=new Xu([n]);return s=s.child(t),i&&(s=s.predicate(i)),s.size()>0})}},za=new yw(e=>!0),Xu=class Tr{constructor(t){this.nodes=t}asArray(){return this.nodes}size(){return this.nodes.length}predicate(t){let i=[];for(let n of this.nodes)t.check(n)&&i.push(n);return new Tr(i)}forEachNode(t){let i=[],n=s=>{i.push(s)};for(let s=0;s<this.nodes.length;s++)t(this.nodes[s],n);return new Tr(i)}forEach(t){let i=[];for(let n=0;n<this.nodes.length;n++)i.push(t(this.nodes[n]));return i}forEachNonNull(t){let i=[];for(let n=0;n<this.nodes.length;n++){let s=t(this.nodes[n]);s!=null&&i.push(s)}return i}child(t){return this.forEachNode((i,n)=>{for(let s=i.firstChild;s;s=s.nextSibling)s.nodeType==1&&s.localName==t&&n(s)})}childElements(){return this.forEachNode((t,i)=>{for(let n=t.firstChild;n;n=n.nextSibling)n.nodeType==1&&i(n)})}attribute(t){return this.forEachNonNull(i=>i.nodeType==1?i.getAttribute(t):null)}textContent(){return this.forEach(t=>t.textContent)}},xw=new wn(()=>{let e=F("uaStylesheetBase"),t=Pu(),i=Pe("user-agent-base.css",Kt),n=new rn(null,null,null,null,null,t,!0);return n.startStylesheet("UA"),Kf(n.cascade),Ur(Xl,n,i,null,null).thenFinish(e),e.result()},"uaStylesheetBaseFetcher");function Sw(){return xw.get()}var Cw=class{constructor(e,t,i,n,s,r,o,a,h,l){this.store=e,this.rootScope=t,this.pageScope=i,this.cascade=n,this.rootBox=s,this.fontFaces=r,this.footnoteProps=o,this.flowProps=a,this.viewportProps=h,this.pageProps=l,u(this,"fontDeobfuscator"),u(this,"validatorSet"),this.fontDeobfuscator=e.fontDeobfuscator,this.validatorSet=e.validatorSet,this.pageScope.defineBuiltIn("has-content",function(c){c=c;let p=this,d=p.currentLayoutPosition,f=d.firstFlowChunkOfFlow(c);return p.matchPageSide(d.startSideOfFlow(c))&&d.hasContent(c,p.lookupOffset)&&!!f&&!p.flowChunkIsAfterParentFlowForcedBreak(f)}),this.pageScope.defineName("page-number",new De(this.pageScope,function(){let c=this;return c.pageNumberOffset+c.currentLayoutPosition.page},"page-number")),this.pageScope.defineName("blank-page",new De(this.pageScope,function(){let c=this.currentLayoutPosition;return c?.isBlankPage},"blank-page"))}sizeViewport(e,t,i,n){if(this.viewportProps.length){let s=new Hs(this.rootScope,e,t,i),r=ff(s,this.viewportProps),o=r.width,a=r.height,h=r["text-zoom"],l=1;if(o&&a||h){let c=me.em;if((h?h.evaluate(s,"text-zoom"):null)===v.scale&&(l=c/i,i=c,e*=l,t*=l),o&&a){let p=je(o.evaluate(s,"width"),s),d=je(a.evaluate(s,"height"),s);if(p>0&&d>0)return{width:n&&n.spreadView?(p+n.pageBorder)*2:p,height:d,fontSize:i}}}}return{width:e,height:t,fontSize:i}}},mo=class extends Hs{constructor(e,t,i,n,s,r,o,a,h,l,c,p,d){super(e.rootScope,n.width,n.height,n.fontSize),this.style=e,this.xmldoc=t,this.viewport=n,this.clientLayout=s,this.fontMapper=r,this.customRenderer=o,this.fallbackMap=a,this.pageNumberOffset=h,this.documentURLTransformer=l,this.counterStore=c,u(this,"lang"),u(this,"primaryFlows",{body:!0}),u(this,"rootPageBoxInstance",null),u(this,"styler",null),u(this,"stylerMap",null),u(this,"currentLayoutPosition",null),u(this,"layoutPositionAtPageStart",null),u(this,"lookupOffset",0),u(this,"faces"),u(this,"pageBoxInstances",{}),u(this,"pageManager",null),u(this,"rootPageFloatLayoutContext"),u(this,"pageBreaks",{}),u(this,"pageProgression",null),u(this,"isVersoFirstPage",!1),u(this,"blankPageAtStart",!1),u(this,"pageSheetSize",{}),u(this,"pageSheetHeight",0),u(this,"pageSheetWidth",0),this.lang=t.lang||i,this.faces=new km(this.style.fontDeobfuscator),this.rootPageFloatLayoutContext=new Di(null,null,null,null,null,null,null),this.pageProgression=p||null,this.isVersoFirstPage=!!d;for(let f in e.flowProps){let m=e.flowProps[f],g=Ue(m,"flow-consume");g&&(g.evaluate(this,"flow-consume")==v.all?this.primaryFlows[f]=!0:delete this.primaryFlows[f])}}init(){let e=F("StyleInstance.init"),t=this.counterStore.createCounterListener(this.xmldoc.url),i=this.counterStore.createCounterResolver(this.xmldoc.url,this.style.rootScope,this.style.pageScope);this.styler=new Ea(this.xmldoc,this.style.cascade,this.style.rootScope,this,this.primaryFlows,this.style.validatorSet,t,i),i.setStyler(this.styler),this.styler.resetFlowChunkStream(this),this.stylerMap={},this.stylerMap[this.xmldoc.url]=this.styler;let n=this.styler.getTopContainerStyle();this.pageProgression||(this.pageProgression=Mu(n)),this.matchStartPageSide(this.styler.breakBeforeValues[0])||(this.pageNumberOffset===0?this.isVersoFirstPage=!0:this.blankPageAtStart=!0);let s=this.style.rootBox;this.rootPageBoxInstance=new Am(s);let r=this.style.cascade.createInstance(this,t,i,this.lang);this.styler.cascade.currentPageType=this.styler.cascade.firstPageType,this.rootPageBoxInstance.applyCascadeAndInit(r,n),this.rootPageBoxInstance.resolveAutoSizing(this),this.pageManager=new qm(r,this.style.pageScope,this.rootPageBoxInstance,this,n);let o=[];for(let h of this.style.fontFaces){if(h.condition&&!h.condition.evaluate(this))continue;let l=Em(h.properties,this),c=new Tu(l);o.push(c)}this.fontMapper.findOrLoadFonts(o,this.faces).then(()=>{uw(this.xmldoc.document,this.viewport.window,this.styler).thenFinish(e)});let a=this.style.pageProps;return a[""]||(a[""]={}),Object.keys(a).forEach(h=>{let l=a[h];this.styler.cascade.applyVarFilter([l],this.styler,null),this.styler.cascade.applyCalcFilter(l,this.styler.context);let c=Ba(ts(l),this);this.pageSheetSize[h]={width:c.pageWidth+c.cropOffset*2,height:c.pageHeight+c.cropOffset*2}}),e.result()}matchStartPageSide(e){let t=this.pageNumberOffset%2==(this.isVersoFirstPage?1:0),i=this.pageProgression=="ltr";switch(e){case"left":return t!==i;case"right":return t===i;case"recto":return t;case"verso":return!t;default:return!0}}getStylerForDoc(e){let t=this.stylerMap[e.url];if(!t){let i=this.style.store.getStyleForDoc(e),n=new Hs(i.rootScope,this.pageWidth(),this.pageHeight(),this.initialFontSize),s=this.counterStore.createCounterListener(e.url),r=this.counterStore.createCounterResolver(e.url,i.rootScope,i.pageScope);t=new Ea(e,i.cascade,i.rootScope,n,this.primaryFlows,i.validatorSet,s,r),this.stylerMap[e.url]=t}return t}registerInstance(e,t){this.pageBoxInstances[e]=t}lookupInstance(e){return this.pageBoxInstances[e]}encounteredFlowChunk(e,t){let i=this.currentLayoutPosition;if(i){i.flows[e.flowName]?t=i.flows[e.flowName]:i.flows[e.flowName]=t;let n=i.flowPositions[e.flowName];n||(n=new Vp,i.flowPositions[e.flowName]=n);let s=Mp(e.element),r=new Dt(s),o=new Dp(r,e);n.positions.push(o)}}evalSupportsTest(e,t,i){if(i)return e==="selector"?this.evalSupportsSelector(t):!1;if(!e)return!1;let n=!0;class s{unknownProperty(h,l){n=!1}invalidPropertyValue(h,l){n=!1}simpleProperty(h,l,c){}}let r=new s,o=Pi(this.style.rootScope,new gt(t,null),"");return o?(this.xmldoc.store.validatorSet.validatePropertyAndHandleShorthand(e,o,!1,r),n):!1}evalSupportsSelector(e){let t=new qu(null),i=new gt(e+"{}",t);return new vn(ke,i,t,"").runParser(Number.POSITIVE_INFINITY,!1,!1,!1,!1)?!t.cascadeParserHandler.invalid:!1}getConsumedOffset(e){let t=Number.POSITIVE_INFINITY;for(let i=0;i<e.positions.length;i++){let n=e.positions[i].chunkPosition.primary,s=n.steps[0].node,r=n.offsetInNode,o=n.after,a=0;for(;s.ownerDocument!=this.xmldoc.document;)a++,s=n.steps[a].node,o=!1,r=0;let h=this.xmldoc.getNodeOffset(s,r,o);h<t&&(t=h)}return t}getPosition(e,t){if(!e)return 0;let i=Number.POSITIVE_INFINITY;for(let n in this.primaryFlows){let s=e.flowPositions[n];if(!t&&(!s||s.positions.length==0)&&this.currentLayoutPosition&&(this.styler.styleUntilFlowIsReached(n),s=this.currentLayoutPosition.flowPositions[n],e!=this.currentLayoutPosition&&s&&(s=s.clone(),e.flowPositions[n]=s)),s){let r=this.getConsumedOffset(s);r<i&&(i=r)}}return i}dumpLocation(e){H.debug("Location - page",this.currentLayoutPosition.page),H.debug(" current:",e),H.debug(" lookup:",this.lookupOffset);for(let t in this.currentLayoutPosition.flowPositions){let i=this.currentLayoutPosition.flowPositions[t];for(let n of i.positions)H.debug(" Chunk",`${t}:`,n.flowChunk.startOffset)}}matchPageSide(e){switch(e){case"left":case"right":case"recto":case"verso":return new Ae(this.style.pageScope,`${e}-page`).evaluate(this);default:return!0}}updateStartSide(e){for(let t in e.flowPositions){let i=e.flowPositions[t];if(i&&i.positions.length>0){let n=i.positions[0].flowChunk;if(this.getConsumedOffset(i)===n.startOffset){let s=i.positions[0].flowChunk.breakBefore,r=i.startBreakType;i.startBreakType=Zo(qe(r,s))}}}}selectPageMaster(e){let t=this.currentLayoutPosition,i=this.getPosition(t);if(i==Number.POSITIVE_INFINITY)return null;let n=this.rootPageBoxInstance.children,s;for(let r=0;r<n.length;r++){if(s=n[r],s.pageBox.pseudoName===fo)continue;let o=1;s.pageBox.pseudoName===ho&&!(this.actualPageWidth&&this.actualPageHeight)&&(o=1/0);let a=s.getProp(this,"utilization");a&&a.isNum()&&(o=a.num);let h=this.queryUnitSize("em",!1),l=this.pageWidth()*this.pageHeight(),c=Math.ceil(o*l/(h*h)),p=this.styler.cascade.currentPageType;this.lookupOffset=this.styler.styleUntil(i,c),this.styler.cascade.currentPageType=p,this.updateStartSide(t),this.layoutPositionAtPageStart=t.clone(),this.initLingering(),this.clearScope(this.style.pageScope);let d=s.getProp(this,"enabled");if(!d||d===v._true){if(t.page===1&&this.blankPageAtStart){s.style={};let f=e.size;e={},f&&(e.size=f)}return this.pageManager.getPageRulePageMaster(s,e)}}throw new Error("No enabled page masters")}flowChunkIsAfterParentFlowForcedBreak(e){let t=this.layoutPositionAtPageStart.flows,i=t[e.flowName].parentFlowName;if(i){let n=e.startOffset,s=t[i].forcedBreakOffsets;if(!s.length||n<s[0])return!1;let r=_t(s.length,l=>s[l]>n)-1,o=s[r],a=this.layoutPositionAtPageStart.flowPositions[i],h=this.getConsumedOffset(a);return o<h?!1:h<o?!0:!this.matchPageSide(a.startBreakType)}return!1}setFormattingContextToColumn(e,t){let i=this.currentLayoutPosition.flows[t];i.formattingContext||(i.formattingContext=new qr(null)),e.flowRootFormattingContext=i.formattingContext}layoutDeferredPageFloats(e){let t=e.pageFloatLayoutContext,i=t.getDeferredPageFloatContinuations(),n=a=>{if(a.floatReference!==Ne.PAGE)return!1;let h=this.layoutPositionAtPageStart.flowPositions.body,l=h&&this.getConsumedOffset(h),c=this.xmldoc.getNodeOffset(a.nodePosition.steps[0].node,0,!1);return c!=null&&l!=null&&c>l},s=F("layoutDeferredPageFloats"),r=!1,o=0;return s.loopWithFrame(a=>{if(o===i.length){a.breakLoop();return}let h=i[o++],l=h.float;if(n(l)){a.breakLoop();return}let c=new Si().findByFloat(l),p=c.findPageFloatFragment(l,t);if(p&&p.hasFloat(l)){a.continueLoop();return}else if(t.isForbidden(l)||t.hasPrecedingFloatsDeferredToNext(l)){t.deferPageFloat(h),a.breakLoop();return}e.layoutPageFloatInner(h,c,null,p).then(d=>{if(!d){a.breakLoop();return}let f=t.parent.isInvalidated();if(f){a.breakLoop();return}else t.isInvalidated()&&!f&&(r=!0,t.validate());a.continueLoop()})}).then(()=>{r&&t.invalidate(),s.finish(!0)}),s.result()}getLastAfterPositionIfDeferredFloatsExists(e,t){if(e.pageFloatLayoutContext.getPageFloatContinuationsDeferredToNext().length>0)if(e.lastAfterPosition){let i;return t?(i=t.clone(),i.primary=e.lastAfterPosition):i=new Dt(e.lastAfterPosition),i}else return null;else return null}layoutColumn(e,t){let i=this.currentLayoutPosition.flowPositions[t];if(!i||!this.matchPageSide(i.startBreakType))return k(!0);this.setFormattingContextToColumn(e,t),e.init(),this.primaryFlows[t]&&e.bands.length>0&&(e.forceNonfitting=!1);let n=F("layoutColumn");return this.layoutDeferredPageFloats(e).then(()=>{if(e.pageFloatLayoutContext.isInvalidated()){n.finish(!0);return}let s=[],r=[],o=!0;n.loopWithFrame(a=>{if(e.pageFloatLayoutContext.hasContinuingFloatFragmentsInFlow(t)){a.breakLoop();return}for(;i.positions.length-r.length>0;){let h=0;for(;r.includes(h);)h++;let l=i.positions[h];if(l.flowChunk.startOffset>this.lookupOffset||this.flowChunkIsAfterParentFlowForcedBreak(l.flowChunk))break;for(let d=h+1;d<i.positions.length;d++){if(r.includes(d))continue;let f=i.positions[d];if(f.flowChunk.startOffset>this.lookupOffset||this.flowChunkIsAfterParentFlowForcedBreak(f.flowChunk))break;f.flowChunk.isBetter(l.flowChunk)&&(l=f,h=d)}let c=l.flowChunk,p=!0;if(e.layout(l.chunkPosition,o,i.breakAfter).then(d=>{if(e.pageFloatLayoutContext.isInvalidated()){a.breakLoop();return}if(o=!1,l.flowChunk.repeated&&(d===null||c.exclusive)&&s.push(h),c.exclusive){r.push(h),a.breakLoop();return}else{let f=!!d||!!e.pageBreakType,m=this.getLastAfterPositionIfDeferredFloatsExists(e,d);if(e.pageBreakType&&m?(l.chunkPosition=m,i.breakAfter=e.pageBreakType,e.pageBreakType=null):(r.push(h),(d||m)&&(l.chunkPosition=d||m,s.push(h)),i.startBreakType=Zo(e.pageBreakType)),f){a.breakLoop();return}}e.forceNonfitting=!1,p?p=!1:a.continueLoop()}),p){p=!1;return}}a.breakLoop()}).then(()=>{if(!e.pageFloatLayoutContext.isInvalidated()){i.positions=i.positions.filter((h,l)=>s.includes(l)||!r.includes(l)),i.breakAfter==="column"&&(i.breakAfter=null),e.saveDistanceToBlockEndFloats();let a=e.pageFloatLayoutContext.getMaxReachedAfterEdge();e.updateMaxReachedAfterEdge(a)}n.finish(!0)})}),n.result()}createLayoutConstraint(e){let t=this.currentLayoutPosition.page-1,i=this.counterStore.createLayoutConstraint(t);return new bg([i].concat(e.getLayoutConstraints()))}createAndLayoutColumn(e,t,i,n,s,r,o,a,h,l,c,p,d,f){let m=e.vertical?e.isAutoWidth&&e.isRightDependentOnAutoWidth:e.isAutoHeight&&e.isTopDependentOnAutoHeight,g=s.element,w=new Di(a,Ne.COLUMN,null,o,null,null,null),y=this.currentLayoutPosition.clone(),b=F("createAndLayoutColumn"),S;return b.loopWithFrame(T=>{let A=this.createLayoutConstraint(w);if(h>1){let _=this.viewport.document.createElement("div");if(N(_,"position","absolute"),g.appendChild(_),S=new Qn(_,d,this.clientLayout,A,w),S.forceNonfitting=f,S.vertical=s.vertical,S.rtl=s.rtl,S.snapHeight=s.snapHeight,S.snapWidth=s.snapWidth,s.vertical){let V=(s.rtl?h-r-1:r)*(c+l)+s.paddingTop,W=parseFloat(g.style.width);S.setHorizontalPosition(s.paddingLeft+W-s.width,s.width),S.setVerticalPosition(V,c)}else{let V=(s.rtl?h-r-1:r)*(c+l)+s.paddingLeft;S.setVerticalPosition(s.paddingTop,s.height),S.setHorizontalPosition(V,c)}S.originX=t,S.originY=i}else S=new Qn(g,d,this.clientLayout,A,w),S.copyFrom(s);S.exclusions=m?[]:n.concat(),S.innerShape=p,w.setContainer(S),(S.vertical?S.height:S.width)>=0?this.layoutColumn(S,o).then(()=>{w.isInvalidated()||w.finish(),S.pageFloatLayoutContext.isInvalidated()&&!a.isInvalidated()?(S.pageFloatLayoutContext.validate(),this.currentLayoutPosition=y.clone(),S.element!==g&&g.removeChild(S.element),T.continueLoop()):T.breakLoop()}):(w.finish(),T.breakLoop())}).then(()=>{b.finish(S)}),b.result()}setPagePageFloatLayoutContextContainer(e,t,i){(t instanceof Vu||t instanceof uo&&!(t instanceof Qi))&&e.setContainer(i)}getRegionPageFloatLayoutContext(e,t,i,n){t instanceof Ci;let s=t.getProp(this,"writing-mode")||null,r=t.getProp(this,"direction")||null;return new Di(e,Ne.REGION,i,n,null,s,r)}layoutFlowColumnsWithBalancing(e,t,i,n,s,r,o,a,h){let l=this.currentLayoutPosition.clone(),c=this.getRegionPageFloatLayoutContext(r,t,o,a),p=!0,d=()=>(this.currentLayoutPosition=l.clone(),this.layoutFlowColumns(e,t,i,n,s,r,c,o,a,h,p).thenAsync(f=>k(f?{columns:f,position:this.currentLayoutPosition}:null)));return d().thenAsync(f=>{if(!f)return k(null);if(h<=1)return k(f.columns);let m=t.getProp(this,"column-fill")||v.balance,g=this.currentLayoutPosition.flowPositions[a],w=om(h,m,d,c,o,f.columns,g);return w?(p=!1,r.lock(),c.lock(),w.balanceColumns(f).thenAsync(y=>(r.unlock(),r.validate(),c.unlock(),this.currentLayoutPosition=y.position,k(y.columns)))):k(f.columns)})}layoutFlowColumns(e,t,i,n,s,r,o,a,h,l,c){let p=F("layoutFlowColumns"),d=this.currentLayoutPosition.clone(),f=t.getPropAsNumber(this,"column-gap"),m=l>1?t.getPropAsNumber(this,"column-width"):a.vertical?a.height:a.width,g=t.getActiveRegions(this),w=t.getProp(this,"shape-inside"),y=Ml(w,0,0,a.width,a.height,this),b=new gw(h,this,this.viewport,this.styler,g,this.xmldoc,this.faces,this.style.footnoteProps,this,e,this.customRenderer,this.fallbackMap,this.documentURLTransformer),S=0,T=null,A=[];return p.loopWithFrame(_=>{this.createAndLayoutColumn(t,i,n,s,a,S++,h,o,l,f,m,y,b,c).then(V=>{if(r.isInvalidated()){A=null,_.breakLoop();return}if((V.pageBreakType&&V.pageBreakType!=="column"||S===l)&&!o.isInvalidated()&&o.finish(),o.isInvalidated()){S=0,this.currentLayoutPosition=d.clone(),o.validate(),o.isLocked()?(A=null,_.breakLoop()):_.continueLoop();return}T=V,A[S-1]=T,T.pageBreakType&&T.pageBreakType!="column"&&(S=l,T.pageBreakType!="region"&&(this.pageBreaks[h]=!0)),S<l?_.continueLoop():_.breakLoop()})}).then(()=>{p.finish(A)}),p.result()}layoutContainer(e,t,i,n,s,r,o){t.reset();let a=t.getProp(this,"enabled");if(a&&a!==v._true)return k(!0);let h=F("layoutContainer"),l=t.getProp(this,"wrap-flow")===v.auto,c=t.getProp(this,"flow-from"),p=this.viewport.document.createElement("div");p.role=t instanceof Hu?"complementary":"presentation";let d=t.getProp(this,"position");N(p,"position",d?d.name:"absolute");let f=t instanceof Qi;t instanceof Ci?i.appendChild(p):i.insertBefore(p,i.firstChild);let m=new bh(p);m.vertical=t.vertical,m.rtl=t.rtl,m.borderBoxSizing=t.borderBoxSizing,m.exclusions=r,t.prepareContainer(this,m,e,this.faces,this.clientLayout),t instanceof Qi&&(m.width<=0||m.height<=0)&&H.warn("Negative or zero page area size"),m.originX=n,m.originY=s,n+=m.left+m.marginLeft+m.borderLeft,s+=m.top+m.marginTop+m.borderTop,this.setPagePageFloatLayoutContextContainer(o,t,m);let g,w=!1;if(!c||!c.isIdent()){let y=t.getProp(this,"content");if(y instanceof z&&y.expr instanceof De&&y.expr.str.startsWith("running-element-"))y.visit(new Zn(p,this,y,this.counterStore.getExprContentListener()));else if(y&&Vt(y)){let b="span";y.url&&(b="img");let S=this.viewport.document.createElement(b);y.visit(new Zn(S,this,y,this.counterStore.getExprContentListener())),p.appendChild(S),b=="img"&&t.transferSingleUriContentProps(this,S,this.faces),t.transferContentProps(this,m,e,this.faces),b=="span"&&ug(S,t.getProp(this,"text-autospace"),t.getProp(this,"text-spacing-trim"),t.getProp(this,"hanging-punctuation"),this.lang,t.vertical)}else t.suppressEmptyBoxGeneration&&(i.removeChild(p),w=!0);w||t.finishContainer(this,m,e,null,1,this.clientLayout,this.faces),g=k(!0)}else if(this.pageBreaks[c.toString()])o.isInvalidated()||t.finishContainer(this,m,e,null,1,this.clientLayout,this.faces),g=k(!0);else{let y=F("layoutContainer.inner"),b=c.toString(),S=t.getPropAsNumber(this,"column-count");this.layoutFlowColumnsWithBalancing(e,t,n,s,r,o,m,b,S).then(T=>{if(!o.isInvalidated()){let A=T[0];A.element===p&&(m=A),m.computedBlockSize=Math.max.apply(null,T.map(V=>V.computedBlockSize)),t.finishContainer(this,m,e,A,S,this.clientLayout,this.faces);let _=this.currentLayoutPosition.flowPositions[b];_&&_.breakAfter==="region"&&(_.breakAfter=null)}y.finish(!0)}),g=y.result()}return g.then(()=>{if(o.isInvalidated()){h.finish(!0);return}if(!t.isAutoHeight||Math.floor(m.computedBlockSize)>0){if(!w&&!l){let b=t.getProp(this,"shape-outside"),S=m.getOuterShape(b,this);r.push(S)}}else if(t.children.length==0){i.removeChild(p),h.finish(!0);return}let y=f?0:t.children.length-1;h.loop(()=>{for(;y>=0&&y<t.children.length;){let b=t.children[f?y++:y--],S=this.layoutContainer(e,b,p,n,s,r,o);if(S.isPending())return S.thenAsync(()=>k(!o.isInvalidated()));if(o.isInvalidated())break}return k(!1)}).then(()=>{h.finish(!0)})}),h.result()}processLinger(){let e=this.currentLayoutPosition.page;for(let t in this.currentLayoutPosition.flowPositions){let i=this.currentLayoutPosition.flowPositions[t];for(let n=i.positions.length-1;n>=0;n--){let s=i.positions[n];s.flowChunk.startPage>=0&&s.flowChunk.startPage+s.flowChunk.linger-1<=e&&i.positions.splice(n,1)}}}initLingering(){let e=this.currentLayoutPosition.page;for(let t in this.currentLayoutPosition.flowPositions){let i=this.currentLayoutPosition.flowPositions[t];for(let n=i.positions.length-1;n>=0;n--){let s=i.positions[n];s.flowChunk.startPage<0&&s.flowChunk.startOffset<this.lookupOffset&&(s.flowChunk.startPage=e)}}}noMorePrimaryFlows(e){for(let t in this.primaryFlows){let i=e.flowPositions[t];if(i&&i.positions.length>0)return!1}return!0}layoutNextPage(e,t){var i;let n=e.container===e.bleedBox;this.pageBreaks={},t?(this.currentLayoutPosition=t.clone(),this.styler.replayFlowElementsFromOffset(t.highestSeenOffset)):(this.currentLayoutPosition=new Hp,this.styler.replayFlowElementsFromOffset(-1)),this.lang&&e.bleedBox.setAttribute("lang",this.lang),t=this.currentLayoutPosition;let s=1e4;if(t.page>s)throw new Error(`Too many pages generated (over ${s} pages)`);let r=t.startSideOfFlow("body");t.isBlankPage=sn(r)&&this.matchPageSide(r),e.isBlankPage=t.isBlankPage,t.page++,e.pageType==null&&(e.pageType=(i=e.isBlankPage?this.styler.cascade.previousPageType:this.styler.cascade.currentPageType)!=null?i:"",this.styler.cascade.previousPageType=this.styler.cascade.currentPageType),this.clearScope(this.style.pageScope),this.layoutPositionAtPageStart=t.clone();let o=n?{}:this.pageManager.getCascadedPageStyle(e.pageType);if(this.styler.cascade.applyVarFilter([o],this.styler,null),this.styler.cascade.applyCalcFilter(o,this.styler.context),!n){let f=new Ae(this.style.pageScope,"left-page");e.side=f.evaluate(this)?"left":"right",e.container.setAttribute("data-vivliostyle-page-side",e.side)}let a=this.selectPageMaster(o);if(!a)return k(null);let h=0;if(!n){e.setAutoPageWidth(a.pageBox.specified.width.value===gn),e.setAutoPageHeight(a.pageBox.specified.height.value===mn),this.counterStore.setCurrentPage(e),this.counterStore.updatePageCounters(o,this);let f=Ba(ts(o),this);this.setPageSizeAndBleed(f,e),Hm(o,f,e,this),h=f.bleedOffset+f.bleed}let l=!n&&a.getProp(this,"writing-mode")||v.horizontal_tb;this.pageVertical=l!=v.horizontal_tb;let c=a.getProp(this,"direction")||v.ltr,p=new Di(this.rootPageFloatLayoutContext,Ne.PAGE,null,null,null,l,c),d=F("layoutNextPage");return d.loopWithFrame(f=>{this.layoutContainer(e,a,e.bleedBox,h,h,[],p).then(()=>{p.isInvalidated()||p.finish(),p.isInvalidated()?(this.currentLayoutPosition=this.layoutPositionAtPageStart.clone(),p.validate(),f.continueLoop()):f.breakLoop()})}).then(()=>{a.adjustPageLayout(this,e,this.clientLayout),n||(this.processLinger(),t=this.currentLayoutPosition,Object.keys(t.flowPositions).forEach(m=>{let g=t.flowPositions[m],w=g.breakAfter;w&&(w==="page"||!this.matchPageSide(w))&&(g.breakAfter=null)})),this.currentLayoutPosition=this.layoutPositionAtPageStart=null,t.highestSeenOffset=this.styler.getReachedOffset();let f=this.style.store.getTriggersForDoc(this.xmldoc);e.finish(f,this.clientLayout),this.noMorePrimaryFlows(t)&&(t=null),d.finish(t)}),d.result()}setPageSizeAndBleed(e,t){this.actualPageWidth=e.pageWidth,this.actualPageHeight=e.pageHeight,this.pageSheetWidth=e.pageWidth+e.cropOffset*2,this.pageSheetHeight=e.pageHeight+e.cropOffset*2,t.container.style.width=`${this.pageSheetWidth}px`,t.container.style.height=`${this.pageSheetHeight}px`,t.bleedBox.style.left=`${e.bleedOffset}px`,t.bleedBox.style.width=`${e.pageWidth}px`,t.bleedBox.style.top=`${e.bleedOffset}px`,t.bleedBox.style.height=`${e.pageHeight}px`,t.bleedBox.style.padding=`${e.bleed}px`}},Ew=class Ir extends rn{constructor(t,i,n,s){super(t.rootScope,t,i,n,s,t.validatorSet,!n),this.masterHandler=t,u(this,"insideRegion",!1)}startPageTemplateRule(){}startPageMasterRule(t,i,n){let s=new Iu(this.masterHandler.pageScope,t,i,n,this.masterHandler.rootBox,this.condition,this.owner.getBaseSpecificity());this.masterHandler.pushHandler(new Om(s.scope,this.masterHandler,s,this.validatorSet))}startWhenRule(t){let i=t.expr;this.condition!=null&&(i=ht(this.scope,this.condition,i)),this.masterHandler.pushHandler(new Ir(this.masterHandler,i,this,this.regionId))}startDefineRule(){this.masterHandler.pushHandler(new ig(this.scope,this.owner))}startFontFaceRule(){let t={};this.masterHandler.fontFaces.push({properties:t,condition:this.condition}),this.masterHandler.pushHandler(new An(this.scope,this.owner,null,t,this.masterHandler.validatorSet,"font-face"))}startFlowRule(t){let i=this.masterHandler.flowProps[t];i||(i={},this.masterHandler.flowProps[t]=i),this.masterHandler.pushHandler(new An(this.scope,this.owner,null,i,this.masterHandler.validatorSet))}startViewportRule(){let t={};this.masterHandler.viewportProps.push(t),this.masterHandler.pushHandler(new An(this.scope,this.owner,this.condition,t,this.masterHandler.validatorSet))}startFootnoteRule(t){let i=this.masterHandler.footnoteProps;if(t){let n=cs(i,"_pseudos");i=n[t],i||(i={},n[t]=i)}this.masterHandler.pushHandler(new An(this.scope,this.owner,null,i,this.masterHandler.validatorSet))}startRegionRule(){this.insideRegion=!0,this.startSelectorRule()}startPageRule(){let t=new rw(this.masterHandler.pageScope,this.masterHandler,this,this.validatorSet,this.masterHandler.pageProps);this.masterHandler.pushHandler(t),t.startPageRule()}startRuleBody(){if(rn.prototype.startRuleBody.call(this),this.insideRegion){this.insideRegion=!1;let t=`R${this.masterHandler.regionCount++}`;this.special("region-id",B(t)),this.endRule();let i=new Ir(this.masterHandler,this.condition,this,t);this.masterHandler.pushHandler(i),i.startRuleBody()}}},qu=class extends up{constructor(e){super(),this.validatorSet=e,u(this,"rootScope"),u(this,"pageScope"),u(this,"rootBox"),u(this,"cascadeParserHandler"),u(this,"regionCount",0),u(this,"fontFaces",[]),u(this,"footnoteProps",{}),u(this,"flowProps",{}),u(this,"viewportProps",[]),u(this,"pageProps",{}),this.rootScope=new Vs(null),this.pageScope=new Vs(this.rootScope),this.rootBox=new Tm(this.rootScope),this.cascadeParserHandler=new Ew(this,null,null,null),this.slave=this.cascadeParserHandler}};function kw(e,t){return t.parseOPSResource(e)}var Nw=class extends Vr{constructor(e){super(kw,"document"),this.fontDeobfuscator=e,u(this,"styleByKey",{}),u(this,"styleFetcherByKey",{}),u(this,"styleByDocURL",{}),u(this,"triggersByDocURL",{}),u(this,"validatorSet",null),u(this,"styleSheets",[]),u(this,"triggerSingleDocumentPreprocessing",!1)}init(e,t){this.setStyleSheets(e,t);let i=F("OPSDocStore.init");return this.validatorSet=Pu(),Sw().then(()=>{this.triggerSingleDocumentPreprocessing=!0,i.finish(!0)}),i.result()}getStyleForDoc(e){return this.styleByDocURL[e.url]}getTriggersForDoc(e){return this.triggersByDocURL[e.url]}setStyleSheets(e,t){this.clearStyleSheets(),e&&e.forEach(this.addAuthorStyleSheet,this),t&&t.forEach(this.addUserStyleSheet,this)}clearStyleSheets(){this.styleSheets.splice(0)}addAuthorStyleSheet(e){let t=e.url;t&&(t=Pe(nn(t),vi)),this.styleSheets.push({url:t,text:e.text,flavor:"Author",classes:null,media:null})}addUserStyleSheet(e){let t=e.url;t&&(t=Pe(nn(t),vi)),this.styleSheets.push({url:t,text:e.text,flavor:"User",classes:null,media:null})}parseOPSResource(e){let t=F("OPSDocStore.load"),i=e.url,n=i.endsWith("?viv-toc-box");return ju(e,this).then(s=>{var r;if(!s){t.finish(null);return}if(this.triggerSingleDocumentPreprocessing){let d=ft("PREPROCESS_SINGLE_DOCUMENT");for(let f=0;f<d.length;f++)try{d[f](s.document)}catch(m){H.warn("Error during single document preprocessing:",m)}}let o=[],a=s.document.getElementsByTagNameNS("http://www.idpf.org/2007/ops","trigger");for(let d=0;d<a.length;d++){let f=a[d],m=f.getAttributeNS("http://www.w3.org/2001/xml-events","observer"),g=f.getAttributeNS("http://www.w3.org/2001/xml-events","event"),w=f.getAttribute("action"),y=f.getAttribute("ref");m&&g&&w&&y&&o.push({observer:m,event:g,action:w,ref:y})}this.triggersByDocURL[i]=o;let h=[];if(h.push({url:Pe("user-agent-page.css",Kt),text:jl,flavor:"UA",classes:null,media:null}),n)h.push({url:Pe("user-agent-toc.css",Kt),text:ql,flavor:"UA",classes:null,media:null});else{let d=s.document.querySelectorAll("style, link, meta");for(let f of d){let m=f.namespaceURI,g=f.localName;if(m=="http://www.w3.org/1999/xhtml")if(g=="style"){let w=f.getAttribute("class"),y=f.getAttribute("media"),b=f.getAttribute("title");h.push({url:i,text:f.textContent,flavor:"Author",classes:b?w:null,media:y})}else if(g=="link"){let w=f.getAttribute("href"),y=(r=f.getAttribute("rel"))==null?void 0:r.split(/\s+/),b=f.getAttribute("class"),S=f.getAttribute("media");if(w&&y!=null&&y.includes("stylesheet")&&(!y.includes("alternate")||b)){let T=Pe(w,i),A=f.getAttribute("title");h.push({url:T,text:null,classes:A?b:null,media:S,flavor:"Author"})}}else g=="meta"&&f.getAttribute("name")=="viewport"&&h.push({url:i,text:this.processViewportMeta(f),flavor:"Author",classes:null,media:null})}for(let f=0;f<this.styleSheets.length;f++)h.push(this.styleSheets[f])}let l="";for(let d=0;d<h.length;d++)l+=h[d].url,l+="^",h[d].text&&(l+=h[d].text),l+="^";let c=this.styleByKey[l];if(c){this.styleByDocURL[i]=c,t.finish(s);return}let p=this.styleFetcherByKey[l];p||(p=new wn(()=>{let d=F("fetchStylesheet"),f=0,m=new qu(this.validatorSet);return d.loop(()=>{if(f<h.length){let g=h[f++];return m.startStylesheet(g.flavor),g.text!==null?Ur(g.text,m,g.url,g.classes,g.media).thenReturn(!0):th(g.url,m,g.classes,g.media)}return k(!1)}).then(()=>{let g=m.cascadeParserHandler.finish();c=new Cw(this,m.rootScope,m.pageScope,g,m.rootBox,m.fontFaces,m.footnoteProps,m.flowProps,m.viewportProps,m.pageProps),this.styleByKey[l]=c,delete this.styleFetcherByKey[l],d.finish(c)}),d.result()},`FetchStylesheet ${i}`),this.styleFetcherByKey[l]=p,p.start()),p.get().then(d=>{this.styleByDocURL[i]=d,t.finish(s)})}),t.result()}processViewportMeta(e){return""}},en="\u25B8",Da="\u25BE",Pw="\u25B9";function wo(e){let t=Array.from(e.querySelectorAll("nav[*|type],nav[epub\\:type]"));if(t.length>0||(t=Array.from(e.querySelectorAll("[role=doc-toc]")),t.length>0))return t;let i="nav,.toc,#toc,#table-of-contents,#contents,[role=directory]";for(let n of e.querySelectorAll(i)){if(t.find(r=>r.contains(n)))continue;let s=n;/^h[1-6]$/.test(s.localName)&&(s.previousElementSibling?s=s.nextElementSibling:s=s.parentElement),s&&s.querySelector("li a[href]")&&t.push(s)}return t}function Tw(e){let t=wo(e),i=[];for(let n of t)for(let s of n.querySelectorAll("li a[href]"))i.push(s);return i}var Iw=class{constructor(e,t,i,n,s,r,o,a,h,l){this.store=e,this.url=t,this.lang=i,this.clientLayout=n,this.fontMapper=s,this.rendererFactory=o,this.fallbackMap=a,this.documentURLTransformer=h,this.counterStore=l,u(this,"pref"),u(this,"page",null),u(this,"instance",null),this.pref=ul(r),this.pref.spreadView=!1}setAutoHeight(e,t){if(t--!=0){for(let i=e.firstChild;i;i=i.nextSibling)if(i.nodeType==1){let n=i;At(n,"height","auto")!="auto"&&(N(n,"height","auto"),this.setAutoHeight(n,t)),At(n,"position","static")=="absolute"&&(N(n,"position","relative"),this.setAutoHeight(n,t))}}}makeCustomRenderer(e){let t=this.rendererFactory.makeCustomRenderer(e);return(i,n,s)=>{let r=s.behavior;if(r)switch(r.toString()){case"toc-node-anchor":s.color=v.inherit,s["text-decoration"]=v.none;break;case"toc-node":s.display=v.block,s.margin=ve,s.padding=ve,s["padding-inline-start"]=new I(1.25,"em");break;case"toc-node-first-child":s.display=v.inline_block,s.margin=new I(.2,"em"),s["vertical-align"]=v.top,s.color=v.inherit,s["text-decoration"]=v.none;break;case"toc-container":s.padding=ve;break}if(!r||r.toString()!="toc-node"&&r.toString()!="toc-container")return t(i,n,s);let o=i.firstChild;o&&o.nodeType!==1&&Ve(o)&&i.replaceChild(i.ownerDocument.createComment(o.textContent),o);let a=n.getAttribute("data-adapt-class");if(a=="toc-node"){let l=n.firstChild;l.textContent!=en&&(l.textContent=en,N(l,"cursor","pointer"),l.addEventListener("click",Rw,!1),l.setAttribute("role","button"),l.setAttribute("aria-expanded","false"),n.setAttribute("aria-expanded","false"),n.style.height!=="0px"&&(l.tabIndex=0))}let h=n.ownerDocument.createElement("div");if(h.setAttribute("data-adapt-process-children","true"),r.toString()=="toc-node"){let l=n.ownerDocument.createElement("div");if(l.textContent=Pw,N(l,"margin","0.2em 0 0 -1em"),N(l,"margin-inline-start","-1em"),N(l,"margin-inline-end","0"),N(l,"display","inline-block"),N(l,"width","1em"),N(l,"text-align","center"),N(l,"vertical-align","top"),N(l,"cursor","default"),N(l,"font-family","Menlo,sans-serif"),h.appendChild(l),N(h,"overflow","hidden"),h.setAttribute("data-adapt-class","toc-node"),h.setAttribute("role","treeitem"),a=="toc-node"||a=="toc-container"){N(h,"height","0px");let c=i.firstElementChild;c&&c.localName==="a"&&(c.tabIndex=-1)}else n.setAttribute("role","tree")}else a=="toc-node"&&(h.setAttribute("data-adapt-class","toc-container"),h.setAttribute("role","group"),h.setAttribute("aria-hidden","true"));return k(h)}}showTOC(e,t,i,n,s){if(this.page)return k(this.page);let r=F("showTOC"),o=new uh(e,e);this.page=o;let a=St(this.url)+"?viv-toc-box";return this.store.load(a).then(h=>{for(let f of wo(h.document))f.setAttribute("data-vivliostyle-role","doc-toc");let l=this.store.getStyleForDoc(h),c=l.sizeViewport(i,1e5,s);t=new is(t.window,c.fontSize,0,t.root,c.width,c.height);let p=this.makeCustomRenderer(h),d=new mo(l,h,this.lang,t,this.clientLayout,this.fontMapper,p,this.fallbackMap,0,this.documentURLTransformer,this.counterStore);this.instance=d,d.pref=this.pref,d.init().then(()=>{d.layoutNextPage(o,null).then(()=>{this.setAutoHeight(e,2),r.finish(o)})})}),r.result()}hideTOC(){this.page&&(this.page.container.style.visibility="hidden",this.page.container.setAttribute("aria-hidden","true"))}isTOCVisible(){return!!this.page&&this.page.container.style.visibility==="visible"}getTOC(){if(!this.page)return[];function e(n){if(!n)return[];let s=n.querySelectorAll(":scope > [role=treeitem] > a[href]");return Array.from(s).map(t)}function t(n){let s=new URL(n.href),[,r]=s.hash.match(/^#?(.*)$/),o=n.innerText,a=n.parentElement.querySelector("[role=group]"),h=e(a);return{id:r,title:o,children:h}}let i=this.page.container.querySelector("[role=tree]");return e(i)}};function Rw(e){let t=e.target,i=t.textContent==en;t.textContent=i?Da:en;let n=t.parentNode;t.setAttribute("aria-expanded",i?"true":"false"),n.setAttribute("aria-expanded",i?"true":"false");let s=n.firstChild;for(;s;){if(s.nodeType===1){let r=s,o=r.getAttribute("data-adapt-class");if(o==="toc-container"){if(r.setAttribute("aria-hidden",i?"false":"true"),r.firstChild){s=r.firstChild;continue}}else if(o==="toc-node"&&(r.style.height=i?"auto":"0px",r.children.length>=2&&(r.children[1].tabIndex=i?0:-1),r.children.length>=3&&(r.children[0].tabIndex=i?0:-1,!i))){let a=r.children[0];if(a.textContent==Da){a.textContent=en,a.setAttribute("aria-expanded","false"),r.setAttribute("aria-expanded","false"),s=r.children[2];continue}}}for(;!s.nextSibling&&s.parentNode!==n;)s=s.parentNode;s=s.nextSibling}e.stopPropagation()}var Va=class extends Nw{constructor(){super(null),u(this,"plainXMLStore"),u(this,"jsonStore"),u(this,"opfByURL",{}),u(this,"primaryOPFByEPubURL",{}),u(this,"deobfuscators",{}),u(this,"documents",{}),this.fontDeobfuscator=this.makeDeobfuscatorFactory(),this.plainXMLStore=vw(),this.jsonStore=op()}makeDeobfuscatorFactory(){return e=>this.deobfuscators[e]}loadAsPlainXML(e,t,i){return this.plainXMLStore.load(e,t,i)}startLoadingAsPlainXML(e){this.plainXMLStore.fetch(e)}loadAsJSON(e,t,i){return this.jsonStore.load(e,t,i)}loadPubDoc(e){let t=F("loadPubDoc");return hs(e,null,"HEAD").then(i=>{if(i.status>=400)this.loadEPUBDoc(e).then(n=>{if(n){t.finish(n);return}H.error(`Failed to fetch a source document from ${e} (${i.status}${i.statusText?" "+i.statusText:""})`),t.finish(null)});else if(!i.status&&!i.responseXML&&!i.responseText&&!i.responseBlob&&!i.contentType&&/\/[^/.]+(?:[#?]|$)/.test(e)&&(e=e.replace(/([#?]|$)/,"/$1")),i.contentType=="application/oebps-package+xml"||/\.opf(?:[#?]|$)/.test(e)){let[,n,s]=e.match(/^((?:.*\/)?)([^/]*)$/);this.loadOPF(n,s).thenFinish(t)}else i.contentType=="application/ld+json"||i.contentType=="application/webpub+json"||i.contentType=="application/audiobook+json"||i.contentType=="application/json"||/\.json(?:ld)?(?:[#?]|$)/.test(e)?this.loadAsJSON(e,!0).then(n=>{if(!n){this.reportLoadError(e),t.finish(null);return}let s=new Un(this,e);s.initWithWebPubManifest(n,void 0,e).then(()=>{t.finish(s)})}):this.loadWebPub(e).then(n=>{if(n){t.finish(n);return}this.loadEPUBDoc(e).then(s=>{if(s){t.finish(s);return}H.error(`Failed to load ${e}.`),t.finish(null)})})}),t.result()}loadEPUBDoc(e){let t=F("loadEPUBDoc");e.endsWith("/")||(e=e+"/"),this.startLoadingAsPlainXML(e+"META-INF/encryption.xml");let i=e+"META-INF/container.xml";return this.loadAsPlainXML(i).then(n=>{if(n){let s=n.doc().child("container").child("rootfiles").child("rootfile").attribute("full-path");for(let r of s)if(r){this.loadOPF(e,r).thenFinish(t);return}}t.finish(null)}),t.result()}loadOPF(e,t){let i=e+t,n=this.opfByURL[i];if(n)return k(n);let s=F("loadOPF");return this.loadAsPlainXML(i,!0,`Failed to fetch EPUB OPF ${i}`).then(r=>{r?(n=new Un(this,e),this.opfByURL[i]=n,this.primaryOPFByEPubURL[e]=n,this.plainXMLStore.resources[e+"META-INF/container.xml"]?this.loadAsPlainXML(e+"META-INF/encryption.xml").then(o=>{n.initWithXMLDoc(r,o).then(()=>{s.finish(n)})}):n.initWithXMLDoc(r,null).then(()=>{s.finish(n)})):this.reportLoadError(i)}),s.result()}loadWebPub(e){let t=F("loadWebPub");return this.load(e).then(i=>{if(!i)this.reportLoadError(e);else if(i.document.querySelector("a[href='META-INF/'],a[href$='/META-INF/']"))t.finish(null);else{let n=i.document,s=new Un(this,e),r=n.querySelector("link[rel='publication'],link[rel='manifest'][type='application/webpub+json']");if(r){let o=r.getAttribute("href");if(/^#/.test(o)){let a=Ar(n.getElementById(o.substr(1)).textContent);s.initWithWebPubManifest(a,n).then(()=>{t.finish(s)})}else{let a=Pe(r.getAttribute("href"),e);this.loadAsJSON(a,!0,`Failed to fetch Publication Manifest ${a}`).then(h=>{s.initWithWebPubManifest(h,n,a).then(()=>{t.finish(s)})})}}else s.initWithWebPubManifest({},n).then(()=>{s.toc&&s.toc.src===i.url&&wo(n).length===0&&(s.toc=null),t.finish(s)})}}),t.result()}addDocument(e,t){let i=F("EPUBDocStore.load"),n=St(e);return(this.documents[n]=this.parseOPSResource({status:200,statusText:"",url:n,contentType:t.contentType,responseText:null,responseXML:t,responseBlob:null})).thenFinish(i),i.result()}reportLoadError(e){let t=n=>n.replace(/([^:/?#]|^)[/?#].*/,"$1"),i=()=>{let n=t(e);return!(n===t(vi)||Object.keys(this.resources).find(s=>this.resources[s]&&t(s)===n)||!/^https?:?\/\/[^/]/.test(e)||/\.(xhtml|xht|xml|opf)$/i.test(e))};e.startsWith("data:")?H.error(`Failed to load ${e}. Invalid data.`):e.startsWith("http:")&&vi.startsWith("https:")?H.error(`Failed to load ${e}. Mixed Content ("http:" content on "https:" context) is not allowed.`):i()?H.error(`Failed to load ${e}. This may be caused by the server not allowing cross-origin resource sharing (CORS).`):H.error(`Failed to load ${e}. The target resource is invalid.`)}load(e){let t=St(e),i=this.documents[t];if(i)return i.isPending()?i:k(i.get());{let n=F("EPUBDocStore.load");return i=super.load(t,!0,`Failed to fetch a source document from ${t}`),i.then(s=>{s?n.finish(s):this.reportLoadError(t)}),n.result()}}processViewportMeta(e){let t=e.getAttribute("content");if(!t)return"";let i={},n;for(;(n=t.match(/^,?\s*([-A-Za-z_.][-A-Za-z_0-9.]*)\s*=\s*([-+A-Za-z_0-9.]*)\s*/))!=null;)t=t.substr(n[0].length),i[n[1]]=n[2];let s=i.width-0,r=i.height-0;if(s&&r){let o=!!Object.values(this.primaryOPFByEPubURL).find(a=>a.prePaginated);return`@-epubx-viewport{width:${s}px;height:${r}px;}`+(o?`@page{size:${s}px ${r}px;margin:0;}`:"@page{margin:0;}")}return""}},Ha=class{constructor(){u(this,"id",null),u(this,"src",""),u(this,"mediaType",null),u(this,"title",null),u(this,"itemRefElement",null),u(this,"spineIndex",-1),u(this,"compressedSize",0),u(this,"compressed",null),u(this,"epage",0),u(this,"epageCount",0),u(this,"startPage",null),u(this,"skipPagesBefore",null),u(this,"itemProperties"),this.itemProperties=Rc}initWithElement(e,t){this.id=e.getAttribute("id"),this.src=Pe(e.getAttribute("href"),t),this.mediaType=e.getAttribute("media-type");let i=e.getAttribute("properties");i&&(this.itemProperties=Mc(i.split(/\s+/)))}initWithParam(e){this.spineIndex=e.index,this.id=`item${e.index+1}`,this.src=e.url,this.startPage=e.startPage,this.skipPagesBefore=e.skipPagesBefore}};function Aw(e){return e.id}function Lw(e){return t=>{let i=F("deobfuscator");return Fw("SHA-1",e).then(n=>{let s=t.slice(0,1040),r=t.slice(1040,t.size);np(s).then(o=>{let a=new DataView(o);for(let h=0;h<a.byteLength;h++){let l=a.getUint8(h);l^=n[h%20],a.setUint8(h,l)}i.finish(Zl([a,r]))})}),i.result()}}function Fw(e,t){let i=F("makeDigest"),n=i.suspend();return window.crypto.subtle.digest(e,new TextEncoder().encode(t)).then(s=>{n.schedule(new Uint8Array(s))}),i.result()}var Ft={dcterms:"http://purl.org/dc/terms/",marc:"http://id.loc.gov/vocabulary/",media:"http://www.idpf.org/epub/vocab/overlays/#",rendition:"http://www.idpf.org/vocab/rendition/#",onix:"http://www.editeur.org/ONIX/book/codelists/current.html#",xsd:"http://www.w3.org/2001/XMLSchema#",opf:"http://www.idpf.org/2007/opf"},$i="http://idpf.org/epub/vocab/package/meta/#",Ie={language:`${Ft.dcterms}language`,title:`${Ft.dcterms}title`,creator:`${Ft.dcterms}creator`,layout:`${Ft.rendition}layout`,titleType:`${$i}title-type`,displaySeq:`${$i}display-seq`,alternateScript:`${$i}alternate-script`,role:`${$i}role`};function Ow(e,t){let i={};return(n,s)=>{var r,o,a,h,l,c;let p,d,f=n.r||i,m=s.r||i;if(e==Ie.title&&(p=((r=f[Ie.titleType])==null?void 0:r[0].v)=="main",d=((o=m[Ie.titleType])==null?void 0:o[0].v)=="main",p!=d))return p?-1:1;let g=parseInt((a=f[Ie.displaySeq])==null?void 0:a[0].v,10);isNaN(g)&&(g=Number.MAX_VALUE);let w=parseInt((h=m[Ie.displaySeq])==null?void 0:h[0].v,10);return isNaN(w)&&(w=Number.MAX_VALUE),g!=w?g-w:e!=Ie.language&&t&&(p=((l=f[Ie.language]||f[Ie.alternateScript])==null?void 0:l[0].v)==t,d=((c=m[Ie.language]||m[Ie.alternateScript])==null?void 0:c[0].v)==t,p!=d)?p?-1:1:n.o-s.o}}function Bw(e,t){let i;if(!t)i=Ft;else{i={};for(let d in Ft)i[d]=Ft[d];let p;for(;(p=t.match(/^\s*([A-Z_a-z\u007F-\uFFFF][-.A-Z_a-z0-9\u007F-\uFFFF]*):\s*(\S+)/))!=null;)t=t.substr(p[0].length),i[p[1]]=p[2]}let n=p=>{if(p){let d=p.match(/^\s*(([^:]*):)?(\S+)\s*$/);if(d){let f=d[2]?i[d[2]]:$i;if(f)return f+d[3]}}return null},s=1,r=e.childElements().forEachNonNull(p=>{if(p.localName=="meta"){let d=n(p.getAttribute("property"));if(d)return{name:d,value:p.textContent,id:p.getAttribute("id"),order:s++,refines:p.getAttribute("refines"),lang:null,scheme:n(p.getAttribute("scheme")),role:null}}else if(p.namespaceURI=="http://purl.org/dc/elements/1.1/")return{name:Ft.dcterms+p.localName,order:s++,lang:p.getAttribute("xml:lang"),value:p.textContent,id:p.getAttribute("id"),refines:null,scheme:null,role:p.getAttribute("role")||p.getAttribute("opf:role")};return null}),o=Ss(r,p=>p.refines),a=p=>zc(p,(d,f)=>d.map(m=>{let g={v:m.value,o:m.order};m.scheme&&(g.s=m.scheme);let w=o[`#${m.id}`]||[];if(w.length||m.lang||m.role){m.lang&&w.push({name:Ie.language,value:m.lang,lang:null,id:null,refines:m.id,scheme:null,order:m.order,role:null}),m.role&&w.push({name:Ie.role,value:m.role,lang:null,id:null,refines:m.id,scheme:null,order:m.order,role:null});let y=Ss(w,b=>b.name);g.r=a(y)}return g})),h=a(Ss(r,p=>p.refines?null:p.name)),l=null;h[Ie.language]&&(l=h[Ie.language][0].v);let c=p=>{for(let d in p){let f=p[d];f.sort(Ow(d,l));for(let m=0;m<f.length;m++){let g=f[m].r;g&&c(g)}}};return c(h),h}function _w(){let e=window.MathJax;return e?e.Hub:null}var Ua={"application/xhtml+xml":!0,"image/jpeg":!0,"image/png":!0,"image/svg+xml":!0,"image/gif":!0,"audio/mp3":!0},Bs="viv-id-",Un=class{constructor(e,t){this.store=e,this.pubURL=t,u(this,"opfXML",null),u(this,"encXML",null),u(this,"items",null),u(this,"spine",null),u(this,"itemMap",null),u(this,"itemMapByPath",null),u(this,"uid",null),u(this,"bindings",{}),u(this,"lang",null),u(this,"epageCount",0),u(this,"prePaginated",!1),u(this,"epageIsRenderedPage",!0),u(this,"epageCountCallback",null),u(this,"metadata",{}),u(this,"toc",null),u(this,"cover",null),u(this,"fallbackMap",{}),u(this,"pageProgression",null),u(this,"documentURLTransformer"),this.documentURLTransformer=this.createDocumentURLTransformer()}createDocumentURLTransformer(){let e=this;class t{transformFragment(n,s){let r=s+(n?`#${n}`:"");return Bs+rl(r,":")}transformURL(n,s){let r=n.match(/^([^#]*)#?(.*)$/);if(r){let o=r[1]||s.replace(/\?viv-toc-box$/,""),a=decodeURIComponent(r[2]);if(o&&e.spine.some(h=>h.src===o))return`#${this.transformFragment(a,o)}`}return n}restoreURL(n){n.charAt(0)==="#"&&(n=n.substring(1)),n.indexOf(Bs)===0&&(n=n.substring(Bs.length));let s=_c(n,":").match(/^([^#]*)#?(.*)$/);return s?[s[1],s[2]]:[]}}return new t}getMetadata(){return this.metadata}getPathFromURL(e){if(e.startsWith("data:"))return e===this.pubURL?"":e;if(this.pubURL){let t=Pe("",this.pubURL);return e===t||e+"/"===t?"":(t.charAt(t.length-1)!="/"&&(t+="/"),e.substr(0,t.length)==t?decodeURIComponent(e.substr(t.length)):null)}else return e}initWithXMLDoc(e,t){this.opfXML=e,this.encXML=t;let i=e.doc().child("package"),n=i.attribute("unique-identifier")[0];if(n){let h=e.getElement(`${e.url}#${n}`);h&&(this.uid=h.textContent.replace(/[ \n\r\t]/g,""))}let s={};this.items=i.child("manifest").child("item").asArray().map(h=>{let l=new Ha,c=h;l.initWithElement(c,e.url);let p=c.getAttribute("fallback");return p&&!Ua[l.mediaType]&&(s[l.src]=p),!this.toc&&l.itemProperties.nav&&(this.toc=l),!this.cover&&l.itemProperties["cover-image"]&&(this.cover=l),l}),this.itemMap=Po(this.items,Aw),this.itemMapByPath=Po(this.items,h=>this.getPathFromURL(h.src));for(let h in s){let l=h;for(;;){let c=this.itemMap[s[l]];if(!c)break;if(Ua[c.mediaType]){this.fallbackMap[h]=c.src;break}l=c.src}}this.spine=i.child("spine").child("itemref").asArray().map((h,l)=>{let c=h,p=c.getAttribute("idref"),d=this.itemMap[p];return d&&(d.itemRefElement=c,d.spineIndex=l),d});let r=i.child("spine").attribute("page-progression-direction")[0];r&&(this.pageProgression=Ka(r));let o=t?t.doc().child("encryption").child("EncryptedData").predicate(za.withChild("EncryptionMethod",za.withAttribute("Algorithm","http://www.idpf.org/2008/embedding"))).child("CipherData").child("CipherReference").attribute("URI"):[],a=i.child("bindings").child("mediaType").asArray();for(let h=0;h<a.length;h++){let l=a[h].getAttribute("handler"),c=a[h].getAttribute("media-type");c&&l&&this.itemMap[l]&&(this.bindings[c]=this.itemMap[l].src)}if(this.metadata=Bw(i.child("metadata"),i.attribute("prefix")[0]),this.metadata[Ie.language]&&(this.lang=this.metadata[Ie.language][0].v),this.metadata[Ie.layout]&&(this.prePaginated=this.metadata[Ie.layout][0].v==="pre-paginated"),o.length>0&&this.uid){let h=Lw(this.uid);for(let l=0;l<o.length;l++)this.store.deobfuscators[this.pubURL+o[l]]=h}return this.prePaginated&&this.assignAutoPages(),k(!0)}assignAutoPages(){let e=0;for(let t of this.spine){let i=this.prePaginated?1:Math.ceil(t.compressedSize/1024);t.epage=e,t.epageCount=i,e+=i}this.epageCount=e,this.epageCountCallback&&this.epageCountCallback(this.epageCount)}setEPageCountMode(e){this.epageIsRenderedPage=e||this.prePaginated}countEPages(e){if(this.epageCountCallback=e,this.epageIsRenderedPage)return this.prePaginated&&this.epageCount==0&&this.assignAutoPages(),k(!0);let t=0,i=0,n=F("countEPages");return n.loopWithFrame(s=>{if(i===this.spine.length){s.breakLoop();return}let r=this.spine[i++];r.epage=t,this.store.load(r.src).then(o=>{let a=1800,h=o.lang||this.lang;h&&h.match(/^(ja|ko|zh)/)&&(a/=3),r.epageCount=Math.ceil(o.getTotalOffset()/a),t+=r.epageCount,this.epageCount=t,this.epageCountCallback&&this.epageCountCallback(this.epageCount),s.continueLoop()})}).thenFinish(n),n.result()}initWithChapters(e,t){this.itemMap={},this.itemMapByPath={},this.items=[],this.spine=this.items;let i=this.opfXML=new Wu(null,"",new DOMParser().parseFromString("<spine></spine>","text/xml"));return e.forEach(n=>{let s=new Ha;s.initWithParam(n),s.id;let r=i.document.createElement("itemref");r.setAttribute("idref",s.id),i.root.appendChild(r),s.itemRefElement=r,this.itemMap[s.id]=s;let o=this.getPathFromURL(n.url);o==null&&(o=n.url),this.itemMapByPath[o]=s,this.items.push(s)}),t?this.store.addDocument(e[0].url,t):k(null)}initWithWebPubManifest(e,t,i){var n,s,r,o;e.readingProgression&&(this.pageProgression=e.readingProgression),this.metadata===void 0&&(this.metadata={});let a=e.name||((n=e.metadata)==null?void 0:n.title)||t?.title;a&&(this.metadata[Ie.title]=(Array.isArray(a)?a:[a]).map(g=>{var w;return{v:(w=g.value)!=null?w:g}}));let h=e.author||e.creator||((s=e.metadata)==null?void 0:s.author)||Array.from((r=t?.querySelectorAll("meta[name='author'], meta[name='DC.Creator']"))!=null?r:[]).map(g=>g.content);h&&h.length!==0&&(this.metadata[Ie.creator]=(Array.isArray(h)?h:[h]).map(g=>{var w;return{v:(w=g.name)!=null?w:g}}));let l=e.inLanguage||((o=e.metadata)==null?void 0:o.language)||t?.documentElement.lang||t?.documentElement.getAttribute("xml:lang");l&&(this.metadata[Ie.language]=(Array.isArray(l)?l:[l]).map(g=>({v:g})));let c=this.getPathFromURL(this.pubURL);if(!e.readingOrder&&t&&c!==null){e.readingOrder=[encodeURI(c)];for(let g of Tw(t)){let w=g.getAttribute("href");if(/^(https?:)?\/\//.test(w)||/\.(jpe?g|png|gif|pdf|svg|mml)([#?]|$)/.test(w))continue;let y=St(Pe(w,this.pubURL)),b=this.getPathFromURL(y),S=b!==null?encodeURI(b):y;e.readingOrder.indexOf(S)==-1&&e.readingOrder.push(S)}}let p=[],d=0,f=-1;[e.readingOrder,e.resources].forEach(g=>{g instanceof Array&&g.forEach(w=>{let y=g===e.readingOrder,b=typeof w=="string"?w:w.url||w.href,S=typeof w=="string"?"":w.encodingFormat||w.href&&w.type||"";if(y||S==="text/html"||S==="application/xhtml+xml"||!S&&w.rel!=="stylesheet"&&/(^|\/)([^/]+\.(x?html|htm|xht)|[^/.]*)([#?]|$)/.test(b)){let T=i?i.replace(/\/[^/]+$/,"/"):this.pubURL,A={url:Pe(nn(b),T),index:d++,startPage:null,skipPagesBefore:null};w.rel==="contents"&&f===-1&&(f=A.index),p.push(A)}})});let m=F("initWithWebPubManifest");return this.initWithChapters(p).then(()=>{var g,w;f!==-1&&(this.toc=this.items[f]),this.toc||(this.toc=i?(g=this.items)==null?void 0:g[0]:this.itemMapByPath[c]);let y=(w=e.readingOrder)==null?void 0:w.length;y&&y<this.items.length&&this.items.splice(y),m.finish(!0)}),m.result()}getCFI(e,t){let i=this.spine[e],n=F("getCFI");return this.store.load(i.src).then(s=>{let r=s.getNodeByOffset(t),o=null;if(r){let a=s.getNodeOffset(r,0,!1),h=t-a,l=new Fo;l.prependPathFromNode(r,h,!1,null),i.itemRefElement&&l.prependPathFromNode(i.itemRefElement,0,!1,null),o=l.toString()}n.finish(o)}),n.result()}resolveFragment(e){return yi("resolveFragment",t=>{if(!e){t.finish(null);return}let i=new Fo;i.fromString(e);let n;if(this.opfXML){let s=i.navigate(this.opfXML.document);if(s.node.nodeType!=1||s.after||!s.ref){t.finish(null);return}let r=s.node,o=r.getAttribute("idref");if(r.localName!="itemref"||!o||!this.itemMap[o]){t.finish(null);return}n=this.itemMap[o],i=s.ref}else n=this.spine[0];this.store.load(n.src).then(s=>{let r=i.navigate(s.document),o=s.getNodeOffset(r.node,r.offset,r.after);t.finish({spineIndex:n.spineIndex,offsetInItem:o,pageIndex:-1})})},(t,i)=>{H.warn(i,"Cannot resolve fragment:",e),t.finish(null)})}resolveEPage(e){return yi("resolveEPage",t=>{if(e<=0){t.finish({spineIndex:0,offsetInItem:0,pageIndex:-1});return}if(this.epageIsRenderedPage){let s=this.spine.findIndex(a=>a.epage==0&&a.epageCount==0||a.epage<=e&&a.epage+a.epageCount>e);s==-1&&(s=this.spine.length-1);let r=this.spine[s];(!r||r.epageCount==0)&&(r=this.spine[--s]);let o=Math.floor(e-r.epage);t.finish({spineIndex:s,offsetInItem:-1,pageIndex:o});return}let i=_t(this.spine.length,s=>{let r=this.spine[s];return r.epage+r.epageCount>e});i==this.spine.length&&i--;let n=this.spine[i];this.store.load(n.src).then(s=>{e-=n.epage,e>n.epageCount&&(e=n.epageCount);let r=0;if(e>0){let o=s.getTotalOffset();r=Math.round(o*e/n.epageCount),r==o&&r--}t.finish({spineIndex:i,offsetInItem:r,pageIndex:-1})})},(t,i)=>{H.warn(i,"Cannot resolve epage:",e),t.finish(null)})}getEPageFromPosition(e){let t=this.spine[e.spineIndex];if(this.epageIsRenderedPage){let n=t.epage+e.pageIndex;return k(n)}if(e.offsetInItem<=0)return k(t.epage);let i=F("getEPage");return this.store.load(t.src).then(n=>{let s=n.getTotalOffset(),r=Math.min(s,e.offsetInItem);i.finish(t.epage+r*t.epageCount/s)}),i.result()}},Fn=(e,t)=>({page:e,position:{spineIndex:e.spineIndex,pageIndex:t,offsetInItem:e.offset}}),Mw=class{constructor(e,t,i,n,s){this.opf=e,this.viewport=t,this.fontMapper=i,this.pageSheetSizeReporter=s,u(this,"spineItems",[]),u(this,"spineItemLoadingContinuations",[]),u(this,"pref"),u(this,"clientLayout"),u(this,"counterStore"),u(this,"tocAutohide",!1),u(this,"tocVisible",!1),u(this,"tocView"),this.pref=ul(n),this.clientLayout=new ww(t),this.counterStore=new Nd(e.documentURLTransformer)}getPage(e){let t=this.spineItems[e.spineIndex];return t?t.pages[e.pageIndex]:null}getCurrentPageProgression(e){if(this.opf.pageProgression)return this.opf.pageProgression;{let t=this.spineItems[e?e.spineIndex:0];return t?t.instance.pageProgression:null}}finishPageContainer(e,t,i){t.container.style.display="none",t.container.style.visibility="visible",t.container.style.position="",t.container.style.top="",t.container.style.left="",t.container.setAttribute("data-vivliostyle-page-side",t.side);let n=e.pages[i];if(t.isFirstPage=e.item.spineIndex==0&&i==0,e.pages[i]=t,this.opf.epageIsRenderedPage){if(i==0&&e.item.spineIndex>0){let s=this.opf.spine[e.item.spineIndex-1];e.item.epage=s.epage+s.epageCount}e.item.epageCount=e.pages.length,this.opf.epageCount=this.opf.spine.reduce((s,r)=>s+r.epageCount,0),this.opf.epageCountCallback&&this.opf.epageCountCallback(this.opf.epageCount)}if(n)e.instance.viewport.contentContainer.replaceChild(t.container,n.container),n.dispatchEvent({type:"replaced",target:null,currentTarget:null,preventDefault:null,newPage:t});else{let s=null;if(i>0)s=e.pages[i-1].container.nextElementSibling;else for(let r=e.item.spineIndex+1;r<this.spineItems.length;r++){let o=this.spineItems[r];if(o&&o.pages[0]){s=o.pages[0].container;break}}e.instance.viewport.contentContainer.insertBefore(t.container,s)}this.pageSheetSizeReporter({width:e.instance.pageSheetWidth,height:e.instance.pageSheetHeight},e.instance.pageSheetSize,e.item.spineIndex,e.instance.pageNumberOffset+i)}renderSinglePage(e,t){let i=F("renderSinglePage"),n=e.pages[t?t.page:0],s=this.makePage(e,t);return n&&(s.pageType=n.pageType),e.instance.layoutNextPage(s,t).then(r=>{t=r;let o=t?t.page-1:e.layoutPositions.length-1;this.finishPageContainer(e,s,o),this.counterStore.finishPage(s.spineIndex,o);let a=null;if(t){let h=e.layoutPositions[t.page];e.layoutPositions[t.page]=t,h&&e.pages[t.page]&&(t.isSamePosition(h)||(a=this.renderSinglePage(e,t)))}a||(a=k(!0)),a.then(()=>{let h=this.counterStore.getUnresolvedRefsToPage(s),l=0;i.loopWithFrame(c=>{if(l++,l>h.length){c.breakLoop();return}let p=h[l-1];if(p.refs=p.refs.filter(d=>!d.isResolved()),p.refs.length===0){c.continueLoop();return}this.getPageViewItem(p.spineIndex).then(d=>{if(!d){c.continueLoop();return}let{currentPageType:f,previousPageType:m}=d.instance.styler.cascade,g=d.instance.scopes;d.instance.scopes={},this.counterStore.pushPageCounters(p.pageCounters),this.counterStore.pushReferencesToSolve(p.refs);let w=d.layoutPositions[p.pageIndex];this.renderSinglePage(d,w).then(y=>{d.instance.styler.cascade.currentPageType=f,d.instance.styler.cascade.previousPageType=m,d.instance.scopes=g,this.counterStore.popPageCounters(),this.counterStore.popReferencesToSolve();let b=y.pageAndPosition.position;b.spineIndex===s.spineIndex&&b.pageIndex===o&&(s=y.pageAndPosition.page),c.continueLoop()})})}).then(()=>{s.container.parentElement||(s=e.pages[o]),s.isLastPage=!t&&e.item.spineIndex===this.opf.spine.length-1,s.isLastPage&&(this.viewport,this.counterStore.finishLastPage(this.viewport)),s.container.setAttribute("data-vivliostyle-page-index",o),s.container.setAttribute("data-vivliostyle-spine-index",s.spineIndex),i.finish({pageAndPosition:Fn(s,o),nextLayoutPosition:t})})})}),i.result()}normalizeSeekPosition(e,t){let i=e.pageIndex,n=-1;if(i<0){n=e.offsetInItem;let s=_t(t.layoutPositions.length,r=>t.instance.getPosition(t.layoutPositions[r],!0)>n);s===t.layoutPositions.length?t.complete?i=t.layoutPositions.length-1:i=Number.POSITIVE_INFINITY:i=s-1}else i===Number.POSITIVE_INFINITY&&e.offsetInItem!==-1&&(n=e.offsetInItem);return{spineIndex:e.spineIndex,pageIndex:i,offsetInItem:n}}findPage(e,t){let i=F("findPage");return this.getPageViewItem(e.spineIndex).then(n=>{if(!n){i.finish(null);return}let s=null,r;i.loopWithFrame(o=>{let a=this.normalizeSeekPosition(e,n);r=a.pageIndex,s=n.pages[r],s?o.breakLoop():n.complete?(r=n.layoutPositions.length-1,s=n.pages[r],o.breakLoop()):t?this.renderPage(a).then(h=>{h&&(s=h.page,r=h.position.pageIndex),o.breakLoop()}):i.sleep(100).then(()=>{o.continueLoop()})}).then(()=>{i.finish(Fn(s,r))})}),i.result()}renderPage(e){let t=F("renderPage");return this.getPageViewItem(e.spineIndex).then(i=>{if(!i){t.finish(null);return}let n=this.normalizeSeekPosition(e,i),s=n.pageIndex,r=n.offsetInItem,o=i.pages[s];if(o){t.finish(Fn(o,s));return}t.loopWithFrame(a=>{if(s<i.layoutPositions.length){a.breakLoop();return}if(i.complete){s=i.layoutPositions.length-1,a.breakLoop();return}let h=i.layoutPositions[i.layoutPositions.length-1];this.renderSinglePage(i,h).then(l=>{let c=l.pageAndPosition.page;if(h=l.nextLayoutPosition,h){if(r>=0&&i.instance.getPosition(h)>r){o=c,s=i.layoutPositions.length-2,a.breakLoop();return}a.continueLoop()}else o=c,s=l.pageAndPosition.position.pageIndex,i.complete=!0,a.breakLoop()})}).then(()=>{o=o||i.pages[s];let a=i.layoutPositions[s];if(o){t.finish(Fn(o,s));return}this.renderSinglePage(i,a).then(h=>{h.nextLayoutPosition||(i.complete=!0),t.finish(h.pageAndPosition)})})}),t.result()}renderAllPages(){let e=F("renderAllPages");return this.renderPagesUpto({spineIndex:this.opf.spine.length-1,pageIndex:Number.POSITIVE_INFINITY,offsetInItem:-1},!1).then(t=>{e.loopWithFrame(i=>{this.spineItems.some(n=>n?.pages.some(s=>s?.fetchers.some(r=>!r.arrived)))?e.sleep(100).then(()=>{i.continueLoop()}):i.breakLoop()}).then(()=>{e.finish(t)})}),e.result()}renderPagesUpto(e,t){let i=F("renderPagesUpto");e||(e={spineIndex:0,pageIndex:0,offsetInItem:0});let n=e.spineIndex,s=e.pageIndex,r=0;t&&(r=n);let o;return i.loopWithFrame(a=>{let h={spineIndex:r,pageIndex:r===n?s:Number.POSITIVE_INFINITY,offsetInItem:r===n?e.offsetInItem:-1};this.renderPage(h).then(l=>{o=l,++r>n?a.breakLoop():a.continueLoop()})}).then(()=>{i.finish(o)}),i.result()}firstPage(e,t){return this.findPage({spineIndex:0,pageIndex:0,offsetInItem:-1},t)}lastPage(e,t){return this.findPage({spineIndex:this.opf.spine.length-1,pageIndex:Number.POSITIVE_INFINITY,offsetInItem:-1},t)}nextPage(e,t){let i=e.spineIndex,n=e.pageIndex,s=F("nextPage");return this.getPageViewItem(i).then(r=>{if(!r){s.finish(null);return}if(r.complete&&n==r.layoutPositions.length-1){if(i>=this.opf.spine.length-1){s.finish(null);return}i++,n=0;let o=this.spineItems[i],a=o&&o.pages[0],h=r.pages[r.pages.length-1];a&&h&&a.side==h.side&&(o.pages.forEach(l=>{l.container&&l.container.remove()}),this.spineItems[i]=null,this.spineItemLoadingContinuations[i]=null)}else n++;this.findPage({spineIndex:i,pageIndex:n,offsetInItem:-1},t).thenFinish(s)}),s.result()}previousPage(e,t){let i=e.spineIndex,n=e.pageIndex;if(n==0){if(i==0)return k(null);i--,n=Number.POSITIVE_INFINITY}else n--;return this.findPage({spineIndex:i,pageIndex:n,offsetInItem:-1},t)}isRectoPage(e,t){let i=e.side==="left",n=this.getCurrentPageProgression(t)==="ltr";return!i&&n||i&&!n}getSpread(e,t){let i=this.getPage(e);if(!i)return k({left:null,right:null});let n=F("getSpread"),s=i.side==="left",r;return this.isRectoPage(i,e)?r=this.previousPage(e,t):r=this.nextPage(e,t),r.then(o=>{let a=this.getPage(e),h=o&&o.page;h&&h.side===a.side&&(h=null),s?n.finish({left:a,right:h}):n.finish({left:h,right:a})}),n.result()}nextSpread(e,t){let i=this.getPage(e);if(!i)return k(null);let n=this.isRectoPage(i,e),s=this.nextPage(e,t);return n?s:s.thenAsync(r=>{if(r){if(r.page.side===i.side)return s;let o=this.nextPage(r.position,t);return o.thenAsync(a=>a?o:s)}else return k(null)})}previousSpread(e,t){let i=this.getPage(e);if(!i)return k(null);let n=this.isRectoPage(i,e),s=this.previousPage(e,t),r=i.container.previousElementSibling;return n?s.thenAsync(o=>o?o.page.side===i.side||o.page.container!==r?s:this.previousPage(o.position,t):k(null)):s}navigateToEPage(e,t,i){let n=F("navigateToEPage");return this.opf.resolveEPage(e).then(s=>{s?this.findPage(s,i).thenFinish(n):n.finish(null)}),n.result()}navigateToFragment(e,t,i){let n=F("navigateToCFI");return this.opf.resolveFragment(e).then(s=>{s?this.findPage(s,i).thenFinish(n):n.finish(null)}),n.result()}navigateTo(e,t,i){H.debug("Navigate to",e);let n=this.opf.getPathFromURL(St(e));if(!n){if(this.opf.opfXML&&e.match(/^#epubcfi\(/))n=this.opf.getPathFromURL(this.opf.opfXML.url);else if(e.charAt(0)==="#"){let o=this.opf.documentURLTransformer.restoreURL(e);this.opf.opfXML?(n=this.opf.getPathFromURL(o[0]),n==null&&(n=o[0])):n=o[0],e=o[0]+(o[1]?`#${o[1]}`:"")}if(n==null)return k(null)}let s=this.opf.itemMapByPath[n];if(!s){if(this.opf.opfXML&&n==this.opf.getPathFromURL(this.opf.opfXML.url)){let o=e.indexOf("#");if(o>=0)return this.navigateToFragment(e.substr(o+1),t,i)}return k(null)}let r=F("navigateTo");return this.getPageViewItem(s.spineIndex).then(o=>{if(!o){r.finish(null);return}let a=o.xmldoc.getElement(e);this.findPage({spineIndex:s.spineIndex,pageIndex:-1,offsetInItem:a?o.xmldoc.getElementOffset(a):0},i).thenFinish(r)}),r.result()}makePage(e,t){let i=e.instance.viewport,n=i.document.createElement("div");n.setAttribute("data-vivliostyle-page-container","true"),n.role="presentation",tn||(n.style.visibility="hidden"),i.layoutBox.appendChild(n);let s=i.document.createElement("div");s.setAttribute("data-vivliostyle-bleed-box","true"),s.role="presentation",n.appendChild(s);let r=new uh(n,s);if(r.spineIndex=e.item.spineIndex,r.position=t,r.offset=e.instance.getPosition(t),r.offset===0&&!(e.instance.blankPageAtStart&&e.pages.length===0)){let o=this.opf.documentURLTransformer.transformFragment("",e.item.src);s.setAttribute("id",o),r.registerElementWithId(s,o)}if(i!==this.viewport){let o=cl(this.viewport.width,this.viewport.height,i.width,i.height),a=Pi(null,new gt(o,null),"");r.delayedItems.push(new Gr(n,"transform",a))}return r}makeObjectView(e,t,i,n){let s=t.getAttribute("data"),r=null;if(s){s=Pe(s,e.url);let o=t.getAttribute("media-type");if(!o){let a=this.opf.getPathFromURL(s);if(a){let h=this.opf.itemMapByPath[a];h&&(o=h.mediaType)}}if(o){let a=this.opf.bindings[o];if(a){r=this.viewport.document.createElement("iframe"),r.style.border="none";let h=ko(s),l=ko(o),c=new Et;c.append(a),c.append("?src="),c.append(h),c.append("&type="),c.append(l);for(let f=t.firstChild;f;f=f.nextSibling)if(f.nodeType==1){let m=f;if(m.localName=="param"&&m.namespaceURI=="http://www.w3.org/1999/xhtml"){let g=m.getAttribute("name"),w=m.getAttribute("value");g&&w&&(c.append("&"),c.append(encodeURIComponent(g)),c.append("="),c.append(encodeURIComponent(w)))}}r.setAttribute("src",c.toString());let p=t.getAttribute("width");p&&r.setAttribute("width",p);let d=t.getAttribute("height");d&&r.setAttribute("height",d)}}}return r||(r=this.viewport.document.createElement("object"),s&&r.setAttribute("data",s),r.setAttribute("data-adapt-process-children","true")),k(r)}makeMathJaxView(e,t,i,n){let s=_w();if(s){let r=i.ownerDocument,o=r.createElement("span");i.appendChild(o);let a=r.importNode(t,!0);this.resolveURLsInMathML(a,e),o.appendChild(a);let h=s.queue;h.Push(["Typeset",s,o]);let l=F("makeMathJaxView"),c=l.suspend();return h.Push(()=>{c.schedule(o)}),l.result()}return k(null)}resolveURLsInMathML(e,t){if(e!=null){if(e.nodeType===1&&e.tagName==="mglyph"){let i=Array.from(e.attributes);for(let n of i){if(n.name!=="src")continue;let s=Pe(n.nodeValue,t.url);n.namespaceURI?e.setAttributeNS(n.namespaceURI,n.name,s):e.setAttribute(n.name,s)}}e.firstChild&&this.resolveURLsInMathML(e.firstChild,t),e.nextSibling&&this.resolveURLsInMathML(e.nextSibling,t)}}makeCustomRenderer(e){return(t,i,n)=>t.localName=="object"&&t.namespaceURI=="http://www.w3.org/1999/xhtml"?this.makeObjectView(e,t,i,n):t.namespaceURI=="http://www.w3.org/1998/Math/MathML"?this.makeMathJaxView(e,t,i,n):t.dataset&&t.dataset.mathTypeset=="true"?this.makeMathJaxView(e,t,i,n):k(null)}getPageViewItem(e){if(e===-1||e>=this.opf.spine.length)return k(null);let t=this.spineItems[e];if(t)return k(t);let i=F("getPageViewItem"),n=this.spineItemLoadingContinuations[e];if(n){let o=i.suspend();return n.push(o),i.result()}else n=this.spineItemLoadingContinuations[e]=[];let s=this.opf.spine[e],r=this.opf.store;return r.load(s.src).then(o=>{var a;let h=s.itemRefElement.getAttribute("properties");h&&o.root.setAttribute("data-vivliostyle-epub-spine-properties",h),s.title=o.document.title;let l=r.getStyleForDoc(o),c=this.makeCustomRenderer(o),p=this.viewport,d=l.sizeViewport(p.width,p.height,p.fontSize,this.pref);(d.width!=p.width||d.height!=p.height||d.fontSize!=p.fontSize)&&(p=new is(p.window,d.fontSize,p.pixelRatio,p.root,d.width,d.height));let f=(a=this.spineItems[0])==null?void 0:a.instance.isVersoFirstPage,m=this.spineItems[e-1],g,w;if(s.startPage!==null)g=s.startPage-1,w=g;else{if(e>0&&(!m||!m.complete))g=s.epage||e,!this.opf.prePaginated&&g%2==(f?1:0)&&g++,w=g;else{g=m?m.instance.pageNumberOffset+m.pages.length:0;let S=this.counterStore.currentPageCounters.page;w=!S||!S.length?g:S[S.length-1]}s.skipPagesBefore!==null&&(g+=s.skipPagesBefore,w+=s.skipPagesBefore)}this.counterStore.forceSetPageCounter(w);let y=new mo(l,o,this.opf.lang,p,this.clientLayout,this.fontMapper,c,this.opf.fallbackMap,g,this.opf.documentURLTransformer,this.counterStore,this.opf.pageProgression,f);y.pref=this.pref;let b=this.opf.metadata&&this.opf.metadata[Ie.title];y.pubTitle=b&&b[0]&&b[0].v||"",y.docTitle=s.title||"",y.init().then(()=>{!this.opf.pageProgression&&y.pageProgression&&(this.opf.pageProgression=y.pageProgression),t={item:s,xmldoc:o,instance:y,layoutPositions:[null],pages:[],complete:!1},this.spineItems[e]=t,i.finish(t),n.forEach(S=>{S.schedule(t)})})}),i.result()}removeRenderedPages(){let e=this.spineItems;for(let t of e)t&&t.pages.splice(0);this.viewport.clear()}hasAutoSizedPages(){let e=this.spineItems;for(let t of e)if(t){let i=t.pages;for(let n of i)if(n.isAutoPageWidth&&n.isAutoPageHeight)return!0}return!1}hasPages(){return this.spineItems.some(e=>e&&e.pages.length>0)}showTOC(e){let t=this.opf,i=t.toc;if(this.tocAutohide=e,!i)return k(null);if(this.tocVisible=!0,this.tocView&&this.tocView.page)return this.tocView.page.container.style.visibility="visible",this.tocView.page.container.setAttribute("aria-hidden","false"),k(this.tocView.page);let n=F("showTOC");this.tocView||(this.tocView=new Iw(t.store,i.src,t.lang,this.clientLayout,this.fontMapper,this.pref,this,t.fallbackMap,t.documentURLTransformer,this.counterStore));let s=this.viewport,r=Math.min(344,Math.round(.67*s.width)-16),o=s.height-6,a=s.document.createElement("div");return s.root.appendChild(a),tn||(a.style.visibility="hidden"),a.style.width=`${r+16}px`,a.style.maxHeight=`${o}px`,a.setAttribute("data-vivliostyle-toc-box","true"),a.setAttribute("role","navigation"),this.tocView.showTOC(a,s,r,o,this.viewport.fontSize).then(h=>{a.style.visibility="visible",a.setAttribute("aria-hidden","false"),n.finish(h)}),n.result()}hideTOC(){this.tocVisible=!1,this.tocView&&this.tocView.hideTOC()}isTOCVisible(){return this.tocVisible&&!!this.tocView&&this.tocView.isTOCVisible()}},$a="data-vivliostyle-viewer-status",zw="data-vivliostyle-spread-view",Yu=(e=>(e.SINGLE_PAGE="singlePage",e.SPREAD="spread",e.AUTO_SPREAD="autoSpread",e))(Yu||{}),Dw=class{constructor(e,t,i,n){this.window=e,this.viewportElement=t,this.instanceId=i,this.callbackFn=n,u(this,"fontMapper"),u(this,"kick"),u(this,"sendCommand"),u(this,"resizeListener"),u(this,"hyperlinkListener"),u(this,"pageRuleStyleElement"),u(this,"pageSheetSizeAlreadySet",!1),u(this,"renderTask",null),u(this,"actions"),u(this,"readyState"),u(this,"packageURL"),u(this,"opf"),u(this,"touchActive"),u(this,"touchX"),u(this,"touchY"),u(this,"needResize"),u(this,"resized"),u(this,"needRefresh"),u(this,"viewportSize"),u(this,"currentPage"),u(this,"currentSpread"),u(this,"pagePosition"),u(this,"fontSize"),u(this,"zoom"),u(this,"fitToScreen"),u(this,"pageViewMode"),u(this,"waitForLoading"),u(this,"renderAllPages"),u(this,"pref"),u(this,"pageSizes"),u(this,"pixelRatio"),u(this,"pixelRatioLimit"),u(this,"viewport"),u(this,"opfView");let s=t.ownerDocument,r=(o,a)=>{let h=s.getElementById(o);return h||(h=s.createElement("style"),h.id=o,a&&(h.textContent=a),s.head.appendChild(h)),h};r("vivliostyle-viewport-screen-css",Ul),r("vivliostyle-viewport-css",$l),r("vivliostyle-polyfill-css",Yl),t.setAttribute("data-vivliostyle-viewer-viewport",!0),tn&&t.setAttribute("data-vivliostyle-debug",!0),t.setAttribute($a,"loading"),this.fontMapper=new Nm(s.head,t),this.init(),this.kick=()=>{},this.sendCommand=()=>{},this.resizeListener=()=>{this.needResize=!0,this.resized=!0,this.kick()},this.pageReplacedListener=this.pageReplacedListener.bind(this),this.hyperlinkListener=o=>{},this.pageRuleStyleElement=r("vivliostyle-page-rules"),this.actions={loadPublication:this.loadPublication,loadXML:this.loadXML,configure:this.configure,moveTo:this.moveTo,toc:this.showTOC},this.addLogListeners()}init(){this.readyState="loading",this.packageURL=[],this.opf=null,this.touchActive=!1,this.touchX=0,this.touchY=0,this.needResize=!1,this.resized=!1,this.needRefresh=!1,this.viewportSize=null,this.currentPage=null,this.currentSpread=null,this.pagePosition=null,this.fontSize=16,this.zoom=1,this.fitToScreen=!1,this.pageViewMode="singlePage",this.waitForLoading=!1,this.renderAllPages=!0,this.pref=hl(),this.pageSizes=[],this.pixelRatioLimit=/Chrome/.test(navigator.userAgent)?16:0,this.pixelRatio=Math.min(8,this.pixelRatioLimit)}addLogListeners(){let e=el;H.addListener(e.DEBUG,t=>{this.callback({t:"debug",content:t})}),H.addListener(e.INFO,t=>{this.callback({t:"info",content:t})}),H.addListener(e.WARN,t=>{this.callback({t:"warn",content:t})}),H.addListener(e.ERROR,t=>{this.callback({t:"error",content:t})})}callback(e){e.i=this.instanceId,this.callbackFn(e)}setReadyState(e){this.readyState!==e&&(this.readyState=e,this.viewportElement.setAttribute($a,e),this.callback({t:"readystatechange"}))}loadPublication(e){tt.registerStartTiming("beforeRender"),this.setReadyState("loading");let t=e.url,i=e.fragment,n=e.authorStyleSheet,s=e.userStyleSheet;this.viewport=null;let r=F("loadPublication");return this.configure(e).then(()=>{let o=new Va;o.init(n,s).then(()=>{let a=Pe(nn(t),this.window.location.href);this.packageURL=[a],o.loadPubDoc(a).then(h=>{h?(this.opf=h,this.render(i).then(()=>{r.finish(!0)})):r.finish(!1)})})}),r.result()}loadXML(e){tt.registerStartTiming("beforeRender"),this.setReadyState("loading");let t=e.url,i=e.document,n=e.fragment,s=e.authorStyleSheet,r=e.userStyleSheet;this.viewport=null;let o=F("loadXML");return this.configure(e).then(()=>{let a=new Va;a.init(s,r).then(()=>{let h=t.map((l,c)=>({url:Pe(nn(l.url),this.window.location.href),index:c,startPage:l.startPage,skipPagesBefore:l.skipPagesBefore}));this.packageURL=h.map(l=>l.url),this.opf=new Un(a,""),this.opf.initWithChapters(h,i).then(()=>{this.render(n).then(()=>{o.finish(!0)})})})}),o.result()}render(e){this.cancelRenderingTask();let t;return e?t=this.opf.resolveFragment(e).thenAsync(i=>(this.pagePosition=i,k(!0))):t=k(!0),t.thenAsync(()=>(tt.registerEndTiming("beforeRender"),this.resize()))}resolveLength(e){let t=parseFloat(e),i=/[a-z]+$/,n;if(typeof e=="string"&&(n=e.match(i))){let s=n[0];if(s==="em"||s==="rem")return t*this.fontSize;if(s==="ex")return t*me.ex*this.fontSize/me.em;let r=me[s];if(r)return t*r}return t}configure(e){if(typeof e.autoresize=="boolean"&&(e.autoresize?(this.viewportSize=null,this.window.addEventListener("resize",this.resizeListener,!1),this.needResize=!0):this.window.removeEventListener("resize",this.resizeListener,!1)),typeof e.fontSize=="number"){let t=e.fontSize;t>=5&&t<=72&&this.fontSize!=t&&(this.fontSize=t,this.needResize=!0)}if(typeof e.viewport=="object"&&e.viewport){let t=e.viewport,i={marginLeft:this.resolveLength(t["margin-left"])||0,marginRight:this.resolveLength(t["margin-right"])||0,marginTop:this.resolveLength(t["margin-top"])||0,marginBottom:this.resolveLength(t["margin-bottom"])||0,width:this.resolveLength(t.width)||0,height:this.resolveLength(t.height)||0};(i.width>=200||i.height>=200)&&(this.window.removeEventListener("resize",this.resizeListener,!1),this.viewportSize=i,this.needResize=!0)}if(typeof e.hyphenate=="boolean"&&(this.pref.hyphenate=e.hyphenate,this.needResize=!0),typeof e.horizontal=="boolean"&&(this.pref.horizontal=e.horizontal,this.needResize=!0),typeof e.nightMode=="boolean"&&(this.pref.nightMode=e.nightMode,this.needResize=!0),typeof e.lineHeight=="number"&&(this.pref.lineHeight=e.lineHeight,this.needResize=!0),typeof e.columnWidth=="number"&&(this.pref.columnWidth=e.columnWidth,this.needResize=!0),typeof e.fontFamily=="string"&&(this.pref.fontFamily=e.fontFamily,this.needResize=!0),typeof e.load=="boolean"&&(this.waitForLoading=e.load),typeof e.renderAllPages=="boolean"&&(this.renderAllPages=e.renderAllPages),typeof e.userAgentRootURL=="string"&&(So(e.userAgentRootURL.replace(/resources\/?$/,"")),Co(e.userAgentRootURL)),typeof e.rootURL=="string"&&(So(e.rootURL),Co(`${vi}resources/`)),typeof e.pageViewMode=="string"&&e.pageViewMode!==this.pageViewMode&&(this.pageViewMode=e.pageViewMode,this.needResize=!0),typeof e.pageBorder=="number"&&e.pageBorder!==this.pref.pageBorder&&(this.viewport=null,this.pref.pageBorder=e.pageBorder,this.needResize=!0),typeof e.zoom=="number"&&e.zoom!==this.zoom&&(this.zoom=e.zoom,this.needRefresh=!0),typeof e.fitToScreen=="boolean"&&e.fitToScreen!==this.fitToScreen&&(this.fitToScreen=e.fitToScreen,this.needRefresh=!0),typeof e.defaultPaperSize=="object"&&typeof e.defaultPaperSize.width=="number"&&typeof e.defaultPaperSize.height=="number"&&(this.viewport=null,this.pref.defaultPaperSize=e.defaultPaperSize,this.needResize=!0),typeof e.allowScripts=="boolean"&&e.allowScripts!==Tt&&(aw(e.allowScripts),this.needResize=!0),typeof e.pixelRatio=="number"){let t=Math.min(e.pixelRatio,this.pixelRatioLimit);t!==this.pixelRatio&&(this.pixelRatio=t,this.needResize=!0)}return this.configurePlugins(e),k(!0)}configurePlugins(e){ft("CONFIGURATION").forEach(t=>{let i=t(e);this.needResize=i.needResize||this.needResize,this.needRefresh=i.needRefresh||this.needRefresh})}pageReplacedListener(e){let t=this.currentPage,i=this.currentSpread,n=e.target;i?(i.left===n||i.right===n)&&this.showCurrent(e.newPage):t===e.target&&this.showCurrent(e.newPage)}forCurrentPages(e){let t=[];this.currentPage&&t.push(this.currentPage),this.currentSpread&&(t.push(this.currentSpread.left),t.push(this.currentSpread.right)),t.forEach(i=>{i&&e(i)})}removePageListeners(){this.forCurrentPages(e=>{e.removeEventListener("hyperlink",this.hyperlinkListener,!1),e.removeEventListener("replaced",this.pageReplacedListener,!1)})}hidePages(){this.removePageListeners(),this.forCurrentPages(e=>{N(e.container,"display","none")}),this.currentPage=null,this.currentSpread=null}showSinglePage(e){e.addEventListener("hyperlink",this.hyperlinkListener,!1),e.addEventListener("replaced",this.pageReplacedListener,!1),N(e.container,"visibility","visible"),N(e.container,"display","block")}showPage(e){this.hidePages(),this.currentPage=e,e.container.style.marginLeft="",e.container.style.marginRight="",this.showSinglePage(e)}showSpread(e){if(this.hidePages(),this.currentSpread=e,e.left&&e.right){let t=parseFloat(e.left.container.style.width),i=parseFloat(e.right.container.style.width);t&&i&&t!==i&&(t<i?e.left.container.style.marginLeft=`${i-t}px`:e.right.container.style.marginRight=`${t-i}px`)}e.left&&(this.showSinglePage(e.left),e.right?e.left.container.removeAttribute("data-vivliostyle-unpaired-page"):e.left.container.setAttribute("data-vivliostyle-unpaired-page",!0)),e.right&&(this.showSinglePage(e.right),e.left?e.right.container.removeAttribute("data-vivliostyle-unpaired-page"):e.right.container.setAttribute("data-vivliostyle-unpaired-page",!0))}reportPosition(){let e=F("reportPosition");return this.pagePosition,this.opf.getCFI(this.pagePosition.spineIndex,this.pagePosition.offsetInItem).then(t=>{let i=this.currentPage;(this.waitForLoading&&i.fetchers.length>0?ls(i.fetchers):k(!0)).then(()=>{this.sendLocationNotification(i,t).thenFinish(e)})}),e.result()}createViewport(){let e=this.viewportElement;if(this.viewportSize){let t=this.viewportSize;return e.style.marginLeft=`${t.marginLeft}px`,e.style.marginRight=`${t.marginRight}px`,e.style.marginTop=`${t.marginTop}px`,e.style.marginBottom=`${t.marginBottom}px`,new is(this.window,this.fontSize,this.pixelRatio,e,t.width,t.height)}else return new is(this.window,this.fontSize,this.pixelRatio,e)}resolveSpreadView(e,t){switch(this.pageViewMode){case"singlePage":return!1;case"spread":return!0;case"autoSpread":default:return(e.width-this.pref.pageBorder)/e.height>=(t?t.width*2/t.height:1.45)&&(!!t||e.width>800)}}updateSpreadView(e){this.pref.spreadView=e,this.viewportElement.setAttribute(zw,e.toString())}sizeIsGood(){var e;let t=this.createViewport(),i=((e=this.opfView)==null?void 0:e.hasPages())&&!this.opfView.hasAutoSizedPages(),n=this.resolveSpreadView(t,this.resized&&i?this.pageSizes[0]:null);this.resized=!1;let s=this.pref.spreadView!==n;return this.updateSpreadView(n),this.pixelRatio&&this.opfView&&this.pixelRatio/this.window.devicePixelRatio!==this.opfView.clientLayout.scaleRatio||this.viewportSize||!this.viewport||this.viewport.fontSize!=this.fontSize?!1:!s&&t.width==this.viewport.width&&t.height==this.viewport.height||!s&&t.width==this.viewport.width&&t.height!=this.viewport.height&&/Android|iPhone|iPad|iPod/.test(navigator.userAgent)?!0:i?(this.viewport.width=t.width,this.viewport.height=t.height,this.needRefresh=!0,!0):!1}setPageSize(e,t,i,n){this.pageSizes[n]=e,this.setPageSizePageRules(t,i,n),n===0&&this.pageViewMode==="autoSpread"&&!this.opfView.hasAutoSizedPages()&&this.updateSpreadView(this.resolveSpreadView(this.viewport,e))}setPageSizePageRules(e,t,i){var n,s;if(this.pageRuleStyleElement&&(!this.pageSheetSizeAlreadySet||this.pageSizes[i].width!==((n=this.pageSizes[i-1])==null?void 0:n.width)||this.pageSizes[i].height!==((s=this.pageSizes[i-1])==null?void 0:s.height))){let o=function(m){let g=m*.75;return Math.ceil(g)};var r=o;let a=Math.max(...this.pageSizes.map(m=>m.width)),h=Math.max(...this.pageSizes.map(m=>m.height)),l=o(a),c=o(h),p=l*((this.pixelRatio||1)-1)+2,d=c*((this.pixelRatio||1)-1)+2,f=`@page {size: ${l}pt ${c}pt; margin: 0 ${-p}pt ${-d}pt 0;}`;this.pageRuleStyleElement.textContent=f,this.pageSheetSizeAlreadySet=!0}}removePageSizePageRules(){this.pageRuleStyleElement&&(this.pageRuleStyleElement.textContent="",this.pageSheetSizeAlreadySet=!1)}reset(){let e=!1,t=!1;this.opfView&&(e=this.opfView.tocVisible,t=this.opfView.tocAutohide,this.opfView.removeRenderedPages()),this.pageSizes=[],this.removePageSizePageRules(),this.viewport=this.createViewport(),this.viewport.resetZoom(),this.opfView=new Mw(this.opf,this.viewport,this.fontMapper,this.pref,this.setPageSize.bind(this)),e&&this.sendCommand({a:"toc",v:"show",autohide:t})}showCurrent(e,t){this.needRefresh=!1,this.removePageListeners();let i=this.resolveSpreadView(this.viewport,e.dimensions);return i!==this.pref.spreadView&&this.updateSpreadView(i),i?this.opfView.getSpread(this.pagePosition,t).thenAsync(n=>!n.left&&!n.right?k(null):n.left&&n.right&&(!this.resolveSpreadView(this.viewport,n.left.dimensions)||!this.resolveSpreadView(this.viewport,n.right.dimensions))?(this.updateSpreadView(!1),this.showPage(e),this.setPageZoom(e),this.currentPage=e,k(null)):(this.showSpread(n),this.setSpreadZoom(n),this.currentPage=e.side==="left"?n.left:n.right,k(null))):(this.showPage(e),this.setPageZoom(e),this.currentPage=e,k(null))}setPageZoom(e){let t=this.getAdjustedZoomFactor(e.dimensions);this.viewport.zoom(e.dimensions.width,e.dimensions.height,t)}setSpreadZoom(e){let t=this.getSpreadDimensions(e);this.viewport.zoom(t.width,t.height,this.getAdjustedZoomFactor(t))}getAdjustedZoomFactor(e){return this.fitToScreen?this.calculateZoomFactorToFitInsideViewPort(e):this.zoom}getSpreadDimensions(e){let t=0,i=0;return e.left&&(t+=e.left.dimensions.width,i=e.left.dimensions.height),e.right&&(t+=e.right.dimensions.width,i=Math.max(i,e.right.dimensions.height)),e.left&&e.right&&(t+=this.pref.pageBorder*2,t+=Math.abs(e.left.dimensions.width-e.right.dimensions.width)),{width:t,height:i}}queryZoomFactor(e){if(!this.currentPage)throw new Error("no page exists.");switch(e){case"fit inside viewport":{let t;return this.pref.spreadView?(this.currentSpread,t=this.getSpreadDimensions(this.currentSpread)):t=this.currentPage.dimensions,this.calculateZoomFactorToFitInsideViewPort(t)}default:throw new Error(`unknown zoom type: ${e}`)}}calculateZoomFactorToFitInsideViewPort(e){if(!this.viewport)return this.zoom;let t=this.viewport.width/e.width,i=this.viewport.height/e.height;return Math.min(t,i)}cancelRenderingTask(){this.renderTask&&this.renderTask.interrupt(new Ga),this.renderTask=null}resize(){if(this.needResize=!1,this.needRefresh=!1,this.sizeIsGood())return k(!0);this.setReadyState("loading"),this.cancelRenderingTask();let e=qs().getScheduler().run(()=>yi("resize",t=>{if(!this.opf){t.finish(!1);return}this.renderTask=e,tt.registerStartTiming("render (resize)"),this.reset(),this.pagePosition&&(this.pagePosition.pageIndex==0&&this.pagePosition.offsetInItem==0||(this.pagePosition.pageIndex=-1)),this.opf.setEPageCountMode(this.renderAllPages),this.opfView.renderPagesUpto(this.pagePosition,!this.renderAllPages).then(i=>{if(!i){t.finish(!1);return}this.pagePosition=i.position,this.showCurrent(i.page,!0).then(()=>{this.setReadyState("interactive"),this.opf.countEPages(n=>{let s={t:"nav",epageCount:n,first:this.currentPage.isFirstPage,last:this.currentPage.isLastPage,metadata:this.opf.metadata,docTitle:this.opf.spine[this.pagePosition.spineIndex].title};(this.currentPage.isFirstPage||this.pagePosition.pageIndex==0&&this.opf.spine[this.pagePosition.spineIndex].epage)&&(s.epage=this.opf.spine[this.pagePosition.spineIndex].epage),this.callback(s)}).then(()=>{this.reportPosition().then(n=>{(this.renderAllPages?this.opfView.renderAllPages():k(null)).then(()=>{this.renderTask===e&&(this.renderTask=null),tt.registerEndTiming("render (resize)"),Tt&&$u(this.window)?cw(this.window).then(()=>{this.renderAllPages&&this.setReadyState("complete"),this.callback({t:"loaded"}),t.finish(n)}):(this.renderAllPages&&this.setReadyState("complete"),this.callback({t:"loaded"}),t.finish(n))})})})})})},(t,i)=>{if(i instanceof Ga)tt.registerEndTiming("render (resize)"),H.debug(i.message);else throw i}));return k(!0)}sendLocationNotification(e,t){let i=F("sendLocationNotification"),n={t:"nav",first:e.isFirstPage,last:e.isLastPage,metadata:this.opf.metadata,docTitle:this.opf.spine[e.spineIndex].title};return this.opf.getEPageFromPosition(this.pagePosition).then(s=>{n.epage=s,n.epageCount=this.opf.epageCount,t&&(n.cfi=t),this.callback(n),i.finish(!0)}),i.result()}getCurrentPageProgression(){return this.opfView?this.opfView.getCurrentPageProgression(this.pagePosition):null}moveTo(e){var t;let i;if(this.readyState!=="complete"&&e.where!=="next"&&this.setReadyState("loading"),typeof e.where=="string"){let s;switch(e.where){case"next":s=this.pref.spreadView?this.opfView.nextSpread:this.opfView.nextPage;break;case"previous":s=this.pref.spreadView?this.opfView.previousSpread:this.opfView.previousPage;break;case"last":s=this.opfView.lastPage;break;case"first":s=this.opfView.firstPage;break;default:return k(!0)}s&&(i=()=>s.call(this.opfView,this.pagePosition,!this.renderAllPages))}else if(typeof e.epage=="number"){let s=e.epage;i=()=>this.opfView.navigateToEPage(s,this.pagePosition,!this.renderAllPages)}else if(typeof e.url=="string"){let s=e.url;i=()=>this.opfView.navigateTo(s,this.pagePosition,!this.renderAllPages)}else if(typeof((t=e.position)==null?void 0:t.spineIndex)=="number"){let s=e.position;i=()=>this.opfView.findPage(s,!this.renderAllPages)}else return k(!0);if(!this.opfView)return k(!0);let n=F("moveTo");return i.call(this.opfView).then(s=>{let r;if(s){this.pagePosition=s.position;let o=F("moveTo.showCurrent");r=o.result(),this.showCurrent(s.page,!this.renderAllPages).then(()=>{this.reportPosition().thenFinish(o)})}else r=k(!0);r.then(o=>{this.readyState==="loading"&&this.setReadyState("interactive"),n.finish(o)})}),n.result()}showTOC(e){let t=!!e.autohide,i=e.v,n=this.opfView.isTOCVisible(),s=t!=this.opfView.tocAutohide&&i!="hide";if(n){if(i=="show"&&!s)return k(!0)}else if(i=="hide")return k(!0);if(n&&i!="show")return this.opfView.hideTOC(),k(!0);{let r=F("showTOC");return this.opfView.showTOC(t).then(o=>{if(o){if(s&&(o.listeners={}),t){let a=()=>{this.opfView.hideTOC()};o.addEventListener("hyperlink",a,!1)}o.addEventListener("hyperlink",this.hyperlinkListener,!1)}r.finish(!0)}),r.result()}}runCommand(e){let t=e.a||"";return yi("runCommand",i=>{let n=this.actions[t];n?n.call(this,e).then(()=>{this.callback({t:"done",a:t}),i.finish(!0)}):(H.error("No such action:",t),i.finish(!0))},(i,n)=>{H.error(n,"Error during action:",t),i.finish(!0)})}initEmbed(e){let t=Wa(e),i=null,n=this;Kd(()=>{let s=F("commandLoop"),r=qs().getScheduler();return n.hyperlinkListener=o=>{let a=o,h=a.href.charAt(0)==="#"||n.packageURL.some(l=>a.href.substr(0,l.length)==l);if(h){o.preventDefault();let l={t:"hyperlink",href:a.href,internal:h};r.run(()=>(n.callback(l),k(!0)))}},s.loopWithFrame(o=>{if(n.needResize)n.resize().then(()=>{o.continueLoop()});else if(n.needRefresh)n.currentPage&&n.showCurrent(n.currentPage,!this.renderAllPages).then(()=>{o.continueLoop()});else if(t){let a=t;t=null,n.runCommand(a).then(()=>{o.continueLoop()})}else{let a=F("waitForCommand");i=a.suspend(this),a.result().then(()=>{o.continueLoop()})}}).thenFinish(s),s.result()}),n.kick=()=>{let s=i;s&&(i=null,s.schedule(!0))},n.sendCommand=s=>t?!1:(t=Wa(s),n.kick(),!0),this.window.adapt_command=n.sendCommand}},Zu=(e=>(e.FIT_INSIDE_VIEWPORT="fit inside viewport",e))(Zu||{}),Ga=class Ku extends Error{constructor(){super(),u(this,"name","RenderingCanceledError"),u(this,"message","Page rendering has been canceled"),u(this,"stack"),Object.setPrototypeOf(this,Ku.prototype),this.stack=new Error().stack}};function Wa(e){return typeof e=="string"?Ar(e):e}var ja=Rr;function Vw(){return{autoResize:!0,fontSize:16,pageBorderWidth:1,renderAllPages:!0,pageViewMode:"autoSpread",zoom:1,fitToScreen:!1,defaultPaperSize:void 0,allowScripts:!0,pixelRatio:8}}function Xa(e){let t={};return Object.keys(e).forEach(i=>{let n=e[i];switch(i){case"autoResize":t.autoresize=n;break;case"pageBorderWidth":t.pageBorder=n;break;default:t[i]=n}}),t}var Ju=class{constructor(e,t){this.settings=e,u(this,"initialized",!1),u(this,"adaptViewer_"),u(this,"options"),u(this,"eventTarget"),u(this,"readyState"),Za(e.debug),this.adaptViewer_=new Dw(e.window||window,e.viewportElement,"main",this.dispatcher.bind(this)),this.options=Vw(),t&&this.setOptions(t),this.eventTarget=new Lr,Object.defineProperty(this,"readyState",{get(){return this.adaptViewer_.readyState}})}setOptions(e){let t=Object.assign({a:"configure"},Xa(e));this.adaptViewer_.sendCommand(t),Object.assign(this.options,e)}dispatcher(e){let t={type:e.t},i=e;Object.keys(i).forEach(n=>{n!=="t"&&(t[n]=i[n])}),this.eventTarget.dispatchEvent(t)}addListener(e,t){this.eventTarget.addEventListener(e,t,!1)}removeListener(e,t){this.eventTarget.removeEventListener(e,t,!1)}loadDocument(e,t,i){if(!e||(Array.isArray(e)?!e[0]||typeof e[0]!="string"&&!e[0].url:typeof e!="string"&&!e.url)){this.eventTarget.dispatchEvent({type:"error",content:{error:new Error("No URL specified")}});return}this.loadDocumentOrPublication(e,null,t,i)}loadPublication(e,t,i){if(!e){this.eventTarget.dispatchEvent({type:"error",content:{error:new Error("No URL specified")}});return}this.loadDocumentOrPublication(null,e,t,i)}loadDocumentOrPublication(e,t,i,n){let s=i||{};function r(l){if(l)return l.map(c=>({url:c.url||null,text:c.text||null}))}let o=r(s.authorStyleSheet),a=r(s.userStyleSheet);n&&Object.assign(this.options,n);let h=Object.assign({a:e?"loadXML":"loadPublication",userAgentRootURL:this.settings.userAgentRootURL,url:Hw(e)||t,document:s.documentObject,fragment:s.fragment,authorStyleSheet:o,userStyleSheet:a},Xa(this.options));this.initialized?this.adaptViewer_.sendCommand(h):(this.initialized=!0,this.adaptViewer_.initEmbed(h))}getCurrentPageProgression(){return this.adaptViewer_.getCurrentPageProgression()}resolveNavigation(e){switch(e){case"left":return this.getCurrentPageProgression()===ja.LTR?"previous":"next";case"right":return this.getCurrentPageProgression()===ja.LTR?"next":"previous";default:return e}}navigateToPage(e,t){e==="epage"?this.adaptViewer_.sendCommand({a:"moveTo",epage:t}):this.adaptViewer_.sendCommand({a:"moveTo",where:this.resolveNavigation(e)})}navigateToInternalUrl(e){this.adaptViewer_.sendCommand({a:"moveTo",url:e})}navigateToPosition(e){var t,i;this.adaptViewer_.sendCommand({a:"moveTo",position:{spineIndex:e.spineIndex,pageIndex:(t=e.pageIndex)!=null?t:-1,offsetInItem:(i=e.offsetInItem)!=null?i:-1}})}isTOCVisible(){return this.adaptViewer_.opfView&&this.adaptViewer_.opfView.opf&&this.adaptViewer_.opfView.opf.toc?!!this.adaptViewer_.opfView.isTOCVisible():null}showTOC(e,t){let i=e==null?"toggle":e?"show":"hide";this.adaptViewer_.sendCommand({a:"toc",v:i,autohide:t})}queryZoomFactor(e){return this.adaptViewer_.queryZoomFactor(e)}getPageSizes(){return this.adaptViewer_.pageSizes}getTOC(){var e,t;return(t=(e=this.adaptViewer_.opfView)==null?void 0:e.tocView)==null?void 0:t.getTOC()}getMetadata(){return this.adaptViewer_.opf.getMetadata()}getCover(){return this.adaptViewer_.opf.cover}};function Hw(e){function t(n){return typeof n=="number"?n:null}function i(n){return typeof n=="string"?{url:n,startPage:null,skipPagesBefore:null}:{url:n.url,startPage:t(n.startPage),skipPagesBefore:t(n.skipPagesBefore)}}return Array.isArray(e)?e.map(i):e?[i(e)]:null}var Qu=(e=>(e.PREVIOUS="previous",e.NEXT="next",e.LEFT="left",e.RIGHT="right",e.FIRST="first",e.LAST="last",e.EPAGE="epage",e))(Qu||{}),Uw=Zu,$w=Yu;tt.forceRegisterEndTiming("load_vivliostyle");var Gw=class{constructor(e,{title:t="",printCallback:i=o=>o.print(),errorCallback:n=null,hideIframe:s=!0,removeIframe:r=!0}){u(this,"htmlDoc"),u(this,"title"),u(this,"printCallback"),u(this,"errorCallback"),u(this,"hideIframe"),u(this,"removeIframe"),u(this,"iframe"),u(this,"iframeWin"),u(this,"window"),this.htmlDoc=e,this.title=t,this.printCallback=i,this.errorCallback=n,this.hideIframe=s,this.removeIframe=r}init(){this.iframe=document.createElement("iframe"),this.hideIframe&&(this.iframe.style.width="0",this.iframe.style.height="0",this.iframe.style.borderWidth="0"),this.window=window,this.window.printInstance=this,this.iframe.srcdoc=`
|
|
1512
1516
|
<!DOCTYPE html>
|
|
1513
1517
|
<html data-vivliostyle-paginated="true">
|
|
1514
1518
|
<head>
|
|
@@ -1536,6 +1540,6 @@ span[data-viv-leader] {
|
|
|
1536
1540
|
<body onload='parent.printInstance.runInIframe(window)'>
|
|
1537
1541
|
<div id="vivliostyle-viewer-viewport"></div>
|
|
1538
1542
|
</body>
|
|
1539
|
-
</html>`,document.body.appendChild(this.iframe)}runInIframe(e){return this.iframeWin=e,this.preparePrint().then(()=>this.browserPrint()).then(()=>this.cleanUp())}preparePrint(){this.iframeWin.document.title=this.title;let e=new Blob([this.htmlDoc],{type:"text/html"}),t=URL.createObjectURL(e),i=new
|
|
1540
|
-
`);this.errorCallback(a)}),i.loadDocument({url:t})})}browserPrint(){this.printCallback(this.iframeWin)}cleanUp(){delete this.window.printInstance,this.removeIframe&&this.iframe.parentElement.removeChild(this.iframe)}};function
|
|
1543
|
+
</html>`,document.body.appendChild(this.iframe)}runInIframe(e){return this.iframeWin=e,this.preparePrint().then(()=>this.browserPrint()).then(()=>this.cleanUp())}preparePrint(){this.iframeWin.document.title=this.title;let e=new Blob([this.htmlDoc],{type:"text/html"}),t=URL.createObjectURL(e),i=new Ju({viewportElement:this.iframeWin.document.body.firstElementChild,window:this.iframeWin,debug:!0});return new Promise(n=>{i.addListener("readystatechange",()=>{i.readyState==="complete"&&n()}),this.errorCallback&&i.addListener("error",s=>{var r,o;let a=(o=(r=s.content.error)==null?void 0:r.toString())!=null?o:s.content.messages.join(`
|
|
1544
|
+
`);this.errorCallback(a)}),i.loadDocument({url:t})})}browserPrint(){this.printCallback(this.iframeWin)}cleanUp(){delete this.window.printInstance,this.removeIframe&&this.iframe.parentElement.removeChild(this.iframe)}};function Ww(e,t){new Gw(e,t).init()}});var jw=dc(tc());var export_printHTML=jw.printHTML;export{export_printHTML as printHTML};
|
|
1541
1545
|
//# sourceMappingURL=index.es6.js.map
|