@vivliostyle/core
Version:
Vivliostyle Core library for HTML+CSS typesetting with EPUB/Web publications support
4 lines • 710 kB
JavaScript
"use strict";var pb=Object.create;var Br=Object.defineProperty;var hb=Object.getOwnPropertyDescriptor;var fb=Object.getOwnPropertyNames;var gb=Object.getPrototypeOf,mb=Object.prototype.hasOwnProperty;var Gf=i=>{throw TypeError(i)};var Cb=(i,t,e)=>t in i?Br(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e;var bb=(i,t)=>()=>(t||i((t={exports:{}}).exports,t),t.exports),yb=(i,t)=>{for(var e in t)Br(i,e,{get:t[e],enumerable:!0})},Wf=(i,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of fb(t))!mb.call(i,s)&&s!==e&&Br(i,s,{get:()=>t[s],enumerable:!(n=hb(t,s))||n.enumerable});return i};var xb=(i,t,e)=>(e=i!=null?pb(gb(i)):{},Wf(t||!i||!i.__esModule?Br(e,"default",{value:i,enumerable:!0}):e,i)),Sb=i=>Wf(Br({},"__esModule",{value:!0}),i);var p=(i,t,e)=>Cb(i,typeof t!="symbol"?t+"":t,e),hu=(i,t,e)=>t.has(i)||Gf("Cannot "+e);var B=(i,t,e)=>(hu(i,t,"read from private field"),e?e.call(i):t.get(i)),Z=(i,t,e)=>t.has(i)?Gf("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(i):t.set(i,e),we=(i,t,e,n)=>(hu(i,t,"write to private field"),n?n.call(i,e):t.set(i,e),e),pe=(i,t,e)=>(hu(i,t,"access private method"),e);var qg=bb((pE,Yg)=>{var $t=-1,xt=1,et=0;function ai(i,t,e,n,s){if(i===t)return i?[[et,i]]:[];if(e!=null){var o=Hy(i,t,e);if(o)return o}var r=Pd(i,t),a=i.substring(0,r);i=i.substring(r),t=t.substring(r),r=dl(i,t);var l=i.substring(i.length-r);i=i.substring(0,i.length-r),t=t.substring(0,t.length-r);var c=Fy(i,t);return a&&c.unshift([et,a]),l&&c.push([et,l]),kd(c,s),n&&Oy(c),c}function Fy(i,t){var e;if(!i)return[[xt,t]];if(!t)return[[$t,i]];var n=i.length>t.length?i:t,s=i.length>t.length?t:i,o=n.indexOf(s);if(o!==-1)return e=[[xt,n.substring(0,o)],[et,s],[xt,n.substring(o+s.length)]],i.length>t.length&&(e[0][0]=e[2][0]=$t),e;if(s.length===1)return[[$t,i],[xt,t]];var r=By(i,t);if(r){var a=r[0],l=r[1],c=r[2],u=r[3],d=r[4],h=ai(a,c),f=ai(l,u);return h.concat([[et,d]],f)}return Vy(i,t)}function Vy(i,t){for(var e=i.length,n=t.length,s=Math.ceil((e+n)/2),o=s,r=2*s,a=new Array(r),l=new Array(r),c=0;c<r;c++)a[c]=-1,l[c]=-1;a[o+1]=0,l[o+1]=0;for(var u=e-n,d=u%2!==0,h=0,f=0,g=0,m=0,C=0;C<s;C++){for(var x=-C+h;x<=C-f;x+=2){var b=o+x,N;x===-C||x!==C&&a[b-1]<a[b+1]?N=a[b+1]:N=a[b-1]+1;for(var S=N-x;N<e&&S<n&&i.charAt(N)===t.charAt(S);)N++,S++;if(a[b]=N,N>e)f+=2;else if(S>n)h+=2;else if(d){var E=o+u-x;if(E>=0&&E<r&&l[E]!==-1){var v=e-l[E];if(N>=v)return _g(i,t,N,S)}}}for(var w=-C+g;w<=C-m;w+=2){var E=o+w,v;w===-C||w!==C&&l[E-1]<l[E+1]?v=l[E+1]:v=l[E-1]+1;for(var A=v-w;v<e&&A<n&&i.charAt(e-v-1)===t.charAt(n-A-1);)v++,A++;if(l[E]=v,v>e)m+=2;else if(A>n)g+=2;else if(!d){var b=o+u-w;if(b>=0&&b<r&&a[b]!==-1){var N=a[b],S=o+N-b;if(v=e-v,N>=v)return _g(i,t,N,S)}}}}return[[$t,i],[xt,t]]}function _g(i,t,e,n){var s=i.substring(0,e),o=t.substring(0,n),r=i.substring(e),a=t.substring(n),l=ai(s,o),c=ai(r,a);return l.concat(c)}function Pd(i,t){if(!i||!t||i.charAt(0)!==t.charAt(0))return 0;for(var e=0,n=Math.min(i.length,t.length),s=n,o=0;e<s;)i.substring(o,s)==t.substring(o,s)?(e=s,o=e):n=s,s=Math.floor((n-e)/2+e);return Wg(i.charCodeAt(s-1))&&s--,s}function Ug(i,t){var e=i.length,n=t.length;if(e==0||n==0)return 0;e>n?i=i.substring(e-n):e<n&&(t=t.substring(0,e));var s=Math.min(e,n);if(i==t)return s;for(var o=0,r=1;;){var a=i.substring(s-r),l=t.indexOf(a);if(l==-1)return o;r+=l,(l==0||i.substring(s-r)==t.substring(0,r))&&(o=r,r++)}}function dl(i,t){if(!i||!t||i.slice(-1)!==t.slice(-1))return 0;for(var e=0,n=Math.min(i.length,t.length),s=n,o=0;e<s;)i.substring(i.length-s,i.length-o)==t.substring(t.length-s,t.length-o)?(e=s,o=e):n=s,s=Math.floor((n-e)/2+e);return $g(i.charCodeAt(i.length-s))&&s--,s}function By(i,t){var e=i.length>t.length?i:t,n=i.length>t.length?t:i;if(e.length<4||n.length*2<e.length)return null;function s(f,g,m){for(var C=f.substring(m,m+Math.floor(f.length/4)),x=-1,b="",N,S,E,v;(x=g.indexOf(C,x+1))!==-1;){var w=Pd(f.substring(m),g.substring(x)),A=dl(f.substring(0,m),g.substring(0,x));b.length<A+w&&(b=g.substring(x-A,x)+g.substring(x,x+w),N=f.substring(0,m-A),S=f.substring(m+w),E=g.substring(0,x-A),v=g.substring(x+w))}return b.length*2>=f.length?[N,S,E,v,b]:null}var o=s(e,n,Math.ceil(e.length/4)),r=s(e,n,Math.ceil(e.length/2)),a;if(!o&&!r)return null;r?o?a=o[4].length>r[4].length?o:r:a=r:a=o;var l,c,u,d;i.length>t.length?(l=a[0],c=a[1],u=a[2],d=a[3]):(u=a[0],d=a[1],l=a[2],c=a[3]);var h=a[4];return[l,c,u,d,h]}function Oy(i){for(var t=!1,e=[],n=0,s=null,o=0,r=0,a=0,l=0,c=0;o<i.length;)i[o][0]==et?(e[n++]=o,r=l,a=c,l=0,c=0,s=i[o][1]):(i[o][0]==xt?l+=i[o][1].length:c+=i[o][1].length,s&&s.length<=Math.max(r,a)&&s.length<=Math.max(l,c)&&(i.splice(e[n-1],0,[$t,s]),i[e[n-1]+1][0]=xt,n--,n--,o=n>0?e[n-1]:-1,r=0,a=0,l=0,c=0,s=null,t=!0)),o++;for(t&&kd(i),_y(i),o=1;o<i.length;){if(i[o-1][0]==$t&&i[o][0]==xt){var u=i[o-1][1],d=i[o][1],h=Ug(u,d),f=Ug(d,u);h>=f?(h>=u.length/2||h>=d.length/2)&&(i.splice(o,0,[et,d.substring(0,h)]),i[o-1][1]=u.substring(0,u.length-h),i[o+1][1]=d.substring(h),o++):(f>=u.length/2||f>=d.length/2)&&(i.splice(o,0,[et,u.substring(0,f)]),i[o-1][0]=xt,i[o-1][1]=d.substring(0,d.length-f),i[o+1][0]=$t,i[o+1][1]=u.substring(f),o++),o++}o++}}var Hg=/[^a-zA-Z0-9]/,zg=/\s/,Gg=/[\r\n]/,Dy=/\n\r?\n$/,My=/^\r?\n\r?\n/;function _y(i){function t(f,g){if(!f||!g)return 6;var m=f.charAt(f.length-1),C=g.charAt(0),x=m.match(Hg),b=C.match(Hg),N=x&&m.match(zg),S=b&&C.match(zg),E=N&&m.match(Gg),v=S&&C.match(Gg),w=E&&f.match(Dy),A=v&&g.match(My);return w||A?5:E||v?4:x&&!N&&S?3:N||S?2:x||b?1:0}for(var e=1;e<i.length-1;){if(i[e-1][0]==et&&i[e+1][0]==et){var n=i[e-1][1],s=i[e][1],o=i[e+1][1],r=dl(n,s);if(r){var a=s.substring(s.length-r);n=n.substring(0,n.length-r),s=a+s.substring(0,s.length-r),o=a+o}for(var l=n,c=s,u=o,d=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>=d&&(d=h,l=n,c=s,u=o)}i[e-1][1]!=l&&(l?i[e-1][1]=l:(i.splice(e-1,1),e--),i[e][1]=c,u?i[e+1][1]=u:(i.splice(e+1,1),e--))}e++}}function kd(i,t){i.push([et,""]);for(var e=0,n=0,s=0,o="",r="",a;e<i.length;){if(e<i.length-1&&!i[e][1]){i.splice(e,1);continue}switch(i[e][0]){case xt:s++,r+=i[e][1],e++;break;case $t:n++,o+=i[e][1],e++;break;case et:var l=e-s-n-1;if(t){if(l>=0&&jg(i[l][1])){var c=i[l][1].slice(-1);if(i[l][1]=i[l][1].slice(0,-1),o=c+o,r=c+r,!i[l][1]){i.splice(l,1),e--;var u=l-1;i[u]&&i[u][0]===xt&&(s++,r=i[u][1]+r,u--),i[u]&&i[u][0]===$t&&(n++,o=i[u][1]+o,u--),l=u}}if(Xg(i[e][1])){var c=i[e][1].charAt(0);i[e][1]=i[e][1].slice(1),o+=c,r+=c}}if(e<i.length-1&&!i[e][1]){i.splice(e,1);break}if(o.length>0||r.length>0){o.length>0&&r.length>0&&(a=Pd(r,o),a!==0&&(l>=0?i[l][1]+=r.substring(0,a):(i.splice(0,0,[et,r.substring(0,a)]),e++),r=r.substring(a),o=o.substring(a)),a=dl(r,o),a!==0&&(i[e][1]=r.substring(r.length-a)+i[e][1],r=r.substring(0,r.length-a),o=o.substring(0,o.length-a)));var d=s+n;o.length===0&&r.length===0?(i.splice(e-d,d),e=e-d):o.length===0?(i.splice(e-d,d,[xt,r]),e=e-d+1):r.length===0?(i.splice(e-d,d,[$t,o]),e=e-d+1):(i.splice(e-d,d,[$t,o],[xt,r]),e=e-d+2)}e!==0&&i[e-1][0]===et?(i[e-1][1]+=i[e][1],i.splice(e,1)):e++,s=0,n=0,o="",r="";break}}i[i.length-1][1]===""&&i.pop();var h=!1;for(e=1;e<i.length-1;)i[e-1][0]===et&&i[e+1][0]===et&&(i[e][1].substring(i[e][1].length-i[e-1][1].length)===i[e-1][1]?(i[e][1]=i[e-1][1]+i[e][1].substring(0,i[e][1].length-i[e-1][1].length),i[e+1][1]=i[e-1][1]+i[e+1][1],i.splice(e-1,1),h=!0):i[e][1].substring(0,i[e+1][1].length)==i[e+1][1]&&(i[e-1][1]+=i[e+1][1],i[e][1]=i[e][1].substring(i[e+1][1].length)+i[e+1][1],i.splice(e+1,1),h=!0)),e++;h&&kd(i,t)}function Wg(i){return i>=55296&&i<=56319}function $g(i){return i>=56320&&i<=57343}function Xg(i){return $g(i.charCodeAt(0))}function jg(i){return Wg(i.charCodeAt(i.length-1))}function Uy(i){for(var t=[],e=0;e<i.length;e++)i[e][1].length>0&&t.push(i[e]);return t}function wd(i,t,e,n){return jg(i)||Xg(n)?null:Uy([[et,i],[$t,t],[xt,e],[et,n]])}function Hy(i,t,e){var n=typeof e=="number"?{index:e,length:0}:e.oldRange,s=typeof e=="number"?null:e.newRange,o=i.length,r=t.length;if(n.length===0&&(s===null||s.length===0)){var a=n.index,l=i.slice(0,a),c=i.slice(a),u=s?s.index:null;e:{var d=a+r-o;if(u!==null&&u!==d||d<0||d>r)break e;var h=t.slice(0,d),f=t.slice(d);if(f!==c)break e;var g=Math.min(a,d),m=l.slice(0,g),C=h.slice(0,g);if(m!==C)break e;var x=l.slice(g),b=h.slice(g);return wd(m,x,b,c)}e:{if(u!==null&&u!==a)break e;var N=a,h=t.slice(0,N),f=t.slice(N);if(h!==l)break e;var S=Math.min(o-N,r-N),E=c.slice(c.length-S),v=f.slice(f.length-S);if(E!==v)break e;var x=c.slice(0,c.length-S),b=f.slice(0,f.length-S);return wd(l,x,b,E)}}if(n.length>0&&s&&s.length===0)e:{var m=i.slice(0,n.index),E=i.slice(n.index+n.length),g=m.length,S=E.length;if(r<g+S)break e;var C=t.slice(0,g),v=t.slice(r-S);if(m!==C||E!==v)break e;var x=i.slice(g,o-S),b=t.slice(g,r-S);return wd(m,x,b,E)}return null}function pl(i,t,e,n){return ai(i,t,e,n,!0)}pl.INSERT=xt;pl.DELETE=$t;pl.EQUAL=et;Yg.exports=pl});var $S={};yb($S,{CoreViewer:()=>fa,HOOKS:()=>Ct,Navigation:()=>ab,PageProgression:()=>Xs,PageSide:()=>Or,PageViewMode:()=>GS,Profiler:()=>Ea,ReadyState:()=>mu,UserAgentBaseCss:()=>pd,UserAgentCounterStylesCss:()=>gd,UserAgentPageCss:()=>dd,UserAgentTocCss:()=>hd,UserAgentXml:()=>ud,ValidationTxt:()=>cd,VivliostylePolyfillCss:()=>fd,VivliostyleViewportCss:()=>ld,VivliostyleViewportScreenCss:()=>ad,ZoomType:()=>zS,getHooksForName:()=>Je,isDebug:()=>$s,pageProgressionOf:()=>gu,plugin:()=>Eb,printHTML:()=>WS,profile:()=>wb,profiler:()=>ut,registerHook:()=>je,removeHook:()=>$f,setDebug:()=>fu});module.exports=Sb($S);var $s=!1;function fu(i){$s=i}var Xs=(e=>(e.LTR="ltr",e.RTL="rtl",e))(Xs||{});function gu(i){switch(i){case"ltr":return"ltr";case"rtl":return"rtl";default:throw new Error(`unknown PageProgression: ${i}`)}}var Or=(e=>(e.LEFT="left",e.RIGHT="right",e))(Or||{}),mu=(n=>(n.LOADING="loading",n.INTERACTIVE="interactive",n.COMPLETE="complete",n))(mu||{});var bu=(s=>(s[s.DEBUG=1]="DEBUG",s[s.INFO=2]="INFO",s[s.WARN=3]="WARN",s[s.ERROR=4]="ERROR",s))(bu||{}),Cu=class{constructor(t){this.opt_console=t;p(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=ya(arguments);this.consoleDebug(xa(e)),this.triggerListeners(1,e)}info(...t){let e=ya(arguments);this.consoleInfo(xa(e)),this.triggerListeners(2,e)}warn(...t){let e=ya(arguments);this.consoleWarn(xa(e)),this.triggerListeners(3,e)}error(...t){let e=ya(arguments);this.consoleError(xa(e)),this.triggerListeners(4,e)}};function ya(i){let t=Array.from(i),e=null;return t[0]instanceof Error&&(e=t.shift()),{error:e,messages:t}}function xa(i){let t=i.error,e=t&&(t.frameTrace||t.stack),n=[].concat(i.messages);return t&&(n.length>0&&(n=n.concat([`
`])),n=n.concat([t.toString()]),e&&(n=n.concat([`
`]).concat(e))),n}var O=new Cu;var Ct=(d=>(d.SIMPLE_PROPERTY="SIMPLE_PROPERTY",d.PREPROCESS_SINGLE_DOCUMENT="PREPROCESS_SINGLE_DOCUMENT",d.PREPROCESS_TEXT_CONTENT="PREPROCESS_TEXT_CONTENT",d.PREPROCESS_ELEMENT_STYLE="PREPROCESS_ELEMENT_STYLE",d.POLYFILLED_INHERITED_PROPS="POLYFILLED_INHERITED_PROPS",d.CONFIGURATION="CONFIGURATION",d.RESOLVE_TEXT_NODE_BREAKER="RESOLVE_TEXT_NODE_BREAKER",d.RESOLVE_FORMATTING_CONTEXT="RESOLVE_FORMATTING_CONTEXT",d.RESOLVE_LAYOUT_PROCESSOR="RESOLVE_LAYOUT_PROCESSOR",d.POST_LAYOUT_BLOCK="POST_LAYOUT_BLOCK",d.PAGINATION_PROGRESS="PAGINATION_PROGRESS",d))(Ct||{}),Sa={};function je(i,t,e){if(!Ct[i])O.warn(new Error(`Skipping unknown plugin hook '${i}'.`));else{let n=Sa[i];n||(n=Sa[i]=[]),e?n.unshift(t):n.push(t)}}function $f(i,t){if(!Ct[i])O.warn(new Error(`Ignoring unknown plugin hook '${i}'.`));else{let e=Sa[i];if(e){let n=e.indexOf(t);n>=0&&e.splice(n,1)}}}function Je(i){return Sa[i]||[]}var Eb={registerHook:je,removeHook:$f};var Ea=class{constructor(t){this.performanceInstance=t;p(this,"timestamps",{});p(this,"registerTiming");p(this,"registerStartTiming");p(this,"registerEndTiming");this.registerTiming=Lo,this.registerStartTiming=this.registerStartTiming=Lo,this.registerEndTiming=this.registerEndTiming=Lo}forceRegisterStartTiming(t,e){yu.call(this,t,"start",e)}forceRegisterEndTiming(t,e){yu.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 r=0;r<o;r++){let a=s[r];e+=n,o>1&&(e+=`(${r})`),e+=` => start: ${a.start}, end: ${a.end}, duration: ${a.end-a.start}
`}}),O.info(e)}disable(){this.registerTiming=Lo,this.registerStartTiming=this.registerStartTiming=Lo,this.registerEndTiming=this.registerEndTiming=Lo}enable(){this.registerTiming=yu,this.registerStartTiming=this.registerStartTiming=Xf,this.registerEndTiming=this.registerEndTiming=vb}isEnabled(){return this.registerStartTiming===Xf}};function Lo(){}function yu(i,t,e){e||(e=this.performanceInstance.now());let n=this.timestamps[i];n||(n=this.timestamps[i]=[]);let s,o=n.length;for(let r=o-1;r>=0&&(s=n[r],!(s&&!s[t]));r--)s=null;s||(s={},n.push(s)),s[t]=e}function Xf(i,t){this.registerTiming(i,"start",t)}function vb(i,t){this.registerTiming(i,"end",t)}var Nb={now:Date.now},Tb=window&&window.performance,ut=new Ea(Tb||Nb);ut.forceRegisterStartTiming("load_vivliostyle");var wb={profiler:{registerStartTiming:ut.registerStartTiming,registerEndTiming:ut.registerEndTiming,printTimings:ut.printTimings,disable:ut.disable,enable:ut.enable}};var Fo=navigator.userAgent.includes("Chrome")?"chromium":navigator.userAgent.includes("Firefox")?"firefox":navigator.userAgent.includes("AppleWebKit")?"webkit":"unknown",js=/^[\s\p{Zs}\p{P}\p{Mn}]*[\p{L}\p{N}]\p{Mn}*(?:[\s\p{Zs}]*\p{P}\p{Mn}*)*/u,Ut="data-adapt-eloff",Yf={};function Vo(i){return JSON.parse(i)}function Ht(i){let t=i.match(/^([^#]*)/);return t?t[1]:i}function Pb(i){let t=i.match(/^([^#?]*)/);return t?t[1]:i}var vn=window.location.href;function xu(i){vn=i}var on=window.location.href;function Su(i){on=i}function ee(i,t){if(/^data:/i.test(t))return i||t;if(!t||i.match(/^\w{2,}:/))return i.toLowerCase().match("^javascript:")?"#":(i.match(/^\w{2,}:\/\/[^\/]+$/)&&(i=`${i}/`),i);t.match(/^\w{2,}:\/\/[^\/]+$/)&&(t=`${t}/`);let e;if(i.match(/^\/\//))return e=t.match(/^(\w{2,}:)\/\//),e?e[1]+i:i;if(i.match(/^\//))return e=t.match(/^(\w{2,}:\/\/[^\/]+)\//),e?e[1]+i:i;if(i.match(/^\.(\/|$)/)&&(i=i.substr(2)),t=Pb(t),i.match(/^#/))return t+i;let n=t.lastIndexOf("/");if(n<0)return i;let s=t.substr(0,n+1)+i,o="";for(e=s.match(/^([^?#]*)([?#].*)$/),e&&(s=e[1],o=e[2]);n=s.indexOf("/../"),!(n<=0);){let r=s.lastIndexOf("/",n-1);if(r<=0)break;s=s.substr(0,r)+s.substr(n+3)}return s.replace(/\/(\.\/)+/g,"/")+o}function _r(i,t){return i.match(/^#/)&&t?Ht(t)+i:ee(i,t)}function Wn(i){let t;return(t=/^(https?:)\/\/github\.com\/([^/]+\/[^/]+)\/(blob\/|tree\/|raw\/)?(.*)$/.exec(i))?i=`${t[1]}//raw.githubusercontent.com/${t[2]}/${t[3]?"":"master/"}${t[4]}`:(t=/^(https?:)\/\/www\.aozora\.gr\.jp\/(cards\/[^/]+\/files\/[^/.]+\.html)$/.exec(i))?i=`${t[1]}//raw.githubusercontent.com/aozorabunko/aozorabunko/master/${t[2]}`:(t=/^(https?:)\/\/gist\.github\.com\/([^/]+\/\w+)(\/|$)(raw(\/|$))?(.*)$/.exec(i))?i=`${t[1]}//gist.githubusercontent.com/${t[2]}/raw/${t[6]}`:(t=/^(https?:)\/\/gist\.github\.com\/([^/]+\/\w+)(?:#|%23)file-(.*)-(\w+)$/.exec(i))?i=`${t[1]}//gist.githubusercontent.com/${t[2]}/raw/${t[3]}.${t[4]}`:(t=/^(https?:)\/\/(?:[^/.]+\.)?jsbin\.com\/(?!(?:blog|help)\b)(\w+)((\/\d+)?).*$/.exec(i))&&(i=`${t[1]}//output.jsbin.com/${t[2]}${t[3]}/`),i}function Eu(i){return i==null?i:i.toString()}var va=class{constructor(){p(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}},vu=["","-webkit-","-moz-"],Io={};function Mr(i,t){return CSS.supports(i+t,"unset")}function kb(i){let t=Io[i];if(t||t===null)return t;switch(i){case"behavior":case"template":case"ua-list-item-count":case"x-first-pseudo":return Io[i]=null,null;case"text-combine-upright":if(Mr("-webkit-","text-combine")&&!Mr("","text-combine-upright"))return Io[i]=["-webkit-text-combine"],["-webkit-text-combine"];break}for(let e of vu)if(Mr(e,i))return t=[e+i],Io[i]=t,t;return O.warn("Property not supported by the browser: ",i),Io[i]=null,null}function P(i,t,e){let n=i==null?void 0:i.style;if(!n)return;if(t.startsWith("--")){n.setProperty(t,e||" ");return}let s=kb(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 rn(i,t,e){try{let n=Io[t];return i.style.getPropertyValue(n?n[0]:t)}catch(n){}return e||""}function Ur(i){let t=i.getAttributeNS("http://www.w3.org/XML/1998/namespace","lang");return!t&&i.namespaceURI=="http://www.w3.org/1999/xhtml"&&(t=i.getAttribute("lang")),t}var st=class{constructor(){p(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 qf(i){return`\\${i.charCodeAt(0).toString(16)} `}function Nn(i){return i.replace(/[^-_a-zA-Z0-9\u0080-\uFFFF]/g,qf)}function Ys(i){return i.replace(/[\u0000-\u001F"\\]/g,qf)}function Nu(i){return i.replace(/[\s+&?=#\u007F-\uFFFF]+/g,encodeURIComponent)}function Tu(i){return!!i.match(/^[a-zA-Z\u009E\u009F\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u024F\u037B-\u037D\u0386\u0388-\u0482\u048A-\u0527]$/)}function Ab(i,t){return t=typeof t=="string"?t:"\\u",t+(65536|i.charCodeAt(0)).toString(16).substr(1)}function wu(i,t){function e(n){return Ab(n,t)}return i.replace(/[^-a-zA-Z0-9_]/g,e)}function $n(i){return wu(i)}function Rb(i,t){return t=typeof t=="string"?t:"\\u",i.indexOf(t)===0?String.fromCharCode(parseInt(i.substring(t.length),16)):i}function Kf(i,t){t=typeof t=="string"?t:"\\u";function e(s){return Rb(s,t)}let n=new RegExp(`${$n(t)}[0-9a-fA-F]{4}`,"g");return i.replace(n,e)}function Rt(i,t){let e=0,n=i;for(;;){if(e<=n,e==0||t(e-1),n==i||t(n),e==n)return e;let s=e+n>>1;t(s)?n=s:e=s+1}}function Na(i,t){return i-t}function Pu(i,t){let e={};for(let n of i){let s=t(n);s&&!e[s]&&(e[s]=n)}return e}function Zf(i){let t={};for(let e=0;e<i.length;e++)t[i[e]]=!0;return t}function Ta(i,t){let e={};for(let n of i){let s=t(n);s&&(e[s]?e[s].push(n):e[s]=[n])}return e}function Qf(i,t){let e={};for(let n in i)e[n]=t(i[n],n);return e}var ds=class{constructor(){p(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)}}},Tn={audio:!0,canvas:!0,embed:!0,iframe:!0,img:!0,math:!0,object:!0,picture:!0,svg:!0,video:!0};function ku(){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 _a(i){return{fontFamily:i.fontFamily,lineHeight:i.lineHeight,margin:i.margin,hyphenate:i.hyphenate,columnWidth:i.columnWidth,horizontal:i.horizontal,nightMode:i.nightMode,spreadView:i.spreadView,pageBorder:i.pageBorder,enabledMediaTypes:Object.assign({},i.enabledMediaTypes),defaultPaperSize:i.defaultPaperSize?Object.assign({},i.defaultPaperSize):void 0}}var Lb=ku(),Jf={PENDING:{}};function Au(i,t,e,n){let s=Math.min((i-0)/e,(t-0)/n);return`matrix(${s},0,0,${s},0,0)`}function Ib(i){return`"${Ys(`${i}`)}"`}function Fb(i){return Nn(`${i}`)}function jr(i,t){return i?`${Nn(i)}.${Nn(t)}`:Nn(t)}var eg=0,qs=class{constructor(t,e){this.parent=t;this.resolver=e;p(this,"scopeKey");p(this,"children",[]);p(this,"zero");p(this,"one");p(this,"_true");p(this,"_false");p(this,"values",{});p(this,"funcs",{});p(this,"builtIns",{});if(this.scopeKey=`S${eg++}`,this.zero=new Ne(this,0),this.one=new Ne(this,1),this._true=new Ne(this,!0),this._false=new Ne(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=Au,n["css-string"]=Ib,n["css-name"]=Fb,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 this.pubTitle?this.pubTitle:""}),this.defineBuiltInName("doc-title",function(){return this.docTitle?this.docTitle:""})}}defineBuiltInName(t,e){this.values[t]=new te(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 tg(i){switch(i==null?void 0:i.toLowerCase()){case"px":case"in":case"pt":case"pc":case"cm":case"mm":case"q":return!0;default:return!1}}function Ru(i){switch(i==null?void 0:i.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 ng(i){switch(i==null?void 0:i.toLowerCase()){case"em":case"rem":case"lh":case"rlh":return!0;default:return!1}}function sg(i){switch(i==null?void 0:i.toLowerCase()){case"rem":case"rlh":return!0;default:return!1}}var ot={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,lh:20,rlh:20,dppx:1,dpi:1/96,dpcm:2.54/96};function Ua(i){switch(i){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 Bo=class{constructor(t,e,n,s){this.rootScope=t;this.viewportWidth=e;this.viewportHeight=n;p(this,"actualPageWidth",null);p(this,"pageWidth");p(this,"actualPageHeight",null);p(this,"pageHeight");p(this,"initialFontSize");p(this,"rootFontSize",null);p(this,"isRelativeRootFontSize",null);p(this,"fontSize");p(this,"rootLineHeight",null);p(this,"pref");p(this,"scopes",{});p(this,"pageAreaWidth",null);p(this,"pageAreaHeight",null);p(this,"pageVertical",null);p(this,"pubTitle",null);p(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=Lb}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(Ru(t)){let s=this.pageWidth()/100,o=this.pageHeight()/100,r=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 r;case"vh":return a;case"vi":return l?a:r;case"vb":return l?r:a;case"vmin":return r<a?r:a;case"vmax":return r>a?r: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=="lh"||t=="rlh"?this.rootLineHeight:ot[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 r=t.builtIns[e];if(r){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 Ne(t,r.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,r=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":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&&o!=null)switch(n){case"min":return r>=Number(o);case"max":return r<=Number(o);default:return r==o}else if(r!=null&&e==null)return r!==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}},Lt=class{constructor(t){this.scope=t;p(this,"key");this.scope=t,this.key=`_${eg++}`}toString(){let t=new st;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===Jf.PENDING?!1:s;{n[this.key]=Jf.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}},wa=class extends Lt{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)}},Oo=class extends Lt{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)}},Pa=class extends Oo{constructor(t,e,n){super(t,e,n)}getPriority(){return 1}},ps=class extends Oo{constructor(t,e,n){super(t,e,n)}getPriority(){return 2}},ka=class extends Oo{constructor(t,e,n){super(t,e,n)}getPriority(){return 3}},Hr=class extends Oo{constructor(t,e,n){super(t,e,n)}getPriority(){return 4}},zt=class extends wa{constructor(t,e){super(t,e)}getOp(){return"!"}evalPrefix(t){return!t}},Aa=class extends zt{constructor(t,e){super(t,e)}getOp(){return"not "}},wn=class extends wa{constructor(t,e){super(t,e)}getOp(){return"-"}evalPrefix(t){return-t}},Do=class extends Pa{constructor(t,e,n){super(t,e,n)}getOp(){return"&&"}evaluateCore(t){return this.lhs.evaluate(t)&&this.rhs.evaluate(t)}},Ra=class extends Do{constructor(t,e,n){super(t,e,n)}getOp(){return" and "}},Mo=class extends Pa{constructor(t,e,n){super(t,e,n)}getOp(){return"||"}evaluateCore(t){return this.lhs.evaluate(t)||this.rhs.evaluate(t)}},La=class extends Mo{constructor(t,e,n){super(t,e,n)}getOp(){return", "}},Ia=class extends Mo{constructor(t,e,n){super(t,e,n)}getOp(){return" or "}},Fa=class extends ps{constructor(t,e,n){super(t,e,n)}getOp(){return"<"}evalInfix(t,e){return t<e}},Va=class extends ps{constructor(t,e,n){super(t,e,n)}getOp(){return"<="}evalInfix(t,e){return t<=e}},Ba=class extends ps{constructor(t,e,n){super(t,e,n)}getOp(){return">"}evalInfix(t,e){return t>e}},Ks=class extends ps{constructor(t,e,n){super(t,e,n)}getOp(){return">="}evalInfix(t,e){return t>=e}},hs=class extends ps{constructor(t,e,n){super(t,e,n)}getOp(){return"=="}evalInfix(t,e){return t==e}},Oa=class extends ps{constructor(t,e,n){super(t,e,n)}getOp(){return"!="}evalInfix(t,e){return t!=e}},zr=class extends ka{constructor(t,e,n){super(t,e,n)}getOp(){return"+"}evalInfix(t,e){return t+e}},Gr=class extends ka{constructor(t,e,n){super(t,e,n)}getOp(){return" - "}evalInfix(t,e){return t-e}},Zs=class extends Hr{constructor(t,e,n){super(t,e,n)}getOp(){return"*"}evalInfix(t,e){return t*e}},Wr=class extends Hr{constructor(t,e,n){super(t,e,n)}getOp(){return"/"}evalInfix(t,e){return t/e}},_o=class extends Hr{constructor(t,e,n){super(t,e,n)}getOp(){return"%"}evalInfix(t,e){return t%e}},an=class extends Lt{constructor(e,n,s){var o;super(e);this.num=n;p(this,"unit");this.unit=(o=s==null?void 0:s.toLowerCase())!=null?o:""}appendTo(e,n){e.append(this.num.toString()),e.append(Nn(this.unit))}evaluateCore(e){return this.num*e.queryUnitSize(this.unit,!1)}},ye=class extends Lt{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)}},$r=class extends Lt{constructor(e,n,s){super(e);this.not=n;this.name=s}appendTo(e,n){this.not&&e.append("not "),e.append(Nn(this.name))}evaluateCore(e){return e.evalMediaName(this.name,this.not)}isMediaName(){return!0}},te=class extends Lt{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 Vb(i,t){i.append("(");for(let e=0;e<t.length;e++)e&&i.append(","),t[e].appendTo(i,0);i.append(")")}function Bb(i,t,e){let n=t;for(let s=0;s<t.length;s++){let o=t[s].expand(i,e);if(t!==n)n[s]=o;else if(o!==t[s]){n=Array(t.length);for(let r=0;r<s;r++)n[r]=t[r];n[s]=o}}return n}var Xn=class i extends Lt{constructor(e,n,s){super(e);this.qualifiedName=n;this.params=s}appendTo(e,n){e.append(this.qualifiedName),Vb(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 r=0;r<this.params.length;r++)if(this.params[r].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=Bb(e,this.params,n);return s===this.params?this:new i(this.scope,this.qualifiedName,s)}},Da=class i extends Lt{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),r=this.ifFalse.expand(e,n);return s===this.cond&&o===this.ifTrue&&r===this.ifFalse?this:new i(this.scope,s,o,r)}},Ne=class extends Lt{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(Ys(this.val)),e.append('"');break;default:throw new Error("F_UNEXPECTED_STATE")}}evaluateCore(e){return this.val}},Xr=class i extends Lt{constructor(e,n,s){super(e);this.name=n;this.value=s}appendTo(e,n){e.append("("),e.append(Ys(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 i(this.scope,this.name,s)}},Ma=class extends Lt{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)}},Uo=class extends Lt{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 bt(i,t,e){return t===i._false||t===i.zero||e==i._false||e==i.zero?i._false:t===i._true||t===i.one?e:e===i._true||e===i.one?t:new Do(i,t,e)}function K(i,t,e){return t===i.zero?e:e===i.zero?t:new zr(i,t,e)}function ie(i,t,e){return t===i.zero?new wn(i,e):e===i.zero?t:new Gr(i,t,e)}function Ho(i,t,e){return t===i.zero||e===i.zero?i.zero:t===i.one?e:e===i.one?t:new Zs(i,t,e)}function Yr(i,t,e){return t===i.zero?i.zero:e===i.one?t:new Wr(i,t,e)}var It=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 It{constructor(){super();p(this,"error",!1)}visitValues(e){let n=null;for(let s=0;s<e.length;s++){let o=e[s],r=o.visit(this);if(this.error)return[];if(n)n[s]=r;else if(o!==r){n=new Array(e.length);for(let a=0;a<s;a++)n[a]=e[a];n[s]=r}}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?G:n===e.values?e:new X(n)}visitCommaList(e){let n=this.visitValues(e.values);return this.error?G:n===e.values?e:new Se(n)}visitFunc(e){let n=this.visitValues(e.values);return this.error?G:n===e.values?e:new Ft(e.name,n)}visitExpr(e){return e}},_e=class{toString(){let t=new st;return this.appendTo(t,!0),t.toString()}stringValue(){let t=new st;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}},Ha=class Ha extends _e{static get instance(){return this.empty||(this.empty=new Ha),this.empty}constructor(){super()}toExpr(t,e){return new Ne(t,"")}appendTo(t,e){}visit(t){return t.visitEmpty(this)}};p(Ha,"empty");var Lu=Ha,G=Lu.instance,za=class za extends _e{static get instance(){return this.slash||(this.slash=new za),this.slash}constructor(){super()}toExpr(t,e){return new Ne(t,"/")}appendTo(t,e){t.append("/")}visit(t){return t.visitSlash(this)}};p(za,"slash");var Iu=za,jn=Iu.instance,z=class extends _e{constructor(e){super();this.str=e}toExpr(e,n){return new Ne(e,this.str)}appendTo(e,n){n?(e.append('"'),e.append(Ys(this.str)),e.append('"')):e.append(this.str)}visit(e){return e.visitStr(this)}},Fu=Object.create(null),J=class extends _e{constructor(e){super();this.name=e;if(Fu[e])throw new Error("E_INVALID_CALL");Fu[e]=this}toExpr(e,n){return new Ne(e,this.name)}appendTo(e,n){n?e.append(Nn(this.name)):e.append(this.name)}visit(e){return e.visitIdent(this)}isIdent(){return!0}};function R(i){let t=Fu[i];return t||(t=new J(i)),t}var k=class extends _e{constructor(e,n){var s;super();this.num=e;p(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 Zs(e,n,new Ne(e,this.num/100)):new an(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}},Ue=class extends _e{constructor(e){super();this.num=e}toExpr(e,n){return this.num==0?e.zero:this.num==1?e.one:new Ne(e,this.num)}appendTo(e,n){e.append(this.num.toString())}visit(e){return e.visitNum(this)}isNum(){return!0}},ae=class extends Ue{constructor(t){super(t)}visit(t){return t.visitInt(this)}},zo=class extends _e{constructor(e){super();this.hex=e}appendTo(e,n){e.append("#"),e.append(this.hex)}visit(e){return e.visitHexColor(this)}},Pe=class extends _e{constructor(e){super();this.url=e}appendTo(e,n){e.append('url("'),e.append(Ys(this.url)),e.append('")')}visit(e){return e.visitURL(this)}},qr=class extends _e{constructor(e){super();this.urangeText=e}appendTo(e,n){e.append(this.urangeText)}visit(e){return e.visitURange(this)}};function Vu(i,t,e,n){var o,r;let s=t.length;if(s>0){(o=t[0])==null||o.appendTo(i,n);for(let a=1;a<s;a++)i.append(e),(r=t[a])==null||r.appendTo(i,n)}}var X=class extends _e{constructor(e){super();this.values=e}appendTo(e,n){Vu(e,this.values," ",n)}visit(e){return e.visitSpaceList(this)}isSpaceList(){return!0}},Se=class extends _e{constructor(e){super();this.values=e}appendTo(e,n){Vu(e,this.values,",",n)}visit(e){return e.visitCommaList(this)}},Ft=class extends _e{constructor(e,n){super();this.name=e;this.values=n}appendTo(e,n){e.append(Nn(this.name)),e.append("("),Vu(e,this.values,",",n),e.append(")")}visit(e){return e.visitFunc(this)}},D=class extends _e{constructor(e){super();this.expr=e}toExpr(){return this.expr}appendTo(e,n){this.expr instanceof Ne||this.expr instanceof an?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}},Pn=class extends _e{constructor(e){super();this.text=e}appendTo(e,n){e.append(this.text||" ")}};function Ye(i,t){if(i){if(i.isNumeric()){let e=i;return t.queryUnitSize(e.unit,!1)*e.num}if(i.isNum())return i.num}return 0}function Ga(i,t){return new k(Ye(i,t),"px")}var y={absolute:R("absolute"),all:R("all"),always:R("always"),anywhere:R("anywhere"),auto:R("auto"),avoid:R("avoid"),balance:R("balance"),balance_all:R("balance-all"),block:R("block"),block_end:R("block-end"),block_start:R("block-start"),both:R("both"),bottom:R("bottom"),border_box:R("border-box"),break_all:R("break-all"),break_word:R("break-word"),clip:R("clip"),crop:R("crop"),cross:R("cross"),column:R("column"),discard:R("discard"),exclusive:R("exclusive"),_false:R("false"),fixed:R("fixed"),flex:R("flex"),flow_root:R("flow-root"),footnote:R("footnote"),footer:R("footer"),grid:R("grid"),header:R("header"),hidden:R("hidden"),horizontal_tb:R("horizontal-tb"),inherit:R("inherit"),initial:R("initial"),inline:R("inline"),inline_block:R("inline-block"),inline_end:R("inline-end"),inline_start:R("inline-start"),inside:R("inside"),keep:R("keep"),landscape:R("landscape"),left:R("left"),line:R("line"),list_item:R("list-item"),ltr:R("ltr"),manual:R("manual"),max_content:R("max-content"),min_content:R("min-content"),none:R("none"),normal:R("normal"),oeb_page_foot:R("oeb-page-foot"),oeb_page_head:R("oeb-page-head"),outside:R("outside"),padding_box:R("padding-box"),page:R("page"),relative:R("relative"),revert:R("revert"),right:R("right"),same:R("same"),scale:R("scale"),snap_block:R("snap-block"),snap_inline:R("snap-inline"),solid:R("solid"),spread:R("spread"),_static:R("static"),rtl:R("rtl"),table:R("table"),table_caption:R("table-caption"),table_cell:R("table-cell"),table_footer_group:R("table-footer-group"),table_header_group:R("table-header-group"),table_row:R("table-row"),top:R("top"),transparent:R("transparent"),unset:R("unset"),vertical_lr:R("vertical-lr"),vertical_rl:R("vertical-rl"),visible:R("visible"),_true:R("true")},Bu=new k(100,"%"),fs=new k(100,"pvw"),gs=new k(100,"pvh"),he=new k(0,"px"),ZS=new qr("U+0-10FFFF"),og={"font-size":1,"line-height":2,color:3};function W(i){return i===y.inherit||i===y.initial||i===y.revert||i===y.unset}function Ou(i,t){let e=og[i]||Number.MAX_VALUE,n=og[t]||Number.MAX_VALUE;return e-n}function Vt(i){return(i==null?void 0:i.length)>2&&i.startsWith("--")}var Qs,Js,eo,ln=class ln{constructor(t,e,n){Z(this,Qs);Z(this,Js);Z(this,eo);we(this,Qs,Math.round(Math.max(0,Math.min(t,ln.MAX)))),we(this,Js,Math.round(Math.max(0,Math.min(e,ln.MAX)))),we(this,eo,Math.round(Math.max(0,Math.min(n,ln.MAX))))}static fromInt(t,e,n){return new ln(t,e,n)}offset(t,e,n){return new ln(B(this,Qs)+t,B(this,Js)+e,B(this,eo)+n)}toKey(){return JSON.stringify([B(this,Qs),B(this,Js),B(this,eo)])}toColorFunc(t){return new Ft("color",[new X([R("srgb"),new Ue(B(this,Qs)/ln.MAX),new Ue(B(this,Js)/ln.MAX),new Ue(B(this,eo)/ln.MAX),...t!==null?[jn,new Ue(t)]:[]])])}};Qs=new WeakMap,Js=new WeakMap,eo=new WeakMap,p(ln,"MAX",1e4);var un=ln;function rg(i){return Array.isArray(i)?i.every(t=>{if(!Array.isArray(t)||t.length!==2)return!1;let[e,n]=t;if(!e||typeof e!="object"||Array.isArray(e)||!n||typeof n!="object"||Array.isArray(n))return!1;let s=e,o=n;return Number.isFinite(s.r)&&Number.isFinite(s.g)&&Number.isFinite(s.b)&&Number.isFinite(o.c)&&Number.isFinite(o.m)&&Number.isFinite(o.y)&&Number.isFinite(o.k)}):!1}var ms,Cs,bs,cn,rt=class rt{constructor(t,e,n,s){Z(this,ms);Z(this,Cs);Z(this,bs);Z(this,cn);we(this,ms,Math.round(Math.max(0,Math.min(t,rt.MAX)))),we(this,Cs,Math.round(Math.max(0,Math.min(e,rt.MAX)))),we(this,bs,Math.round(Math.max(0,Math.min(n,rt.MAX)))),we(this,cn,Math.round(Math.max(0,Math.min(s,rt.MAX))))}static fromInt(t,e,n,s){return new rt(t,e,n,s)}static fromNumber(t,e,n,s){return new rt(t*rt.MAX,e*rt.MAX,n*rt.MAX,s*rt.MAX)}toSRGB(){let t=rt.MAX-B(this,cn);return un.fromInt(un.MAX-Math.min(un.MAX,Math.round(B(this,ms)*t/rt.MAX)+B(this,cn)),un.MAX-Math.min(un.MAX,Math.round(B(this,Cs)*t/rt.MAX)+B(this,cn)),un.MAX-Math.min(un.MAX,Math.round(B(this,bs)*t/rt.MAX)+B(this,cn)))}equals(t){return B(this,ms)===B(t,ms)&&B(this,Cs)===B(t,Cs)&&B(this,bs)===B(t,bs)&&B(this,cn)===B(t,cn)}toJSON(){return{c:B(this,ms),m:B(this,Cs),y:B(this,bs),k:B(this,cn)}}};ms=new WeakMap,Cs=new WeakMap,bs=new WeakMap,cn=new WeakMap,p(rt,"MAX",1e4);var Wa=rt;function Go(i){return i instanceof Ue?Math.max(0,Math.min(1,i.num)):i instanceof k&&i.unit==="%"?Math.max(0,Math.min(1,i.num/100)):null}function Du(i){if(i.name!=="device-cmyk"&&i.name!=="cmyk")return null;let t=i.values.length===1&&i.values[0]instanceof X?i.values[0].values:i.values;if(t.length<4||t.length>6)return null;let e=Go(t[0]),n=Go(t[1]),s=Go(t[2]),o=Go(t[3]);if(e===null||n===null||s===null||o===null)return null;let r=null;if(t.length>=5){if(t[4]===jn){if(t.length!==6)return null;r=Go(t[5])}else{if(t.length!==5)return null;r=Go(t[4])}if(r===null)return null}return{cmyk:Wa.fromNumber(e,n,s,o),alpha:r}}function*Ob(i){for(let t=-i;t<=i;t++)for(let e=-i;e<=i;e++)for(let n=-i;n<=i;n++)Math.abs(t)+Math.abs(e)+Math.abs(n)===i&&(yield[t,e,n])}var Yn,jo,ig,ag,Kr=class{constructor(){Z(this,jo);Z(this,Yn,new Map)}registerDeviceCmyk(t){let e=Du(t);return e?pe(this,jo,ig).call(this,e.cmyk).toColorFunc(e.alpha):null}registerCmykReserveMap(t){for(let[e,n]of t){let s=un.fromInt(e.r,e.g,e.b),o=Wa.fromInt(n.c,n.m,n.y,n.k);B(this,Yn).set(s.toKey(),o)}}toJSON(){let t={};return B(this,Yn).forEach((e,n)=>{t[n]=e.toJSON()}),t}};Yn=new WeakMap,jo=new WeakSet,ig=function(t){let e=t.toSRGB(),n=e.toKey(),s=B(this,Yn).get(n);return s?s.equals(t)?e:pe(this,jo,ag).call(this,t,e):(B(this,Yn).set(n,t),e)},ag=function(t,e){for(let n=1;n<=un.MAX;n++)for(let[s,o,r]of Ob(n)){let a=e.offset(s,o,r),l=a.toKey();if(!B(this,Yn).has(l))return B(this,Yn).set(l,t),a}return O.warn(`CmykStore: Exceeded trackable color limit for ${JSON.stringify(t.toJSON())}`),e};var Zr,Wo,$o,Xo=class extends Kt{constructor(e){super();Z(this,Zr);Z(this,Wo,new Map);Z(this,$o,!1);we(this,Zr,e!=null?e:new Kr)}reset(){we(this,$o,!1)}hadDeviceCmyk(){return B(this,$o)}recordConversion(e,n){B(this,Wo).set(e,n)}getConversions(){if(B(this,Wo).size===0)return null;let e={};return B(this,Wo).forEach((n,s)=>{e[s]=n}),e}visitFunc(e){let n=B(this,Zr).registerDeviceCmyk(e);return n?(we(this,$o,!0),n):super.visitFunc(e)}};Zr=new WeakMap,Wo=new WeakMap,$o=new WeakMap;function ug(i){if(i.nodeType==1){let t=i.getAttribute("id");if(t)return t}return null}function Db(i){return`^${i}`}function lg(i){return i.replace(/[\[\]\(\),=;^]/g,Db)}function Mb(i){return i.substr(1)}function Mu(i){return i&&i.replace(/\^[\[\]\(\),=;^]/g,Mb)}function _b(i){let t=[];do{let e=i.match(/^(\^,|[^,])*/),n=Mu(e[0]);if(i=i.substr(e[0].length+1),!i&&!t.length)return n;t.push(n)}while(i);return t}function cg(i){let t={};for(;i;){let e=i.match(/^;([^;=]+)=(([^;]|\^;)*)/);if(!e)return t;t[e[1]]=_b(e[2]),i=i.substr(e[0].length)}return t}var Xa=class{appendTo(t){t.append("!")}applyTo(t){return!1}},ja=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,r=Math.floor(this.index/2)-1;if(r<0||s==0)o=e.firstChild,t.node=o||e;else{if(o=n[Math.min(r,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!=ug(t.node))){let a=e.ownerDocument.getElementById(this.id);a?t.node=a:O.warn("E_CFI_ID_MISMATCH:",this.id)}return t.sideBias=this.sideBias,!0}},Ya=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 r=n.textContent.length;if(e<=r)break;if(!o){e=r;break}e-=r}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(lg(this.textBefore)),t.append(","),this.textAfter&&t.append(lg(this.textAfter))),this.sideBias&&(t.append(";s="),t.append(this.sideBias)),t.append("]"))}},Qr=class i{constructor(){p(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 r;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];r=cg(e[4]),o.push(new ja(a,l,Eu(r.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=Mu(l));let c=e[7];c&&(c=Mu(c)),r=cg(e[10]),o.push(new Ya(a,l,c,Eu(r.s)));break}case"!":s++,o.push(new Xa);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 i,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=[],r=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 Ya(e,a,l,s)),s=null);r&&!(!r||r.nodeType==9);){let c=n?null:ug(t),u=n?1:0;for(;t;)t.nodeType==1&&(u+=2),t=t.previousSibling;o.push(new ja(u,c,s)),s=null,t=r,r=r.parentNode,n=!1}o.reverse(),this.steps?(o.push(new Xa),this.steps=o.concat(this.steps)):this.steps=o}toString(){if(!this.steps)return"";let t=new st;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")}};var tt=class{constructor(t,e,n,s){this.x1=t;this.y1=e;this.x2=n;this.y2=s}},dn=class{constructor(t,e){this.x=t;this.y=e}},qo=class{constructor(t,e,n,s){this.left=t;this.top=e;this.right=n;this.bottom=s}},qa=class{constructor(t,e,n,s){this.low=t;this.high=e;this.winding=n;this.shapeId=s}},pn=class{constructor(t,e,n,s){this.y1=t;this.y2=e;this.x1=n;this.x2=s;p(this,"left",null);p(this,"right",null)}};function Hb(i,t){return i.low.y-t.low.y||i.low.x-t.low.x}var to=class i{constructor(t){this.points=t}addSegments(t,e){let n=this.points,s=n.length,o=n[s-1];for(let r=0;r<s;r