UNPKG

@vivliostyle/core

Version:

Vivliostyle Core library for HTML+CSS typesetting with EPUB/Web publications support

4 lines 607 kB
"use strict";var bg=Object.create;var Io=Object.defineProperty;var xg=Object.getOwnPropertyDescriptor;var yg=Object.getOwnPropertyNames;var Eg=Object.getPrototypeOf,Sg=Object.prototype.hasOwnProperty;var Ng=(r,t,e)=>t in r?Io(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e;var vg=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),Tg=(r,t)=>{for(var e in t)Io(r,e,{get:t[e],enumerable:!0})},Ep=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of yg(t))!Sg.call(r,s)&&s!==e&&Io(r,s,{get:()=>t[s],enumerable:!(n=xg(t,s))||n.enumerable});return r};var wg=(r,t,e)=>(e=r!=null?bg(Eg(r)):{},Ep(t||!r||!r.__esModule?Io(e,"default",{value:r,enumerable:!0}):e,r)),Pg=r=>Ep(Io({},"__esModule",{value:!0}),r);var d=(r,t,e)=>Ng(r,typeof t!="symbol"?t+"":t,e);var Sh=vg((zb,Eh)=>{var xt=-1,nt=1,Me=0;function Qo(r,t,e,n,s){if(r===t)return r?[[Me,r]]:[];if(e!=null){var o=Wm(r,t,e);if(o)return o}var i=vc(r,t),a=r.substring(0,i);r=r.substring(i),t=t.substring(i),i=Or(r,t);var l=r.substring(r.length-i);r=r.substring(0,r.length-i),t=t.substring(0,t.length-i);var c=Om(r,t);return a&&c.unshift([Me,a]),l&&c.push([Me,l]),Tc(c,s),n&&_m(c),c}function Om(r,t){var e;if(!r)return[[nt,t]];if(!t)return[[xt,r]];var n=r.length>t.length?r:t,s=r.length>t.length?t:r,o=n.indexOf(s);if(o!==-1)return e=[[nt,n.substring(0,o)],[Me,s],[nt,n.substring(o+s.length)]],r.length>t.length&&(e[0][0]=e[2][0]=xt),e;if(s.length===1)return[[xt,r],[nt,t]];var i=Mm(r,t);if(i){var a=i[0],l=i[1],c=i[2],u=i[3],p=i[4],h=Qo(a,c),f=Qo(l,u);return h.concat([[Me,p]],f)}return Dm(r,t)}function Dm(r,t){for(var e=r.length,n=t.length,s=Math.ceil((e+n)/2),o=s,i=2*s,a=new Array(i),l=new Array(i),c=0;c<i;c++)a[c]=-1,l[c]=-1;a[o+1]=0,l[o+1]=0;for(var u=e-n,p=u%2!==0,h=0,f=0,g=0,m=0,E=0;E<s;E++){for(var y=-E+h;y<=E-f;y+=2){var C=o+y,x;y===-E||y!==E&&a[C-1]<a[C+1]?x=a[C+1]:x=a[C-1]+1;for(var N=x-y;x<e&&N<n&&r.charAt(x)===t.charAt(N);)x++,N++;if(a[C]=x,x>e)f+=2;else if(N>n)h+=2;else if(p){var S=o+u-y;if(S>=0&&S<i&&l[S]!==-1){var w=e-l[S];if(x>=w)return ph(r,t,x,N)}}}for(var k=-E+g;k<=E-m;k+=2){var S=o+k,w;k===-E||k!==E&&l[S-1]<l[S+1]?w=l[S+1]:w=l[S-1]+1;for(var I=w-k;w<e&&I<n&&r.charAt(e-w-1)===t.charAt(n-I-1);)w++,I++;if(l[S]=w,w>e)m+=2;else if(I>n)g+=2;else if(!p){var C=o+u-k;if(C>=0&&C<i&&a[C]!==-1){var x=a[C],N=o+x-C;if(w=e-w,x>=w)return ph(r,t,x,N)}}}}return[[xt,r],[nt,t]]}function ph(r,t,e,n){var s=r.substring(0,e),o=t.substring(0,n),i=r.substring(e),a=t.substring(n),l=Qo(s,o),c=Qo(i,a);return l.concat(c)}function vc(r,t){if(!r||!t||r.charAt(0)!==t.charAt(0))return 0;for(var e=0,n=Math.min(r.length,t.length),s=n,o=0;e<s;)r.substring(o,s)==t.substring(o,s)?(e=s,o=e):n=s,s=Math.floor((n-e)/2+e);return Ch(r.charCodeAt(s-1))&&s--,s}function hh(r,t){var e=r.length,n=t.length;if(e==0||n==0)return 0;e>n?r=r.substring(e-n):e<n&&(t=t.substring(0,e));var s=Math.min(e,n);if(r==t)return s;for(var o=0,i=1;;){var a=r.substring(s-i),l=t.indexOf(a);if(l==-1)return o;i+=l,(l==0||r.substring(s-i)==t.substring(0,i))&&(o=i,i++)}}function Or(r,t){if(!r||!t||r.slice(-1)!==t.slice(-1))return 0;for(var e=0,n=Math.min(r.length,t.length),s=n,o=0;e<s;)r.substring(r.length-s,r.length-o)==t.substring(t.length-s,t.length-o)?(e=s,o=e):n=s,s=Math.floor((n-e)/2+e);return bh(r.charCodeAt(r.length-s))&&s--,s}function Mm(r,t){var e=r.length>t.length?r:t,n=r.length>t.length?t:r;if(e.length<4||n.length*2<e.length)return null;function s(f,g,m){for(var E=f.substring(m,m+Math.floor(f.length/4)),y=-1,C="",x,N,S,w;(y=g.indexOf(E,y+1))!==-1;){var k=vc(f.substring(m),g.substring(y)),I=Or(f.substring(0,m),g.substring(0,y));C.length<I+k&&(C=g.substring(y-I,y)+g.substring(y,y+k),x=f.substring(0,m-I),N=f.substring(m+k),S=g.substring(0,y-I),w=g.substring(y+k))}return C.length*2>=f.length?[x,N,S,w,C]:null}var o=s(e,n,Math.ceil(e.length/4)),i=s(e,n,Math.ceil(e.length/2)),a;if(!o&&!i)return null;i?o?a=o[4].length>i[4].length?o:i:a=i:a=o;var l,c,u,p;r.length>t.length?(l=a[0],c=a[1],u=a[2],p=a[3]):(u=a[0],p=a[1],l=a[2],c=a[3]);var h=a[4];return[l,c,u,p,h]}function _m(r){for(var t=!1,e=[],n=0,s=null,o=0,i=0,a=0,l=0,c=0;o<r.length;)r[o][0]==Me?(e[n++]=o,i=l,a=c,l=0,c=0,s=r[o][1]):(r[o][0]==nt?l+=r[o][1].length:c+=r[o][1].length,s&&s.length<=Math.max(i,a)&&s.length<=Math.max(l,c)&&(r.splice(e[n-1],0,[xt,s]),r[e[n-1]+1][0]=nt,n--,n--,o=n>0?e[n-1]:-1,i=0,a=0,l=0,c=0,s=null,t=!0)),o++;for(t&&Tc(r),zm(r),o=1;o<r.length;){if(r[o-1][0]==xt&&r[o][0]==nt){var u=r[o-1][1],p=r[o][1],h=hh(u,p),f=hh(p,u);h>=f?(h>=u.length/2||h>=p.length/2)&&(r.splice(o,0,[Me,p.substring(0,h)]),r[o-1][1]=u.substring(0,u.length-h),r[o+1][1]=p.substring(h),o++):(f>=u.length/2||f>=p.length/2)&&(r.splice(o,0,[Me,u.substring(0,f)]),r[o-1][0]=nt,r[o-1][1]=p.substring(0,p.length-f),r[o+1][0]=xt,r[o+1][1]=u.substring(f),o++),o++}o++}}var fh=/[^a-zA-Z0-9]/,gh=/\s/,mh=/[\r\n]/,Um=/\n\r?\n$/,Hm=/^\r?\n\r?\n/;function zm(r){function t(f,g){if(!f||!g)return 6;var m=f.charAt(f.length-1),E=g.charAt(0),y=m.match(fh),C=E.match(fh),x=y&&m.match(gh),N=C&&E.match(gh),S=x&&m.match(mh),w=N&&E.match(mh),k=S&&f.match(Um),I=w&&g.match(Hm);return k||I?5:S||w?4:y&&!x&&N?3:x||N?2:y||C?1:0}for(var e=1;e<r.length-1;){if(r[e-1][0]==Me&&r[e+1][0]==Me){var n=r[e-1][1],s=r[e][1],o=r[e+1][1],i=Or(n,s);if(i){var a=s.substring(s.length-i);n=n.substring(0,n.length-i),s=a+s.substring(0,s.length-i),o=a+o}for(var l=n,c=s,u=o,p=t(n,s)+t(s,o);s.charAt(0)===o.charAt(0);){n+=s.charAt(0),s=s.substring(1)+o.charAt(0),o=o.substring(1);var h=t(n,s)+t(s,o);h>=p&&(p=h,l=n,c=s,u=o)}r[e-1][1]!=l&&(l?r[e-1][1]=l:(r.splice(e-1,1),e--),r[e][1]=c,u?r[e+1][1]=u:(r.splice(e+1,1),e--))}e++}}function Tc(r,t){r.push([Me,""]);for(var e=0,n=0,s=0,o="",i="",a;e<r.length;){if(e<r.length-1&&!r[e][1]){r.splice(e,1);continue}switch(r[e][0]){case nt:s++,i+=r[e][1],e++;break;case xt:n++,o+=r[e][1],e++;break;case Me:var l=e-s-n-1;if(t){if(l>=0&&yh(r[l][1])){var c=r[l][1].slice(-1);if(r[l][1]=r[l][1].slice(0,-1),o=c+o,i=c+i,!r[l][1]){r.splice(l,1),e--;var u=l-1;r[u]&&r[u][0]===nt&&(s++,i=r[u][1]+i,u--),r[u]&&r[u][0]===xt&&(n++,o=r[u][1]+o,u--),l=u}}if(xh(r[e][1])){var c=r[e][1].charAt(0);r[e][1]=r[e][1].slice(1),o+=c,i+=c}}if(e<r.length-1&&!r[e][1]){r.splice(e,1);break}if(o.length>0||i.length>0){o.length>0&&i.length>0&&(a=vc(i,o),a!==0&&(l>=0?r[l][1]+=i.substring(0,a):(r.splice(0,0,[Me,i.substring(0,a)]),e++),i=i.substring(a),o=o.substring(a)),a=Or(i,o),a!==0&&(r[e][1]=i.substring(i.length-a)+r[e][1],i=i.substring(0,i.length-a),o=o.substring(0,o.length-a)));var p=s+n;o.length===0&&i.length===0?(r.splice(e-p,p),e=e-p):o.length===0?(r.splice(e-p,p,[nt,i]),e=e-p+1):i.length===0?(r.splice(e-p,p,[xt,o]),e=e-p+1):(r.splice(e-p,p,[xt,o],[nt,i]),e=e-p+2)}e!==0&&r[e-1][0]===Me?(r[e-1][1]+=r[e][1],r.splice(e,1)):e++,s=0,n=0,o="",i="";break}}r[r.length-1][1]===""&&r.pop();var h=!1;for(e=1;e<r.length-1;)r[e-1][0]===Me&&r[e+1][0]===Me&&(r[e][1].substring(r[e][1].length-r[e-1][1].length)===r[e-1][1]?(r[e][1]=r[e-1][1]+r[e][1].substring(0,r[e][1].length-r[e-1][1].length),r[e+1][1]=r[e-1][1]+r[e+1][1],r.splice(e-1,1),h=!0):r[e][1].substring(0,r[e+1][1].length)==r[e+1][1]&&(r[e-1][1]+=r[e+1][1],r[e][1]=r[e][1].substring(r[e+1][1].length)+r[e+1][1],r.splice(e+1,1),h=!0)),e++;h&&Tc(r,t)}function Ch(r){return r>=55296&&r<=56319}function bh(r){return r>=56320&&r<=57343}function xh(r){return bh(r.charCodeAt(0))}function yh(r){return Ch(r.charCodeAt(r.length-1))}function Gm(r){for(var t=[],e=0;e<r.length;e++)r[e][1].length>0&&t.push(r[e]);return t}function Nc(r,t,e,n){return yh(r)||xh(n)?null:Gm([[Me,r],[xt,t],[nt,e],[Me,n]])}function Wm(r,t,e){var n=typeof e=="number"?{index:e,length:0}:e.oldRange,s=typeof e=="number"?null:e.newRange,o=r.length,i=t.length;if(n.length===0&&(s===null||s.length===0)){var a=n.index,l=r.slice(0,a),c=r.slice(a),u=s?s.index:null;e:{var p=a+i-o;if(u!==null&&u!==p||p<0||p>i)break e;var h=t.slice(0,p),f=t.slice(p);if(f!==c)break e;var g=Math.min(a,p),m=l.slice(0,g),E=h.slice(0,g);if(m!==E)break e;var y=l.slice(g),C=h.slice(g);return Nc(m,y,C,c)}e:{if(u!==null&&u!==a)break e;var x=a,h=t.slice(0,x),f=t.slice(x);if(h!==l)break e;var N=Math.min(o-x,i-x),S=c.slice(c.length-N),w=f.slice(f.length-N);if(S!==w)break e;var y=c.slice(0,c.length-N),C=f.slice(0,f.length-N);return Nc(l,y,C,S)}}if(n.length>0&&s&&s.length===0)e:{var m=r.slice(0,n.index),S=r.slice(n.index+n.length),g=m.length,N=S.length;if(i<g+N)break e;var E=t.slice(0,g),w=t.slice(i-N);if(m!==E||S!==w)break e;var y=r.slice(g,o-N),C=t.slice(g,i-N);return Nc(m,y,C,S)}return null}function Dr(r,t,e,n){return Qo(r,t,e,n,!0)}Dr.INSERT=nt;Dr.DELETE=xt;Dr.EQUAL=Me;Eh.exports=Dr});var Sb={};Tg(Sb,{CoreViewer:()=>Wi,HOOKS:()=>ht,Navigation:()=>pg,PageProgression:()=>ss,PageSide:()=>Vo,PageViewMode:()=>yb,Profiler:()=>Ki,ReadyState:()=>pl,UserAgentBaseCss:()=>dc,UserAgentPageCss:()=>uc,UserAgentTocCss:()=>pc,UserAgentXml:()=>cc,ValidationTxt:()=>lc,VivliostylePolyfillCss:()=>hc,VivliostyleViewportCss:()=>ac,VivliostyleViewportScreenCss:()=>rc,ZoomType:()=>xb,getHooksForName:()=>We,isDebug:()=>ns,pageProgressionOf:()=>dl,plugin:()=>kg,printHTML:()=>Eb,profile:()=>Ig,profiler:()=>Ye,registerHook:()=>_e,removeHook:()=>Sp,setDebug:()=>ul});module.exports=Pg(Sb);var ns=!1;function ul(r){ns=r}var ss=(e=>(e.LTR="ltr",e.RTL="rtl",e))(ss||{});function dl(r){switch(r){case"ltr":return"ltr";case"rtl":return"rtl";default:throw new Error(`unknown PageProgression: ${r}`)}}var Vo=(e=>(e.LEFT="left",e.RIGHT="right",e))(Vo||{}),pl=(n=>(n.LOADING="loading",n.INTERACTIVE="interactive",n.COMPLETE="complete",n))(pl||{});var fl=(s=>(s[s.DEBUG=1]="DEBUG",s[s.INFO=2]="INFO",s[s.WARN=3]="WARN",s[s.ERROR=4]="ERROR",s))(fl||{}),hl=class{constructor(t){this.opt_console=t;d(this,"listeners",{})}consoleDebug(t){this.opt_console?this.opt_console.debug?this.opt_console.debug(...t):this.opt_console.log(...t):console.debug(...t)}consoleInfo(t){this.opt_console?this.opt_console.info?this.opt_console.info(...t):this.opt_console.log(...t):console.info(...t)}consoleWarn(t){this.opt_console?this.opt_console.warn?this.opt_console.warn(...t):this.opt_console.log(...t):console.warn(...t)}consoleError(t){this.opt_console?this.opt_console.error?this.opt_console.error(...t):this.opt_console.log(...t):console.error(...t)}triggerListeners(t,e){let n=this.listeners[t];n&&n(e)}addListener(t,e){this.listeners[t]=e}debug(...t){let e=Xi(arguments);this.consoleDebug(ji(e)),this.triggerListeners(1,e)}info(...t){let e=Xi(arguments);this.consoleInfo(ji(e)),this.triggerListeners(2,e)}warn(...t){let e=Xi(arguments);this.consoleWarn(ji(e)),this.triggerListeners(3,e)}error(...t){let e=Xi(arguments);this.consoleError(ji(e)),this.triggerListeners(4,e)}};function Xi(r){let t=Array.from(r),e=null;return t[0]instanceof Error&&(e=t.shift()),{error:e,messages:t}}function ji(r){let t=r.error,e=t&&(t.frameTrace||t.stack),n=[].concat(r.messages);return t&&(n.length>0&&(n=n.concat([` `])),n=n.concat([t.toString()]),e&&(n=n.concat([` `]).concat(e))),n}var V=new hl;var ht=(u=>(u.SIMPLE_PROPERTY="SIMPLE_PROPERTY",u.PREPROCESS_SINGLE_DOCUMENT="PREPROCESS_SINGLE_DOCUMENT",u.PREPROCESS_TEXT_CONTENT="PREPROCESS_TEXT_CONTENT",u.PREPROCESS_ELEMENT_STYLE="PREPROCESS_ELEMENT_STYLE",u.POLYFILLED_INHERITED_PROPS="POLYFILLED_INHERITED_PROPS",u.CONFIGURATION="CONFIGURATION",u.RESOLVE_TEXT_NODE_BREAKER="RESOLVE_TEXT_NODE_BREAKER",u.RESOLVE_FORMATTING_CONTEXT="RESOLVE_FORMATTING_CONTEXT",u.RESOLVE_LAYOUT_PROCESSOR="RESOLVE_LAYOUT_PROCESSOR",u.POST_LAYOUT_BLOCK="POST_LAYOUT_BLOCK",u))(ht||{}),Yi={};function _e(r,t,e){if(!ht[r])V.warn(new Error(`Skipping unknown plugin hook '${r}'.`));else{let n=Yi[r];n||(n=Yi[r]=[]),e?n.unshift(t):n.push(t)}}function Sp(r,t){if(!ht[r])V.warn(new Error(`Ignoring unknown plugin hook '${r}'.`));else{let e=Yi[r];if(e){let n=e.indexOf(t);n>=0&&e.splice(n,1)}}}function We(r){return Yi[r]||[]}var kg={registerHook:_e,removeHook:Sp};var Ki=class{constructor(t){this.performanceInstance=t;d(this,"timestamps",{});d(this,"registerTiming");d(this,"registerStartTiming");d(this,"registerEndTiming");this.registerTiming=_s,this.registerStartTiming=this.registerStartTiming=_s,this.registerEndTiming=this.registerEndTiming=_s}forceRegisterStartTiming(t,e){gl.call(this,t,"start",e)}forceRegisterEndTiming(t,e){gl.call(this,t,"end",e)}printTimings(){let t=this.timestamps,e="";Object.keys(t).forEach(n=>{let s=t[n],o=s.length;for(let i=0;i<o;i++){let a=s[i];e+=n,o>1&&(e+=`(${i})`),e+=` => start: ${a.start}, end: ${a.end}, duration: ${a.end-a.start} `}}),V.info(e)}disable(){this.registerTiming=_s,this.registerStartTiming=this.registerStartTiming=_s,this.registerEndTiming=this.registerEndTiming=_s}enable(){this.registerTiming=gl,this.registerStartTiming=this.registerStartTiming=Np,this.registerEndTiming=this.registerEndTiming=Ag}isEnabled(){return this.registerStartTiming===Np}};function _s(){}function gl(r,t,e){e||(e=this.performanceInstance.now());let n=this.timestamps[r];n||(n=this.timestamps[r]=[]);let s,o=n.length;for(let i=o-1;i>=0&&(s=n[i],!(s&&!s[t]));i--)s=null;s||(s={},n.push(s)),s[t]=e}function Np(r,t){this.registerTiming(r,"start",t)}function Ag(r,t){this.registerTiming(r,"end",t)}var Lg={now:Date.now},Rg=window&&window.performance,Ye=new Ki(Rg||Lg);Ye.forceRegisterStartTiming("load_vivliostyle");var Ig={profiler:{registerStartTiming:Ye.registerStartTiming,registerEndTiming:Ye.registerEndTiming,printTimings:Ye.printTimings,disable:Ye.disable,enable:Ye.enable}};var Bo=/^[\s\p{Zs}\p{P}\p{Mn}]*[\p{L}\p{N}]\p{Mn}*(?:[\s\p{Zs}]*\p{P}\p{Mn}*)*/u,Rt="data-adapt-eloff",Tp={};function Hs(r){return JSON.parse(r)}function Tt(r){let t=r.match(/^([^#]*)/);return t?t[1]:r}function Vg(r){let t=r.match(/^([^#?]*)/);return t?t[1]:r}var rn=window.location.href;function Cl(r){rn=r}var $t=window.location.href;function bl(r){$t=r}function Q(r,t){if(/^data:/i.test(t))return r||t;if(!t||r.match(/^\w{2,}:/))return r.toLowerCase().match("^javascript:")?"#":(r.match(/^\w{2,}:\/\/[^\/]+$/)&&(r=`${r}/`),r);t.match(/^\w{2,}:\/\/[^\/]+$/)&&(t=`${t}/`);let e;if(r.match(/^\/\//))return e=t.match(/^(\w{2,}:)\/\//),e?e[1]+r:r;if(r.match(/^\//))return e=t.match(/^(\w{2,}:\/\/[^\/]+)\//),e?e[1]+r:r;if(r.match(/^\.(\/|$)/)&&(r=r.substr(2)),t=Vg(t),r.match(/^#/))return t+r;let n=t.lastIndexOf("/");if(n<0)return r;let s=t.substr(0,n+1)+r,o="";for(e=s.match(/^([^?#]*)([?#].*)$/),e&&(s=e[1],o=e[2]);n=s.indexOf("/../"),!(n<=0);){let i=s.lastIndexOf("/",n-1);if(i<=0)break;s=s.substr(0,i)+s.substr(n+3)}return s.replace(/\/(\.\/)+/g,"/")+o}function Tn(r){let t;return(t=/^(https?:)\/\/github\.com\/([^/]+\/[^/]+)\/(blob\/|tree\/|raw\/)?(.*)$/.exec(r))?r=`${t[1]}//raw.githubusercontent.com/${t[2]}/${t[3]?"":"master/"}${t[4]}`:(t=/^(https?:)\/\/www\.aozora\.gr\.jp\/(cards\/[^/]+\/files\/[^/.]+\.html)$/.exec(r))?r=`${t[1]}//raw.githubusercontent.com/aozorabunko/aozorabunko/master/${t[2]}`:(t=/^(https?:)\/\/gist\.github\.com\/([^/]+\/\w+)(\/|$)(raw(\/|$))?(.*)$/.exec(r))?r=`${t[1]}//gist.githubusercontent.com/${t[2]}/raw/${t[6]}`:(t=/^(https?:)\/\/gist\.github\.com\/([^/]+\/\w+)#file-(.*)-(\w+)$/.exec(r))?r=`${t[1]}//gist.githubusercontent.com/${t[2]}/raw/${t[3]}.${t[4]}`:(t=/^(https?:)\/\/(?:[^/.]+\.)?jsbin\.com\/(?!(?:blog|help)\b)(\w+)((\/\d+)?).*$/.exec(r))&&(r=`${t[1]}//output.jsbin.com/${t[2]}${t[3]}/`),r}function xl(r){return r==null?r:r.toString()}var qi=class{constructor(){d(this,"queue",[null])}length(){return this.queue.length-1}add(t){let e=this.queue.length;for(;e>1;){let n=Math.floor(e/2),s=this.queue[n];if(s.compare(t)>0){this.queue[e]=t;return}this.queue[e]=s,e=n}this.queue[1]=t}peek(){return this.queue[1]}remove(){let t=this.queue[1],e=this.queue.pop(),n=this.queue.length;if(n>1){let s=1;for(;;){let o=s*2;if(o>=n)break;if(this.queue[o].compare(e)>0)o+1<n&&this.queue[o+1].compare(this.queue[o])>0&&o++;else if(o+1<n&&this.queue[o+1].compare(e)>0)o++;else break;this.queue[s]=this.queue[o],s=o}this.queue[s]=e}return t}},yl=["","-webkit-","-moz-"],Us={};function ml(r,t){return CSS.supports(r+t,"unset")}function Fg(r){let t=Us[r];if(t||t===null)return t;switch(r){case"behavior":case"template":case"ua-list-item-count":case"x-first-pseudo":return Us[r]=null,null;case"text-combine-upright":if(ml("-webkit-","text-combine")&&!ml("","text-combine-upright"))return Us[r]=["-webkit-text-combine"],["-webkit-text-combine"];break}for(let e of yl)if(ml(e,r))return t=[e+r],Us[r]=t,t;return V.warn("Property not supported by the browser: ",r),Us[r]=null,null}function T(r,t,e){let n=r==null?void 0:r.style;if(!n)return;if(t.startsWith("--")){n.setProperty(t,e||" ");return}let s=Fg(t);if(s)for(let o of s){switch(o){case"-webkit-text-combine":switch(e){case"all":e="horizontal";break}break;case"text-combine-upright":switch(e){case"all":n.setProperty("text-indent","0");break}break}n.setProperty(o,e)}}function It(r,t,e){try{let n=Us[t];return r.style.getPropertyValue(n?n[0]:t)}catch(n){}return e||""}function Oo(r){let t=r.getAttributeNS("http://www.w3.org/XML/1998/namespace","lang");return!t&&r.namespaceURI=="http://www.w3.org/1999/xhtml"&&(t=r.getAttribute("lang")),t}var Xe=class{constructor(){d(this,"list",[])}append(t){return this.list.push(t),this}clear(){this.list=[]}toString(){let t=this.list.join("");return this.list=[t],t}};function wp(r){return`\\${r.charCodeAt(0).toString(16)} `}function Xt(r){return r.replace(/[^-_a-zA-Z0-9\u0080-\uFFFF]/g,wp)}function os(r){return r.replace(/[\u0000-\u001F"\\]/g,wp)}function El(r){return r.replace(/[\s+&?=#\u007F-\uFFFF]+/g,encodeURIComponent)}function Sl(r){return!!r.match(/^[a-zA-Z\u009E\u009F\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u024F\u037B-\u037D\u0386\u0388-\u0482\u048A-\u0527]$/)}function Bg(r,t){return t=typeof t=="string"?t:"\\u",t+(65536|r.charCodeAt(0)).toString(16).substr(1)}function Nl(r,t){function e(n){return Bg(n,t)}return r.replace(/[^-a-zA-Z0-9_]/g,e)}function an(r){return Nl(r)}function Og(r,t){return t=typeof t=="string"?t:"\\u",r.indexOf(t)===0?String.fromCharCode(parseInt(r.substring(t.length),16)):r}function Pp(r,t){t=typeof t=="string"?t:"\\u";function e(s){return Og(s,t)}let n=new RegExp(`${an(t)}[0-9a-fA-F]{4}`,"g");return r.replace(n,e)}function ft(r,t){let e=0,n=r;for(;;){if(e<=n,e==0||t(e-1),n==r||t(n),e==n)return e;let s=e+n>>1;t(s)?n=s:e=s+1}}function Zi(r,t){return r-t}function vl(r,t){let e={};for(let n of r){let s=t(n);s&&!e[s]&&(e[s]=n)}return e}function kp(r){let t={};for(let e=0;e<r.length;e++)t[r[e]]=!0;return t}function Qi(r,t){let e={};for(let n of r){let s=t(n);s&&(e[s]?e[s].push(n):e[s]=[n])}return e}function Ap(r,t){let e={};for(let n in r)e[n]=t(r[n],n);return e}var vn=class{constructor(){d(this,"listeners",{})}dispatchEvent(t){let e=this.listeners[t.type];if(e){t.target=this,t.currentTarget=this;for(let n=0;n<e.length;n++)e[n](t)}}addEventListener(t,e,n){if(n)return;let s=this.listeners[t];s?s.includes(e)||s.push(e):this.listeners[t]=[e]}removeEventListener(t,e,n){if(n)return;let s=this.listeners[t];if(s){let o=s.indexOf(e);o>=0&&s.splice(o,1)}}},jt={audio:!0,canvas:!0,embed:!0,iframe:!0,img:!0,math:!0,object:!0,picture:!0,svg:!0,video:!0};function Ip(r){if(r.nodeType==1){let t=r.getAttribute("id");if(t)return t}return null}function Dg(r){return`^${r}`}function Lp(r){return r.replace(/[\[\]\(\),=;^]/g,Dg)}function Mg(r){return r.substr(1)}function Tl(r){return r&&r.replace(/\^[\[\]\(\),=;^]/g,Mg)}function _g(r){let t=[];do{let e=r.match(/^(\^,|[^,])*/),n=Tl(e[0]);if(r=r.substr(e[0].length+1),!r&&!t.length)return n;t.push(n)}while(r);return t}function Rp(r){let t={};for(;r;){let e=r.match(/^;([^;=]+)=(([^;]|\^;)*)/);if(!e)return t;t[e[1]]=_g(e[2]),r=r.substr(e[0].length)}return t}var Ji=class{appendTo(t){t.append("!")}applyTo(t){return!1}},er=class{constructor(t,e,n){this.index=t;this.id=e;this.sideBias=n}appendTo(t){t.append("/"),t.append(this.index.toString()),(this.id||this.sideBias)&&(t.append("["),this.id&&t.append(this.id),this.sideBias&&(t.append(";s="),t.append(this.sideBias)),t.append("]"))}applyTo(t){if(t.node.nodeType!=1)throw new Error("E_CFI_NOT_ELEMENT");let e=t.node,n=e.children,s=n.length,o,i=Math.floor(this.index/2)-1;if(i<0||s==0)o=e.firstChild,t.node=o||e;else{if(o=n[Math.min(i,s-1)],this.index&1){let a=o.nextSibling;!a||a.nodeType==1?t.after=!0:o=a}t.node=o}if(this.id&&(t.after||this.id!=Ip(t.node))){let a=e.ownerDocument.getElementById(this.id);a?t.node=a:V.warn("E_CFI_ID_MISMATCH:",this.id)}return t.sideBias=this.sideBias,!0}},tr=class{constructor(t,e,n,s){this.offset=t;this.textBefore=e;this.textAfter=n;this.sideBias=s}applyTo(t){if(this.offset>0&&!t.after){let e=this.offset,n=t.node;for(;;){let s=n.nodeType;if(s==1)break;let o=n.nextSibling;if(3<=s&&s<=5){let i=n.textContent.length;if(e<=i)break;if(!o){e=i;break}e-=i}if(!o){e=0;break}n=o}t.node=n,t.offset=e}return t.sideBias=this.sideBias,!0}appendTo(t){t.append(":"),t.append(this.offset.toString()),(this.textBefore||this.textAfter||this.sideBias)&&(t.append("["),(this.textBefore||this.textAfter)&&(this.textBefore&&t.append(Lp(this.textBefore)),t.append(","),this.textAfter&&t.append(Lp(this.textAfter))),this.sideBias&&(t.append(";s="),t.append(this.sideBias)),t.append("]"))}},Do=class r{constructor(){d(this,"steps",null)}fromString(t){let e=t.match(/^#?epubcfi\((.*)\)$/);if(!e)throw new Error("E_CFI_NOT_CFI");let n=decodeURIComponent(e[1]),s=0,o=[];for(;;){let i;switch(n.charAt(s)){case"/":{if(s++,e=n.substr(s).match(/^(0|[1-9][0-9]*)(\[(.*?)(;([^\]]|\^\])*)?\])?/),!e)throw new Error("E_CFI_NUMBER_EXPECTED");s+=e[0].length;let a=parseInt(e[1],10),l=e[3];i=Rp(e[4]),o.push(new er(a,l,xl(i.s)));break}case":":{if(s++,e=n.substr(s).match(/^(0|[1-9][0-9]*)(\[((([^\];,]|\^[\];,])*)(,(([^\];,]|\^[\];,])*))?)(;([^]]|\^\])*)?\])?/),!e)throw new Error("E_CFI_NUMBER_EXPECTED");s+=e[0].length;let a=parseInt(e[1],10),l=e[4];l&&(l=Tl(l));let c=e[7];c&&(c=Tl(c)),i=Rp(e[10]),o.push(new tr(a,l,c,xl(i.s)));break}case"!":s++,o.push(new Ji);break;case"~":case"@":case"":this.steps=o;return;default:throw new Error("E_CFI_PARSE_ERROR")}}}navigate(t){let e={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(e)){e.ref=new r,e.ref.steps=this.steps.slice(n+1);break}return e}trim(t,e){return t.replace(/\s+/g," ").match(e?/^[ -\uD7FF\uE000-\uFFFF]{0,8}/:/[ -\uD7FF\uE000-\uFFFF]{0,8}$/)[0].replace(/^\s/,"").replace(/\s$/,"")}prependPathFromNode(t,e,n,s){let o=[],i=t.parentNode,a="",l="";for(;t;){switch(t.nodeType){case 3:case 4:case 5:{let c=t.textContent,u=c.length;n?(e+=u,a||(a=c)):(e>u&&(e=u),n=!0,a=c.substr(0,e),l=c.substr(e)),t=t.previousSibling;continue}case 8:t=t.previousSibling;continue}break}for((e>0||a||l)&&(a=this.trim(a,!1),l=this.trim(l,!0),o.push(new tr(e,a,l,s)),s=null);i&&!(!i||i.nodeType==9);){let c=n?null:Ip(t),u=n?1:0;for(;t;)t.nodeType==1&&(u+=2),t=t.previousSibling;o.push(new er(u,c,s)),s=null,t=i,i=i.parentNode,n=!1}o.reverse(),this.steps?(o.push(new Ji),this.steps=o.concat(this.steps)):this.steps=o}toString(){if(!this.steps)return"";let t=new Xe;t.append("epubcfi(");for(let e=0;e<this.steps.length;e++)this.steps[e].appendTo(t);return t.append(")"),t.toString().replace(/%/g,"%25")}};function Pl(){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 gr(r){return{fontFamily:r.fontFamily,lineHeight:r.lineHeight,margin:r.margin,hyphenate:r.hyphenate,columnWidth:r.columnWidth,horizontal:r.horizontal,nightMode:r.nightMode,spreadView:r.spreadView,pageBorder:r.pageBorder,enabledMediaTypes:Object.assign({},r.enabledMediaTypes),defaultPaperSize:r.defaultPaperSize?Object.assign({},r.defaultPaperSize):void 0}}var Hg=Pl(),Vp={PENDING:{}};function kl(r,t,e,n){let s=Math.min((r-0)/e,(t-0)/n);return`matrix(${s},0,0,${s},0,0)`}function wl(r){return`"${os(`${r}`)}"`}function zg(r){return Xt(`${r}`)}function Wo(r,t){return r?`${Xt(r)}.${Xt(t)}`:Xt(t)}var Fp=0,is=class{constructor(t,e){this.parent=t;this.resolver=e;d(this,"scopeKey");d(this,"children",[]);d(this,"zero");d(this,"one");d(this,"_true");d(this,"_false");d(this,"values",{});d(this,"funcs",{});d(this,"builtIns",{});if(this.scopeKey=`S${Fp++}`,this.zero=new oe(this,0),this.one=new oe(this,1),this._true=new oe(this,!0),this._false=new oe(this,!1),t&&t.children.push(this),!t){let n=this.builtIns;n.floor=Math.floor,n.ceil=Math.ceil,n.round=Math.round,n.sqrt=Math.sqrt,n.min=Math.min,n.max=Math.max,n.letterbox=kl,n["css-string"]=wl,n["css-name"]=zg,n.typeof=s=>typeof s,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 wl(this.pubTitle?this.pubTitle:"")}),this.defineBuiltInName("doc-title",function(){return wl(this.docTitle?this.docTitle:"")})}}defineBuiltInName(t,e){this.values[t]=new ie(this,e,t)}defineName(t,e){this.values[t]=e}defineFunc(t,e){this.funcs[t]=e}defineBuiltIn(t,e){this.builtIns[t]=e}};function Bp(r){switch(r==null?void 0:r.toLowerCase()){case"px":case"in":case"pt":case"pc":case"cm":case"mm":case"q":return!0;default:return!1}}function Al(r){switch(r==null?void 0:r.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 Op(r){switch(r==null?void 0:r.toLowerCase()){case"em":case"ex":case"rem":case"lh":case"rlh":return!0;default:return!1}}function Dp(r){switch(r==null?void 0:r.toLowerCase()){case"rem":case"rlh":return!0;default:return!1}}var $={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 mr(r){switch(r){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 zs=class{constructor(t,e,n,s){this.rootScope=t;this.viewportWidth=e;this.viewportHeight=n;d(this,"actualPageWidth",null);d(this,"pageWidth");d(this,"actualPageHeight",null);d(this,"pageHeight");d(this,"initialFontSize");d(this,"rootFontSize",null);d(this,"isRelativeRootFontSize",null);d(this,"fontSize");d(this,"rootLineHeight",null);d(this,"pref");d(this,"scopes",{});d(this,"pageAreaWidth",null);d(this,"pageAreaHeight",null);d(this,"pageVertical",null);d(this,"pubTitle",null);d(this,"docTitle",null);this.pageWidth=function(){return this.actualPageWidth?this.actualPageWidth:this.pref.spreadView?Math.floor(e/2)-this.pref.pageBorder:e},this.pageHeight=function(){return this.actualPageHeight?this.actualPageHeight:n},this.initialFontSize=s,this.fontSize=function(){return this.rootFontSize?this.rootFontSize:s},this.pref=Hg}getScopeContext(t){let e=this.scopes[t.scopeKey];return e||(e={},this.scopes[t.scopeKey]=e),e}clearScope(t){this.scopes[t.scopeKey]={};for(let e=0;e<t.children.length;e++)this.clearScope(t.children[e])}queryUnitSize(t,e,n){if(Al(t)){let s=this.pageWidth()/100,o=this.pageHeight()/100,i=this.pageAreaWidth!=null?this.pageAreaWidth/100:s,a=this.pageAreaHeight!=null?this.pageAreaHeight/100:o,l=n!=null?n:this.pageVertical;switch(t){case"vw":return i;case"vh":return a;case"vi":return l?a:i;case"vb":return l?i:a;case"vmin":return i<a?i:a;case"vmax":return i>a?i:a;case"pvw":return s;case"pvh":return o;case"pvi":return l?o:s;case"pvb":return l?s:o;case"pvmin":return s<o?s:o;case"pvmax":return s>o?s:o}}return t=="em"||t=="rem"?e?this.initialFontSize:this.fontSize():t=="ex"?$.ex*(e?this.initialFontSize:this.fontSize())/$.em:t=="lh"||t=="rlh"?this.rootLineHeight:$[t]}evalName(t,e){do{let n=t.values[e];if(n||t.resolver&&(n=t.resolver.call(this,e,!1),n))return n;t=t.parent}while(t);throw new Error(`Name '${e}' is undefined`)}evalCall(t,e,n,s){do{let o=t.funcs[e];if(o||t.resolver&&(o=t.resolver.call(this,e,!0),o))return o;let i=t.builtIns[e];if(i){if(s)return t.zero;let a=Array(n.length);for(let l=0;l<n.length;l++)a[l]=n[l].evaluate(this);return new oe(t,i.apply(this,a))}t=t.parent}while(t);throw new Error(`Function '${e}' is undefined`)}evalMediaName(t,e){let n=t==="all"||!!this.pref.enabledMediaTypes[t];return e?!n:n}evalMediaTest(t,e){let n="",s=t.match(/^(min|max)-(.*)$/);s&&(n=s[1],t=s[2]);let o=null,i=null;switch(t){case"width":case"height":case"device-width":case"device-height":case"color":e&&(o=e.evaluate(this));break}switch(t){case"width":i=this.pageWidth();break;case"height":i=this.pageHeight();break;case"device-width":i=window.screen.availWidth;break;case"device-height":i=window.screen.availHeight;break;case"color":i=window.screen.pixelDepth;break}if(i!=null&&o!=null)switch(n){case"min":return i>=Number(o);case"max":return i<=Number(o);default:return i==o}else if(i!=null&&e==null)return i!==0;return!1}evalSupportsTest(t,e,n){return!1}queryVal(t,e){let n=t&&this.scopes[t.scopeKey];return n?n[e]:void 0}storeVal(t,e,n){this.getScopeContext(t)[e]=n}},at=class{constructor(t){this.scope=t;d(this,"key");this.scope=t,this.key=`_${Fp++}`}toString(){let t=new Xe;return this.appendTo(t,0),t.toString()}appendTo(t,e){throw new Error("F_ABSTRACT")}evaluateCore(t){throw new Error("F_ABSTRACT")}expand(t,e){return this}dependCore(t,e,n){return t===this}dependOuter(t,e,n){let s=n[this.key];if(s!=null)return s===Vp.PENDING?!1:s;{n[this.key]=Vp.PENDING;let o=this.dependCore(t,e,n);return n[this.key]=o,o}}depend(t,e){return this.dependOuter(t,e,{})}evaluate(t){let e=t.queryVal(this.scope,this.key);return typeof e!="undefined"||(e=this.evaluateCore(t),this.scope&&t.storeVal(this.scope,this.key,e)),e}isMediaName(){return!1}},nr=class extends at{constructor(e,n){super(e);this.val=n}getOp(){throw new Error("F_ABSTRACT")}evalPrefix(e){throw new Error("F_ABSTRACT")}evaluateCore(e){let n=this.val.evaluate(e);return this.evalPrefix(n)}dependCore(e,n,s){return e===this||this.val.dependOuter(e,n,s)}appendTo(e,n){10<n&&e.append("("),e.append(this.getOp()),this.val.appendTo(e,10),10<n&&e.append(")")}expand(e,n){let s=this.val.expand(e,n);return s===this.val?this:new this.constructor(this.scope,s)}},Gs=class extends at{constructor(e,n,s){super(e);this.lhs=n;this.rhs=s}getPriority(){throw new Error("F_ABSTRACT")}getOp(){throw new Error("F_ABSTRACT")}evalInfix(e,n){throw new Error("F_ABSTRACT")}evaluateCore(e){let n=this.lhs.evaluate(e),s=this.rhs.evaluate(e);return this.evalInfix(n,s)}dependCore(e,n,s){return e===this||this.lhs.dependOuter(e,n,s)||this.rhs.dependOuter(e,n,s)}appendTo(e,n){let s=this.getPriority();s<=n&&e.append("("),this.lhs.appendTo(e,s),e.append(this.getOp()),this.rhs.appendTo(e,s),s<=n&&e.append(")")}expand(e,n){let s=this.lhs.expand(e,n),o=this.rhs.expand(e,n);return s===this.lhs&&o===this.rhs?this:new this.constructor(this.scope,s,o)}},sr=class extends Gs{constructor(t,e,n){super(t,e,n)}getPriority(){return 1}},wn=class extends Gs{constructor(t,e,n){super(t,e,n)}getPriority(){return 2}},or=class extends Gs{constructor(t,e,n){super(t,e,n)}getPriority(){return 3}},Mo=class extends Gs{constructor(t,e,n){super(t,e,n)}getPriority(){return 4}},gt=class extends nr{constructor(t,e){super(t,e)}getOp(){return"!"}evalPrefix(t){return!t}},ir=class extends gt{constructor(t,e){super(t,e)}getOp(){return"not "}},Yt=class extends nr{constructor(t,e){super(t,e)}getOp(){return"-"}evalPrefix(t){return-t}},Ws=class extends sr{constructor(t,e,n){super(t,e,n)}getOp(){return"&&"}evaluateCore(t){return this.lhs.evaluate(t)&&this.rhs.evaluate(t)}},rr=class extends Ws{constructor(t,e,n){super(t,e,n)}getOp(){return" and "}},$s=class extends sr{constructor(t,e,n){super(t,e,n)}getOp(){return"||"}evaluateCore(t){return this.lhs.evaluate(t)||this.rhs.evaluate(t)}},ar=class extends $s{constructor(t,e,n){super(t,e,n)}getOp(){return", "}},lr=class extends $s{constructor(t,e,n){super(t,e,n)}getOp(){return" or "}},cr=class extends wn{constructor(t,e,n){super(t,e,n)}getOp(){return"<"}evalInfix(t,e){return t<e}},ur=class extends wn{constructor(t,e,n){super(t,e,n)}getOp(){return"<="}evalInfix(t,e){return t<=e}},dr=class extends wn{constructor(t,e,n){super(t,e,n)}getOp(){return">"}evalInfix(t,e){return t>e}},rs=class extends wn{constructor(t,e,n){super(t,e,n)}getOp(){return">="}evalInfix(t,e){return t>=e}},Pn=class extends wn{constructor(t,e,n){super(t,e,n)}getOp(){return"=="}evalInfix(t,e){return t==e}},pr=class extends wn{constructor(t,e,n){super(t,e,n)}getOp(){return"!="}evalInfix(t,e){return t!=e}},_o=class extends or{constructor(t,e,n){super(t,e,n)}getOp(){return"+"}evalInfix(t,e){return t+e}},Uo=class extends or{constructor(t,e,n){super(t,e,n)}getOp(){return" - "}evalInfix(t,e){return t-e}},as=class extends Mo{constructor(t,e,n){super(t,e,n)}getOp(){return"*"}evalInfix(t,e){return t*e}},Ho=class extends Mo{constructor(t,e,n){super(t,e,n)}getOp(){return"/"}evalInfix(t,e){return t/e}},Xs=class extends Mo{constructor(t,e,n){super(t,e,n)}getOp(){return"%"}evalInfix(t,e){return t%e}},Vt=class extends at{constructor(e,n,s){var o;super(e);this.num=n;d(this,"unit");this.unit=(o=s==null?void 0:s.toLowerCase())!=null?o:""}appendTo(e,n){e.append(this.num.toString()),e.append(Xt(this.unit))}evaluateCore(e){return this.num*e.queryUnitSize(this.unit,!1)}},J=class extends at{constructor(e,n){super(e);this.qualifiedName=n}appendTo(e,n){e.append(this.qualifiedName)}evaluateCore(e){return e.evalName(this.scope,this.qualifiedName).evaluate(e)}dependCore(e,n,s){return e===this||n.evalName(this.scope,this.qualifiedName).dependOuter(e,n,s)}},zo=class extends at{constructor(e,n,s){super(e);this.not=n;this.name=s}appendTo(e,n){this.not&&e.append("not "),e.append(Xt(this.name))}evaluateCore(e){return e.evalMediaName(this.name,this.not)}isMediaName(){return!0}},ie=class extends at{constructor(e,n,s){super(e);this.fn=n;this.str=s}appendTo(e,n){e.append(this.str)}evaluateCore(e){return this.fn.call(e)}};function Gg(r,t){r.append("(");for(let e=0;e<t.length;e++)e&&r.append(","),t[e].appendTo(r,0);r.append(")")}function Wg(r,t,e){let n=t;for(let s=0;s<t.length;s++){let o=t[s].expand(r,e);if(t!==n)n[s]=o;else if(o!==t[s]){n=Array(t.length);for(let i=0;i<s;i++)n[i]=t[i];n[s]=o}}return n}var ln=class r extends at{constructor(e,n,s){super(e);this.qualifiedName=n;this.params=s}appendTo(e,n){e.append(this.qualifiedName),Gg(e,this.params)}evaluateCore(e){return e.evalCall(this.scope,this.qualifiedName,this.params,!1).expand(e,this.params).evaluate(e)}dependCore(e,n,s){if(e===this)return!0;for(let i=0;i<this.params.length;i++)if(this.params[i].dependOuter(e,n,s))return!0;return n.evalCall(this.scope,this.qualifiedName,this.params,!0).dependOuter(e,n,s)}expand(e,n){let s=Wg(e,this.params,n);return s===this.params?this:new r(this.scope,this.qualifiedName,s)}},hr=class r extends at{constructor(e,n,s,o){super(e);this.cond=n;this.ifTrue=s;this.ifFalse=o}appendTo(e,n){n>0&&e.append("("),this.cond.appendTo(e,0),e.append("?"),this.ifTrue.appendTo(e,0),e.append(":"),this.ifFalse.appendTo(e,0),n>0&&e.append(")")}evaluateCore(e){return this.cond.evaluate(e)?this.ifTrue.evaluate(e):this.ifFalse.evaluate(e)}dependCore(e,n,s){return e===this||this.cond.dependOuter(e,n,s)||this.ifTrue.dependOuter(e,n,s)||this.ifFalse.dependOuter(e,n,s)}expand(e,n){let s=this.cond.expand(e,n),o=this.ifTrue.expand(e,n),i=this.ifFalse.expand(e,n);return s===this.cond&&o===this.ifTrue&&i===this.ifFalse?this:new r(this.scope,s,o,i)}},oe=class extends at{constructor(e,n){super(e);this.val=n}appendTo(e,n){switch(typeof this.val){case"number":case"boolean":e.append(this.val.toString());break;case"string":e.append('"'),e.append(os(this.val)),e.append('"');break;default:throw new Error("F_UNEXPECTED_STATE")}}evaluateCore(e){return this.val}},Go=class r extends at{constructor(e,n,s){super(e);this.name=n;this.value=s}appendTo(e,n){e.append("("),e.append(os(this.name.name)),e.append(":"),this.value.appendTo(e,0),e.append(")")}evaluateCore(e){return e.evalMediaTest(this.name.name,this.value)}dependCore(e,n,s){return e===this||this.value.dependOuter(e,n,s)}expand(e,n){let s=this.value.expand(e,n);return s===this.value?this:new r(this.scope,this.name,s)}},fr=class extends at{constructor(e,n,s,o){super(e);this.name=n;this.value=s;this.isFunc=o}appendTo(e,n){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)}},js=class extends at{constructor(e,n){super(e);this.index=n}appendTo(e,n){e.append("$"),e.append(this.index.toString())}expand(e,n){let s=n[this.index];if(!s)throw new Error(`Parameter missing: ${this.index}`);return s}};function et(r,t,e){return t===r._false||t===r.zero||e==r._false||e==r.zero?r._false:t===r._true||t===r.one?e:e===r._true||e===r.one?t:new Ws(r,t,e)}function H(r,t,e){return t===r.zero?e:e===r.zero?t:new _o(r,t,e)}function Y(r,t,e){return t===r.zero?new Yt(r,e):e===r.zero?t:new Uo(r,t,e)}function Ys(r,t,e){return t===r.zero||e===r.zero?r.zero:t===r.one?e:e===r.one?t:new as(r,t,e)}function $o(r,t,e){return t===r.zero?r.zero:e===r.one?t:new Ho(r,t,e)}var lt=class{visitValues(t){for(let e=0;e<t.length;e++)t[e].visit(this);return null}visitEmpty(t){return null}visitSlash(t){return null}visitStr(t){return null}visitIdent(t){return null}visitNumeric(t){return null}visitNum(t){return null}visitInt(t){return this.visitNum(t)}visitHexColor(t){return null}visitURL(t){return null}visitURange(t){return null}visitSpaceList(t){return this.visitValues(t.values),null}visitCommaList(t){return this.visitValues(t.values),null}visitFunc(t){return this.visitValues(t.values),null}visitExpr(t){return null}},Kt=class extends lt{constructor(){super();d(this,"error",!1)}visitValues(e){let n=null;for(let s=0;s<e.length;s++){let o=e[s],i=o.visit(this);if(this.error)return[];if(n)n[s]=i;else if(o!==i){n=new Array(e.length);for(let a=0;a<s;a++)n[a]=e[a];n[s]=i}}return n||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 n=this.visitValues(e.values);return this.error?O:n===e.values?e:new K(n)}visitCommaList(e){let n=this.visitValues(e.values);return this.error?O:n===e.values?e:new ge(n)}visitFunc(e){let n=this.visitValues(e.values);return this.error?O:n===e.values?e:new wt(e.name,n)}visitExpr(e){return e}},Ne=class{toString(){let t=new Xe;return this.appendTo(t,!0),t.toString()}stringValue(){let t=new Xe;return this.appendTo(t,!1),t.toString()}toExpr(t,e){return null}appendTo(t,e){t.append("[error]")}isExpr(){return!1}isNumeric(){return!1}isNum(){return!1}isIdent(){return!1}isSpaceList(){return!1}visit(t){return this}},Cr=class Cr extends Ne{static get instance(){return this.empty||(this.empty=new Cr),this.empty}constructor(){super()}toExpr(t,e){return new oe(t,"")}appendTo(t,e){}visit(t){return t.visitEmpty(this)}};d(Cr,"empty");var Ll=Cr,O=Ll.instance,br=class br extends Ne{static get instance(){return this.slash||(this.slash=new br),this.slash}constructor(){super()}toExpr(t,e){return new oe(t,"/")}appendTo(t,e){t.append("/")}visit(t){return t.visitSlash(this)}};d(br,"slash");var Rl=br,qs=Rl.instance,ce=class extends Ne{constructor(e){super();this.str=e}toExpr(e,n){return new oe(e,this.str)}appendTo(e,n){n?(e.append('"'),e.append(os(this.str)),e.append('"')):e.append(this.str)}visit(e){return e.visitStr(this)}},Il={},be=class extends Ne{constructor(e){super();this.name=e;if(Il[e])throw new Error("E_INVALID_CALL");Il[e]=this}toExpr(e,n){return new oe(e,this.name)}appendTo(e,n){n?e.append(Xt(this.name)):e.append(this.name)}visit(e){return e.visitIdent(this)}isIdent(){return!0}};function L(r){let t=Il[r];return t||(t=new be(r)),t}var P=class extends Ne{constructor(e,n){var s;super();this.num=e;d(this,"unit");this.unit=(s=n==null?void 0:n.toLowerCase())!=null?s:""}toExpr(e,n){return this.num==0?e.zero:n&&this.unit=="%"?this.num==100?n:new as(e,n,new oe(e,this.num/100)):new Vt(e,this.num,this.unit)}appendTo(e,n){e.append(this.num.toString()),e.append(this.unit)}visit(e){return e.visitNumeric(this)}isNumeric(){return!0}},tt=class extends Ne{constructor(e){super();this.num=e}toExpr(e,n){return this.num==0?e.zero:this.num==1?e.one:new oe(e,this.num)}appendTo(e,n){e.append(this.num.toString())}visit(e){return e.visitNum(this)}isNum(){return!0}},ct=class extends tt{constructor(t){super(t)}visit(t){return t.visitInt(this)}},Ks=class extends Ne{constructor(e){super();this.hex=e}appendTo(e,n){e.append("#"),e.append(this.hex)}visit(e){return e.visitHexColor(this)}},Ue=class extends Ne{constructor(e){super();this.url=e}appendTo(e,n){e.append('url("'),e.append(os(this.url)),e.append('")')}visit(e){return e.visitURL(this)}},Xo=class extends Ne{constructor(e){super();this.urangeText=e}appendTo(e,n){e.append(this.urangeText)}visit(e){return e.visitURange(this)}};function Vl(r,t,e,n){var o,i;let s=t.length;if(s>0){(o=t[0])==null||o.appendTo(r,n);for(let a=1;a<s;a++)r.append(e),(i=t[a])==null||i.appendTo(r,n)}}var K=class extends Ne{constructor(e){super();this.values=e}appendTo(e,n){Vl(e,this.values," ",n)}visit(e){return e.visitSpaceList(this)}isSpaceList(){return!0}},ge=class extends Ne{constructor(e){super();this.values=e}appendTo(e,n){Vl(e,this.values,",",n)}visit(e){return e.visitCommaList(this)}},wt=class extends Ne{constructor(e,n){super();this.name=e;this.values=n}appendTo(e,n){e.append(Xt(this.name)),e.append("("),Vl(e,this.values,",",n),e.append(")")}visit(e){return e.visitFunc(this)}},F=class extends Ne{constructor(e){super();this.expr=e}toExpr(){return this.expr}appendTo(e,n){this.expr instanceof oe||this.expr instanceof Vt?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}},kn=class extends Ne{constructor(e){super();this.text=e}appendTo(e,n){e.append(this.text||" ")}};function Le(r,t){if(r){if(r.isNumeric()){let e=r;return t.queryUnitSize(e.unit,!1)*e.num}if(r.isNum())return r.num}return 0}function xr(r,t){return new P(Le(r,t),"px")}var b={absolute:L("absolute"),all:L("all"),always:L("always"),anywhere:L("anywhere"),auto:L("auto"),avoid:L("avoid"),balance:L("balance"),balance_all:L("balance-all"),block:L("block"),block_end:L("block-end"),block_start:L("block-start"),both:L("both"),bottom:L("bottom"),border_box:L("border-box"),break_all:L("break-all"),break_word:L("break-word"),clip:L("clip"),crop:L("crop"),cross:L("cross"),column:L("column"),discard:L("discard"),exclusive:L("exclusive"),_false:L("false"),fixed:L("fixed"),flex:L("flex"),flow_root:L("flow-root"),footnote:L("footnote"),footer:L("footer"),grid:L("grid"),header:L("header"),hidden:L("hidden"),horizontal_tb:L("horizontal-tb"),inherit:L("inherit"),initial:L("initial"),inline:L("inline"),inline_block:L("inline-block"),inline_end:L("inline-end"),inline_start:L("inline-start"),inside:L("inside"),keep:L("keep"),landscape:L("landscape"),left:L("left"),line:L("line"),list_item:L("list-item"),ltr:L("ltr"),manual:L("manual"),max_content:L("max-content"),min_content:L("min-content"),none:L("none"),normal:L("normal"),oeb_page_foot:L("oeb-page-foot"),oeb_page_head:L("oeb-page-head"),outside:L("outside"),padding_box:L("padding-box"),page:L("page"),relative:L("relative"),revert:L("revert"),right:L("right"),same:L("same"),scale:L("scale"),snap_block:L("snap-block"),snap_inline:L("snap-inline"),solid:L("solid"),spread:L("spread"),_static:L("static"),rtl:L("rtl"),table:L("table"),table_caption:L("table-caption"),table_cell:L("table-cell"),table_footer_group:L("table-footer-group"),table_header_group:L("table-header-group"),table_row:L("table-row"),top:L("top"),transparent:L("transparent"),unset:L("unset"),vertical_lr:L("vertical-lr"),vertical_rl:L("vertical-rl"),visible:L("visible"),_true:L("true")},Fl=new P(100,"%"),An=new P(100,"pvw"),Ln=new P(100,"pvh"),te=new P(0,"px"),Ab=new Xo("U+0-10FFFF"),Mp={"font-size":1,"line-height":2,color:3};function _(r){return r===b.inherit||r===b.initial||r===b.revert||r===b.unset}function Bl(r,t){let e=Mp[r]||Number.MAX_VALUE,n=Mp[t]||Number.MAX_VALUE;return e-n}function Ct(r){return(r==null?void 0:r.length)>2&&r.startsWith("--")}var He=class{constructor(t,e,n,s){this.x1=t;this.y1=e;this.x2=n;this.y2=s}},Ft=class{constructor(t,e){this.x=t;this.y=e}},Qs=class{constructor(t,e,n,s){this.left=t;this.top=e;this.right=n;this.bottom=s}},yr=class{constructor(t,e,n,s){this.low=t;this.high=e;this.winding=n;this.shapeId=s}},Bt=class{constructor(t,e,n,s){this.y1=t;this.y2=e;this.x1=n;this.x2=s;d(this,"left",null);d(this,"right",null)}};function $g(r,t){return r.low.y-t.low.y||r.low.x-t.low.x}var ls=class r{constructor(t){this.points=t}addSegments(t,e){let n=this.points,s=n.length,o=n[s-1];for(let i=0;i<s;i++){let a=n[i],l;o.y<a.y?l=new yr(o,a,1,e):l=new yr(a,o,-1,e),t.push(l),o=a}}withOffset(t,e){let n=[];for(let s of this.points)n.push(new Ft(s.x+t,s.y+e));return new r(n)}};function Ol(r,t,e,n){let o=[];for(let i=0;i<20;i++){let a=i*2*Math.PI/20;o.push(new Ft(r+e*Math.sin(a),t+n*Math.cos(a)))}return new ls(o)}function jo(r,t,e,n){return new ls([new Ft(r,t),new Ft(e,t),new Ft(e,n),new Ft(r,n)])}var Zs=class{constructor(t,e,n,s){this.x=t;this.winding=e;this.shapeId=n;this.lowOrHigh=s}};function _p(r,t){let e=r.low.x+(r.high.x-r.low.x)*(t-r.low.y)/(r.high.y-r.low.y);if(isNaN(e))throw new Error("Bad intersection");return e}function Xg(r,t,e,n){let s,o,i,a;t.high.y<e&&V.warn("Error: inconsistent segment (1)"),t.low.y<=e?(s=_p(t,e),o=t.winding):(s=t.low.x,o=0),t.high.y>=n?(i=_p(t,n),a=t.winding):(i=t.high.x,a=0),s<i?(r.push(new Zs(s,o,t.shapeId,-1)),r.push(new Zs(i,a,t.shapeId,1))):(r.push(new Zs(i,a,t.shapeId,-1)),r.push(new Zs(s,o,t.shapeId,1)))}function jg(r,t,e){let n=t+e,s=Array(n),o=Array(n),i;for(i=0;i<=n;i++)s[i]=0,o[i]=0;let a=[],l=!1,c=r.length;for(let u=0;u<c;u++){let p=r[u];s[p.shapeId]+=p.winding,o[p.shapeId]+=p.lowOrHigh;let h=!1;for(i=0;i<t;i++)if(s[i]&&!o[i]){h=!0;break}if(h){for(i=t;i<=n;i++)if(s[i]||o[i]){h=!1;break}}l!=h&&(a.push(p.x),l=h)}return a}function Yg(r,t){return t?Math.ceil(r/t)*t:r}function Up(r,t){return t?Math.floor(r/t)*t:r}function Kg(r){return new Ft(r.y,-r.x)}function Js(r){return new He(r.y1,-r.x2,r.y2,-r.x1)}function Er(r){return new He(-r.y2,r.x1,-r.y1,r.x2)}function Hp(r){return new ls(r.points.map(t=>Kg(t)))}function zp(r,t,e,n,s,o){o&&(r=Js(r),t=t.map(C=>Hp(C)),e=e.map(C=>Hp(C)));let i=t.length,a=e?e.length:0,l=[],c=[],u,p,h;for(u=0;u<i;u++)t[u].addSegments(c,u);for(u=0;u<a;u++)e[u].addSegments(c,u+i);let f=c.length;c.sort($g);let g=0;for(;c[g].shapeId>=i;)g++;let m=c[g].low.y;m>r.y1&&l.push(new Bt(r.y1,m,r.x2,r.x2));let E=0,y=[];for(;E<f&&(h=c[E]).low.y<m;)h.high.y>m&&y.push(h),E++;for(;E<f||y.length>0;){let C=r.y2,x=Math.min(Yg(Math.ceil(m+n),s),r.y2);for(p=0;p<y.length&&C>x;p++)h=y[p],h.low.x==h.high.x?h.high.y<C&&(C=Math.max(Up(h.high.y,s),x)):h.low.x!=h.high.x&&(C=x);for(C>r.y2&&(C=r.y2);E<f&&(h=c[E]).low.y<C;){if(h.high.y<m){E++;continue}if(h.low.y<x)h.low.y==h.high.y&&h.low.y==m||(y.push(h),C=x),E++;else{let w=Up(h.low.y,s);w<C&&(C=w);break}}let N=[];for(p=0;p<y.length;p++)Xg(N,y[p],m,C);N.sort((w,k)=>w.x-k.x||w.lowOrHigh-k.lowOrHigh);let S=jg(N,i,a);if(S.length==0)l.push(new Bt(m,C,r.x2,r.x2));else{let w=0,k=r.x1;for(p=0;p<S.length;p+=2){let I=Math.max(r.x1,S[p]),U=Math.min(r.x2,S[p+1])-I;U>w&&(w=U,k=I)}w==0?l.push(new Bt(m,C,r.x2,r.x2)):l.push(new Bt(m,C,Math.max(k,r.x1),Math.min(k+w,r.x2)))}if(C==r.y2)break;for(m=C,p=y.length-1;p>=0;p--)y[p].high.y<=C&&y.splice(p,1)}return Gp(r,l),l}function Gp(r,t){let e=t.length-1,n=new Bt(r.y2,r.y2,r.x1,r.x2);for(;e>=0;){let s=n;n=t[e],(n.y2-n.y1<1||n.x1==s.x1&&n.x2==s.x2)&&(s.y1=n.y1,t.splice(e,1),n=s),e--}}function Wp(r,t){let e=0,n=r.length;for(;e<n;){let s=Math.floor((e+n)/2);t>=r[s].y2?e=s+1:n=s}return e}function $p(r,t){if(!r.length)return t;let e=t.y1,n,s;for(s=0;s<r.length&&(n=r[s],!(n.y2>t.y1&&n.x1-.1<=t.x1&&n.x2+.1>=t.x2));s++)e=Math.max(e,n.y2);let o=e;for(;s<r.length&&(n=r[s],!(n.y1>=t.y2||n.x1-.1>t.x1||n.x2+.1<t.x2));s++)o=n.y2;return s===r.length?o=t.y2:o=Math.min(o,t.y2),o<=e?null:new He(t.x1,e,t.x2,o)}function Xp(r,t){if(!r.length)return t;let e=t.y2,n,s;for(s=r.length-1;s>=0&&(n=r[s],!(s===r.length-1&&n.y2<t.y2));s--){if(n.y1<t.y2&&n.x1-.1<=t.x1&&n.x2+.1>=t.x2)break;e=Math.min(e,n.y1)}let o=Math.min(e,n.y2);for(;s>=0&&(n=r[s],!(n.y2<=t.y1||n.x1-.1>t.x1||n.x2+.1<t.x2));s--)o=n.y1;return o=Math.max(o,t.y1),e<=o?null:new He(t.x1,o,t.x2,e)}function jp(r,t,e,n){let s=e.y1,o=e.x2-e.x1,i=e.y2-e.y1,a=Wp(t,s);for(;;){let l=s+i;if(l>r.y2)return!1;let c=r.x1,u=r.x2;for(let p=a;p<t.length&&t[p].y1<l;p++){let h=t[p];h.x1>c&&(c=h.x1),h.x2<u&&(u=h.x2)}if(c+o<=u||a>=t.length)return n=="left"?(e.x1=c,e.x2=c+o):(e.x1=u-o,e.x2=u),e.y2+=s-e.y1,e.y1=s,!0;s=t[a].y2,a++}}function Yp(r,t,e,n,s){for(n||(n=[new Bt(e.y1,e.y2,e.x1,e.x2)]);n.length>0&&n[0].y2<=r.y1;)n.shift();if(n.length==0)return;n[0].y1<r.y1&&(n[0].y1=r.y1);let o,i=t.length==0?r.y1:t[t.length-1].y2;i<r.y2&&t.push(new Bt(i,r.y2,r.x1,r.x2));let a=Wp(t,n[0].y1);for(let l of n){if(a==t.length)break;for(t[a].y1<l.y1&&(o=t[a],a++,t.splice(a,0,new Bt(l.y1,o.y2,o.x1,o.x2)),o.y2=l.y1);a<t.length&&(o=t[a++],o.y2>l.y2&&(t.splice(a,0,new Bt(l.y2,o.y2,o.x1,o.x2)),o.y2=l.y2),l.x1!=l.x2&&(s=="left"?o.x1=Math.min(l.x2,r.x2):o.x2=Math.max(l.x1,r.x1)),o.y2!=l.y2););}Gp(r,t)}var Dl=class extends lt{constructor(){super();d(this,"propSet",{})}vi