Obsidean_VM/.obsidian/plugins/pdf-plus/main.js

159 lines
1.0 MiB
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
if you want to view the source, please visit the github repository of this plugin
*/
var S1=Object.create;var La=Object.defineProperty;var E1=Object.getOwnPropertyDescriptor;var T1=Object.getOwnPropertyNames;var A1=Object.getPrototypeOf,I1=Object.prototype.hasOwnProperty;var bm=n=>{throw TypeError(n)};var B1=(n,e,t)=>e in n?La(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var J=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),b0=(n,e)=>{for(var t in e)La(n,t,{get:e[t],enumerable:!0})},ym=(n,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of T1(e))!I1.call(n,r)&&r!==t&&La(n,r,{get:()=>e[r],enumerable:!(i=E1(e,r))||i.enumerable});return n};var Ki=(n,e,t)=>(t=n!=null?S1(A1(n)):{},ym(e||!n||!n.__esModule?La(t,"default",{value:n,enumerable:!0}):t,n)),L1=n=>ym(La({},"__esModule",{value:!0}),n);var y0=(n,e,t)=>B1(n,typeof e!="symbol"?e+"":e,t),vm=(n,e,t)=>e.has(n)||bm("Cannot "+t);var Ge=(n,e,t)=>(vm(n,e,"read from private field"),t?t.call(n):e.get(n)),mn=(n,e,t)=>e.has(n)?bm("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,t),Ot=(n,e,t,i)=>(vm(n,e,"write to private field"),i?i.call(n,t):e.set(n,t),t);var v0=(n,e,t,i)=>({set _(r){Ot(n,e,r,t)},get _(){return Ge(n,e,i)}});var bn=J(St=>{"use strict";var q1=typeof Uint8Array!="undefined"&&typeof Uint16Array!="undefined"&&typeof Int32Array!="undefined";function W1(n,e){return Object.prototype.hasOwnProperty.call(n,e)}St.assign=function(n){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var t=e.shift();if(t){if(typeof t!="object")throw new TypeError(t+"must be non-object");for(var i in t)W1(t,i)&&(n[i]=t[i])}}return n};St.shrinkBuf=function(n,e){return n.length===e?n:n.subarray?n.subarray(0,e):(n.length=e,n)};var j1={arraySet:function(n,e,t,i,r){if(e.subarray&&n.subarray){n.set(e.subarray(t,t+i),r);return}for(var o=0;o<i;o++)n[r+o]=e[t+o]},flattenChunks:function(n){var e,t,i,r,o,s;for(i=0,e=0,t=n.length;e<t;e++)i+=n[e].length;for(s=new Uint8Array(i),r=0,e=0,t=n.length;e<t;e++)o=n[e],s.set(o,r),r+=o.length;return s}},K1={arraySet:function(n,e,t,i,r){for(var o=0;o<i;o++)n[r+o]=e[t+o]},flattenChunks:function(n){return[].concat.apply([],n)}};St.setTyped=function(n){n?(St.Buf8=Uint8Array,St.Buf16=Uint16Array,St.Buf32=Int32Array,St.assign(St,j1)):(St.Buf8=Array,St.Buf16=Array,St.Buf32=Array,St.assign(St,K1))};St.setTyped(q1)});var Jm=J(fs=>{"use strict";var G1=bn(),X1=4,Em=0,Tm=1,Z1=2;function us(n){for(var e=n.length;--e>=0;)n[e]=0}var Y1=0,Mm=1,J1=2,_1=3,Q1=258,X0=29,Ga=256,qa=Ga+1+X0,hs=30,Z0=19,Nm=2*qa+1,Qr=15,U0=16,$1=7,Y0=256,Rm=16,Vm=17,Hm=18,K0=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],fd=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],eF=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],zm=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],tF=512,yn=new Array((qa+2)*2);us(yn);var Ua=new Array(hs*2);us(Ua);var Wa=new Array(tF);us(Wa);var ja=new Array(Q1-_1+1);us(ja);var J0=new Array(X0);us(J0);var pd=new Array(hs);us(pd);function q0(n,e,t,i,r){this.static_tree=n,this.extra_bits=e,this.extra_base=t,this.elems=i,this.max_length=r,this.has_stree=n&&n.length}var Um,qm,Wm;function W0(n,e){this.dyn_tree=n,this.max_code=0,this.stat_desc=e}function jm(n){return n<256?Wa[n]:Wa[256+(n>>>7)]}function Ka(n,e){n.pending_buf[n.pending++]=e&255,n.pending_buf[n.pending++]=e>>>8&255}function Rt(n,e,t){n.bi_valid>U0-t?(n.bi_buf|=e<<n.bi_valid&65535,Ka(n,n.bi_buf),n.bi_buf=e>>U0-n.bi_valid,n.bi_valid+=t-U0):(n.bi_buf|=e<<n.bi_valid&65535,n.bi_valid+=t)}function Zi(n,e,t){Rt(n,t[e*2],t[e*2+1])}function Km(n,e){var t=0;do t|=n&1,n>>>=1,t<<=1;while(--e>0);return t>>>1}function iF(n){n.bi_valid===16?(Ka(n,n.bi_buf),n.bi_buf=0,n.bi_valid=0):n.bi_valid>=8&&(n.pending_buf[n.pending++]=n.bi_buf&255,n.bi_buf>>=8,n.bi_valid-=8)}function nF(n,e){var t=e.dyn_tree,i=e.max_code,r=e.stat_desc.static_tree,o=e.stat_desc.has_stree,s=e.stat_desc.extra_bits,a=e.stat_desc.extra_base,c=e.stat_desc.max_length,l,d,h,u,p,f,m=0;for(u=0;u<=Qr;u++)n.bl_count[u]=0;for(t[n.heap[n.heap_max]*2+1]=0,l=n.heap_max+1;l<Nm;l++)d=n.heap[l],u=t[t[d*2+1]*2+1]+1,u>c&&(u=c,m++),t[d*2+1]=u,!(d>i)&&(n.bl_count[u]++,p=0,d>=a&&(p=s[d-a]),f=t[d*2],n.opt_len+=f*(u+p),o&&(n.static_len+=f*(r[d*2+1]+p)));if(m!==0){do{for(u=c-1;n.bl_count[u]===0;)u--;n.bl_count[u]--,n.bl_count[u+1]+=2,n.bl_count[c]--,m-=2}while(m>0);for(u=c;u!==0;u--)for(d=n.bl_count[u];d!==0;)h=n.heap[--l],!(h>i)&&(t[h*2+1]!==u&&(n.opt_len+=(u-t[h*2+1])*t[h*2],t[h*2+1]=u),d--)}}function Gm(n,e,t){var i=new Array(Qr+1),r=0,o,s;for(o=1;o<=Qr;o++)i[o]=r=r+t[o-1]<<1;for(s=0;s<=e;s++){var a=n[s*2+1];a!==0&&(n[s*2]=Km(i[a]++,a))}}function rF(){var n,e,t,i,r,o=new Array(Qr+1);for(t=0,i=0;i<X0-1;i++)for(J0[i]=t,n=0;n<1<<K0[i];n++)ja[t++]=i;for(ja[t-1]=i,r=0,i=0;i<16;i++)for(pd[i]=r,n=0;n<1<<fd[i];n++)Wa[r++]=i;for(r>>=7;i<hs;i++)for(pd[i]=r<<7,n=0;n<1<<fd[i]-7;n++)Wa[256+r++]=i;for(e=0;e<=Qr;e++)o[e]=0;for(n=0;n<=143;)yn[n*2+1]=8,n++,o[8]++;for(;n<=255;)yn[n*2+1]=9,n++,o[9]++;for(;n<=279;)yn[n*2+1]=7,n++,o[7]++;for(;n<=287;)yn[n*2+1]=8,n++,o[8]++;for(Gm(yn,qa+1,o),n=0;n<hs;n++)Ua[n*2+1]=5,Ua[n*2]=Km(n,5);Um=new q0(yn,K0,Ga+1,qa,Qr),qm=new q0(Ua,fd,0,hs,Qr),Wm=new q0(new Array(0),eF,0,Z0,$1)}function Xm(n){var e;for(e=0;e<qa;e++)n.dyn_ltree[e*2]=0;for(e=0;e<hs;e++)n.dyn_dtree[e*2]=0;for(e=0;e<Z0;e++)n.bl_tree[e*2]=0;n.dyn_ltree[Y0*2]=1,n.opt_len=n.static_len=0,n.last_lit=n.matches=0}function Zm(n){n.bi_valid>8?Ka(n,n.bi_buf):n.bi_valid>0&&(n.pending_buf[n.pending++]=n.bi_buf),n.bi_buf=0,n.bi_valid=0}function oF(n,e,t,i){Zm(n),i&&(Ka(n,t),Ka(n,~t)),G1.arraySet(n.pending_buf,n.window,e,t,n.pending),n.pending+=t}function Am(n,e,t,i){var r=e*2,o=t*2;return n[r]<n[o]||n[r]===n[o]&&i[e]<=i[t]}function j0(n,e,t){for(var i=n.heap[t],r=t<<1;r<=n.heap_len&&(r<n.heap_len&&Am(e,n.heap[r+1],n.heap[r],n.depth)&&r++,!Am(e,i,n.heap[r],n.depth));)n.heap[t]=n.heap[r],t=r,r<<=1;n.heap[t]=i}function Im(n,e,t){var i,r,o=0,s,a;if(n.last_lit!==0)do i=n.pending_buf[n.d_buf+o*2]<<8|n.pending_buf[n.d_buf+o*2+1],r=n.pending_buf[n.l_buf+o],o++,i===0?Zi(n,r,e):(s=ja[r],Zi(n,s+Ga+1,e),a=K0[s],a!==0&&(r-=J0[s],Rt(n,r,a)),i--,s=jm(i),Zi(n,s,t),a=fd[s],a!==0&&(i-=pd[s],Rt(n,i,a)));while(o<n.last_lit);Zi(n,Y0,e)}function G0(n,e){var t=e.dyn_tree,i=e.stat_desc.static_tree,r=e.stat_desc.has_stree,o=e.stat_desc.elems,s,a,c=-1,l;for(n.heap_len=0,n.heap_max=Nm,s=0;s<o;s++)t[s*2]!==0?(n.heap[++n.heap_len]=c=s,n.depth[s]=0):t[s*2+1]=0;for(;n.heap_len<2;)l=n.heap[++n.heap_len]=c<2?++c:0,t[l*2]=1,n.depth[l]=0,n.opt_len--,r&&(n.static_len-=i[l*2+1]);for(e.max_code=c,s=n.heap_len>>1;s>=1;s--)j0(n,t,s);l=o;do s=n.heap[1],n.heap[1]=n.heap[n.heap_len--],j0(n,t,1),a=n.heap[1],n.heap[--n.heap_max]=s,n.heap[--n.heap_max]=a,t[l*2]=t[s*2]+t[a*2],n.depth[l]=(n.depth[s]>=n.depth[a]?n.depth[s]:n.depth[a])+1,t[s*2+1]=t[a*2+1]=l,n.heap[1]=l++,j0(n,t,1);while(n.heap_len>=2);n.heap[--n.heap_max]=n.heap[1],nF(n,e),Gm(t,c,n.bl_count)}function Bm(n,e,t){var i,r=-1,o,s=e[0*2+1],a=0,c=7,l=4;for(s===0&&(c=138,l=3),e[(t+1)*2+1]=65535,i=0;i<=t;i++)o=s,s=e[(i+1)*2+1],!(++a<c&&o===s)&&(a<l?n.bl_tree[o*2]+=a:o!==0?(o!==r&&n.bl_tree[o*2]++,n.bl_tree[Rm*2]++):a<=10?n.bl_tree[Vm*2]++:n.bl_tree[Hm*2]++,a=0,r=o,s===0?(c=138,l=3):o===s?(c=6,l=3):(c=7,l=4))}function Lm(n,e,t){var i,r=-1,o,s=e[0*2+1],a=0,c=7,l=4;for(s===0&&(c=138,l=3),i=0;i<=t;i++)if(o=s,s=e[(i+1)*2+1],!(++a<c&&o===s)){if(a<l)do Zi(n,o,n.bl_tree);while(--a!==0);else o!==0?(o!==r&&(Zi(n,o,n.bl_tree),a--),Zi(n,Rm,n.bl_tree),Rt(n,a-3,2)):a<=10?(Zi(n,Vm,n.bl_tree),Rt(n,a-3,3)):(Zi(n,Hm,n.bl_tree),Rt(n,a-11,7));a=0,r=o,s===0?(c=138,l=3):o===s?(c=6,l=3):(c=7,l=4)}}function sF(n){var e;for(Bm(n,n.dyn_ltree,n.l_desc.max_code),Bm(n,n.dyn_dtree,n.d_desc.max_code),G0(n,n.bl_desc),e=Z0-1;e>=3&&n.bl_tree[zm[e]*2+1]===0;e--);return n.opt_len+=3*(e+1)+5+5+4,e}function aF(n,e,t,i){var r;for(Rt(n,e-257,5),Rt(n,t-1,5),Rt(n,i-4,4),r=0;r<i;r++)Rt(n,n.bl_tree[zm[r]*2+1],3);Lm(n,n.dyn_ltree,e-1),Lm(n,n.dyn_dtree,t-1)}function lF(n){var e=4093624447,t;for(t=0;t<=31;t++,e>>>=1)if(e&1&&n.dyn_ltree[t*2]!==0)return Em;if(n.dyn_ltree[9*2]!==0||n.dyn_ltree[10*2]!==0||n.dyn_ltree[13*2]!==0)return Tm;for(t=32;t<Ga;t++)if(n.dyn_ltree[t*2]!==0)return Tm;return Em}var Om=!1;function cF(n){Om||(rF(),Om=!0),n.l_desc=new W0(n.dyn_ltree,Um),n.d_desc=new W0(n.dyn_dtree,qm),n.bl_desc=new W0(n.bl_tree,Wm),n.bi_buf=0,n.bi_valid=0,Xm(n)}function Ym(n,e,t,i){Rt(n,(Y1<<1)+(i?1:0),3),oF(n,e,t,!0)}function dF(n){Rt(n,Mm<<1,3),Zi(n,Y0,yn),iF(n)}function hF(n,e,t,i){var r,o,s=0;n.level>0?(n.strm.data_type===Z1&&(n.strm.data_type=lF(n)),G0(n,n.l_desc),G0(n,n.d_desc),s=sF(n),r=n.opt_len+3+7>>>3,o=n.static_len+3+7>>>3,o<=r&&(r=o)):r=o=t+5,t+4<=r&&e!==-1?Ym(n,e,t,i):n.strategy===X1||o===r?(Rt(n,(Mm<<1)+(i?1:0),3),Im(n,yn,Ua)):(Rt(n,(J1<<1)+(i?1:0),3),aF(n,n.l_desc.max_code+1,n.d_desc.max_code+1,s+1),Im(n,n.dyn_ltree,n.dyn_dtree)),Xm(n),i&&Zm(n)}function uF(n,e,t){return n.pending_buf[n.d_buf+n.last_lit*2]=e>>>8&255,n.pending_buf[n.d_buf+n.last_lit*2+1]=e&255,n.pending_buf[n.l_buf+n.last_lit]=t&255,n.last_lit++,e===0?n.dyn_ltree[t*2]++:(n.matches++,e--,n.dyn_ltree[(ja[t]+Ga+1)*2]++,n.dyn_dtree[jm(e)*2]++),n.last_lit===n.lit_bufsize-1}fs._tr_init=cF;fs._tr_stored_block=Ym;fs._tr_flush_block=hF;fs._tr_tally=uF;fs._tr_align=dF});var _0=J((qC,_m)=>{"use strict";function fF(n,e,t,i){for(var r=n&65535|0,o=n>>>16&65535|0,s=0;t!==0;){s=t>2e3?2e3:t,t-=s;do r=r+e[i++]|0,o=o+r|0;while(--s);r%=65521,o%=65521}return r|o<<16|0}_m.exports=fF});var Q0=J((WC,Qm)=>{"use strict";function pF(){for(var n,e=[],t=0;t<256;t++){n=t;for(var i=0;i<8;i++)n=n&1?3988292384^n>>>1:n>>>1;e[t]=n}return e}var gF=pF();function mF(n,e,t,i){var r=gF,o=i+t;n^=-1;for(var s=i;s<o;s++)n=n>>>8^r[(n^e[s])&255];return n^-1}Qm.exports=mF});var gd=J((jC,$m)=>{"use strict";$m.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}});var lx=J(_i=>{"use strict";var Et=bn(),ni=Jm(),nx=_0(),lr=Q0(),xF=gd(),io=0,bF=1,yF=3,fr=4,ex=5,Ji=0,tx=1,ri=-2,vF=-3,$0=-5,wF=-1,FF=1,md=2,DF=3,PF=4,kF=0,CF=2,vd=8,SF=9,EF=15,TF=8,AF=29,IF=256,tf=IF+1+AF,BF=30,LF=19,OF=2*tf+1,MF=15,xe=3,hr=258,Ai=hr+xe+1,NF=32,wd=42,nf=69,xd=73,bd=91,yd=103,$r=113,Za=666,nt=1,Ya=2,eo=3,ms=4,RF=3;function ur(n,e){return n.msg=xF[e],e}function ix(n){return(n<<1)-(n>4?9:0)}function dr(n){for(var e=n.length;--e>=0;)n[e]=0}function cr(n){var e=n.state,t=e.pending;t>n.avail_out&&(t=n.avail_out),t!==0&&(Et.arraySet(n.output,e.pending_buf,e.pending_out,t,n.next_out),n.next_out+=t,e.pending_out+=t,n.total_out+=t,n.avail_out-=t,e.pending-=t,e.pending===0&&(e.pending_out=0))}function gt(n,e){ni._tr_flush_block(n,n.block_start>=0?n.block_start:-1,n.strstart-n.block_start,e),n.block_start=n.strstart,cr(n.strm)}function De(n,e){n.pending_buf[n.pending++]=e}function Xa(n,e){n.pending_buf[n.pending++]=e>>>8&255,n.pending_buf[n.pending++]=e&255}function VF(n,e,t,i){var r=n.avail_in;return r>i&&(r=i),r===0?0:(n.avail_in-=r,Et.arraySet(e,n.input,n.next_in,r,t),n.state.wrap===1?n.adler=nx(n.adler,e,r,t):n.state.wrap===2&&(n.adler=lr(n.adler,e,r,t)),n.next_in+=r,n.total_in+=r,r)}function rx(n,e){var t=n.max_chain_length,i=n.strstart,r,o,s=n.prev_length,a=n.nice_match,c=n.strstart>n.w_size-Ai?n.strstart-(n.w_size-Ai):0,l=n.window,d=n.w_mask,h=n.prev,u=n.strstart+hr,p=l[i+s-1],f=l[i+s];n.prev_length>=n.good_match&&(t>>=2),a>n.lookahead&&(a=n.lookahead);do if(r=e,!(l[r+s]!==f||l[r+s-1]!==p||l[r]!==l[i]||l[++r]!==l[i+1])){i+=2,r++;do;while(l[++i]===l[++r]&&l[++i]===l[++r]&&l[++i]===l[++r]&&l[++i]===l[++r]&&l[++i]===l[++r]&&l[++i]===l[++r]&&l[++i]===l[++r]&&l[++i]===l[++r]&&i<u);if(o=hr-(u-i),i=u-hr,o>s){if(n.match_start=e,s=o,o>=a)break;p=l[i+s-1],f=l[i+s]}}while((e=h[e&d])>c&&--t!==0);return s<=n.lookahead?s:n.lookahead}function to(n){var e=n.w_size,t,i,r,o,s;do{if(o=n.window_size-n.lookahead-n.strstart,n.strstart>=e+(e-Ai)){Et.arraySet(n.window,n.window,e,e,0),n.match_start-=e,n.strstart-=e,n.block_start-=e,i=n.hash_size,t=i;do r=n.head[--t],n.head[t]=r>=e?r-e:0;while(--i);i=e,t=i;do r=n.prev[--t],n.prev[t]=r>=e?r-e:0;while(--i);o+=e}if(n.strm.avail_in===0)break;if(i=VF(n.strm,n.window,n.strstart+n.lookahead,o),n.lookahead+=i,n.lookahead+n.insert>=xe)for(s=n.strstart-n.insert,n.ins_h=n.window[s],n.ins_h=(n.ins_h<<n.hash_shift^n.window[s+1])&n.hash_mask;n.insert&&(n.ins_h=(n.ins_h<<n.hash_shift^n.window[s+xe-1])&n.hash_mask,n.prev[s&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=s,s++,n.insert--,!(n.lookahead+n.insert<xe)););}while(n.lookahead<Ai&&n.strm.avail_in!==0)}function HF(n,e){var t=65535;for(t>n.pending_buf_size-5&&(t=n.pending_buf_size-5);;){if(n.lookahead<=1){if(to(n),n.lookahead===0&&e===io)return nt;if(n.lookahead===0)break}n.strstart+=n.lookahead,n.lookahead=0;var i=n.block_start+t;if((n.strstart===0||n.strstart>=i)&&(n.lookahead=n.strstart-i,n.strstart=i,gt(n,!1),n.strm.avail_out===0)||n.strstart-n.block_start>=n.w_size-Ai&&(gt(n,!1),n.strm.avail_out===0))return nt}return n.insert=0,e===fr?(gt(n,!0),n.strm.avail_out===0?eo:ms):(n.strstart>n.block_start&&(gt(n,!1),n.strm.avail_out===0),nt)}function ef(n,e){for(var t,i;;){if(n.lookahead<Ai){if(to(n),n.lookahead<Ai&&e===io)return nt;if(n.lookahead===0)break}if(t=0,n.lookahead>=xe&&(n.ins_h=(n.ins_h<<n.hash_shift^n.window[n.strstart+xe-1])&n.hash_mask,t=n.prev[n.strstart&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=n.strstart),t!==0&&n.strstart-t<=n.w_size-Ai&&(n.match_length=rx(n,t)),n.match_length>=xe)if(i=ni._tr_tally(n,n.strstart-n.match_start,n.match_length-xe),n.lookahead-=n.match_length,n.match_length<=n.max_lazy_match&&n.lookahead>=xe){n.match_length--;do n.strstart++,n.ins_h=(n.ins_h<<n.hash_shift^n.window[n.strstart+xe-1])&n.hash_mask,t=n.prev[n.strstart&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=n.strstart;while(--n.match_length!==0);n.strstart++}else n.strstart+=n.match_length,n.match_length=0,n.ins_h=n.window[n.strstart],n.ins_h=(n.ins_h<<n.hash_shift^n.window[n.strstart+1])&n.hash_mask;else i=ni._tr_tally(n,0,n.window[n.strstart]),n.lookahead--,n.strstart++;if(i&&(gt(n,!1),n.strm.avail_out===0))return nt}return n.insert=n.strstart<xe-1?n.strstart:xe-1,e===fr?(gt(n,!0),n.strm.avail_out===0?eo:ms):n.last_lit&&(gt(n,!1),n.strm.avail_out===0)?nt:Ya}function ps(n,e){for(var t,i,r;;){if(n.lookahead<Ai){if(to(n),n.lookahead<Ai&&e===io)return nt;if(n.lookahead===0)break}if(t=0,n.lookahead>=xe&&(n.ins_h=(n.ins_h<<n.hash_shift^n.window[n.strstart+xe-1])&n.hash_mask,t=n.prev[n.strstart&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=n.strstart),n.prev_length=n.match_length,n.prev_match=n.match_start,n.match_length=xe-1,t!==0&&n.prev_length<n.max_lazy_match&&n.strstart-t<=n.w_size-Ai&&(n.match_length=rx(n,t),n.match_length<=5&&(n.strategy===FF||n.match_length===xe&&n.strstart-n.match_start>4096)&&(n.match_length=xe-1)),n.prev_length>=xe&&n.match_length<=n.prev_length){r=n.strstart+n.lookahead-xe,i=ni._tr_tally(n,n.strstart-1-n.prev_match,n.prev_length-xe),n.lookahead-=n.prev_length-1,n.prev_length-=2;do++n.strstart<=r&&(n.ins_h=(n.ins_h<<n.hash_shift^n.window[n.strstart+xe-1])&n.hash_mask,t=n.prev[n.strstart&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=n.strstart);while(--n.prev_length!==0);if(n.match_available=0,n.match_length=xe-1,n.strstart++,i&&(gt(n,!1),n.strm.avail_out===0))return nt}else if(n.match_available){if(i=ni._tr_tally(n,0,n.window[n.strstart-1]),i&&gt(n,!1),n.strstart++,n.lookahead--,n.strm.avail_out===0)return nt}else n.match_available=1,n.strstart++,n.lookahead--}return n.match_available&&(i=ni._tr_tally(n,0,n.window[n.strstart-1]),n.match_available=0),n.insert=n.strstart<xe-1?n.strstart:xe-1,e===fr?(gt(n,!0),n.strm.avail_out===0?eo:ms):n.last_lit&&(gt(n,!1),n.strm.avail_out===0)?nt:Ya}function zF(n,e){for(var t,i,r,o,s=n.window;;){if(n.lookahead<=hr){if(to(n),n.lookahead<=hr&&e===io)return nt;if(n.lookahead===0)break}if(n.match_length=0,n.lookahead>=xe&&n.strstart>0&&(r=n.strstart-1,i=s[r],i===s[++r]&&i===s[++r]&&i===s[++r])){o=n.strstart+hr;do;while(i===s[++r]&&i===s[++r]&&i===s[++r]&&i===s[++r]&&i===s[++r]&&i===s[++r]&&i===s[++r]&&i===s[++r]&&r<o);n.match_length=hr-(o-r),n.match_length>n.lookahead&&(n.match_length=n.lookahead)}if(n.match_length>=xe?(t=ni._tr_tally(n,1,n.match_length-xe),n.lookahead-=n.match_length,n.strstart+=n.match_length,n.match_length=0):(t=ni._tr_tally(n,0,n.window[n.strstart]),n.lookahead--,n.strstart++),t&&(gt(n,!1),n.strm.avail_out===0))return nt}return n.insert=0,e===fr?(gt(n,!0),n.strm.avail_out===0?eo:ms):n.last_lit&&(gt(n,!1),n.strm.avail_out===0)?nt:Ya}function UF(n,e){for(var t;;){if(n.lookahead===0&&(to(n),n.lookahead===0)){if(e===io)return nt;break}if(n.match_length=0,t=ni._tr_tally(n,0,n.window[n.strstart]),n.lookahead--,n.strstart++,t&&(gt(n,!1),n.strm.avail_out===0))return nt}return n.insert=0,e===fr?(gt(n,!0),n.strm.avail_out===0?eo:ms):n.last_lit&&(gt(n,!1),n.strm.avail_out===0)?nt:Ya}function Yi(n,e,t,i,r){this.good_length=n,this.max_lazy=e,this.nice_length=t,this.max_chain=i,this.func=r}var gs;gs=[new Yi(0,0,0,0,HF),new Yi(4,4,8,4,ef),new Yi(4,5,16,8,ef),new Yi(4,6,32,32,ef),new Yi(4,4,16,16,ps),new Yi(8,16,32,32,ps),new Yi(8,16,128,128,ps),new Yi(8,32,128,256,ps),new Yi(32,128,258,1024,ps),new Yi(32,258,258,4096,ps)];function qF(n){n.window_size=2*n.w_size,dr(n.head),n.max_lazy_match=gs[n.level].max_lazy,n.good_match=gs[n.level].good_length,n.nice_match=gs[n.level].nice_length,n.max_chain_length=gs[n.level].max_chain,n.strstart=0,n.block_start=0,n.lookahead=0,n.insert=0,n.match_length=n.prev_length=xe-1,n.match_available=0,n.ins_h=0}function WF(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=vd,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Et.Buf16(OF*2),this.dyn_dtree=new Et.Buf16((2*BF+1)*2),this.bl_tree=new Et.Buf16((2*LF+1)*2),dr(this.dyn_ltree),dr(this.dyn_dtree),dr(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Et.Buf16(MF+1),this.heap=new Et.Buf16(2*tf+1),dr(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Et.Buf16(2*tf+1),dr(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function ox(n){var e;return!n||!n.state?ur(n,ri):(n.total_in=n.total_out=0,n.data_type=CF,e=n.state,e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?wd:$r,n.adler=e.wrap===2?0:1,e.last_flush=io,ni._tr_init(e),Ji)}function sx(n){var e=ox(n);return e===Ji&&qF(n.state),e}function jF(n,e){return!n||!n.state||n.state.wrap!==2?ri:(n.state.gzhead=e,Ji)}function ax(n,e,t,i,r,o){if(!n)return ri;var s=1;if(e===wF&&(e=6),i<0?(s=0,i=-i):i>15&&(s=2,i-=16),r<1||r>SF||t!==vd||i<8||i>15||e<0||e>9||o<0||o>PF)return ur(n,ri);i===8&&(i=9);var a=new WF;return n.state=a,a.strm=n,a.wrap=s,a.gzhead=null,a.w_bits=i,a.w_size=1<<a.w_bits,a.w_mask=a.w_size-1,a.hash_bits=r+7,a.hash_size=1<<a.hash_bits,a.hash_mask=a.hash_size-1,a.hash_shift=~~((a.hash_bits+xe-1)/xe),a.window=new Et.Buf8(a.w_size*2),a.head=new Et.Buf16(a.hash_size),a.prev=new Et.Buf16(a.w_size),a.lit_bufsize=1<<r+6,a.pending_buf_size=a.lit_bufsize*4,a.pending_buf=new Et.Buf8(a.pending_buf_size),a.d_buf=1*a.lit_bufsize,a.l_buf=3*a.lit_bufsize,a.level=e,a.strategy=o,a.method=t,sx(n)}function KF(n,e){return ax(n,e,vd,EF,TF,kF)}function GF(n,e){var t,i,r,o;if(!n||!n.state||e>ex||e<0)return n?ur(n,ri):ri;if(i=n.state,!n.output||!n.input&&n.avail_in!==0||i.status===Za&&e!==fr)return ur(n,n.avail_out===0?$0:ri);if(i.strm=n,t=i.last_flush,i.last_flush=e,i.status===wd)if(i.wrap===2)n.adler=0,De(i,31),De(i,139),De(i,8),i.gzhead?(De(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),De(i,i.gzhead.time&255),De(i,i.gzhead.time>>8&255),De(i,i.gzhead.time>>16&255),De(i,i.gzhead.time>>24&255),De(i,i.level===9?2:i.strategy>=md||i.level<2?4:0),De(i,i.gzhead.os&255),i.gzhead.extra&&i.gzhead.extra.length&&(De(i,i.gzhead.extra.length&255),De(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(n.adler=lr(n.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=nf):(De(i,0),De(i,0),De(i,0),De(i,0),De(i,0),De(i,i.level===9?2:i.strategy>=md||i.level<2?4:0),De(i,RF),i.status=$r);else{var s=vd+(i.w_bits-8<<4)<<8,a=-1;i.strategy>=md||i.level<2?a=0:i.level<6?a=1:i.level===6?a=2:a=3,s|=a<<6,i.strstart!==0&&(s|=NF),s+=31-s%31,i.status=$r,Xa(i,s),i.strstart!==0&&(Xa(i,n.adler>>>16),Xa(i,n.adler&65535)),n.adler=1}if(i.status===nf)if(i.gzhead.extra){for(r=i.pending;i.gzindex<(i.gzhead.extra.length&65535)&&!(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>r&&(n.adler=lr(n.adler,i.pending_buf,i.pending-r,r)),cr(n),r=i.pending,i.pending===i.pending_buf_size));)De(i,i.gzhead.extra[i.gzindex]&255),i.gzindex++;i.gzhead.hcrc&&i.pending>r&&(n.adler=lr(n.adler,i.pending_buf,i.pending-r,r)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=xd)}else i.status=xd;if(i.status===xd)if(i.gzhead.name){r=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>r&&(n.adler=lr(n.adler,i.pending_buf,i.pending-r,r)),cr(n),r=i.pending,i.pending===i.pending_buf_size)){o=1;break}i.gzindex<i.gzhead.name.length?o=i.gzhead.name.charCodeAt(i.gzindex++)&255:o=0,De(i,o)}while(o!==0);i.gzhead.hcrc&&i.pending>r&&(n.adler=lr(n.adler,i.pending_buf,i.pending-r,r)),o===0&&(i.gzindex=0,i.status=bd)}else i.status=bd;if(i.status===bd)if(i.gzhead.comment){r=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>r&&(n.adler=lr(n.adler,i.pending_buf,i.pending-r,r)),cr(n),r=i.pending,i.pending===i.pending_buf_size)){o=1;break}i.gzindex<i.gzhead.comment.length?o=i.gzhead.comment.charCodeAt(i.gzindex++)&255:o=0,De(i,o)}while(o!==0);i.gzhead.hcrc&&i.pending>r&&(n.adler=lr(n.adler,i.pending_buf,i.pending-r,r)),o===0&&(i.status=yd)}else i.status=yd;if(i.status===yd&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&cr(n),i.pending+2<=i.pending_buf_size&&(De(i,n.adler&255),De(i,n.adler>>8&255),n.adler=0,i.status=$r)):i.status=$r),i.pending!==0){if(cr(n),n.avail_out===0)return i.last_flush=-1,Ji}else if(n.avail_in===0&&ix(e)<=ix(t)&&e!==fr)return ur(n,$0);if(i.status===Za&&n.avail_in!==0)return ur(n,$0);if(n.avail_in!==0||i.lookahead!==0||e!==io&&i.status!==Za){var c=i.strategy===md?UF(i,e):i.strategy===DF?zF(i,e):gs[i.level].func(i,e);if((c===eo||c===ms)&&(i.status=Za),c===nt||c===eo)return n.avail_out===0&&(i.last_flush=-1),Ji;if(c===Ya&&(e===bF?ni._tr_align(i):e!==ex&&(ni._tr_stored_block(i,0,0,!1),e===yF&&(dr(i.head),i.lookahead===0&&(i.strstart=0,i.block_start=0,i.insert=0))),cr(n),n.avail_out===0))return i.last_flush=-1,Ji}return e!==fr?Ji:i.wrap<=0?tx:(i.wrap===2?(De(i,n.adler&255),De(i,n.adler>>8&255),De(i,n.adler>>16&255),De(i,n.adler>>24&255),De(i,n.total_in&255),De(i,n.total_in>>8&255),De(i,n.total_in>>16&255),De(i,n.total_in>>24&255)):(Xa(i,n.adler>>>16),Xa(i,n.adler&65535)),cr(n),i.wrap>0&&(i.wrap=-i.wrap),i.pending!==0?Ji:tx)}function XF(n){var e;return!n||!n.state?ri:(e=n.state.status,e!==wd&&e!==nf&&e!==xd&&e!==bd&&e!==yd&&e!==$r&&e!==Za?ur(n,ri):(n.state=null,e===$r?ur(n,vF):Ji))}function ZF(n,e){var t=e.length,i,r,o,s,a,c,l,d;if(!n||!n.state||(i=n.state,s=i.wrap,s===2||s===1&&i.status!==wd||i.lookahead))return ri;for(s===1&&(n.adler=nx(n.adler,e,t,0)),i.wrap=0,t>=i.w_size&&(s===0&&(dr(i.head),i.strstart=0,i.block_start=0,i.insert=0),d=new Et.Buf8(i.w_size),Et.arraySet(d,e,t-i.w_size,i.w_size,0),e=d,t=i.w_size),a=n.avail_in,c=n.next_in,l=n.input,n.avail_in=t,n.next_in=0,n.input=e,to(i);i.lookahead>=xe;){r=i.strstart,o=i.lookahead-(xe-1);do i.ins_h=(i.ins_h<<i.hash_shift^i.window[r+xe-1])&i.hash_mask,i.prev[r&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=r,r++;while(--o);i.strstart=r,i.lookahead=xe-1,to(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=xe-1,i.match_available=0,n.next_in=c,n.input=l,n.avail_in=a,i.wrap=s,Ji}_i.deflateInit=KF;_i.deflateInit2=ax;_i.deflateReset=sx;_i.deflateResetKeep=ox;_i.deflateSetHeader=jF;_i.deflate=GF;_i.deflateEnd=XF;_i.deflateSetDictionary=ZF;_i.deflateInfo="pako deflate (from Nodeca project)"});var rf=J(xs=>{"use strict";var Fd=bn(),cx=!0,dx=!0;try{String.fromCharCode.apply(null,[0])}catch(n){cx=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(n){dx=!1}var Ja=new Fd.Buf8(256);for(vn=0;vn<256;vn++)Ja[vn]=vn>=252?6:vn>=248?5:vn>=240?4:vn>=224?3:vn>=192?2:1;var vn;Ja[254]=Ja[254]=1;xs.string2buf=function(n){var e,t,i,r,o,s=n.length,a=0;for(r=0;r<s;r++)t=n.charCodeAt(r),(t&64512)===55296&&r+1<s&&(i=n.charCodeAt(r+1),(i&64512)===56320&&(t=65536+(t-55296<<10)+(i-56320),r++)),a+=t<128?1:t<2048?2:t<65536?3:4;for(e=new Fd.Buf8(a),o=0,r=0;o<a;r++)t=n.charCodeAt(r),(t&64512)===55296&&r+1<s&&(i=n.charCodeAt(r+1),(i&64512)===56320&&(t=65536+(t-55296<<10)+(i-56320),r++)),t<128?e[o++]=t:t<2048?(e[o++]=192|t>>>6,e[o++]=128|t&63):t<65536?(e[o++]=224|t>>>12,e[o++]=128|t>>>6&63,e[o++]=128|t&63):(e[o++]=240|t>>>18,e[o++]=128|t>>>12&63,e[o++]=128|t>>>6&63,e[o++]=128|t&63);return e};function hx(n,e){if(e<65534&&(n.subarray&&dx||!n.subarray&&cx))return String.fromCharCode.apply(null,Fd.shrinkBuf(n,e));for(var t="",i=0;i<e;i++)t+=String.fromCharCode(n[i]);return t}xs.buf2binstring=function(n){return hx(n,n.length)};xs.binstring2buf=function(n){for(var e=new Fd.Buf8(n.length),t=0,i=e.length;t<i;t++)e[t]=n.charCodeAt(t);return e};xs.buf2string=function(n,e){var t,i,r,o,s=e||n.length,a=new Array(s*2);for(i=0,t=0;t<s;){if(r=n[t++],r<128){a[i++]=r;continue}if(o=Ja[r],o>4){a[i++]=65533,t+=o-1;continue}for(r&=o===2?31:o===3?15:7;o>1&&t<s;)r=r<<6|n[t++]&63,o--;if(o>1){a[i++]=65533;continue}r<65536?a[i++]=r:(r-=65536,a[i++]=55296|r>>10&1023,a[i++]=56320|r&1023)}return hx(a,i)};xs.utf8border=function(n,e){var t;for(e=e||n.length,e>n.length&&(e=n.length),t=e-1;t>=0&&(n[t]&192)===128;)t--;return t<0||t===0?e:t+Ja[n[t]]>e?t:e}});var of=J((XC,ux)=>{"use strict";function YF(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}ux.exports=YF});var mx=J($a=>{"use strict";var _a=lx(),Qa=bn(),af=rf(),lf=gd(),JF=of(),gx=Object.prototype.toString,_F=0,sf=4,bs=0,fx=1,px=2,QF=-1,$F=0,eD=8;function no(n){if(!(this instanceof no))return new no(n);this.options=Qa.assign({level:QF,method:eD,chunkSize:16384,windowBits:15,memLevel:8,strategy:$F,to:""},n||{});var e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new JF,this.strm.avail_out=0;var t=_a.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(t!==bs)throw new Error(lf[t]);if(e.header&&_a.deflateSetHeader(this.strm,e.header),e.dictionary){var i;if(typeof e.dictionary=="string"?i=af.string2buf(e.dictionary):gx.call(e.dictionary)==="[object ArrayBuffer]"?i=new Uint8Array(e.dictionary):i=e.dictionary,t=_a.deflateSetDictionary(this.strm,i),t!==bs)throw new Error(lf[t]);this._dict_set=!0}}no.prototype.push=function(n,e){var t=this.strm,i=this.options.chunkSize,r,o;if(this.ended)return!1;o=e===~~e?e:e===!0?sf:_F,typeof n=="string"?t.input=af.string2buf(n):gx.call(n)==="[object ArrayBuffer]"?t.input=new Uint8Array(n):t.input=n,t.next_in=0,t.avail_in=t.input.length;do{if(t.avail_out===0&&(t.output=new Qa.Buf8(i),t.next_out=0,t.avail_out=i),r=_a.deflate(t,o),r!==fx&&r!==bs)return this.onEnd(r),this.ended=!0,!1;(t.avail_out===0||t.avail_in===0&&(o===sf||o===px))&&(this.options.to==="string"?this.onData(af.buf2binstring(Qa.shrinkBuf(t.output,t.next_out))):this.onData(Qa.shrinkBuf(t.output,t.next_out)))}while((t.avail_in>0||t.avail_out===0)&&r!==fx);return o===sf?(r=_a.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===bs):(o===px&&(this.onEnd(bs),t.avail_out=0),!0)};no.prototype.onData=function(n){this.chunks.push(n)};no.prototype.onEnd=function(n){n===bs&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=Qa.flattenChunks(this.chunks)),this.chunks=[],this.err=n,this.msg=this.strm.msg};function cf(n,e){var t=new no(e);if(t.push(n,!0),t.err)throw t.msg||lf[t.err];return t.result}function tD(n,e){return e=e||{},e.raw=!0,cf(n,e)}function iD(n,e){return e=e||{},e.gzip=!0,cf(n,e)}$a.Deflate=no;$a.deflate=cf;$a.deflateRaw=tD;$a.gzip=iD});var bx=J((YC,xx)=>{"use strict";var Dd=30,nD=12;xx.exports=function(e,t){var i,r,o,s,a,c,l,d,h,u,p,f,m,x,g,b,v,y,F,D,C,k,E,B,S;i=e.state,r=e.next_in,B=e.input,o=r+(e.avail_in-5),s=e.next_out,S=e.output,a=s-(t-e.avail_out),c=s+(e.avail_out-257),l=i.dmax,d=i.wsize,h=i.whave,u=i.wnext,p=i.window,f=i.hold,m=i.bits,x=i.lencode,g=i.distcode,b=(1<<i.lenbits)-1,v=(1<<i.distbits)-1;e:do{m<15&&(f+=B[r++]<<m,m+=8,f+=B[r++]<<m,m+=8),y=x[f&b];t:for(;;){if(F=y>>>24,f>>>=F,m-=F,F=y>>>16&255,F===0)S[s++]=y&65535;else if(F&16){D=y&65535,F&=15,F&&(m<F&&(f+=B[r++]<<m,m+=8),D+=f&(1<<F)-1,f>>>=F,m-=F),m<15&&(f+=B[r++]<<m,m+=8,f+=B[r++]<<m,m+=8),y=g[f&v];i:for(;;){if(F=y>>>24,f>>>=F,m-=F,F=y>>>16&255,F&16){if(C=y&65535,F&=15,m<F&&(f+=B[r++]<<m,m+=8,m<F&&(f+=B[r++]<<m,m+=8)),C+=f&(1<<F)-1,C>l){e.msg="invalid distance too far back",i.mode=Dd;break e}if(f>>>=F,m-=F,F=s-a,C>F){if(F=C-F,F>h&&i.sane){e.msg="invalid distance too far back",i.mode=Dd;break e}if(k=0,E=p,u===0){if(k+=d-F,F<D){D-=F;do S[s++]=p[k++];while(--F);k=s-C,E=S}}else if(u<F){if(k+=d+u-F,F-=u,F<D){D-=F;do S[s++]=p[k++];while(--F);if(k=0,u<D){F=u,D-=F;do S[s++]=p[k++];while(--F);k=s-C,E=S}}}else if(k+=u-F,F<D){D-=F;do S[s++]=p[k++];while(--F);k=s-C,E=S}for(;D>2;)S[s++]=E[k++],S[s++]=E[k++],S[s++]=E[k++],D-=3;D&&(S[s++]=E[k++],D>1&&(S[s++]=E[k++]))}else{k=s-C;do S[s++]=S[k++],S[s++]=S[k++],S[s++]=S[k++],D-=3;while(D>2);D&&(S[s++]=S[k++],D>1&&(S[s++]=S[k++]))}}else if((F&64)===0){y=g[(y&65535)+(f&(1<<F)-1)];continue i}else{e.msg="invalid distance code",i.mode=Dd;break e}break}}else if((F&64)===0){y=x[(y&65535)+(f&(1<<F)-1)];continue t}else if(F&32){i.mode=nD;break e}else{e.msg="invalid literal/length code",i.mode=Dd;break e}break}}while(r<o&&s<c);D=m>>3,r-=D,m-=D<<3,f&=(1<<m)-1,e.next_in=r,e.next_out=s,e.avail_in=r<o?5+(o-r):5-(r-o),e.avail_out=s<c?257+(c-s):257-(s-c),i.hold=f,i.bits=m}});var kx=J((JC,Px)=>{"use strict";var yx=bn(),ys=15,vx=852,wx=592,Fx=0,df=1,Dx=2,rD=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],oD=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],sD=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],aD=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];Px.exports=function(e,t,i,r,o,s,a,c){var l=c.bits,d=0,h=0,u=0,p=0,f=0,m=0,x=0,g=0,b=0,v=0,y,F,D,C,k,E=null,B=0,S,I=new yx.Buf16(ys+1),L=new yx.Buf16(ys+1),A=null,N=0,q,U,Z;for(d=0;d<=ys;d++)I[d]=0;for(h=0;h<r;h++)I[t[i+h]]++;for(f=l,p=ys;p>=1&&I[p]===0;p--);if(f>p&&(f=p),p===0)return o[s++]=1<<24|64<<16|0,o[s++]=1<<24|64<<16|0,c.bits=1,0;for(u=1;u<p&&I[u]===0;u++);for(f<u&&(f=u),g=1,d=1;d<=ys;d++)if(g<<=1,g-=I[d],g<0)return-1;if(g>0&&(e===Fx||p!==1))return-1;for(L[1]=0,d=1;d<ys;d++)L[d+1]=L[d]+I[d];for(h=0;h<r;h++)t[i+h]!==0&&(a[L[t[i+h]]++]=h);if(e===Fx?(E=A=a,S=19):e===df?(E=rD,B-=257,A=oD,N-=257,S=256):(E=sD,A=aD,S=-1),v=0,h=0,d=u,k=s,m=f,x=0,D=-1,b=1<<f,C=b-1,e===df&&b>vx||e===Dx&&b>wx)return 1;for(;;){q=d-x,a[h]<S?(U=0,Z=a[h]):a[h]>S?(U=A[N+a[h]],Z=E[B+a[h]]):(U=96,Z=0),y=1<<d-x,F=1<<m,u=F;do F-=y,o[k+(v>>x)+F]=q<<24|U<<16|Z|0;while(F!==0);for(y=1<<d-1;v&y;)y>>=1;if(y!==0?(v&=y-1,v+=y):v=0,h++,--I[d]===0){if(d===p)break;d=t[i+a[h]]}if(d>f&&(v&C)!==D){for(x===0&&(x=f),k+=u,m=d-x,g=1<<m;m+x<p&&(g-=I[m+x],!(g<=0));)m++,g<<=1;if(b+=1<<m,e===df&&b>vx||e===Dx&&b>wx)return 1;D=v&C,o[D]=f<<24|m<<16|k-s|0}}return v!==0&&(o[k+v]=d-x<<24|64<<16|0),c.bits=f,0}});var sb=J(Ii=>{"use strict";var Wt=bn(),mf=_0(),Qi=Q0(),lD=bx(),el=kx(),cD=0,_x=1,Qx=2,Cx=4,dD=5,Pd=6,ro=0,hD=1,uD=2,oi=-2,$x=-3,xf=-4,fD=-5,Sx=8,eb=1,Ex=2,Tx=3,Ax=4,Ix=5,Bx=6,Lx=7,Ox=8,Mx=9,Nx=10,Sd=11,wn=12,hf=13,Rx=14,uf=15,Vx=16,Hx=17,zx=18,Ux=19,kd=20,Cd=21,qx=22,Wx=23,jx=24,Kx=25,Gx=26,ff=27,Xx=28,Zx=29,Re=30,bf=31,pD=32,gD=852,mD=592,xD=15,bD=xD;function Yx(n){return(n>>>24&255)+(n>>>8&65280)+((n&65280)<<8)+((n&255)<<24)}function yD(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Wt.Buf16(320),this.work=new Wt.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function tb(n){var e;return!n||!n.state?oi:(e=n.state,n.total_in=n.total_out=e.total=0,n.msg="",e.wrap&&(n.adler=e.wrap&1),e.mode=eb,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Wt.Buf32(gD),e.distcode=e.distdyn=new Wt.Buf32(mD),e.sane=1,e.back=-1,ro)}function ib(n){var e;return!n||!n.state?oi:(e=n.state,e.wsize=0,e.whave=0,e.wnext=0,tb(n))}function nb(n,e){var t,i;return!n||!n.state||(i=n.state,e<0?(t=0,e=-e):(t=(e>>4)+1,e<48&&(e&=15)),e&&(e<8||e>15))?oi:(i.window!==null&&i.wbits!==e&&(i.window=null),i.wrap=t,i.wbits=e,ib(n))}function rb(n,e){var t,i;return n?(i=new yD,n.state=i,i.window=null,t=nb(n,e),t!==ro&&(n.state=null),t):oi}function vD(n){return rb(n,bD)}var Jx=!0,pf,gf;function wD(n){if(Jx){var e;for(pf=new Wt.Buf32(512),gf=new Wt.Buf32(32),e=0;e<144;)n.lens[e++]=8;for(;e<256;)n.lens[e++]=9;for(;e<280;)n.lens[e++]=7;for(;e<288;)n.lens[e++]=8;for(el(_x,n.lens,0,288,pf,0,n.work,{bits:9}),e=0;e<32;)n.lens[e++]=5;el(Qx,n.lens,0,32,gf,0,n.work,{bits:5}),Jx=!1}n.lencode=pf,n.lenbits=9,n.distcode=gf,n.distbits=5}function ob(n,e,t,i){var r,o=n.state;return o.window===null&&(o.wsize=1<<o.wbits,o.wnext=0,o.whave=0,o.window=new Wt.Buf8(o.wsize)),i>=o.wsize?(Wt.arraySet(o.window,e,t-o.wsize,o.wsize,0),o.wnext=0,o.whave=o.wsize):(r=o.wsize-o.wnext,r>i&&(r=i),Wt.arraySet(o.window,e,t-i,r,o.wnext),i-=r,i?(Wt.arraySet(o.window,e,t-i,i,0),o.wnext=i,o.whave=o.wsize):(o.wnext+=r,o.wnext===o.wsize&&(o.wnext=0),o.whave<o.wsize&&(o.whave+=r))),0}function FD(n,e){var t,i,r,o,s,a,c,l,d,h,u,p,f,m,x=0,g,b,v,y,F,D,C,k,E=new Wt.Buf8(4),B,S,I=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!n||!n.state||!n.output||!n.input&&n.avail_in!==0)return oi;t=n.state,t.mode===wn&&(t.mode=hf),s=n.next_out,r=n.output,c=n.avail_out,o=n.next_in,i=n.input,a=n.avail_in,l=t.hold,d=t.bits,h=a,u=c,k=ro;e:for(;;)switch(t.mode){case eb:if(t.wrap===0){t.mode=hf;break}for(;d<16;){if(a===0)break e;a--,l+=i[o++]<<d,d+=8}if(t.wrap&2&&l===35615){t.check=0,E[0]=l&255,E[1]=l>>>8&255,t.check=Qi(t.check,E,2,0),l=0,d=0,t.mode=Ex;break}if(t.flags=0,t.head&&(t.head.done=!1),!(t.wrap&1)||(((l&255)<<8)+(l>>8))%31){n.msg="incorrect header check",t.mode=Re;break}if((l&15)!==Sx){n.msg="unknown compression method",t.mode=Re;break}if(l>>>=4,d-=4,C=(l&15)+8,t.wbits===0)t.wbits=C;else if(C>t.wbits){n.msg="invalid window size",t.mode=Re;break}t.dmax=1<<C,n.adler=t.check=1,t.mode=l&512?Nx:wn,l=0,d=0;break;case Ex:for(;d<16;){if(a===0)break e;a--,l+=i[o++]<<d,d+=8}if(t.flags=l,(t.flags&255)!==Sx){n.msg="unknown compression method",t.mode=Re;break}if(t.flags&57344){n.msg="unknown header flags set",t.mode=Re;break}t.head&&(t.head.text=l>>8&1),t.flags&512&&(E[0]=l&255,E[1]=l>>>8&255,t.check=Qi(t.check,E,2,0)),l=0,d=0,t.mode=Tx;case Tx:for(;d<32;){if(a===0)break e;a--,l+=i[o++]<<d,d+=8}t.head&&(t.head.time=l),t.flags&512&&(E[0]=l&255,E[1]=l>>>8&255,E[2]=l>>>16&255,E[3]=l>>>24&255,t.check=Qi(t.check,E,4,0)),l=0,d=0,t.mode=Ax;case Ax:for(;d<16;){if(a===0)break e;a--,l+=i[o++]<<d,d+=8}t.head&&(t.head.xflags=l&255,t.head.os=l>>8),t.flags&512&&(E[0]=l&255,E[1]=l>>>8&255,t.check=Qi(t.check,E,2,0)),l=0,d=0,t.mode=Ix;case Ix:if(t.flags&1024){for(;d<16;){if(a===0)break e;a--,l+=i[o++]<<d,d+=8}t.length=l,t.head&&(t.head.extra_len=l),t.flags&512&&(E[0]=l&255,E[1]=l>>>8&255,t.check=Qi(t.check,E,2,0)),l=0,d=0}else t.head&&(t.head.extra=null);t.mode=Bx;case Bx:if(t.flags&1024&&(p=t.length,p>a&&(p=a),p&&(t.head&&(C=t.head.extra_len-t.length,t.head.extra||(t.head.extra=new Array(t.head.extra_len)),Wt.arraySet(t.head.extra,i,o,p,C)),t.flags&512&&(t.check=Qi(t.check,i,p,o)),a-=p,o+=p,t.length-=p),t.length))break e;t.length=0,t.mode=Lx;case Lx:if(t.flags&2048){if(a===0)break e;p=0;do C=i[o+p++],t.head&&C&&t.length<65536&&(t.head.name+=String.fromCharCode(C));while(C&&p<a);if(t.flags&512&&(t.check=Qi(t.check,i,p,o)),a-=p,o+=p,C)break e}else t.head&&(t.head.name=null);t.length=0,t.mode=Ox;case Ox:if(t.flags&4096){if(a===0)break e;p=0;do C=i[o+p++],t.head&&C&&t.length<65536&&(t.head.comment+=String.fromCharCode(C));while(C&&p<a);if(t.flags&512&&(t.check=Qi(t.check,i,p,o)),a-=p,o+=p,C)break e}else t.head&&(t.head.comment=null);t.mode=Mx;case Mx:if(t.flags&512){for(;d<16;){if(a===0)break e;a--,l+=i[o++]<<d,d+=8}if(l!==(t.check&65535)){n.msg="header crc mismatch",t.mode=Re;break}l=0,d=0}t.head&&(t.head.hcrc=t.flags>>9&1,t.head.done=!0),n.adler=t.check=0,t.mode=wn;break;case Nx:for(;d<32;){if(a===0)break e;a--,l+=i[o++]<<d,d+=8}n.adler=t.check=Yx(l),l=0,d=0,t.mode=Sd;case Sd:if(t.havedict===0)return n.next_out=s,n.avail_out=c,n.next_in=o,n.avail_in=a,t.hold=l,t.bits=d,uD;n.adler=t.check=1,t.mode=wn;case wn:if(e===dD||e===Pd)break e;case hf:if(t.last){l>>>=d&7,d-=d&7,t.mode=ff;break}for(;d<3;){if(a===0)break e;a--,l+=i[o++]<<d,d+=8}switch(t.last=l&1,l>>>=1,d-=1,l&3){case 0:t.mode=Rx;break;case 1:if(wD(t),t.mode=kd,e===Pd){l>>>=2,d-=2;break e}break;case 2:t.mode=Hx;break;case 3:n.msg="invalid block type",t.mode=Re}l>>>=2,d-=2;break;case Rx:for(l>>>=d&7,d-=d&7;d<32;){if(a===0)break e;a--,l+=i[o++]<<d,d+=8}if((l&65535)!==(l>>>16^65535)){n.msg="invalid stored block lengths",t.mode=Re;break}if(t.length=l&65535,l=0,d=0,t.mode=uf,e===Pd)break e;case uf:t.mode=Vx;case Vx:if(p=t.length,p){if(p>a&&(p=a),p>c&&(p=c),p===0)break e;Wt.arraySet(r,i,o,p,s),a-=p,o+=p,c-=p,s+=p,t.length-=p;break}t.mode=wn;break;case Hx:for(;d<14;){if(a===0)break e;a--,l+=i[o++]<<d,d+=8}if(t.nlen=(l&31)+257,l>>>=5,d-=5,t.ndist=(l&31)+1,l>>>=5,d-=5,t.ncode=(l&15)+4,l>>>=4,d-=4,t.nlen>286||t.ndist>30){n.msg="too many length or distance symbols",t.mode=Re;break}t.have=0,t.mode=zx;case zx:for(;t.have<t.ncode;){for(;d<3;){if(a===0)break e;a--,l+=i[o++]<<d,d+=8}t.lens[I[t.have++]]=l&7,l>>>=3,d-=3}for(;t.have<19;)t.lens[I[t.have++]]=0;if(t.lencode=t.lendyn,t.lenbits=7,B={bits:t.lenbits},k=el(cD,t.lens,0,19,t.lencode,0,t.work,B),t.lenbits=B.bits,k){n.msg="invalid code lengths set",t.mode=Re;break}t.have=0,t.mode=Ux;case Ux:for(;t.have<t.nlen+t.ndist;){for(;x=t.lencode[l&(1<<t.lenbits)-1],g=x>>>24,b=x>>>16&255,v=x&65535,!(g<=d);){if(a===0)break e;a--,l+=i[o++]<<d,d+=8}if(v<16)l>>>=g,d-=g,t.lens[t.have++]=v;else{if(v===16){for(S=g+2;d<S;){if(a===0)break e;a--,l+=i[o++]<<d,d+=8}if(l>>>=g,d-=g,t.have===0){n.msg="invalid bit length repeat",t.mode=Re;break}C=t.lens[t.have-1],p=3+(l&3),l>>>=2,d-=2}else if(v===17){for(S=g+3;d<S;){if(a===0)break e;a--,l+=i[o++]<<d,d+=8}l>>>=g,d-=g,C=0,p=3+(l&7),l>>>=3,d-=3}else{for(S=g+7;d<S;){if(a===0)break e;a--,l+=i[o++]<<d,d+=8}l>>>=g,d-=g,C=0,p=11+(l&127),l>>>=7,d-=7}if(t.have+p>t.nlen+t.ndist){n.msg="invalid bit length repeat",t.mode=Re;break}for(;p--;)t.lens[t.have++]=C}}if(t.mode===Re)break;if(t.lens[256]===0){n.msg="invalid code -- missing end-of-block",t.mode=Re;break}if(t.lenbits=9,B={bits:t.lenbits},k=el(_x,t.lens,0,t.nlen,t.lencode,0,t.work,B),t.lenbits=B.bits,k){n.msg="invalid literal/lengths set",t.mode=Re;break}if(t.distbits=6,t.distcode=t.distdyn,B={bits:t.distbits},k=el(Qx,t.lens,t.nlen,t.ndist,t.distcode,0,t.work,B),t.distbits=B.bits,k){n.msg="invalid distances set",t.mode=Re;break}if(t.mode=kd,e===Pd)break e;case kd:t.mode=Cd;case Cd:if(a>=6&&c>=258){n.next_out=s,n.avail_out=c,n.next_in=o,n.avail_in=a,t.hold=l,t.bits=d,lD(n,u),s=n.next_out,r=n.output,c=n.avail_out,o=n.next_in,i=n.input,a=n.avail_in,l=t.hold,d=t.bits,t.mode===wn&&(t.back=-1);break}for(t.back=0;x=t.lencode[l&(1<<t.lenbits)-1],g=x>>>24,b=x>>>16&255,v=x&65535,!(g<=d);){if(a===0)break e;a--,l+=i[o++]<<d,d+=8}if(b&&(b&240)===0){for(y=g,F=b,D=v;x=t.lencode[D+((l&(1<<y+F)-1)>>y)],g=x>>>24,b=x>>>16&255,v=x&65535,!(y+g<=d);){if(a===0)break e;a--,l+=i[o++]<<d,d+=8}l>>>=y,d-=y,t.back+=y}if(l>>>=g,d-=g,t.back+=g,t.length=v,b===0){t.mode=Gx;break}if(b&32){t.back=-1,t.mode=wn;break}if(b&64){n.msg="invalid literal/length code",t.mode=Re;break}t.extra=b&15,t.mode=qx;case qx:if(t.extra){for(S=t.extra;d<S;){if(a===0)break e;a--,l+=i[o++]<<d,d+=8}t.length+=l&(1<<t.extra)-1,l>>>=t.extra,d-=t.extra,t.back+=t.extra}t.was=t.length,t.mode=Wx;case Wx:for(;x=t.distcode[l&(1<<t.distbits)-1],g=x>>>24,b=x>>>16&255,v=x&65535,!(g<=d);){if(a===0)break e;a--,l+=i[o++]<<d,d+=8}if((b&240)===0){for(y=g,F=b,D=v;x=t.distcode[D+((l&(1<<y+F)-1)>>y)],g=x>>>24,b=x>>>16&255,v=x&65535,!(y+g<=d);){if(a===0)break e;a--,l+=i[o++]<<d,d+=8}l>>>=y,d-=y,t.back+=y}if(l>>>=g,d-=g,t.back+=g,b&64){n.msg="invalid distance code",t.mode=Re;break}t.offset=v,t.extra=b&15,t.mode=jx;case jx:if(t.extra){for(S=t.extra;d<S;){if(a===0)break e;a--,l+=i[o++]<<d,d+=8}t.offset+=l&(1<<t.extra)-1,l>>>=t.extra,d-=t.extra,t.back+=t.extra}if(t.offset>t.dmax){n.msg="invalid distance too far back",t.mode=Re;break}t.mode=Kx;case Kx:if(c===0)break e;if(p=u-c,t.offset>p){if(p=t.offset-p,p>t.whave&&t.sane){n.msg="invalid distance too far back",t.mode=Re;break}p>t.wnext?(p-=t.wnext,f=t.wsize-p):f=t.wnext-p,p>t.length&&(p=t.length),m=t.window}else m=r,f=s-t.offset,p=t.length;p>c&&(p=c),c-=p,t.length-=p;do r[s++]=m[f++];while(--p);t.length===0&&(t.mode=Cd);break;case Gx:if(c===0)break e;r[s++]=t.length,c--,t.mode=Cd;break;case ff:if(t.wrap){for(;d<32;){if(a===0)break e;a--,l|=i[o++]<<d,d+=8}if(u-=c,n.total_out+=u,t.total+=u,u&&(n.adler=t.check=t.flags?Qi(t.check,r,u,s-u):mf(t.check,r,u,s-u)),u=c,(t.flags?l:Yx(l))!==t.check){n.msg="incorrect data check",t.mode=Re;break}l=0,d=0}t.mode=Xx;case Xx:if(t.wrap&&t.flags){for(;d<32;){if(a===0)break e;a--,l+=i[o++]<<d,d+=8}if(l!==(t.total&4294967295)){n.msg="incorrect length check",t.mode=Re;break}l=0,d=0}t.mode=Zx;case Zx:k=hD;break e;case Re:k=$x;break e;case bf:return xf;case pD:default:return oi}return n.next_out=s,n.avail_out=c,n.next_in=o,n.avail_in=a,t.hold=l,t.bits=d,(t.wsize||u!==n.avail_out&&t.mode<Re&&(t.mode<ff||e!==Cx))&&ob(n,n.output,n.next_out,u-n.avail_out)?(t.mode=bf,xf):(h-=n.avail_in,u-=n.avail_out,n.total_in+=h,n.total_out+=u,t.total+=u,t.wrap&&u&&(n.adler=t.check=t.flags?Qi(t.check,r,u,n.next_out-u):mf(t.check,r,u,n.next_out-u)),n.data_type=t.bits+(t.last?64:0)+(t.mode===wn?128:0)+(t.mode===kd||t.mode===uf?256:0),(h===0&&u===0||e===Cx)&&k===ro&&(k=fD),k)}function DD(n){if(!n||!n.state)return oi;var e=n.state;return e.window&&(e.window=null),n.state=null,ro}function PD(n,e){var t;return!n||!n.state||(t=n.state,(t.wrap&2)===0)?oi:(t.head=e,e.done=!1,ro)}function kD(n,e){var t=e.length,i,r,o;return!n||!n.state||(i=n.state,i.wrap!==0&&i.mode!==Sd)?oi:i.mode===Sd&&(r=1,r=mf(r,e,t,0),r!==i.check)?$x:(o=ob(n,e,t,t),o?(i.mode=bf,xf):(i.havedict=1,ro))}Ii.inflateReset=ib;Ii.inflateReset2=nb;Ii.inflateResetKeep=tb;Ii.inflateInit=vD;Ii.inflateInit2=rb;Ii.inflate=FD;Ii.inflateEnd=DD;Ii.inflateGetHeader=PD;Ii.inflateSetDictionary=kD;Ii.inflateInfo="pako inflate (from Nodeca project)"});var yf=J((QC,ab)=>{"use strict";ab.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}});var cb=J(($C,lb)=>{"use strict";function CD(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}lb.exports=CD});var hb=J(il=>{"use strict";var vs=sb(),tl=bn(),Ed=rf(),Xe=yf(),vf=gd(),SD=of(),ED=cb(),db=Object.prototype.toString;function oo(n){if(!(this instanceof oo))return new oo(n);this.options=tl.assign({chunkSize:16384,windowBits:0,to:""},n||{});var e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,e.windowBits===0&&(e.windowBits=-15)),e.windowBits>=0&&e.windowBits<16&&!(n&&n.windowBits)&&(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&(e.windowBits&15)===0&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new SD,this.strm.avail_out=0;var t=vs.inflateInit2(this.strm,e.windowBits);if(t!==Xe.Z_OK)throw new Error(vf[t]);if(this.header=new ED,vs.inflateGetHeader(this.strm,this.header),e.dictionary&&(typeof e.dictionary=="string"?e.dictionary=Ed.string2buf(e.dictionary):db.call(e.dictionary)==="[object ArrayBuffer]"&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(t=vs.inflateSetDictionary(this.strm,e.dictionary),t!==Xe.Z_OK)))throw new Error(vf[t])}oo.prototype.push=function(n,e){var t=this.strm,i=this.options.chunkSize,r=this.options.dictionary,o,s,a,c,l,d=!1;if(this.ended)return!1;s=e===~~e?e:e===!0?Xe.Z_FINISH:Xe.Z_NO_FLUSH,typeof n=="string"?t.input=Ed.binstring2buf(n):db.call(n)==="[object ArrayBuffer]"?t.input=new Uint8Array(n):t.input=n,t.next_in=0,t.avail_in=t.input.length;do{if(t.avail_out===0&&(t.output=new tl.Buf8(i),t.next_out=0,t.avail_out=i),o=vs.inflate(t,Xe.Z_NO_FLUSH),o===Xe.Z_NEED_DICT&&r&&(o=vs.inflateSetDictionary(this.strm,r)),o===Xe.Z_BUF_ERROR&&d===!0&&(o=Xe.Z_OK,d=!1),o!==Xe.Z_STREAM_END&&o!==Xe.Z_OK)return this.onEnd(o),this.ended=!0,!1;t.next_out&&(t.avail_out===0||o===Xe.Z_STREAM_END||t.avail_in===0&&(s===Xe.Z_FINISH||s===Xe.Z_SYNC_FLUSH))&&(this.options.to==="string"?(a=Ed.utf8border(t.output,t.next_out),c=t.next_out-a,l=Ed.buf2string(t.output,a),t.next_out=c,t.avail_out=i-c,c&&tl.arraySet(t.output,t.output,a,c,0),this.onData(l)):this.onData(tl.shrinkBuf(t.output,t.next_out))),t.avail_in===0&&t.avail_out===0&&(d=!0)}while((t.avail_in>0||t.avail_out===0)&&o!==Xe.Z_STREAM_END);return o===Xe.Z_STREAM_END&&(s=Xe.Z_FINISH),s===Xe.Z_FINISH?(o=vs.inflateEnd(this.strm),this.onEnd(o),this.ended=!0,o===Xe.Z_OK):(s===Xe.Z_SYNC_FLUSH&&(this.onEnd(Xe.Z_OK),t.avail_out=0),!0)};oo.prototype.onData=function(n){this.chunks.push(n)};oo.prototype.onEnd=function(n){n===Xe.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=tl.flattenChunks(this.chunks)),this.chunks=[],this.err=n,this.msg=this.strm.msg};function wf(n,e){var t=new oo(e);if(t.push(n,!0),t.err)throw t.msg||vf[t.err];return t.result}function TD(n,e){return e=e||{},e.raw=!0,wf(n,e)}il.Inflate=oo;il.inflate=wf;il.inflateRaw=TD;il.ungzip=wf});var nl=J((t2,fb)=>{"use strict";var AD=bn().assign,ID=mx(),BD=hb(),LD=yf(),ub={};AD(ub,ID,BD,LD);fb.exports=ub});var me=J((Xd,dy)=>{(function(n,e){typeof Xd=="object"?dy.exports=Xd=e():typeof define=="function"&&define.amd?define([],e):n.CryptoJS=e()})(Xd,function(){var n=n||function(e,t){var i;if(typeof window!="undefined"&&window.crypto&&(i=window.crypto),typeof self!="undefined"&&self.crypto&&(i=self.crypto),typeof globalThis!="undefined"&&globalThis.crypto&&(i=globalThis.crypto),!i&&typeof window!="undefined"&&window.msCrypto&&(i=window.msCrypto),!i&&typeof global!="undefined"&&global.crypto&&(i=global.crypto),!i&&typeof require=="function")try{i=require("crypto")}catch(g){}var r=function(){if(i){if(typeof i.getRandomValues=="function")try{return i.getRandomValues(new Uint32Array(1))[0]}catch(g){}if(typeof i.randomBytes=="function")try{return i.randomBytes(4).readInt32LE()}catch(g){}}throw new Error("Native crypto module could not be used to get secure random number.")},o=Object.create||function(){function g(){}return function(b){var v;return g.prototype=b,v=new g,g.prototype=null,v}}(),s={},a=s.lib={},c=a.Base=function(){return{extend:function(g){var b=o(this);return g&&b.mixIn(g),(!b.hasOwnProperty("init")||this.init===b.init)&&(b.init=function(){b.$super.init.apply(this,arguments)}),b.init.prototype=b,b.$super=this,b},create:function(){var g=this.extend();return g.init.apply(g,arguments),g},init:function(){},mixIn:function(g){for(var b in g)g.hasOwnProperty(b)&&(this[b]=g[b]);g.hasOwnProperty("toString")&&(this.toString=g.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),l=a.WordArray=c.extend({init:function(g,b){g=this.words=g||[],b!=t?this.sigBytes=b:this.sigBytes=g.length*4},toString:function(g){return(g||h).stringify(this)},concat:function(g){var b=this.words,v=g.words,y=this.sigBytes,F=g.sigBytes;if(this.clamp(),y%4)for(var D=0;D<F;D++){var C=v[D>>>2]>>>24-D%4*8&255;b[y+D>>>2]|=C<<24-(y+D)%4*8}else for(var k=0;k<F;k+=4)b[y+k>>>2]=v[k>>>2];return this.sigBytes+=F,this},clamp:function(){var g=this.words,b=this.sigBytes;g[b>>>2]&=4294967295<<32-b%4*8,g.length=e.ceil(b/4)},clone:function(){var g=c.clone.call(this);return g.words=this.words.slice(0),g},random:function(g){for(var b=[],v=0;v<g;v+=4)b.push(r());return new l.init(b,g)}}),d=s.enc={},h=d.Hex={stringify:function(g){for(var b=g.words,v=g.sigBytes,y=[],F=0;F<v;F++){var D=b[F>>>2]>>>24-F%4*8&255;y.push((D>>>4).toString(16)),y.push((D&15).toString(16))}return y.join("")},parse:function(g){for(var b=g.length,v=[],y=0;y<b;y+=2)v[y>>>3]|=parseInt(g.substr(y,2),16)<<24-y%8*4;return new l.init(v,b/2)}},u=d.Latin1={stringify:function(g){for(var b=g.words,v=g.sigBytes,y=[],F=0;F<v;F++){var D=b[F>>>2]>>>24-F%4*8&255;y.push(String.fromCharCode(D))}return y.join("")},parse:function(g){for(var b=g.length,v=[],y=0;y<b;y++)v[y>>>2]|=(g.charCodeAt(y)&255)<<24-y%4*8;return new l.init(v,b)}},p=d.Utf8={stringify:function(g){try{return decodeURIComponent(escape(u.stringify(g)))}catch(b){throw new Error("Malformed UTF-8 data")}},parse:function(g){return u.parse(unescape(encodeURIComponent(g)))}},f=a.BufferedBlockAlgorithm=c.extend({reset:function(){this._data=new l.init,this._nDataBytes=0},_append:function(g){typeof g=="string"&&(g=p.parse(g)),this._data.concat(g),this._nDataBytes+=g.sigBytes},_process:function(g){var b,v=this._data,y=v.words,F=v.sigBytes,D=this.blockSize,C=D*4,k=F/C;g?k=e.ceil(k):k=e.max((k|0)-this._minBufferSize,0);var E=k*D,B=e.min(E*4,F);if(E){for(var S=0;S<E;S+=D)this._doProcessBlock(y,S);b=y.splice(0,E),v.sigBytes-=B}return new l.init(b,B)},clone:function(){var g=c.clone.call(this);return g._data=this._data.clone(),g},_minBufferSize:0}),m=a.Hasher=f.extend({cfg:c.extend(),init:function(g){this.cfg=this.cfg.extend(g),this.reset()},reset:function(){f.reset.call(this),this._doReset()},update:function(g){return this._append(g),this._process(),this},finalize:function(g){g&&this._append(g);var b=this._doFinalize();return b},blockSize:512/32,_createHelper:function(g){return function(b,v){return new g.init(v).finalize(b)}},_createHmacHelper:function(g){return function(b,v){return new x.HMAC.init(g,v).finalize(b)}}}),x=s.algo={};return s}(Math);return n})});var rc=J((Zd,hy)=>{(function(n,e){typeof Zd=="object"?hy.exports=Zd=e(me()):typeof define=="function"&&define.amd?define(["./core"],e):e(n.CryptoJS)})(Zd,function(n){return function(e){var t=n,i=t.lib,r=i.Base,o=i.WordArray,s=t.x64={},a=s.Word=r.extend({init:function(l,d){this.high=l,this.low=d}}),c=s.WordArray=r.extend({init:function(l,d){l=this.words=l||[],d!=e?this.sigBytes=d:this.sigBytes=l.length*8},toX32:function(){for(var l=this.words,d=l.length,h=[],u=0;u<d;u++){var p=l[u];h.push(p.high),h.push(p.low)}return o.create(h,this.sigBytes)},clone:function(){for(var l=r.clone.call(this),d=l.words=this.words.slice(0),h=d.length,u=0;u<h;u++)d[u]=d[u].clone();return l}})}(),n})});var fy=J((Yd,uy)=>{(function(n,e){typeof Yd=="object"?uy.exports=Yd=e(me()):typeof define=="function"&&define.amd?define(["./core"],e):e(n.CryptoJS)})(Yd,function(n){return function(){if(typeof ArrayBuffer=="function"){var e=n,t=e.lib,i=t.WordArray,r=i.init,o=i.init=function(s){if(s instanceof ArrayBuffer&&(s=new Uint8Array(s)),(s instanceof Int8Array||typeof Uint8ClampedArray!="undefined"&&s instanceof Uint8ClampedArray||s instanceof Int16Array||s instanceof Uint16Array||s instanceof Int32Array||s instanceof Uint32Array||s instanceof Float32Array||s instanceof Float64Array)&&(s=new Uint8Array(s.buffer,s.byteOffset,s.byteLength)),s instanceof Uint8Array){for(var a=s.byteLength,c=[],l=0;l<a;l++)c[l>>>2]|=s[l]<<24-l%4*8;r.call(this,c,a)}else r.apply(this,arguments)};o.prototype=i}}(),n.lib.WordArray})});var gy=J((Jd,py)=>{(function(n,e){typeof Jd=="object"?py.exports=Jd=e(me()):typeof define=="function"&&define.amd?define(["./core"],e):e(n.CryptoJS)})(Jd,function(n){return function(){var e=n,t=e.lib,i=t.WordArray,r=e.enc,o=r.Utf16=r.Utf16BE={stringify:function(a){for(var c=a.words,l=a.sigBytes,d=[],h=0;h<l;h+=2){var u=c[h>>>2]>>>16-h%4*8&65535;d.push(String.fromCharCode(u))}return d.join("")},parse:function(a){for(var c=a.length,l=[],d=0;d<c;d++)l[d>>>1]|=a.charCodeAt(d)<<16-d%2*16;return i.create(l,c*2)}};r.Utf16LE={stringify:function(a){for(var c=a.words,l=a.sigBytes,d=[],h=0;h<l;h+=2){var u=s(c[h>>>2]>>>16-h%4*8&65535);d.push(String.fromCharCode(u))}return d.join("")},parse:function(a){for(var c=a.length,l=[],d=0;d<c;d++)l[d>>>1]|=s(a.charCodeAt(d)<<16-d%2*16);return i.create(l,c*2)}};function s(a){return a<<8&4278255360|a>>>8&16711935}}(),n.enc.Utf16})});var Cr=J((_d,my)=>{(function(n,e){typeof _d=="object"?my.exports=_d=e(me()):typeof define=="function"&&define.amd?define(["./core"],e):e(n.CryptoJS)})(_d,function(n){return function(){var e=n,t=e.lib,i=t.WordArray,r=e.enc,o=r.Base64={stringify:function(a){var c=a.words,l=a.sigBytes,d=this._map;a.clamp();for(var h=[],u=0;u<l;u+=3)for(var p=c[u>>>2]>>>24-u%4*8&255,f=c[u+1>>>2]>>>24-(u+1)%4*8&255,m=c[u+2>>>2]>>>24-(u+2)%4*8&255,x=p<<16|f<<8|m,g=0;g<4&&u+g*.75<l;g++)h.push(d.charAt(x>>>6*(3-g)&63));var b=d.charAt(64);if(b)for(;h.length%4;)h.push(b);return h.join("")},parse:function(a){var c=a.length,l=this._map,d=this._reverseMap;if(!d){d=this._reverseMap=[];for(var h=0;h<l.length;h++)d[l.charCodeAt(h)]=h}var u=l.charAt(64);if(u){var p=a.indexOf(u);p!==-1&&(c=p)}return s(a,c,d)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="};function s(a,c,l){for(var d=[],h=0,u=0;u<c;u++)if(u%4){var p=l[a.charCodeAt(u-1)]<<u%4*2,f=l[a.charCodeAt(u)]>>>6-u%4*2,m=p|f;d[h>>>2]|=m<<24-h%4*8,h++}return i.create(d,h)}}(),n.enc.Base64})});var by=J((Qd,xy)=>{(function(n,e){typeof Qd=="object"?xy.exports=Qd=e(me()):typeof define=="function"&&define.amd?define(["./core"],e):e(n.CryptoJS)})(Qd,function(n){return function(){var e=n,t=e.lib,i=t.WordArray,r=e.enc,o=r.Base64url={stringify:function(a,c){c===void 0&&(c=!0);var l=a.words,d=a.sigBytes,h=c?this._safe_map:this._map;a.clamp();for(var u=[],p=0;p<d;p+=3)for(var f=l[p>>>2]>>>24-p%4*8&255,m=l[p+1>>>2]>>>24-(p+1)%4*8&255,x=l[p+2>>>2]>>>24-(p+2)%4*8&255,g=f<<16|m<<8|x,b=0;b<4&&p+b*.75<d;b++)u.push(h.charAt(g>>>6*(3-b)&63));var v=h.charAt(64);if(v)for(;u.length%4;)u.push(v);return u.join("")},parse:function(a,c){c===void 0&&(c=!0);var l=a.length,d=c?this._safe_map:this._map,h=this._reverseMap;if(!h){h=this._reverseMap=[];for(var u=0;u<d.length;u++)h[d.charCodeAt(u)]=u}var p=d.charAt(64);if(p){var f=a.indexOf(p);f!==-1&&(l=f)}return s(a,l,h)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_safe_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"};function s(a,c,l){for(var d=[],h=0,u=0;u<c;u++)if(u%4){var p=l[a.charCodeAt(u-1)]<<u%4*2,f=l[a.charCodeAt(u)]>>>6-u%4*2,m=p|f;d[h>>>2]|=m<<24-h%4*8,h++}return i.create(d,h)}}(),n.enc.Base64url})});var Sr=J(($d,yy)=>{(function(n,e){typeof $d=="object"?yy.exports=$d=e(me()):typeof define=="function"&&define.amd?define(["./core"],e):e(n.CryptoJS)})($d,function(n){return function(e){var t=n,i=t.lib,r=i.WordArray,o=i.Hasher,s=t.algo,a=[];(function(){for(var p=0;p<64;p++)a[p]=e.abs(e.sin(p+1))*4294967296|0})();var c=s.MD5=o.extend({_doReset:function(){this._hash=new r.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(p,f){for(var m=0;m<16;m++){var x=f+m,g=p[x];p[x]=(g<<8|g>>>24)&16711935|(g<<24|g>>>8)&4278255360}var b=this._hash.words,v=p[f+0],y=p[f+1],F=p[f+2],D=p[f+3],C=p[f+4],k=p[f+5],E=p[f+6],B=p[f+7],S=p[f+8],I=p[f+9],L=p[f+10],A=p[f+11],N=p[f+12],q=p[f+13],U=p[f+14],Z=p[f+15],O=b[0],z=b[1],R=b[2],M=b[3];O=l(O,z,R,M,v,7,a[0]),M=l(M,O,z,R,y,12,a[1]),R=l(R,M,O,z,F,17,a[2]),z=l(z,R,M,O,D,22,a[3]),O=l(O,z,R,M,C,7,a[4]),M=l(M,O,z,R,k,12,a[5]),R=l(R,M,O,z,E,17,a[6]),z=l(z,R,M,O,B,22,a[7]),O=l(O,z,R,M,S,7,a[8]),M=l(M,O,z,R,I,12,a[9]),R=l(R,M,O,z,L,17,a[10]),z=l(z,R,M,O,A,22,a[11]),O=l(O,z,R,M,N,7,a[12]),M=l(M,O,z,R,q,12,a[13]),R=l(R,M,O,z,U,17,a[14]),z=l(z,R,M,O,Z,22,a[15]),O=d(O,z,R,M,y,5,a[16]),M=d(M,O,z,R,E,9,a[17]),R=d(R,M,O,z,A,14,a[18]),z=d(z,R,M,O,v,20,a[19]),O=d(O,z,R,M,k,5,a[20]),M=d(M,O,z,R,L,9,a[21]),R=d(R,M,O,z,Z,14,a[22]),z=d(z,R,M,O,C,20,a[23]),O=d(O,z,R,M,I,5,a[24]),M=d(M,O,z,R,U,9,a[25]),R=d(R,M,O,z,D,14,a[26]),z=d(z,R,M,O,S,20,a[27]),O=d(O,z,R,M,q,5,a[28]),M=d(M,O,z,R,F,9,a[29]),R=d(R,M,O,z,B,14,a[30]),z=d(z,R,M,O,N,20,a[31]),O=h(O,z,R,M,k,4,a[32]),M=h(M,O,z,R,S,11,a[33]),R=h(R,M,O,z,A,16,a[34]),z=h(z,R,M,O,U,23,a[35]),O=h(O,z,R,M,y,4,a[36]),M=h(M,O,z,R,C,11,a[37]),R=h(R,M,O,z,B,16,a[38]),z=h(z,R,M,O,L,23,a[39]),O=h(O,z,R,M,q,4,a[40]),M=h(M,O,z,R,v,11,a[41]),R=h(R,M,O,z,D,16,a[42]),z=h(z,R,M,O,E,23,a[43]),O=h(O,z,R,M,I,4,a[44]),M=h(M,O,z,R,N,11,a[45]),R=h(R,M,O,z,Z,16,a[46]),z=h(z,R,M,O,F,23,a[47]),O=u(O,z,R,M,v,6,a[48]),M=u(M,O,z,R,B,10,a[49]),R=u(R,M,O,z,U,15,a[50]),z=u(z,R,M,O,k,21,a[51]),O=u(O,z,R,M,N,6,a[52]),M=u(M,O,z,R,D,10,a[53]),R=u(R,M,O,z,L,15,a[54]),z=u(z,R,M,O,y,21,a[55]),O=u(O,z,R,M,S,6,a[56]),M=u(M,O,z,R,Z,10,a[57]),R=u(R,M,O,z,E,15,a[58]),z=u(z,R,M,O,q,21,a[59]),O=u(O,z,R,M,C,6,a[60]),M=u(M,O,z,R,A,10,a[61]),R=u(R,M,O,z,F,15,a[62]),z=u(z,R,M,O,I,21,a[63]),b[0]=b[0]+O|0,b[1]=b[1]+z|0,b[2]=b[2]+R|0,b[3]=b[3]+M|0},_doFinalize:function(){var p=this._data,f=p.words,m=this._nDataBytes*8,x=p.sigBytes*8;f[x>>>5]|=128<<24-x%32;var g=e.floor(m/4294967296),b=m;f[(x+64>>>9<<4)+15]=(g<<8|g>>>24)&16711935|(g<<24|g>>>8)&4278255360,f[(x+64>>>9<<4)+14]=(b<<8|b>>>24)&16711935|(b<<24|b>>>8)&4278255360,p.sigBytes=(f.length+1)*4,this._process();for(var v=this._hash,y=v.words,F=0;F<4;F++){var D=y[F];y[F]=(D<<8|D>>>24)&16711935|(D<<24|D>>>8)&4278255360}return v},clone:function(){var p=o.clone.call(this);return p._hash=this._hash.clone(),p}});function l(p,f,m,x,g,b,v){var y=p+(f&m|~f&x)+g+v;return(y<<b|y>>>32-b)+f}function d(p,f,m,x,g,b,v){var y=p+(f&x|m&~x)+g+v;return(y<<b|y>>>32-b)+f}function h(p,f,m,x,g,b,v){var y=p+(f^m^x)+g+v;return(y<<b|y>>>32-b)+f}function u(p,f,m,x,g,b,v){var y=p+(m^(f|~x))+g+v;return(y<<b|y>>>32-b)+f}t.MD5=o._createHelper(c),t.HmacMD5=o._createHmacHelper(c)}(Math),n.MD5})});var ep=J((eh,vy)=>{(function(n,e){typeof eh=="object"?vy.exports=eh=e(me()):typeof define=="function"&&define.amd?define(["./core"],e):e(n.CryptoJS)})(eh,function(n){return function(){var e=n,t=e.lib,i=t.WordArray,r=t.Hasher,o=e.algo,s=[],a=o.SHA1=r.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(c,l){for(var d=this._hash.words,h=d[0],u=d[1],p=d[2],f=d[3],m=d[4],x=0;x<80;x++){if(x<16)s[x]=c[l+x]|0;else{var g=s[x-3]^s[x-8]^s[x-14]^s[x-16];s[x]=g<<1|g>>>31}var b=(h<<5|h>>>27)+m+s[x];x<20?b+=(u&p|~u&f)+1518500249:x<40?b+=(u^p^f)+1859775393:x<60?b+=(u&p|u&f|p&f)-1894007588:b+=(u^p^f)-899497514,m=f,f=p,p=u<<30|u>>>2,u=h,h=b}d[0]=d[0]+h|0,d[1]=d[1]+u|0,d[2]=d[2]+p|0,d[3]=d[3]+f|0,d[4]=d[4]+m|0},_doFinalize:function(){var c=this._data,l=c.words,d=this._nDataBytes*8,h=c.sigBytes*8;return l[h>>>5]|=128<<24-h%32,l[(h+64>>>9<<4)+14]=Math.floor(d/4294967296),l[(h+64>>>9<<4)+15]=d,c.sigBytes=l.length*4,this._process(),this._hash},clone:function(){var c=r.clone.call(this);return c._hash=this._hash.clone(),c}});e.SHA1=r._createHelper(a),e.HmacSHA1=r._createHmacHelper(a)}(),n.SHA1})});var ih=J((th,wy)=>{(function(n,e){typeof th=="object"?wy.exports=th=e(me()):typeof define=="function"&&define.amd?define(["./core"],e):e(n.CryptoJS)})(th,function(n){return function(e){var t=n,i=t.lib,r=i.WordArray,o=i.Hasher,s=t.algo,a=[],c=[];(function(){function h(m){for(var x=e.sqrt(m),g=2;g<=x;g++)if(!(m%g))return!1;return!0}function u(m){return(m-(m|0))*4294967296|0}for(var p=2,f=0;f<64;)h(p)&&(f<8&&(a[f]=u(e.pow(p,1/2))),c[f]=u(e.pow(p,1/3)),f++),p++})();var l=[],d=s.SHA256=o.extend({_doReset:function(){this._hash=new r.init(a.slice(0))},_doProcessBlock:function(h,u){for(var p=this._hash.words,f=p[0],m=p[1],x=p[2],g=p[3],b=p[4],v=p[5],y=p[6],F=p[7],D=0;D<64;D++){if(D<16)l[D]=h[u+D]|0;else{var C=l[D-15],k=(C<<25|C>>>7)^(C<<14|C>>>18)^C>>>3,E=l[D-2],B=(E<<15|E>>>17)^(E<<13|E>>>19)^E>>>10;l[D]=k+l[D-7]+B+l[D-16]}var S=b&v^~b&y,I=f&m^f&x^m&x,L=(f<<30|f>>>2)^(f<<19|f>>>13)^(f<<10|f>>>22),A=(b<<26|b>>>6)^(b<<21|b>>>11)^(b<<7|b>>>25),N=F+A+S+c[D]+l[D],q=L+I;F=y,y=v,v=b,b=g+N|0,g=x,x=m,m=f,f=N+q|0}p[0]=p[0]+f|0,p[1]=p[1]+m|0,p[2]=p[2]+x|0,p[3]=p[3]+g|0,p[4]=p[4]+b|0,p[5]=p[5]+v|0,p[6]=p[6]+y|0,p[7]=p[7]+F|0},_doFinalize:function(){var h=this._data,u=h.words,p=this._nDataBytes*8,f=h.sigBytes*8;return u[f>>>5]|=128<<24-f%32,u[(f+64>>>9<<4)+14]=e.floor(p/4294967296),u[(f+64>>>9<<4)+15]=p,h.sigBytes=u.length*4,this._process(),this._hash},clone:function(){var h=o.clone.call(this);return h._hash=this._hash.clone(),h}});t.SHA256=o._createHelper(d),t.HmacSHA256=o._createHmacHelper(d)}(Math),n.SHA256})});var Dy=J((nh,Fy)=>{(function(n,e,t){typeof nh=="object"?Fy.exports=nh=e(me(),ih()):typeof define=="function"&&define.amd?define(["./core","./sha256"],e):e(n.CryptoJS)})(nh,function(n){return function(){var e=n,t=e.lib,i=t.WordArray,r=e.algo,o=r.SHA256,s=r.SHA224=o.extend({_doReset:function(){this._hash=new i.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var a=o._doFinalize.call(this);return a.sigBytes-=4,a}});e.SHA224=o._createHelper(s),e.HmacSHA224=o._createHmacHelper(s)}(),n.SHA224})});var tp=J((rh,Py)=>{(function(n,e,t){typeof rh=="object"?Py.exports=rh=e(me(),rc()):typeof define=="function"&&define.amd?define(["./core","./x64-core"],e):e(n.CryptoJS)})(rh,function(n){return function(){var e=n,t=e.lib,i=t.Hasher,r=e.x64,o=r.Word,s=r.WordArray,a=e.algo;function c(){return o.create.apply(o,arguments)}var l=[c(1116352408,3609767458),c(1899447441,602891725),c(3049323471,3964484399),c(3921009573,2173295548),c(961987163,4081628472),c(1508970993,3053834265),c(2453635748,2937671579),c(2870763221,3664609560),c(3624381080,2734883394),c(310598401,1164996542),c(607225278,1323610764),c(1426881987,3590304994),c(1925078388,4068182383),c(2162078206,991336113),c(2614888103,633803317),c(3248222580,3479774868),c(3835390401,2666613458),c(4022224774,944711139),c(264347078,2341262773),c(604807628,2007800933),c(770255983,1495990901),c(1249150122,1856431235),c(1555081692,3175218132),c(1996064986,2198950837),c(2554220882,3999719339),c(2821834349,766784016),c(2952996808,2566594879),c(3210313671,3203337956),c(3336571891,1034457026),c(3584528711,2466948901),c(113926993,3758326383),c(338241895,168717936),c(666307205,1188179964),c(773529912,1546045734),c(1294757372,1522805485),c(1396182291,2643833823),c(1695183700,2343527390),c(1986661051,1014477480),c(2177026350,1206759142),c(2456956037,344077627),c(2730485921,1290863460),c(2820302411,3158454273),c(3259730800,3505952657),c(3345764771,106217008),c(3516065817,3606008344),c(3600352804,1432725776),c(4094571909,1467031594),c(275423344,851169720),c(430227734,3100823752),c(506948616,1363258195),c(659060556,3750685593),c(883997877,3785050280),c(958139571,3318307427),c(1322822218,3812723403),c(1537002063,2003034995),c(1747873779,3602036899),c(1955562222,1575990012),c(2024104815,1125592928),c(2227730452,2716904306),c(2361852424,442776044),c(2428436474,593698344),c(2756734187,3733110249),c(3204031479,2999351573),c(3329325298,3815920427),c(3391569614,3928383900),c(3515267271,566280711),c(3940187606,3454069534),c(4118630271,4000239992),c(116418474,1914138554),c(174292421,2731055270),c(289380356,3203993006),c(460393269,320620315),c(685471733,587496836),c(852142971,1086792851),c(1017036298,365543100),c(1126000580,2618297676),c(1288033470,3409855158),c(1501505948,4234509866),c(1607167915,987167468),c(1816402316,1246189591)],d=[];(function(){for(var u=0;u<80;u++)d[u]=c()})();var h=a.SHA512=i.extend({_doReset:function(){this._hash=new s.init([new o.init(1779033703,4089235720),new o.init(3144134277,2227873595),new o.init(1013904242,4271175723),new o.init(2773480762,1595750129),new o.init(1359893119,2917565137),new o.init(2600822924,725511199),new o.init(528734635,4215389547),new o.init(1541459225,327033209)])},_doProcessBlock:function(u,p){for(var f=this._hash.words,m=f[0],x=f[1],g=f[2],b=f[3],v=f[4],y=f[5],F=f[6],D=f[7],C=m.high,k=m.low,E=x.high,B=x.low,S=g.high,I=g.low,L=b.high,A=b.low,N=v.high,q=v.low,U=y.high,Z=y.low,O=F.high,z=F.low,R=D.high,M=D.low,ne=C,oe=k,Ce=E,de=B,dt=S,Ut=I,ji=L,Lt=A,ye=N,Ct=q,er=U,Ea=Z,sd=O,Ta=z,x0=R,Aa=M,Ei=0;Ei<80;Ei++){var ii,tr,ad=d[Ei];if(Ei<16)tr=ad.high=u[p+Ei*2]|0,ii=ad.low=u[p+Ei*2+1]|0;else{var sm=d[Ei-15],rs=sm.high,Ia=sm.low,p1=(rs>>>1|Ia<<31)^(rs>>>8|Ia<<24)^rs>>>7,am=(Ia>>>1|rs<<31)^(Ia>>>8|rs<<24)^(Ia>>>7|rs<<25),lm=d[Ei-2],os=lm.high,Ba=lm.low,g1=(os>>>19|Ba<<13)^(os<<3|Ba>>>29)^os>>>6,cm=(Ba>>>19|os<<13)^(Ba<<3|os>>>29)^(Ba>>>6|os<<26),dm=d[Ei-7],m1=dm.high,x1=dm.low,hm=d[Ei-16],b1=hm.high,um=hm.low;ii=am+x1,tr=p1+m1+(ii>>>0<am>>>0?1:0),ii=ii+cm,tr=tr+g1+(ii>>>0<cm>>>0?1:0),ii=ii+um,tr=tr+b1+(ii>>>0<um>>>0?1:0),ad.high=tr,ad.low=ii}var y1=ye&er^~ye&sd,fm=Ct&Ea^~Ct&Ta,v1=ne&Ce^ne&dt^Ce&dt,w1=oe&de^oe&Ut^de&Ut,F1=(ne>>>28|oe<<4)^(ne<<30|oe>>>2)^(ne<<25|oe>>>7),pm=(oe>>>28|ne<<4)^(oe<<30|ne>>>2)^(oe<<25|ne>>>7),D1=(ye>>>14|Ct<<18)^(ye>>>18|Ct<<14)^(ye<<23|Ct>>>9),P1=(Ct>>>14|ye<<18)^(Ct>>>18|ye<<14)^(Ct<<23|ye>>>9),gm=l[Ei],k1=gm.high,mm=gm.low,qt=Aa+P1,ir=x0+D1+(qt>>>0<Aa>>>0?1:0),qt=qt+fm,ir=ir+y1+(qt>>>0<fm>>>0?1:0),qt=qt+mm,ir=ir+k1+(qt>>>0<mm>>>0?1:0),qt=qt+ii,ir=ir+tr+(qt>>>0<ii>>>0?1:0),xm=pm+w1,C1=F1+v1+(xm>>>0<pm>>>0?1:0);x0=sd,Aa=Ta,sd=er,Ta=Ea,er=ye,Ea=Ct,Ct=Lt+qt|0,ye=ji+ir+(Ct>>>0<Lt>>>0?1:0)|0,ji=dt,Lt=Ut,dt=Ce,Ut=de,Ce=ne,de=oe,oe=qt+xm|0,ne=ir+C1+(oe>>>0<qt>>>0?1:0)|0}k=m.low=k+oe,m.high=C+ne+(k>>>0<oe>>>0?1:0),B=x.low=B+de,x.high=E+Ce+(B>>>0<de>>>0?1:0),I=g.low=I+Ut,g.high=S+dt+(I>>>0<Ut>>>0?1:0),A=b.low=A+Lt,b.high=L+ji+(A>>>0<Lt>>>0?1:0),q=v.low=q+Ct,v.high=N+ye+(q>>>0<Ct>>>0?1:0),Z=y.low=Z+Ea,y.high=U+er+(Z>>>0<Ea>>>0?1:0),z=F.low=z+Ta,F.high=O+sd+(z>>>0<Ta>>>0?1:0),M=D.low=M+Aa,D.high=R+x0+(M>>>0<Aa>>>0?1:0)},_doFinalize:function(){var u=this._data,p=u.words,f=this._nDataBytes*8,m=u.sigBytes*8;p[m>>>5]|=128<<24-m%32,p[(m+128>>>10<<5)+30]=Math.floor(f/4294967296),p[(m+128>>>10<<5)+31]=f,u.sigBytes=p.length*4,this._process();var x=this._hash.toX32();return x},clone:function(){var u=i.clone.call(this);return u._hash=this._hash.clone(),u},blockSize:1024/32});e.SHA512=i._createHelper(h),e.HmacSHA512=i._createHmacHelper(h)}(),n.SHA512})});var Cy=J((oh,ky)=>{(function(n,e,t){typeof oh=="object"?ky.exports=oh=e(me(),rc(),tp()):typeof define=="function"&&define.amd?define(["./core","./x64-core","./sha512"],e):e(n.CryptoJS)})(oh,function(n){return function(){var e=n,t=e.x64,i=t.Word,r=t.WordArray,o=e.algo,s=o.SHA512,a=o.SHA384=s.extend({_doReset:function(){this._hash=new r.init([new i.init(3418070365,3238371032),new i.init(1654270250,914150663),new i.init(2438529370,812702999),new i.init(355462360,4144912697),new i.init(1731405415,4290775857),new i.init(2394180231,1750603025),new i.init(3675008525,1694076839),new i.init(1203062813,3204075428)])},_doFinalize:function(){var c=s._doFinalize.call(this);return c.sigBytes-=16,c}});e.SHA384=s._createHelper(a),e.HmacSHA384=s._createHmacHelper(a)}(),n.SHA384})});var Ey=J((sh,Sy)=>{(function(n,e,t){typeof sh=="object"?Sy.exports=sh=e(me(),rc()):typeof define=="function"&&define.amd?define(["./core","./x64-core"],e):e(n.CryptoJS)})(sh,function(n){return function(e){var t=n,i=t.lib,r=i.WordArray,o=i.Hasher,s=t.x64,a=s.Word,c=t.algo,l=[],d=[],h=[];(function(){for(var f=1,m=0,x=0;x<24;x++){l[f+5*m]=(x+1)*(x+2)/2%64;var g=m%5,b=(2*f+3*m)%5;f=g,m=b}for(var f=0;f<5;f++)for(var m=0;m<5;m++)d[f+5*m]=m+(2*f+3*m)%5*5;for(var v=1,y=0;y<24;y++){for(var F=0,D=0,C=0;C<7;C++){if(v&1){var k=(1<<C)-1;k<32?D^=1<<k:F^=1<<k-32}v&128?v=v<<1^113:v<<=1}h[y]=a.create(F,D)}})();var u=[];(function(){for(var f=0;f<25;f++)u[f]=a.create()})();var p=c.SHA3=o.extend({cfg:o.cfg.extend({outputLength:512}),_doReset:function(){for(var f=this._state=[],m=0;m<25;m++)f[m]=new a.init;this.blockSize=(1600-2*this.cfg.outputLength)/32},_doProcessBlock:function(f,m){for(var x=this._state,g=this.blockSize/2,b=0;b<g;b++){var v=f[m+2*b],y=f[m+2*b+1];v=(v<<8|v>>>24)&16711935|(v<<24|v>>>8)&4278255360,y=(y<<8|y>>>24)&16711935|(y<<24|y>>>8)&4278255360;var F=x[b];F.high^=y,F.low^=v}for(var D=0;D<24;D++){for(var C=0;C<5;C++){for(var k=0,E=0,B=0;B<5;B++){var F=x[C+5*B];k^=F.high,E^=F.low}var S=u[C];S.high=k,S.low=E}for(var C=0;C<5;C++)for(var I=u[(C+4)%5],L=u[(C+1)%5],A=L.high,N=L.low,k=I.high^(A<<1|N>>>31),E=I.low^(N<<1|A>>>31),B=0;B<5;B++){var F=x[C+5*B];F.high^=k,F.low^=E}for(var q=1;q<25;q++){var k,E,F=x[q],U=F.high,Z=F.low,O=l[q];O<32?(k=U<<O|Z>>>32-O,E=Z<<O|U>>>32-O):(k=Z<<O-32|U>>>64-O,E=U<<O-32|Z>>>64-O);var z=u[d[q]];z.high=k,z.low=E}var R=u[0],M=x[0];R.high=M.high,R.low=M.low;for(var C=0;C<5;C++)for(var B=0;B<5;B++){var q=C+5*B,F=x[q],ne=u[q],oe=u[(C+1)%5+5*B],Ce=u[(C+2)%5+5*B];F.high=ne.high^~oe.high&Ce.high,F.low=ne.low^~oe.low&Ce.low}var F=x[0],de=h[D];F.high^=de.high,F.low^=de.low}},_doFinalize:function(){var f=this._data,m=f.words,x=this._nDataBytes*8,g=f.sigBytes*8,b=this.blockSize*32;m[g>>>5]|=1<<24-g%32,m[(e.ceil((g+1)/b)*b>>>5)-1]|=128,f.sigBytes=m.length*4,this._process();for(var v=this._state,y=this.cfg.outputLength/8,F=y/8,D=[],C=0;C<F;C++){var k=v[C],E=k.high,B=k.low;E=(E<<8|E>>>24)&16711935|(E<<24|E>>>8)&4278255360,B=(B<<8|B>>>24)&16711935|(B<<24|B>>>8)&4278255360,D.push(B),D.push(E)}return new r.init(D,y)},clone:function(){for(var f=o.clone.call(this),m=f._state=this._state.slice(0),x=0;x<25;x++)m[x]=m[x].clone();return f}});t.SHA3=o._createHelper(p),t.HmacSHA3=o._createHmacHelper(p)}(Math),n.SHA3})});var Ay=J((ah,Ty)=>{(function(n,e){typeof ah=="object"?Ty.exports=ah=e(me()):typeof define=="function"&&define.amd?define(["./core"],e):e(n.CryptoJS)})(ah,function(n){return function(e){var t=n,i=t.lib,r=i.WordArray,o=i.Hasher,s=t.algo,a=r.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),c=r.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),l=r.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),d=r.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),h=r.create([0,1518500249,1859775393,2400959708,2840853838]),u=r.create([1352829926,1548603684,1836072691,2053994217,0]),p=s.RIPEMD160=o.extend({_doReset:function(){this._hash=r.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(y,F){for(var D=0;D<16;D++){var C=F+D,k=y[C];y[C]=(k<<8|k>>>24)&16711935|(k<<24|k>>>8)&4278255360}var E=this._hash.words,B=h.words,S=u.words,I=a.words,L=c.words,A=l.words,N=d.words,q,U,Z,O,z,R,M,ne,oe,Ce;R=q=E[0],M=U=E[1],ne=Z=E[2],oe=O=E[3],Ce=z=E[4];for(var de,D=0;D<80;D+=1)de=q+y[F+I[D]]|0,D<16?de+=f(U,Z,O)+B[0]:D<32?de+=m(U,Z,O)+B[1]:D<48?de+=x(U,Z,O)+B[2]:D<64?de+=g(U,Z,O)+B[3]:de+=b(U,Z,O)+B[4],de=de|0,de=v(de,A[D]),de=de+z|0,q=z,z=O,O=v(Z,10),Z=U,U=de,de=R+y[F+L[D]]|0,D<16?de+=b(M,ne,oe)+S[0]:D<32?de+=g(M,ne,oe)+S[1]:D<48?de+=x(M,ne,oe)+S[2]:D<64?de+=m(M,ne,oe)+S[3]:de+=f(M,ne,oe)+S[4],de=de|0,de=v(de,N[D]),de=de+Ce|0,R=Ce,Ce=oe,oe=v(ne,10),ne=M,M=de;de=E[1]+Z+oe|0,E[1]=E[2]+O+Ce|0,E[2]=E[3]+z+R|0,E[3]=E[4]+q+M|0,E[4]=E[0]+U+ne|0,E[0]=de},_doFinalize:function(){var y=this._data,F=y.words,D=this._nDataBytes*8,C=y.sigBytes*8;F[C>>>5]|=128<<24-C%32,F[(C+64>>>9<<4)+14]=(D<<8|D>>>24)&16711935|(D<<24|D>>>8)&4278255360,y.sigBytes=(F.length+1)*4,this._process();for(var k=this._hash,E=k.words,B=0;B<5;B++){var S=E[B];E[B]=(S<<8|S>>>24)&16711935|(S<<24|S>>>8)&4278255360}return k},clone:function(){var y=o.clone.call(this);return y._hash=this._hash.clone(),y}});function f(y,F,D){return y^F^D}function m(y,F,D){return y&F|~y&D}function x(y,F,D){return(y|~F)^D}function g(y,F,D){return y&D|F&~D}function b(y,F,D){return y^(F|~D)}function v(y,F){return y<<F|y>>>32-F}t.RIPEMD160=o._createHelper(p),t.HmacRIPEMD160=o._createHmacHelper(p)}(Math),n.RIPEMD160})});var ch=J((lh,Iy)=>{(function(n,e){typeof lh=="object"?Iy.exports=lh=e(me()):typeof define=="function"&&define.amd?define(["./core"],e):e(n.CryptoJS)})(lh,function(n){(function(){var e=n,t=e.lib,i=t.Base,r=e.enc,o=r.Utf8,s=e.algo,a=s.HMAC=i.extend({init:function(c,l){c=this._hasher=new c.init,typeof l=="string"&&(l=o.parse(l));var d=c.blockSize,h=d*4;l.sigBytes>h&&(l=c.finalize(l)),l.clamp();for(var u=this._oKey=l.clone(),p=this._iKey=l.clone(),f=u.words,m=p.words,x=0;x<d;x++)f[x]^=1549556828,m[x]^=909522486;u.sigBytes=p.sigBytes=h,this.reset()},reset:function(){var c=this._hasher;c.reset(),c.update(this._iKey)},update:function(c){return this._hasher.update(c),this},finalize:function(c){var l=this._hasher,d=l.finalize(c);l.reset();var h=l.finalize(this._oKey.clone().concat(d));return h}})})()})});var Ly=J((dh,By)=>{(function(n,e,t){typeof dh=="object"?By.exports=dh=e(me(),ih(),ch()):typeof define=="function"&&define.amd?define(["./core","./sha256","./hmac"],e):e(n.CryptoJS)})(dh,function(n){return function(){var e=n,t=e.lib,i=t.Base,r=t.WordArray,o=e.algo,s=o.SHA256,a=o.HMAC,c=o.PBKDF2=i.extend({cfg:i.extend({keySize:128/32,hasher:s,iterations:25e4}),init:function(l){this.cfg=this.cfg.extend(l)},compute:function(l,d){for(var h=this.cfg,u=a.create(h.hasher,l),p=r.create(),f=r.create([1]),m=p.words,x=f.words,g=h.keySize,b=h.iterations;m.length<g;){var v=u.update(d).finalize(f);u.reset();for(var y=v.words,F=y.length,D=v,C=1;C<b;C++){D=u.finalize(D),u.reset();for(var k=D.words,E=0;E<F;E++)y[E]^=k[E]}p.concat(v),x[0]++}return p.sigBytes=g*4,p}});e.PBKDF2=function(l,d,h){return c.create(h).compute(l,d)}}(),n.PBKDF2})});var Mn=J((hh,Oy)=>{(function(n,e,t){typeof hh=="object"?Oy.exports=hh=e(me(),ep(),ch()):typeof define=="function"&&define.amd?define(["./core","./sha1","./hmac"],e):e(n.CryptoJS)})(hh,function(n){return function(){var e=n,t=e.lib,i=t.Base,r=t.WordArray,o=e.algo,s=o.MD5,a=o.EvpKDF=i.extend({cfg:i.extend({keySize:128/32,hasher:s,iterations:1}),init:function(c){this.cfg=this.cfg.extend(c)},compute:function(c,l){for(var d,h=this.cfg,u=h.hasher.create(),p=r.create(),f=p.words,m=h.keySize,x=h.iterations;f.length<m;){d&&u.update(d),d=u.update(c).finalize(l),u.reset();for(var g=1;g<x;g++)d=u.finalize(d),u.reset();p.concat(d)}return p.sigBytes=m*4,p}});e.EvpKDF=function(c,l,d){return a.create(d).compute(c,l)}}(),n.EvpKDF})});var rt=J((uh,My)=>{(function(n,e,t){typeof uh=="object"?My.exports=uh=e(me(),Mn()):typeof define=="function"&&define.amd?define(["./core","./evpkdf"],e):e(n.CryptoJS)})(uh,function(n){n.lib.Cipher||function(e){var t=n,i=t.lib,r=i.Base,o=i.WordArray,s=i.BufferedBlockAlgorithm,a=t.enc,c=a.Utf8,l=a.Base64,d=t.algo,h=d.EvpKDF,u=i.Cipher=s.extend({cfg:r.extend(),createEncryptor:function(S,I){return this.create(this._ENC_XFORM_MODE,S,I)},createDecryptor:function(S,I){return this.create(this._DEC_XFORM_MODE,S,I)},init:function(S,I,L){this.cfg=this.cfg.extend(L),this._xformMode=S,this._key=I,this.reset()},reset:function(){s.reset.call(this),this._doReset()},process:function(S){return this._append(S),this._process()},finalize:function(S){S&&this._append(S);var I=this._doFinalize();return I},keySize:128/32,ivSize:128/32,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function S(I){return typeof I=="string"?B:C}return function(I){return{encrypt:function(L,A,N){return S(A).encrypt(I,L,A,N)},decrypt:function(L,A,N){return S(A).decrypt(I,L,A,N)}}}}()}),p=i.StreamCipher=u.extend({_doFinalize:function(){var S=this._process(!0);return S},blockSize:1}),f=t.mode={},m=i.BlockCipherMode=r.extend({createEncryptor:function(S,I){return this.Encryptor.create(S,I)},createDecryptor:function(S,I){return this.Decryptor.create(S,I)},init:function(S,I){this._cipher=S,this._iv=I}}),x=f.CBC=function(){var S=m.extend();S.Encryptor=S.extend({processBlock:function(L,A){var N=this._cipher,q=N.blockSize;I.call(this,L,A,q),N.encryptBlock(L,A),this._prevBlock=L.slice(A,A+q)}}),S.Decryptor=S.extend({processBlock:function(L,A){var N=this._cipher,q=N.blockSize,U=L.slice(A,A+q);N.decryptBlock(L,A),I.call(this,L,A,q),this._prevBlock=U}});function I(L,A,N){var q,U=this._iv;U?(q=U,this._iv=e):q=this._prevBlock;for(var Z=0;Z<N;Z++)L[A+Z]^=q[Z]}return S}(),g=t.pad={},b=g.Pkcs7={pad:function(S,I){for(var L=I*4,A=L-S.sigBytes%L,N=A<<24|A<<16|A<<8|A,q=[],U=0;U<A;U+=4)q.push(N);var Z=o.create(q,A);S.concat(Z)},unpad:function(S){var I=S.words[S.sigBytes-1>>>2]&255;S.sigBytes-=I}},v=i.BlockCipher=u.extend({cfg:u.cfg.extend({mode:x,padding:b}),reset:function(){var S;u.reset.call(this);var I=this.cfg,L=I.iv,A=I.mode;this._xformMode==this._ENC_XFORM_MODE?S=A.createEncryptor:(S=A.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==S?this._mode.init(this,L&&L.words):(this._mode=S.call(A,this,L&&L.words),this._mode.__creator=S)},_doProcessBlock:function(S,I){this._mode.processBlock(S,I)},_doFinalize:function(){var S,I=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(I.pad(this._data,this.blockSize),S=this._process(!0)):(S=this._process(!0),I.unpad(S)),S},blockSize:128/32}),y=i.CipherParams=r.extend({init:function(S){this.mixIn(S)},toString:function(S){return(S||this.formatter).stringify(this)}}),F=t.format={},D=F.OpenSSL={stringify:function(S){var I,L=S.ciphertext,A=S.salt;return A?I=o.create([1398893684,1701076831]).concat(A).concat(L):I=L,I.toString(l)},parse:function(S){var I,L=l.parse(S),A=L.words;return A[0]==1398893684&&A[1]==1701076831&&(I=o.create(A.slice(2,4)),A.splice(0,4),L.sigBytes-=16),y.create({ciphertext:L,salt:I})}},C=i.SerializableCipher=r.extend({cfg:r.extend({format:D}),encrypt:function(S,I,L,A){A=this.cfg.extend(A);var N=S.createEncryptor(L,A),q=N.finalize(I),U=N.cfg;return y.create({ciphertext:q,key:L,iv:U.iv,algorithm:S,mode:U.mode,padding:U.padding,blockSize:S.blockSize,formatter:A.format})},decrypt:function(S,I,L,A){A=this.cfg.extend(A),I=this._parse(I,A.format);var N=S.createDecryptor(L,A).finalize(I.ciphertext);return N},_parse:function(S,I){return typeof S=="string"?I.parse(S,this):S}}),k=t.kdf={},E=k.OpenSSL={execute:function(S,I,L,A,N){if(A||(A=o.random(64/8)),N)var q=h.create({keySize:I+L,hasher:N}).compute(S,A);else var q=h.create({keySize:I+L}).compute(S,A);var U=o.create(q.words.slice(I),L*4);return q.sigBytes=I*4,y.create({key:q,iv:U,salt:A})}},B=i.PasswordBasedCipher=C.extend({cfg:C.cfg.extend({kdf:E}),encrypt:function(S,I,L,A){A=this.cfg.extend(A);var N=A.kdf.execute(L,S.keySize,S.ivSize,A.salt,A.hasher);A.iv=N.iv;var q=C.encrypt.call(this,S,I,N.key,A);return q.mixIn(N),q},decrypt:function(S,I,L,A){A=this.cfg.extend(A),I=this._parse(I,A.format);var N=A.kdf.execute(L,S.keySize,S.ivSize,I.salt,A.hasher);A.iv=N.iv;var q=C.decrypt.call(this,S,I,N.key,A);return q}})}()})});var Ry=J((fh,Ny)=>{(function(n,e,t){typeof fh=="object"?Ny.exports=fh=e(me(),rt()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(n.CryptoJS)})(fh,function(n){return n.mode.CFB=function(){var e=n.lib.BlockCipherMode.extend();e.Encryptor=e.extend({processBlock:function(i,r){var o=this._cipher,s=o.blockSize;t.call(this,i,r,s,o),this._prevBlock=i.slice(r,r+s)}}),e.Decryptor=e.extend({processBlock:function(i,r){var o=this._cipher,s=o.blockSize,a=i.slice(r,r+s);t.call(this,i,r,s,o),this._prevBlock=a}});function t(i,r,o,s){var a,c=this._iv;c?(a=c.slice(0),this._iv=void 0):a=this._prevBlock,s.encryptBlock(a,0);for(var l=0;l<o;l++)i[r+l]^=a[l]}return e}(),n.mode.CFB})});var Hy=J((ph,Vy)=>{(function(n,e,t){typeof ph=="object"?Vy.exports=ph=e(me(),rt()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(n.CryptoJS)})(ph,function(n){return n.mode.CTR=function(){var e=n.lib.BlockCipherMode.extend(),t=e.Encryptor=e.extend({processBlock:function(i,r){var o=this._cipher,s=o.blockSize,a=this._iv,c=this._counter;a&&(c=this._counter=a.slice(0),this._iv=void 0);var l=c.slice(0);o.encryptBlock(l,0),c[s-1]=c[s-1]+1|0;for(var d=0;d<s;d++)i[r+d]^=l[d]}});return e.Decryptor=t,e}(),n.mode.CTR})});var Uy=J((gh,zy)=>{(function(n,e,t){typeof gh=="object"?zy.exports=gh=e(me(),rt()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(n.CryptoJS)})(gh,function(n){return n.mode.CTRGladman=function(){var e=n.lib.BlockCipherMode.extend();function t(o){if((o>>24&255)===255){var s=o>>16&255,a=o>>8&255,c=o&255;s===255?(s=0,a===255?(a=0,c===255?c=0:++c):++a):++s,o=0,o+=s<<16,o+=a<<8,o+=c}else o+=1<<24;return o}function i(o){return(o[0]=t(o[0]))===0&&(o[1]=t(o[1])),o}var r=e.Encryptor=e.extend({processBlock:function(o,s){var a=this._cipher,c=a.blockSize,l=this._iv,d=this._counter;l&&(d=this._counter=l.slice(0),this._iv=void 0),i(d);var h=d.slice(0);a.encryptBlock(h,0);for(var u=0;u<c;u++)o[s+u]^=h[u]}});return e.Decryptor=r,e}(),n.mode.CTRGladman})});var Wy=J((mh,qy)=>{(function(n,e,t){typeof mh=="object"?qy.exports=mh=e(me(),rt()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(n.CryptoJS)})(mh,function(n){return n.mode.OFB=function(){var e=n.lib.BlockCipherMode.extend(),t=e.Encryptor=e.extend({processBlock:function(i,r){var o=this._cipher,s=o.blockSize,a=this._iv,c=this._keystream;a&&(c=this._keystream=a.slice(0),this._iv=void 0),o.encryptBlock(c,0);for(var l=0;l<s;l++)i[r+l]^=c[l]}});return e.Decryptor=t,e}(),n.mode.OFB})});var Ky=J((xh,jy)=>{(function(n,e,t){typeof xh=="object"?jy.exports=xh=e(me(),rt()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(n.CryptoJS)})(xh,function(n){return n.mode.ECB=function(){var e=n.lib.BlockCipherMode.extend();return e.Encryptor=e.extend({processBlock:function(t,i){this._cipher.encryptBlock(t,i)}}),e.Decryptor=e.extend({processBlock:function(t,i){this._cipher.decryptBlock(t,i)}}),e}(),n.mode.ECB})});var Xy=J((bh,Gy)=>{(function(n,e,t){typeof bh=="object"?Gy.exports=bh=e(me(),rt()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(n.CryptoJS)})(bh,function(n){return n.pad.AnsiX923={pad:function(e,t){var i=e.sigBytes,r=t*4,o=r-i%r,s=i+o-1;e.clamp(),e.words[s>>>2]|=o<<24-s%4*8,e.sigBytes+=o},unpad:function(e){var t=e.words[e.sigBytes-1>>>2]&255;e.sigBytes-=t}},n.pad.Ansix923})});var Yy=J((yh,Zy)=>{(function(n,e,t){typeof yh=="object"?Zy.exports=yh=e(me(),rt()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(n.CryptoJS)})(yh,function(n){return n.pad.Iso10126={pad:function(e,t){var i=t*4,r=i-e.sigBytes%i;e.concat(n.lib.WordArray.random(r-1)).concat(n.lib.WordArray.create([r<<24],1))},unpad:function(e){var t=e.words[e.sigBytes-1>>>2]&255;e.sigBytes-=t}},n.pad.Iso10126})});var _y=J((vh,Jy)=>{(function(n,e,t){typeof vh=="object"?Jy.exports=vh=e(me(),rt()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(n.CryptoJS)})(vh,function(n){return n.pad.Iso97971={pad:function(e,t){e.concat(n.lib.WordArray.create([2147483648],1)),n.pad.ZeroPadding.pad(e,t)},unpad:function(e){n.pad.ZeroPadding.unpad(e),e.sigBytes--}},n.pad.Iso97971})});var $y=J((wh,Qy)=>{(function(n,e,t){typeof wh=="object"?Qy.exports=wh=e(me(),rt()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(n.CryptoJS)})(wh,function(n){return n.pad.ZeroPadding={pad:function(e,t){var i=t*4;e.clamp(),e.sigBytes+=i-(e.sigBytes%i||i)},unpad:function(e){for(var t=e.words,i=e.sigBytes-1,i=e.sigBytes-1;i>=0;i--)if(t[i>>>2]>>>24-i%4*8&255){e.sigBytes=i+1;break}}},n.pad.ZeroPadding})});var tv=J((Fh,ev)=>{(function(n,e,t){typeof Fh=="object"?ev.exports=Fh=e(me(),rt()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(n.CryptoJS)})(Fh,function(n){return n.pad.NoPadding={pad:function(){},unpad:function(){}},n.pad.NoPadding})});var nv=J((Dh,iv)=>{(function(n,e,t){typeof Dh=="object"?iv.exports=Dh=e(me(),rt()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(n.CryptoJS)})(Dh,function(n){return function(e){var t=n,i=t.lib,r=i.CipherParams,o=t.enc,s=o.Hex,a=t.format,c=a.Hex={stringify:function(l){return l.ciphertext.toString(s)},parse:function(l){var d=s.parse(l);return r.create({ciphertext:d})}}}(),n.format.Hex})});var ov=J((Ph,rv)=>{(function(n,e,t){typeof Ph=="object"?rv.exports=Ph=e(me(),Cr(),Sr(),Mn(),rt()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(n.CryptoJS)})(Ph,function(n){return function(){var e=n,t=e.lib,i=t.BlockCipher,r=e.algo,o=[],s=[],a=[],c=[],l=[],d=[],h=[],u=[],p=[],f=[];(function(){for(var g=[],b=0;b<256;b++)b<128?g[b]=b<<1:g[b]=b<<1^283;for(var v=0,y=0,b=0;b<256;b++){var F=y^y<<1^y<<2^y<<3^y<<4;F=F>>>8^F&255^99,o[v]=F,s[F]=v;var D=g[v],C=g[D],k=g[C],E=g[F]*257^F*16843008;a[v]=E<<24|E>>>8,c[v]=E<<16|E>>>16,l[v]=E<<8|E>>>24,d[v]=E;var E=k*16843009^C*65537^D*257^v*16843008;h[F]=E<<24|E>>>8,u[F]=E<<16|E>>>16,p[F]=E<<8|E>>>24,f[F]=E,v?(v=D^g[g[g[k^D]]],y^=g[g[y]]):v=y=1}})();var m=[0,1,2,4,8,16,32,64,128,27,54],x=r.AES=i.extend({_doReset:function(){var g;if(!(this._nRounds&&this._keyPriorReset===this._key)){for(var b=this._keyPriorReset=this._key,v=b.words,y=b.sigBytes/4,F=this._nRounds=y+6,D=(F+1)*4,C=this._keySchedule=[],k=0;k<D;k++)k<y?C[k]=v[k]:(g=C[k-1],k%y?y>6&&k%y==4&&(g=o[g>>>24]<<24|o[g>>>16&255]<<16|o[g>>>8&255]<<8|o[g&255]):(g=g<<8|g>>>24,g=o[g>>>24]<<24|o[g>>>16&255]<<16|o[g>>>8&255]<<8|o[g&255],g^=m[k/y|0]<<24),C[k]=C[k-y]^g);for(var E=this._invKeySchedule=[],B=0;B<D;B++){var k=D-B;if(B%4)var g=C[k];else var g=C[k-4];B<4||k<=4?E[B]=g:E[B]=h[o[g>>>24]]^u[o[g>>>16&255]]^p[o[g>>>8&255]]^f[o[g&255]]}}},encryptBlock:function(g,b){this._doCryptBlock(g,b,this._keySchedule,a,c,l,d,o)},decryptBlock:function(g,b){var v=g[b+1];g[b+1]=g[b+3],g[b+3]=v,this._doCryptBlock(g,b,this._invKeySchedule,h,u,p,f,s);var v=g[b+1];g[b+1]=g[b+3],g[b+3]=v},_doCryptBlock:function(g,b,v,y,F,D,C,k){for(var E=this._nRounds,B=g[b]^v[0],S=g[b+1]^v[1],I=g[b+2]^v[2],L=g[b+3]^v[3],A=4,N=1;N<E;N++){var q=y[B>>>24]^F[S>>>16&255]^D[I>>>8&255]^C[L&255]^v[A++],U=y[S>>>24]^F[I>>>16&255]^D[L>>>8&255]^C[B&255]^v[A++],Z=y[I>>>24]^F[L>>>16&255]^D[B>>>8&255]^C[S&255]^v[A++],O=y[L>>>24]^F[B>>>16&255]^D[S>>>8&255]^C[I&255]^v[A++];B=q,S=U,I=Z,L=O}var q=(k[B>>>24]<<24|k[S>>>16&255]<<16|k[I>>>8&255]<<8|k[L&255])^v[A++],U=(k[S>>>24]<<24|k[I>>>16&255]<<16|k[L>>>8&255]<<8|k[B&255])^v[A++],Z=(k[I>>>24]<<24|k[L>>>16&255]<<16|k[B>>>8&255]<<8|k[S&255])^v[A++],O=(k[L>>>24]<<24|k[B>>>16&255]<<16|k[S>>>8&255]<<8|k[I&255])^v[A++];g[b]=q,g[b+1]=U,g[b+2]=Z,g[b+3]=O},keySize:256/32});e.AES=i._createHelper(x)}(),n.AES})});var av=J((kh,sv)=>{(function(n,e,t){typeof kh=="object"?sv.exports=kh=e(me(),Cr(),Sr(),Mn(),rt()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(n.CryptoJS)})(kh,function(n){return function(){var e=n,t=e.lib,i=t.WordArray,r=t.BlockCipher,o=e.algo,s=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],a=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],c=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],l=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],d=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],h=o.DES=r.extend({_doReset:function(){for(var m=this._key,x=m.words,g=[],b=0;b<56;b++){var v=s[b]-1;g[b]=x[v>>>5]>>>31-v%32&1}for(var y=this._subKeys=[],F=0;F<16;F++){for(var D=y[F]=[],C=c[F],b=0;b<24;b++)D[b/6|0]|=g[(a[b]-1+C)%28]<<31-b%6,D[4+(b/6|0)]|=g[28+(a[b+24]-1+C)%28]<<31-b%6;D[0]=D[0]<<1|D[0]>>>31;for(var b=1;b<7;b++)D[b]=D[b]>>>(b-1)*4+3;D[7]=D[7]<<5|D[7]>>>27}for(var k=this._invSubKeys=[],b=0;b<16;b++)k[b]=y[15-b]},encryptBlock:function(m,x){this._doCryptBlock(m,x,this._subKeys)},decryptBlock:function(m,x){this._doCryptBlock(m,x,this._invSubKeys)},_doCryptBlock:function(m,x,g){this._lBlock=m[x],this._rBlock=m[x+1],u.call(this,4,252645135),u.call(this,16,65535),p.call(this,2,858993459),p.call(this,8,16711935),u.call(this,1,1431655765);for(var b=0;b<16;b++){for(var v=g[b],y=this._lBlock,F=this._rBlock,D=0,C=0;C<8;C++)D|=l[C][((F^v[C])&d[C])>>>0];this._lBlock=F,this._rBlock=y^D}var k=this._lBlock;this._lBlock=this._rBlock,this._rBlock=k,u.call(this,1,1431655765),p.call(this,8,16711935),p.call(this,2,858993459),u.call(this,16,65535),u.call(this,4,252645135),m[x]=this._lBlock,m[x+1]=this._rBlock},keySize:64/32,ivSize:64/32,blockSize:64/32});function u(m,x){var g=(this._lBlock>>>m^this._rBlock)&x;this._rBlock^=g,this._lBlock^=g<<m}function p(m,x){var g=(this._rBlock>>>m^this._lBlock)&x;this._lBlock^=g,this._rBlock^=g<<m}e.DES=r._createHelper(h);var f=o.TripleDES=r.extend({_doReset:function(){var m=this._key,x=m.words;if(x.length!==2&&x.length!==4&&x.length<6)throw new Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.");var g=x.slice(0,2),b=x.length<4?x.slice(0,2):x.slice(2,4),v=x.length<6?x.slice(0,2):x.slice(4,6);this._des1=h.createEncryptor(i.create(g)),this._des2=h.createEncryptor(i.create(b)),this._des3=h.createEncryptor(i.create(v))},encryptBlock:function(m,x){this._des1.encryptBlock(m,x),this._des2.decryptBlock(m,x),this._des3.encryptBlock(m,x)},decryptBlock:function(m,x){this._des3.decryptBlock(m,x),this._des2.encryptBlock(m,x),this._des1.decryptBlock(m,x)},keySize:192/32,ivSize:64/32,blockSize:64/32});e.TripleDES=r._createHelper(f)}(),n.TripleDES})});var cv=J((Ch,lv)=>{(function(n,e,t){typeof Ch=="object"?lv.exports=Ch=e(me(),Cr(),Sr(),Mn(),rt()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(n.CryptoJS)})(Ch,function(n){return function(){var e=n,t=e.lib,i=t.StreamCipher,r=e.algo,o=r.RC4=i.extend({_doReset:function(){for(var c=this._key,l=c.words,d=c.sigBytes,h=this._S=[],u=0;u<256;u++)h[u]=u;for(var u=0,p=0;u<256;u++){var f=u%d,m=l[f>>>2]>>>24-f%4*8&255;p=(p+h[u]+m)%256;var x=h[u];h[u]=h[p],h[p]=x}this._i=this._j=0},_doProcessBlock:function(c,l){c[l]^=s.call(this)},keySize:256/32,ivSize:0});function s(){for(var c=this._S,l=this._i,d=this._j,h=0,u=0;u<4;u++){l=(l+1)%256,d=(d+c[l])%256;var p=c[l];c[l]=c[d],c[d]=p,h|=c[(c[l]+c[d])%256]<<24-u*8}return this._i=l,this._j=d,h}e.RC4=i._createHelper(o);var a=r.RC4Drop=o.extend({cfg:o.cfg.extend({drop:192}),_doReset:function(){o._doReset.call(this);for(var c=this.cfg.drop;c>0;c--)s.call(this)}});e.RC4Drop=i._createHelper(a)}(),n.RC4})});var hv=J((Sh,dv)=>{(function(n,e,t){typeof Sh=="object"?dv.exports=Sh=e(me(),Cr(),Sr(),Mn(),rt()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(n.CryptoJS)})(Sh,function(n){return function(){var e=n,t=e.lib,i=t.StreamCipher,r=e.algo,o=[],s=[],a=[],c=r.Rabbit=i.extend({_doReset:function(){for(var d=this._key.words,h=this.cfg.iv,u=0;u<4;u++)d[u]=(d[u]<<8|d[u]>>>24)&16711935|(d[u]<<24|d[u]>>>8)&4278255360;var p=this._X=[d[0],d[3]<<16|d[2]>>>16,d[1],d[0]<<16|d[3]>>>16,d[2],d[1]<<16|d[0]>>>16,d[3],d[2]<<16|d[1]>>>16],f=this._C=[d[2]<<16|d[2]>>>16,d[0]&4294901760|d[1]&65535,d[3]<<16|d[3]>>>16,d[1]&4294901760|d[2]&65535,d[0]<<16|d[0]>>>16,d[2]&4294901760|d[3]&65535,d[1]<<16|d[1]>>>16,d[3]&4294901760|d[0]&65535];this._b=0;for(var u=0;u<4;u++)l.call(this);for(var u=0;u<8;u++)f[u]^=p[u+4&7];if(h){var m=h.words,x=m[0],g=m[1],b=(x<<8|x>>>24)&16711935|(x<<24|x>>>8)&4278255360,v=(g<<8|g>>>24)&16711935|(g<<24|g>>>8)&4278255360,y=b>>>16|v&4294901760,F=v<<16|b&65535;f[0]^=b,f[1]^=y,f[2]^=v,f[3]^=F,f[4]^=b,f[5]^=y,f[6]^=v,f[7]^=F;for(var u=0;u<4;u++)l.call(this)}},_doProcessBlock:function(d,h){var u=this._X;l.call(this),o[0]=u[0]^u[5]>>>16^u[3]<<16,o[1]=u[2]^u[7]>>>16^u[5]<<16,o[2]=u[4]^u[1]>>>16^u[7]<<16,o[3]=u[6]^u[3]>>>16^u[1]<<16;for(var p=0;p<4;p++)o[p]=(o[p]<<8|o[p]>>>24)&16711935|(o[p]<<24|o[p]>>>8)&4278255360,d[h+p]^=o[p]},blockSize:128/32,ivSize:64/32});function l(){for(var d=this._X,h=this._C,u=0;u<8;u++)s[u]=h[u];h[0]=h[0]+1295307597+this._b|0,h[1]=h[1]+3545052371+(h[0]>>>0<s[0]>>>0?1:0)|0,h[2]=h[2]+886263092+(h[1]>>>0<s[1]>>>0?1:0)|0,h[3]=h[3]+1295307597+(h[2]>>>0<s[2]>>>0?1:0)|0,h[4]=h[4]+3545052371+(h[3]>>>0<s[3]>>>0?1:0)|0,h[5]=h[5]+886263092+(h[4]>>>0<s[4]>>>0?1:0)|0,h[6]=h[6]+1295307597+(h[5]>>>0<s[5]>>>0?1:0)|0,h[7]=h[7]+3545052371+(h[6]>>>0<s[6]>>>0?1:0)|0,this._b=h[7]>>>0<s[7]>>>0?1:0;for(var u=0;u<8;u++){var p=d[u]+h[u],f=p&65535,m=p>>>16,x=((f*f>>>17)+f*m>>>15)+m*m,g=((p&4294901760)*p|0)+((p&65535)*p|0);a[u]=x^g}d[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,d[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,d[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,d[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,d[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,d[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,d[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,d[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}e.Rabbit=i._createHelper(c)}(),n.Rabbit})});var fv=J((Eh,uv)=>{(function(n,e,t){typeof Eh=="object"?uv.exports=Eh=e(me(),Cr(),Sr(),Mn(),rt()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(n.CryptoJS)})(Eh,function(n){return function(){var e=n,t=e.lib,i=t.StreamCipher,r=e.algo,o=[],s=[],a=[],c=r.RabbitLegacy=i.extend({_doReset:function(){var d=this._key.words,h=this.cfg.iv,u=this._X=[d[0],d[3]<<16|d[2]>>>16,d[1],d[0]<<16|d[3]>>>16,d[2],d[1]<<16|d[0]>>>16,d[3],d[2]<<16|d[1]>>>16],p=this._C=[d[2]<<16|d[2]>>>16,d[0]&4294901760|d[1]&65535,d[3]<<16|d[3]>>>16,d[1]&4294901760|d[2]&65535,d[0]<<16|d[0]>>>16,d[2]&4294901760|d[3]&65535,d[1]<<16|d[1]>>>16,d[3]&4294901760|d[0]&65535];this._b=0;for(var f=0;f<4;f++)l.call(this);for(var f=0;f<8;f++)p[f]^=u[f+4&7];if(h){var m=h.words,x=m[0],g=m[1],b=(x<<8|x>>>24)&16711935|(x<<24|x>>>8)&4278255360,v=(g<<8|g>>>24)&16711935|(g<<24|g>>>8)&4278255360,y=b>>>16|v&4294901760,F=v<<16|b&65535;p[0]^=b,p[1]^=y,p[2]^=v,p[3]^=F,p[4]^=b,p[5]^=y,p[6]^=v,p[7]^=F;for(var f=0;f<4;f++)l.call(this)}},_doProcessBlock:function(d,h){var u=this._X;l.call(this),o[0]=u[0]^u[5]>>>16^u[3]<<16,o[1]=u[2]^u[7]>>>16^u[5]<<16,o[2]=u[4]^u[1]>>>16^u[7]<<16,o[3]=u[6]^u[3]>>>16^u[1]<<16;for(var p=0;p<4;p++)o[p]=(o[p]<<8|o[p]>>>24)&16711935|(o[p]<<24|o[p]>>>8)&4278255360,d[h+p]^=o[p]},blockSize:128/32,ivSize:64/32});function l(){for(var d=this._X,h=this._C,u=0;u<8;u++)s[u]=h[u];h[0]=h[0]+1295307597+this._b|0,h[1]=h[1]+3545052371+(h[0]>>>0<s[0]>>>0?1:0)|0,h[2]=h[2]+886263092+(h[1]>>>0<s[1]>>>0?1:0)|0,h[3]=h[3]+1295307597+(h[2]>>>0<s[2]>>>0?1:0)|0,h[4]=h[4]+3545052371+(h[3]>>>0<s[3]>>>0?1:0)|0,h[5]=h[5]+886263092+(h[4]>>>0<s[4]>>>0?1:0)|0,h[6]=h[6]+1295307597+(h[5]>>>0<s[5]>>>0?1:0)|0,h[7]=h[7]+3545052371+(h[6]>>>0<s[6]>>>0?1:0)|0,this._b=h[7]>>>0<s[7]>>>0?1:0;for(var u=0;u<8;u++){var p=d[u]+h[u],f=p&65535,m=p>>>16,x=((f*f>>>17)+f*m>>>15)+m*m,g=((p&4294901760)*p|0)+((p&65535)*p|0);a[u]=x^g}d[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,d[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,d[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,d[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,d[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,d[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,d[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,d[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}e.RabbitLegacy=i._createHelper(c)}(),n.RabbitLegacy})});var gv=J((Th,pv)=>{(function(n,e,t){typeof Th=="object"?pv.exports=Th=e(me(),Cr(),Sr(),Mn(),rt()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(n.CryptoJS)})(Th,function(n){return function(){var e=n,t=e.lib,i=t.BlockCipher,r=e.algo;let o=16,s=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],a=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var c={pbox:[],sbox:[]};function l(f,m){let x=m>>24&255,g=m>>16&255,b=m>>8&255,v=m&255,y=f.sbox[0][x]+f.sbox[1][g];return y=y^f.sbox[2][b],y=y+f.sbox[3][v],y}function d(f,m,x){let g=m,b=x,v;for(let y=0;y<o;++y)g=g^f.pbox[y],b=l(f,g)^b,v=g,g=b,b=v;return v=g,g=b,b=v,b=b^f.pbox[o],g=g^f.pbox[o+1],{left:g,right:b}}function h(f,m,x){let g=m,b=x,v;for(let y=o+1;y>1;--y)g=g^f.pbox[y],b=l(f,g)^b,v=g,g=b,b=v;return v=g,g=b,b=v,b=b^f.pbox[1],g=g^f.pbox[0],{left:g,right:b}}function u(f,m,x){for(let F=0;F<4;F++){f.sbox[F]=[];for(let D=0;D<256;D++)f.sbox[F][D]=a[F][D]}let g=0;for(let F=0;F<o+2;F++)f.pbox[F]=s[F]^m[g],g++,g>=x&&(g=0);let b=0,v=0,y=0;for(let F=0;F<o+2;F+=2)y=d(f,b,v),b=y.left,v=y.right,f.pbox[F]=b,f.pbox[F+1]=v;for(let F=0;F<4;F++)for(let D=0;D<256;D+=2)y=d(f,b,v),b=y.left,v=y.right,f.sbox[F][D]=b,f.sbox[F][D+1]=v;return!0}var p=r.Blowfish=i.extend({_doReset:function(){if(this._keyPriorReset!==this._key){var f=this._keyPriorReset=this._key,m=f.words,x=f.sigBytes/4;u(c,m,x)}},encryptBlock:function(f,m){var x=d(c,f[m],f[m+1]);f[m]=x.left,f[m+1]=x.right},decryptBlock:function(f,m){var x=h(c,f[m],f[m+1]);f[m]=x.left,f[m+1]=x.right},blockSize:64/32,keySize:128/32,ivSize:64/32});e.Blowfish=i._createHelper(p)}(),n.Blowfish})});var xv=J((Ah,mv)=>{(function(n,e,t){typeof Ah=="object"?mv.exports=Ah=e(me(),rc(),fy(),gy(),Cr(),by(),Sr(),ep(),ih(),Dy(),tp(),Cy(),Ey(),Ay(),ch(),Ly(),Mn(),rt(),Ry(),Hy(),Uy(),Wy(),Ky(),Xy(),Yy(),_y(),$y(),tv(),nv(),ov(),av(),cv(),hv(),fv(),gv()):typeof define=="function"&&define.amd?define(["./core","./x64-core","./lib-typedarrays","./enc-utf16","./enc-base64","./enc-base64url","./md5","./sha1","./sha256","./sha224","./sha512","./sha384","./sha3","./ripemd160","./hmac","./pbkdf2","./evpkdf","./cipher-core","./mode-cfb","./mode-ctr","./mode-ctr-gladman","./mode-ofb","./mode-ecb","./pad-ansix923","./pad-iso10126","./pad-iso97971","./pad-zeropadding","./pad-nopadding","./format-hex","./aes","./tripledes","./rc4","./rabbit","./rabbit-legacy","./blowfish"],e):n.CryptoJS=e(n.CryptoJS)})(Ah,function(n){return n})});var gp=J((gI,kv)=>{"use strict";kv.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var Sv=J((mI,Cv)=>{Cv.exports=function(e){return!e||typeof e=="string"?!1:e instanceof Array||Array.isArray(e)||e.length>=0&&(e.splice instanceof Function||Object.getOwnPropertyDescriptor(e,e.length-1)&&e.constructor.name!=="String")}});var Av=J((xI,Tv)=>{"use strict";var GP=Sv(),XP=Array.prototype.concat,ZP=Array.prototype.slice,Ev=Tv.exports=function(e){for(var t=[],i=0,r=e.length;i<r;i++){var o=e[i];GP(o)?t=XP.call(t,ZP.call(o)):t.push(o)}return t};Ev.wrap=function(n){return function(){return n(Ev(arguments))}}});var Ov=J((bI,Lv)=>{var fc=gp(),pc=Av(),Iv=Object.hasOwnProperty,Bv=Object.create(null);for(Uh in fc)Iv.call(fc,Uh)&&(Bv[fc[Uh]]=Uh);var Uh,Gt=Lv.exports={to:{},get:{}};Gt.get=function(n){var e=n.substring(0,3).toLowerCase(),t,i;switch(e){case"hsl":t=Gt.get.hsl(n),i="hsl";break;case"hwb":t=Gt.get.hwb(n),i="hwb";break;default:t=Gt.get.rgb(n),i="rgb";break}return t?{model:i,value:t}:null};Gt.get.rgb=function(n){if(!n)return null;var e=/^#([a-f0-9]{3,4})$/i,t=/^#([a-f0-9]{6})([a-f0-9]{2})?$/i,i=/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,r=/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,o=/^(\w+)$/,s=[0,0,0,1],a,c,l;if(a=n.match(t)){for(l=a[2],a=a[1],c=0;c<3;c++){var d=c*2;s[c]=parseInt(a.slice(d,d+2),16)}l&&(s[3]=parseInt(l,16)/255)}else if(a=n.match(e)){for(a=a[1],l=a[3],c=0;c<3;c++)s[c]=parseInt(a[c]+a[c],16);l&&(s[3]=parseInt(l+l,16)/255)}else if(a=n.match(i)){for(c=0;c<3;c++)s[c]=parseInt(a[c+1],0);a[4]&&(a[5]?s[3]=parseFloat(a[4])*.01:s[3]=parseFloat(a[4]))}else if(a=n.match(r)){for(c=0;c<3;c++)s[c]=Math.round(parseFloat(a[c+1])*2.55);a[4]&&(a[5]?s[3]=parseFloat(a[4])*.01:s[3]=parseFloat(a[4]))}else return(a=n.match(o))?a[1]==="transparent"?[0,0,0,0]:Iv.call(fc,a[1])?(s=fc[a[1]],s[3]=1,s):null:null;for(c=0;c<3;c++)s[c]=Ar(s[c],0,255);return s[3]=Ar(s[3],0,1),s};Gt.get.hsl=function(n){if(!n)return null;var e=/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,t=n.match(e);if(t){var i=parseFloat(t[4]),r=(parseFloat(t[1])%360+360)%360,o=Ar(parseFloat(t[2]),0,100),s=Ar(parseFloat(t[3]),0,100),a=Ar(isNaN(i)?1:i,0,1);return[r,o,s,a]}return null};Gt.get.hwb=function(n){if(!n)return null;var e=/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,t=n.match(e);if(t){var i=parseFloat(t[4]),r=(parseFloat(t[1])%360+360)%360,o=Ar(parseFloat(t[2]),0,100),s=Ar(parseFloat(t[3]),0,100),a=Ar(isNaN(i)?1:i,0,1);return[r,o,s,a]}return null};Gt.to.hex=function(){var n=pc(arguments);return"#"+qh(n[0])+qh(n[1])+qh(n[2])+(n[3]<1?qh(Math.round(n[3]*255)):"")};Gt.to.rgb=function(){var n=pc(arguments);return n.length<4||n[3]===1?"rgb("+Math.round(n[0])+", "+Math.round(n[1])+", "+Math.round(n[2])+")":"rgba("+Math.round(n[0])+", "+Math.round(n[1])+", "+Math.round(n[2])+", "+n[3]+")"};Gt.to.rgb.percent=function(){var n=pc(arguments),e=Math.round(n[0]/255*100),t=Math.round(n[1]/255*100),i=Math.round(n[2]/255*100);return n.length<4||n[3]===1?"rgb("+e+"%, "+t+"%, "+i+"%)":"rgba("+e+"%, "+t+"%, "+i+"%, "+n[3]+")"};Gt.to.hsl=function(){var n=pc(arguments);return n.length<4||n[3]===1?"hsl("+n[0]+", "+n[1]+"%, "+n[2]+"%)":"hsla("+n[0]+", "+n[1]+"%, "+n[2]+"%, "+n[3]+")"};Gt.to.hwb=function(){var n=pc(arguments),e="";return n.length>=4&&n[3]!==1&&(e=", "+n[3]),"hwb("+n[0]+", "+n[1]+"%, "+n[2]+"%"+e+")"};Gt.to.keyword=function(n){return Bv[n.slice(0,3)]};function Ar(n,e,t){return Math.min(Math.max(e,n),t)}function qh(n){var e=Math.round(n).toString(16).toUpperCase();return e.length<2?"0"+e:e}});var mp=J((yI,Nv)=>{var gc=gp(),Mv={};for(let n of Object.keys(gc))Mv[gc[n]]=n;var Q={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};Nv.exports=Q;for(let n of Object.keys(Q)){if(!("channels"in Q[n]))throw new Error("missing channels property: "+n);if(!("labels"in Q[n]))throw new Error("missing channel labels property: "+n);if(Q[n].labels.length!==Q[n].channels)throw new Error("channel and label counts mismatch: "+n);let{channels:e,labels:t}=Q[n];delete Q[n].channels,delete Q[n].labels,Object.defineProperty(Q[n],"channels",{value:e}),Object.defineProperty(Q[n],"labels",{value:t})}Q.rgb.hsl=function(n){let e=n[0]/255,t=n[1]/255,i=n[2]/255,r=Math.min(e,t,i),o=Math.max(e,t,i),s=o-r,a,c;o===r?a=0:e===o?a=(t-i)/s:t===o?a=2+(i-e)/s:i===o&&(a=4+(e-t)/s),a=Math.min(a*60,360),a<0&&(a+=360);let l=(r+o)/2;return o===r?c=0:l<=.5?c=s/(o+r):c=s/(2-o-r),[a,c*100,l*100]};Q.rgb.hsv=function(n){let e,t,i,r,o,s=n[0]/255,a=n[1]/255,c=n[2]/255,l=Math.max(s,a,c),d=l-Math.min(s,a,c),h=function(u){return(l-u)/6/d+1/2};return d===0?(r=0,o=0):(o=d/l,e=h(s),t=h(a),i=h(c),s===l?r=i-t:a===l?r=1/3+e-i:c===l&&(r=2/3+t-e),r<0?r+=1:r>1&&(r-=1)),[r*360,o*100,l*100]};Q.rgb.hwb=function(n){let e=n[0],t=n[1],i=n[2],r=Q.rgb.hsl(n)[0],o=1/255*Math.min(e,Math.min(t,i));return i=1-1/255*Math.max(e,Math.max(t,i)),[r,o*100,i*100]};Q.rgb.cmyk=function(n){let e=n[0]/255,t=n[1]/255,i=n[2]/255,r=Math.min(1-e,1-t,1-i),o=(1-e-r)/(1-r)||0,s=(1-t-r)/(1-r)||0,a=(1-i-r)/(1-r)||0;return[o*100,s*100,a*100,r*100]};function YP(n,e){return(n[0]-e[0])**2+(n[1]-e[1])**2+(n[2]-e[2])**2}Q.rgb.keyword=function(n){let e=Mv[n];if(e)return e;let t=1/0,i;for(let r of Object.keys(gc)){let o=gc[r],s=YP(n,o);s<t&&(t=s,i=r)}return i};Q.keyword.rgb=function(n){return gc[n]};Q.rgb.xyz=function(n){let e=n[0]/255,t=n[1]/255,i=n[2]/255;e=e>.04045?((e+.055)/1.055)**2.4:e/12.92,t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,i=i>.04045?((i+.055)/1.055)**2.4:i/12.92;let r=e*.4124+t*.3576+i*.1805,o=e*.2126+t*.7152+i*.0722,s=e*.0193+t*.1192+i*.9505;return[r*100,o*100,s*100]};Q.rgb.lab=function(n){let e=Q.rgb.xyz(n),t=e[0],i=e[1],r=e[2];t/=95.047,i/=100,r/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,i=i>.008856?i**(1/3):7.787*i+16/116,r=r>.008856?r**(1/3):7.787*r+16/116;let o=116*i-16,s=500*(t-i),a=200*(i-r);return[o,s,a]};Q.hsl.rgb=function(n){let e=n[0]/360,t=n[1]/100,i=n[2]/100,r,o,s;if(t===0)return s=i*255,[s,s,s];i<.5?r=i*(1+t):r=i+t-i*t;let a=2*i-r,c=[0,0,0];for(let l=0;l<3;l++)o=e+1/3*-(l-1),o<0&&o++,o>1&&o--,6*o<1?s=a+(r-a)*6*o:2*o<1?s=r:3*o<2?s=a+(r-a)*(2/3-o)*6:s=a,c[l]=s*255;return c};Q.hsl.hsv=function(n){let e=n[0],t=n[1]/100,i=n[2]/100,r=t,o=Math.max(i,.01);i*=2,t*=i<=1?i:2-i,r*=o<=1?o:2-o;let s=(i+t)/2,a=i===0?2*r/(o+r):2*t/(i+t);return[e,a*100,s*100]};Q.hsv.rgb=function(n){let e=n[0]/60,t=n[1]/100,i=n[2]/100,r=Math.floor(e)%6,o=e-Math.floor(e),s=255*i*(1-t),a=255*i*(1-t*o),c=255*i*(1-t*(1-o));switch(i*=255,r){case 0:return[i,c,s];case 1:return[a,i,s];case 2:return[s,i,c];case 3:return[s,a,i];case 4:return[c,s,i];case 5:return[i,s,a]}};Q.hsv.hsl=function(n){let e=n[0],t=n[1]/100,i=n[2]/100,r=Math.max(i,.01),o,s;s=(2-t)*i;let a=(2-t)*r;return o=t*r,o/=a<=1?a:2-a,o=o||0,s/=2,[e,o*100,s*100]};Q.hwb.rgb=function(n){let e=n[0]/360,t=n[1]/100,i=n[2]/100,r=t+i,o;r>1&&(t/=r,i/=r);let s=Math.floor(6*e),a=1-i;o=6*e-s,(s&1)!==0&&(o=1-o);let c=t+o*(a-t),l,d,h;switch(s){default:case 6:case 0:l=a,d=c,h=t;break;case 1:l=c,d=a,h=t;break;case 2:l=t,d=a,h=c;break;case 3:l=t,d=c,h=a;break;case 4:l=c,d=t,h=a;break;case 5:l=a,d=t,h=c;break}return[l*255,d*255,h*255]};Q.cmyk.rgb=function(n){let e=n[0]/100,t=n[1]/100,i=n[2]/100,r=n[3]/100,o=1-Math.min(1,e*(1-r)+r),s=1-Math.min(1,t*(1-r)+r),a=1-Math.min(1,i*(1-r)+r);return[o*255,s*255,a*255]};Q.xyz.rgb=function(n){let e=n[0]/100,t=n[1]/100,i=n[2]/100,r,o,s;return r=e*3.2406+t*-1.5372+i*-.4986,o=e*-.9689+t*1.8758+i*.0415,s=e*.0557+t*-.204+i*1.057,r=r>.0031308?1.055*r**(1/2.4)-.055:r*12.92,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,r=Math.min(Math.max(0,r),1),o=Math.min(Math.max(0,o),1),s=Math.min(Math.max(0,s),1),[r*255,o*255,s*255]};Q.xyz.lab=function(n){let e=n[0],t=n[1],i=n[2];e/=95.047,t/=100,i/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,t=t>.008856?t**(1/3):7.787*t+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;let r=116*t-16,o=500*(e-t),s=200*(t-i);return[r,o,s]};Q.lab.xyz=function(n){let e=n[0],t=n[1],i=n[2],r,o,s;o=(e+16)/116,r=t/500+o,s=o-i/200;let a=o**3,c=r**3,l=s**3;return o=a>.008856?a:(o-16/116)/7.787,r=c>.008856?c:(r-16/116)/7.787,s=l>.008856?l:(s-16/116)/7.787,r*=95.047,o*=100,s*=108.883,[r,o,s]};Q.lab.lch=function(n){let e=n[0],t=n[1],i=n[2],r;r=Math.atan2(i,t)*360/2/Math.PI,r<0&&(r+=360);let s=Math.sqrt(t*t+i*i);return[e,s,r]};Q.lch.lab=function(n){let e=n[0],t=n[1],r=n[2]/360*2*Math.PI,o=t*Math.cos(r),s=t*Math.sin(r);return[e,o,s]};Q.rgb.ansi16=function(n,e=null){let[t,i,r]=n,o=e===null?Q.rgb.hsv(n)[2]:e;if(o=Math.round(o/50),o===0)return 30;let s=30+(Math.round(r/255)<<2|Math.round(i/255)<<1|Math.round(t/255));return o===2&&(s+=60),s};Q.hsv.ansi16=function(n){return Q.rgb.ansi16(Q.hsv.rgb(n),n[2])};Q.rgb.ansi256=function(n){let e=n[0],t=n[1],i=n[2];return e===t&&t===i?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(i/255*5)};Q.ansi16.rgb=function(n){let e=n%10;if(e===0||e===7)return n>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let t=(~~(n>50)+1)*.5,i=(e&1)*t*255,r=(e>>1&1)*t*255,o=(e>>2&1)*t*255;return[i,r,o]};Q.ansi256.rgb=function(n){if(n>=232){let o=(n-232)*10+8;return[o,o,o]}n-=16;let e,t=Math.floor(n/36)/5*255,i=Math.floor((e=n%36)/6)/5*255,r=e%6/5*255;return[t,i,r]};Q.rgb.hex=function(n){let t=(((Math.round(n[0])&255)<<16)+((Math.round(n[1])&255)<<8)+(Math.round(n[2])&255)).toString(16).toUpperCase();return"000000".substring(t.length)+t};Q.hex.rgb=function(n){let e=n.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let t=e[0];e[0].length===3&&(t=t.split("").map(a=>a+a).join(""));let i=parseInt(t,16),r=i>>16&255,o=i>>8&255,s=i&255;return[r,o,s]};Q.rgb.hcg=function(n){let e=n[0]/255,t=n[1]/255,i=n[2]/255,r=Math.max(Math.max(e,t),i),o=Math.min(Math.min(e,t),i),s=r-o,a,c;return s<1?a=o/(1-s):a=0,s<=0?c=0:r===e?c=(t-i)/s%6:r===t?c=2+(i-e)/s:c=4+(e-t)/s,c/=6,c%=1,[c*360,s*100,a*100]};Q.hsl.hcg=function(n){let e=n[1]/100,t=n[2]/100,i=t<.5?2*e*t:2*e*(1-t),r=0;return i<1&&(r=(t-.5*i)/(1-i)),[n[0],i*100,r*100]};Q.hsv.hcg=function(n){let e=n[1]/100,t=n[2]/100,i=e*t,r=0;return i<1&&(r=(t-i)/(1-i)),[n[0],i*100,r*100]};Q.hcg.rgb=function(n){let e=n[0]/360,t=n[1]/100,i=n[2]/100;if(t===0)return[i*255,i*255,i*255];let r=[0,0,0],o=e%1*6,s=o%1,a=1-s,c=0;switch(Math.floor(o)){case 0:r[0]=1,r[1]=s,r[2]=0;break;case 1:r[0]=a,r[1]=1,r[2]=0;break;case 2:r[0]=0,r[1]=1,r[2]=s;break;case 3:r[0]=0,r[1]=a,r[2]=1;break;case 4:r[0]=s,r[1]=0,r[2]=1;break;default:r[0]=1,r[1]=0,r[2]=a}return c=(1-t)*i,[(t*r[0]+c)*255,(t*r[1]+c)*255,(t*r[2]+c)*255]};Q.hcg.hsv=function(n){let e=n[1]/100,t=n[2]/100,i=e+t*(1-e),r=0;return i>0&&(r=e/i),[n[0],r*100,i*100]};Q.hcg.hsl=function(n){let e=n[1]/100,i=n[2]/100*(1-e)+.5*e,r=0;return i>0&&i<.5?r=e/(2*i):i>=.5&&i<1&&(r=e/(2*(1-i))),[n[0],r*100,i*100]};Q.hcg.hwb=function(n){let e=n[1]/100,t=n[2]/100,i=e+t*(1-e);return[n[0],(i-e)*100,(1-i)*100]};Q.hwb.hcg=function(n){let e=n[1]/100,i=1-n[2]/100,r=i-e,o=0;return r<1&&(o=(i-r)/(1-r)),[n[0],r*100,o*100]};Q.apple.rgb=function(n){return[n[0]/65535*255,n[1]/65535*255,n[2]/65535*255]};Q.rgb.apple=function(n){return[n[0]/255*65535,n[1]/255*65535,n[2]/255*65535]};Q.gray.rgb=function(n){return[n[0]/100*255,n[0]/100*255,n[0]/100*255]};Q.gray.hsl=function(n){return[0,0,n[0]]};Q.gray.hsv=Q.gray.hsl;Q.gray.hwb=function(n){return[0,100,n[0]]};Q.gray.cmyk=function(n){return[0,0,0,n[0]]};Q.gray.lab=function(n){return[n[0],0,0]};Q.gray.hex=function(n){let e=Math.round(n[0]/100*255)&255,i=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(i.length)+i};Q.rgb.gray=function(n){return[(n[0]+n[1]+n[2])/3/255*100]}});var Vv=J((vI,Rv)=>{var Wh=mp();function JP(){let n={},e=Object.keys(Wh);for(let t=e.length,i=0;i<t;i++)n[e[i]]={distance:-1,parent:null};return n}function _P(n){let e=JP(),t=[n];for(e[n].distance=0;t.length;){let i=t.pop(),r=Object.keys(Wh[i]);for(let o=r.length,s=0;s<o;s++){let a=r[s],c=e[a];c.distance===-1&&(c.distance=e[i].distance+1,c.parent=i,t.unshift(a))}}return e}function QP(n,e){return function(t){return e(n(t))}}function $P(n,e){let t=[e[n].parent,n],i=Wh[e[n].parent][n],r=e[n].parent;for(;e[r].parent;)t.unshift(e[r].parent),i=QP(Wh[e[r].parent][r],i),r=e[r].parent;return i.conversion=t,i}Rv.exports=function(n){let e=_P(n),t={},i=Object.keys(e);for(let r=i.length,o=0;o<r;o++){let s=i[o];e[s].parent!==null&&(t[s]=$P(s,e))}return t}});var zv=J((wI,Hv)=>{var xp=mp(),ek=Vv(),_s={},tk=Object.keys(xp);function ik(n){let e=function(...t){let i=t[0];return i==null?i:(i.length>1&&(t=i),n(t))};return"conversion"in n&&(e.conversion=n.conversion),e}function nk(n){let e=function(...t){let i=t[0];if(i==null)return i;i.length>1&&(t=i);let r=n(t);if(typeof r=="object")for(let o=r.length,s=0;s<o;s++)r[s]=Math.round(r[s]);return r};return"conversion"in n&&(e.conversion=n.conversion),e}tk.forEach(n=>{_s[n]={},Object.defineProperty(_s[n],"channels",{value:xp[n].channels}),Object.defineProperty(_s[n],"labels",{value:xp[n].labels});let e=ek(n);Object.keys(e).forEach(i=>{let r=e[i];_s[n][i]=nk(r),_s[n][i].raw=ik(r)})});Hv.exports=_s});var Wv=J((FI,qv)=>{var Qs=Ov(),Xt=zv(),Uv=["keyword","gray","hex"],bp={};for(let n of Object.keys(Xt))bp[[...Xt[n].labels].sort().join("")]=n;var jh={};function ut(n,e){if(!(this instanceof ut))return new ut(n,e);if(e&&e in Uv&&(e=null),e&&!(e in Xt))throw new Error("Unknown model: "+e);let t,i;if(n==null)this.model="rgb",this.color=[0,0,0],this.valpha=1;else if(n instanceof ut)this.model=n.model,this.color=[...n.color],this.valpha=n.valpha;else if(typeof n=="string"){let r=Qs.get(n);if(r===null)throw new Error("Unable to parse color from string: "+n);this.model=r.model,i=Xt[this.model].channels,this.color=r.value.slice(0,i),this.valpha=typeof r.value[i]=="number"?r.value[i]:1}else if(n.length>0){this.model=e||"rgb",i=Xt[this.model].channels;let r=Array.prototype.slice.call(n,0,i);this.color=yp(r,i),this.valpha=typeof n[i]=="number"?n[i]:1}else if(typeof n=="number")this.model="rgb",this.color=[n>>16&255,n>>8&255,n&255],this.valpha=1;else{this.valpha=1;let r=Object.keys(n);"alpha"in n&&(r.splice(r.indexOf("alpha"),1),this.valpha=typeof n.alpha=="number"?n.alpha:0);let o=r.sort().join("");if(!(o in bp))throw new Error("Unable to parse color from object: "+JSON.stringify(n));this.model=bp[o];let{labels:s}=Xt[this.model],a=[];for(t=0;t<s.length;t++)a.push(n[s[t]]);this.color=yp(a)}if(jh[this.model])for(i=Xt[this.model].channels,t=0;t<i;t++){let r=jh[this.model][t];r&&(this.color[t]=r(this.color[t]))}this.valpha=Math.max(0,Math.min(1,this.valpha)),Object.freeze&&Object.freeze(this)}ut.prototype={toString(){return this.string()},toJSON(){return this[this.model]()},string(n){let e=this.model in Qs.to?this:this.rgb();e=e.round(typeof n=="number"?n:1);let t=e.valpha===1?e.color:[...e.color,this.valpha];return Qs.to[e.model](t)},percentString(n){let e=this.rgb().round(typeof n=="number"?n:1),t=e.valpha===1?e.color:[...e.color,this.valpha];return Qs.to.rgb.percent(t)},array(){return this.valpha===1?[...this.color]:[...this.color,this.valpha]},object(){let n={},{channels:e}=Xt[this.model],{labels:t}=Xt[this.model];for(let i=0;i<e;i++)n[t[i]]=this.color[i];return this.valpha!==1&&(n.alpha=this.valpha),n},unitArray(){let n=this.rgb().color;return n[0]/=255,n[1]/=255,n[2]/=255,this.valpha!==1&&n.push(this.valpha),n},unitObject(){let n=this.rgb().object();return n.r/=255,n.g/=255,n.b/=255,this.valpha!==1&&(n.alpha=this.valpha),n},round(n){return n=Math.max(n||0,0),new ut([...this.color.map(ok(n)),this.valpha],this.model)},alpha(n){return n!==void 0?new ut([...this.color,Math.max(0,Math.min(1,n))],this.model):this.valpha},red:We("rgb",0,st(255)),green:We("rgb",1,st(255)),blue:We("rgb",2,st(255)),hue:We(["hsl","hsv","hsl","hwb","hcg"],0,n=>(n%360+360)%360),saturationl:We("hsl",1,st(100)),lightness:We("hsl",2,st(100)),saturationv:We("hsv",1,st(100)),value:We("hsv",2,st(100)),chroma:We("hcg",1,st(100)),gray:We("hcg",2,st(100)),white:We("hwb",1,st(100)),wblack:We("hwb",2,st(100)),cyan:We("cmyk",0,st(100)),magenta:We("cmyk",1,st(100)),yellow:We("cmyk",2,st(100)),black:We("cmyk",3,st(100)),x:We("xyz",0,st(95.047)),y:We("xyz",1,st(100)),z:We("xyz",2,st(108.833)),l:We("lab",0,st(100)),a:We("lab",1),b:We("lab",2),keyword(n){return n!==void 0?new ut(n):Xt[this.model].keyword(this.color)},hex(n){return n!==void 0?new ut(n):Qs.to.hex(this.rgb().round().color)},hexa(n){if(n!==void 0)return new ut(n);let e=this.rgb().round().color,t=Math.round(this.valpha*255).toString(16).toUpperCase();return t.length===1&&(t="0"+t),Qs.to.hex(e)+t},rgbNumber(){let n=this.rgb().color;return(n[0]&255)<<16|(n[1]&255)<<8|n[2]&255},luminosity(){let n=this.rgb().color,e=[];for(let[t,i]of n.entries()){let r=i/255;e[t]=r<=.04045?r/12.92:((r+.055)/1.055)**2.4}return .2126*e[0]+.7152*e[1]+.0722*e[2]},contrast(n){let e=this.luminosity(),t=n.luminosity();return e>t?(e+.05)/(t+.05):(t+.05)/(e+.05)},level(n){let e=this.contrast(n);return e>=7?"AAA":e>=4.5?"AA":""},isDark(){let n=this.rgb().color;return(n[0]*2126+n[1]*7152+n[2]*722)/1e4<128},isLight(){return!this.isDark()},negate(){let n=this.rgb();for(let e=0;e<3;e++)n.color[e]=255-n.color[e];return n},lighten(n){let e=this.hsl();return e.color[2]+=e.color[2]*n,e},darken(n){let e=this.hsl();return e.color[2]-=e.color[2]*n,e},saturate(n){let e=this.hsl();return e.color[1]+=e.color[1]*n,e},desaturate(n){let e=this.hsl();return e.color[1]-=e.color[1]*n,e},whiten(n){let e=this.hwb();return e.color[1]+=e.color[1]*n,e},blacken(n){let e=this.hwb();return e.color[2]+=e.color[2]*n,e},grayscale(){let n=this.rgb().color,e=n[0]*.3+n[1]*.59+n[2]*.11;return ut.rgb(e,e,e)},fade(n){return this.alpha(this.valpha-this.valpha*n)},opaquer(n){return this.alpha(this.valpha+this.valpha*n)},rotate(n){let e=this.hsl(),t=e.color[0];return t=(t+n)%360,t=t<0?360+t:t,e.color[0]=t,e},mix(n,e){if(!n||!n.rgb)throw new Error('Argument to "mix" was not a Color instance, but rather an instance of '+typeof n);let t=n.rgb(),i=this.rgb(),r=e===void 0?.5:e,o=2*r-1,s=t.alpha()-i.alpha(),a=((o*s===-1?o:(o+s)/(1+o*s))+1)/2,c=1-a;return ut.rgb(a*t.red()+c*i.red(),a*t.green()+c*i.green(),a*t.blue()+c*i.blue(),t.alpha()*r+i.alpha()*(1-r))}};for(let n of Object.keys(Xt)){if(Uv.includes(n))continue;let{channels:e}=Xt[n];ut.prototype[n]=function(...t){return this.model===n?new ut(this):t.length>0?new ut(t,n):new ut([...sk(Xt[this.model][n].raw(this.color)),this.valpha],n)},ut[n]=function(...t){let i=t[0];return typeof i=="number"&&(i=yp(t,e)),new ut(i,n)}}function rk(n,e){return Number(n.toFixed(e))}function ok(n){return function(e){return rk(e,n)}}function We(n,e,t){n=Array.isArray(n)?n:[n];for(let i of n)(jh[i]||(jh[i]=[]))[e]=t;return n=n[0],function(i){let r;return i!==void 0?(t&&(i=t(i)),r=this[n](),r.color[e]=i,r):(r=this[n]().color[e],t&&(r=t(r)),r)}}function st(n){return function(e){return Math.max(0,Math.min(n,e))}}function sk(n){return Array.isArray(n)?n:[n]}function yp(n,e){for(let t=0;t<e;t++)typeof n[t]!="number"&&(n[t]=0);return n}qv.exports=ut});var Yv=J(Zh=>{"use strict";Object.defineProperty(Zh,"__esModule",{value:!0});Zh.bodyRegExps={xml:/&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g,html4:/&notin;|&(?:nbsp|iexcl|cent|pound|curren|yen|brvbar|sect|uml|copy|ordf|laquo|not|shy|reg|macr|deg|plusmn|sup2|sup3|acute|micro|para|middot|cedil|sup1|ordm|raquo|frac14|frac12|frac34|iquest|Agrave|Aacute|Acirc|Atilde|Auml|Aring|AElig|Ccedil|Egrave|Eacute|Ecirc|Euml|Igrave|Iacute|Icirc|Iuml|ETH|Ntilde|Ograve|Oacute|Ocirc|Otilde|Ouml|times|Oslash|Ugrave|Uacute|Ucirc|Uuml|Yacute|THORN|szlig|agrave|aacute|acirc|atilde|auml|aring|aelig|ccedil|egrave|eacute|ecirc|euml|igrave|iacute|icirc|iuml|eth|ntilde|ograve|oacute|ocirc|otilde|ouml|divide|oslash|ugrave|uacute|ucirc|uuml|yacute|thorn|yuml|quot|amp|lt|gt|#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g,html5:/&centerdot;|&copysr;|&divideontimes;|&gtcc;|&gtcir;|&gtdot;|&gtlPar;|&gtquest;|&gtrapprox;|&gtrarr;|&gtrdot;|&gtreqless;|&gtreqqless;|&gtrless;|&gtrsim;|&ltcc;|&ltcir;|&ltdot;|&lthree;|&ltimes;|&ltlarr;|&ltquest;|&ltrPar;|&ltri;|&ltrie;|&ltrif;|&notin;|&notinE;|&notindot;|&notinva;|&notinvb;|&notinvc;|&notni;|&notniva;|&notnivb;|&notnivc;|&parallel;|&timesb;|&timesbar;|&timesd;|&(?:AElig|AMP|Aacute|Acirc|Agrave|Aring|Atilde|Auml|COPY|Ccedil|ETH|Eacute|Ecirc|Egrave|Euml|GT|Iacute|Icirc|Igrave|Iuml|LT|Ntilde|Oacute|Ocirc|Ograve|Oslash|Otilde|Ouml|QUOT|REG|THORN|Uacute|Ucirc|Ugrave|Uuml|Yacute|aacute|acirc|acute|aelig|agrave|amp|aring|atilde|auml|brvbar|ccedil|cedil|cent|copy|curren|deg|divide|eacute|ecirc|egrave|eth|euml|frac12|frac14|frac34|gt|iacute|icirc|iexcl|igrave|iquest|iuml|laquo|lt|macr|micro|middot|nbsp|not|ntilde|oacute|ocirc|ograve|ordf|ordm|oslash|otilde|ouml|para|plusmn|pound|quot|raquo|reg|sect|shy|sup1|sup2|sup3|szlig|thorn|times|uacute|ucirc|ugrave|uml|uuml|yacute|yen|yuml|#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g};Zh.namedReferences={xml:{entities:{"&lt;":"<","&gt;":">","&quot;":'"',"&apos;":"'","&amp;":"&"},characters:{"<":"&lt;",">":"&gt;",'"':"&quot;","'":"&apos;","&":"&amp;"}},html4:{entities:{"&apos;":"'","&nbsp":"\xA0","&nbsp;":"\xA0","&iexcl":"\xA1","&iexcl;":"\xA1","&cent":"\xA2","&cent;":"\xA2","&pound":"\xA3","&pound;":"\xA3","&curren":"\xA4","&curren;":"\xA4","&yen":"\xA5","&yen;":"\xA5","&brvbar":"\xA6","&brvbar;":"\xA6","&sect":"\xA7","&sect;":"\xA7","&uml":"\xA8","&uml;":"\xA8","&copy":"\xA9","&copy;":"\xA9","&ordf":"\xAA","&ordf;":"\xAA","&laquo":"\xAB","&laquo;":"\xAB","&not":"\xAC","&not;":"\xAC","&shy":"\xAD","&shy;":"\xAD","&reg":"\xAE","&reg;":"\xAE","&macr":"\xAF","&macr;":"\xAF","&deg":"\xB0","&deg;":"\xB0","&plusmn":"\xB1","&plusmn;":"\xB1","&sup2":"\xB2","&sup2;":"\xB2","&sup3":"\xB3","&sup3;":"\xB3","&acute":"\xB4","&acute;":"\xB4","&micro":"\xB5","&micro;":"\xB5","&para":"\xB6","&para;":"\xB6","&middot":"\xB7","&middot;":"\xB7","&cedil":"\xB8","&cedil;":"\xB8","&sup1":"\xB9","&sup1;":"\xB9","&ordm":"\xBA","&ordm;":"\xBA","&raquo":"\xBB","&raquo;":"\xBB","&frac14":"\xBC","&frac14;":"\xBC","&frac12":"\xBD","&frac12;":"\xBD","&frac34":"\xBE","&frac34;":"\xBE","&iquest":"\xBF","&iquest;":"\xBF","&Agrave":"\xC0","&Agrave;":"\xC0","&Aacute":"\xC1","&Aacute;":"\xC1","&Acirc":"\xC2","&Acirc;":"\xC2","&Atilde":"\xC3","&Atilde;":"\xC3","&Auml":"\xC4","&Auml;":"\xC4","&Aring":"\xC5","&Aring;":"\xC5","&AElig":"\xC6","&AElig;":"\xC6","&Ccedil":"\xC7","&Ccedil;":"\xC7","&Egrave":"\xC8","&Egrave;":"\xC8","&Eacute":"\xC9","&Eacute;":"\xC9","&Ecirc":"\xCA","&Ecirc;":"\xCA","&Euml":"\xCB","&Euml;":"\xCB","&Igrave":"\xCC","&Igrave;":"\xCC","&Iacute":"\xCD","&Iacute;":"\xCD","&Icirc":"\xCE","&Icirc;":"\xCE","&Iuml":"\xCF","&Iuml;":"\xCF","&ETH":"\xD0","&ETH;":"\xD0","&Ntilde":"\xD1","&Ntilde;":"\xD1","&Ograve":"\xD2","&Ograve;":"\xD2","&Oacute":"\xD3","&Oacute;":"\xD3","&Ocirc":"\xD4","&Ocirc;":"\xD4","&Otilde":"\xD5","&Otilde;":"\xD5","&Ouml":"\xD6","&Ouml;":"\xD6","&times":"\xD7","&times;":"\xD7","&Oslash":"\xD8","&Oslash;":"\xD8","&Ugrave":"\xD9","&Ugrave;":"\xD9","&Uacute":"\xDA","&Uacute;":"\xDA","&Ucirc":"\xDB","&Ucirc;":"\xDB","&Uuml":"\xDC","&Uuml;":"\xDC","&Yacute":"\xDD","&Yacute;":"\xDD","&THORN":"\xDE","&THORN;":"\xDE","&szlig":"\xDF","&szlig;":"\xDF","&agrave":"\xE0","&agrave;":"\xE0","&aacute":"\xE1","&aacute;":"\xE1","&acirc":"\xE2","&acirc;":"\xE2","&atilde":"\xE3","&atilde;":"\xE3","&auml":"\xE4","&auml;":"\xE4","&aring":"\xE5","&aring;":"\xE5","&aelig":"\xE6","&aelig;":"\xE6","&ccedil":"\xE7","&ccedil;":"\xE7","&egrave":"\xE8","&egrave;":"\xE8","&eacute":"\xE9","&eacute;":"\xE9","&ecirc":"\xEA","&ecirc;":"\xEA","&euml":"\xEB","&euml;":"\xEB","&igrave":"\xEC","&igrave;":"\xEC","&iacute":"\xED","&iacute;":"\xED","&icirc":"\xEE","&icirc;":"\xEE","&iuml":"\xEF","&iuml;":"\xEF","&eth":"\xF0","&eth;":"\xF0","&ntilde":"\xF1","&ntilde;":"\xF1","&ograve":"\xF2","&ograve;":"\xF2","&oacute":"\xF3","&oacute;":"\xF3","&ocirc":"\xF4","&ocirc;":"\xF4","&otilde":"\xF5","&otilde;":"\xF5","&ouml":"\xF6","&ouml;":"\xF6","&divide":"\xF7","&divide;":"\xF7","&oslash":"\xF8","&oslash;":"\xF8","&ugrave":"\xF9","&ugrave;":"\xF9","&uacute":"\xFA","&uacute;":"\xFA","&ucirc":"\xFB","&ucirc;":"\xFB","&uuml":"\xFC","&uuml;":"\xFC","&yacute":"\xFD","&yacute;":"\xFD","&thorn":"\xFE","&thorn;":"\xFE","&yuml":"\xFF","&yuml;":"\xFF","&quot":'"',"&quot;":'"',"&amp":"&","&amp;":"&","&lt":"<","&lt;":"<","&gt":">","&gt;":">","&OElig;":"\u0152","&oelig;":"\u0153","&Scaron;":"\u0160","&scaron;":"\u0161","&Yuml;":"\u0178","&circ;":"\u02C6","&tilde;":"\u02DC","&ensp;":"\u2002","&emsp;":"\u2003","&thinsp;":"\u2009","&zwnj;":"\u200C","&zwj;":"\u200D","&lrm;":"\u200E","&rlm;":"\u200F","&ndash;":"\u2013","&mdash;":"\u2014","&lsquo;":"\u2018","&rsquo;":"\u2019","&sbquo;":"\u201A","&ldquo;":"\u201C","&rdquo;":"\u201D","&bdquo;":"\u201E","&dagger;":"\u2020","&Dagger;":"\u2021","&permil;":"\u2030","&lsaquo;":"\u2039","&rsaquo;":"\u203A","&euro;":"\u20AC","&fnof;":"\u0192","&Alpha;":"\u0391","&Beta;":"\u0392","&Gamma;":"\u0393","&Delta;":"\u0394","&Epsilon;":"\u0395","&Zeta;":"\u0396","&Eta;":"\u0397","&Theta;":"\u0398","&Iota;":"\u0399","&Kappa;":"\u039A","&Lambda;":"\u039B","&Mu;":"\u039C","&Nu;":"\u039D","&Xi;":"\u039E","&Omicron;":"\u039F","&Pi;":"\u03A0","&Rho;":"\u03A1","&Sigma;":"\u03A3","&Tau;":"\u03A4","&Upsilon;":"\u03A5","&Phi;":"\u03A6","&Chi;":"\u03A7","&Psi;":"\u03A8","&Omega;":"\u03A9","&alpha;":"\u03B1","&beta;":"\u03B2","&gamma;":"\u03B3","&delta;":"\u03B4","&epsilon;":"\u03B5","&zeta;":"\u03B6","&eta;":"\u03B7","&theta;":"\u03B8","&iota;":"\u03B9","&kappa;":"\u03BA","&lambda;":"\u03BB","&mu;":"\u03BC","&nu;":"\u03BD","&xi;":"\u03BE","&omicron;":"\u03BF","&pi;":"\u03C0","&rho;":"\u03C1","&sigmaf;":"\u03C2","&sigma;":"\u03C3","&tau;":"\u03C4","&upsilon;":"\u03C5","&phi;":"\u03C6","&chi;":"\u03C7","&psi;":"\u03C8","&omega;":"\u03C9","&thetasym;":"\u03D1","&upsih;":"\u03D2","&piv;":"\u03D6","&bull;":"\u2022","&hellip;":"\u2026","&prime;":"\u2032","&Prime;":"\u2033","&oline;":"\u203E","&frasl;":"\u2044","&weierp;":"\u2118","&image;":"\u2111","&real;":"\u211C","&trade;":"\u2122","&alefsym;":"\u2135","&larr;":"\u2190","&uarr;":"\u2191","&rarr;":"\u2192","&darr;":"\u2193","&harr;":"\u2194","&crarr;":"\u21B5","&lArr;":"\u21D0","&uArr;":"\u21D1","&rArr;":"\u21D2","&dArr;":"\u21D3","&hArr;":"\u21D4","&forall;":"\u2200","&part;":"\u2202","&exist;":"\u2203","&empty;":"\u2205","&nabla;":"\u2207","&isin;":"\u2208","&notin;":"\u2209","&ni;":"\u220B","&prod;":"\u220F","&sum;":"\u2211","&minus;":"\u2212","&lowast;":"\u2217","&radic;":"\u221A","&prop;":"\u221D","&infin;":"\u221E","&ang;":"\u2220","&and;":"\u2227","&or;":"\u2228","&cap;":"\u2229","&cup;":"\u222A","&int;":"\u222B","&there4;":"\u2234","&sim;":"\u223C","&cong;":"\u2245","&asymp;":"\u2248","&ne;":"\u2260","&equiv;":"\u2261","&le;":"\u2264","&ge;":"\u2265","&sub;":"\u2282","&sup;":"\u2283","&nsub;":"\u2284","&sube;":"\u2286","&supe;":"\u2287","&oplus;":"\u2295","&otimes;":"\u2297","&perp;":"\u22A5","&sdot;":"\u22C5","&lceil;":"\u2308","&rceil;":"\u2309","&lfloor;":"\u230A","&rfloor;":"\u230B","&lang;":"\u2329","&rang;":"\u232A","&loz;":"\u25CA","&spades;":"\u2660","&clubs;":"\u2663","&hearts;":"\u2665","&diams;":"\u2666"},characters:{"'":"&apos;","\xA0":"&nbsp;","\xA1":"&iexcl;","\xA2":"&cent;","\xA3":"&pound;","\xA4":"&curren;","\xA5":"&yen;","\xA6":"&brvbar;","\xA7":"&sect;","\xA8":"&uml;","\xA9":"&copy;",\u00AA:"&ordf;","\xAB":"&laquo;","\xAC":"&not;","\xAD":"&shy;","\xAE":"&reg;","\xAF":"&macr;","\xB0":"&deg;","\xB1":"&plusmn;","\xB2":"&sup2;","\xB3":"&sup3;","\xB4":"&acute;",\u00B5:"&micro;","\xB6":"&para;","\xB7":"&middot;","\xB8":"&cedil;","\xB9":"&sup1;",\u00BA:"&ordm;","\xBB":"&raquo;","\xBC":"&frac14;","\xBD":"&frac12;","\xBE":"&frac34;","\xBF":"&iquest;",\u00C0:"&Agrave;",\u00C1:"&Aacute;",\u00C2:"&Acirc;",\u00C3:"&Atilde;",\u00C4:"&Auml;",\u00C5:"&Aring;",\u00C6:"&AElig;",\u00C7:"&Ccedil;",\u00C8:"&Egrave;",\u00C9:"&Eacute;",\u00CA:"&Ecirc;",\u00CB:"&Euml;",\u00CC:"&Igrave;",\u00CD:"&Iacute;",\u00CE:"&Icirc;",\u00CF:"&Iuml;",\u00D0:"&ETH;",\u00D1:"&Ntilde;",\u00D2:"&Ograve;",\u00D3:"&Oacute;",\u00D4:"&Ocirc;",\u00D5:"&Otilde;",\u00D6:"&Ouml;","\xD7":"&times;",\u00D8:"&Oslash;",\u00D9:"&Ugrave;",\u00DA:"&Uacute;",\u00DB:"&Ucirc;",\u00DC:"&Uuml;",\u00DD:"&Yacute;",\u00DE:"&THORN;",\u00DF:"&szlig;",\u00E0:"&agrave;",\u00E1:"&aacute;",\u00E2:"&acirc;",\u00E3:"&atilde;",\u00E4:"&auml;",\u00E5:"&aring;",\u00E6:"&aelig;",\u00E7:"&ccedil;",\u00E8:"&egrave;",\u00E9:"&eacute;",\u00EA:"&ecirc;",\u00EB:"&euml;",\u00EC:"&igrave;",\u00ED:"&iacute;",\u00EE:"&icirc;",\u00EF:"&iuml;",\u00F0:"&eth;",\u00F1:"&ntilde;",\u00F2:"&ograve;",\u00F3:"&oacute;",\u00F4:"&ocirc;",\u00F5:"&otilde;",\u00F6:"&ouml;","\xF7":"&divide;",\u00F8:"&oslash;",\u00F9:"&ugrave;",\u00FA:"&uacute;",\u00FB:"&ucirc;",\u00FC:"&uuml;",\u00FD:"&yacute;",\u00FE:"&thorn;",\u00FF:"&yuml;",'"':"&quot;","&":"&amp;","<":"&lt;",">":"&gt;",\u0152:"&OElig;",\u0153:"&oelig;",\u0160:"&Scaron;",\u0161:"&scaron;",\u0178:"&Yuml;","\u02C6":"&circ;","\u02DC":"&tilde;","\u2002":"&ensp;","\u2003":"&emsp;","\u2009":"&thinsp;","\u200C":"&zwnj;","\u200D":"&zwj;","\u200E":"&lrm;","\u200F":"&rlm;","\u2013":"&ndash;","\u2014":"&mdash;","\u2018":"&lsquo;","\u2019":"&rsquo;","\u201A":"&sbquo;","\u201C":"&ldquo;","\u201D":"&rdquo;","\u201E":"&bdquo;","\u2020":"&dagger;","\u2021":"&Dagger;","\u2030":"&permil;","\u2039":"&lsaquo;","\u203A":"&rsaquo;","\u20AC":"&euro;",\u0192:"&fnof;",\u0391:"&Alpha;",\u0392:"&Beta;",\u0393:"&Gamma;",\u0394:"&Delta;",\u0395:"&Epsilon;",\u0396:"&Zeta;",\u0397:"&Eta;",\u0398:"&Theta;",\u0399:"&Iota;",\u039A:"&Kappa;",\u039B:"&Lambda;",\u039C:"&Mu;",\u039D:"&Nu;",\u039E:"&Xi;",\u039F:"&Omicron;",\u03A0:"&Pi;",\u03A1:"&Rho;",\u03A3:"&Sigma;",\u03A4:"&Tau;",\u03A5:"&Upsilon;",\u03A6:"&Phi;",\u03A7:"&Chi;",\u03A8:"&Psi;",\u03A9:"&Omega;",\u03B1:"&alpha;",\u03B2:"&beta;",\u03B3:"&gamma;",\u03B4:"&delta;",\u03B5:"&epsilon;",\u03B6:"&zeta;",\u03B7:"&eta;",\u03B8:"&theta;",\u03B9:"&iota;",\u03BA:"&kappa;",\u03BB:"&lambda;",\u03BC:"&mu;",\u03BD:"&nu;",\u03BE:"&xi;",\u03BF:"&omicron;",\u03C0:"&pi;",\u03C1:"&rho;",\u03C2:"&sigmaf;",\u03C3:"&sigma;",\u03C4:"&tau;",\u03C5:"&upsilon;",\u03C6:"&phi;",\u03C7:"&chi;",\u03C8:"&psi;",\u03C9:"&omega;",\u03D1:"&thetasym;",\u03D2:"&upsih;",\u03D6:"&piv;","\u2022":"&bull;","\u2026":"&hellip;","\u2032":"&prime;","\u2033":"&Prime;","\u203E":"&oline;","\u2044":"&frasl;","\u2118":"&weierp;",\u2111:"&image;",\u211C:"&real;","\u2122":"&trade;",\u2135:"&alefsym;","\u2190":"&larr;","\u2191":"&uarr;","\u2192":"&rarr;","\u2193":"&darr;","\u2194":"&harr;","\u21B5":"&crarr;","\u21D0":"&lArr;","\u21D1":"&uArr;","\u21D2":"&rArr;","\u21D3":"&dArr;","\u21D4":"&hArr;","\u2200":"&forall;","\u2202":"&part;","\u2203":"&exist;","\u2205":"&empty;","\u2207":"&nabla;","\u2208":"&isin;","\u2209":"&notin;","\u220B":"&ni;","\u220F":"&prod;","\u2211":"&sum;","\u2212":"&minus;","\u2217":"&lowast;","\u221A":"&radic;","\u221D":"&prop;","\u221E":"&infin;","\u2220":"&ang;","\u2227":"&and;","\u2228":"&or;","\u2229":"&cap;","\u222A":"&cup;","\u222B":"&int;","\u2234":"&there4;","\u223C":"&sim;","\u2245":"&cong;","\u2248":"&asymp;","\u2260":"&ne;","\u2261":"&equiv;","\u2264":"&le;","\u2265":"&ge;","\u2282":"&sub;","\u2283":"&sup;","\u2284":"&nsub;","\u2286":"&sube;","\u2287":"&supe;","\u2295":"&oplus;","\u2297":"&otimes;","\u22A5":"&perp;","\u22C5":"&sdot;","\u2308":"&lceil;","\u2309":"&rceil;","\u230A":"&lfloor;","\u230B":"&rfloor;","\u2329":"&lang;","\u232A":"&rang;","\u25CA":"&loz;","\u2660":"&spades;","\u2663":"&clubs;","\u2665":"&hearts;","\u2666":"&diams;"}},html5:{entities:{"&AElig":"\xC6","&AElig;":"\xC6","&AMP":"&","&AMP;":"&","&Aacute":"\xC1","&Aacute;":"\xC1","&Abreve;":"\u0102","&Acirc":"\xC2","&Acirc;":"\xC2","&Acy;":"\u0410","&Afr;":"\u{1D504}","&Agrave":"\xC0","&Agrave;":"\xC0","&Alpha;":"\u0391","&Amacr;":"\u0100","&And;":"\u2A53","&Aogon;":"\u0104","&Aopf;":"\u{1D538}","&ApplyFunction;":"\u2061","&Aring":"\xC5","&Aring;":"\xC5","&Ascr;":"\u{1D49C}","&Assign;":"\u2254","&Atilde":"\xC3","&Atilde;":"\xC3","&Auml":"\xC4","&Auml;":"\xC4","&Backslash;":"\u2216","&Barv;":"\u2AE7","&Barwed;":"\u2306","&Bcy;":"\u0411","&Because;":"\u2235","&Bernoullis;":"\u212C","&Beta;":"\u0392","&Bfr;":"\u{1D505}","&Bopf;":"\u{1D539}","&Breve;":"\u02D8","&Bscr;":"\u212C","&Bumpeq;":"\u224E","&CHcy;":"\u0427","&COPY":"\xA9","&COPY;":"\xA9","&Cacute;":"\u0106","&Cap;":"\u22D2","&CapitalDifferentialD;":"\u2145","&Cayleys;":"\u212D","&Ccaron;":"\u010C","&Ccedil":"\xC7","&Ccedil;":"\xC7","&Ccirc;":"\u0108","&Cconint;":"\u2230","&Cdot;":"\u010A","&Cedilla;":"\xB8","&CenterDot;":"\xB7","&Cfr;":"\u212D","&Chi;":"\u03A7","&CircleDot;":"\u2299","&CircleMinus;":"\u2296","&CirclePlus;":"\u2295","&CircleTimes;":"\u2297","&ClockwiseContourIntegral;":"\u2232","&CloseCurlyDoubleQuote;":"\u201D","&CloseCurlyQuote;":"\u2019","&Colon;":"\u2237","&Colone;":"\u2A74","&Congruent;":"\u2261","&Conint;":"\u222F","&ContourIntegral;":"\u222E","&Copf;":"\u2102","&Coproduct;":"\u2210","&CounterClockwiseContourIntegral;":"\u2233","&Cross;":"\u2A2F","&Cscr;":"\u{1D49E}","&Cup;":"\u22D3","&CupCap;":"\u224D","&DD;":"\u2145","&DDotrahd;":"\u2911","&DJcy;":"\u0402","&DScy;":"\u0405","&DZcy;":"\u040F","&Dagger;":"\u2021","&Darr;":"\u21A1","&Dashv;":"\u2AE4","&Dcaron;":"\u010E","&Dcy;":"\u0414","&Del;":"\u2207","&Delta;":"\u0394","&Dfr;":"\u{1D507}","&DiacriticalAcute;":"\xB4","&DiacriticalDot;":"\u02D9","&DiacriticalDoubleAcute;":"\u02DD","&DiacriticalGrave;":"`","&DiacriticalTilde;":"\u02DC","&Diamond;":"\u22C4","&DifferentialD;":"\u2146","&Dopf;":"\u{1D53B}","&Dot;":"\xA8","&DotDot;":"\u20DC","&DotEqual;":"\u2250","&DoubleContourIntegral;":"\u222F","&DoubleDot;":"\xA8","&DoubleDownArrow;":"\u21D3","&DoubleLeftArrow;":"\u21D0","&DoubleLeftRightArrow;":"\u21D4","&DoubleLeftTee;":"\u2AE4","&DoubleLongLeftArrow;":"\u27F8","&DoubleLongLeftRightArrow;":"\u27FA","&DoubleLongRightArrow;":"\u27F9","&DoubleRightArrow;":"\u21D2","&DoubleRightTee;":"\u22A8","&DoubleUpArrow;":"\u21D1","&DoubleUpDownArrow;":"\u21D5","&DoubleVerticalBar;":"\u2225","&DownArrow;":"\u2193","&DownArrowBar;":"\u2913","&DownArrowUpArrow;":"\u21F5","&DownBreve;":"\u0311","&DownLeftRightVector;":"\u2950","&DownLeftTeeVector;":"\u295E","&DownLeftVector;":"\u21BD","&DownLeftVectorBar;":"\u2956","&DownRightTeeVector;":"\u295F","&DownRightVector;":"\u21C1","&DownRightVectorBar;":"\u2957","&DownTee;":"\u22A4","&DownTeeArrow;":"\u21A7","&Downarrow;":"\u21D3","&Dscr;":"\u{1D49F}","&Dstrok;":"\u0110","&ENG;":"\u014A","&ETH":"\xD0","&ETH;":"\xD0","&Eacute":"\xC9","&Eacute;":"\xC9","&Ecaron;":"\u011A","&Ecirc":"\xCA","&Ecirc;":"\xCA","&Ecy;":"\u042D","&Edot;":"\u0116","&Efr;":"\u{1D508}","&Egrave":"\xC8","&Egrave;":"\xC8","&Element;":"\u2208","&Emacr;":"\u0112","&EmptySmallSquare;":"\u25FB","&EmptyVerySmallSquare;":"\u25AB","&Eogon;":"\u0118","&Eopf;":"\u{1D53C}","&Epsilon;":"\u0395","&Equal;":"\u2A75","&EqualTilde;":"\u2242","&Equilibrium;":"\u21CC","&Escr;":"\u2130","&Esim;":"\u2A73","&Eta;":"\u0397","&Euml":"\xCB","&Euml;":"\xCB","&Exists;":"\u2203","&ExponentialE;":"\u2147","&Fcy;":"\u0424","&Ffr;":"\u{1D509}","&FilledSmallSquare;":"\u25FC","&FilledVerySmallSquare;":"\u25AA","&Fopf;":"\u{1D53D}","&ForAll;":"\u2200","&Fouriertrf;":"\u2131","&Fscr;":"\u2131","&GJcy;":"\u0403","&GT":">","&GT;":">","&Gamma;":"\u0393","&Gammad;":"\u03DC","&Gbreve;":"\u011E","&Gcedil;":"\u0122","&Gcirc;":"\u011C","&Gcy;":"\u0413","&Gdot;":"\u0120","&Gfr;":"\u{1D50A}","&Gg;":"\u22D9","&Gopf;":"\u{1D53E}","&GreaterEqual;":"\u2265","&GreaterEqualLess;":"\u22DB","&GreaterFullEqual;":"\u2267","&GreaterGreater;":"\u2AA2","&GreaterLess;":"\u2277","&GreaterSlantEqual;":"\u2A7E","&GreaterTilde;":"\u2273","&Gscr;":"\u{1D4A2}","&Gt;":"\u226B","&HARDcy;":"\u042A","&Hacek;":"\u02C7","&Hat;":"^","&Hcirc;":"\u0124","&Hfr;":"\u210C","&HilbertSpace;":"\u210B","&Hopf;":"\u210D","&HorizontalLine;":"\u2500","&Hscr;":"\u210B","&Hstrok;":"\u0126","&HumpDownHump;":"\u224E","&HumpEqual;":"\u224F","&IEcy;":"\u0415","&IJlig;":"\u0132","&IOcy;":"\u0401","&Iacute":"\xCD","&Iacute;":"\xCD","&Icirc":"\xCE","&Icirc;":"\xCE","&Icy;":"\u0418","&Idot;":"\u0130","&Ifr;":"\u2111","&Igrave":"\xCC","&Igrave;":"\xCC","&Im;":"\u2111","&Imacr;":"\u012A","&ImaginaryI;":"\u2148","&Implies;":"\u21D2","&Int;":"\u222C","&Integral;":"\u222B","&Intersection;":"\u22C2","&InvisibleComma;":"\u2063","&InvisibleTimes;":"\u2062","&Iogon;":"\u012E","&Iopf;":"\u{1D540}","&Iota;":"\u0399","&Iscr;":"\u2110","&Itilde;":"\u0128","&Iukcy;":"\u0406","&Iuml":"\xCF","&Iuml;":"\xCF","&Jcirc;":"\u0134","&Jcy;":"\u0419","&Jfr;":"\u{1D50D}","&Jopf;":"\u{1D541}","&Jscr;":"\u{1D4A5}","&Jsercy;":"\u0408","&Jukcy;":"\u0404","&KHcy;":"\u0425","&KJcy;":"\u040C","&Kappa;":"\u039A","&Kcedil;":"\u0136","&Kcy;":"\u041A","&Kfr;":"\u{1D50E}","&Kopf;":"\u{1D542}","&Kscr;":"\u{1D4A6}","&LJcy;":"\u0409","&LT":"<","&LT;":"<","&Lacute;":"\u0139","&Lambda;":"\u039B","&Lang;":"\u27EA","&Laplacetrf;":"\u2112","&Larr;":"\u219E","&Lcaron;":"\u013D","&Lcedil;":"\u013B","&Lcy;":"\u041B","&LeftAngleBracket;":"\u27E8","&LeftArrow;":"\u2190","&LeftArrowBar;":"\u21E4","&LeftArrowRightArrow;":"\u21C6","&LeftCeiling;":"\u2308","&LeftDoubleBracket;":"\u27E6","&LeftDownTeeVector;":"\u2961","&LeftDownVector;":"\u21C3","&LeftDownVectorBar;":"\u2959","&LeftFloor;":"\u230A","&LeftRightArrow;":"\u2194","&LeftRightVector;":"\u294E","&LeftTee;":"\u22A3","&LeftTeeArrow;":"\u21A4","&LeftTeeVector;":"\u295A","&LeftTriangle;":"\u22B2","&LeftTriangleBar;":"\u29CF","&LeftTriangleEqual;":"\u22B4","&LeftUpDownVector;":"\u2951","&LeftUpTeeVector;":"\u2960","&LeftUpVector;":"\u21BF","&LeftUpVectorBar;":"\u2958","&LeftVector;":"\u21BC","&LeftVectorBar;":"\u2952","&Leftarrow;":"\u21D0","&Leftrightarrow;":"\u21D4","&LessEqualGreater;":"\u22DA","&LessFullEqual;":"\u2266","&LessGreater;":"\u2276","&LessLess;":"\u2AA1","&LessSlantEqual;":"\u2A7D","&LessTilde;":"\u2272","&Lfr;":"\u{1D50F}","&Ll;":"\u22D8","&Lleftarrow;":"\u21DA","&Lmidot;":"\u013F","&LongLeftArrow;":"\u27F5","&LongLeftRightArrow;":"\u27F7","&LongRightArrow;":"\u27F6","&Longleftarrow;":"\u27F8","&Longleftrightarrow;":"\u27FA","&Longrightarrow;":"\u27F9","&Lopf;":"\u{1D543}","&LowerLeftArrow;":"\u2199","&LowerRightArrow;":"\u2198","&Lscr;":"\u2112","&Lsh;":"\u21B0","&Lstrok;":"\u0141","&Lt;":"\u226A","&Map;":"\u2905","&Mcy;":"\u041C","&MediumSpace;":"\u205F","&Mellintrf;":"\u2133","&Mfr;":"\u{1D510}","&MinusPlus;":"\u2213","&Mopf;":"\u{1D544}","&Mscr;":"\u2133","&Mu;":"\u039C","&NJcy;":"\u040A","&Nacute;":"\u0143","&Ncaron;":"\u0147","&Ncedil;":"\u0145","&Ncy;":"\u041D","&NegativeMediumSpace;":"\u200B","&NegativeThickSpace;":"\u200B","&NegativeThinSpace;":"\u200B","&NegativeVeryThinSpace;":"\u200B","&NestedGreaterGreater;":"\u226B","&NestedLessLess;":"\u226A","&NewLine;":`
`,"&Nfr;":"\u{1D511}","&NoBreak;":"\u2060","&NonBreakingSpace;":"\xA0","&Nopf;":"\u2115","&Not;":"\u2AEC","&NotCongruent;":"\u2262","&NotCupCap;":"\u226D","&NotDoubleVerticalBar;":"\u2226","&NotElement;":"\u2209","&NotEqual;":"\u2260","&NotEqualTilde;":"\u2242\u0338","&NotExists;":"\u2204","&NotGreater;":"\u226F","&NotGreaterEqual;":"\u2271","&NotGreaterFullEqual;":"\u2267\u0338","&NotGreaterGreater;":"\u226B\u0338","&NotGreaterLess;":"\u2279","&NotGreaterSlantEqual;":"\u2A7E\u0338","&NotGreaterTilde;":"\u2275","&NotHumpDownHump;":"\u224E\u0338","&NotHumpEqual;":"\u224F\u0338","&NotLeftTriangle;":"\u22EA","&NotLeftTriangleBar;":"\u29CF\u0338","&NotLeftTriangleEqual;":"\u22EC","&NotLess;":"\u226E","&NotLessEqual;":"\u2270","&NotLessGreater;":"\u2278","&NotLessLess;":"\u226A\u0338","&NotLessSlantEqual;":"\u2A7D\u0338","&NotLessTilde;":"\u2274","&NotNestedGreaterGreater;":"\u2AA2\u0338","&NotNestedLessLess;":"\u2AA1\u0338","&NotPrecedes;":"\u2280","&NotPrecedesEqual;":"\u2AAF\u0338","&NotPrecedesSlantEqual;":"\u22E0","&NotReverseElement;":"\u220C","&NotRightTriangle;":"\u22EB","&NotRightTriangleBar;":"\u29D0\u0338","&NotRightTriangleEqual;":"\u22ED","&NotSquareSubset;":"\u228F\u0338","&NotSquareSubsetEqual;":"\u22E2","&NotSquareSuperset;":"\u2290\u0338","&NotSquareSupersetEqual;":"\u22E3","&NotSubset;":"\u2282\u20D2","&NotSubsetEqual;":"\u2288","&NotSucceeds;":"\u2281","&NotSucceedsEqual;":"\u2AB0\u0338","&NotSucceedsSlantEqual;":"\u22E1","&NotSucceedsTilde;":"\u227F\u0338","&NotSuperset;":"\u2283\u20D2","&NotSupersetEqual;":"\u2289","&NotTilde;":"\u2241","&NotTildeEqual;":"\u2244","&NotTildeFullEqual;":"\u2247","&NotTildeTilde;":"\u2249","&NotVerticalBar;":"\u2224","&Nscr;":"\u{1D4A9}","&Ntilde":"\xD1","&Ntilde;":"\xD1","&Nu;":"\u039D","&OElig;":"\u0152","&Oacute":"\xD3","&Oacute;":"\xD3","&Ocirc":"\xD4","&Ocirc;":"\xD4","&Ocy;":"\u041E","&Odblac;":"\u0150","&Ofr;":"\u{1D512}","&Ograve":"\xD2","&Ograve;":"\xD2","&Omacr;":"\u014C","&Omega;":"\u03A9","&Omicron;":"\u039F","&Oopf;":"\u{1D546}","&OpenCurlyDoubleQuote;":"\u201C","&OpenCurlyQuote;":"\u2018","&Or;":"\u2A54","&Oscr;":"\u{1D4AA}","&Oslash":"\xD8","&Oslash;":"\xD8","&Otilde":"\xD5","&Otilde;":"\xD5","&Otimes;":"\u2A37","&Ouml":"\xD6","&Ouml;":"\xD6","&OverBar;":"\u203E","&OverBrace;":"\u23DE","&OverBracket;":"\u23B4","&OverParenthesis;":"\u23DC","&PartialD;":"\u2202","&Pcy;":"\u041F","&Pfr;":"\u{1D513}","&Phi;":"\u03A6","&Pi;":"\u03A0","&PlusMinus;":"\xB1","&Poincareplane;":"\u210C","&Popf;":"\u2119","&Pr;":"\u2ABB","&Precedes;":"\u227A","&PrecedesEqual;":"\u2AAF","&PrecedesSlantEqual;":"\u227C","&PrecedesTilde;":"\u227E","&Prime;":"\u2033","&Product;":"\u220F","&Proportion;":"\u2237","&Proportional;":"\u221D","&Pscr;":"\u{1D4AB}","&Psi;":"\u03A8","&QUOT":'"',"&QUOT;":'"',"&Qfr;":"\u{1D514}","&Qopf;":"\u211A","&Qscr;":"\u{1D4AC}","&RBarr;":"\u2910","&REG":"\xAE","&REG;":"\xAE","&Racute;":"\u0154","&Rang;":"\u27EB","&Rarr;":"\u21A0","&Rarrtl;":"\u2916","&Rcaron;":"\u0158","&Rcedil;":"\u0156","&Rcy;":"\u0420","&Re;":"\u211C","&ReverseElement;":"\u220B","&ReverseEquilibrium;":"\u21CB","&ReverseUpEquilibrium;":"\u296F","&Rfr;":"\u211C","&Rho;":"\u03A1","&RightAngleBracket;":"\u27E9","&RightArrow;":"\u2192","&RightArrowBar;":"\u21E5","&RightArrowLeftArrow;":"\u21C4","&RightCeiling;":"\u2309","&RightDoubleBracket;":"\u27E7","&RightDownTeeVector;":"\u295D","&RightDownVector;":"\u21C2","&RightDownVectorBar;":"\u2955","&RightFloor;":"\u230B","&RightTee;":"\u22A2","&RightTeeArrow;":"\u21A6","&RightTeeVector;":"\u295B","&RightTriangle;":"\u22B3","&RightTriangleBar;":"\u29D0","&RightTriangleEqual;":"\u22B5","&RightUpDownVector;":"\u294F","&RightUpTeeVector;":"\u295C","&RightUpVector;":"\u21BE","&RightUpVectorBar;":"\u2954","&RightVector;":"\u21C0","&RightVectorBar;":"\u2953","&Rightarrow;":"\u21D2","&Ropf;":"\u211D","&RoundImplies;":"\u2970","&Rrightarrow;":"\u21DB","&Rscr;":"\u211B","&Rsh;":"\u21B1","&RuleDelayed;":"\u29F4","&SHCHcy;":"\u0429","&SHcy;":"\u0428","&SOFTcy;":"\u042C","&Sacute;":"\u015A","&Sc;":"\u2ABC","&Scaron;":"\u0160","&Scedil;":"\u015E","&Scirc;":"\u015C","&Scy;":"\u0421","&Sfr;":"\u{1D516}","&ShortDownArrow;":"\u2193","&ShortLeftArrow;":"\u2190","&ShortRightArrow;":"\u2192","&ShortUpArrow;":"\u2191","&Sigma;":"\u03A3","&SmallCircle;":"\u2218","&Sopf;":"\u{1D54A}","&Sqrt;":"\u221A","&Square;":"\u25A1","&SquareIntersection;":"\u2293","&SquareSubset;":"\u228F","&SquareSubsetEqual;":"\u2291","&SquareSuperset;":"\u2290","&SquareSupersetEqual;":"\u2292","&SquareUnion;":"\u2294","&Sscr;":"\u{1D4AE}","&Star;":"\u22C6","&Sub;":"\u22D0","&Subset;":"\u22D0","&SubsetEqual;":"\u2286","&Succeeds;":"\u227B","&SucceedsEqual;":"\u2AB0","&SucceedsSlantEqual;":"\u227D","&SucceedsTilde;":"\u227F","&SuchThat;":"\u220B","&Sum;":"\u2211","&Sup;":"\u22D1","&Superset;":"\u2283","&SupersetEqual;":"\u2287","&Supset;":"\u22D1","&THORN":"\xDE","&THORN;":"\xDE","&TRADE;":"\u2122","&TSHcy;":"\u040B","&TScy;":"\u0426","&Tab;":" ","&Tau;":"\u03A4","&Tcaron;":"\u0164","&Tcedil;":"\u0162","&Tcy;":"\u0422","&Tfr;":"\u{1D517}","&Therefore;":"\u2234","&Theta;":"\u0398","&ThickSpace;":"\u205F\u200A","&ThinSpace;":"\u2009","&Tilde;":"\u223C","&TildeEqual;":"\u2243","&TildeFullEqual;":"\u2245","&TildeTilde;":"\u2248","&Topf;":"\u{1D54B}","&TripleDot;":"\u20DB","&Tscr;":"\u{1D4AF}","&Tstrok;":"\u0166","&Uacute":"\xDA","&Uacute;":"\xDA","&Uarr;":"\u219F","&Uarrocir;":"\u2949","&Ubrcy;":"\u040E","&Ubreve;":"\u016C","&Ucirc":"\xDB","&Ucirc;":"\xDB","&Ucy;":"\u0423","&Udblac;":"\u0170","&Ufr;":"\u{1D518}","&Ugrave":"\xD9","&Ugrave;":"\xD9","&Umacr;":"\u016A","&UnderBar;":"_","&UnderBrace;":"\u23DF","&UnderBracket;":"\u23B5","&UnderParenthesis;":"\u23DD","&Union;":"\u22C3","&UnionPlus;":"\u228E","&Uogon;":"\u0172","&Uopf;":"\u{1D54C}","&UpArrow;":"\u2191","&UpArrowBar;":"\u2912","&UpArrowDownArrow;":"\u21C5","&UpDownArrow;":"\u2195","&UpEquilibrium;":"\u296E","&UpTee;":"\u22A5","&UpTeeArrow;":"\u21A5","&Uparrow;":"\u21D1","&Updownarrow;":"\u21D5","&UpperLeftArrow;":"\u2196","&UpperRightArrow;":"\u2197","&Upsi;":"\u03D2","&Upsilon;":"\u03A5","&Uring;":"\u016E","&Uscr;":"\u{1D4B0}","&Utilde;":"\u0168","&Uuml":"\xDC","&Uuml;":"\xDC","&VDash;":"\u22AB","&Vbar;":"\u2AEB","&Vcy;":"\u0412","&Vdash;":"\u22A9","&Vdashl;":"\u2AE6","&Vee;":"\u22C1","&Verbar;":"\u2016","&Vert;":"\u2016","&VerticalBar;":"\u2223","&VerticalLine;":"|","&VerticalSeparator;":"\u2758","&VerticalTilde;":"\u2240","&VeryThinSpace;":"\u200A","&Vfr;":"\u{1D519}","&Vopf;":"\u{1D54D}","&Vscr;":"\u{1D4B1}","&Vvdash;":"\u22AA","&Wcirc;":"\u0174","&Wedge;":"\u22C0","&Wfr;":"\u{1D51A}","&Wopf;":"\u{1D54E}","&Wscr;":"\u{1D4B2}","&Xfr;":"\u{1D51B}","&Xi;":"\u039E","&Xopf;":"\u{1D54F}","&Xscr;":"\u{1D4B3}","&YAcy;":"\u042F","&YIcy;":"\u0407","&YUcy;":"\u042E","&Yacute":"\xDD","&Yacute;":"\xDD","&Ycirc;":"\u0176","&Ycy;":"\u042B","&Yfr;":"\u{1D51C}","&Yopf;":"\u{1D550}","&Yscr;":"\u{1D4B4}","&Yuml;":"\u0178","&ZHcy;":"\u0416","&Zacute;":"\u0179","&Zcaron;":"\u017D","&Zcy;":"\u0417","&Zdot;":"\u017B","&ZeroWidthSpace;":"\u200B","&Zeta;":"\u0396","&Zfr;":"\u2128","&Zopf;":"\u2124","&Zscr;":"\u{1D4B5}","&aacute":"\xE1","&aacute;":"\xE1","&abreve;":"\u0103","&ac;":"\u223E","&acE;":"\u223E\u0333","&acd;":"\u223F","&acirc":"\xE2","&acirc;":"\xE2","&acute":"\xB4","&acute;":"\xB4","&acy;":"\u0430","&aelig":"\xE6","&aelig;":"\xE6","&af;":"\u2061","&afr;":"\u{1D51E}","&agrave":"\xE0","&agrave;":"\xE0","&alefsym;":"\u2135","&aleph;":"\u2135","&alpha;":"\u03B1","&amacr;":"\u0101","&amalg;":"\u2A3F","&amp":"&","&amp;":"&","&and;":"\u2227","&andand;":"\u2A55","&andd;":"\u2A5C","&andslope;":"\u2A58","&andv;":"\u2A5A","&ang;":"\u2220","&ange;":"\u29A4","&angle;":"\u2220","&angmsd;":"\u2221","&angmsdaa;":"\u29A8","&angmsdab;":"\u29A9","&angmsdac;":"\u29AA","&angmsdad;":"\u29AB","&angmsdae;":"\u29AC","&angmsdaf;":"\u29AD","&angmsdag;":"\u29AE","&angmsdah;":"\u29AF","&angrt;":"\u221F","&angrtvb;":"\u22BE","&angrtvbd;":"\u299D","&angsph;":"\u2222","&angst;":"\xC5","&angzarr;":"\u237C","&aogon;":"\u0105","&aopf;":"\u{1D552}","&ap;":"\u2248","&apE;":"\u2A70","&apacir;":"\u2A6F","&ape;":"\u224A","&apid;":"\u224B","&apos;":"'","&approx;":"\u2248","&approxeq;":"\u224A","&aring":"\xE5","&aring;":"\xE5","&ascr;":"\u{1D4B6}","&ast;":"*","&asymp;":"\u2248","&asympeq;":"\u224D","&atilde":"\xE3","&atilde;":"\xE3","&auml":"\xE4","&auml;":"\xE4","&awconint;":"\u2233","&awint;":"\u2A11","&bNot;":"\u2AED","&backcong;":"\u224C","&backepsilon;":"\u03F6","&backprime;":"\u2035","&backsim;":"\u223D","&backsimeq;":"\u22CD","&barvee;":"\u22BD","&barwed;":"\u2305","&barwedge;":"\u2305","&bbrk;":"\u23B5","&bbrktbrk;":"\u23B6","&bcong;":"\u224C","&bcy;":"\u0431","&bdquo;":"\u201E","&becaus;":"\u2235","&because;":"\u2235","&bemptyv;":"\u29B0","&bepsi;":"\u03F6","&bernou;":"\u212C","&beta;":"\u03B2","&beth;":"\u2136","&between;":"\u226C","&bfr;":"\u{1D51F}","&bigcap;":"\u22C2","&bigcirc;":"\u25EF","&bigcup;":"\u22C3","&bigodot;":"\u2A00","&bigoplus;":"\u2A01","&bigotimes;":"\u2A02","&bigsqcup;":"\u2A06","&bigstar;":"\u2605","&bigtriangledown;":"\u25BD","&bigtriangleup;":"\u25B3","&biguplus;":"\u2A04","&bigvee;":"\u22C1","&bigwedge;":"\u22C0","&bkarow;":"\u290D","&blacklozenge;":"\u29EB","&blacksquare;":"\u25AA","&blacktriangle;":"\u25B4","&blacktriangledown;":"\u25BE","&blacktriangleleft;":"\u25C2","&blacktriangleright;":"\u25B8","&blank;":"\u2423","&blk12;":"\u2592","&blk14;":"\u2591","&blk34;":"\u2593","&block;":"\u2588","&bne;":"=\u20E5","&bnequiv;":"\u2261\u20E5","&bnot;":"\u2310","&bopf;":"\u{1D553}","&bot;":"\u22A5","&bottom;":"\u22A5","&bowtie;":"\u22C8","&boxDL;":"\u2557","&boxDR;":"\u2554","&boxDl;":"\u2556","&boxDr;":"\u2553","&boxH;":"\u2550","&boxHD;":"\u2566","&boxHU;":"\u2569","&boxHd;":"\u2564","&boxHu;":"\u2567","&boxUL;":"\u255D","&boxUR;":"\u255A","&boxUl;":"\u255C","&boxUr;":"\u2559","&boxV;":"\u2551","&boxVH;":"\u256C","&boxVL;":"\u2563","&boxVR;":"\u2560","&boxVh;":"\u256B","&boxVl;":"\u2562","&boxVr;":"\u255F","&boxbox;":"\u29C9","&boxdL;":"\u2555","&boxdR;":"\u2552","&boxdl;":"\u2510","&boxdr;":"\u250C","&boxh;":"\u2500","&boxhD;":"\u2565","&boxhU;":"\u2568","&boxhd;":"\u252C","&boxhu;":"\u2534","&boxminus;":"\u229F","&boxplus;":"\u229E","&boxtimes;":"\u22A0","&boxuL;":"\u255B","&boxuR;":"\u2558","&boxul;":"\u2518","&boxur;":"\u2514","&boxv;":"\u2502","&boxvH;":"\u256A","&boxvL;":"\u2561","&boxvR;":"\u255E","&boxvh;":"\u253C","&boxvl;":"\u2524","&boxvr;":"\u251C","&bprime;":"\u2035","&breve;":"\u02D8","&brvbar":"\xA6","&brvbar;":"\xA6","&bscr;":"\u{1D4B7}","&bsemi;":"\u204F","&bsim;":"\u223D","&bsime;":"\u22CD","&bsol;":"\\","&bsolb;":"\u29C5","&bsolhsub;":"\u27C8","&bull;":"\u2022","&bullet;":"\u2022","&bump;":"\u224E","&bumpE;":"\u2AAE","&bumpe;":"\u224F","&bumpeq;":"\u224F","&cacute;":"\u0107","&cap;":"\u2229","&capand;":"\u2A44","&capbrcup;":"\u2A49","&capcap;":"\u2A4B","&capcup;":"\u2A47","&capdot;":"\u2A40","&caps;":"\u2229\uFE00","&caret;":"\u2041","&caron;":"\u02C7","&ccaps;":"\u2A4D","&ccaron;":"\u010D","&ccedil":"\xE7","&ccedil;":"\xE7","&ccirc;":"\u0109","&ccups;":"\u2A4C","&ccupssm;":"\u2A50","&cdot;":"\u010B","&cedil":"\xB8","&cedil;":"\xB8","&cemptyv;":"\u29B2","&cent":"\xA2","&cent;":"\xA2","&centerdot;":"\xB7","&cfr;":"\u{1D520}","&chcy;":"\u0447","&check;":"\u2713","&checkmark;":"\u2713","&chi;":"\u03C7","&cir;":"\u25CB","&cirE;":"\u29C3","&circ;":"\u02C6","&circeq;":"\u2257","&circlearrowleft;":"\u21BA","&circlearrowright;":"\u21BB","&circledR;":"\xAE","&circledS;":"\u24C8","&circledast;":"\u229B","&circledcirc;":"\u229A","&circleddash;":"\u229D","&cire;":"\u2257","&cirfnint;":"\u2A10","&cirmid;":"\u2AEF","&cirscir;":"\u29C2","&clubs;":"\u2663","&clubsuit;":"\u2663","&colon;":":","&colone;":"\u2254","&coloneq;":"\u2254","&comma;":",","&commat;":"@","&comp;":"\u2201","&compfn;":"\u2218","&complement;":"\u2201","&complexes;":"\u2102","&cong;":"\u2245","&congdot;":"\u2A6D","&conint;":"\u222E","&copf;":"\u{1D554}","&coprod;":"\u2210","&copy":"\xA9","&copy;":"\xA9","&copysr;":"\u2117","&crarr;":"\u21B5","&cross;":"\u2717","&cscr;":"\u{1D4B8}","&csub;":"\u2ACF","&csube;":"\u2AD1","&csup;":"\u2AD0","&csupe;":"\u2AD2","&ctdot;":"\u22EF","&cudarrl;":"\u2938","&cudarrr;":"\u2935","&cuepr;":"\u22DE","&cuesc;":"\u22DF","&cularr;":"\u21B6","&cularrp;":"\u293D","&cup;":"\u222A","&cupbrcap;":"\u2A48","&cupcap;":"\u2A46","&cupcup;":"\u2A4A","&cupdot;":"\u228D","&cupor;":"\u2A45","&cups;":"\u222A\uFE00","&curarr;":"\u21B7","&curarrm;":"\u293C","&curlyeqprec;":"\u22DE","&curlyeqsucc;":"\u22DF","&curlyvee;":"\u22CE","&curlywedge;":"\u22CF","&curren":"\xA4","&curren;":"\xA4","&curvearrowleft;":"\u21B6","&curvearrowright;":"\u21B7","&cuvee;":"\u22CE","&cuwed;":"\u22CF","&cwconint;":"\u2232","&cwint;":"\u2231","&cylcty;":"\u232D","&dArr;":"\u21D3","&dHar;":"\u2965","&dagger;":"\u2020","&daleth;":"\u2138","&darr;":"\u2193","&dash;":"\u2010","&dashv;":"\u22A3","&dbkarow;":"\u290F","&dblac;":"\u02DD","&dcaron;":"\u010F","&dcy;":"\u0434","&dd;":"\u2146","&ddagger;":"\u2021","&ddarr;":"\u21CA","&ddotseq;":"\u2A77","&deg":"\xB0","&deg;":"\xB0","&delta;":"\u03B4","&demptyv;":"\u29B1","&dfisht;":"\u297F","&dfr;":"\u{1D521}","&dharl;":"\u21C3","&dharr;":"\u21C2","&diam;":"\u22C4","&diamond;":"\u22C4","&diamondsuit;":"\u2666","&diams;":"\u2666","&die;":"\xA8","&digamma;":"\u03DD","&disin;":"\u22F2","&div;":"\xF7","&divide":"\xF7","&divide;":"\xF7","&divideontimes;":"\u22C7","&divonx;":"\u22C7","&djcy;":"\u0452","&dlcorn;":"\u231E","&dlcrop;":"\u230D","&dollar;":"$","&dopf;":"\u{1D555}","&dot;":"\u02D9","&doteq;":"\u2250","&doteqdot;":"\u2251","&dotminus;":"\u2238","&dotplus;":"\u2214","&dotsquare;":"\u22A1","&doublebarwedge;":"\u2306","&downarrow;":"\u2193","&downdownarrows;":"\u21CA","&downharpoonleft;":"\u21C3","&downharpoonright;":"\u21C2","&drbkarow;":"\u2910","&drcorn;":"\u231F","&drcrop;":"\u230C","&dscr;":"\u{1D4B9}","&dscy;":"\u0455","&dsol;":"\u29F6","&dstrok;":"\u0111","&dtdot;":"\u22F1","&dtri;":"\u25BF","&dtrif;":"\u25BE","&duarr;":"\u21F5","&duhar;":"\u296F","&dwangle;":"\u29A6","&dzcy;":"\u045F","&dzigrarr;":"\u27FF","&eDDot;":"\u2A77","&eDot;":"\u2251","&eacute":"\xE9","&eacute;":"\xE9","&easter;":"\u2A6E","&ecaron;":"\u011B","&ecir;":"\u2256","&ecirc":"\xEA","&ecirc;":"\xEA","&ecolon;":"\u2255","&ecy;":"\u044D","&edot;":"\u0117","&ee;":"\u2147","&efDot;":"\u2252","&efr;":"\u{1D522}","&eg;":"\u2A9A","&egrave":"\xE8","&egrave;":"\xE8","&egs;":"\u2A96","&egsdot;":"\u2A98","&el;":"\u2A99","&elinters;":"\u23E7","&ell;":"\u2113","&els;":"\u2A95","&elsdot;":"\u2A97","&emacr;":"\u0113","&empty;":"\u2205","&emptyset;":"\u2205","&emptyv;":"\u2205","&emsp13;":"\u2004","&emsp14;":"\u2005","&emsp;":"\u2003","&eng;":"\u014B","&ensp;":"\u2002","&eogon;":"\u0119","&eopf;":"\u{1D556}","&epar;":"\u22D5","&eparsl;":"\u29E3","&eplus;":"\u2A71","&epsi;":"\u03B5","&epsilon;":"\u03B5","&epsiv;":"\u03F5","&eqcirc;":"\u2256","&eqcolon;":"\u2255","&eqsim;":"\u2242","&eqslantgtr;":"\u2A96","&eqslantless;":"\u2A95","&equals;":"=","&equest;":"\u225F","&equiv;":"\u2261","&equivDD;":"\u2A78","&eqvparsl;":"\u29E5","&erDot;":"\u2253","&erarr;":"\u2971","&escr;":"\u212F","&esdot;":"\u2250","&esim;":"\u2242","&eta;":"\u03B7","&eth":"\xF0","&eth;":"\xF0","&euml":"\xEB","&euml;":"\xEB","&euro;":"\u20AC","&excl;":"!","&exist;":"\u2203","&expectation;":"\u2130","&exponentiale;":"\u2147","&fallingdotseq;":"\u2252","&fcy;":"\u0444","&female;":"\u2640","&ffilig;":"\uFB03","&fflig;":"\uFB00","&ffllig;":"\uFB04","&ffr;":"\u{1D523}","&filig;":"\uFB01","&fjlig;":"fj","&flat;":"\u266D","&fllig;":"\uFB02","&fltns;":"\u25B1","&fnof;":"\u0192","&fopf;":"\u{1D557}","&forall;":"\u2200","&fork;":"\u22D4","&forkv;":"\u2AD9","&fpartint;":"\u2A0D","&frac12":"\xBD","&frac12;":"\xBD","&frac13;":"\u2153","&frac14":"\xBC","&frac14;":"\xBC","&frac15;":"\u2155","&frac16;":"\u2159","&frac18;":"\u215B","&frac23;":"\u2154","&frac25;":"\u2156","&frac34":"\xBE","&frac34;":"\xBE","&frac35;":"\u2157","&frac38;":"\u215C","&frac45;":"\u2158","&frac56;":"\u215A","&frac58;":"\u215D","&frac78;":"\u215E","&frasl;":"\u2044","&frown;":"\u2322","&fscr;":"\u{1D4BB}","&gE;":"\u2267","&gEl;":"\u2A8C","&gacute;":"\u01F5","&gamma;":"\u03B3","&gammad;":"\u03DD","&gap;":"\u2A86","&gbreve;":"\u011F","&gcirc;":"\u011D","&gcy;":"\u0433","&gdot;":"\u0121","&ge;":"\u2265","&gel;":"\u22DB","&geq;":"\u2265","&geqq;":"\u2267","&geqslant;":"\u2A7E","&ges;":"\u2A7E","&gescc;":"\u2AA9","&gesdot;":"\u2A80","&gesdoto;":"\u2A82","&gesdotol;":"\u2A84","&gesl;":"\u22DB\uFE00","&gesles;":"\u2A94","&gfr;":"\u{1D524}","&gg;":"\u226B","&ggg;":"\u22D9","&gimel;":"\u2137","&gjcy;":"\u0453","&gl;":"\u2277","&glE;":"\u2A92","&gla;":"\u2AA5","&glj;":"\u2AA4","&gnE;":"\u2269","&gnap;":"\u2A8A","&gnapprox;":"\u2A8A","&gne;":"\u2A88","&gneq;":"\u2A88","&gneqq;":"\u2269","&gnsim;":"\u22E7","&gopf;":"\u{1D558}","&grave;":"`","&gscr;":"\u210A","&gsim;":"\u2273","&gsime;":"\u2A8E","&gsiml;":"\u2A90","&gt":">","&gt;":">","&gtcc;":"\u2AA7","&gtcir;":"\u2A7A","&gtdot;":"\u22D7","&gtlPar;":"\u2995","&gtquest;":"\u2A7C","&gtrapprox;":"\u2A86","&gtrarr;":"\u2978","&gtrdot;":"\u22D7","&gtreqless;":"\u22DB","&gtreqqless;":"\u2A8C","&gtrless;":"\u2277","&gtrsim;":"\u2273","&gvertneqq;":"\u2269\uFE00","&gvnE;":"\u2269\uFE00","&hArr;":"\u21D4","&hairsp;":"\u200A","&half;":"\xBD","&hamilt;":"\u210B","&hardcy;":"\u044A","&harr;":"\u2194","&harrcir;":"\u2948","&harrw;":"\u21AD","&hbar;":"\u210F","&hcirc;":"\u0125","&hearts;":"\u2665","&heartsuit;":"\u2665","&hellip;":"\u2026","&hercon;":"\u22B9","&hfr;":"\u{1D525}","&hksearow;":"\u2925","&hkswarow;":"\u2926","&hoarr;":"\u21FF","&homtht;":"\u223B","&hookleftarrow;":"\u21A9","&hookrightarrow;":"\u21AA","&hopf;":"\u{1D559}","&horbar;":"\u2015","&hscr;":"\u{1D4BD}","&hslash;":"\u210F","&hstrok;":"\u0127","&hybull;":"\u2043","&hyphen;":"\u2010","&iacute":"\xED","&iacute;":"\xED","&ic;":"\u2063","&icirc":"\xEE","&icirc;":"\xEE","&icy;":"\u0438","&iecy;":"\u0435","&iexcl":"\xA1","&iexcl;":"\xA1","&iff;":"\u21D4","&ifr;":"\u{1D526}","&igrave":"\xEC","&igrave;":"\xEC","&ii;":"\u2148","&iiiint;":"\u2A0C","&iiint;":"\u222D","&iinfin;":"\u29DC","&iiota;":"\u2129","&ijlig;":"\u0133","&imacr;":"\u012B","&image;":"\u2111","&imagline;":"\u2110","&imagpart;":"\u2111","&imath;":"\u0131","&imof;":"\u22B7","&imped;":"\u01B5","&in;":"\u2208","&incare;":"\u2105","&infin;":"\u221E","&infintie;":"\u29DD","&inodot;":"\u0131","&int;":"\u222B","&intcal;":"\u22BA","&integers;":"\u2124","&intercal;":"\u22BA","&intlarhk;":"\u2A17","&intprod;":"\u2A3C","&iocy;":"\u0451","&iogon;":"\u012F","&iopf;":"\u{1D55A}","&iota;":"\u03B9","&iprod;":"\u2A3C","&iquest":"\xBF","&iquest;":"\xBF","&iscr;":"\u{1D4BE}","&isin;":"\u2208","&isinE;":"\u22F9","&isindot;":"\u22F5","&isins;":"\u22F4","&isinsv;":"\u22F3","&isinv;":"\u2208","&it;":"\u2062","&itilde;":"\u0129","&iukcy;":"\u0456","&iuml":"\xEF","&iuml;":"\xEF","&jcirc;":"\u0135","&jcy;":"\u0439","&jfr;":"\u{1D527}","&jmath;":"\u0237","&jopf;":"\u{1D55B}","&jscr;":"\u{1D4BF}","&jsercy;":"\u0458","&jukcy;":"\u0454","&kappa;":"\u03BA","&kappav;":"\u03F0","&kcedil;":"\u0137","&kcy;":"\u043A","&kfr;":"\u{1D528}","&kgreen;":"\u0138","&khcy;":"\u0445","&kjcy;":"\u045C","&kopf;":"\u{1D55C}","&kscr;":"\u{1D4C0}","&lAarr;":"\u21DA","&lArr;":"\u21D0","&lAtail;":"\u291B","&lBarr;":"\u290E","&lE;":"\u2266","&lEg;":"\u2A8B","&lHar;":"\u2962","&lacute;":"\u013A","&laemptyv;":"\u29B4","&lagran;":"\u2112","&lambda;":"\u03BB","&lang;":"\u27E8","&langd;":"\u2991","&langle;":"\u27E8","&lap;":"\u2A85","&laquo":"\xAB","&laquo;":"\xAB","&larr;":"\u2190","&larrb;":"\u21E4","&larrbfs;":"\u291F","&larrfs;":"\u291D","&larrhk;":"\u21A9","&larrlp;":"\u21AB","&larrpl;":"\u2939","&larrsim;":"\u2973","&larrtl;":"\u21A2","&lat;":"\u2AAB","&latail;":"\u2919","&late;":"\u2AAD","&lates;":"\u2AAD\uFE00","&lbarr;":"\u290C","&lbbrk;":"\u2772","&lbrace;":"{","&lbrack;":"[","&lbrke;":"\u298B","&lbrksld;":"\u298F","&lbrkslu;":"\u298D","&lcaron;":"\u013E","&lcedil;":"\u013C","&lceil;":"\u2308","&lcub;":"{","&lcy;":"\u043B","&ldca;":"\u2936","&ldquo;":"\u201C","&ldquor;":"\u201E","&ldrdhar;":"\u2967","&ldrushar;":"\u294B","&ldsh;":"\u21B2","&le;":"\u2264","&leftarrow;":"\u2190","&leftarrowtail;":"\u21A2","&leftharpoondown;":"\u21BD","&leftharpoonup;":"\u21BC","&leftleftarrows;":"\u21C7","&leftrightarrow;":"\u2194","&leftrightarrows;":"\u21C6","&leftrightharpoons;":"\u21CB","&leftrightsquigarrow;":"\u21AD","&leftthreetimes;":"\u22CB","&leg;":"\u22DA","&leq;":"\u2264","&leqq;":"\u2266","&leqslant;":"\u2A7D","&les;":"\u2A7D","&lescc;":"\u2AA8","&lesdot;":"\u2A7F","&lesdoto;":"\u2A81","&lesdotor;":"\u2A83","&lesg;":"\u22DA\uFE00","&lesges;":"\u2A93","&lessapprox;":"\u2A85","&lessdot;":"\u22D6","&lesseqgtr;":"\u22DA","&lesseqqgtr;":"\u2A8B","&lessgtr;":"\u2276","&lesssim;":"\u2272","&lfisht;":"\u297C","&lfloor;":"\u230A","&lfr;":"\u{1D529}","&lg;":"\u2276","&lgE;":"\u2A91","&lhard;":"\u21BD","&lharu;":"\u21BC","&lharul;":"\u296A","&lhblk;":"\u2584","&ljcy;":"\u0459","&ll;":"\u226A","&llarr;":"\u21C7","&llcorner;":"\u231E","&llhard;":"\u296B","&lltri;":"\u25FA","&lmidot;":"\u0140","&lmoust;":"\u23B0","&lmoustache;":"\u23B0","&lnE;":"\u2268","&lnap;":"\u2A89","&lnapprox;":"\u2A89","&lne;":"\u2A87","&lneq;":"\u2A87","&lneqq;":"\u2268","&lnsim;":"\u22E6","&loang;":"\u27EC","&loarr;":"\u21FD","&lobrk;":"\u27E6","&longleftarrow;":"\u27F5","&longleftrightarrow;":"\u27F7","&longmapsto;":"\u27FC","&longrightarrow;":"\u27F6","&looparrowleft;":"\u21AB","&looparrowright;":"\u21AC","&lopar;":"\u2985","&lopf;":"\u{1D55D}","&loplus;":"\u2A2D","&lotimes;":"\u2A34","&lowast;":"\u2217","&lowbar;":"_","&loz;":"\u25CA","&lozenge;":"\u25CA","&lozf;":"\u29EB","&lpar;":"(","&lparlt;":"\u2993","&lrarr;":"\u21C6","&lrcorner;":"\u231F","&lrhar;":"\u21CB","&lrhard;":"\u296D","&lrm;":"\u200E","&lrtri;":"\u22BF","&lsaquo;":"\u2039","&lscr;":"\u{1D4C1}","&lsh;":"\u21B0","&lsim;":"\u2272","&lsime;":"\u2A8D","&lsimg;":"\u2A8F","&lsqb;":"[","&lsquo;":"\u2018","&lsquor;":"\u201A","&lstrok;":"\u0142","&lt":"<","&lt;":"<","&ltcc;":"\u2AA6","&ltcir;":"\u2A79","&ltdot;":"\u22D6","&lthree;":"\u22CB","&ltimes;":"\u22C9","&ltlarr;":"\u2976","&ltquest;":"\u2A7B","&ltrPar;":"\u2996","&ltri;":"\u25C3","&ltrie;":"\u22B4","&ltrif;":"\u25C2","&lurdshar;":"\u294A","&luruhar;":"\u2966","&lvertneqq;":"\u2268\uFE00","&lvnE;":"\u2268\uFE00","&mDDot;":"\u223A","&macr":"\xAF","&macr;":"\xAF","&male;":"\u2642","&malt;":"\u2720","&maltese;":"\u2720","&map;":"\u21A6","&mapsto;":"\u21A6","&mapstodown;":"\u21A7","&mapstoleft;":"\u21A4","&mapstoup;":"\u21A5","&marker;":"\u25AE","&mcomma;":"\u2A29","&mcy;":"\u043C","&mdash;":"\u2014","&measuredangle;":"\u2221","&mfr;":"\u{1D52A}","&mho;":"\u2127","&micro":"\xB5","&micro;":"\xB5","&mid;":"\u2223","&midast;":"*","&midcir;":"\u2AF0","&middot":"\xB7","&middot;":"\xB7","&minus;":"\u2212","&minusb;":"\u229F","&minusd;":"\u2238","&minusdu;":"\u2A2A","&mlcp;":"\u2ADB","&mldr;":"\u2026","&mnplus;":"\u2213","&models;":"\u22A7","&mopf;":"\u{1D55E}","&mp;":"\u2213","&mscr;":"\u{1D4C2}","&mstpos;":"\u223E","&mu;":"\u03BC","&multimap;":"\u22B8","&mumap;":"\u22B8","&nGg;":"\u22D9\u0338","&nGt;":"\u226B\u20D2","&nGtv;":"\u226B\u0338","&nLeftarrow;":"\u21CD","&nLeftrightarrow;":"\u21CE","&nLl;":"\u22D8\u0338","&nLt;":"\u226A\u20D2","&nLtv;":"\u226A\u0338","&nRightarrow;":"\u21CF","&nVDash;":"\u22AF","&nVdash;":"\u22AE","&nabla;":"\u2207","&nacute;":"\u0144","&nang;":"\u2220\u20D2","&nap;":"\u2249","&napE;":"\u2A70\u0338","&napid;":"\u224B\u0338","&napos;":"\u0149","&napprox;":"\u2249","&natur;":"\u266E","&natural;":"\u266E","&naturals;":"\u2115","&nbsp":"\xA0","&nbsp;":"\xA0","&nbump;":"\u224E\u0338","&nbumpe;":"\u224F\u0338","&ncap;":"\u2A43","&ncaron;":"\u0148","&ncedil;":"\u0146","&ncong;":"\u2247","&ncongdot;":"\u2A6D\u0338","&ncup;":"\u2A42","&ncy;":"\u043D","&ndash;":"\u2013","&ne;":"\u2260","&neArr;":"\u21D7","&nearhk;":"\u2924","&nearr;":"\u2197","&nearrow;":"\u2197","&nedot;":"\u2250\u0338","&nequiv;":"\u2262","&nesear;":"\u2928","&nesim;":"\u2242\u0338","&nexist;":"\u2204","&nexists;":"\u2204","&nfr;":"\u{1D52B}","&ngE;":"\u2267\u0338","&nge;":"\u2271","&ngeq;":"\u2271","&ngeqq;":"\u2267\u0338","&ngeqslant;":"\u2A7E\u0338","&nges;":"\u2A7E\u0338","&ngsim;":"\u2275","&ngt;":"\u226F","&ngtr;":"\u226F","&nhArr;":"\u21CE","&nharr;":"\u21AE","&nhpar;":"\u2AF2","&ni;":"\u220B","&nis;":"\u22FC","&nisd;":"\u22FA","&niv;":"\u220B","&njcy;":"\u045A","&nlArr;":"\u21CD","&nlE;":"\u2266\u0338","&nlarr;":"\u219A","&nldr;":"\u2025","&nle;":"\u2270","&nleftarrow;":"\u219A","&nleftrightarrow;":"\u21AE","&nleq;":"\u2270","&nleqq;":"\u2266\u0338","&nleqslant;":"\u2A7D\u0338","&nles;":"\u2A7D\u0338","&nless;":"\u226E","&nlsim;":"\u2274","&nlt;":"\u226E","&nltri;":"\u22EA","&nltrie;":"\u22EC","&nmid;":"\u2224","&nopf;":"\u{1D55F}","&not":"\xAC","&not;":"\xAC","&notin;":"\u2209","&notinE;":"\u22F9\u0338","&notindot;":"\u22F5\u0338","&notinva;":"\u2209","&notinvb;":"\u22F7","&notinvc;":"\u22F6","&notni;":"\u220C","&notniva;":"\u220C","&notnivb;":"\u22FE","&notnivc;":"\u22FD","&npar;":"\u2226","&nparallel;":"\u2226","&nparsl;":"\u2AFD\u20E5","&npart;":"\u2202\u0338","&npolint;":"\u2A14","&npr;":"\u2280","&nprcue;":"\u22E0","&npre;":"\u2AAF\u0338","&nprec;":"\u2280","&npreceq;":"\u2AAF\u0338","&nrArr;":"\u21CF","&nrarr;":"\u219B","&nrarrc;":"\u2933\u0338","&nrarrw;":"\u219D\u0338","&nrightarrow;":"\u219B","&nrtri;":"\u22EB","&nrtrie;":"\u22ED","&nsc;":"\u2281","&nsccue;":"\u22E1","&nsce;":"\u2AB0\u0338","&nscr;":"\u{1D4C3}","&nshortmid;":"\u2224","&nshortparallel;":"\u2226","&nsim;":"\u2241","&nsime;":"\u2244","&nsimeq;":"\u2244","&nsmid;":"\u2224","&nspar;":"\u2226","&nsqsube;":"\u22E2","&nsqsupe;":"\u22E3","&nsub;":"\u2284","&nsubE;":"\u2AC5\u0338","&nsube;":"\u2288","&nsubset;":"\u2282\u20D2","&nsubseteq;":"\u2288","&nsubseteqq;":"\u2AC5\u0338","&nsucc;":"\u2281","&nsucceq;":"\u2AB0\u0338","&nsup;":"\u2285","&nsupE;":"\u2AC6\u0338","&nsupe;":"\u2289","&nsupset;":"\u2283\u20D2","&nsupseteq;":"\u2289","&nsupseteqq;":"\u2AC6\u0338","&ntgl;":"\u2279","&ntilde":"\xF1","&ntilde;":"\xF1","&ntlg;":"\u2278","&ntriangleleft;":"\u22EA","&ntrianglelefteq;":"\u22EC","&ntriangleright;":"\u22EB","&ntrianglerighteq;":"\u22ED","&nu;":"\u03BD","&num;":"#","&numero;":"\u2116","&numsp;":"\u2007","&nvDash;":"\u22AD","&nvHarr;":"\u2904","&nvap;":"\u224D\u20D2","&nvdash;":"\u22AC","&nvge;":"\u2265\u20D2","&nvgt;":">\u20D2","&nvinfin;":"\u29DE","&nvlArr;":"\u2902","&nvle;":"\u2264\u20D2","&nvlt;":"<\u20D2","&nvltrie;":"\u22B4\u20D2","&nvrArr;":"\u2903","&nvrtrie;":"\u22B5\u20D2","&nvsim;":"\u223C\u20D2","&nwArr;":"\u21D6","&nwarhk;":"\u2923","&nwarr;":"\u2196","&nwarrow;":"\u2196","&nwnear;":"\u2927","&oS;":"\u24C8","&oacute":"\xF3","&oacute;":"\xF3","&oast;":"\u229B","&ocir;":"\u229A","&ocirc":"\xF4","&ocirc;":"\xF4","&ocy;":"\u043E","&odash;":"\u229D","&odblac;":"\u0151","&odiv;":"\u2A38","&odot;":"\u2299","&odsold;":"\u29BC","&oelig;":"\u0153","&ofcir;":"\u29BF","&ofr;":"\u{1D52C}","&ogon;":"\u02DB","&ograve":"\xF2","&ograve;":"\xF2","&ogt;":"\u29C1","&ohbar;":"\u29B5","&ohm;":"\u03A9","&oint;":"\u222E","&olarr;":"\u21BA","&olcir;":"\u29BE","&olcross;":"\u29BB","&oline;":"\u203E","&olt;":"\u29C0","&omacr;":"\u014D","&omega;":"\u03C9","&omicron;":"\u03BF","&omid;":"\u29B6","&ominus;":"\u2296","&oopf;":"\u{1D560}","&opar;":"\u29B7","&operp;":"\u29B9","&oplus;":"\u2295","&or;":"\u2228","&orarr;":"\u21BB","&ord;":"\u2A5D","&order;":"\u2134","&orderof;":"\u2134","&ordf":"\xAA","&ordf;":"\xAA","&ordm":"\xBA","&ordm;":"\xBA","&origof;":"\u22B6","&oror;":"\u2A56","&orslope;":"\u2A57","&orv;":"\u2A5B","&oscr;":"\u2134","&oslash":"\xF8","&oslash;":"\xF8","&osol;":"\u2298","&otilde":"\xF5","&otilde;":"\xF5","&otimes;":"\u2297","&otimesas;":"\u2A36","&ouml":"\xF6","&ouml;":"\xF6","&ovbar;":"\u233D","&par;":"\u2225","&para":"\xB6","&para;":"\xB6","&parallel;":"\u2225","&parsim;":"\u2AF3","&parsl;":"\u2AFD","&part;":"\u2202","&pcy;":"\u043F","&percnt;":"%","&period;":".","&permil;":"\u2030","&perp;":"\u22A5","&pertenk;":"\u2031","&pfr;":"\u{1D52D}","&phi;":"\u03C6","&phiv;":"\u03D5","&phmmat;":"\u2133","&phone;":"\u260E","&pi;":"\u03C0","&pitchfork;":"\u22D4","&piv;":"\u03D6","&planck;":"\u210F","&planckh;":"\u210E","&plankv;":"\u210F","&plus;":"+","&plusacir;":"\u2A23","&plusb;":"\u229E","&pluscir;":"\u2A22","&plusdo;":"\u2214","&plusdu;":"\u2A25","&pluse;":"\u2A72","&plusmn":"\xB1","&plusmn;":"\xB1","&plussim;":"\u2A26","&plustwo;":"\u2A27","&pm;":"\xB1","&pointint;":"\u2A15","&popf;":"\u{1D561}","&pound":"\xA3","&pound;":"\xA3","&pr;":"\u227A","&prE;":"\u2AB3","&prap;":"\u2AB7","&prcue;":"\u227C","&pre;":"\u2AAF","&prec;":"\u227A","&precapprox;":"\u2AB7","&preccurlyeq;":"\u227C","&preceq;":"\u2AAF","&precnapprox;":"\u2AB9","&precneqq;":"\u2AB5","&precnsim;":"\u22E8","&precsim;":"\u227E","&prime;":"\u2032","&primes;":"\u2119","&prnE;":"\u2AB5","&prnap;":"\u2AB9","&prnsim;":"\u22E8","&prod;":"\u220F","&profalar;":"\u232E","&profline;":"\u2312","&profsurf;":"\u2313","&prop;":"\u221D","&propto;":"\u221D","&prsim;":"\u227E","&prurel;":"\u22B0","&pscr;":"\u{1D4C5}","&psi;":"\u03C8","&puncsp;":"\u2008","&qfr;":"\u{1D52E}","&qint;":"\u2A0C","&qopf;":"\u{1D562}","&qprime;":"\u2057","&qscr;":"\u{1D4C6}","&quaternions;":"\u210D","&quatint;":"\u2A16","&quest;":"?","&questeq;":"\u225F","&quot":'"',"&quot;":'"',"&rAarr;":"\u21DB","&rArr;":"\u21D2","&rAtail;":"\u291C","&rBarr;":"\u290F","&rHar;":"\u2964","&race;":"\u223D\u0331","&racute;":"\u0155","&radic;":"\u221A","&raemptyv;":"\u29B3","&rang;":"\u27E9","&rangd;":"\u2992","&range;":"\u29A5","&rangle;":"\u27E9","&raquo":"\xBB","&raquo;":"\xBB","&rarr;":"\u2192","&rarrap;":"\u2975","&rarrb;":"\u21E5","&rarrbfs;":"\u2920","&rarrc;":"\u2933","&rarrfs;":"\u291E","&rarrhk;":"\u21AA","&rarrlp;":"\u21AC","&rarrpl;":"\u2945","&rarrsim;":"\u2974","&rarrtl;":"\u21A3","&rarrw;":"\u219D","&ratail;":"\u291A","&ratio;":"\u2236","&rationals;":"\u211A","&rbarr;":"\u290D","&rbbrk;":"\u2773","&rbrace;":"}","&rbrack;":"]","&rbrke;":"\u298C","&rbrksld;":"\u298E","&rbrkslu;":"\u2990","&rcaron;":"\u0159","&rcedil;":"\u0157","&rceil;":"\u2309","&rcub;":"}","&rcy;":"\u0440","&rdca;":"\u2937","&rdldhar;":"\u2969","&rdquo;":"\u201D","&rdquor;":"\u201D","&rdsh;":"\u21B3","&real;":"\u211C","&realine;":"\u211B","&realpart;":"\u211C","&reals;":"\u211D","&rect;":"\u25AD","&reg":"\xAE","&reg;":"\xAE","&rfisht;":"\u297D","&rfloor;":"\u230B","&rfr;":"\u{1D52F}","&rhard;":"\u21C1","&rharu;":"\u21C0","&rharul;":"\u296C","&rho;":"\u03C1","&rhov;":"\u03F1","&rightarrow;":"\u2192","&rightarrowtail;":"\u21A3","&rightharpoondown;":"\u21C1","&rightharpoonup;":"\u21C0","&rightleftarrows;":"\u21C4","&rightleftharpoons;":"\u21CC","&rightrightarrows;":"\u21C9","&rightsquigarrow;":"\u219D","&rightthreetimes;":"\u22CC","&ring;":"\u02DA","&risingdotseq;":"\u2253","&rlarr;":"\u21C4","&rlhar;":"\u21CC","&rlm;":"\u200F","&rmoust;":"\u23B1","&rmoustache;":"\u23B1","&rnmid;":"\u2AEE","&roang;":"\u27ED","&roarr;":"\u21FE","&robrk;":"\u27E7","&ropar;":"\u2986","&ropf;":"\u{1D563}","&roplus;":"\u2A2E","&rotimes;":"\u2A35","&rpar;":")","&rpargt;":"\u2994","&rppolint;":"\u2A12","&rrarr;":"\u21C9","&rsaquo;":"\u203A","&rscr;":"\u{1D4C7}","&rsh;":"\u21B1","&rsqb;":"]","&rsquo;":"\u2019","&rsquor;":"\u2019","&rthree;":"\u22CC","&rtimes;":"\u22CA","&rtri;":"\u25B9","&rtrie;":"\u22B5","&rtrif;":"\u25B8","&rtriltri;":"\u29CE","&ruluhar;":"\u2968","&rx;":"\u211E","&sacute;":"\u015B","&sbquo;":"\u201A","&sc;":"\u227B","&scE;":"\u2AB4","&scap;":"\u2AB8","&scaron;":"\u0161","&sccue;":"\u227D","&sce;":"\u2AB0","&scedil;":"\u015F","&scirc;":"\u015D","&scnE;":"\u2AB6","&scnap;":"\u2ABA","&scnsim;":"\u22E9","&scpolint;":"\u2A13","&scsim;":"\u227F","&scy;":"\u0441","&sdot;":"\u22C5","&sdotb;":"\u22A1","&sdote;":"\u2A66","&seArr;":"\u21D8","&searhk;":"\u2925","&searr;":"\u2198","&searrow;":"\u2198","&sect":"\xA7","&sect;":"\xA7","&semi;":";","&seswar;":"\u2929","&setminus;":"\u2216","&setmn;":"\u2216","&sext;":"\u2736","&sfr;":"\u{1D530}","&sfrown;":"\u2322","&sharp;":"\u266F","&shchcy;":"\u0449","&shcy;":"\u0448","&shortmid;":"\u2223","&shortparallel;":"\u2225","&shy":"\xAD","&shy;":"\xAD","&sigma;":"\u03C3","&sigmaf;":"\u03C2","&sigmav;":"\u03C2","&sim;":"\u223C","&simdot;":"\u2A6A","&sime;":"\u2243","&simeq;":"\u2243","&simg;":"\u2A9E","&simgE;":"\u2AA0","&siml;":"\u2A9D","&simlE;":"\u2A9F","&simne;":"\u2246","&simplus;":"\u2A24","&simrarr;":"\u2972","&slarr;":"\u2190","&smallsetminus;":"\u2216","&smashp;":"\u2A33","&smeparsl;":"\u29E4","&smid;":"\u2223","&smile;":"\u2323","&smt;":"\u2AAA","&smte;":"\u2AAC","&smtes;":"\u2AAC\uFE00","&softcy;":"\u044C","&sol;":"/","&solb;":"\u29C4","&solbar;":"\u233F","&sopf;":"\u{1D564}","&spades;":"\u2660","&spadesuit;":"\u2660","&spar;":"\u2225","&sqcap;":"\u2293","&sqcaps;":"\u2293\uFE00","&sqcup;":"\u2294","&sqcups;":"\u2294\uFE00","&sqsub;":"\u228F","&sqsube;":"\u2291","&sqsubset;":"\u228F","&sqsubseteq;":"\u2291","&sqsup;":"\u2290","&sqsupe;":"\u2292","&sqsupset;":"\u2290","&sqsupseteq;":"\u2292","&squ;":"\u25A1","&square;":"\u25A1","&squarf;":"\u25AA","&squf;":"\u25AA","&srarr;":"\u2192","&sscr;":"\u{1D4C8}","&ssetmn;":"\u2216","&ssmile;":"\u2323","&sstarf;":"\u22C6","&star;":"\u2606","&starf;":"\u2605","&straightepsilon;":"\u03F5","&straightphi;":"\u03D5","&strns;":"\xAF","&sub;":"\u2282","&subE;":"\u2AC5","&subdot;":"\u2ABD","&sube;":"\u2286","&subedot;":"\u2AC3","&submult;":"\u2AC1","&subnE;":"\u2ACB","&subne;":"\u228A","&subplus;":"\u2ABF","&subrarr;":"\u2979","&subset;":"\u2282","&subseteq;":"\u2286","&subseteqq;":"\u2AC5","&subsetneq;":"\u228A","&subsetneqq;":"\u2ACB","&subsim;":"\u2AC7","&subsub;":"\u2AD5","&subsup;":"\u2AD3","&succ;":"\u227B","&succapprox;":"\u2AB8","&succcurlyeq;":"\u227D","&succeq;":"\u2AB0","&succnapprox;":"\u2ABA","&succneqq;":"\u2AB6","&succnsim;":"\u22E9","&succsim;":"\u227F","&sum;":"\u2211","&sung;":"\u266A","&sup1":"\xB9","&sup1;":"\xB9","&sup2":"\xB2","&sup2;":"\xB2","&sup3":"\xB3","&sup3;":"\xB3","&sup;":"\u2283","&supE;":"\u2AC6","&supdot;":"\u2ABE","&supdsub;":"\u2AD8","&supe;":"\u2287","&supedot;":"\u2AC4","&suphsol;":"\u27C9","&suphsub;":"\u2AD7","&suplarr;":"\u297B","&supmult;":"\u2AC2","&supnE;":"\u2ACC","&supne;":"\u228B","&supplus;":"\u2AC0","&supset;":"\u2283","&supseteq;":"\u2287","&supseteqq;":"\u2AC6","&supsetneq;":"\u228B","&supsetneqq;":"\u2ACC","&supsim;":"\u2AC8","&supsub;":"\u2AD4","&supsup;":"\u2AD6","&swArr;":"\u21D9","&swarhk;":"\u2926","&swarr;":"\u2199","&swarrow;":"\u2199","&swnwar;":"\u292A","&szlig":"\xDF","&szlig;":"\xDF","&target;":"\u2316","&tau;":"\u03C4","&tbrk;":"\u23B4","&tcaron;":"\u0165","&tcedil;":"\u0163","&tcy;":"\u0442","&tdot;":"\u20DB","&telrec;":"\u2315","&tfr;":"\u{1D531}","&there4;":"\u2234","&therefore;":"\u2234","&theta;":"\u03B8","&thetasym;":"\u03D1","&thetav;":"\u03D1","&thickapprox;":"\u2248","&thicksim;":"\u223C","&thinsp;":"\u2009","&thkap;":"\u2248","&thksim;":"\u223C","&thorn":"\xFE","&thorn;":"\xFE","&tilde;":"\u02DC","&times":"\xD7","&times;":"\xD7","&timesb;":"\u22A0","&timesbar;":"\u2A31","&timesd;":"\u2A30","&tint;":"\u222D","&toea;":"\u2928","&top;":"\u22A4","&topbot;":"\u2336","&topcir;":"\u2AF1","&topf;":"\u{1D565}","&topfork;":"\u2ADA","&tosa;":"\u2929","&tprime;":"\u2034","&trade;":"\u2122","&triangle;":"\u25B5","&triangledown;":"\u25BF","&triangleleft;":"\u25C3","&trianglelefteq;":"\u22B4","&triangleq;":"\u225C","&triangleright;":"\u25B9","&trianglerighteq;":"\u22B5","&tridot;":"\u25EC","&trie;":"\u225C","&triminus;":"\u2A3A","&triplus;":"\u2A39","&trisb;":"\u29CD","&tritime;":"\u2A3B","&trpezium;":"\u23E2","&tscr;":"\u{1D4C9}","&tscy;":"\u0446","&tshcy;":"\u045B","&tstrok;":"\u0167","&twixt;":"\u226C","&twoheadleftarrow;":"\u219E","&twoheadrightarrow;":"\u21A0","&uArr;":"\u21D1","&uHar;":"\u2963","&uacute":"\xFA","&uacute;":"\xFA","&uarr;":"\u2191","&ubrcy;":"\u045E","&ubreve;":"\u016D","&ucirc":"\xFB","&ucirc;":"\xFB","&ucy;":"\u0443","&udarr;":"\u21C5","&udblac;":"\u0171","&udhar;":"\u296E","&ufisht;":"\u297E","&ufr;":"\u{1D532}","&ugrave":"\xF9","&ugrave;":"\xF9","&uharl;":"\u21BF","&uharr;":"\u21BE","&uhblk;":"\u2580","&ulcorn;":"\u231C","&ulcorner;":"\u231C","&ulcrop;":"\u230F","&ultri;":"\u25F8","&umacr;":"\u016B","&uml":"\xA8","&uml;":"\xA8","&uogon;":"\u0173","&uopf;":"\u{1D566}","&uparrow;":"\u2191","&updownarrow;":"\u2195","&upharpoonleft;":"\u21BF","&upharpoonright;":"\u21BE","&uplus;":"\u228E","&upsi;":"\u03C5","&upsih;":"\u03D2","&upsilon;":"\u03C5","&upuparrows;":"\u21C8","&urcorn;":"\u231D","&urcorner;":"\u231D","&urcrop;":"\u230E","&uring;":"\u016F","&urtri;":"\u25F9","&uscr;":"\u{1D4CA}","&utdot;":"\u22F0","&utilde;":"\u0169","&utri;":"\u25B5","&utrif;":"\u25B4","&uuarr;":"\u21C8","&uuml":"\xFC","&uuml;":"\xFC","&uwangle;":"\u29A7","&vArr;":"\u21D5","&vBar;":"\u2AE8","&vBarv;":"\u2AE9","&vDash;":"\u22A8","&vangrt;":"\u299C","&varepsilon;":"\u03F5","&varkappa;":"\u03F0","&varnothing;":"\u2205","&varphi;":"\u03D5","&varpi;":"\u03D6","&varpropto;":"\u221D","&varr;":"\u2195","&varrho;":"\u03F1","&varsigma;":"\u03C2","&varsubsetneq;":"\u228A\uFE00","&varsubsetneqq;":"\u2ACB\uFE00","&varsupsetneq;":"\u228B\uFE00","&varsupsetneqq;":"\u2ACC\uFE00","&vartheta;":"\u03D1","&vartriangleleft;":"\u22B2","&vartriangleright;":"\u22B3","&vcy;":"\u0432","&vdash;":"\u22A2","&vee;":"\u2228","&veebar;":"\u22BB","&veeeq;":"\u225A","&vellip;":"\u22EE","&verbar;":"|","&vert;":"|","&vfr;":"\u{1D533}","&vltri;":"\u22B2","&vnsub;":"\u2282\u20D2","&vnsup;":"\u2283\u20D2","&vopf;":"\u{1D567}","&vprop;":"\u221D","&vrtri;":"\u22B3","&vscr;":"\u{1D4CB}","&vsubnE;":"\u2ACB\uFE00","&vsubne;":"\u228A\uFE00","&vsupnE;":"\u2ACC\uFE00","&vsupne;":"\u228B\uFE00","&vzigzag;":"\u299A","&wcirc;":"\u0175","&wedbar;":"\u2A5F","&wedge;":"\u2227","&wedgeq;":"\u2259","&weierp;":"\u2118","&wfr;":"\u{1D534}","&wopf;":"\u{1D568}","&wp;":"\u2118","&wr;":"\u2240","&wreath;":"\u2240","&wscr;":"\u{1D4CC}","&xcap;":"\u22C2","&xcirc;":"\u25EF","&xcup;":"\u22C3","&xdtri;":"\u25BD","&xfr;":"\u{1D535}","&xhArr;":"\u27FA","&xharr;":"\u27F7","&xi;":"\u03BE","&xlArr;":"\u27F8","&xlarr;":"\u27F5","&xmap;":"\u27FC","&xnis;":"\u22FB","&xodot;":"\u2A00","&xopf;":"\u{1D569}","&xoplus;":"\u2A01","&xotime;":"\u2A02","&xrArr;":"\u27F9","&xrarr;":"\u27F6","&xscr;":"\u{1D4CD}","&xsqcup;":"\u2A06","&xuplus;":"\u2A04","&xutri;":"\u25B3","&xvee;":"\u22C1","&xwedge;":"\u22C0","&yacute":"\xFD","&yacute;":"\xFD","&yacy;":"\u044F","&ycirc;":"\u0177","&ycy;":"\u044B","&yen":"\xA5","&yen;":"\xA5","&yfr;":"\u{1D536}","&yicy;":"\u0457","&yopf;":"\u{1D56A}","&yscr;":"\u{1D4CE}","&yucy;":"\u044E","&yuml":"\xFF","&yuml;":"\xFF","&zacute;":"\u017A","&zcaron;":"\u017E","&zcy;":"\u0437","&zdot;":"\u017C","&zeetrf;":"\u2128","&zeta;":"\u03B6","&zfr;":"\u{1D537}","&zhcy;":"\u0436","&zigrarr;":"\u21DD","&zopf;":"\u{1D56B}","&zscr;":"\u{1D4CF}","&zwj;":"\u200D","&zwnj;":"\u200C"},characters:{\u00C6:"&AElig;","&":"&amp;",\u00C1:"&Aacute;",\u0102:"&Abreve;",\u00C2:"&Acirc;",\u0410:"&Acy;","\u{1D504}":"&Afr;",\u00C0:"&Agrave;",\u0391:"&Alpha;",\u0100:"&Amacr;","\u2A53":"&And;",\u0104:"&Aogon;","\u{1D538}":"&Aopf;","\u2061":"&af;",\u00C5:"&angst;","\u{1D49C}":"&Ascr;","\u2254":"&coloneq;",\u00C3:"&Atilde;",\u00C4:"&Auml;","\u2216":"&ssetmn;","\u2AE7":"&Barv;","\u2306":"&doublebarwedge;",\u0411:"&Bcy;","\u2235":"&because;",\u212C:"&bernou;",\u0392:"&Beta;","\u{1D505}":"&Bfr;","\u{1D539}":"&Bopf;","\u02D8":"&breve;","\u224E":"&bump;",\u0427:"&CHcy;","\xA9":"&copy;",\u0106:"&Cacute;","\u22D2":"&Cap;","\u2145":"&DD;",\u212D:"&Cfr;",\u010C:"&Ccaron;",\u00C7:"&Ccedil;",\u0108:"&Ccirc;","\u2230":"&Cconint;",\u010A:"&Cdot;","\xB8":"&cedil;","\xB7":"&middot;",\u03A7:"&Chi;","\u2299":"&odot;","\u2296":"&ominus;","\u2295":"&oplus;","\u2297":"&otimes;","\u2232":"&cwconint;","\u201D":"&rdquor;","\u2019":"&rsquor;","\u2237":"&Proportion;","\u2A74":"&Colone;","\u2261":"&equiv;","\u222F":"&DoubleContourIntegral;","\u222E":"&oint;",\u2102:"&complexes;","\u2210":"&coprod;","\u2233":"&awconint;","\u2A2F":"&Cross;","\u{1D49E}":"&Cscr;","\u22D3":"&Cup;","\u224D":"&asympeq;","\u2911":"&DDotrahd;",\u0402:"&DJcy;",\u0405:"&DScy;",\u040F:"&DZcy;","\u2021":"&ddagger;","\u21A1":"&Darr;","\u2AE4":"&DoubleLeftTee;",\u010E:"&Dcaron;",\u0414:"&Dcy;","\u2207":"&nabla;",\u0394:"&Delta;","\u{1D507}":"&Dfr;","\xB4":"&acute;","\u02D9":"&dot;","\u02DD":"&dblac;","`":"&grave;","\u02DC":"&tilde;","\u22C4":"&diamond;","\u2146":"&dd;","\u{1D53B}":"&Dopf;","\xA8":"&uml;","\u20DC":"&DotDot;","\u2250":"&esdot;","\u21D3":"&dArr;","\u21D0":"&lArr;","\u21D4":"&iff;","\u27F8":"&xlArr;","\u27FA":"&xhArr;","\u27F9":"&xrArr;","\u21D2":"&rArr;","\u22A8":"&vDash;","\u21D1":"&uArr;","\u21D5":"&vArr;","\u2225":"&spar;","\u2193":"&downarrow;","\u2913":"&DownArrowBar;","\u21F5":"&duarr;","\u0311":"&DownBreve;","\u2950":"&DownLeftRightVector;","\u295E":"&DownLeftTeeVector;","\u21BD":"&lhard;","\u2956":"&DownLeftVectorBar;","\u295F":"&DownRightTeeVector;","\u21C1":"&rightharpoondown;","\u2957":"&DownRightVectorBar;","\u22A4":"&top;","\u21A7":"&mapstodown;","\u{1D49F}":"&Dscr;",\u0110:"&Dstrok;",\u014A:"&ENG;",\u00D0:"&ETH;",\u00C9:"&Eacute;",\u011A:"&Ecaron;",\u00CA:"&Ecirc;",\u042D:"&Ecy;",\u0116:"&Edot;","\u{1D508}":"&Efr;",\u00C8:"&Egrave;","\u2208":"&isinv;",\u0112:"&Emacr;","\u25FB":"&EmptySmallSquare;","\u25AB":"&EmptyVerySmallSquare;",\u0118:"&Eogon;","\u{1D53C}":"&Eopf;",\u0395:"&Epsilon;","\u2A75":"&Equal;","\u2242":"&esim;","\u21CC":"&rlhar;",\u2130:"&expectation;","\u2A73":"&Esim;",\u0397:"&Eta;",\u00CB:"&Euml;","\u2203":"&exist;","\u2147":"&exponentiale;",\u0424:"&Fcy;","\u{1D509}":"&Ffr;","\u25FC":"&FilledSmallSquare;","\u25AA":"&squf;","\u{1D53D}":"&Fopf;","\u2200":"&forall;",\u2131:"&Fscr;",\u0403:"&GJcy;",">":"&gt;",\u0393:"&Gamma;",\u03DC:"&Gammad;",\u011E:"&Gbreve;",\u0122:"&Gcedil;",\u011C:"&Gcirc;",\u0413:"&Gcy;",\u0120:"&Gdot;","\u{1D50A}":"&Gfr;","\u22D9":"&ggg;","\u{1D53E}":"&Gopf;","\u2265":"&geq;","\u22DB":"&gtreqless;","\u2267":"&geqq;","\u2AA2":"&GreaterGreater;","\u2277":"&gtrless;","\u2A7E":"&ges;","\u2273":"&gtrsim;","\u{1D4A2}":"&Gscr;","\u226B":"&gg;",\u042A:"&HARDcy;","\u02C7":"&caron;","^":"&Hat;",\u0124:"&Hcirc;",\u210C:"&Poincareplane;",\u210B:"&hamilt;",\u210D:"&quaternions;","\u2500":"&boxh;",\u0126:"&Hstrok;","\u224F":"&bumpeq;",\u0415:"&IEcy;",\u0132:"&IJlig;",\u0401:"&IOcy;",\u00CD:"&Iacute;",\u00CE:"&Icirc;",\u0418:"&Icy;",\u0130:"&Idot;",\u2111:"&imagpart;",\u00CC:"&Igrave;",\u012A:"&Imacr;","\u2148":"&ii;","\u222C":"&Int;","\u222B":"&int;","\u22C2":"&xcap;","\u2063":"&ic;","\u2062":"&it;",\u012E:"&Iogon;","\u{1D540}":"&Iopf;",\u0399:"&Iota;",\u2110:"&imagline;",\u0128:"&Itilde;",\u0406:"&Iukcy;",\u00CF:"&Iuml;",\u0134:"&Jcirc;",\u0419:"&Jcy;","\u{1D50D}":"&Jfr;","\u{1D541}":"&Jopf;","\u{1D4A5}":"&Jscr;",\u0408:"&Jsercy;",\u0404:"&Jukcy;",\u0425:"&KHcy;",\u040C:"&KJcy;",\u039A:"&Kappa;",\u0136:"&Kcedil;",\u041A:"&Kcy;","\u{1D50E}":"&Kfr;","\u{1D542}":"&Kopf;","\u{1D4A6}":"&Kscr;",\u0409:"&LJcy;","<":"&lt;",\u0139:"&Lacute;",\u039B:"&Lambda;","\u27EA":"&Lang;",\u2112:"&lagran;","\u219E":"&twoheadleftarrow;",\u013D:"&Lcaron;",\u013B:"&Lcedil;",\u041B:"&Lcy;","\u27E8":"&langle;","\u2190":"&slarr;","\u21E4":"&larrb;","\u21C6":"&lrarr;","\u2308":"&lceil;","\u27E6":"&lobrk;","\u2961":"&LeftDownTeeVector;","\u21C3":"&downharpoonleft;","\u2959":"&LeftDownVectorBar;","\u230A":"&lfloor;","\u2194":"&leftrightarrow;","\u294E":"&LeftRightVector;","\u22A3":"&dashv;","\u21A4":"&mapstoleft;","\u295A":"&LeftTeeVector;","\u22B2":"&vltri;","\u29CF":"&LeftTriangleBar;","\u22B4":"&trianglelefteq;","\u2951":"&LeftUpDownVector;","\u2960":"&LeftUpTeeVector;","\u21BF":"&upharpoonleft;","\u2958":"&LeftUpVectorBar;","\u21BC":"&lharu;","\u2952":"&LeftVectorBar;","\u22DA":"&lesseqgtr;","\u2266":"&leqq;","\u2276":"&lg;","\u2AA1":"&LessLess;","\u2A7D":"&les;","\u2272":"&lsim;","\u{1D50F}":"&Lfr;","\u22D8":"&Ll;","\u21DA":"&lAarr;",\u013F:"&Lmidot;","\u27F5":"&xlarr;","\u27F7":"&xharr;","\u27F6":"&xrarr;","\u{1D543}":"&Lopf;","\u2199":"&swarrow;","\u2198":"&searrow;","\u21B0":"&lsh;",\u0141:"&Lstrok;","\u226A":"&ll;","\u2905":"&Map;",\u041C:"&Mcy;","\u205F":"&MediumSpace;",\u2133:"&phmmat;","\u{1D510}":"&Mfr;","\u2213":"&mp;","\u{1D544}":"&Mopf;",\u039C:"&Mu;",\u040A:"&NJcy;",\u0143:"&Nacute;",\u0147:"&Ncaron;",\u0145:"&Ncedil;",\u041D:"&Ncy;","\u200B":"&ZeroWidthSpace;","\n":"&NewLine;","\u{1D511}":"&Nfr;","\u2060":"&NoBreak;","\xA0":"&nbsp;",\u2115:"&naturals;","\u2AEC":"&Not;","\u2262":"&nequiv;","\u226D":"&NotCupCap;","\u2226":"&nspar;","\u2209":"&notinva;","\u2260":"&ne;","\u2242\u0338":"&nesim;","\u2204":"&nexists;","\u226F":"&ngtr;","\u2271":"&ngeq;","\u2267\u0338":"&ngeqq;","\u226B\u0338":"&nGtv;","\u2279":"&ntgl;","\u2A7E\u0338":"&nges;","\u2275":"&ngsim;","\u224E\u0338":"&nbump;","\u224F\u0338":"&nbumpe;","\u22EA":"&ntriangleleft;","\u29CF\u0338":"&NotLeftTriangleBar;","\u22EC":"&ntrianglelefteq;","\u226E":"&nlt;","\u2270":"&nleq;","\u2278":"&ntlg;","\u226A\u0338":"&nLtv;","\u2A7D\u0338":"&nles;","\u2274":"&nlsim;","\u2AA2\u0338":"&NotNestedGreaterGreater;","\u2AA1\u0338":"&NotNestedLessLess;","\u2280":"&nprec;","\u2AAF\u0338":"&npreceq;","\u22E0":"&nprcue;","\u220C":"&notniva;","\u22EB":"&ntriangleright;","\u29D0\u0338":"&NotRightTriangleBar;","\u22ED":"&ntrianglerighteq;","\u228F\u0338":"&NotSquareSubset;","\u22E2":"&nsqsube;","\u2290\u0338":"&NotSquareSuperset;","\u22E3":"&nsqsupe;","\u2282\u20D2":"&vnsub;","\u2288":"&nsubseteq;","\u2281":"&nsucc;","\u2AB0\u0338":"&nsucceq;","\u22E1":"&nsccue;","\u227F\u0338":"&NotSucceedsTilde;","\u2283\u20D2":"&vnsup;","\u2289":"&nsupseteq;","\u2241":"&nsim;","\u2244":"&nsimeq;","\u2247":"&ncong;","\u2249":"&napprox;","\u2224":"&nsmid;","\u{1D4A9}":"&Nscr;",\u00D1:"&Ntilde;",\u039D:"&Nu;",\u0152:"&OElig;",\u00D3:"&Oacute;",\u00D4:"&Ocirc;",\u041E:"&Ocy;",\u0150:"&Odblac;","\u{1D512}":"&Ofr;",\u00D2:"&Ograve;",\u014C:"&Omacr;",\u03A9:"&ohm;",\u039F:"&Omicron;","\u{1D546}":"&Oopf;","\u201C":"&ldquo;","\u2018":"&lsquo;","\u2A54":"&Or;","\u{1D4AA}":"&Oscr;",\u00D8:"&Oslash;",\u00D5:"&Otilde;","\u2A37":"&Otimes;",\u00D6:"&Ouml;","\u203E":"&oline;","\u23DE":"&OverBrace;","\u23B4":"&tbrk;","\u23DC":"&OverParenthesis;","\u2202":"&part;",\u041F:"&Pcy;","\u{1D513}":"&Pfr;",\u03A6:"&Phi;",\u03A0:"&Pi;","\xB1":"&pm;",\u2119:"&primes;","\u2ABB":"&Pr;","\u227A":"&prec;","\u2AAF":"&preceq;","\u227C":"&preccurlyeq;","\u227E":"&prsim;","\u2033":"&Prime;","\u220F":"&prod;","\u221D":"&vprop;","\u{1D4AB}":"&Pscr;",\u03A8:"&Psi;",'"':"&quot;","\u{1D514}":"&Qfr;",\u211A:"&rationals;","\u{1D4AC}":"&Qscr;","\u2910":"&drbkarow;","\xAE":"&reg;",\u0154:"&Racute;","\u27EB":"&Rang;","\u21A0":"&twoheadrightarrow;","\u2916":"&Rarrtl;",\u0158:"&Rcaron;",\u0156:"&Rcedil;",\u0420:"&Rcy;",\u211C:"&realpart;","\u220B":"&niv;","\u21CB":"&lrhar;","\u296F":"&duhar;",\u03A1:"&Rho;","\u27E9":"&rangle;","\u2192":"&srarr;","\u21E5":"&rarrb;","\u21C4":"&rlarr;","\u2309":"&rceil;","\u27E7":"&robrk;","\u295D":"&RightDownTeeVector;","\u21C2":"&downharpoonright;","\u2955":"&RightDownVectorBar;","\u230B":"&rfloor;","\u22A2":"&vdash;","\u21A6":"&mapsto;","\u295B":"&RightTeeVector;","\u22B3":"&vrtri;","\u29D0":"&RightTriangleBar;","\u22B5":"&trianglerighteq;","\u294F":"&RightUpDownVector;","\u295C":"&RightUpTeeVector;","\u21BE":"&upharpoonright;","\u2954":"&RightUpVectorBar;","\u21C0":"&rightharpoonup;","\u2953":"&RightVectorBar;",\u211D:"&reals;","\u2970":"&RoundImplies;","\u21DB":"&rAarr;",\u211B:"&realine;","\u21B1":"&rsh;","\u29F4":"&RuleDelayed;",\u0429:"&SHCHcy;",\u0428:"&SHcy;",\u042C:"&SOFTcy;",\u015A:"&Sacute;","\u2ABC":"&Sc;",\u0160:"&Scaron;",\u015E:"&Scedil;",\u015C:"&Scirc;",\u0421:"&Scy;","\u{1D516}":"&Sfr;","\u2191":"&uparrow;",\u03A3:"&Sigma;","\u2218":"&compfn;","\u{1D54A}":"&Sopf;","\u221A":"&radic;","\u25A1":"&square;","\u2293":"&sqcap;","\u228F":"&sqsubset;","\u2291":"&sqsubseteq;","\u2290":"&sqsupset;","\u2292":"&sqsupseteq;","\u2294":"&sqcup;","\u{1D4AE}":"&Sscr;","\u22C6":"&sstarf;","\u22D0":"&Subset;","\u2286":"&subseteq;","\u227B":"&succ;","\u2AB0":"&succeq;","\u227D":"&succcurlyeq;","\u227F":"&succsim;","\u2211":"&sum;","\u22D1":"&Supset;","\u2283":"&supset;","\u2287":"&supseteq;",\u00DE:"&THORN;","\u2122":"&trade;",\u040B:"&TSHcy;",\u0426:"&TScy;"," ":"&Tab;",\u03A4:"&Tau;",\u0164:"&Tcaron;",\u0162:"&Tcedil;",\u0422:"&Tcy;","\u{1D517}":"&Tfr;","\u2234":"&therefore;",\u0398:"&Theta;","\u205F\u200A":"&ThickSpace;","\u2009":"&thinsp;","\u223C":"&thksim;","\u2243":"&simeq;","\u2245":"&cong;","\u2248":"&thkap;","\u{1D54B}":"&Topf;","\u20DB":"&tdot;","\u{1D4AF}":"&Tscr;",\u0166:"&Tstrok;",\u00DA:"&Uacute;","\u219F":"&Uarr;","\u2949":"&Uarrocir;",\u040E:"&Ubrcy;",\u016C:"&Ubreve;",\u00DB:"&Ucirc;",\u0423:"&Ucy;",\u0170:"&Udblac;","\u{1D518}":"&Ufr;",\u00D9:"&Ugrave;",\u016A:"&Umacr;",_:"&lowbar;","\u23DF":"&UnderBrace;","\u23B5":"&bbrk;","\u23DD":"&UnderParenthesis;","\u22C3":"&xcup;","\u228E":"&uplus;",\u0172:"&Uogon;","\u{1D54C}":"&Uopf;","\u2912":"&UpArrowBar;","\u21C5":"&udarr;","\u2195":"&varr;","\u296E":"&udhar;","\u22A5":"&perp;","\u21A5":"&mapstoup;","\u2196":"&nwarrow;","\u2197":"&nearrow;",\u03D2:"&upsih;",\u03A5:"&Upsilon;",\u016E:"&Uring;","\u{1D4B0}":"&Uscr;",\u0168:"&Utilde;",\u00DC:"&Uuml;","\u22AB":"&VDash;","\u2AEB":"&Vbar;",\u0412:"&Vcy;","\u22A9":"&Vdash;","\u2AE6":"&Vdashl;","\u22C1":"&xvee;","\u2016":"&Vert;","\u2223":"&smid;","|":"&vert;","\u2758":"&VerticalSeparator;","\u2240":"&wreath;","\u200A":"&hairsp;","\u{1D519}":"&Vfr;","\u{1D54D}":"&Vopf;","\u{1D4B1}":"&Vscr;","\u22AA":"&Vvdash;",\u0174:"&Wcirc;","\u22C0":"&xwedge;","\u{1D51A}":"&Wfr;","\u{1D54E}":"&Wopf;","\u{1D4B2}":"&Wscr;","\u{1D51B}":"&Xfr;",\u039E:"&Xi;","\u{1D54F}":"&Xopf;","\u{1D4B3}":"&Xscr;",\u042F:"&YAcy;",\u0407:"&YIcy;",\u042E:"&YUcy;",\u00DD:"&Yacute;",\u0176:"&Ycirc;",\u042B:"&Ycy;","\u{1D51C}":"&Yfr;","\u{1D550}":"&Yopf;","\u{1D4B4}":"&Yscr;",\u0178:"&Yuml;",\u0416:"&ZHcy;",\u0179:"&Zacute;",\u017D:"&Zcaron;",\u0417:"&Zcy;",\u017B:"&Zdot;",\u0396:"&Zeta;",\u2128:"&zeetrf;",\u2124:"&integers;","\u{1D4B5}":"&Zscr;",\u00E1:"&aacute;",\u0103:"&abreve;","\u223E":"&mstpos;","\u223E\u0333":"&acE;","\u223F":"&acd;",\u00E2:"&acirc;",\u0430:"&acy;",\u00E6:"&aelig;","\u{1D51E}":"&afr;",\u00E0:"&agrave;",\u2135:"&aleph;",\u03B1:"&alpha;",\u0101:"&amacr;","\u2A3F":"&amalg;","\u2227":"&wedge;","\u2A55":"&andand;","\u2A5C":"&andd;","\u2A58":"&andslope;","\u2A5A":"&andv;","\u2220":"&angle;","\u29A4":"&ange;","\u2221":"&measuredangle;","\u29A8":"&angmsdaa;","\u29A9":"&angmsdab;","\u29AA":"&angmsdac;","\u29AB":"&angmsdad;","\u29AC":"&angmsdae;","\u29AD":"&angmsdaf;","\u29AE":"&angmsdag;","\u29AF":"&angmsdah;","\u221F":"&angrt;","\u22BE":"&angrtvb;","\u299D":"&angrtvbd;","\u2222":"&angsph;","\u237C":"&angzarr;",\u0105:"&aogon;","\u{1D552}":"&aopf;","\u2A70":"&apE;","\u2A6F":"&apacir;","\u224A":"&approxeq;","\u224B":"&apid;","'":"&apos;",\u00E5:"&aring;","\u{1D4B6}":"&ascr;","*":"&midast;",\u00E3:"&atilde;",\u00E4:"&auml;","\u2A11":"&awint;","\u2AED":"&bNot;","\u224C":"&bcong;","\u03F6":"&bepsi;","\u2035":"&bprime;","\u223D":"&bsim;","\u22CD":"&bsime;","\u22BD":"&barvee;","\u2305":"&barwedge;","\u23B6":"&bbrktbrk;",\u0431:"&bcy;","\u201E":"&ldquor;","\u29B0":"&bemptyv;",\u03B2:"&beta;",\u2136:"&beth;","\u226C":"&twixt;","\u{1D51F}":"&bfr;","\u25EF":"&xcirc;","\u2A00":"&xodot;","\u2A01":"&xoplus;","\u2A02":"&xotime;","\u2A06":"&xsqcup;","\u2605":"&starf;","\u25BD":"&xdtri;","\u25B3":"&xutri;","\u2A04":"&xuplus;","\u290D":"&rbarr;","\u29EB":"&lozf;","\u25B4":"&utrif;","\u25BE":"&dtrif;","\u25C2":"&ltrif;","\u25B8":"&rtrif;","\u2423":"&blank;","\u2592":"&blk12;","\u2591":"&blk14;","\u2593":"&blk34;","\u2588":"&block;","=\u20E5":"&bne;","\u2261\u20E5":"&bnequiv;","\u2310":"&bnot;","\u{1D553}":"&bopf;","\u22C8":"&bowtie;","\u2557":"&boxDL;","\u2554":"&boxDR;","\u2556":"&boxDl;","\u2553":"&boxDr;","\u2550":"&boxH;","\u2566":"&boxHD;","\u2569":"&boxHU;","\u2564":"&boxHd;","\u2567":"&boxHu;","\u255D":"&boxUL;","\u255A":"&boxUR;","\u255C":"&boxUl;","\u2559":"&boxUr;","\u2551":"&boxV;","\u256C":"&boxVH;","\u2563":"&boxVL;","\u2560":"&boxVR;","\u256B":"&boxVh;","\u2562":"&boxVl;","\u255F":"&boxVr;","\u29C9":"&boxbox;","\u2555":"&boxdL;","\u2552":"&boxdR;","\u2510":"&boxdl;","\u250C":"&boxdr;","\u2565":"&boxhD;","\u2568":"&boxhU;","\u252C":"&boxhd;","\u2534":"&boxhu;","\u229F":"&minusb;","\u229E":"&plusb;","\u22A0":"&timesb;","\u255B":"&boxuL;","\u2558":"&boxuR;","\u2518":"&boxul;","\u2514":"&boxur;","\u2502":"&boxv;","\u256A":"&boxvH;","\u2561":"&boxvL;","\u255E":"&boxvR;","\u253C":"&boxvh;","\u2524":"&boxvl;","\u251C":"&boxvr;","\xA6":"&brvbar;","\u{1D4B7}":"&bscr;","\u204F":"&bsemi;","\\":"&bsol;","\u29C5":"&bsolb;","\u27C8":"&bsolhsub;","\u2022":"&bullet;","\u2AAE":"&bumpE;",\u0107:"&cacute;","\u2229":"&cap;","\u2A44":"&capand;","\u2A49":"&capbrcup;","\u2A4B":"&capcap;","\u2A47":"&capcup;","\u2A40":"&capdot;","\u2229\uFE00":"&caps;","\u2041":"&caret;","\u2A4D":"&ccaps;",\u010D:"&ccaron;",\u00E7:"&ccedil;",\u0109:"&ccirc;","\u2A4C":"&ccups;","\u2A50":"&ccupssm;",\u010B:"&cdot;","\u29B2":"&cemptyv;","\xA2":"&cent;","\u{1D520}":"&cfr;",\u0447:"&chcy;","\u2713":"&checkmark;",\u03C7:"&chi;","\u25CB":"&cir;","\u29C3":"&cirE;","\u02C6":"&circ;","\u2257":"&cire;","\u21BA":"&olarr;","\u21BB":"&orarr;","\u24C8":"&oS;","\u229B":"&oast;","\u229A":"&ocir;","\u229D":"&odash;","\u2A10":"&cirfnint;","\u2AEF":"&cirmid;","\u29C2":"&cirscir;","\u2663":"&clubsuit;",":":"&colon;",",":"&comma;","@":"&commat;","\u2201":"&complement;","\u2A6D":"&congdot;","\u{1D554}":"&copf;","\u2117":"&copysr;","\u21B5":"&crarr;","\u2717":"&cross;","\u{1D4B8}":"&cscr;","\u2ACF":"&csub;","\u2AD1":"&csube;","\u2AD0":"&csup;","\u2AD2":"&csupe;","\u22EF":"&ctdot;","\u2938":"&cudarrl;","\u2935":"&cudarrr;","\u22DE":"&curlyeqprec;","\u22DF":"&curlyeqsucc;","\u21B6":"&curvearrowleft;","\u293D":"&cularrp;","\u222A":"&cup;","\u2A48":"&cupbrcap;","\u2A46":"&cupcap;","\u2A4A":"&cupcup;","\u228D":"&cupdot;","\u2A45":"&cupor;","\u222A\uFE00":"&cups;","\u21B7":"&curvearrowright;","\u293C":"&curarrm;","\u22CE":"&cuvee;","\u22CF":"&cuwed;","\xA4":"&curren;","\u2231":"&cwint;","\u232D":"&cylcty;","\u2965":"&dHar;","\u2020":"&dagger;",\u2138:"&daleth;","\u2010":"&hyphen;","\u290F":"&rBarr;",\u010F:"&dcaron;",\u0434:"&dcy;","\u21CA":"&downdownarrows;","\u2A77":"&eDDot;","\xB0":"&deg;",\u03B4:"&delta;","\u29B1":"&demptyv;","\u297F":"&dfisht;","\u{1D521}":"&dfr;","\u2666":"&diams;",\u03DD:"&gammad;","\u22F2":"&disin;","\xF7":"&divide;","\u22C7":"&divonx;",\u0452:"&djcy;","\u231E":"&llcorner;","\u230D":"&dlcrop;",$:"&dollar;","\u{1D555}":"&dopf;","\u2251":"&eDot;","\u2238":"&minusd;","\u2214":"&plusdo;","\u22A1":"&sdotb;","\u231F":"&lrcorner;","\u230C":"&drcrop;","\u{1D4B9}":"&dscr;",\u0455:"&dscy;","\u29F6":"&dsol;",\u0111:"&dstrok;","\u22F1":"&dtdot;","\u25BF":"&triangledown;","\u29A6":"&dwangle;",\u045F:"&dzcy;","\u27FF":"&dzigrarr;",\u00E9:"&eacute;","\u2A6E":"&easter;",\u011B:"&ecaron;","\u2256":"&eqcirc;",\u00EA:"&ecirc;","\u2255":"&eqcolon;",\u044D:"&ecy;",\u0117:"&edot;","\u2252":"&fallingdotseq;","\u{1D522}":"&efr;","\u2A9A":"&eg;",\u00E8:"&egrave;","\u2A96":"&eqslantgtr;","\u2A98":"&egsdot;","\u2A99":"&el;","\u23E7":"&elinters;",\u2113:"&ell;","\u2A95":"&eqslantless;","\u2A97":"&elsdot;",\u0113:"&emacr;","\u2205":"&varnothing;","\u2004":"&emsp13;","\u2005":"&emsp14;","\u2003":"&emsp;",\u014B:"&eng;","\u2002":"&ensp;",\u0119:"&eogon;","\u{1D556}":"&eopf;","\u22D5":"&epar;","\u29E3":"&eparsl;","\u2A71":"&eplus;",\u03B5:"&epsilon;","\u03F5":"&varepsilon;","=":"&equals;","\u225F":"&questeq;","\u2A78":"&equivDD;","\u29E5":"&eqvparsl;","\u2253":"&risingdotseq;","\u2971":"&erarr;",\u212F:"&escr;",\u03B7:"&eta;",\u00F0:"&eth;",\u00EB:"&euml;","\u20AC":"&euro;","!":"&excl;",\u0444:"&fcy;","\u2640":"&female;",\uFB03:"&ffilig;",\uFB00:"&fflig;",\uFB04:"&ffllig;","\u{1D523}":"&ffr;",\uFB01:"&filig;",fj:"&fjlig;","\u266D":"&flat;",\uFB02:"&fllig;","\u25B1":"&fltns;",\u0192:"&fnof;","\u{1D557}":"&fopf;","\u22D4":"&pitchfork;","\u2AD9":"&forkv;","\u2A0D":"&fpartint;","\xBD":"&half;","\u2153":"&frac13;","\xBC":"&frac14;","\u2155":"&frac15;","\u2159":"&frac16;","\u215B":"&frac18;","\u2154":"&frac23;","\u2156":"&frac25;","\xBE":"&frac34;","\u2157":"&frac35;","\u215C":"&frac38;","\u2158":"&frac45;","\u215A":"&frac56;","\u215D":"&frac58;","\u215E":"&frac78;","\u2044":"&frasl;","\u2322":"&sfrown;","\u{1D4BB}":"&fscr;","\u2A8C":"&gtreqqless;",\u01F5:"&gacute;",\u03B3:"&gamma;","\u2A86":"&gtrapprox;",\u011F:"&gbreve;",\u011D:"&gcirc;",\u0433:"&gcy;",\u0121:"&gdot;","\u2AA9":"&gescc;","\u2A80":"&gesdot;","\u2A82":"&gesdoto;","\u2A84":"&gesdotol;","\u22DB\uFE00":"&gesl;","\u2A94":"&gesles;","\u{1D524}":"&gfr;",\u2137:"&gimel;",\u0453:"&gjcy;","\u2A92":"&glE;","\u2AA5":"&gla;","\u2AA4":"&glj;","\u2269":"&gneqq;","\u2A8A":"&gnapprox;","\u2A88":"&gneq;","\u22E7":"&gnsim;","\u{1D558}":"&gopf;",\u210A:"&gscr;","\u2A8E":"&gsime;","\u2A90":"&gsiml;","\u2AA7":"&gtcc;","\u2A7A":"&gtcir;","\u22D7":"&gtrdot;","\u2995":"&gtlPar;","\u2A7C":"&gtquest;","\u2978":"&gtrarr;","\u2269\uFE00":"&gvnE;",\u044A:"&hardcy;","\u2948":"&harrcir;","\u21AD":"&leftrightsquigarrow;",\u210F:"&plankv;",\u0125:"&hcirc;","\u2665":"&heartsuit;","\u2026":"&mldr;","\u22B9":"&hercon;","\u{1D525}":"&hfr;","\u2925":"&searhk;","\u2926":"&swarhk;","\u21FF":"&hoarr;","\u223B":"&homtht;","\u21A9":"&larrhk;","\u21AA":"&rarrhk;","\u{1D559}":"&hopf;","\u2015":"&horbar;","\u{1D4BD}":"&hscr;",\u0127:"&hstrok;","\u2043":"&hybull;",\u00ED:"&iacute;",\u00EE:"&icirc;",\u0438:"&icy;",\u0435:"&iecy;","\xA1":"&iexcl;","\u{1D526}":"&ifr;",\u00EC:"&igrave;","\u2A0C":"&qint;","\u222D":"&tint;","\u29DC":"&iinfin;","\u2129":"&iiota;",\u0133:"&ijlig;",\u012B:"&imacr;",\u0131:"&inodot;","\u22B7":"&imof;",\u01B5:"&imped;","\u2105":"&incare;","\u221E":"&infin;","\u29DD":"&infintie;","\u22BA":"&intercal;","\u2A17":"&intlarhk;","\u2A3C":"&iprod;",\u0451:"&iocy;",\u012F:"&iogon;","\u{1D55A}":"&iopf;",\u03B9:"&iota;","\xBF":"&iquest;","\u{1D4BE}":"&iscr;","\u22F9":"&isinE;","\u22F5":"&isindot;","\u22F4":"&isins;","\u22F3":"&isinsv;",\u0129:"&itilde;",\u0456:"&iukcy;",\u00EF:"&iuml;",\u0135:"&jcirc;",\u0439:"&jcy;","\u{1D527}":"&jfr;","\u0237":"&jmath;","\u{1D55B}":"&jopf;","\u{1D4BF}":"&jscr;",\u0458:"&jsercy;",\u0454:"&jukcy;",\u03BA:"&kappa;",\u03F0:"&varkappa;",\u0137:"&kcedil;",\u043A:"&kcy;","\u{1D528}":"&kfr;",\u0138:"&kgreen;",\u0445:"&khcy;",\u045C:"&kjcy;","\u{1D55C}":"&kopf;","\u{1D4C0}":"&kscr;","\u291B":"&lAtail;","\u290E":"&lBarr;","\u2A8B":"&lesseqqgtr;","\u2962":"&lHar;",\u013A:"&lacute;","\u29B4":"&laemptyv;",\u03BB:"&lambda;","\u2991":"&langd;","\u2A85":"&lessapprox;","\xAB":"&laquo;","\u291F":"&larrbfs;","\u291D":"&larrfs;","\u21AB":"&looparrowleft;","\u2939":"&larrpl;","\u2973":"&larrsim;","\u21A2":"&leftarrowtail;","\u2AAB":"&lat;","\u2919":"&latail;","\u2AAD":"&late;","\u2AAD\uFE00":"&lates;","\u290C":"&lbarr;","\u2772":"&lbbrk;","{":"&lcub;","[":"&lsqb;","\u298B":"&lbrke;","\u298F":"&lbrksld;","\u298D":"&lbrkslu;",\u013E:"&lcaron;",\u013C:"&lcedil;",\u043B:"&lcy;","\u2936":"&ldca;","\u2967":"&ldrdhar;","\u294B":"&ldrushar;","\u21B2":"&ldsh;","\u2264":"&leq;","\u21C7":"&llarr;","\u22CB":"&lthree;","\u2AA8":"&lescc;","\u2A7F":"&lesdot;","\u2A81":"&lesdoto;","\u2A83":"&lesdotor;","\u22DA\uFE00":"&lesg;","\u2A93":"&lesges;","\u22D6":"&ltdot;","\u297C":"&lfisht;","\u{1D529}":"&lfr;","\u2A91":"&lgE;","\u296A":"&lharul;","\u2584":"&lhblk;",\u0459:"&ljcy;","\u296B":"&llhard;","\u25FA":"&lltri;",\u0140:"&lmidot;","\u23B0":"&lmoustache;","\u2268":"&lneqq;","\u2A89":"&lnapprox;","\u2A87":"&lneq;","\u22E6":"&lnsim;","\u27EC":"&loang;","\u21FD":"&loarr;","\u27FC":"&xmap;","\u21AC":"&rarrlp;","\u2985":"&lopar;","\u{1D55D}":"&lopf;","\u2A2D":"&loplus;","\u2A34":"&lotimes;","\u2217":"&lowast;","\u25CA":"&lozenge;","(":"&lpar;","\u2993":"&lparlt;","\u296D":"&lrhard;","\u200E":"&lrm;","\u22BF":"&lrtri;","\u2039":"&lsaquo;","\u{1D4C1}":"&lscr;","\u2A8D":"&lsime;","\u2A8F":"&lsimg;","\u201A":"&sbquo;",\u0142:"&lstrok;","\u2AA6":"&ltcc;","\u2A79":"&ltcir;","\u22C9":"&ltimes;","\u2976":"&ltlarr;","\u2A7B":"&ltquest;","\u2996":"&ltrPar;","\u25C3":"&triangleleft;","\u294A":"&lurdshar;","\u2966":"&luruhar;","\u2268\uFE00":"&lvnE;","\u223A":"&mDDot;","\xAF":"&strns;","\u2642":"&male;","\u2720":"&maltese;","\u25AE":"&marker;","\u2A29":"&mcomma;",\u043C:"&mcy;","\u2014":"&mdash;","\u{1D52A}":"&mfr;","\u2127":"&mho;",\u00B5:"&micro;","\u2AF0":"&midcir;","\u2212":"&minus;","\u2A2A":"&minusdu;","\u2ADB":"&mlcp;","\u22A7":"&models;","\u{1D55E}":"&mopf;","\u{1D4C2}":"&mscr;",\u03BC:"&mu;","\u22B8":"&mumap;","\u22D9\u0338":"&nGg;","\u226B\u20D2":"&nGt;","\u21CD":"&nlArr;","\u21CE":"&nhArr;","\u22D8\u0338":"&nLl;","\u226A\u20D2":"&nLt;","\u21CF":"&nrArr;","\u22AF":"&nVDash;","\u22AE":"&nVdash;",\u0144:"&nacute;","\u2220\u20D2":"&nang;","\u2A70\u0338":"&napE;","\u224B\u0338":"&napid;",\u0149:"&napos;","\u266E":"&natural;","\u2A43":"&ncap;",\u0148:"&ncaron;",\u0146:"&ncedil;","\u2A6D\u0338":"&ncongdot;","\u2A42":"&ncup;",\u043D:"&ncy;","\u2013":"&ndash;","\u21D7":"&neArr;","\u2924":"&nearhk;","\u2250\u0338":"&nedot;","\u2928":"&toea;","\u{1D52B}":"&nfr;","\u21AE":"&nleftrightarrow;","\u2AF2":"&nhpar;","\u22FC":"&nis;","\u22FA":"&nisd;",\u045A:"&njcy;","\u2266\u0338":"&nleqq;","\u219A":"&nleftarrow;","\u2025":"&nldr;","\u{1D55F}":"&nopf;","\xAC":"&not;","\u22F9\u0338":"&notinE;","\u22F5\u0338":"&notindot;","\u22F7":"&notinvb;","\u22F6":"&notinvc;","\u22FE":"&notnivb;","\u22FD":"&notnivc;","\u2AFD\u20E5":"&nparsl;","\u2202\u0338":"&npart;","\u2A14":"&npolint;","\u219B":"&nrightarrow;","\u2933\u0338":"&nrarrc;","\u219D\u0338":"&nrarrw;","\u{1D4C3}":"&nscr;","\u2284":"&nsub;","\u2AC5\u0338":"&nsubseteqq;","\u2285":"&nsup;","\u2AC6\u0338":"&nsupseteqq;",\u00F1:"&ntilde;",\u03BD:"&nu;","#":"&num;","\u2116":"&numero;","\u2007":"&numsp;","\u22AD":"&nvDash;","\u2904":"&nvHarr;","\u224D\u20D2":"&nvap;","\u22AC":"&nvdash;","\u2265\u20D2":"&nvge;",">\u20D2":"&nvgt;","\u29DE":"&nvinfin;","\u2902":"&nvlArr;","\u2264\u20D2":"&nvle;","<\u20D2":"&nvlt;","\u22B4\u20D2":"&nvltrie;","\u2903":"&nvrArr;","\u22B5\u20D2":"&nvrtrie;","\u223C\u20D2":"&nvsim;","\u21D6":"&nwArr;","\u2923":"&nwarhk;","\u2927":"&nwnear;",\u00F3:"&oacute;",\u00F4:"&ocirc;",\u043E:"&ocy;",\u0151:"&odblac;","\u2A38":"&odiv;","\u29BC":"&odsold;",\u0153:"&oelig;","\u29BF":"&ofcir;","\u{1D52C}":"&ofr;","\u02DB":"&ogon;",\u00F2:"&ograve;","\u29C1":"&ogt;","\u29B5":"&ohbar;","\u29BE":"&olcir;","\u29BB":"&olcross;","\u29C0":"&olt;",\u014D:"&omacr;",\u03C9:"&omega;",\u03BF:"&omicron;","\u29B6":"&omid;","\u{1D560}":"&oopf;","\u29B7":"&opar;","\u29B9":"&operp;","\u2228":"&vee;","\u2A5D":"&ord;",\u2134:"&oscr;",\u00AA:"&ordf;",\u00BA:"&ordm;","\u22B6":"&origof;","\u2A56":"&oror;","\u2A57":"&orslope;","\u2A5B":"&orv;",\u00F8:"&oslash;","\u2298":"&osol;",\u00F5:"&otilde;","\u2A36":"&otimesas;",\u00F6:"&ouml;","\u233D":"&ovbar;","\xB6":"&para;","\u2AF3":"&parsim;","\u2AFD":"&parsl;",\u043F:"&pcy;","%":"&percnt;",".":"&period;","\u2030":"&permil;","\u2031":"&pertenk;","\u{1D52D}":"&pfr;",\u03C6:"&phi;",\u03D5:"&varphi;","\u260E":"&phone;",\u03C0:"&pi;",\u03D6:"&varpi;",\u210E:"&planckh;","+":"&plus;","\u2A23":"&plusacir;","\u2A22":"&pluscir;","\u2A25":"&plusdu;","\u2A72":"&pluse;","\u2A26":"&plussim;","\u2A27":"&plustwo;","\u2A15":"&pointint;","\u{1D561}":"&popf;","\xA3":"&pound;","\u2AB3":"&prE;","\u2AB7":"&precapprox;","\u2AB9":"&prnap;","\u2AB5":"&prnE;","\u22E8":"&prnsim;","\u2032":"&prime;","\u232E":"&profalar;","\u2312":"&profline;","\u2313":"&profsurf;","\u22B0":"&prurel;","\u{1D4C5}":"&pscr;",\u03C8:"&psi;","\u2008":"&puncsp;","\u{1D52E}":"&qfr;","\u{1D562}":"&qopf;","\u2057":"&qprime;","\u{1D4C6}":"&qscr;","\u2A16":"&quatint;","?":"&quest;","\u291C":"&rAtail;","\u2964":"&rHar;","\u223D\u0331":"&race;",\u0155:"&racute;","\u29B3":"&raemptyv;","\u2992":"&rangd;","\u29A5":"&range;","\xBB":"&raquo;","\u2975":"&rarrap;","\u2920":"&rarrbfs;","\u2933":"&rarrc;","\u291E":"&rarrfs;","\u2945":"&rarrpl;","\u2974":"&rarrsim;","\u21A3":"&rightarrowtail;","\u219D":"&rightsquigarrow;","\u291A":"&ratail;","\u2236":"&ratio;","\u2773":"&rbbrk;","}":"&rcub;","]":"&rsqb;","\u298C":"&rbrke;","\u298E":"&rbrksld;","\u2990":"&rbrkslu;",\u0159:"&rcaron;",\u0157:"&rcedil;",\u0440:"&rcy;","\u2937":"&rdca;","\u2969":"&rdldhar;","\u21B3":"&rdsh;","\u25AD":"&rect;","\u297D":"&rfisht;","\u{1D52F}":"&rfr;","\u296C":"&rharul;",\u03C1:"&rho;",\u03F1:"&varrho;","\u21C9":"&rrarr;","\u22CC":"&rthree;","\u02DA":"&ring;","\u200F":"&rlm;","\u23B1":"&rmoustache;","\u2AEE":"&rnmid;","\u27ED":"&roang;","\u21FE":"&roarr;","\u2986":"&ropar;","\u{1D563}":"&ropf;","\u2A2E":"&roplus;","\u2A35":"&rotimes;",")":"&rpar;","\u2994":"&rpargt;","\u2A12":"&rppolint;","\u203A":"&rsaquo;","\u{1D4C7}":"&rscr;","\u22CA":"&rtimes;","\u25B9":"&triangleright;","\u29CE":"&rtriltri;","\u2968":"&ruluhar;","\u211E":"&rx;",\u015B:"&sacute;","\u2AB4":"&scE;","\u2AB8":"&succapprox;",\u0161:"&scaron;",\u015F:"&scedil;",\u015D:"&scirc;","\u2AB6":"&succneqq;","\u2ABA":"&succnapprox;","\u22E9":"&succnsim;","\u2A13":"&scpolint;",\u0441:"&scy;","\u22C5":"&sdot;","\u2A66":"&sdote;","\u21D8":"&seArr;","\xA7":"&sect;",";":"&semi;","\u2929":"&tosa;","\u2736":"&sext;","\u{1D530}":"&sfr;","\u266F":"&sharp;",\u0449:"&shchcy;",\u0448:"&shcy;","\xAD":"&shy;",\u03C3:"&sigma;",\u03C2:"&varsigma;","\u2A6A":"&simdot;","\u2A9E":"&simg;","\u2AA0":"&simgE;","\u2A9D":"&siml;","\u2A9F":"&simlE;","\u2246":"&simne;","\u2A24":"&simplus;","\u2972":"&simrarr;","\u2A33":"&smashp;","\u29E4":"&smeparsl;","\u2323":"&ssmile;","\u2AAA":"&smt;","\u2AAC":"&smte;","\u2AAC\uFE00":"&smtes;",\u044C:"&softcy;","/":"&sol;","\u29C4":"&solb;","\u233F":"&solbar;","\u{1D564}":"&sopf;","\u2660":"&spadesuit;","\u2293\uFE00":"&sqcaps;","\u2294\uFE00":"&sqcups;","\u{1D4C8}":"&sscr;","\u2606":"&star;","\u2282":"&subset;","\u2AC5":"&subseteqq;","\u2ABD":"&subdot;","\u2AC3":"&subedot;","\u2AC1":"&submult;","\u2ACB":"&subsetneqq;","\u228A":"&subsetneq;","\u2ABF":"&subplus;","\u2979":"&subrarr;","\u2AC7":"&subsim;","\u2AD5":"&subsub;","\u2AD3":"&subsup;","\u266A":"&sung;","\xB9":"&sup1;","\xB2":"&sup2;","\xB3":"&sup3;","\u2AC6":"&supseteqq;","\u2ABE":"&supdot;","\u2AD8":"&supdsub;","\u2AC4":"&supedot;","\u27C9":"&suphsol;","\u2AD7":"&suphsub;","\u297B":"&suplarr;","\u2AC2":"&supmult;","\u2ACC":"&supsetneqq;","\u228B":"&supsetneq;","\u2AC0":"&supplus;","\u2AC8":"&supsim;","\u2AD4":"&supsub;","\u2AD6":"&supsup;","\u21D9":"&swArr;","\u292A":"&swnwar;",\u00DF:"&szlig;","\u2316":"&target;",\u03C4:"&tau;",\u0165:"&tcaron;",\u0163:"&tcedil;",\u0442:"&tcy;","\u2315":"&telrec;","\u{1D531}":"&tfr;",\u03B8:"&theta;",\u03D1:"&vartheta;",\u00FE:"&thorn;","\xD7":"&times;","\u2A31":"&timesbar;","\u2A30":"&timesd;","\u2336":"&topbot;","\u2AF1":"&topcir;","\u{1D565}":"&topf;","\u2ADA":"&topfork;","\u2034":"&tprime;","\u25B5":"&utri;","\u225C":"&trie;","\u25EC":"&tridot;","\u2A3A":"&triminus;","\u2A39":"&triplus;","\u29CD":"&trisb;","\u2A3B":"&tritime;","\u23E2":"&trpezium;","\u{1D4C9}":"&tscr;",\u0446:"&tscy;",\u045B:"&tshcy;",\u0167:"&tstrok;","\u2963":"&uHar;",\u00FA:"&uacute;",\u045E:"&ubrcy;",\u016D:"&ubreve;",\u00FB:"&ucirc;",\u0443:"&ucy;",\u0171:"&udblac;","\u297E":"&ufisht;","\u{1D532}":"&ufr;",\u00F9:"&ugrave;","\u2580":"&uhblk;","\u231C":"&ulcorner;","\u230F":"&ulcrop;","\u25F8":"&ultri;",\u016B:"&umacr;",\u0173:"&uogon;","\u{1D566}":"&uopf;",\u03C5:"&upsilon;","\u21C8":"&uuarr;","\u231D":"&urcorner;","\u230E":"&urcrop;",\u016F:"&uring;","\u25F9":"&urtri;","\u{1D4CA}":"&uscr;","\u22F0":"&utdot;",\u0169:"&utilde;",\u00FC:"&uuml;","\u29A7":"&uwangle;","\u2AE8":"&vBar;","\u2AE9":"&vBarv;","\u299C":"&vangrt;","\u228A\uFE00":"&vsubne;","\u2ACB\uFE00":"&vsubnE;","\u228B\uFE00":"&vsupne;","\u2ACC\uFE00":"&vsupnE;",\u0432:"&vcy;","\u22BB":"&veebar;","\u225A":"&veeeq;","\u22EE":"&vellip;","\u{1D533}":"&vfr;","\u{1D567}":"&vopf;","\u{1D4CB}":"&vscr;","\u299A":"&vzigzag;",\u0175:"&wcirc;","\u2A5F":"&wedbar;","\u2259":"&wedgeq;","\u2118":"&wp;","\u{1D534}":"&wfr;","\u{1D568}":"&wopf;","\u{1D4CC}":"&wscr;","\u{1D535}":"&xfr;",\u03BE:"&xi;","\u22FB":"&xnis;","\u{1D569}":"&xopf;","\u{1D4CD}":"&xscr;",\u00FD:"&yacute;",\u044F:"&yacy;",\u0177:"&ycirc;",\u044B:"&ycy;","\xA5":"&yen;","\u{1D536}":"&yfr;",\u0457:"&yicy;","\u{1D56A}":"&yopf;","\u{1D4CE}":"&yscr;",\u044E:"&yucy;",\u00FF:"&yuml;",\u017A:"&zacute;",\u017E:"&zcaron;",\u0437:"&zcy;",\u017C:"&zdot;",\u03B6:"&zeta;","\u{1D537}":"&zfr;",\u0436:"&zhcy;","\u21DD":"&zigrarr;","\u{1D56B}":"&zopf;","\u{1D4CF}":"&zscr;","\u200D":"&zwj;","\u200C":"&zwnj;"}}}});var Jv=J(Pp=>{"use strict";Object.defineProperty(Pp,"__esModule",{value:!0});Pp.numericUnicodeMap={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376}});var _v=J($s=>{"use strict";Object.defineProperty($s,"__esModule",{value:!0});$s.fromCodePoint=String.fromCodePoint||function(n){return String.fromCharCode(Math.floor((n-65536)/1024)+55296,(n-65536)%1024+56320)};$s.getCodePoint=String.prototype.codePointAt?function(n,e){return n.codePointAt(e)}:function(n,e){return(n.charCodeAt(e)-55296)*1024+n.charCodeAt(e+1)-56320+65536};$s.highSurrogateFrom=55296;$s.highSurrogateTo=56319});var nw=J(zo=>{"use strict";var ea=zo&&zo.__assign||function(){return ea=Object.assign||function(n){for(var e,t=1,i=arguments.length;t<i;t++){e=arguments[t];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r])}return n},ea.apply(this,arguments)};Object.defineProperty(zo,"__esModule",{value:!0});var bc=Yv(),hk=Jv(),$v=_v(),Sp=ea(ea({},bc.namedReferences),{all:bc.namedReferences.html5});function ew(n,e,t){e.lastIndex=0;var i=e.exec(n),r;if(i){r="";var o=0;do{o!==i.index&&(r+=n.substring(o,i.index));var s=i[0];r+=t(s),o=i.index+s.length}while(i=e.exec(n));o!==n.length&&(r+=n.substring(o))}else r=n;return r}var uk={specialChars:/[<>'"&]/g,nonAscii:/[<>'"&\u0080-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/g,nonAsciiPrintable:/[<>'"&\x01-\x08\x11-\x15\x17-\x1F\x7f-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/g,nonAsciiPrintableOnly:/[\x01-\x08\x11-\x15\x17-\x1F\x7f-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/g,extensive:/[\x01-\x0c\x0e-\x1f\x21-\x2c\x2e-\x2f\x3a-\x40\x5b-\x60\x7b-\x7d\x7f-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/g},fk={mode:"specialChars",level:"all",numeric:"decimal"};function pk(n,e){var t=e===void 0?fk:e,i=t.mode,r=i===void 0?"specialChars":i,o=t.numeric,s=o===void 0?"decimal":o,a=t.level,c=a===void 0?"all":a;if(!n)return"";var l=uk[r],d=Sp[c].characters,h=s==="hexadecimal";return ew(n,l,function(u){var p=d[u];if(!p){var f=u.length>1?$v.getCodePoint(u,0):u.charCodeAt(0);p=(h?"&#x"+f.toString(16):"&#"+f)+";"}return p})}zo.encode=pk;var gk={scope:"body",level:"all"},kp=/&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);/g,Cp=/&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+)[;=]?/g,Qv={xml:{strict:kp,attribute:Cp,body:bc.bodyRegExps.xml},html4:{strict:kp,attribute:Cp,body:bc.bodyRegExps.html4},html5:{strict:kp,attribute:Cp,body:bc.bodyRegExps.html5}},mk=ea(ea({},Qv),{all:Qv.html5}),tw=String.fromCharCode,xk=tw(65533),bk={level:"all"};function iw(n,e,t,i){var r=n,o=n[n.length-1];if(t&&o==="=")r=n;else if(i&&o!==";")r=n;else{var s=e[n];if(s)r=s;else if(n[0]==="&"&&n[1]==="#"){var a=n[2],c=a=="x"||a=="X"?parseInt(n.substr(3),16):parseInt(n.substr(2));r=c>=1114111?xk:c>65535?$v.fromCodePoint(c):tw(hk.numericUnicodeMap[c]||c)}}return r}function yk(n,e){var t=(e===void 0?bk:e).level,i=t===void 0?"all":t;return n?iw(n,Sp[i].entities,!1,!1):""}zo.decodeEntity=yk;function vk(n,e){var t=e===void 0?gk:e,i=t.level,r=i===void 0?"all":i,o=t.scope,s=o===void 0?r==="xml"?"strict":"body":o;if(!n)return"";var a=mk[r][s],c=Sp[r].entities,l=s==="attribute",d=s==="strict";return ew(n,a,function(h){return iw(h,c,l,d)})}zo.decode=vk});var Ap=J(ft=>{"use strict";Object.defineProperty(ft,"__esModule",{value:!0});ft.isBlock=ft.parse=ft.Matcher=ft.HTMLElement=ft.CommentNode=ft.TextNode=ft.AbstractNode=ft.NodeType=void 0;var ta=nw(),Ri=!1,At;(function(n){n[n.ELEMENT_NODE=1]="ELEMENT_NODE",n[n.TEXT_NODE=3]="TEXT_NODE",n[n.COMMENT_NODE=8]="COMMENT_NODE"})(At||(ft.NodeType=At={}));var Wo=class{constructor(){this.childNodes=[]}get text(){return(0,ta.decode)(this.rawText)}remove(){return this.parentNode&&this.parentNode.removeChild(this),this}};ft.AbstractNode=Wo;var qo=class extends Wo{constructor(e){super(),this.nodeType=At.TEXT_NODE,this.value=e}get rawText(){return this.value}get isWhitespace(){return/^(\s|&nbsp;)*$/.test(this.rawText)}toString(){return this.rawText}};ft.TextNode=qo;var Jh=class extends Wo{constructor(e){super(),this.nodeType=At.COMMENT_NODE,this.value=e}get rawText(){return this.value}toString(){return`<!--${this.rawText}-->`}};ft.CommentNode=Jh;var wk={div:!0,p:!0,li:!0,td:!0,section:!0,br:!0};function ia(n){return n[n.length-1]}var na=class n extends Wo{constructor(e,t="",i=null){super(),this.tagName=e,this.rawAttrs=t,this.classNames=[],this.nodeType=At.ELEMENT_NODE,this.rawAttrs=t,this.parentNode=i,this.childNodes=[];let r={};for(let o;o=Fk.exec(t);)r[o[2]]=o[4]||o[5]||o[6];r.id&&(this.id=r.id),r.class&&(this.classNames=r.class.split(/\s+/))}removeChild(e){this.childNodes=this.childNodes.filter(t=>t!==e),e instanceof n&&(e.parentNode=null)}exchangeChild(e,t){let i=this.childNodes.findIndex(r=>r===e);i>=0&&(this.childNodes[i]=t,e instanceof n&&(e.parentNode=null))}get rawText(){let e="";for(let t=0;t<this.childNodes.length;t++)e+=this.childNodes[t].rawText;return e}get structuredText(){let e=[],t=[e];function i(r){if(r.nodeType===At.ELEMENT_NODE)wk[r.tagName]?(e.length>0&&t.push(e=[]),r.childNodes.forEach(i),e.length>0&&t.push(e=[])):r.childNodes.forEach(i);else if(r.nodeType===At.TEXT_NODE)if(r.isWhitespace)e.prependWhitespace=!0;else{let o=r.text;e.prependWhitespace&&(o=" "+o,e.prependWhitespace=!1),e.push(o)}}return i(this),t.map(function(r){return r.join("").trim().replace(/\s{2,}/g," ")}).join(`
`).replace(/\s+$/,"")}get children(){return this.childNodes.filter(e=>e instanceof n)}toString(){let e=this.tagName;if(e){let t=/^(img|br|hr|area|base|input|doctype|link|meta)$/i.test(e),i=this.rawAttrs?" "+this.rawAttrs:"";return t?`<${e}${i} />`:`<${e}${i}>${this.innerHTML}</${e}>`}else return this.innerHTML}get innerHTML(){return this.childNodes.map(e=>e.toString()).join("")}set innerHTML(e){let t=Tp(e);this.childNodes.forEach(i=>i.remove()),t.childNodes.forEach(i=>this.appendChild(i))}set_content(e){if(e instanceof Wo)e=[e];else if(typeof e=="string"){let t=Tp(e);e=t.childNodes.length?t.childNodes:[new qo(e)]}this.childNodes=e}get outerHTML(){return this.toString()}trimRight(e){for(let t=0;t<this.childNodes.length;t++){let i=this.childNodes[t];if(i.nodeType===At.ELEMENT_NODE)i.trimRight(e);else{let r=i.rawText.search(e);r>-1&&(i.value=i.rawText.substr(0,r),this.childNodes.length=t+1)}}return this}get structure(){let e=[],t=0;function i(o){e.push(" ".repeat(t)+o)}function r(o){let s=o.id?"#"+o.id:"",a=o.classNames.length?"."+o.classNames.join("."):"";i(o.tagName+s+a),t++;for(let c=0;c<o.childNodes.length;c++){let l=o.childNodes[c];l.nodeType===At.ELEMENT_NODE?r(l):l.nodeType===At.TEXT_NODE&&(l.isWhitespace||i("#text"))}t--}return r(this),e.join(`
`)}removeWhitespace(){let e=0;for(let t=0;t<this.childNodes.length;t++){let i=this.childNodes[t];if(i.nodeType===At.TEXT_NODE){if(i.isWhitespace)continue;i.value=i.rawText.trim()}else i.nodeType===At.ELEMENT_NODE&&i.removeWhitespace();this.childNodes[e++]=i}return this.childNodes.length=e,this}querySelectorAll(e){if(!(e instanceof Uo))if(e.includes(",")){let o=e.split(","),s=new Set(o.map(a=>this.querySelectorAll(a.trim())).flat());return Array.from(s)}else return this.querySelectorAll(new Uo(e));let t=e,i=new Set,r=[];for(this.childNodes.forEach(o=>r.push(o));r.length>0;){let o=r.shift();o.nodeType===At.ELEMENT_NODE&&(t.advance(o)&&t.matched&&(i.add(o),t.rewind()),o.childNodes.forEach(s=>{r.push(s)}))}return Array.from(i)}querySelector(e){let t;e instanceof Uo?(t=e,t.reset()):t=new Uo(e);let i=[];for(let r=0;r<this.childNodes.length;r++)for(i.push([this.childNodes[r],0,!1]);i.length;){let o=ia(i),s=o[0];if(o[1]===0){if(s.nodeType!==At.ELEMENT_NODE){i.pop();continue}if((o[2]=t.advance(s))&&t.matched)return s}o[1]<s.childNodes.length?i.push([s.childNodes[o[1]++],0,!1]):(o[2]&&t.rewind(),i.pop())}return null}appendChild(e){return this.childNodes.push(e),e instanceof n&&(e.parentNode=this),e}prependChild(e){return this.childNodes.unshift(e),e instanceof n&&(e.parentNode=this),e}get firstChild(){return this.childNodes[0]}get lastChild(){return ia(this.childNodes)}get attributes(){if(this._attrs)return this._attrs;this._attrs={};let e=this.rawAttributes;for(let t in e)this._attrs[t]=(0,ta.decode)(e[t]);return this._attrs}get rawAttributes(){if(this._rawAttrs)return this._rawAttrs;let e={};if(this.rawAttrs){let t;for(;t=Dk.exec(this.rawAttrs);)e[t[1]]=t[4]||t[5]||t[6]||""}return this._rawAttrs=e,e}setAttribute(e,t){e==="id"?this.id=t:e==="class"&&(this.classNames=t.split(/\s+/));let i=this.attributes;t===void 0?delete i[e]:i[e]=t+"",this._rawAttrs&&(t===void 0?delete this._rawAttrs[e]:this._rawAttrs[e]=(0,ta.encode)(t+"")),this.rawAttrs=Object.keys(i).map(r=>r+(i[r]===""?"":'="'+(0,ta.encode)(i[r])+'"')).join(" ")}removeAttribute(e){this.setAttribute(e,void 0)}setAttributes(e){e.id?this.id=e.id:e.class&&(this.classNames=e.class.split(/\s+/)),this.attributes&&(Object.keys(this.attributes).forEach(t=>delete this.attributes[t]),Object.keys(e).forEach(t=>this.attributes[t]=e[t]+"")),this.rawAttributes&&(Object.keys(this.rawAttributes).forEach(t=>delete this.rawAttributes[t]),Object.keys(e).forEach(t=>this.rawAttributes[t]=(0,ta.encode)(e[t]+""))),this.rawAttrs=Object.keys(e).map(t=>t+(e[t]===""?"":'="'+(0,ta.encode)(e[t]+"")+'"')).join(" ")}};ft.HTMLElement=na;var Yh={},Ep={f145:function(n,e,t,i,r){"use strict";if(e=e||"",t=t||[],i=i||"",r=r||"",n.id!=e.substr(1))return!1;for(let o=t,s=0;s<o.length;s++)if(n.classNames.indexOf(o[s])===-1)return!1;return!0},f45:function(n,e,t,i,r){"use strict";e=e||"",t=t||[],i=i||"",r=r||"";for(let o=t,s=0;s<o.length;s++)if(n.classNames.indexOf(o[s])===-1)return!1;return!0},f15:function(n,e,t,i,r){"use strict";return e=e||"",t=t||[],i=i||"",r=r||"",n.id==e.substr(1)},f1:function(n,e,t,i,r){"use strict";if(e=e||"",t=t||[],i=i||"",r=r||"",n.id!=e.substr(1))return!1},f5:function(n,e,t,i,r){"use strict";return n=n||{},e=e||"",t=t||[],i=i||"",r=r||"",!0},f245:function(n,e,t,i,r){"use strict";e=e||"",t=t||[],i=i||"",r=r||"";let o=n.attributes;for(let s in o){let a=o[s];if(s==i&&a==r)return!0}return!1},f25:function(n,e,t,i,r){"use strict";e=e||"",t=t||[],i=i||"",r=r||"";let o=n.attributes;for(let s in o){let a=o[s];if(s==i&&a==r)return!0}return!1},f2:function(n,e,t,i,r){"use strict";e=e||"",t=t||[],i=i||"",r=r||"";let o=n.attributes;for(let s in o){let a=o[s];if(s==i&&a==r)return!0}return!1},f345:function(n,e,t,i,r){"use strict";if(e=e||"",t=t||[],i=i||"",r=r||"",n.tagName!=e)return!1;for(let o=t,s=0;s<o.length;s++)if(n.classNames.indexOf(o[s])===-1)return!1;return!0},f35:function(n,e,t,i,r){"use strict";return e=e||"",t=t||[],i=i||"",r=r||"",n.tagName==e},f3:function(n,e,t,i,r){"use strict";if(e=e||"",t=t||[],i=i||"",r=r||"",n.tagName!=e)return!1}},Uo=class{constructor(e){this.nextMatch=0,Ep.f5=Ep.f5,this.matchers=e.split(" ").map(t=>{if(Yh[t])return Yh[t];let i=t.split("."),r=i[0],o=i.slice(1).sort(),s='"use strict";',a="f",c="",l="";if(r&&r!="*"){let h;if(r[0]=="#")s+="if (el.id != "+JSON.stringify(r.substr(1))+") return false;",a+="1";else if(h=r.match(/^\[\s*(\S+)\s*(=|!=)\s*((((["'])([^\6]*)\6))|(\S*?))\]\s*/)){c=h[1];let u=h[2];if(u!=="="&&u!=="!=")throw new Error("Selector not supported, Expect [key${op}value].op must be =,!=");u==="="&&(u="=="),l=h[7]||h[8],s+=`let attrs = el.attributes;for (let key in attrs){const val = attrs[key]; if (key == "${c}" && val == "${l}"){return true;}} return false;`,a+="2"}else s+="if (el.tagName != "+JSON.stringify(r)+") return false;",a+="3"}o.length>0&&(s+="for (let cls = "+JSON.stringify(o)+", i = 0; i < cls.length; i++) if (el.classNames.indexOf(cls[i]) === -1) return false;",a+="4"),s+="return true;",a+="5";let d={func:Ep[a],tagName:r||"",classes:o||"",attr_key:c||"",value:l||""};return s=s||"",Yh[t]=d})}advance(e){return this.nextMatch<this.matchers.length&&this.matchers[this.nextMatch].func(e,this.matchers[this.nextMatch].tagName,this.matchers[this.nextMatch].classes,this.matchers[this.nextMatch].attr_key,this.matchers[this.nextMatch].value)?(this.nextMatch++,!0):!1}rewind(){this.nextMatch--}get matched(){return this.nextMatch==this.matchers.length}reset(){this.nextMatch=0}flushCache(){Yh={}}};ft.Matcher=Uo;var Vn=/<!--[^]*?(?=-->)-->|<(\/?)([a-z][-.:0-9_a-z]*)((\s+[a-z][-.:0-9_a-z]*(\s*=\s*("[^"]*"|'([^']*')|([^\s\/>]+)))?)*)\s*(\/?)>/ig,Fk=/(^|\s)(id|class)\s*=\s*("([^"]+)"|'([^']+)'|(\S+))/ig,Dk=/([a-z][-.:0-9_a-z]*)(\s*=\s*("([^"]*)"|'([^']*)'|(\S+)))?/ig,Pk={area:!0,base:!0,br:!0,col:!0,hr:!0,img:!0,input:!0,link:!0,meta:!0,source:!0},rw={li:{li:!0},p:{p:!0,div:!0},b:{div:!0},td:{td:!0,th:!0},th:{td:!0,th:!0},h1:{h1:!0},h2:{h2:!0},h3:{h3:!0},h4:{h4:!0},h5:{h5:!0},h6:{h6:!0}},ow={li:{ul:!0,ol:!0},a:{div:!0},b:{div:!0},i:{div:!0},p:{div:!0},td:{tr:!0,table:!0},th:{tr:!0,table:!0}},kk={script:!0,noscript:!0,style:!0,pre:!0};function Tp(n,e){let t=new na(null),i=t,r=[t],o=0;e=e||{};let s;for(;s=Vn.exec(n);){if(Ri&&console.log("match",s[0]),o+s[0].length<Vn.lastIndex){let a=n.substring(o,Vn.lastIndex-s[0].length);Ri&&console.log("text node",a),i.appendChild(new qo(a))}if(o=Vn.lastIndex,s[0][1]=="!"){if(e.comment){let a=n.substring(o-3,o-s[0].length+4);Ri&&console.log("comment node",a),i.appendChild(new Jh(a))}continue}if(e.lowerCaseTagName&&(s[2]=s[2].toLowerCase()),!s[1]&&(!s[9]&&rw[i.tagName]&&rw[i.tagName][s[2]]&&(Ri&&console.log("closed",i.tagName,"when opening",s[2]),r.pop(),i=ia(r)),Ri&&console.log("add",s[2],"tag to the stack"),i=i.appendChild(new na(s[2],s[3].trim())),r.push(i),kk[s[2]])){let a="</"+s[2]+">",c=n.indexOf(a,Vn.lastIndex);if(e[s[2]]){let l;c==-1?l=n.substr(Vn.lastIndex):l=n.substring(Vn.lastIndex,c),l.length>0&&(Ri&&console.log("add text node as child of",s[2]),i.appendChild(new qo(l)))}c==-1?o=Vn.lastIndex=n.length+1:(o=Vn.lastIndex=c+a.length,s[1]="true")}if(s[1]||s[9]||Pk[s[2]])for(;;)if(i.tagName==s[2]){Ri&&console.log("met the end of",s[2]),r.pop(),i=ia(r);break}else{if(ow[i.tagName]&&ow[i.tagName][s[2]]){Ri&&console.log("closing",i.tagName,"due to meeting",s[2]),r.pop(),i=ia(r);continue}break}}for(o<n.length&&(Ri&&console.log("Final text node",n.substring(o)),t.appendChild(new qo(n.substring(o)))),t.valid=r.length===1;r.length>1;){let a=r.pop(),c=ia(r);a.parentNode&&a.parentNode instanceof na&&a.parentNode.parentNode&&(a.parentNode===c&&a.tagName===c.tagName?(Ri&&console.log(a.tagName,"is probably supposed to close",c.tagName),c.removeChild(a),a.childNodes.forEach(l=>{c.parentNode.appendChild(l)}),r.pop()):(Ri&&console.log("no close tag found for",a.tagName,". Removing"),c.removeChild(a),a.childNodes.forEach(l=>{c.appendChild(l)})))}return t}ft.parse=Tp;var Ck=["html","body","address","article","aside","blockquote","canvas","dd","div","dl","dt","fieldset","figcaption","figure","footer","form","header","hr","li","main","nav","noscript","ol","p","pre","section","tfoot","table","tbody","ul","video","th","td","tr","h1","h2","h3","h4","h5","h6"];function Sk(n){return n.nodeType===At.ELEMENT_NODE&&n.tagName&&Ck.includes(n.tagName.toLowerCase())}ft.isBlock=Sk});var EC={};b0(EC,{default:()=>m0});module.exports=L1(EC);var Le=require("obsidian");var Qp={};b0(Qp,{AFRelationship:()=>Ms,AcroButtonFlags:()=>bt,AcroChoiceFlags:()=>ge,AcroFieldFlags:()=>jt,AcroTextFlags:()=>Me,AnnotationFlags:()=>Mo,AppearanceCharacteristics:()=>Is,BlendMode:()=>Ne,Cache:()=>ht,CharCodes:()=>P,ColorTypes:()=>Ho,CombedTextLayoutError:()=>Ec,CorruptPageTreeError:()=>Ps,CustomFontEmbedder:()=>Pr,CustomFontSubsetEmbedder:()=>zd,Duplex:()=>Os,EncryptedPDFError:()=>jo,ExceededMaxLengthError:()=>Tc,FieldAlreadyExistsError:()=>aa,FieldExistsAsNonTerminalError:()=>Hp,FileEmbedder:()=>Ud,FillRule:()=>sn,FontkitNotRegisteredError:()=>Fc,ForeignPageError:()=>Dc,ImageAlignment:()=>bi,IndexOutOfBoundsError:()=>kn,InvalidAcroFieldValueError:()=>Cn,InvalidFieldNamePartError:()=>Cc,InvalidMaxLengthError:()=>Ac,InvalidPDFDateStringError:()=>ao,InvalidTargetIndexError:()=>Ds,JpegEmbedder:()=>Rs,LineCapStyle:()=>hi,LineJoinStyle:()=>No,MethodNotImplementedError:()=>Ze,MissingCatalogError:()=>Cf,MissingDAEntryError:()=>xl,MissingKeywordError:()=>Cl,MissingOnValueCheckError:()=>Vp,MissingPDFHeaderError:()=>kl,MissingPageContentsEmbeddingError:()=>ul,MissingTfOperatorError:()=>bl,MultiSelectValueError:()=>ml,NextByteAssertionError:()=>yl,NoSuchFieldError:()=>kc,NonFullScreenPageMode:()=>ko,NumberParsingError:()=>ks,PDFAcroButton:()=>xr,PDFAcroCheckBox:()=>En,PDFAcroChoice:()=>Bs,PDFAcroComboBox:()=>Tn,PDFAcroField:()=>As,PDFAcroForm:()=>yr,PDFAcroListBox:()=>On,PDFAcroNonTerminal:()=>An,PDFAcroPushButton:()=>Bn,PDFAcroRadioButton:()=>Ln,PDFAcroSignature:()=>br,PDFAcroTerminal:()=>zt,PDFAcroText:()=>In,PDFAnnotation:()=>Od,PDFArray:()=>X,PDFArrayIsNotRectangleError:()=>gl,PDFBool:()=>Li,PDFButton:()=>Di,PDFCatalog:()=>vr,PDFCheckBox:()=>Yt,PDFContentStream:()=>tn,PDFContext:()=>uo,PDFCrossRefSection:()=>po,PDFCrossRefStream:()=>Rd,PDFDict:()=>G,PDFDocument:()=>je,PDFDropdown:()=>vi,PDFEmbeddedPage:()=>zi,PDFField:()=>at,PDFFlateStream:()=>pr,PDFFont:()=>Oe,PDFForm:()=>zn,PDFHeader:()=>en,PDFHexString:()=>j,PDFImage:()=>xi,PDFInvalidObject:()=>Ts,PDFInvalidObjectParsingError:()=>wl,PDFJavaScript:()=>Un,PDFName:()=>w,PDFNull:()=>Ve,PDFNumber:()=>K,PDFObject:()=>Pe,PDFObjectCopier:()=>Nl,PDFObjectParser:()=>qs,PDFObjectParsingError:()=>vl,PDFObjectStream:()=>Ss,PDFObjectStreamParser:()=>Kd,PDFOperator:()=>ae,PDFOperatorNames:()=>ce,PDFOptionList:()=>wi,PDFPage:()=>Ie,PDFPageEmbedder:()=>Us,PDFPageLeaf:()=>Qe,PDFPageTree:()=>wr,PDFParser:()=>nc,PDFParsingError:()=>Bi,PDFRadioGroup:()=>Jt,PDFRawStream:()=>Oi,PDFRef:()=>Y,PDFSecurity:()=>Bh,PDFSignature:()=>Ui,PDFStream:()=>Ee,PDFStreamParsingError:()=>Fl,PDFStreamWriter:()=>Vd,PDFString:()=>ee,PDFSvg:()=>ui,PDFTextField:()=>Fi,PDFTrailer:()=>mr,PDFTrailerDict:()=>Bd,PDFWidgetAnnotation:()=>mo,PDFWriter:()=>Es,PDFXRefStreamParser:()=>Gd,PageEmbeddingMismatchedContextError:()=>pl,PageSizes:()=>Go,ParseSpeeds:()=>Ic,PngEmbedder:()=>Hs,PrintScaling:()=>So,PrivateConstructorError:()=>Dn,ReadingDirection:()=>Co,RemovePageFromEmptyDocumentError:()=>Pc,ReparseError:()=>Pn,RichTextFieldReadError:()=>Sc,RotationTypes:()=>js,StalledParserError:()=>Pl,StandardFontEmbedder:()=>Dr,StandardFontValues:()=>Ob,StandardFonts:()=>Ko,TextAlignment:()=>qe,TextRenderingMode:()=>op,UnbalancedParenthesisError:()=>Dl,UnexpectedFieldTypeError:()=>Hi,UnexpectedObjectTypeError:()=>$i,UnrecognizedStreamTypeError:()=>fl,UnsupportedEncodingError:()=>hl,ViewerPreferences:()=>Xl,addRandomSuffix:()=>M1,adjustDimsForRotation:()=>on,appendBezierCurve:()=>Dt,appendQuadraticCurve:()=>Xs,arrayAsString:()=>xn,asNumber:()=>le,asPDFName:()=>Ws,asPDFNumber:()=>_,assertEachIs:()=>al,assertInteger:()=>kf,assertIs:()=>T,assertIsOneOf:()=>si,assertIsOneOfOrUndefined:()=>mt,assertIsSubset:()=>Pf,assertMultiple:()=>ll,assertOrUndefined:()=>V,assertPositive:()=>Fn,assertRange:()=>xt,assertRangeOrUndefined:()=>Vt,backtick:()=>_e,beginMarkedContent:()=>Hh,beginText:()=>hc,breakTextIntoLines:()=>S0,byAscendingId:()=>A0,byteArrayToHexString:()=>N0,bytesFor:()=>sr,canBeConvertedToUint8Array:()=>M0,charAtIndex:()=>dd,charFromCode:()=>Mt,charFromHexCode:()=>P0,charSplit:()=>C0,cleanText:()=>nr,clip:()=>sc,clipEvenOdd:()=>MP,closePath:()=>an,cmyk:()=>Gh,colorString:()=>vp,colorToComponents:()=>Xh,componentsToColor:()=>yt,concatTransformationMatrix:()=>Mi,copyStringIntoBuffer:()=>Se,createPDFAcroField:()=>Md,createPDFAcroFields:()=>Ls,createTypeErrorMsg:()=>zb,createValueErrorMsg:()=>Rb,decodeFromBase64:()=>w0,decodeFromBase64DataUri:()=>D0,decodePDFRawStream:()=>zs,defaultButtonAppearanceProvider:()=>Wp,defaultCheckBoxAppearanceProvider:()=>Up,defaultDropdownAppearanceProvider:()=>Kp,defaultOptionListAppearanceProvider:()=>Gp,defaultRadioGroupAppearanceProvider:()=>qp,defaultTextFieldAppearanceProvider:()=>jp,degrees:()=>$,degreesToRadians:()=>ci,drawButton:()=>tu,drawCheckBox:()=>oa,drawCheckMark:()=>dw,drawEllipse:()=>yc,drawEllipsePath:()=>cw,drawImage:()=>wc,drawLine:()=>Np,drawLinesOfText:()=>Op,drawObject:()=>Js,drawOptionList:()=>Rp,drawPage:()=>Mp,drawRadioButton:()=>sa,drawRectangle:()=>Br,drawSvgPath:()=>eu,drawText:()=>Vk,drawTextField:()=>nu,drawTextLines:()=>iu,encodeToBase64:()=>F0,endMarkedContent:()=>zh,endPath:()=>cc,endText:()=>uc,error:()=>ar,escapeRegExp:()=>wm,escapedNewlineChars:()=>Fm,fill:()=>Nh,fillAndStroke:()=>Rh,fillEvenOdd:()=>sp,findLastMatch:()=>ls,getType:()=>Vb,grayscale:()=>Kh,hasSurrogates:()=>H0,hasUtf16BOM:()=>za,highSurrogate:()=>hd,isArrayEqual:()=>cs,isNewlineChar:()=>k0,isStandardFont:()=>Ad,isType:()=>Hb,isWithinBMP:()=>V0,last:()=>Jr,layoutCombedText:()=>zp,layoutMultilineText:()=>ru,layoutSinglelineText:()=>la,lineSplit:()=>Ma,lineTo:()=>Ye,lowSurrogate:()=>ud,mergeIntoTypedArray:()=>E0,mergeLines:()=>cd,mergeUint8Arrays:()=>T0,moveText:()=>zP,moveTo:()=>Kt,newlineChars:()=>N1,nextLine:()=>ap,normalizeAppearance:()=>Zt,numberToString:()=>z0,padStart:()=>Nt,parseDate:()=>Na,pdfDocEncodingDecode:()=>cl,pluckIndices:()=>O0,popGraphicsState:()=>Ue,pushGraphicsState:()=>ze,radians:()=>OP,radiansToDegrees:()=>Fv,range:()=>L0,rectangle:()=>Dv,rectanglesAreEqual:()=>Fs,reduceRotation:()=>di,restoreDashPattern:()=>RP,reverseArray:()=>rr,rgb:()=>fe,rotateAndSkewTextDegreesAndTranslate:()=>KP,rotateAndSkewTextRadiansAndTranslate:()=>Ys,rotateDegrees:()=>Ks,rotateInPlace:()=>pi,rotateRadians:()=>Ro,rotateRectangle:()=>rp,scale:()=>Er,setCharacterSpacing:()=>UP,setCharacterSqueeze:()=>WP,setDashPattern:()=>Gs,setFillingCmykColor:()=>fp,setFillingColor:()=>Ni,setFillingGrayscaleColor:()=>cp,setFillingRgbColor:()=>hp,setFontAndSize:()=>Vo,setGraphicsState:()=>Rn,setLineCap:()=>lc,setLineHeight:()=>lp,setLineJoin:()=>VP,setLineWidth:()=>Tr,setStrokingCmykColor:()=>pp,setStrokingColor:()=>Ir,setStrokingGrayscaleColor:()=>dp,setStrokingRgbColor:()=>up,setTextMatrix:()=>Pv,setTextRenderingMode:()=>Vh,setTextRise:()=>jP,setWordSpacing:()=>qP,showText:()=>dc,singleQuote:()=>Nb,sizeInBytes:()=>ds,skewDegrees:()=>NP,skewRadians:()=>ac,sortedUniq:()=>I0,square:()=>HP,stringAsByteArray:()=>as,stroke:()=>Zs,sum:()=>B0,toCharCode:()=>se,toCodePoint:()=>ld,toDegrees:()=>Nn,toHexString:()=>Xi,toHexStringOfMinLength:()=>Gi,toRadians:()=>ot,toUint8Array:()=>_r,translate:()=>Tt,typedArrayFor:()=>Ra,utf16Decode:()=>Ha,utf16Encode:()=>R0,utf8Encode:()=>H1,values:()=>ws,waitForTick:()=>Ti});var ss="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Oa=new Uint8Array(256);for(let n=0;n<ss.length;n++)Oa[ss.charCodeAt(n)]=n;var F0=n=>{let e="",t=n.length;for(let i=0;i<t;i+=3)e+=ss[n[i]>>2],e+=ss[(n[i]&3)<<4|n[i+1]>>4],e+=ss[(n[i+1]&15)<<2|n[i+2]>>6],e+=ss[n[i+2]&63];return t%3===2?e=e.substring(0,e.length-1)+"=":t%3===1&&(e=e.substring(0,e.length-2)+"=="),e},w0=n=>{let e=n.length*.75,t=n.length,i,r=0,o,s,a,c;n[n.length-1]==="="&&(e--,n[n.length-2]==="="&&e--);let l=new Uint8Array(e);for(i=0;i<t;i+=4)o=Oa[n.charCodeAt(i)],s=Oa[n.charCodeAt(i+1)],a=Oa[n.charCodeAt(i+2)],c=Oa[n.charCodeAt(i+3)],l[r++]=o<<2|s>>4,l[r++]=(s&15)<<4|a>>2,l[r++]=(a&3)<<6|c&63;return l},O1=/^(data)?:?([\w\/\+]+)?;?(charset=[\w-]+|base64)?.*,/i,D0=n=>{let e=n.trim(),i=e.substring(0,100).match(O1);if(!i)return w0(e);let[r]=i,o=e.substring(r.length);return w0(o)};var se=n=>n.charCodeAt(0),ld=n=>n.codePointAt(0),Gi=(n,e)=>Nt(n.toString(16),e,"0").toUpperCase(),Xi=n=>Gi(n,2),Mt=n=>String.fromCharCode(n),P0=n=>Mt(parseInt(n,16)),Nt=(n,e,t)=>{let i="";for(let r=0,o=e-n.length;r<o;r++)i+=t;return i+n},as=n=>{let e=new Uint8Array(n.length);return Se(n,e,0),e},Se=(n,e,t)=>{let i=n.length;for(let r=0;r<i;r++)e[t++]=n.charCodeAt(r);return i},M1=(n,e=4)=>`${n}-${Math.floor(Math.random()*10**e)}`,wm=n=>n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),nr=n=>n.replace(/\t|\u0085|\u2028|\u2029/g," ").replace(/[\b\v]/g,""),Fm=["\\n","\\f","\\r","\\u000B"],N1=[`
`,"\f","\r","\v"],k0=n=>/^[\n\f\r\u000B]$/.test(n),Ma=n=>n.split(/[\n\f\r\u000B]/),cd=n=>n.replace(/[\n\f\r\u000B]/g," "),dd=(n,e)=>{let t=n.charCodeAt(e),i,r=e+1,o=1;return t>=55296&&t<=56319&&n.length>r&&(i=n.charCodeAt(r),i>=56320&&i<=57343&&(o=2)),[n.slice(e,e+o),o]},C0=n=>{let e=[];for(let t=0,i=n.length;t<i;){let[r,o]=dd(n,t);e.push(r),t+=o}return e},R1=n=>{let e=Fm.join("|"),t=["$"];for(let r=0,o=n.length;r<o;r++){let s=n[r];if(k0(s))throw new TypeError(`\`wordBreak\` must not include ${e}`);t.push(s===""?".":wm(s))}let i=t.join("|");return new RegExp(`(${e})|((.*?)(${i}))`,"gm")},S0=(n,e,t,i)=>{let r=R1(e),o=nr(n).match(r),s="",a=0,c=[],l=()=>{s!==""&&c.push(s),s="",a=0};for(let d=0,h=o.length;d<h;d++){let u=o[d];if(k0(u))l();else{let p=i(u);a+p>t&&l(),s+=u,a+=p}}return l(),c},V1=/^D:(\d\d\d\d)(\d\d)?(\d\d)?(\d\d)?(\d\d)?(\d\d)?([+\-Z])?(\d\d)?'?(\d\d)?'?$/,Na=n=>{let e=n.match(V1);if(!e)return;let[,t,i="01",r="01",o="00",s="00",a="00",c="Z",l="00",d="00"]=e,h=c==="Z"?"Z":`${c}${l}:${d}`;return new Date(`${t}-${i}-${r}T${o}:${s}:${a}${h}`)},ls=(n,e)=>{var t;let i=0,r;for(;i<n.length;){let o=n.substring(i).match(e);if(!o)return{match:r,pos:i};r=o,i+=((t=o.index)!==null&&t!==void 0?t:0)+o[0].length}return{match:r,pos:i}};var Jr=n=>n[n.length-1],Ra=n=>{if(n instanceof Uint8Array)return n;let e=n.length,t=new Uint8Array(e);for(let i=0;i<e;i++)t[i]=n.charCodeAt(i);return t},E0=(...n)=>{let e=n.length,t=[];for(let s=0;s<e;s++){let a=n[s];t[s]=a instanceof Uint8Array?a:Ra(a)}let i=0;for(let s=0;s<e;s++)i+=n[s].length;let r=new Uint8Array(i),o=0;for(let s=0;s<e;s++){let a=t[s];for(let c=0,l=a.length;c<l;c++)r[o++]=a[c]}return r},T0=n=>{let e=0;for(let r=0,o=n.length;r<o;r++)e+=n[r].length;let t=new Uint8Array(e),i=0;for(let r=0,o=n.length;r<o;r++){let s=n[r];t.set(s,i),i+=s.length}return t},xn=n=>{let e="";for(let t=0,i=n.length;t<i;t++)e+=Mt(n[t]);return e},A0=(n,e)=>n.id-e.id,I0=(n,e)=>{let t=[];for(let i=0,r=n.length;i<r;i++){let o=n[i],s=n[i-1];(i===0||e(o)!==e(s))&&t.push(o)}return t},cs=(n,e)=>{if(n.length!==e.length)return!1;for(let t=0,i=n.length;t<i;t++)if(n[t]!==e[t])return!1;return!0},rr=n=>{let e=n.length;for(let t=0,i=Math.floor(e/2);t<i;t++){let r=t,o=e-t-1,s=n[t];n[r]=n[o],n[o]=s}return n},B0=n=>{let e=0;for(let t=0,i=n.length;t<i;t++)e+=n[t];return e},L0=(n,e)=>{let t=new Array(e-n);for(let i=0,r=t.length;i<r;i++)t[i]=n+i;return t},O0=(n,e)=>{let t=new Array(e.length);for(let i=0,r=e.length;i<r;i++)t[i]=n[e[i]];return t},M0=n=>n instanceof Uint8Array||n instanceof ArrayBuffer||typeof n=="string",_r=n=>{if(typeof n=="string")return D0(n);if(n instanceof ArrayBuffer)return new Uint8Array(n);if(n instanceof Uint8Array)return n;throw new TypeError("`input` must be one of `string | ArrayBuffer | Uint8Array`")},Dm=[];for(let n=0;n<=255;++n)Dm[n]=n.toString(16).padStart(2,"0");var N0=n=>{let e=new Array(n.length);for(let t=0;t<n.length;++t)e[t]=Dm[n[t]];return e.join("")};var Ti=()=>new Promise(n=>{setTimeout(()=>n(),0)});var H1=(n,e=!0)=>{let t=[];e&&t.push(239,187,191);for(let i=0,r=n.length;i<r;){let o=n.codePointAt(i);if(o<128){let s=o&127;t.push(s),i+=1}else if(o<2048){let s=o>>6&31|192,a=o&63|128;t.push(s,a),i+=1}else if(o<65536){let s=o>>12&15|224,a=o>>6&63|128,c=o&63|128;t.push(s,a,c),i+=1}else if(o<1114112){let s=o>>18&7|240,a=o>>12&63|128,c=o>>6&63|128,l=o>>0&63|128;t.push(s,a,c,l),i+=2}else throw new Error(`Invalid code point: 0x${Xi(o)}`)}return new Uint8Array(t)},R0=(n,e=!0)=>{let t=[];e&&t.push(65279);for(let i=0,r=n.length;i<r;){let o=n.codePointAt(i);if(o<65536)t.push(o),i+=1;else if(o<1114112)t.push(hd(o),ud(o)),i+=2;else throw new Error(`Invalid code point: 0x${Xi(o)}`)}return new Uint16Array(t)},V0=n=>n>=0&&n<=65535,H0=n=>n>=65536&&n<=1114111,hd=n=>Math.floor((n-65536)/1024)+55296,ud=n=>(n-65536)%1024+56320,or;(function(n){n.BigEndian="BigEndian",n.LittleEndian="LittleEndian"})(or||(or={}));var Va="\uFFFD".codePointAt(0),Ha=(n,e=!0)=>{if(n.length<=1)return String.fromCodePoint(Va);let t=e?U1(n):or.BigEndian,i=e?2:0,r=[];for(;n.length-i>=2;){let o=km(n[i++],n[i++],t);if(z1(o))if(n.length-i<2)r.push(Va);else{let s=km(n[i++],n[i++],t);Pm(s)?r.push(o,s):r.push(Va)}else Pm(o)?(i+=2,r.push(Va)):r.push(o)}return i<n.length&&r.push(Va),String.fromCodePoint(...r)},z1=n=>n>=55296&&n<=56319,Pm=n=>n>=56320&&n<=57343,km=(n,e,t)=>{if(t===or.LittleEndian)return e<<8|n;if(t===or.BigEndian)return n<<8|e;throw new Error(`Invalid byteOrder: ${t}`)},U1=n=>Cm(n)?or.BigEndian:Sm(n)?or.LittleEndian:or.BigEndian,Cm=n=>n[0]===254&&n[1]===255,Sm=n=>n[0]===255&&n[1]===254,za=n=>Cm(n)||Sm(n);var z0=n=>{let e=String(n);if(Math.abs(n)<1){let t=parseInt(n.toString().split("e-")[1]);if(t){let i=n<0;i&&(n*=-1),n*=Math.pow(10,t-1),e="0."+new Array(t).join("0")+n.toString().substring(2),i&&(e="-"+e)}}else{let t=parseInt(n.toString().split("+")[1]);t>20&&(t-=20,n/=Math.pow(10,t),e=n.toString()+new Array(t+1).join("0"))}return e},ds=n=>Math.ceil(n.toString(2).length/8),sr=n=>{let e=new Uint8Array(ds(n));for(let t=1;t<=e.length;t++)e[t-1]=n>>(e.length-t)*8;return e};var ar=n=>{throw new Error(n)};var gb=Ki(nl()),pb="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ol=new Uint8Array(256);for(rl=0;rl<pb.length;rl++)ol[pb.charCodeAt(rl)]=rl;var rl,OD=function(n){var e=n.length*.75,t=n.length,i,r=0,o,s,a,c;n[n.length-1]==="="&&(e--,n[n.length-2]==="="&&e--);var l=new Uint8Array(e);for(i=0;i<t;i+=4)o=ol[n.charCodeAt(i)],s=ol[n.charCodeAt(i+1)],a=ol[n.charCodeAt(i+2)],c=ol[n.charCodeAt(i+3)],l[r++]=o<<2|s>>4,l[r++]=(s&15)<<4|a>>2,l[r++]=(a&3)<<6|c&63;return l},MD=function(n){for(var e="",t=0;t<n.length;t++)e+=String.fromCharCode(n[t]);return e},Td=function(n){return MD(gb.default.inflate(OD(n)))},mb=function(n,e,t){for(var i="",r=0,o=e-n.length;r<o;r++)i+=t;return i+n};var xb="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";var bb="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";var yb="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";var vb="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";var wb="eJyNnVtzG0eyrf8KA0/7RMhzJJK6+U2+zMX2mJYsEuJMzANEtihsgYQMEITaO/Z/P41CV+bKlaug86JQf6uArsrKXNVX8H8m3y9vb7u7+8m3k4t/btazm+7o5PmTZy+PTl88eXk6eTT56/Lu/tfZbTc0+Hu3eOju51ezb75bLq532maxYO2oarPb+aJndRCm3fzm425/Y8N/3M8W86tXdzeLoeXjYXv91/mX7vq3+f3Vx8m396tN92jy/cfZanZ1361+73af/PHLfXd33V2/Wd7O7sY+fvfd8svk239/8+T540ffHB+/ePTk8eOTRy+fHf/n0eR8aLxazO+635br+f18eTf59ptBBuHtx/nVp7tuvZ58+3TgF91qXZpNHj8+/svjx4+Hnfy6HAawG8z3y8/9ajeGo/+6+j9HT16+ePpo9+/z8u/L3b8vH5d/nx+9ul6+745+79f33e366B93V8vV5+Vqdt9d/+Xo6NVicfRm9z3rozfduls9DNTDOF8fzY7uV7Pr7na2+nS0/HD0y/xued9/7r4ZGi2OXv3taHZ3/X+Xq6P58AXrzfv1/Ho+W8279V+Gzv447Op6fnfz+9XHrsxA6cnv98NHZqvrqg4Nv599/vs4Ic+fvHg0eVe3np4cP5q8Wl/tAr0axR862/7m+PHzR5Pf76//Pp18+2QnDv+/2P3/9PF+vv7Z3a/mV0NA//0/k+m7ybfHz4dGvw5dWX+eDXH830d7fHJyssfdl6vF7Nb46fPTPf9jsxzi9X5hytOnz/bK3eb2/W6ibu6ydr1cLGYr4y+GiSn8c7e62qV7FZ4fH++F2e0grYf4mGQdLj0oM557/Xm26u4W3YeWRB+r3Zitd9+4/uQdfzEO9/Nis85duBqqdJZ38bH//LG7y82HocyXYiTrxWz9MQfrz261zHR512V4vxUt7z+uOtH2w3KzEnT+INqu518E7B46MbddiKmnw/xOpNXVcrG8y3jd3c6jZDOw2NlAot0fm9ki45tVN5SzD/PZkyc1abp1sZqqvHz+dJx7kX2vMvouo+8z+sH3/Oz5Hv2YO/NX/2BNhb/l7/p7Tph/5DD/lD/4c97jL156NeT/zB/8NffrLA/ot9zqdf6uN/mDv+d+vc0fPM8fvPBZOx0neppbvcvoMu/xXzn53g+L2afuPtiGhfz9oMU65c9FT7FUnK2v5vOr+epqc5tnbbOz7fWw/nR5j8XfQmfsY7M8nve51VVudZ1bieL8kD94k9HH3OV5Rv+d9/gpt/IStiXhNu/xLqNlRp9F1WerFxa4zpG4z9+1yR98yJWwza2Ek/aOdsc9xfRzV3f5FRPh+MXjmpWrRvtD2Xg/X1w3l/rr5VaYe1idPWL35TjNk+NJrbgPuwND9Fkfs1o7PiyWq7ng667xLVeb1bCMX3kAj0+wbNbzcuCaoluPWnRZ3Wzmg3K7vNdHDju5fPFX5Bh6S5wPc8HE8dNwKCcPB65nNzedSNs9x0MxOuDYzV236kTtD8dCs5vV7DOY2tOaWcNJRCd80MP7frY+EOHD6kofK9gERH04KRg/Pxxizz+v52shDWO9/7jchGPFtOyH5PaZW80eRD3Mrjb36tClePmHRfcla43Kup1drdThzvtVp3Z8vbyfXYWKc2k+zCQGwJQV1qF3trseQqqOUTd3N7PV5nYx24jdLG+Gw8xP4utmOA6Yl9uQsy688sOek+cjW66uPwzHeeHA0I9Q4iLrByCR+x7OYA/Pntoebgen2yxwF7ayzMRie70r+vVaLGCLuGNfeSK3I5KlGNRQn8Mp8ZD34hziH2lK3QliBvryH/PGlyY5qf51cfb86Cj3oC4X1/OHOSS0fyT2zA+YRXF4txsfOj/0ob4Rg3U596IygaHmr/T9hVJx3J6IGdWDfyb2zmeCPuBnAWknfs4weASchBxXJ1YDfX7yvIrjVQ+xK3IdXztjHvgodVx+VR3w8mjlaDRVP9KXw7FTqda3RWOFcCarhAzRw1yzJ/rha9z76ct66rn8s7u7EZn7Ju7Cz+LUID05DhbJocx9xQuJHc02xnrFY/Xznxw5i+rbj8uVGNUZ7d3DQFVgJ3pU8Kd1EaOwWTXRDjxienErFzjWm3KUsxL9jSnoUWzxaKtmgrebxf3886IX/WqU/9s4QEuk4Xjrfj5bXM8/fMhz1bet4de4H09YkSxeGwfT7MCq05auGuO9a9lgK2N+jQHyxZDqHy+/DUcMeA3OToFWy0/dHZ4ImTmuupv5Oh76eonGyYblONdFPdRYb4aqDucjHmw6hrTCbERm2Ur1fzU+8C+q8NOX9di1XOmK18Eszj/ef8zw+6YBLpRv2VjuGybTNVfHlvCqdfhwICtjgP18uVUavG9zhdaMtJae1jK6bu0517Ht++BhCa+Y9bigW9wLA78PJu2euF0ecMTUNfu6240YSWMNX8rjTK8FPvixq0/xCOfFySn4+JDAqyGR1/n7fud8Pa2Tv2gsJD8fXH9/iRPnpxJ2X0eZYrIFt4wYJuetGv8ldtviMETt42wBS0Mt8t2pSaxwnwu1BJgvx8MmT7WvTGCjFLrWgG6imeKAxmlVs6rPRn6XB4iWwbLnlhDXg010KmMbS/731AlbuMhtTs3Or+dXymh/iF8EB2aHDnd/pcNa625j3t4czuuD+3rV+M5XTZOOpwM2A/F73IgPHFD+2Fruad9+iVie3dkBWTwSsG87WAo0QeaXB/e0WN7s5vtuKcK9bJvpJq9jNYOGr2pU8s3Bye1gJfeYN9L3Tq7jdnHnLh80u+e3lrsfN7u7kf95NPm5W939NpuvdveQ/z15tbtbPXn0zenj/zwat/buEdC+nxGNpo7wb8PWU9/au0pAODAUzsL3nOUu4NIbuE1VoPv6Dyg4T1DGkAW2vzoU0L5wEL0OW2+HrZe+VWOGKIzehfMQi/M6ekBh9MBh9EDr6AHR6EGx0QMb6zqwYidILoatF7Y1Hbae2dblsPXkiW/WISGDvgPeDJsnvlU/CCjEAjh8H9AaC0AUC1AsFsAsFsDGWDh5CJmwDVoft/KI+tzzsRGWpiEqDuNUpM65UqsC5WqIata4LNyqnuXv5hI2rurYxFzMJlFFG9dlbTLXtglU4Mapyit/nRHUuyEqeueq8qt6niPKHmBcGYGJ2Q1MIkswrn3BZDYHE9ghTIg2UTF4RUVgGBWhaxhj6zBB+EfVwEQMUd0ZV3ZiYrsy2ViMa3cxmS3GBPYZE6LZVPyQE3KbW/UCNQIhXGg0A3QhQ1TfxsmFnLMLVQVcyBC5kHHpQlU9y9/NLmRcuZCJ2YVMIhcyrl3IZHYhE8iFjJMLVf46I3AhQ+RCzpULVfU8R5RdyLhyIROzC5lELmRcu5DJ7EImsAuZEF2oYnChisCFKkIXMsYuZIJwoaqBCxmi4jOuXMjEdmWyCxnXLmQyu5AJ7EImRBeq+CEn5Da36gVqBEK4EIYGrShyqvQokimRyM4UZLCnyMmjoiiNKjQ5a+yPLSuKyrdii2xeUScHi6K2sdiGvSyqZGhRJFcL4usGB3+LnEyOROV0ocl5Y17Y86KojC+2yO4XdbLAKGofjG3YDKPKjhjVaItBA28MHAwycHTJKLBVRlX4ZWgAphk5GUYUlX3GFl/xFTbSKGo3jW3YUqPKvhrVaK5Be2jUxbbRvm/xQ/ETrusEPRcpGRVK5LdBYrcFEbwWKTktStJnocGZ3A97LErKYVHP/ooquStK2luxBTsrauSrKJGrgvRaUnBUpOSnQVJuCg3OZezZSVFSPop6dlFUyUNR0g6KLdg/UWP3RC16JyjgnEDBN4GiayJmz0RNOCbI4JdIqdpRUl6J+kEvYJ9ESbsktmCPRI0dErXoj6A8yAzfyra9pu1ICVccR4+WaIhMxTiZoXN2wqqADRoiDzQuDbCqZ/m72fqMK98zMZueSeR4xrXdmcxeZwIZnXFyucpfZwT+ZojMzblytqqe54iypxlXhmZidjOTyMqMax8zmU3MBHYwE6J9VQzeVREYV0XoWsbYskwQflU1MCtDVH/GlU2Z2K5MNijj2p1MZmsygX3JhGhKFT/khNzmVr1AjUAIF6p9RRtyRhXuAhkRCOxEJoEVOSMvckGakcln4vvZjlxQfuRqNiTXyJFc0JbkOnuSK2RKLpArmfBaMPAlZ2RMIChnMvlcxJe9yQVlTq5md3KN7MkF7U+us0G5wg7lSrQo4+BRxsCkjKFLOWSbckX4lIlgVM6oQF1QVuXqgfpls3JBu5XrbFeusF+5Eg3L+IPI1a1o1yvWiolwrdoxdC1nZAQukGuBwK5lEriWM3ItF6RrmXwmvp9dywXlWq5m13KNXMsF7Vqus2u5Qq7lArmWCa8FA9dyRq4FgnItk89FfNm1XFCu5Wp2LdfItVzQruU6u5Yr7FquRNcyDq5lDFzLGLqWQ3YtV4RrmQiu5Ywq1AXlWq4eqF92LRe0a7nOruUKu5Yr0bWMP4hc3Yp2vWKtmAjXWo2/6OG7q4RMoGLyK8PsVqMAXlUJOVXF0qdG8Sx9L3tUxcqhqpb9qSrkThVrb6oqO1Pl5EsVkyuN+HUi4EiVkB8ZVm40iucphuxEFSsfqlp2oaqQB1WsHaiq7D+Vs/tUHr1npOA8IwHfGQm6TkXsOZULxxkl8JtKqLIqVl5TtWbNsc9UrF2mquwxlbPDVB79ZaQPKeu2qU2fiR69cJUx19FWDFHhGidjcc7OUhWwFkPkLcaluVT1LH8324tx5S8mZoMxiRzGuLYYk9ljTCCTMU4uU/nrjMBnDJHROFdOU9XzHFH2GuPKbEzMbmMS2Y1x7Tcms+GYwI5jQrScisFzKgLTqQhdxxjbjgnCd6oGxmOIas+4sh4T25XJ5mNcu4/JbD8msP+YEA2o4oeckNvcqheoEYjsQt8N9FXcip8tqDoGIBHSwvUeYiALoiAVRvEpLISmkFq+jnbV9cS3LJ0che4CxwRzWrsLiKYcFBsIMBsIsHEge/LDGPdT34pu+gPGHZDw1h8o7kCjo/4Q4g7Mugts7C6QaJs/jCXvW9OwtSv0575VRwcIuux0/3tsdXJ3ZPzJNUOj/2L4DFEMjVMgjatomphDahLF1TgH1wSOsAkxzIYp1pVfZDTNCEJviOJvPE9ClWgmKk7TUV4IjNNREU9H5TwdlcvpqKKYjirxdFSepqMKaTqqQNNRMU/HyC8ymmaE01ERT0flYjpGiadjxDQdfx1n4oVv1V0BqvEHFEIPHDoEtAYckMUamIUZ2BhhIDW4jnbjPPatOgJAdQSAwgiAwwiA1hEAshEAsxEAG0cApI7AUZ2tJ48N2UyN7Kdxqo59Kw70J5wqQGKgP9FUAY0D/SlMFTAa6E8wVUDiQH+CgTqxcTraxK08zE1jTBs5pk0eEx+SgSJGuxGj3YTR/jzZn/Kc+FY8LipIHAQVng6CCo0HQQXJA8mi0OFRYfV8BlA8Ftqhctzy1LbsWMhRPYFBFA6PnOPhEVB7TTRgO2py5MdGzvzYyNhyNwLfskg7ipF2jpF2apF2xJF2xSPtzCLtyCJtaBPivsn5oc47fp6oU46fJ+ls42eR1aCI/ODTi58nfGaxI70tUGUrLtEFpYU2vIsf6oIECgGpKhrUJAeGGlCMSNXhokYcOZKpyEileosqJD8JVIWkUkGyKmqTmuQy5Qa5YqkFFS+pXMckc0lHGaqbBCp0UlXNU5Nc/tSAnIBUbQrUiP2BZLIKUsk1orppJRJ7CalfLyThMNTgYCE1fIcaHS6k5EYkR2OKIngUCWRXpCbn+mWC1/DKVrx8t0fiyt1O2B3ej5eddptTO0bdbZULWce+aSUODOvScfwFzUE6jZLgfo3nl0m6vPPLRF3Z+SW/o+qIgnDwHVVTMRz4BueLiDAw+Q1OFkSIqtaKU9BbYp8DwWFrv/X4S8wriCAJFEdWVTRjG4xpVCCyUcD4ksJRJlnEOrZoRVy0Otykb4WS56BdwGOD0V5xDgxR9J2ruFcVI14ZxLoijLIxjq8JIrJVa8U06C2xz4HgCBpPsRuO08oJ5lPfirccCop3gwoSNyAKT/ceCo23HQqiWwqF0d2EwsKNhELqeunorZn5Gc45ojDdLlyE75mGrXdhy6/QnE3SxZmzibous6P13Nd3aee+I6oWA9NgiObCOE2IcTUrJuapMYnmxzhPkgk8UybE6TJMc4brDoWBZ6+x7pB6kb97mtG7jGBa00LEPE9wlWiWK+apDi9TwXxHTpMeRZr5KKrpjy1yDkSdEiGKnA1R5ZSIasyLqFFypPc6VfQ4TQ6916maXDT2N23wdw0O+aNfb5RizqSgUzoFjXMKXkSBjEJK+YQSZRNKKpdQz5mEKuURSpxFqHEOoRYzCBXKH3qHLceJc6f9DltucCH3M5X0naSQMerVLiHlbAGVcgUUzpT6pgCkiSHKEeOUIMZVdpiYU8MkygvjnBQmcEaYENPBMOUCvuxDYeAsaLzsQ+pF/u5pRu8ygmlP78YwzxNeJZrtinmq47k5zjgrNPEs0/yzrNKA2+Rs4BaUFCxzbrDOKcJ6zBRWKWFIftuMKadPklUWUaOL5n6nTeVdU4EMY4USjeWcb9SC0o5Uzj57uh/yzhllnAuUay6oLHM155drlFkucE65wtnkSswj55RB4UUejghnTetFHpYvxPdPBXsnGORFft8lCTkXTKMsMM7zX083YfoN0ewbp8k3rubexDz1JtHMG+eJN4Hn3YQ47YZp1vEaBIWB57xxDYLUi/zd04zeZQTTnS5KMM+TXSWa64p5qutTYzDVhmiqjdNUG1dTbWKeapNoqo3zVJvAU21CnGrDNNX44CeFgae68eAnqRf5u6cZvcsIpjo9J8k8T3WVaKorpqn+bZzl8cmE33CGkdXZRUZP1rkQHq1z7M/WOYNH6BzCM3QO7SE6R3UGgflzMmUrXjErKD7RWJC4q1J4uq5WaLx/UhDdDymMboIUFu58FBLvKv4G8zZeTdyh2KDLg7L7iIj0oDo5qHCbEHAeayfG2omxLkOK2f0+QOKRr8LTrZxC44NeBcmHw4tCT38VFh8JLyg+2/UbVscY/dcTfMS0bMVHTAsSj5gWnh4xLTQ+YlqQfMS0KPSIaWH0iGlh4RHT155GPow6tD15M9nfzYet+GxOQeLZnMLTszmFxmdzCpLP5hSFns0prE4RoPjY0ZvRn2GrZj6i4MounMetPN7zxnjP5XjP83h5IkER4z2nZ5HewEQ68WXkzQQfMnwzrhSuXcal+Q2tDyOtVzFh9g1RSIyruJiYg2MSRci4DpPJHCsTKEGMU5bgdWhGlC+N69CkngvUiJXMIRPbseJsMn44VimvTODkMiFmWL7UbghyDa+rUyvOOnVdfZTqg8SQeoYonMZVOE3M4TSJwmlch9NkDqcJlHrGKfUqfysQpZ5zlXpVPReoESuZeia2Y8WpZ/xwrFLqmcCpZ0JMPXy0nTIEUg8fbadWnHrq0fYqpefYjqXAoT3wHJtuIsKsn2PTaiPkjefYtMypqp9jk+rbpsDJe+h5B9nmvCkcjLlO6tjkazFPCR7V/5+Y52SPckr5KFPipwdBZJZiEaTnQOQnUkE0nwLZNximu5z9vfSt+g2A6hkToDApwGEPQGv4AVk4gVkMgY2BA1Lz15G/oPoWSxiQONV4S8UKNJ5qvBVlCQqdarzFAgQUTzV2aHeO98K34rsaBcV3NQoS72oUnt7VKDS+q1EQvatRGL2rUVh4V6OQ+K7GDl0tFzTyeu7qbXafeOZbdZSAqrEgwlECh1EihVNXwHXwgGzwwGzwzj72nz925Zzr2NgyjGqZZ2vZmJqlnJplnho+nQVFTJqdzgLKM2Sns45WcSsPZBW93IV1dzvPU74JpbjJ9rFpeMVGesUmewU/kgqKcJGNcJFNcpFtmPA+buUk7XPm4buILwlRENK7iMxVhNS7iCxRrPK7iCxwbPhdRMbktXj8fkqIXFcfv7OY/TcdvzPXTpyP31kgT07H78TBxQxRrRgnnzauHMHEbAsmkTcYZxswgQ3chOjihsko/LXPhQodmXrFXa4Ftnfj5PHOhdGb2K45Zfmmke8bZ/M3gVeAKqRloArLHAxeEIwfygGxNJjUyIHGImFyK0V4uTDeSAVeOCpfCdQYul5HqioWkyrBimKo4ahybTGx7Zy8yhjXS43JLWNNi44J2li3Odt6gRrlpFajcKCPa1IUOI5R5fUpqjLWsYmIeGzAcY9qCm+UU5CjTKGOIq9k6XLAqRR4VTtwOUA3ESucvhyg1cZq17gcoGVe+fTlAKmi7UeBiz6qvCJGVXpibCKcMTZgf4xqssEop/UyyrRqRpENM6jsaCTGdTS+SNeq5bSmRpVXVlLV+hqbfM1L5FobW/CKG9W07kY5rb5BzmtwfMmuFc60Hkf16xmo1ubY4GAGttbp2OhwmqY1O6oHEzGt30FdNYWDYWus6KGNWtdDA1zdo3BwbdIrfWzytdUnrfpRbaz9sdHhJSofB0T50BK1bdVA3xQOWkM+Sjif4BM953g8ACg+x3OeVn7g6XriOa7xgOiZnfOwmgMLT+qc47rtqNroiRH6IZR6PRnH2nj1xjmN+tCrNy7m8TdevXHOkWi9euNCjEnj1RvjFJ30ysrIG6+sEKdgHXplhUQVtq+8skI6BfDgKyukcigPvLJCGgVVvr2hIsjhlW9vBEqhbb+9ESQV1oNvbwSVQnrg7Y2gcTibb28EhUIpXm3IseIw5lcbHFEAG682OFeha7/a4BIFrfVqgwscLv1qg2MKFL8SQKHgEDVfCUgKBezwKwFJVuH76isBqQUF8yuvBCSdQ3vwlYCkUqAbz8LruHLYxbPwwCjUrWfhQVDhPfAsPGgU0uaz8KBwGBvPwgOn0KVHxzkqHC77iW0IlzMKlwsULhdUuFzN4XKNwuUCh8sVDpcrMVzOKVwmULiMc7jGXw6GYFVCoaqYAlWxClPVcpCqQiGqmANUOYen8hicSik0I6bAjJTCcjGG5IVvxdOVCwwFIHG2d0EhABrP6y7C0IHRNYQLGDKQeJK2Q/6zzGUrzlxB8SzLhbO4FVOhIDHfhae5LjTOc0Hy94KLQrNfWD0/BRSnd4d20/rMt+IpS0E1BIDEdYvC0ylNofH6Q0F00aEwutJQ2DhjQOoIHMXT2YtJekR7h+Kguzw5dqUGkZ6vTs5XuBADOE9jJyarozLdMbu44tm5u6Dy0rfiKXlB4jy88HTyXWg84y5InmYXhc6tC6s5Biheyr2Y5Ke2dyxfiNjRTZjZTc7GTSP1NjL1Njn1+DICKCIpNyIpNyEpp6PrwVbs9RRdD5AYyJRcD2gcyDS4HjDq7hRcD0isoekEH7iboncBEo95Tcm7gMYHuqbCu0ChR7em6F2A4oNx09G7Tn0r3gyYoncBEjcFpuRdQOPl/2nwLmD0q7VT8C4g8Vr+FLzrCRC8Cj0drWv/I2VTtC5A9nYJoPwLbVOyLqT4donj+BNt02BdwPztEmNmXT7UZUi4ZS6SZaMilrIilrki2LpAEbVi1gUoFwZdqJ2Sc/m87Zzr1MZvzgUoJp5zTDynlniO+GaTK56SzjwlndWUNNKHeupz3fepvi9Hwxt/qekSHQ+ZvZEGLL6IAwK+iQPYXsUB5m/cAPRXbgDWd24A2RtpznbW99y34ot8l8n6gKd3+y7R+gDRxIFigwFW8xJQ7bajmS2wl2h9gOLN4stkfcDTscElWh8gOgK4DNYHLFxHv0Trc1RL6CmQW/xl5svR+174VjyfuETvQ5TPJy7J+5CC9wGOpxmXwfuA0WnG5Wh0MARzOmTq1cxL8jrE9GrmpXA7lPitzUv0O2T0hublJP8Y9iVZns/XJjbaiIFuWgPd6IFuxEDZ91BSA3XnQxhfT7206/RgBukmRBLY0/RtiKQKd0s3IpKQfC7fikgKOV66GcECeF96x4y5ckH1jhlL5Ietd8xYZmdM75gxJ4+sHIzSELmlcbJM48o3TczmaRI5qHG2URPYS02IhmqYXNVvMoVS5XtPXANgc4bIaY2T3ToXnmtiNl6XsvuaRhZsnH3YBDbjKizFoJMtmyAty1ThW6axeZnQcDDTk42ZwqZtAjt3upPIgvDwKm1E8+TmJhyMj/J101rxaTm86c34ZK83hQyfbvlVJ1T3/JTGzt+866caCP9X9/2UllYBeedPibQWqHt/QoMVASktCiipdQH1vDSgSqsDSnqBwBa8RqBGywRKtFKABIsFUlovUKIlAyW1aqCeFw5Uae1AiZcP1HgFQS0uIqjQOhJuBgfHELeJRYGBaSOlNQUlWlaCJFYW1PPiEtS8vqBMSwxKvMqgxgsNaEsdkrTcoCYdFRsIU0WZfRW1hrVik+SuKPIChBqvQepRAaGJlQjUjf5QWo9Q+1oA1aqE8oEAttYmbHIogHmFQjEuUkM5TfxXQsqW/66PoXj/yYXd3yTc/5WH3dY2bPl1nrIVr/MUlK7zVNfDHhmibhmXfasqdLCibUZ97gH313ju9Ngx7LQh6rRx2emqQqcr2mbU5x5wp43nTodnlaDnkVP3oyjHEJrAQALfNnjf6B+PK4p5cJDuMDSkNDCU5LCgAQwK6FbSXvaJh4NSHkx9zAdGYoiGYVyOoaowgIq2GfW5B9xv47nT9tgH9NoZddsF2W+ToePGtoL1oh/cdxdy5+0hDOi8M+q8C7Lz4c/Tjx0Nf56eWS/6wZ2Xf55+1MYHJaDrlVDHK5bdhr96PXYQ/up1JH3aN3dX/NXrUam/QAe9NUTdNS77i38kd+we/pFcQn3uAfdZ/ZHcvfR+oAvbc9ny4wRDqpdF8IObijbhq+nv4b1PxxrAZd/o7+G9FwcUoNCN0Pfh8AFY+LWK92OkfauPW3kMOY5XA/VA7LY+Be2T+gGRqzH4sBX3dZWDD0K8xXs1dtx70MeZvKKOj7QeC3zMCIZgSPamqguBaETGD38RjQ2PbaiTPEp1bDNK9uJrRjBUQ7KHVV0IREM1fviLaKj4viR1koeq3pes0nBat1jMaLAGcbgOdT9NX0jIg3bla1/HAzelV11Og3clD39/cjRZf55d7T5yOtJywp3/bM1xlhta/MLh9GxybTstW1f7v10LyE38Ovj3dR2ob9kIHeHQ9nTcA+7YEO298of86W1GvUDUI+OpW7uKG4O03zleSj028hA+sA1bX8JWH7diR1J97yldpx87whd2jyN+yJ/fZvQlo14g6qb0or1EPz4w9pVfTz+O+CF/fpvRl4x6gaiv0kxGSbwmUjus3hI5FtpD4+u2Df6lwfsW5+G0zqpGPV+IG0ckrsEcJ+VBftFW0i+S9prSKBonU1X1a3M8CFB4FCA96O/aavxF476BeSio5bHQayHjOPitkOOIH/Lntxl9yagXiPqrzgdHiV8PGDub3g44Jv4gvmIr2BfBesWoy/I0cNT4Gf2xz+kR/WPiD+IrtoJ9EaxXjPosz/722ocJXiSvpItb8aigoHotHFH+AePC05HDnuKflHUcf9e4IPr14sLo14t3bGlHOWUrHjIVJE6KCk8nGoXGk6KC5ElRUeikqLB46FVQfDr0wyRcgq6IDp1OohDozX6unvjGOGwg40whgTgA9jAg9GkCOsYGSA0AoDpHjvykXVxeaF5aqO1gpEbicA3HMTvOAzctjd6VFAKTYhwMUzCMU0TyZeCbxmXgm4OXgSOEMOkfgdBiDNmBn4DQLVL42j8AoRvEUDZ+/kGrFNao3rTCxCEmVQW6/knNY9+KNsN/SHNPP43utHfcT+hOgKJ9Ok+W/QndCRDfA3LFHdSZXVVyZHfK9ij/SoYWaCyHfiVDN8kjbPxKhlb1uFu/kqFlikbjVzL26iKszouwBi/y6ruQ6+4inwct8knPonHSs2if9MQrAvj1+QchtEC7av8gxNig/v2XbUa9QPT16u/P7qXbCV7pLFux2goSi3rhqQoLjYt6QXJRLwot6oXRlc7CwpXO2wn+2d1bHDEg6N2e3k3qTWXbikddd2mwwNMh1t0k3DA2JP9GxN0k3h42RkdZdxO8GVzJ7uD11LbcHsU9FH335C4+4RURBaH1fFcUczjE012R68CoZ7uiwCHKT3YFDMHKt5LvUrUzz7HD37t7Qohip3/vjsUcu/R7d8x17PLv3bHAsePfuyMMscNLLhQIjp265FKl9JtCT6TAcTzwm0K6iYip/k0hrTbi2/hNIS2nWMvfFJIixj0tITKUaQ6aS8jYoN47gzkwRNE3ruJuYo64SRRr4zrKJnN8TeDImhBjivcbTyPqcyA4gu2bi8sJ3llbhnV4t+V/uGkZdrXMe1nqHaB3EYJd4UXck9iqzx/kPbcdbpmucCoOHUlXOE9E+77xPdyvrzw3Aoeu2DV5uRIpdEs++xEodengsx9LvGpHCLqCV+1OYqs+f5B70H6Kg47FsRekQGdIgT6R0je/jXvIcu5ouF7IDDoXrheeULtefJa7cuCxkXrWgX3IB9OGoAd4fE0f5P2r4+tRQksiBLuvCHafjWvZMK5l27g+T/D84DN+FlA6K6gXzFp3GKPeEuM9RvoqU1+4uug+3Ncv3f//m9NnptYPXscPGa73DIXmN3wjjnGMmrrpG1vEa49BC3ERY1jFsBiuHVJavRostdBZ0WI3t88ErjtUWvzFUtLqTWuthu6oFnnyq+SFMgRp96wHbsUJK6j2EpF1DuB4/f2ZkeugW/o4urF6KFt2KcsRXb8ywV569y9bxq08EHXlvPBU1IXGk+yC5El2Uegku7CYvQXFK+c7ZFfOPWx/hAbrMO51NJcVZhEimx+EjVje11s5ZSO0cv5QL0yu9oYHG+GC7Cra3QjtdrsPzRBNlHFKO+ece3Qvv0ay4uvcklPRnqn2uBiipDQuo2lPSFF6Vr4UqDF+ma0m5pQ1ifLWuE5ekzmDTaA0Nk65zM9O8DT8kZuuc+A4v41TkjvnTHfl0AR5bhtRiQ8nDZTJfSaxDsS5wKjY8xweEUOUDMapGJxzMfBfqngW8XVuycVQORSDISoG4zLW6Y9H0A6WAjXGL4tB/e0IlqgYWn87gmUuhvS3I5hTMaS/HUHT8Eduus6B42IwTsXgnIvBlUMT5PluRBUDXMGiTO4zicUgLl9VJVxUwZKIAidGVLk8SE1FEnUqlSBetz6Vyibfr3uqBC6hg/frVJtUTukGlxYORlAXWPMGl27AxXbwBpdulApP3+DSKhdhUFMpBvWP1sfWrWlIxRlVLlFSU6GS/vU0gLqMXJYuXwqV1de3OBVz6zroXo/Xi2qYEOUHEj0gATbuAcJLjXQKPG6Vv905vuhnyJ/1IU63yIN6YadQlUwT2f0JyvHM3JAlB3G8EBClevY+npa/yOKo7PN3mMOJO1rZigVeUDUbQKLQC0/VXWgs6YKoRAuj+4mFhfuJhcT6fADrfWFk518nvhVvOj4kpwKebkY+oCcBIiMCxX9xzVm1HEB1HI7op8u2MLRTI27N2+zH24YJb6XzbrPdbpseuxXGus1uus0WusWh7Qeyu4Ls9x3KVry1UVB8rm6P8o2OwtM9jj1Nz9UVHO96FER3NAqjmxn9WCsnvhXzqsdaASRSradaARpTrQ+1Asx/ws/ZWCtAYo71qVb6MA99noc+z0PfmIdezkOv56HP89CLeegb81CK4KltWRE4ikXgHIvAqRWBIy4CV7wInFkROLIiMET1XRdEzCpDlFrGKb+MqyQzMWeaSZRuxjnnTODEMyFmn2FKQb7MQqGAdDBEGWmc0tK5yE0Tc4K6lLPUNEpV45yvJnDShms3TyOi9G1cuyExJ3K+dkNcp7S4dkMCJXe+dhM5pzncpINMR0rJjhLlO0oq5VHPWY8qJT5KnPuocfqjFisAFSqC/C6IiBWkG1KqBpSoIIIkagL1XBZBzZWBMhUHSlwfqHGJgAZVgpQKBSVVK6jnckGVKgYlXTTYgusGNSodlKh6xGtAY1L8OYHnmP+EHAASnlj+k2ccMJ9n/UnzCzQ8hfwnziag+Lzxn+DjTGKn2cUTzt0XHp6UNBB2cMY0pOTfI68nm10mcVyG47gc53GZlsblShqXSXFchmlcxmlc+JJUp2kcX5DiGKOUxxn0NNaopvEGOY45SDTuoMHY//O//w/7Vd1G";var Fb="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";var Db="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";var Pb="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";var kb="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";var Cb="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";var Sb="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";var Eb="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";var Tb="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";var Ab="eJxtmNtu20YQhl+F4FULyMGeD7pz3AY1ChtG7NpFA18w1NomIlECSRcxgrx7SVk7+wOdG8H5OJydf2Z2d5gf9cV+t0v9VK/r+6vXsXlOlbHe28paq229qj/t++m62aXZ4J/m8PRb1z9/baZxefK63Z6eXN5dVMvTCh83u277xr/6kLrnl2XNq7TpXnczuZyabdee98/b2VzM/x4/dd/T5qab2pd6PQ2vaVVfvDRD005puE3Lu7eH1HbN9hTjx4/77/X6y5lcnUmjVzHIVVDicVX/1W/SsO36dLMfu6nb9/X6TAoBD+5euvZbn8axXtuZ36dhPJrVQqgPQoh5hev91LWLkIv94W1Ygq9+aX+tZAx2tfz64284/sblN/rqfLP/mqrbt3FKu7G67Nv9cNgPzZQ2H6rz7bb6vLgZq89pTMO/M/xfEqturJpqSM/d7GJIm2oamk3aNcO3av80O5xh3yyKmm1193ZIT02bqovTKjP+MAf++7zsZvZ3276kYyWWXB0z99S18/PbafPHQ71W4fjn/fxnFO+ZvkrT0LVzTr78qB/+nk38bHM9exgP8zr1z9U7jt6840YW5uSJKcZOCaBBnKgm5mU8MVNYyMwWFvO7Ukagkmgg6sDWQ5yFFqjzUrLEaQ3BEmiwNsMSaZS0vgWfOkPHWQowNeTUc0kumnxZvsgPxlGai6VTGUqAVCTQ6QkWnc77DKEiLktSUBJKqHIQZ86d8gCpHYoiEzMsb1ubYy8vW50DChB5ZhGqrijD0EqUIeiaEHIfCg5Kpuu0ApiToaGPSY0uaQsyr65L2oKi1yFt1PLaQ3lzfXTgXodGoJYzglndSLDMPg1sTPJpQJHJigw0QrGERqD9YhyTOgONQDUyuF1zaxuokc/BW2ztXCMrGZ9WMW1oQZHIXWNBkSCfRZEL5BMUiZw6CzVSFCfUSGZFNjIldoKDkonTKQiJIGzWmFd3BizJJ9SINoLDriOfUCOZS+zg+KGD1qGiLNMLxtJD1/ns00ON6EzyUCM6vbxhoBKaqbG3DFQCNiL1iHccBPV0DHhQH/JW8EW90dkyFKGywCJU0WkVSvSGeiSUODWFFD0HYdPQVoiRgfPMA+/nnRgiAyNYSjpWNQcNSMrtFCUH4ZIRpSCWocFCSuhCEY6hoUClc0WC52BJlCYYLQdhN+hygRRRlo5BKRRLS6oihSqh+ZzzRGG1Mo4Iz1LoP0qsxDGFzk0JE42ji0jCPejomJKCuwil4m5CiRMEUMVSzVLDUstSx1Juc0oVWMpqY295qVltmtWmWW2a1aZZbZrVplltmtWmWW2G1WZYbYbVZlhthtVmWG2G1WZYbYbVZlhtltVmWW2W1WZZbZbVZlltltVmWW2W1QYjQCh7E2aAQHeGhCFgPoNoy8KNb2wxBhmGKBxoUZXlLGsLI6AsftEDHV0wIURVbANLcTKlGGBIKPOAxCmhePCKUwFzAmpDFRQvjA9R06Hq8TONvshgKDCuRAZTXigUxjxNFfKRo3CLhnIJBMFRvMZpqpNBMlQJzGT5WFQMVQI/AikPMIhEU1aDjqJvQwmjSHB05cC9jbYwc5UtAHNLhDw41ha+lEqF4JaH3gmB61SYcqInxTDmQK8v08vjqv4zDf1N0w3Lf4A8/vwPpfK11w==";var JD={Courier:vb,"Courier-Bold":xb,"Courier-Oblique":yb,"Courier-BoldOblique":bb,Helvetica:Pb,"Helvetica-Bold":wb,"Helvetica-Oblique":Db,"Helvetica-BoldOblique":Fb,"Times-Roman":Eb,"Times-Bold":kb,"Times-Italic":Sb,"Times-BoldItalic":Cb,Symbol:Tb,ZapfDingbats:Ab},so;(function(n){n.Courier="Courier",n.CourierBold="Courier-Bold",n.CourierOblique="Courier-Oblique",n.CourierBoldOblique="Courier-BoldOblique",n.Helvetica="Helvetica",n.HelveticaBold="Helvetica-Bold",n.HelveticaOblique="Helvetica-Oblique",n.HelveticaBoldOblique="Helvetica-BoldOblique",n.TimesRoman="Times-Roman",n.TimesRomanBold="Times-Bold",n.TimesRomanItalic="Times-Italic",n.TimesRomanBoldItalic="Times-BoldItalic",n.Symbol="Symbol",n.ZapfDingbats="ZapfDingbats"})(so||(so={}));var Ib={},Bb=function(){function n(){var e=this;this.getWidthOfGlyph=function(t){return e.CharWidths[t]},this.getXAxisKerningForPair=function(t,i){return(e.KernPairXAmounts[t]||{})[i]}}return n.load=function(e){var t=Ib[e];if(t)return t;var i=Td(JD[e]),r=Object.assign(new n,JSON.parse(i));return r.CharWidths=r.CharMetrics.reduce(function(o,s){return o[s.N]=s.WX,o},{}),r.KernPairXAmounts=r.KernPairs.reduce(function(o,s){var a=s[0],c=s[1],l=s[2];return o[a]||(o[a]={}),o[a][c]=l,o},{}),Ib[e]=r,r},n}();var Lb="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";var QD=Td(Lb),Ff=JSON.parse(QD),Df=function(){function n(e,t){var i=this;this.canEncodeUnicodeCodePoint=function(r){return r in i.unicodeMappings},this.encodeUnicodeCodePoint=function(r){var o=i.unicodeMappings[r];if(!o){var s=String.fromCharCode(r),a="0x"+mb(r.toString(16),4,"0"),c=i.name+' cannot encode "'+s+'" ('+a+")";throw new Error(c)}return{code:o[0],name:o[1]}},this.name=e,this.supportedCodePoints=Object.keys(t).map(Number).sort(function(r,o){return r-o}),this.unicodeMappings=t}return n}(),sl={Symbol:new Df("Symbol",Ff.symbol),ZapfDingbats:new Df("ZapfDingbats",Ff.zapfdingbats),WinAnsi:new Df("WinAnsi",Ff.win1252)};var ws=n=>Object.keys(n).map(e=>n[e]),Ob=ws(so),Ad=n=>Ob.includes(n),Fs=(n,e)=>n.x===e.x&&n.y===e.y&&n.width===e.width&&n.height===e.height;var _e=n=>`\`${n}\``,Nb=n=>`'${n}'`,Mb=n=>{let e=typeof n;return e==="string"?Nb(n):e==="undefined"?_e(n):n},Rb=(n,e,t)=>{let i=new Array(t.length);for(let o=0,s=t.length;o<s;o++){let a=t[o];i[o]=Mb(a)}let r=i.join(" or ");return`${_e(e)} must be one of ${r}, but was actually ${Mb(n)}`},si=(n,e,t)=>{Array.isArray(t)||(t=ws(t));for(let i=0,r=t.length;i<r;i++)if(n===t[i])return;throw new TypeError(Rb(n,e,t))},mt=(n,e,t)=>{Array.isArray(t)||(t=ws(t)),si(n,e,t.concat(void 0))},Pf=(n,e,t)=>{Array.isArray(t)||(t=ws(t));for(let i=0,r=n.length;i<r;i++)si(n[i],e,t)},Vb=n=>n===null?"null":n===void 0?"undefined":typeof n=="string"?"string":isNaN(n)?"NaN":typeof n=="number"?"number":typeof n=="boolean"?"boolean":typeof n=="symbol"?"symbol":typeof n=="bigint"?"bigint":n.constructor&&n.constructor.name?n.constructor.name:n.name?n.name:n.constructor?String(n.constructor):String(n),Hb=(n,e)=>e==="null"?n===null:e==="undefined"?n===void 0:e==="string"?typeof n=="string":e==="number"?typeof n=="number"&&!isNaN(n):e==="boolean"?typeof n=="boolean":e==="symbol"?typeof n=="symbol":e==="bigint"?typeof n=="bigint":e===Date?n instanceof Date:e===Array?n instanceof Array:e===Uint8Array?n instanceof Uint8Array:e===ArrayBuffer?n instanceof ArrayBuffer:e===Function?n instanceof Function:n instanceof e[0],zb=(n,e,t)=>{let i=new Array(t.length);for(let o=0,s=t.length;o<s;o++){let a=t[o];a==="null"&&(i[o]=_e("null")),a==="undefined"&&(i[o]=_e("undefined")),a==="string"?i[o]=_e("string"):a==="number"?i[o]=_e("number"):a==="boolean"?i[o]=_e("boolean"):a==="symbol"?i[o]=_e("symbol"):a==="bigint"?i[o]=_e("bigint"):a===Array?i[o]=_e("Array"):a===Uint8Array?i[o]=_e("Uint8Array"):a===ArrayBuffer?i[o]=_e("ArrayBuffer"):i[o]=_e(a[1])}let r=i.join(" or ");return`${_e(e)} must be of type ${r}, but was actually of type ${_e(Vb(n))}`},T=(n,e,t)=>{for(let i=0,r=t.length;i<r;i++)if(Hb(n,t[i]))return;throw new TypeError(zb(n,e,t))},V=(n,e,t)=>{T(n,e,t.concat("undefined"))},al=(n,e,t)=>{for(let i=0,r=n.length;i<r;i++)T(n[i],e,t)},xt=(n,e,t,i)=>{if(T(n,e,["number"]),T(t,"min",["number"]),T(i,"max",["number"]),i=Math.max(t,i),n<t||n>i)throw new Error(`${_e(e)} must be at least ${t} and at most ${i}, but was actually ${n}`)},Vt=(n,e,t,i)=>{T(n,e,["number","undefined"]),typeof n=="number"&&xt(n,e,t,i)},ll=(n,e,t)=>{if(T(n,e,["number"]),n%t!==0)throw new Error(`${_e(e)} must be a multiple of ${t}, but was actually ${n}`)},kf=(n,e)=>{if(!Number.isInteger(n))throw new Error(`${_e(e)} must be an integer, but was actually ${n}`)},Fn=(n,e)=>{if(![1,0].includes(Math.sign(n)))throw new Error(`${_e(e)} must be a positive number or 0, but was actually ${n}`)};var he=new Uint16Array(256);for(let n=0;n<256;n++)he[n]=n;he[22]=se("");he[24]=se("\u02D8");he[25]=se("\u02C7");he[26]=se("\u02C6");he[27]=se("\u02D9");he[28]=se("\u02DD");he[29]=se("\u02DB");he[30]=se("\u02DA");he[31]=se("\u02DC");he[127]=se("\uFFFD");he[128]=se("\u2022");he[129]=se("\u2020");he[130]=se("\u2021");he[131]=se("\u2026");he[132]=se("\u2014");he[133]=se("\u2013");he[134]=se("\u0192");he[135]=se("\u2044");he[136]=se("\u2039");he[137]=se("\u203A");he[138]=se("\u2212");he[139]=se("\u2030");he[140]=se("\u201E");he[141]=se("\u201C");he[142]=se("\u201D");he[143]=se("\u2018");he[144]=se("\u2019");he[145]=se("\u201A");he[146]=se("\u2122");he[147]=se("\uFB01");he[148]=se("\uFB02");he[149]=se("\u0141");he[150]=se("\u0152");he[151]=se("\u0160");he[152]=se("\u0178");he[153]=se("\u017D");he[154]=se("\u0131");he[155]=se("\u0142");he[156]=se("\u0153");he[157]=se("\u0161");he[158]=se("\u017E");he[159]=se("\uFFFD");he[160]=se("\u20AC");he[173]=se("\uFFFD");var cl=n=>{let e=new Array(n.length);for(let t=0,i=n.length;t<i;t++)e[t]=he[n[t]];return String.fromCodePoint(...e)};var dl=class{constructor(e){this.populate=e,this.value=void 0}getValue(){return this.value}access(){return this.value||(this.value=this.populate()),this.value}invalidate(){this.value=void 0}};dl.populatedBy=n=>new dl(n);var ht=dl;var Ze=class extends Error{constructor(e,t){let i=`Method ${e}.${t}() not implemented`;super(i)}},Dn=class extends Error{constructor(e){let t=`Cannot construct ${e} - it has a private constructor`;super(t)}},$i=class extends Error{constructor(e,t){let i=s=>{var a,c;return(a=s==null?void 0:s.name)!==null&&a!==void 0?a:(c=s==null?void 0:s.constructor)===null||c===void 0?void 0:c.name},o=`Expected instance of ${(Array.isArray(e)?e.map(i):[i(e)]).join(" or ")}, but got instance of ${t&&i(t)}`;super(o)}},hl=class extends Error{constructor(e){let t=`${e} stream encoding not supported`;super(t)}},Pn=class extends Error{constructor(e,t){let i=`Cannot call ${e}.${t}() more than once`;super(i)}},Cf=class extends Error{constructor(e){let t=`Missing catalog (ref=${e})`;super(t)}},ul=class extends Error{constructor(){super("Can't embed page with missing Contents")}},fl=class extends Error{constructor(e){var t,i,r;let s=`Unrecognized stream type: ${(r=(i=(t=e==null?void 0:e.contructor)===null||t===void 0?void 0:t.name)!==null&&i!==void 0?i:e==null?void 0:e.name)!==null&&r!==void 0?r:e}`;super(s)}},pl=class extends Error{constructor(){super("Found mismatched contexts while embedding pages. All pages in the array passed to `PDFDocument.embedPages()` must be from the same document.")}},gl=class extends Error{constructor(e){let t=`Attempted to convert PDFArray with ${e} elements to rectangle, but must have exactly 4 elements.`;super(t)}},ao=class extends Error{constructor(e){let t=`Attempted to convert "${e}" to a date, but it does not match the PDF date string format.`;super(t)}},Ds=class extends Error{constructor(e,t){let i=`Invalid targetIndex specified: targetIndex=${e} must be less than Count=${t}`;super(i)}},Ps=class extends Error{constructor(e,t){let i=`Failed to ${t} at targetIndex=${e} due to corrupt page tree: It is likely that one or more 'Count' entries are invalid`;super(i)}},kn=class extends Error{constructor(e,t,i){let r=`index should be at least ${t} and at most ${i}, but was actually ${e}`;super(r)}},Cn=class extends Error{constructor(){super("Attempted to set invalid field value")}},ml=class extends Error{constructor(){super("Attempted to select multiple values for single-select field")}},xl=class extends Error{constructor(e){let t=`No /DA (default appearance) entry found for field: ${e}`;super(t)}},bl=class extends Error{constructor(e){let t=`No Tf operator found for DA of field: ${e}`;super(t)}},ks=class extends Error{constructor(e,t){let i=`Failed to parse number (line:${e.line} col:${e.column} offset=${e.offset}): "${t}"`;super(i)}},Bi=class extends Error{constructor(e,t){let i=`Failed to parse PDF document (line:${e.line} col:${e.column} offset=${e.offset}): ${t}`;super(i)}},yl=class extends Bi{constructor(e,t,i){let r=`Expected next byte to be ${t} but it was actually ${i}`;super(e,r)}},vl=class extends Bi{constructor(e,t){let i=`Failed to parse PDF object starting with the following byte: ${t}`;super(e,i)}},wl=class extends Bi{constructor(e){super(e,"Failed to parse invalid PDF object")}},Fl=class extends Bi{constructor(e){super(e,"Failed to parse PDF stream")}},Dl=class extends Bi{constructor(e){super(e,"Failed to parse PDF literal string due to unbalanced parenthesis")}},Pl=class extends Bi{constructor(e){super(e,"Parser stalled")}},kl=class extends Bi{constructor(e){super(e,"No PDF header found")}},Cl=class extends Bi{constructor(e,t){let i=`Did not find expected keyword '${xn(t)}'`;super(e,i)}};var Sf;(function(n){n[n.Null=0]="Null",n[n.Backspace=8]="Backspace",n[n.Tab=9]="Tab",n[n.Newline=10]="Newline",n[n.FormFeed=12]="FormFeed",n[n.CarriageReturn=13]="CarriageReturn",n[n.Space=32]="Space",n[n.ExclamationPoint=33]="ExclamationPoint",n[n.Hash=35]="Hash",n[n.Percent=37]="Percent",n[n.LeftParen=40]="LeftParen",n[n.RightParen=41]="RightParen",n[n.Plus=43]="Plus",n[n.Minus=45]="Minus",n[n.Dash=45]="Dash",n[n.Period=46]="Period",n[n.ForwardSlash=47]="ForwardSlash",n[n.Zero=48]="Zero",n[n.One=49]="One",n[n.Two=50]="Two",n[n.Three=51]="Three",n[n.Four=52]="Four",n[n.Five=53]="Five",n[n.Six=54]="Six",n[n.Seven=55]="Seven",n[n.Eight=56]="Eight",n[n.Nine=57]="Nine",n[n.LessThan=60]="LessThan",n[n.GreaterThan=62]="GreaterThan",n[n.A=65]="A",n[n.D=68]="D",n[n.E=69]="E",n[n.F=70]="F",n[n.O=79]="O",n[n.P=80]="P",n[n.R=82]="R",n[n.LeftSquareBracket=91]="LeftSquareBracket",n[n.BackSlash=92]="BackSlash",n[n.RightSquareBracket=93]="RightSquareBracket",n[n.a=97]="a",n[n.b=98]="b",n[n.d=100]="d",n[n.e=101]="e",n[n.f=102]="f",n[n.i=105]="i",n[n.j=106]="j",n[n.l=108]="l",n[n.m=109]="m",n[n.n=110]="n",n[n.o=111]="o",n[n.r=114]="r",n[n.s=115]="s",n[n.t=116]="t",n[n.u=117]="u",n[n.x=120]="x",n[n.LeftCurly=123]="LeftCurly",n[n.RightCurly=125]="RightCurly",n[n.Tilde=126]="Tilde"})(Sf||(Sf={}));var P=Sf;var Gb=Ki(nl(),1);var Sl=class{constructor(e,t){this.major=String(e),this.minor=String(t)}getVersionString(){return`${this.major}.${this.minor}`}toString(){let e=Mt(129);return`%PDF-${this.major}.${this.minor}
%${e}${e}${e}${e}`}sizeInBytes(){return 12+this.major.length+this.minor.length}copyBytesInto(e,t){let i=t;return e[t++]=P.Percent,e[t++]=P.P,e[t++]=P.D,e[t++]=P.F,e[t++]=P.Dash,t+=Se(this.major,e,t),e[t++]=P.Period,t+=Se(this.minor,e,t),e[t++]=P.Newline,e[t++]=P.Percent,e[t++]=129,e[t++]=129,e[t++]=129,e[t++]=129,t-i}};Sl.forVersion=(n,e)=>new Sl(n,e);var en=Sl;var Ef=class{clone(e){throw new Ze(this.constructor.name,"clone")}toString(){throw new Ze(this.constructor.name,"toString")}sizeInBytes(){throw new Ze(this.constructor.name,"sizeInBytes")}copyBytesInto(e,t){throw new Ze(this.constructor.name,"copyBytesInto")}},Pe=Ef;var El=class n extends Pe{constructor(e){super(),this.numberValue=e,this.stringValue=z0(e)}asNumber(){return this.numberValue}value(){return this.numberValue}clone(){return n.of(this.numberValue)}toString(){return this.stringValue}sizeInBytes(){return this.stringValue.length}copyBytesInto(e,t){return t+=Se(this.stringValue,e,t),this.stringValue.length}};El.of=n=>new El(n);var K=El;var Tl=class n extends Pe{constructor(e){super(),this.array=[],this.context=e}size(){return this.array.length}push(e){this.array.push(e)}insert(e,t){this.array.splice(e,0,t)}indexOf(e){let t=this.array.indexOf(e);return t===-1?void 0:t}remove(e){this.array.splice(e,1)}set(e,t){this.array[e]=t}get(e){return this.array[e]}lookupMaybe(e,...t){return this.context.lookupMaybe(this.get(e),...t)}lookup(e,...t){return this.context.lookup(this.get(e),...t)}asRectangle(){if(this.size()!==4)throw new gl(this.size());let e=this.lookup(0,K).asNumber(),t=this.lookup(1,K).asNumber(),i=this.lookup(2,K).asNumber(),r=this.lookup(3,K).asNumber(),o=Math.min(e,i),s=Math.min(t,r),a=Math.abs(e-i),c=Math.abs(t-r);return{x:o,y:s,width:a,height:c}}asArray(){return this.array.slice()}clone(e){let t=n.withContext(e||this.context);for(let i=0,r=this.size();i<r;i++)t.push(this.array[i]);return t}toString(){let e="[ ";for(let t=0,i=this.size();t<i;t++)e+=this.get(t).toString(),e+=" ";return e+="]",e}sizeInBytes(){let e=3;for(let t=0,i=this.size();t<i;t++)e+=this.get(t).sizeInBytes()+1;return e}copyBytesInto(e,t){let i=t;e[t++]=P.LeftSquareBracket,e[t++]=P.Space;for(let r=0,o=this.size();r<o;r++)t+=this.get(r).copyBytesInto(e,t),e[t++]=P.Space;return e[t++]=P.RightSquareBracket,t-i}scalePDFNumbers(e,t){for(let i=0,r=this.size();i<r;i++){let o=this.lookup(i);if(o instanceof K){let s=i%2===0?e:t;this.set(i,K.of(o.asNumber()*s))}}}};Tl.withContext=n=>new Tl(n);var X=Tl;var Tf={},lo=class extends Pe{constructor(e,t){if(e!==Tf)throw new Dn("PDFBool");super(),this.value=t}asBoolean(){return this.value}clone(){return this}toString(){return String(this.value)}sizeInBytes(){return this.value?4:5}copyBytesInto(e,t){return this.value?(e[t++]=P.t,e[t++]=P.r,e[t++]=P.u,e[t++]=P.e,4):(e[t++]=P.f,e[t++]=P.a,e[t++]=P.l,e[t++]=P.s,e[t++]=P.e,5)}};lo.True=new lo(Tf,!0);lo.False=new lo(Tf,!1);var Li=lo;var Ht=new Uint8Array(256);Ht[P.LeftParen]=1;Ht[P.RightParen]=1;Ht[P.LessThan]=1;Ht[P.GreaterThan]=1;Ht[P.LeftSquareBracket]=1;Ht[P.RightSquareBracket]=1;Ht[P.LeftCurly]=1;Ht[P.RightCurly]=1;Ht[P.ForwardSlash]=1;Ht[P.Percent]=1;var ai=new Uint8Array(256);ai[P.Null]=1;ai[P.Tab]=1;ai[P.Newline]=1;ai[P.FormFeed]=1;ai[P.CarriageReturn]=1;ai[P.Space]=1;var Id=new Uint8Array(256);for(let n=0,e=256;n<e;n++)Id[n]=ai[n]||Ht[n]?1:0;Id[P.Hash]=1;var $D=n=>n.replace(/#([\dABCDEF]{2})/g,(e,t)=>P0(t)),eP=n=>n>=P.ExclamationPoint&&n<=P.Tilde&&!Id[n],qb={},Ub=new Map,re=class extends Pe{constructor(e,t){if(e!==qb)throw new Dn("PDFName");super();let i="/";for(let r=0,o=t.length;r<o;r++){let s=t[r],a=se(s);i+=eP(a)?s:`#${Xi(a)}`}this.encodedName=i}asBytes(){let e=[],t="",i=!1,r=o=>{o!==void 0&&e.push(o),i=!1};for(let o=1,s=this.encodedName.length;o<s;o++){let a=this.encodedName[o],c=se(a),l=this.encodedName[o+1];i?c>=P.Zero&&c<=P.Nine||c>=P.a&&c<=P.f||c>=P.A&&c<=P.F?(t+=a,(t.length===2||!(l>="0"&&l<="9"||l>="a"&&l<="f"||l>="A"&&l<="F"))&&(r(parseInt(t,16)),t="")):r(c):c===P.Hash?i=!0:r(c)}return new Uint8Array(e)}decodeText(){let e=this.asBytes();return String.fromCharCode(...Array.from(e))}asString(){return this.encodedName}value(){return this.encodedName}clone(){return this}toString(){return this.encodedName}sizeInBytes(){return this.encodedName.length}copyBytesInto(e,t){return t+=Se(this.encodedName,e,t),this.encodedName.length}};re.of=n=>{let e=$D(n),t=Ub.get(e);return t||(t=new re(qb,e),Ub.set(e,t)),t};re.Length=re.of("Length");re.FlateDecode=re.of("FlateDecode");re.Resources=re.of("Resources");re.Font=re.of("Font");re.XObject=re.of("XObject");re.ExtGState=re.of("ExtGState");re.Contents=re.of("Contents");re.Type=re.of("Type");re.Parent=re.of("Parent");re.MediaBox=re.of("MediaBox");re.Page=re.of("Page");re.Annots=re.of("Annots");re.TrimBox=re.of("TrimBox");re.ArtBox=re.of("ArtBox");re.BleedBox=re.of("BleedBox");re.CropBox=re.of("CropBox");re.Rotate=re.of("Rotate");re.Title=re.of("Title");re.Author=re.of("Author");re.Subject=re.of("Subject");re.Creator=re.of("Creator");re.Keywords=re.of("Keywords");re.Producer=re.of("Producer");re.CreationDate=re.of("CreationDate");re.ModDate=re.of("ModDate");var w=re;var Af=class extends Pe{asNull(){return null}clone(){return this}toString(){return"null"}sizeInBytes(){return 4}copyBytesInto(e,t){return e[t++]=P.n,e[t++]=P.u,e[t++]=P.l,e[t++]=P.l,4}},Ve=new Af;var co=class n extends Pe{constructor(e,t){super(),this.suppressEncryption=!1,this.dict=e,this.context=t}keys(){return Array.from(this.dict.keys())}values(){return Array.from(this.dict.values())}entries(){return Array.from(this.dict.entries())}set(e,t){this.dict.set(e,t)}get(e,t=!1){let i=this.dict.get(e);if(!(i===Ve&&!t))return i}has(e){let t=this.dict.get(e);return t!==void 0&&t!==Ve}lookupMaybe(e,...t){let i=t.includes(Ve),r=this.context.lookupMaybe(this.get(e,i),...t);if(!(r===Ve&&!i))return r}lookup(e,...t){let i=t.includes(Ve),r=this.context.lookup(this.get(e,i),...t);if(!(r===Ve&&!i))return r}delete(e){return this.dict.delete(e)}asMap(){return new Map(this.dict)}uniqueKey(e=""){let t=this.keys(),i=w.of(this.context.addRandomSuffix(e,10));for(;t.includes(i);)i=w.of(this.context.addRandomSuffix(e,10));return i}clone(e){let t=n.withContext(e||this.context),i=this.entries();for(let r=0,o=i.length;r<o;r++){let[s,a]=i[r];t.set(s,a)}return t}toString(){let e=`<<
`,t=this.entries();for(let i=0,r=t.length;i<r;i++){let[o,s]=t[i];e+=o.toString()+" "+s.toString()+`
`}return e+=">>",e}sizeInBytes(){let e=5,t=this.entries();for(let i=0,r=t.length;i<r;i++){let[o,s]=t[i];e+=o.sizeInBytes()+s.sizeInBytes()+2}return e}copyBytesInto(e,t){let i=t;e[t++]=P.LessThan,e[t++]=P.LessThan,e[t++]=P.Newline;let r=this.entries();for(let o=0,s=r.length;o<s;o++){let[a,c]=r[o];t+=a.copyBytesInto(e,t),e[t++]=P.Space,t+=c.copyBytesInto(e,t),e[t++]=P.Newline}return e[t++]=P.GreaterThan,e[t++]=P.GreaterThan,t-i}};co.withContext=n=>new co(new Map,n);co.fromMapWithContext=(n,e)=>new co(n,e);var G=co;var Sn=class n extends Pe{constructor(e){super(),this.value=e}asBytes(){let e=this.value+(this.value.length%2===1?"0":""),t=e.length,i=new Uint8Array(e.length/2),r=0,o=0;for(;r<t;){let s=parseInt(e.substring(r,r+2),16);i[o]=s,r+=2,o+=1}return i}decodeText(){let e=this.asBytes();return za(e)?Ha(e):cl(e)}decodeDate(){let e=this.decodeText(),t=Na(e);if(!t)throw new ao(e);return t}asString(){return this.value}clone(){return n.of(this.value)}toString(){return`<${this.value}>`}sizeInBytes(){return this.value.length+2}copyBytesInto(e,t){return e[t++]=P.LessThan,t+=Se(this.value,e,t),e[t++]=P.GreaterThan,this.value.length+2}};Sn.of=n=>new Sn(n);Sn.fromText=n=>{let e=R0(n),t="";for(let i=0,r=e.length;i<r;i++)t+=Gi(e[i],4);return new Sn(t)};Sn.fromBytes=n=>Sn.of(N0(n));var j=Sn;var If=class extends Pe{constructor(e){super(),this.dict=e}clone(e){throw new Ze(this.constructor.name,"clone")}getContentsString(){throw new Ze(this.constructor.name,"getContentsString")}getContents(){throw new Ze(this.constructor.name,"getContents")}getContentsSize(){throw new Ze(this.constructor.name,"getContentsSize")}updateContents(e){throw new Ze(this.constructor.name,"updateContents")}updateDict(){let e=this.getContentsSize();this.dict.set(w.Length,K.of(e))}sizeInBytes(){return this.updateDict(),this.dict.sizeInBytes()+this.getContentsSize()+18}toString(){this.updateDict();let e=this.dict.toString();return e+=`
stream
`,e+=this.getContentsString(),e+=`
endstream`,e}copyBytesInto(e,t){this.updateDict();let i=t;t+=this.dict.copyBytesInto(e,t),e[t++]=P.Newline,e[t++]=P.s,e[t++]=P.t,e[t++]=P.r,e[t++]=P.e,e[t++]=P.a,e[t++]=P.m,e[t++]=P.Newline;let r=this.getContents();for(let o=0,s=r.length;o<s;o++)e[t++]=r[o];return e[t++]=P.Newline,e[t++]=P.e,e[t++]=P.n,e[t++]=P.d,e[t++]=P.s,e[t++]=P.t,e[t++]=P.r,e[t++]=P.e,e[t++]=P.a,e[t++]=P.m,t-i}},Ee=If;var Al=class n extends Ee{constructor(e,t,i){super(e),this.contents=t,this.transform=i}asUint8Array(){return this.contents.slice()}clone(e){return n.of(this.dict.clone(e),this.contents.slice())}getContentsString(){return xn(this.contents)}getContents(){return this.contents}getContentsSize(){return this.contents.length}updateContents(e){this.contents=e}};Al.of=(n,e,t)=>new Al(n,e,t);var Oi=Al;var jb={},Wb=new Map,Il=class extends Pe{constructor(e,t,i){if(e!==jb)throw new Dn("PDFRef");super(),this.objectNumber=t,this.generationNumber=i,this.tag=`${t} ${i} R`}clone(){return this}toString(){return this.tag}sizeInBytes(){return this.tag.length}copyBytesInto(e,t){return t+=Se(this.tag,e,t),this.tag.length}};Il.of=(n,e=0)=>{let t=`${n} ${e} R`,i=Wb.get(t);return i||(i=new Il(jb,n,e),Wb.set(t,i)),i};var Y=Il;var ho=class n extends Pe{constructor(e){super(),this.value=e}asBytes(){let e=[],t="",i=!1,r=o=>{o!==void 0&&e.push(o),i=!1};for(let o=0,s=this.value.length;o<s;o++){let a=this.value[o],c=se(a),l=this.value[o+1];i?c===P.Newline||c===P.CarriageReturn?r():c===P.n?r(P.Newline):c===P.r?r(P.CarriageReturn):c===P.t?r(P.Tab):c===P.b?r(P.Backspace):c===P.f?r(P.FormFeed):c===P.LeftParen?r(P.LeftParen):c===P.RightParen?r(P.RightParen):c===P.Backspace?r(P.BackSlash):c>=P.Zero&&c<=P.Seven?(t+=a,(t.length===3||!(l>="0"&&l<="7"))&&(r(parseInt(t,8)),t="")):r(c):c===P.BackSlash?i=!0:r(c)}return new Uint8Array(e)}decodeText(){let e=this.asBytes();return za(e)?Ha(e):cl(e)}decodeDate(){let e=this.decodeText(),t=Na(e);if(!t)throw new ao(e);return t}asString(){return this.value}clone(){return n.of(this.value)}toString(){return`(${this.value})`}sizeInBytes(){return this.value.length+2}copyBytesInto(e,t){return e[t++]=P.LeftParen,t+=Se(this.value,e,t),e[t++]=P.RightParen,this.value.length+2}};ho.of=n=>new ho(n);ho.fromDate=n=>{let e=Nt(String(n.getUTCFullYear()),4,"0"),t=Nt(String(n.getUTCMonth()+1),2,"0"),i=Nt(String(n.getUTCDate()),2,"0"),r=Nt(String(n.getUTCHours()),2,"0"),o=Nt(String(n.getUTCMinutes()),2,"0"),s=Nt(String(n.getUTCSeconds()),2,"0");return new ho(`D:${e}${t}${i}${r}${o}${s}Z`)};var ee=ho;var Bl=class n{constructor(e,t){this.name=e,this.args=t||[]}clone(e){let t=new Array(this.args.length);for(let i=0,r=t.length;i<r;i++){let o=this.args[i];t[i]=o instanceof Pe?o.clone(e):o}return n.of(this.name,t)}toString(){let e="";for(let t=0,i=this.args.length;t<i;t++)e+=String(this.args[t])+" ";return e+=this.name,e}sizeInBytes(){let e=0;for(let t=0,i=this.args.length;t<i;t++){let r=this.args[t];e+=(r instanceof Pe?r.sizeInBytes():r.length)+1}return e+=this.name.length,e}copyBytesInto(e,t){let i=t;for(let r=0,o=this.args.length;r<o;r++){let s=this.args[r];s instanceof Pe?t+=s.copyBytesInto(e,t):t+=Se(s,e,t),e[t++]=P.Space}return t+=Se(this.name,e,t),t-i}};Bl.of=(n,e)=>new Bl(n,e);var ae=Bl;var Bf;(function(n){n.NonStrokingColor="sc",n.NonStrokingColorN="scn",n.NonStrokingColorRgb="rg",n.NonStrokingColorGray="g",n.NonStrokingColorCmyk="k",n.NonStrokingColorspace="cs",n.StrokingColor="SC",n.StrokingColorN="SCN",n.StrokingColorRgb="RG",n.StrokingColorGray="G",n.StrokingColorCmyk="K",n.StrokingColorspace="CS",n.BeginMarkedContentSequence="BDC",n.BeginMarkedContent="BMC",n.EndMarkedContent="EMC",n.MarkedContentPointWithProps="DP",n.MarkedContentPoint="MP",n.DrawObject="Do",n.ConcatTransformationMatrix="cm",n.PopGraphicsState="Q",n.PushGraphicsState="q",n.SetFlatness="i",n.SetGraphicsStateParams="gs",n.SetLineCapStyle="J",n.SetLineDashPattern="d",n.SetLineJoinStyle="j",n.SetLineMiterLimit="M",n.SetLineWidth="w",n.SetTextMatrix="Tm",n.SetRenderingIntent="ri",n.AppendRectangle="re",n.BeginInlineImage="BI",n.BeginInlineImageData="ID",n.EndInlineImage="EI",n.ClipEvenOdd="W*",n.ClipNonZero="W",n.CloseAndStroke="s",n.CloseFillEvenOddAndStroke="b*",n.CloseFillNonZeroAndStroke="b",n.ClosePath="h",n.AppendBezierCurve="c",n.CurveToReplicateFinalPoint="y",n.CurveToReplicateInitialPoint="v",n.EndPath="n",n.FillEvenOddAndStroke="B*",n.FillEvenOdd="f*",n.FillNonZeroAndStroke="B",n.FillNonZero="f",n.LegacyFillNonZero="F",n.LineTo="l",n.MoveTo="m",n.ShadingFill="sh",n.StrokePath="S",n.BeginText="BT",n.EndText="ET",n.MoveText="Td",n.MoveTextSetLeading="TD",n.NextLine="T*",n.SetCharacterSpacing="Tc",n.SetFontAndSize="Tf",n.SetTextHorizontalScaling="Tz",n.SetTextLineHeight="TL",n.SetTextRenderingMode="Tr",n.SetTextRise="Ts",n.SetWordSpacing="Tw",n.ShowText="Tj",n.ShowTextAdjusted="TJ",n.ShowTextLine="'",n.ShowTextLineAndSpace='"',n.Type3D0="d0",n.Type3D1="d1",n.BeginCompatibilitySection="BX",n.EndCompatibilitySection="EX"})(Bf||(Bf={}));var ce=Bf;var Kb=Ki(nl(),1);var Lf=class extends Ee{constructor(e,t){super(e),this.computeContents=()=>{let i=this.getUnencodedContents();return this.encode?Kb.default.deflate(i):i},this.encode=t,t&&e.set(w.of("Filter"),w.of("FlateDecode")),this.contentsCache=ht.populatedBy(this.computeContents)}getContents(){return this.contentsCache.access()}getContentsSize(){return this.contentsCache.access().length}getUnencodedContents(){throw new Ze(this.constructor.name,"getUnencodedContents")}updateContents(e){this.contentsCache=ht.populatedBy(()=>e)}},pr=Lf;var Ll=class n extends pr{constructor(e,t,i=!0){super(e,i),this.operators=t}push(...e){this.operators.push(...e)}clone(e){let t=new Array(this.operators.length);for(let o=0,s=this.operators.length;o<s;o++)t[o]=this.operators[o].clone(e);let{dict:i,encode:r}=this;return n.of(i.clone(e),t,r)}getContentsString(){let e="";for(let t=0,i=this.operators.length;t<i;t++)e+=`${this.operators[t]}
`;return e}getUnencodedContents(){let e=new Uint8Array(this.getUnencodedContentsSize()),t=0;for(let i=0,r=this.operators.length;i<r;i++)t+=this.operators[i].copyBytesInto(e,t),e[t++]=P.Newline;return e}getUnencodedContentsSize(){let e=0;for(let t=0,i=this.operators.length;t<i;t++)e+=this.operators[t].sizeInBytes()+1;return e}};Ll.of=(n,e,t=!0)=>new Ll(n,e,t);var tn=Ll;var Cs=class{constructor(e){this.seed=e}nextInt(){let e=Math.sin(this.seed++)*1e4;return e-Math.floor(e)}};Cs.withSeed=n=>new Cs(n);var tP=([n],[e])=>n.objectNumber-e.objectNumber,Ol=class{constructor(){this.isDecrypted=!0,this.largestObjectNumber=0,this.header=en.forVersion(1,7),this.trailerInfo={},this.indirectObjects=new Map,this.rng=Cs.withSeed(1)}assign(e,t){this.indirectObjects.set(e,t),e.objectNumber>this.largestObjectNumber&&(this.largestObjectNumber=e.objectNumber)}nextRef(){return this.largestObjectNumber+=1,Y.of(this.largestObjectNumber)}register(e){let t=this.nextRef();return this.assign(t,e),t}delete(e){return this.indirectObjects.delete(e)}lookupMaybe(e,...t){let i=t.includes(Ve),r=e instanceof Y?this.indirectObjects.get(e):e;if(!(!r||r===Ve&&!i)){for(let o=0,s=t.length;o<s;o++){let a=t[o];if(a===Ve){if(r===Ve)return r}else if(r instanceof a)return r}throw new $i(t,r)}}lookup(e,...t){let i=e instanceof Y?this.indirectObjects.get(e):e;if(t.length===0)return i;for(let r=0,o=t.length;r<o;r++){let s=t[r];if(s===Ve){if(i===Ve)return i}else if(i instanceof s)return i}throw new $i(t,i)}getObjectRef(e){let t=Array.from(this.indirectObjects.entries());for(let i=0,r=t.length;i<r;i++){let[o,s]=t[i];if(s===e)return o}}enumerateIndirectObjects(){return Array.from(this.indirectObjects.entries()).sort(tP)}obj(e){if(e instanceof Pe)return e;if(e==null)return Ve;if(typeof e=="string")return w.of(e);if(typeof e=="number")return K.of(e);if(typeof e=="boolean")return e?Li.True:Li.False;if(e instanceof Uint8Array)return j.fromBytes(e);if(Array.isArray(e)){let t=X.withContext(this);for(let i=0,r=e.length;i<r;i++)t.push(this.obj(e[i]));return t}else{let t=G.withContext(this),i=Object.keys(e);for(let r=0,o=i.length;r<o;r++){let s=i[r],a=e[s];a!==void 0&&t.set(w.of(s),this.obj(a))}return t}}getLiteral(e,{deep:t=!0,literalRef:i=!1,literalStreamDict:r=!1,literalString:o=!1}={}){let s={deep:t,literalRef:i,literalStreamDict:r,literalString:o};if(e instanceof X){let a=e.asArray();return t?a.map(c=>this.getLiteral(c,s)):a}else{if(e instanceof Li)return e.asBoolean();if(e instanceof G){let a={},c=e.entries();for(let l=0,d=c.length;l<d;l++){let[h,u]=c[l];a[this.getLiteral(h)]=t?this.getLiteral(u,s):u}return a}else{if(e instanceof w)return e.decodeText();if(e===Ve)return null;if(e instanceof K)return e.asNumber();if(e instanceof Y&&i)return e.objectNumber;if(e instanceof Ee&&r)return this.getLiteral(e.dict,s);if((e instanceof ee||e instanceof j)&&o)return e.asString()}}return e}stream(e,t={}){return Oi.of(this.obj(t),Ra(e))}flateStream(e,t={}){return this.stream(Gb.default.deflate(Ra(e)),{...t,Filter:"FlateDecode"})}contentStream(e,t={}){return tn.of(this.obj(t),e)}formXObject(e,t={}){return this.contentStream(e,{BBox:this.obj([0,0,0,0]),Matrix:this.obj([1,0,0,1,0,0]),...t,Type:"XObject",Subtype:"Form"})}getPushGraphicsStateContentStream(){if(this.pushGraphicsStateContentStreamRef)return this.pushGraphicsStateContentStreamRef;let e=this.obj({}),t=ae.of(ce.PushGraphicsState),i=tn.of(e,[t]);return this.pushGraphicsStateContentStreamRef=this.register(i),this.pushGraphicsStateContentStreamRef}getPopGraphicsStateContentStream(){if(this.popGraphicsStateContentStreamRef)return this.popGraphicsStateContentStreamRef;let e=this.obj({}),t=ae.of(ce.PopGraphicsState),i=tn.of(e,[t]);return this.popGraphicsStateContentStreamRef=this.register(i),this.popGraphicsStateContentStreamRef}addRandomSuffix(e,t=4){return`${e}-${Math.floor(this.rng.nextInt()*10**t)}`}};Ol.create=()=>new Ol;var uo=Ol;var gr=class n extends G{constructor(e,t,i=!0){super(e,t),this.normalized=!1,this.autoNormalizeCTM=i}clone(e){let t=n.fromMapWithContext(new Map,e||this.context,this.autoNormalizeCTM),i=this.entries();for(let r=0,o=i.length;r<o;r++){let[s,a]=i[r];t.set(s,a)}return t}Parent(){return this.lookupMaybe(w.Parent,G)}Contents(){return this.lookup(w.of("Contents"))}Annots(){return this.lookupMaybe(w.Annots,X)}BleedBox(){return this.lookupMaybe(w.BleedBox,X)}TrimBox(){return this.lookupMaybe(w.TrimBox,X)}ArtBox(){return this.lookupMaybe(w.ArtBox,X)}Resources(){let e=this.getInheritableAttribute(w.Resources);return this.context.lookupMaybe(e,G)}MediaBox(){let e=this.getInheritableAttribute(w.MediaBox);return this.context.lookup(e,X)}CropBox(){let e=this.getInheritableAttribute(w.CropBox);return this.context.lookupMaybe(e,X)}Rotate(){let e=this.getInheritableAttribute(w.Rotate);return this.context.lookupMaybe(e,K)}getInheritableAttribute(e){let t;return this.ascend(i=>{t||(t=i.get(e))}),t}setParent(e){this.set(w.Parent,e)}addContentStream(e){let t=this.normalizedEntries().Contents||this.context.obj([]);this.set(w.Contents,t),t.push(e)}wrapContentStreams(e,t){let i=this.Contents();return i instanceof X?(i.insert(0,e),i.push(t),!0):!1}addAnnot(e){let{Annots:t}=this.normalizedEntries();t.push(e)}removeAnnot(e){let{Annots:t}=this.normalizedEntries(),i=t.indexOf(e);i!==void 0&&t.remove(i)}setFontDictionary(e,t){let{Font:i}=this.normalizedEntries();i.set(e,t)}newFontDictionaryKey(e){let{Font:t}=this.normalizedEntries();return t.uniqueKey(e)}newFontDictionary(e,t){let i=this.newFontDictionaryKey(e);return this.setFontDictionary(i,t),i}setXObject(e,t){let{XObject:i}=this.normalizedEntries();i.set(e,t)}newXObjectKey(e){let{XObject:t}=this.normalizedEntries();return t.uniqueKey(e)}newXObject(e,t){let i=this.newXObjectKey(e);return this.setXObject(i,t),i}setExtGState(e,t){let{ExtGState:i}=this.normalizedEntries();i.set(e,t)}newExtGStateKey(e){let{ExtGState:t}=this.normalizedEntries();return t.uniqueKey(e)}newExtGState(e,t){let i=this.newExtGStateKey(e);return this.setExtGState(i,t),i}ascend(e){e(this);let t=this.Parent();t&&t.ascend(e)}normalize(){if(this.normalized)return;let{context:e}=this,t=this.get(w.Contents);this.context.lookup(t)instanceof Ee&&this.set(w.Contents,e.obj([t])),this.autoNormalizeCTM&&this.wrapContentStreams(this.context.getPushGraphicsStateContentStream(),this.context.getPopGraphicsStateContentStream());let r=this.getInheritableAttribute(w.Resources),o=e.lookupMaybe(r,G)||e.obj({});this.set(w.Resources,o);let s=o.lookupMaybe(w.Font,G)||e.obj({});o.set(w.Font,s);let a=o.lookupMaybe(w.XObject,G)||e.obj({});o.set(w.XObject,a);let c=o.lookupMaybe(w.ExtGState,G)||e.obj({});o.set(w.ExtGState,c);let l=this.Annots()||e.obj([]);this.set(w.Annots,l),this.normalized=!0}normalizedEntries(){this.normalize();let e=this.Annots(),t=this.Resources(),i=this.Contents();return{Annots:e,Resources:t,Contents:i,Font:t.lookup(w.Font,G),XObject:t.lookup(w.XObject,G),ExtGState:t.lookup(w.ExtGState,G)}}};gr.InheritableEntries=["Resources","MediaBox","CropBox","Rotate"];gr.withContextAndParent=(n,e)=>{let t=new Map;return t.set(w.Type,w.Page),t.set(w.Parent,e),t.set(w.Resources,n.obj({})),t.set(w.MediaBox,n.obj([0,0,612,792])),new gr(t,n,!1)};gr.fromMapWithContext=(n,e,t=!0)=>new gr(n,e,t);var Qe=gr;var Ml=class{constructor(e,t){this.traversedObjects=new Map,this.copy=i=>i instanceof Qe?this.copyPDFPage(i):i instanceof G?this.copyPDFDict(i):i instanceof X?this.copyPDFArray(i):i instanceof Ee?this.copyPDFStream(i):i instanceof Y?this.copyPDFIndirectObject(i):i.clone(),this.copyPDFPage=i=>{let r=i.clone(),{InheritableEntries:o}=Qe;for(let s=0,a=o.length;s<a;s++){let c=w.of(o[s]),l=r.getInheritableAttribute(c);!r.get(c)&&l&&r.set(c,l)}return r.delete(w.of("Parent")),this.copyPDFDict(r)},this.copyPDFDict=i=>{if(this.traversedObjects.has(i))return this.traversedObjects.get(i);let r=i.clone(this.dest);this.traversedObjects.set(i,r);let o=i.entries();for(let s=0,a=o.length;s<a;s++){let[c,l]=o[s];r.set(c,this.copy(l))}return r},this.copyPDFArray=i=>{if(this.traversedObjects.has(i))return this.traversedObjects.get(i);let r=i.clone(this.dest);this.traversedObjects.set(i,r);for(let o=0,s=i.size();o<s;o++){let a=i.get(o);r.set(o,this.copy(a))}return r},this.copyPDFStream=i=>{if(this.traversedObjects.has(i))return this.traversedObjects.get(i);let r=i.clone(this.dest);this.traversedObjects.set(i,r);let o=i.dict.entries();for(let s=0,a=o.length;s<a;s++){let[c,l]=o[s];r.dict.set(c,this.copy(l))}return r},this.copyPDFIndirectObject=i=>{if(!this.traversedObjects.has(i)){let o=this.dest.nextRef();this.traversedObjects.set(i,o);let s=this.src.lookup(i);if(s){let a=this.copy(s);this.dest.assign(o,a)}}return this.traversedObjects.get(i)},this.src=e,this.dest=t}};Ml.for=(n,e)=>new Ml(n,e);var Nl=Ml;var fo=class{constructor(e){this.subsections=e?[[e]]:[],this.chunkIdx=0,this.chunkLength=e?1:0}addEntry(e,t){this.append({ref:e,offset:t,deleted:!1})}addDeletedEntry(e,t){this.append({ref:e,offset:t,deleted:!0})}toString(){let e=`xref
`;for(let t=0,i=this.subsections.length;t<i;t++){let r=this.subsections[t];e+=`${r[0].ref.objectNumber} ${r.length}
`;for(let o=0,s=r.length;o<s;o++){let a=r[o];e+=Nt(String(a.offset),10,"0"),e+=" ",e+=Nt(String(a.ref.generationNumber),5,"0"),e+=" ",e+=a.deleted?"f":"n",e+=`
`}}return e}sizeInBytes(){let e=5;for(let t=0,i=this.subsections.length;t<i;t++){let r=this.subsections[t],o=r.length,[s]=r;e+=2,e+=String(s.ref.objectNumber).length,e+=String(o).length,e+=20*o}return e}copyBytesInto(e,t){let i=t;return e[t++]=P.x,e[t++]=P.r,e[t++]=P.e,e[t++]=P.f,e[t++]=P.Newline,t+=this.copySubsectionsIntoBuffer(this.subsections,e,t),t-i}copySubsectionsIntoBuffer(e,t,i){let r=i,o=e.length;for(let s=0;s<o;s++){let a=this.subsections[s],c=String(a[0].ref.objectNumber);i+=Se(c,t,i),t[i++]=P.Space;let l=String(a.length);i+=Se(l,t,i),t[i++]=P.Newline,i+=this.copyEntriesIntoBuffer(a,t,i)}return i-r}copyEntriesIntoBuffer(e,t,i){let r=e.length;for(let o=0;o<r;o++){let s=e[o],a=Nt(String(s.offset),10,"0");i+=Se(a,t,i),t[i++]=P.Space;let c=Nt(String(s.ref.generationNumber),5,"0");i+=Se(c,t,i),t[i++]=P.Space,t[i++]=s.deleted?P.f:P.n,t[i++]=P.Space,t[i++]=P.Newline}return 20*r}append(e){if(this.chunkLength===0){this.subsections.push([e]),this.chunkIdx=0,this.chunkLength=1;return}let t=this.subsections[this.chunkIdx],i=t[this.chunkLength-1];e.ref.objectNumber-i.ref.objectNumber>1?(this.subsections.push([e]),this.chunkIdx+=1,this.chunkLength=1):(t.push(e),this.chunkLength+=1)}};fo.create=()=>new fo({ref:Y.of(0,65535),offset:0,deleted:!0});fo.createEmpty=()=>new fo;var po=fo;var Rl=class{constructor(e){this.lastXRefOffset=String(e)}toString(){return`startxref
${this.lastXRefOffset}
%%EOF`}sizeInBytes(){return 16+this.lastXRefOffset.length}copyBytesInto(e,t){let i=t;return e[t++]=P.s,e[t++]=P.t,e[t++]=P.a,e[t++]=P.r,e[t++]=P.t,e[t++]=P.x,e[t++]=P.r,e[t++]=P.e,e[t++]=P.f,e[t++]=P.Newline,t+=Se(this.lastXRefOffset,e,t),e[t++]=P.Newline,e[t++]=P.Percent,e[t++]=P.Percent,e[t++]=P.E,e[t++]=P.O,e[t++]=P.F,t-i}};Rl.forLastCrossRefSectionOffset=n=>new Rl(n);var mr=Rl;var Vl=class{constructor(e){this.dict=e}toString(){return`trailer
${this.dict.toString()}`}sizeInBytes(){return 8+this.dict.sizeInBytes()}copyBytesInto(e,t){let i=t;return e[t++]=P.t,e[t++]=P.r,e[t++]=P.a,e[t++]=P.i,e[t++]=P.l,e[t++]=P.e,e[t++]=P.r,e[t++]=P.Newline,t+=this.dict.copyBytesInto(e,t),t-i}};Vl.of=n=>new Vl(n);var Bd=Vl;var Hl=class n extends pr{constructor(e,t,i=!0){super(e.obj({}),i),this.objects=t,this.offsets=this.computeObjectOffsets(),this.offsetsString=this.computeOffsetsString(),this.dict.set(w.of("Type"),w.of("ObjStm")),this.dict.set(w.of("N"),K.of(this.objects.length)),this.dict.set(w.of("First"),K.of(this.offsetsString.length))}getObjectsCount(){return this.objects.length}clone(e){return n.withContextAndObjects(e||this.dict.context,this.objects.slice(),this.encode)}getContentsString(){let e=this.offsetsString;for(let t=0,i=this.objects.length;t<i;t++){let[,r]=this.objects[t];e+=`${r}
`}return e}getUnencodedContents(){let e=new Uint8Array(this.getUnencodedContentsSize()),t=Se(this.offsetsString,e,0);for(let i=0,r=this.objects.length;i<r;i++){let[,o]=this.objects[i];t+=o.copyBytesInto(e,t),e[t++]=P.Newline}return e}getUnencodedContentsSize(){return this.offsetsString.length+Jr(this.offsets)[1]+Jr(this.objects)[1].sizeInBytes()+1}computeOffsetsString(){let e="";for(let t=0,i=this.offsets.length;t<i;t++){let[r,o]=this.offsets[t];e+=`${r} ${o} `}return e}computeObjectOffsets(){let e=0,t=new Array(this.objects.length);for(let i=0,r=this.objects.length;i<r;i++){let[o,s]=this.objects[i];t[i]=[o.objectNumber,e],e+=s.sizeInBytes()+1}return t}};Hl.withContextAndObjects=(n,e,t=!0)=>new Hl(n,e,t);var Ss=Hl;var zl=class{constructor(e,t){this.parsedObjects=0,this.shouldWaitForTick=i=>(this.parsedObjects+=i,this.parsedObjects%this.objectsPerTick===0),this.context=e,this.objectsPerTick=t}async serializeToBuffer(){let{size:e,header:t,indirectObjects:i,xref:r,trailerDict:o,trailer:s}=await this.computeBufferSize(),a=0,c=new Uint8Array(e);a+=t.copyBytesInto(c,a),c[a++]=P.Newline,c[a++]=P.Newline;for(let l=0,d=i.length;l<d;l++){let[h,u]=i[l],p=String(h.objectNumber);a+=Se(p,c,a),c[a++]=P.Space;let f=String(h.generationNumber);a+=Se(f,c,a),c[a++]=P.Space,c[a++]=P.o,c[a++]=P.b,c[a++]=P.j,c[a++]=P.Newline,a+=u.copyBytesInto(c,a),c[a++]=P.Newline,c[a++]=P.e,c[a++]=P.n,c[a++]=P.d,c[a++]=P.o,c[a++]=P.b,c[a++]=P.j,c[a++]=P.Newline,c[a++]=P.Newline;let m=u instanceof Ss?u.getObjectsCount():1;this.shouldWaitForTick(m)&&await Ti()}return r&&(a+=r.copyBytesInto(c,a),c[a++]=P.Newline),o&&(a+=o.copyBytesInto(c,a),c[a++]=P.Newline,c[a++]=P.Newline),a+=s.copyBytesInto(c,a),c}computeIndirectObjectSize([e,t]){let i=e.sizeInBytes()+3,r=t.sizeInBytes()+9;return i+r}createTrailerDict(){return this.context.obj({Size:this.context.largestObjectNumber+1,Root:this.context.trailerInfo.Root,Encrypt:this.context.trailerInfo.Encrypt,Info:this.context.trailerInfo.Info,ID:this.context.trailerInfo.ID})}async computeBufferSize(){let e=en.forVersion(1,7),t=e.sizeInBytes()+2,i=po.create(),r=this.context.security,o=this.context.enumerateIndirectObjects();for(let l=0,d=o.length;l<d;l++){let h=o[l],[u,p]=h;r&&this.encrypt(u,p,r),i.addEntry(u,t),t+=this.computeIndirectObjectSize(h),this.shouldWaitForTick(1)&&await Ti()}let s=t;t+=i.sizeInBytes()+1;let a=Bd.of(this.createTrailerDict());t+=a.sizeInBytes()+2;let c=mr.forLastCrossRefSectionOffset(s);return t+=c.sizeInBytes(),{size:t,header:e,indirectObjects:o,xref:i,trailerDict:a,trailer:c}}encrypt(e,t,i){if(t instanceof Ee){let r=i.getEncryptFn(e.objectNumber,e.generationNumber),o=t.getContents(),s=r(o);t.updateContents(s)}}};zl.forContext=(n,e)=>new zl(n,e);var Es=zl;var Ul=class n extends Pe{constructor(e){super(),this.data=e}clone(){return n.of(this.data.slice())}toString(){return`PDFInvalidObject(${this.data.length} bytes)`}sizeInBytes(){return this.data.length}copyBytesInto(e,t){let i=this.data.length;for(let r=0;r<i;r++)e[t++]=this.data[r];return i}};Ul.of=n=>new Ul(n);var Ts=Ul;var iP=/\/([^\0\t\n\f\r\ ]+)[\0\t\n\f\r\ ]*(\d*\.\d+|\d+)?[\0\t\n\f\r\ ]+Tf/,Of=class n{constructor(e,t){this.dict=e,this.ref=t}T(){return this.dict.lookupMaybe(w.of("T"),ee,j)}Ff(){let e=this.getInheritableAttribute(w.of("Ff"));return this.dict.context.lookupMaybe(e,K)}V(){let e=this.getInheritableAttribute(w.of("V"));return this.dict.context.lookup(e)}Kids(){return this.dict.lookupMaybe(w.of("Kids"),X)}DA(){let e=this.dict.lookup(w.of("DA"));if(e instanceof ee||e instanceof j)return e}setKids(e){this.dict.set(w.of("Kids"),this.dict.context.obj(e))}getParent(){let e=this.dict.get(w.of("Parent"));if(e instanceof Y){let t=this.dict.lookup(w.of("Parent"),G);return new n(t,e)}}setParent(e){e?this.dict.set(w.of("Parent"),e):this.dict.delete(w.of("Parent"))}getFullyQualifiedName(){let e=this.getParent();return e?`${e.getFullyQualifiedName()}.${this.getPartialName()}`:this.getPartialName()}getPartialName(){var e;return(e=this.T())===null||e===void 0?void 0:e.decodeText()}setPartialName(e){e?this.dict.set(w.of("T"),j.fromText(e)):this.dict.delete(w.of("T"))}setDefaultAppearance(e){this.dict.set(w.of("DA"),ee.of(e))}getDefaultAppearance(){let e=this.DA();return e instanceof j?e.decodeText():e==null?void 0:e.asString()}setFontSize(e){var t;let i=(t=this.getFullyQualifiedName())!==null&&t!==void 0?t:"",r=this.getDefaultAppearance();if(!r)throw new xl(i);let o=ls(r,iP);if(!o.match)throw new bl(i);let s=r.slice(0,o.pos-o.match[0].length),a=o.pos<=r.length?r.slice(o.pos):"",c=o.match[1],l=`${s} /${c} ${e} Tf ${a}`;this.setDefaultAppearance(l)}getFlags(){var e,t;return(t=(e=this.Ff())===null||e===void 0?void 0:e.asNumber())!==null&&t!==void 0?t:0}setFlags(e){this.dict.set(w.of("Ff"),K.of(e))}hasFlag(e){return(this.getFlags()&e)!==0}setFlag(e){let t=this.getFlags();this.setFlags(t|e)}clearFlag(e){let t=this.getFlags();this.setFlags(t&~e)}setFlagTo(e,t){t?this.setFlag(e):this.clearFlag(e)}getInheritableAttribute(e){let t;return this.ascend(i=>{t||(t=i.dict.get(e))}),t}ascend(e){e(this);let t=this.getParent();t&&t.ascend(e)}},As=Of;var ql=class{constructor(e){this.dict=e}W(){let e=this.dict.lookup(w.of("W"));if(e instanceof K)return e}getWidth(){var e,t;return(t=(e=this.W())===null||e===void 0?void 0:e.asNumber())!==null&&t!==void 0?t:1}setWidth(e){let t=this.dict.context.obj(e);this.dict.set(w.of("W"),t)}};ql.fromDict=n=>new ql(n);var Ld=ql;var Wl=class{constructor(e){this.dict=e}Rect(){return this.dict.lookup(w.of("Rect"),X)}AP(){return this.dict.lookupMaybe(w.of("AP"),G)}F(){let e=this.dict.lookup(w.of("F"));return this.dict.context.lookupMaybe(e,K)}getRectangle(){var e;let t=this.Rect();return(e=t==null?void 0:t.asRectangle())!==null&&e!==void 0?e:{x:0,y:0,width:0,height:0}}setRectangle(e){let{x:t,y:i,width:r,height:o}=e,s=this.dict.context.obj([t,i,t+r,i+o]);this.dict.set(w.of("Rect"),s)}getAppearanceState(){let e=this.dict.lookup(w.of("AS"));if(e instanceof w)return e}setAppearanceState(e){this.dict.set(w.of("AS"),e)}setAppearances(e){this.dict.set(w.of("AP"),e)}ensureAP(){let e=this.AP();return e||(e=this.dict.context.obj({}),this.dict.set(w.of("AP"),e)),e}getNormalAppearance(){let t=this.ensureAP().get(w.of("N"));if(t instanceof Y||t instanceof G)return t;throw new Error(`Unexpected N type: ${t==null?void 0:t.constructor.name}`)}setNormalAppearance(e){this.ensureAP().set(w.of("N"),e)}setRolloverAppearance(e){this.ensureAP().set(w.of("R"),e)}setDownAppearance(e){this.ensureAP().set(w.of("D"),e)}removeRolloverAppearance(){let e=this.AP();e==null||e.delete(w.of("R"))}removeDownAppearance(){let e=this.AP();e==null||e.delete(w.of("D"))}getAppearances(){let e=this.AP();if(!e)return;let t=e.lookup(w.of("N"),G,Ee),i=e.lookupMaybe(w.of("R"),G,Ee),r=e.lookupMaybe(w.of("D"),G,Ee);return{normal:t,rollover:i,down:r}}getFlags(){var e,t;return(t=(e=this.F())===null||e===void 0?void 0:e.asNumber())!==null&&t!==void 0?t:0}setFlags(e){this.dict.set(w.of("F"),K.of(e))}hasFlag(e){return(this.getFlags()&e)!==0}setFlag(e){let t=this.getFlags();this.setFlags(t|e)}clearFlag(e){let t=this.getFlags();this.setFlags(t&~e)}setFlagTo(e,t){t?this.setFlag(e):this.clearFlag(e)}};Wl.fromDict=n=>new Wl(n);var Od=Wl;var jl=class{constructor(e){this.dict=e}R(){let e=this.dict.lookup(w.of("R"));if(e instanceof K)return e}BC(){let e=this.dict.lookup(w.of("BC"));if(e instanceof X)return e}BG(){let e=this.dict.lookup(w.of("BG"));if(e instanceof X)return e}CA(){let e=this.dict.lookup(w.of("CA"));if(e instanceof j||e instanceof ee)return e}RC(){let e=this.dict.lookup(w.of("RC"));if(e instanceof j||e instanceof ee)return e}AC(){let e=this.dict.lookup(w.of("AC"));if(e instanceof j||e instanceof ee)return e}getRotation(){var e;return(e=this.R())===null||e===void 0?void 0:e.asNumber()}getBorderColor(){let e=this.BC();if(!e)return;let t=[];for(let i=0,r=e==null?void 0:e.size();i<r;i++){let o=e.get(i);o instanceof K&&t.push(o.asNumber())}return t}getBackgroundColor(){let e=this.BG();if(!e)return;let t=[];for(let i=0,r=e==null?void 0:e.size();i<r;i++){let o=e.get(i);o instanceof K&&t.push(o.asNumber())}return t}getCaptions(){let e=this.CA(),t=this.RC(),i=this.AC();return{normal:e==null?void 0:e.decodeText(),rollover:t==null?void 0:t.decodeText(),down:i==null?void 0:i.decodeText()}}setRotation(e){let t=this.dict.context.obj(e);this.dict.set(w.of("R"),t)}setBorderColor(e){let t=this.dict.context.obj(e);this.dict.set(w.of("BC"),t)}setBackgroundColor(e){let t=this.dict.context.obj(e);this.dict.set(w.of("BG"),t)}setCaptions(e){let t=j.fromText(e.normal);if(this.dict.set(w.of("CA"),t),e.rollover){let i=j.fromText(e.rollover);this.dict.set(w.of("RC"),i)}else this.dict.delete(w.of("RC"));if(e.down){let i=j.fromText(e.down);this.dict.set(w.of("AC"),i)}else this.dict.delete(w.of("AC"))}};jl.fromDict=n=>new jl(n);var Is=jl;var go=class extends Od{MK(){let e=this.dict.lookup(w.of("MK"));if(e instanceof G)return e}BS(){let e=this.dict.lookup(w.of("BS"));if(e instanceof G)return e}DA(){let e=this.dict.lookup(w.of("DA"));if(e instanceof ee||e instanceof j)return e}P(){let e=this.dict.get(w.of("P"));if(e instanceof Y)return e}setP(e){this.dict.set(w.of("P"),e)}setDefaultAppearance(e){this.dict.set(w.of("DA"),ee.of(e))}getDefaultAppearance(){let e=this.DA();return e instanceof j?e.decodeText():e==null?void 0:e.asString()}getAppearanceCharacteristics(){let e=this.MK();if(e)return Is.fromDict(e)}getOrCreateAppearanceCharacteristics(){let e=this.MK();if(e)return Is.fromDict(e);let t=Is.fromDict(this.dict.context.obj({}));return this.dict.set(w.of("MK"),t.dict),t}getBorderStyle(){let e=this.BS();if(e)return Ld.fromDict(e)}getOrCreateBorderStyle(){let e=this.BS();if(e)return Ld.fromDict(e);let t=Ld.fromDict(this.dict.context.obj({}));return this.dict.set(w.of("BS"),t.dict),t}getOnValue(){var e;let t=(e=this.getAppearances())===null||e===void 0?void 0:e.normal;if(t instanceof G){let i=t.keys();for(let r=0,o=i.length;r<o;r++){let s=i[r];if(s!==w.of("Off"))return s}}}};go.fromDict=n=>new go(n);go.create=(n,e)=>{let t=n.obj({Type:"Annot",Subtype:"Widget",Rect:[0,0,0,0],Parent:e});return new go(t)};var mo=go;var Kl=class extends As{FT(){let e=this.getInheritableAttribute(w.of("FT"));return this.dict.context.lookup(e,w)}getWidgets(){let e=this.Kids();if(!e)return[mo.fromDict(this.dict)];let t=new Array(e.size());for(let i=0,r=e.size();i<r;i++){let o=e.lookup(i,G);t[i]=mo.fromDict(o)}return t}addWidget(e){let{Kids:t}=this.normalizedEntries();t.push(e)}removeWidget(e){let t=this.Kids();if(t){if(e<0||e>t.size())throw new kn(e,0,t.size());t.remove(e)}else{if(e!==0)throw new kn(e,0,0);this.setKids([])}}normalizedEntries(){let e=this.Kids();return e||(e=this.dict.context.obj([this.ref]),this.dict.set(w.of("Kids"),e)),{Kids:e}}};Kl.fromDict=(n,e)=>new Kl(n,e);var zt=Kl;var Mf=class extends zt{Opt(){return this.dict.lookupMaybe(w.of("Opt"),ee,j,X)}setOpt(e){this.dict.set(w.of("Opt"),this.dict.context.obj(e))}getExportValues(){let e=this.Opt();if(!e)return;if(e instanceof ee||e instanceof j)return[e];let t=[];for(let i=0,r=e.size();i<r;i++){let o=e.lookup(i);(o instanceof ee||o instanceof j)&&t.push(o)}return t}removeExportValue(e){let t=this.Opt();if(t)if(t instanceof ee||t instanceof j){if(e!==0)throw new kn(e,0,0);this.setOpt([])}else{if(e<0||e>t.size())throw new kn(e,0,t.size());t.remove(e)}}normalizeExportValues(){var e,t,i,r;let o=(e=this.getExportValues())!==null&&e!==void 0?e:[],s=[],a=this.getWidgets();for(let c=0,l=a.length;c<l;c++){let d=a[c],h=(t=o[c])!==null&&t!==void 0?t:j.fromText((r=(i=d.getOnValue())===null||i===void 0?void 0:i.decodeText())!==null&&r!==void 0?r:"");s.push(h)}this.setOpt(s)}addOpt(e,t){var i;this.normalizeExportValues();let r=e.decodeText(),o;if(t){let a=(i=this.getExportValues())!==null&&i!==void 0?i:[];for(let c=0,l=a.length;c<l;c++)a[c].decodeText()===r&&(o=c)}let s=this.Opt();return s.push(e),o!=null?o:s.size()-1}addWidgetWithOpt(e,t,i){let r=this.addOpt(t,i),o=w.of(String(r));return this.addWidget(e),o}},xr=Mf;var xo=class extends xr{setValue(e){var t;let i=(t=this.getOnValue())!==null&&t!==void 0?t:w.of("Yes");if(e!==i&&e!==w.of("Off"))throw new Cn;this.dict.set(w.of("V"),e);let r=this.getWidgets();for(let o=0,s=r.length;o<s;o++){let a=r[o],c=a.getOnValue()===e?e:w.of("Off");a.setAppearanceState(c)}}getValue(){let e=this.V();return e instanceof w?e:w.of("Off")}getOnValue(){let[e]=this.getWidgets();return e==null?void 0:e.getOnValue()}};xo.fromDict=(n,e)=>new xo(n,e);xo.create=n=>{let e=n.obj({FT:"Btn",Kids:[]}),t=n.register(e);return new xo(e,t)};var En=xo;var $e=n=>1<<n,jt;(function(n){n[n.ReadOnly=$e(0)]="ReadOnly",n[n.Required=$e(1)]="Required",n[n.NoExport=$e(2)]="NoExport"})(jt||(jt={}));var bt;(function(n){n[n.NoToggleToOff=$e(14)]="NoToggleToOff",n[n.Radio=$e(15)]="Radio",n[n.PushButton=$e(16)]="PushButton",n[n.RadiosInUnison=$e(25)]="RadiosInUnison"})(bt||(bt={}));var Me;(function(n){n[n.Multiline=$e(12)]="Multiline",n[n.Password=$e(13)]="Password",n[n.FileSelect=$e(20)]="FileSelect",n[n.DoNotSpellCheck=$e(22)]="DoNotSpellCheck",n[n.DoNotScroll=$e(23)]="DoNotScroll",n[n.Comb=$e(24)]="Comb",n[n.RichText=$e(25)]="RichText"})(Me||(Me={}));var ge;(function(n){n[n.Combo=$e(17)]="Combo",n[n.Edit=$e(18)]="Edit",n[n.Sort=$e(19)]="Sort",n[n.MultiSelect=$e(21)]="MultiSelect",n[n.DoNotSpellCheck=$e(22)]="DoNotSpellCheck",n[n.CommitOnSelChange=$e(26)]="CommitOnSelChange"})(ge||(ge={}));var Nf=class extends zt{setValues(e){if(this.hasFlag(ge.Combo)&&!this.hasFlag(ge.Edit)&&!this.valuesAreValid(e))throw new Cn;if(e.length===0&&this.dict.delete(w.of("V")),e.length===1&&this.dict.set(w.of("V"),e[0]),e.length>1){if(!this.hasFlag(ge.MultiSelect))throw new ml;this.dict.set(w.of("V"),this.dict.context.obj(e))}this.updateSelectedIndices(e)}valuesAreValid(e){let t=this.getOptions();for(let i=0,r=e.length;i<r;i++){let o=e[i].decodeText();if(!t.find(s=>o===(s.display||s.value).decodeText()))return!1}return!0}updateSelectedIndices(e){if(e.length>1){let t=new Array(e.length),i=this.getOptions();for(let r=0,o=e.length;r<o;r++){let s=e[r].decodeText();t[r]=i.findIndex(a=>s===(a.display||a.value).decodeText())}this.dict.set(w.of("I"),this.dict.context.obj(t.sort()))}else this.dict.delete(w.of("I"))}getValues(){let e=this.V();if(e instanceof ee||e instanceof j)return[e];if(e instanceof X){let t=[];for(let i=0,r=e.size();i<r;i++){let o=e.lookup(i);(o instanceof ee||o instanceof j)&&t.push(o)}return t}return[]}Opt(){return this.dict.lookupMaybe(w.of("Opt"),ee,j,X)}setOptions(e){let t=new Array(e.length);for(let i=0,r=e.length;i<r;i++){let{value:o,display:s}=e[i];t[i]=this.dict.context.obj([o,s||o])}this.dict.set(w.of("Opt"),this.dict.context.obj(t))}getOptions(){let e=this.Opt();if(e instanceof ee||e instanceof j)return[{value:e,display:e}];if(e instanceof X){let t=[];for(let i=0,r=e.size();i<r;i++){let o=e.lookup(i);if((o instanceof ee||o instanceof j)&&t.push({value:o,display:o}),o instanceof X&&o.size()>0){let s=o.lookup(0,ee,j),a=o.lookupMaybe(1,ee,j);t.push({value:s,display:a||s})}}return t}return[]}},Bs=Nf;var bo=class extends Bs{};bo.fromDict=(n,e)=>new bo(n,e);bo.create=n=>{let e=n.obj({FT:"Ch",Ff:ge.Combo,Kids:[]}),t=n.register(e);return new bo(e,t)};var Tn=bo;var yo=class extends As{addField(e){let{Kids:t}=this.normalizedEntries();t==null||t.push(e)}normalizedEntries(){let e=this.Kids();return e||(e=this.dict.context.obj([]),this.dict.set(w.of("Kids"),e)),{Kids:e}}};yo.fromDict=(n,e)=>new yo(n,e);yo.create=n=>{let e=n.obj({}),t=n.register(e);return new yo(e,t)};var An=yo;var Gl=class extends zt{};Gl.fromDict=(n,e)=>new Gl(n,e);var br=Gl;var vo=class extends zt{MaxLen(){let e=this.dict.lookup(w.of("MaxLen"));if(e instanceof K)return e}Q(){let e=this.dict.lookup(w.of("Q"));if(e instanceof K)return e}setMaxLength(e){this.dict.set(w.of("MaxLen"),K.of(e))}removeMaxLength(){this.dict.delete(w.of("MaxLen"))}getMaxLength(){var e;return(e=this.MaxLen())===null||e===void 0?void 0:e.asNumber()}setQuadding(e){this.dict.set(w.of("Q"),K.of(e))}getQuadding(){var e;return(e=this.Q())===null||e===void 0?void 0:e.asNumber()}setValue(e){this.dict.set(w.of("V"),e)}removeValue(){this.dict.delete(w.of("V"))}getValue(){let e=this.V();if(e instanceof ee||e instanceof j)return e}};vo.fromDict=(n,e)=>new vo(n,e);vo.create=n=>{let e=n.obj({FT:"Tx",Kids:[]}),t=n.register(e);return new vo(e,t)};var In=vo;var wo=class extends xr{};wo.fromDict=(n,e)=>new wo(n,e);wo.create=n=>{let e=n.obj({FT:"Btn",Ff:bt.PushButton,Kids:[]}),t=n.register(e);return new wo(e,t)};var Bn=wo;var Fo=class extends xr{setValue(e){if(!this.getOnValues().includes(e)&&e!==w.of("Off"))throw new Cn;this.dict.set(w.of("V"),e);let i=this.getWidgets();for(let r=0,o=i.length;r<o;r++){let s=i[r],a=s.getOnValue()===e?e:w.of("Off");s.setAppearanceState(a)}}getValue(){let e=this.V();return e instanceof w?e:w.of("Off")}getOnValues(){let e=this.getWidgets(),t=[];for(let i=0,r=e.length;i<r;i++){let o=e[i].getOnValue();o&&t.push(o)}return t}};Fo.fromDict=(n,e)=>new Fo(n,e);Fo.create=n=>{let e=n.obj({FT:"Btn",Ff:bt.Radio,Kids:[]}),t=n.register(e);return new Fo(e,t)};var Ln=Fo;var Do=class extends Bs{};Do.fromDict=(n,e)=>new Do(n,e);Do.create=n=>{let e=n.obj({FT:"Ch",Kids:[]}),t=n.register(e);return new Do(e,t)};var On=Do;var Ls=n=>{if(!n)return[];let e=[];for(let t=0,i=n.size();t<i;t++){let r=n.get(t),o=n.lookup(t);r instanceof Y&&o instanceof G&&e.push([Md(o,r),r])}return e},Md=(n,e)=>nP(n)?An.fromDict(n,e):rP(n,e),nP=n=>{let e=n.lookup(w.of("Kids"));if(e instanceof X)for(let t=0,i=e.size();t<i;t++){let r=e.lookup(t);if(r instanceof G&&r.has(w.of("T")))return!0}return!1},rP=(n,e)=>{let t=Vf(n,w.of("FT")),i=n.context.lookup(t,w);return i===w.of("Btn")?oP(n,e):i===w.of("Ch")?sP(n,e):i===w.of("Tx")?In.fromDict(n,e):i===w.of("Sig")?br.fromDict(n,e):zt.fromDict(n,e)},oP=(n,e)=>{var t;let i=Vf(n,w.of("Ff")),r=n.context.lookupMaybe(i,K),o=(t=r==null?void 0:r.asNumber())!==null&&t!==void 0?t:0;return Rf(o,bt.PushButton)?Bn.fromDict(n,e):Rf(o,bt.Radio)?Ln.fromDict(n,e):En.fromDict(n,e)},sP=(n,e)=>{var t;let i=Vf(n,w.of("Ff")),r=n.context.lookupMaybe(i,K),o=(t=r==null?void 0:r.asNumber())!==null&&t!==void 0?t:0;return Rf(o,ge.Combo)?Tn.fromDict(n,e):On.fromDict(n,e)},Rf=(n,e)=>(n&e)!==0,Vf=(n,e)=>{let t;return Xb(n,i=>{t||(t=i.get(e))}),t},Xb=(n,e)=>{e(n);let t=n.lookupMaybe(w.of("Parent"),G);t&&Xb(t,e)};var Po=class{constructor(e){this.dict=e}Fields(){let e=this.dict.lookup(w.of("Fields"));if(e instanceof X)return e}getFields(){let{Fields:e}=this.normalizedEntries(),t=new Array(e.size());for(let i=0,r=e.size();i<r;i++){let o=e.get(i),s=e.lookup(i,G);t[i]=[Md(s,o),o]}return t}getAllFields(){let e=[],t=i=>{if(i)for(let r=0,o=i.length;r<o;r++){let s=i[r];e.push(s);let[a]=s;a instanceof An&&t(Ls(a.Kids()))}};return t(this.getFields()),e}addField(e){let{Fields:t}=this.normalizedEntries();t==null||t.push(e)}removeField(e){let t=e.getParent(),i=t===void 0?this.normalizedEntries().Fields:t.Kids(),r=i==null?void 0:i.indexOf(e.ref);if(i===void 0||r===void 0)throw new Error(`Tried to remove inexistent field ${e.getFullyQualifiedName()}`);i.remove(r),t!==void 0&&i.size()===0&&this.removeField(t)}normalizedEntries(){let e=this.Fields();return e||(e=this.dict.context.obj([]),this.dict.set(w.of("Fields"),e)),{Fields:e}}};Po.fromDict=n=>new Po(n);Po.create=n=>{let e=n.obj({Fields:[]});return new Po(e)};var yr=Po;var Nd=(n,e)=>{if(n!==void 0)return e[n]},ko;(function(n){n.UseNone="UseNone",n.UseOutlines="UseOutlines",n.UseThumbs="UseThumbs",n.UseOC="UseOC"})(ko||(ko={}));var Co;(function(n){n.L2R="L2R",n.R2L="R2L"})(Co||(Co={}));var So;(function(n){n.None="None",n.AppDefault="AppDefault"})(So||(So={}));var Os;(function(n){n.Simplex="Simplex",n.DuplexFlipShortEdge="DuplexFlipShortEdge",n.DuplexFlipLongEdge="DuplexFlipLongEdge"})(Os||(Os={}));var Eo=class{constructor(e){this.dict=e}lookupBool(e){let t=this.dict.lookup(w.of(e));if(t instanceof Li)return t}lookupName(e){let t=this.dict.lookup(w.of(e));if(t instanceof w)return t}HideToolbar(){return this.lookupBool("HideToolbar")}HideMenubar(){return this.lookupBool("HideMenubar")}HideWindowUI(){return this.lookupBool("HideWindowUI")}FitWindow(){return this.lookupBool("FitWindow")}CenterWindow(){return this.lookupBool("CenterWindow")}DisplayDocTitle(){return this.lookupBool("DisplayDocTitle")}NonFullScreenPageMode(){return this.lookupName("NonFullScreenPageMode")}Direction(){return this.lookupName("Direction")}PrintScaling(){return this.lookupName("PrintScaling")}Duplex(){return this.lookupName("Duplex")}PickTrayByPDFSize(){return this.lookupBool("PickTrayByPDFSize")}PrintPageRange(){let e=this.dict.lookup(w.of("PrintPageRange"));if(e instanceof X)return e}NumCopies(){let e=this.dict.lookup(w.of("NumCopies"));if(e instanceof K)return e}getHideToolbar(){var e,t;return(t=(e=this.HideToolbar())===null||e===void 0?void 0:e.asBoolean())!==null&&t!==void 0?t:!1}getHideMenubar(){var e,t;return(t=(e=this.HideMenubar())===null||e===void 0?void 0:e.asBoolean())!==null&&t!==void 0?t:!1}getHideWindowUI(){var e,t;return(t=(e=this.HideWindowUI())===null||e===void 0?void 0:e.asBoolean())!==null&&t!==void 0?t:!1}getFitWindow(){var e,t;return(t=(e=this.FitWindow())===null||e===void 0?void 0:e.asBoolean())!==null&&t!==void 0?t:!1}getCenterWindow(){var e,t;return(t=(e=this.CenterWindow())===null||e===void 0?void 0:e.asBoolean())!==null&&t!==void 0?t:!1}getDisplayDocTitle(){var e,t;return(t=(e=this.DisplayDocTitle())===null||e===void 0?void 0:e.asBoolean())!==null&&t!==void 0?t:!1}getNonFullScreenPageMode(){var e,t;let i=(e=this.NonFullScreenPageMode())===null||e===void 0?void 0:e.decodeText();return(t=Nd(i,ko))!==null&&t!==void 0?t:ko.UseNone}getReadingDirection(){var e,t;let i=(e=this.Direction())===null||e===void 0?void 0:e.decodeText();return(t=Nd(i,Co))!==null&&t!==void 0?t:Co.L2R}getPrintScaling(){var e,t;let i=(e=this.PrintScaling())===null||e===void 0?void 0:e.decodeText();return(t=Nd(i,So))!==null&&t!==void 0?t:So.AppDefault}getDuplex(){var e;let t=(e=this.Duplex())===null||e===void 0?void 0:e.decodeText();return Nd(t,Os)}getPickTrayByPDFSize(){var e;return(e=this.PickTrayByPDFSize())===null||e===void 0?void 0:e.asBoolean()}getPrintPageRange(){let e=this.PrintPageRange();if(!e)return[];let t=[];for(let i=0;i<e.size();i+=2){let r=e.lookup(i,K).asNumber(),o=e.lookup(i+1,K).asNumber();t.push({start:r,end:o})}return t}getNumCopies(){var e,t;return(t=(e=this.NumCopies())===null||e===void 0?void 0:e.asNumber())!==null&&t!==void 0?t:1}setHideToolbar(e){let t=this.dict.context.obj(e);this.dict.set(w.of("HideToolbar"),t)}setHideMenubar(e){let t=this.dict.context.obj(e);this.dict.set(w.of("HideMenubar"),t)}setHideWindowUI(e){let t=this.dict.context.obj(e);this.dict.set(w.of("HideWindowUI"),t)}setFitWindow(e){let t=this.dict.context.obj(e);this.dict.set(w.of("FitWindow"),t)}setCenterWindow(e){let t=this.dict.context.obj(e);this.dict.set(w.of("CenterWindow"),t)}setDisplayDocTitle(e){let t=this.dict.context.obj(e);this.dict.set(w.of("DisplayDocTitle"),t)}setNonFullScreenPageMode(e){si(e,"nonFullScreenPageMode",ko);let t=w.of(e);this.dict.set(w.of("NonFullScreenPageMode"),t)}setReadingDirection(e){si(e,"readingDirection",Co);let t=w.of(e);this.dict.set(w.of("Direction"),t)}setPrintScaling(e){si(e,"printScaling",So);let t=w.of(e);this.dict.set(w.of("PrintScaling"),t)}setDuplex(e){si(e,"duplex",Os);let t=w.of(e);this.dict.set(w.of("Duplex"),t)}setPickTrayByPDFSize(e){let t=this.dict.context.obj(e);this.dict.set(w.of("PickTrayByPDFSize"),t)}setPrintPageRange(e){Array.isArray(e)||(e=[e]);let t=[];for(let r=0,o=e.length;r<o;r++)t.push(e[r].start),t.push(e[r].end);al(t,"printPageRange",["number"]);let i=this.dict.context.obj(t);this.dict.set(w.of("PrintPageRange"),i)}setNumCopies(e){xt(e,"numCopies",1,Number.MAX_VALUE),kf(e,"numCopies");let t=this.dict.context.obj(e);this.dict.set(w.of("NumCopies"),t)}};Eo.fromDict=n=>new Eo(n);Eo.create=n=>{let e=n.obj({});return new Eo(e)};var Xl=Eo;var To=class extends G{Pages(){return this.lookup(w.of("Pages"),G)}AcroForm(){return this.lookupMaybe(w.of("AcroForm"),G)}getAcroForm(){let e=this.AcroForm();if(e)return yr.fromDict(e)}getOrCreateAcroForm(){let e=this.getAcroForm();if(!e){e=yr.create(this.context);let t=this.context.register(e.dict);this.set(w.of("AcroForm"),t)}return e}ViewerPreferences(){return this.lookupMaybe(w.of("ViewerPreferences"),G)}getViewerPreferences(){let e=this.ViewerPreferences();if(e)return Xl.fromDict(e)}getOrCreateViewerPreferences(){let e=this.getViewerPreferences();if(!e){e=Xl.create(this.context);let t=this.context.register(e.dict);this.set(w.of("ViewerPreferences"),t)}return e}insertLeafNode(e,t){let i=this.get(w.of("Pages"));return this.Pages().insertLeafNode(e,t)||i}removeLeafNode(e){this.Pages().removeLeafNode(e)}};To.withContextAndPages=(n,e)=>{let t=new Map;return t.set(w.of("Type"),w.of("Catalog")),t.set(w.of("Pages"),e),new To(t,n)};To.fromMapWithContext=(n,e)=>new To(n,e);var vr=To;var Ao=class n extends G{Parent(){return this.lookup(w.of("Parent"))}Kids(){return this.lookup(w.of("Kids"),X)}Count(){return this.lookup(w.of("Count"),K)}pushTreeNode(e){this.Kids().push(e)}pushLeafNode(e){let t=this.Kids();this.insertLeafKid(t.size(),e)}insertLeafNode(e,t){let i=this.Kids(),r=this.Count().asNumber();if(t>r)throw new Ds(t,r);let o=t;for(let s=0,a=i.size();s<a;s++){if(o===0){this.insertLeafKid(s,e);return}let c=i.get(s),l=this.context.lookup(c);if(l instanceof n){if(l.Count().asNumber()>o)return l.insertLeafNode(e,o)||c;o-=l.Count().asNumber()}l instanceof Qe&&(o-=1)}if(o===0){this.insertLeafKid(i.size(),e);return}throw new Ps(t,"insertLeafNode")}removeLeafNode(e,t=!0){let i=this.Kids(),r=this.Count().asNumber();if(e>=r)throw new Ds(e,r);let o=e;for(let s=0,a=i.size();s<a;s++){let c=i.get(s),l=this.context.lookup(c);if(l instanceof n)if(l.Count().asNumber()>o){l.removeLeafNode(o,t),t&&l.Kids().size()===0&&i.remove(s);return}else o-=l.Count().asNumber();if(l instanceof Qe)if(o===0){this.removeKid(s);return}else o-=1}throw new Ps(e,"removeLeafNode")}ascend(e){e(this);let t=this.Parent();t&&t.ascend(e)}traverse(e){let t=this.Kids();for(let i=0,r=t.size();i<r;i++){let o=t.get(i),s=this.context.lookup(o);s instanceof n&&s.traverse(e),e(s,o)}}insertLeafKid(e,t){let i=this.Kids();this.ascend(r=>{let o=r.Count().asNumber()+1;r.set(w.of("Count"),K.of(o))}),i.insert(e,t)}removeKid(e){let t=this.Kids();t.lookup(e)instanceof Qe&&this.ascend(r=>{let o=r.Count().asNumber()-1;r.set(w.of("Count"),K.of(o))}),t.remove(e)}};Ao.withContext=(n,e)=>{let t=new Map;return t.set(w.of("Type"),w.of("Pages")),t.set(w.of("Kids"),n.obj([])),t.set(w.of("Count"),n.obj(0)),e&&t.set(w.of("Parent"),e),new Ao(t,n)};Ao.fromMapWithContext=(n,e)=>new Ao(n,e);var wr=Ao;var Fr;(function(n){n[n.Deleted=0]="Deleted",n[n.Uncompressed=1]="Uncompressed",n[n.Compressed=2]="Compressed"})(Fr||(Fr={}));var Io=class n extends pr{constructor(e,t,i=!0){super(e,i),this.computeIndex=()=>{let r=[],o=0;for(let s=0,a=this.entries.length;s<a;s++){let c=this.entries[s],l=this.entries[s-1];s===0?r.push(c.ref.objectNumber):c.ref.objectNumber-l.ref.objectNumber>1&&(r.push(o),r.push(c.ref.objectNumber),o=0),o+=1}return r.push(o),r},this.computeEntryTuples=()=>{let r=new Array(this.entries.length);for(let o=0,s=this.entries.length;o<s;o++){let a=this.entries[o];if(a.type===Fr.Deleted){let{type:c,nextFreeObjectNumber:l,ref:d}=a;r[o]=[c,l,d.generationNumber]}if(a.type===Fr.Uncompressed){let{type:c,offset:l,ref:d}=a;r[o]=[c,l,d.generationNumber]}if(a.type===Fr.Compressed){let{type:c,objectStreamRef:l,index:d}=a;r[o]=[c,l.objectNumber,d]}}return r},this.computeMaxEntryByteWidths=()=>{let r=this.entryTuplesCache.access(),o=[0,0,0];for(let s=0,a=r.length;s<a;s++){let[c,l,d]=r[s],h=ds(c),u=ds(l),p=ds(d);h>o[0]&&(o[0]=h),u>o[1]&&(o[1]=u),p>o[2]&&(o[2]=p)}return o},this.entries=t||[],this.entryTuplesCache=ht.populatedBy(this.computeEntryTuples),this.maxByteWidthsCache=ht.populatedBy(this.computeMaxEntryByteWidths),this.indexCache=ht.populatedBy(this.computeIndex),e.set(w.of("Type"),w.of("XRef"))}addDeletedEntry(e,t){let i=Fr.Deleted;this.entries.push({type:i,ref:e,nextFreeObjectNumber:t}),this.entryTuplesCache.invalidate(),this.maxByteWidthsCache.invalidate(),this.indexCache.invalidate(),this.contentsCache.invalidate()}addUncompressedEntry(e,t){let i=Fr.Uncompressed;this.entries.push({type:i,ref:e,offset:t}),this.entryTuplesCache.invalidate(),this.maxByteWidthsCache.invalidate(),this.indexCache.invalidate(),this.contentsCache.invalidate()}addCompressedEntry(e,t,i){let r=Fr.Compressed;this.entries.push({type:r,ref:e,objectStreamRef:t,index:i}),this.entryTuplesCache.invalidate(),this.maxByteWidthsCache.invalidate(),this.indexCache.invalidate(),this.contentsCache.invalidate()}clone(e){let{dict:t,entries:i,encode:r}=this;return n.of(t.clone(e),i.slice(),r)}getContentsString(){let e=this.entryTuplesCache.access(),t=this.maxByteWidthsCache.access(),i="";for(let r=0,o=e.length;r<o;r++){let[s,a,c]=e[r],l=rr(sr(s)),d=rr(sr(a)),h=rr(sr(c));for(let u=t[0]-1;u>=0;u--)i+=(l[u]||0).toString(2);for(let u=t[1]-1;u>=0;u--)i+=(d[u]||0).toString(2);for(let u=t[2]-1;u>=0;u--)i+=(h[u]||0).toString(2)}return i}getUnencodedContents(){let e=this.entryTuplesCache.access(),t=this.maxByteWidthsCache.access(),i=new Uint8Array(this.getUnencodedContentsSize()),r=0;for(let o=0,s=e.length;o<s;o++){let[a,c,l]=e[o],d=rr(sr(a)),h=rr(sr(c)),u=rr(sr(l));for(let p=t[0]-1;p>=0;p--)i[r++]=d[p]||0;for(let p=t[1]-1;p>=0;p--)i[r++]=h[p]||0;for(let p=t[2]-1;p>=0;p--)i[r++]=u[p]||0}return i}getUnencodedContentsSize(){let e=this.maxByteWidthsCache.access();return B0(e)*this.entries.length}updateDict(){super.updateDict();let e=this.maxByteWidthsCache.access(),t=this.indexCache.access(),{context:i}=this.dict;this.dict.set(w.of("W"),i.obj(e)),this.dict.set(w.of("Index"),i.obj(t))}};Io.create=(n,e=!0)=>{let t=new Io(n,[],e);return t.addDeletedEntry(Y.of(0,65535),0),t};Io.of=(n,e,t=!0)=>new Io(n,e,t);var Rd=Io;var Zl=class extends Es{constructor(e,t,i,r){super(e,t),this.encodeStreams=i,this.objectsPerStream=r}async computeBufferSize(){let e=this.context.largestObjectNumber+1,t=en.forVersion(1,7),i=t.sizeInBytes()+2,r=Rd.create(this.createTrailerDict(),this.encodeStreams),o=[],s=[],a=[],c=this.context.security,l=this.context.enumerateIndirectObjects();for(let p=0,f=l.length;p<f;p++){let m=l[p],[x,g]=m;if(x===this.context.trailerInfo.Encrypt||g instanceof Ee||g instanceof Ts||g instanceof vr||g instanceof wr||g instanceof Qe||x.generationNumber!==0)o.push(m),c&&this.encrypt(x,g,c),r.addUncompressedEntry(x,i),i+=this.computeIndirectObjectSize(m),this.shouldWaitForTick(1)&&await Ti();else{let v=Jr(s),y=Jr(a);(!v||v.length%this.objectsPerStream===0)&&(v=[],s.push(v),y=Y.of(e++),a.push(y)),r.addCompressedEntry(x,y,v.length),v.push(m)}}for(let p=0,f=s.length;p<f;p++){let m=s[p],x=a[p],g=Ss.withContextAndObjects(this.context,m,this.encodeStreams);c&&this.encrypt(x,g,c),r.addUncompressedEntry(x,i),i+=this.computeIndirectObjectSize([x,g]),o.push([x,g]),this.shouldWaitForTick(m.length)&&await Ti()}let d=Y.of(e++);r.dict.set(w.of("Size"),K.of(e)),r.addUncompressedEntry(d,i);let h=i;i+=this.computeIndirectObjectSize([d,r]),o.push([d,r]);let u=mr.forLastCrossRefSectionOffset(h);return i+=u.sizeInBytes(),{size:i,header:t,indirectObjects:o,trailer:u}}};Zl.forContext=(n,e,t=!0,i=50)=>new Zl(n,e,t,i);var Vd=Zl;var Yl=class{constructor(e,t){this.encoding=e===so.ZapfDingbats?sl.ZapfDingbats:e===so.Symbol?sl.Symbol:sl.WinAnsi,this.font=Bb.load(e),this.fontName=this.font.FontName,this.customName=t}encodeText(e){let t=this.encodeTextAsGlyphs(e),i=new Array(t.length);for(let r=0,o=t.length;r<o;r++)i[r]=Xi(t[r].code);return j.of(i.join(""))}widthOfTextAtSize(e,t){let i=this.encodeTextAsGlyphs(e),r=0;for(let s=0,a=i.length;s<a;s++){let c=i[s].name,l=(i[s+1]||{}).name,d=this.font.getXAxisKerningForPair(c,l)||0;r+=this.widthOfGlyph(c)+d}let o=t/1e3;return r*o}heightOfFontAtSize(e,t={}){let{descender:i=!0}=t,{Ascender:r,Descender:o,FontBBox:s}=this.font,a=r||s[3],c=o||s[1],l=a-c;return i||(l+=o||0),l/1e3*e}sizeOfFontAtHeight(e){let{Ascender:t,Descender:i,FontBBox:r}=this.font,o=t||r[3],s=i||r[1];return 1e3*e/(o-s)}embedIntoContext(e,t){let i=e.obj({Type:"Font",Subtype:"Type1",BaseFont:this.customName||this.fontName,Encoding:this.encoding===sl.WinAnsi?"WinAnsiEncoding":void 0});return t?(e.assign(t,i),t):e.register(i)}widthOfGlyph(e){return this.font.getWidthOfGlyph(e)||250}encodeTextAsGlyphs(e){let t=Array.from(e),i=new Array(t.length);for(let r=0,o=t.length;r<o;r++){let s=ld(t[r]);try{i[r]=this.encoding.encodeUnicodeCodePoint(s)}catch(a){i[r]=this.encoding.encodeUnicodeCodePoint(ld("?"))}}return i}};Yl.for=(n,e)=>new Yl(n,e);var Dr=Yl;var Yb=(n,e)=>{let t=new Array(n.length);for(let i=0,r=n.length;i<r;i++){let o=n[i],s=Zb(Hd(e(o))),a=Zb(...o.codePoints.map(lP));t[i]=[s,a]}return aP(t)},aP=n=>`/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/CIDSystemInfo <<
/Registry (Adobe)
/Ordering (UCS)
/Supplement 0
>> def
/CMapName /Adobe-Identity-UCS def
/CMapType 2 def
1 begincodespacerange
<0000><ffff>
endcodespacerange
${n.length} beginbfchar
${n.map(([e,t])=>`${e} ${t}`).join(`
`)}
endbfchar
endcmap
CMapName currentdict /CMap defineresource pop
end
end`,Zb=(...n)=>`<${n.join("")}>`,Hd=n=>Gi(n,4),lP=n=>{if(V0(n))return Hd(n);if(H0(n)){let i=hd(n),r=ud(n);return`${Hd(i)}${Hd(r)}`}let t=`0x${Xi(n)} is not a valid UTF-8 or UTF-16 codepoint.`;throw new Error(t)};var cP=n=>{let e=0,t=i=>{e|=1<<i-1};return n.fixedPitch&&t(1),n.serif&&t(2),n.symbolic&&t(3),n.script&&t(4),n.nonsymbolic&&t(6),n.italic&&t(7),n.allCap&&t(17),n.smallCap&&t(18),n.forceBold&&t(19),e},Jb=n=>{let e=n["OS/2"]?n["OS/2"].sFamilyClass:0;return cP({fixedPitch:n.post.isFixedPitch,serif:1<=e&&e<=7,symbolic:!0,script:e===10,italic:n.head.macStyle.italic})};var Hf=class n{static async for(e,t,i,r){let o=await e.create(t);return new n(o,t,i,r)}constructor(e,t,i,r){this.allGlyphsInFontSortedById=()=>{let o=new Array(this.font.characterSet.length);for(let s=0,a=o.length;s<a;s++){let c=this.font.characterSet[s];o[s]=this.font.glyphForCodePoint(c)}return I0(o.sort(A0),s=>s.id)},this.font=e,this.scale=1e3/this.font.unitsPerEm,this.fontData=t,this.fontName=this.font.postscriptName||"Font",this.customName=i,this.fontFeatures=r,this.baseFontName="",this.glyphCache=ht.populatedBy(this.allGlyphsInFontSortedById)}encodeText(e){let{glyphs:t}=this.font.layout(e,this.fontFeatures),i=new Array(t.length);for(let r=0,o=t.length;r<o;r++)i[r]=Gi(t[r].id,4);return j.of(i.join(""))}widthOfTextAtSize(e,t){let{glyphs:i}=this.font.layout(e,this.fontFeatures),r=0;for(let s=0,a=i.length;s<a;s++)r+=i[s].advanceWidth*this.scale;let o=t/1e3;return r*o}heightOfFontAtSize(e,t={}){let{descender:i=!0}=t,{ascent:r,descent:o,bbox:s}=this.font,a=(r||s.maxY)*this.scale,c=(o||s.minY)*this.scale,l=a-c;return i||(l-=Math.abs(o)||0),l/1e3*e}sizeOfFontAtHeight(e){let{ascent:t,descent:i,bbox:r}=this.font,o=(t||r.maxY)*this.scale,s=(i||r.minY)*this.scale;return 1e3*e/(o-s)}embedIntoContext(e,t){return this.baseFontName=this.customName||e.addRandomSuffix(this.fontName),this.embedFontDict(e,t)}async embedFontDict(e,t){let i=await this.embedCIDFontDict(e),r=this.embedUnicodeCmap(e),o=e.obj({Type:"Font",Subtype:"Type0",BaseFont:this.baseFontName,Encoding:"Identity-H",DescendantFonts:[i],ToUnicode:r});return t?(e.assign(t,o),t):e.register(o)}isCFF(){return this.font.cff}async embedCIDFontDict(e){let t=await this.embedFontDescriptor(e),i=e.obj({Type:"Font",Subtype:this.isCFF()?"CIDFontType0":"CIDFontType2",CIDToGIDMap:"Identity",BaseFont:this.baseFontName,CIDSystemInfo:{Registry:ee.of("Adobe"),Ordering:ee.of("Identity"),Supplement:0},FontDescriptor:t,W:this.computeWidths()});return e.register(i)}async embedFontDescriptor(e){let t=await this.embedFontStream(e),{scale:i}=this,{italicAngle:r,ascent:o,descent:s,capHeight:a,xHeight:c}=this.font,{minX:l,minY:d,maxX:h,maxY:u}=this.font.bbox,p=e.obj({Type:"FontDescriptor",FontName:this.baseFontName,Flags:Jb(this.font),FontBBox:[l*i,d*i,h*i,u*i],ItalicAngle:r,Ascent:o*i,Descent:s*i,CapHeight:(a||o)*i,XHeight:(c||0)*i,StemV:0,[this.isCFF()?"FontFile3":"FontFile2"]:t});return e.register(p)}async serializeFont(){return this.fontData}async embedFontStream(e){let t=e.flateStream(await this.serializeFont(),{Subtype:this.isCFF()?"CIDFontType0C":void 0});return e.register(t)}embedUnicodeCmap(e){let t=Yb(this.glyphCache.access(),this.glyphId.bind(this)),i=e.flateStream(t);return e.register(i)}glyphId(e){return e?e.id:-1}computeWidths(){let e=this.glyphCache.access(),t=[],i=[];for(let r=0,o=e.length;r<o;r++){let s=e[r],a=e[r-1],c=this.glyphId(s),l=this.glyphId(a);r===0?t.push(c):c-l!==1&&(t.push(i),t.push(c),i=[]),i.push(s.advanceWidth*this.scale)}return t.push(i),t}},Pr=Hf;var zf=class n extends Pr{static async for(e,t,i,r){let o=await e.create(t);return new n(o,t,i,r)}constructor(e,t,i,r){super(e,t,i,r),this.subset=this.font.createSubset(),this.glyphs=[],this.glyphCache=ht.populatedBy(()=>this.glyphs),this.glyphIdMap=new Map}encodeText(e){let{glyphs:t}=this.font.layout(e,this.fontFeatures),i=new Array(t.length);for(let r=0,o=t.length;r<o;r++){let s=t[r],a=this.subset.includeGlyph(s);this.glyphs[a-1]=s,this.glyphIdMap.set(s.id,a),i[r]=Gi(a,4)}return this.glyphCache.invalidate(),j.of(i.join(""))}isCFF(){return this.subset.cff}glyphId(e){return e?this.glyphIdMap.get(e.id):-1}serializeFont(){return new Promise((e,t)=>{let i=[];this.subset.encodeStream().on("data",r=>i.push(r)).on("end",()=>e(T0(i))).on("error",r=>t(r))})}},zd=zf;var Ms;(function(n){n.Source="Source",n.Data="Data",n.Alternative="Alternative",n.Supplement="Supplement",n.EncryptedPayload="EncryptedPayload",n.FormData="EncryptedPayload",n.Schema="Schema",n.Unspecified="Unspecified"})(Ms||(Ms={}));var Uf=class n{static for(e,t,i={}){return new n(e,t,i)}constructor(e,t,i={}){this.fileData=e,this.fileName=t,this.options=i}async embedIntoContext(e,t){let{mimeType:i,description:r,creationDate:o,modificationDate:s,afRelationship:a}=this.options,c=e.flateStream(this.fileData,{Type:"EmbeddedFile",Subtype:i!=null?i:void 0,Params:{Size:this.fileData.length,CreationDate:o?ee.fromDate(o):void 0,ModDate:s?ee.fromDate(s):void 0}}),l=e.register(c),d=e.obj({Type:"Filespec",F:ee.of(this.fileName),UF:j.fromText(this.fileName),EF:{F:l},Desc:r?j.fromText(r):void 0,AFRelationship:a!=null?a:void 0});return t?(e.assign(t,d),t):e.register(d)}},Ud=Uf;var _b=[65472,65473,65474,65475,65477,65478,65479,65480,65481,65482,65483,65484,65485,65486,65487],Ns;(function(n){n.DeviceGray="DeviceGray",n.DeviceRGB="DeviceRGB",n.DeviceCMYK="DeviceCMYK"})(Ns||(Ns={}));var dP={1:Ns.DeviceGray,3:Ns.DeviceRGB,4:Ns.DeviceCMYK},qf=class n{static async for(e){let t=new DataView(e.buffer);if(t.getUint16(0)!==65496)throw new Error("SOI not found in JPEG");let r=2,o;for(;r<t.byteLength&&(o=t.getUint16(r),r+=2,!_b.includes(o));)r+=t.getUint16(r);if(!_b.includes(o))throw new Error("Invalid JPEG");r+=2;let s=t.getUint8(r++),a=t.getUint16(r);r+=2;let c=t.getUint16(r);r+=2;let l=t.getUint8(r++),d=dP[l];if(!d)throw new Error("Unknown JPEG channel.");let h=d;return new n(e,s,c,a,h)}constructor(e,t,i,r,o){this.imageData=e,this.bitsPerComponent=t,this.width=i,this.height=r,this.colorSpace=o}async embedIntoContext(e,t){let i=e.stream(this.imageData,{Type:"XObject",Subtype:"Image",BitsPerComponent:this.bitsPerComponent,Width:this.width,Height:this.height,ColorSpace:this.colorSpace,Filter:"DCTDecode",Decode:this.colorSpace===Ns.DeviceCMYK?[1,0,1,0,1,0,1,0]:void 0});return t?(e.assign(t,i),t):e.register(i)}},Rs=qf;var Qb=Ki(nl()),W={};W.toRGBA8=function(n){var e=n.width,t=n.height;if(n.tabs.acTL==null)return[W.toRGBA8.decodeImage(n.data,e,t,n).buffer];var i=[];n.frames[0].data==null&&(n.frames[0].data=n.data);for(var r=e*t*4,o=new Uint8Array(r),s=new Uint8Array(r),a=new Uint8Array(r),c=0;c<n.frames.length;c++){var l=n.frames[c],d=l.rect.x,h=l.rect.y,u=l.rect.width,p=l.rect.height,f=W.toRGBA8.decodeImage(l.data,u,p,n);if(c!=0)for(var m=0;m<r;m++)a[m]=o[m];if(l.blend==0?W._copyTile(f,u,p,o,e,t,d,h,0):l.blend==1&&W._copyTile(f,u,p,o,e,t,d,h,1),i.push(o.buffer.slice(0)),l.dispose!=0){if(l.dispose==1)W._copyTile(s,u,p,o,e,t,d,h,0);else if(l.dispose==2)for(var m=0;m<r;m++)o[m]=a[m]}}return i};W.toRGBA8.decodeImage=function(n,e,t,i){var r=e*t,o=W.decode._getBPP(i),s=Math.ceil(e*o/8),a=new Uint8Array(r*4),c=new Uint32Array(a.buffer),l=i.ctype,d=i.depth,h=W._bin.readUshort,u=Date.now();if(l==6){var p=r<<2;if(d==8)for(var f=0;f<p;f+=4)a[f]=n[f],a[f+1]=n[f+1],a[f+2]=n[f+2],a[f+3]=n[f+3];if(d==16)for(var f=0;f<p;f++)a[f]=n[f<<1]}else if(l==2){var m=i.tabs.tRNS;if(m==null){if(d==8)for(var f=0;f<r;f++){var x=f*3;c[f]=255<<24|n[x+2]<<16|n[x+1]<<8|n[x]}if(d==16)for(var f=0;f<r;f++){var x=f*6;c[f]=255<<24|n[x+4]<<16|n[x+2]<<8|n[x]}}else{var g=m[0],b=m[1],v=m[2];if(d==8)for(var f=0;f<r;f++){var y=f<<2,x=f*3;c[f]=255<<24|n[x+2]<<16|n[x+1]<<8|n[x],n[x]==g&&n[x+1]==b&&n[x+2]==v&&(a[y+3]=0)}if(d==16)for(var f=0;f<r;f++){var y=f<<2,x=f*6;c[f]=255<<24|n[x+4]<<16|n[x+2]<<8|n[x],h(n,x)==g&&h(n,x+2)==b&&h(n,x+4)==v&&(a[y+3]=0)}}}else if(l==3){var F=i.tabs.PLTE,D=i.tabs.tRNS,C=D?D.length:0;if(d==1)for(var k=0;k<t;k++)for(var E=k*s,B=k*e,f=0;f<e;f++){var y=B+f<<2,S=n[E+(f>>3)]>>7-((f&7)<<0)&1,I=3*S;a[y]=F[I],a[y+1]=F[I+1],a[y+2]=F[I+2],a[y+3]=S<C?D[S]:255}if(d==2)for(var k=0;k<t;k++)for(var E=k*s,B=k*e,f=0;f<e;f++){var y=B+f<<2,S=n[E+(f>>2)]>>6-((f&3)<<1)&3,I=3*S;a[y]=F[I],a[y+1]=F[I+1],a[y+2]=F[I+2],a[y+3]=S<C?D[S]:255}if(d==4)for(var k=0;k<t;k++)for(var E=k*s,B=k*e,f=0;f<e;f++){var y=B+f<<2,S=n[E+(f>>1)]>>4-((f&1)<<2)&15,I=3*S;a[y]=F[I],a[y+1]=F[I+1],a[y+2]=F[I+2],a[y+3]=S<C?D[S]:255}if(d==8)for(var f=0;f<r;f++){var y=f<<2,S=n[f],I=3*S;a[y]=F[I],a[y+1]=F[I+1],a[y+2]=F[I+2],a[y+3]=S<C?D[S]:255}}else if(l==4){if(d==8)for(var f=0;f<r;f++){var y=f<<2,L=f<<1,A=n[L];a[y]=A,a[y+1]=A,a[y+2]=A,a[y+3]=n[L+1]}if(d==16)for(var f=0;f<r;f++){var y=f<<2,L=f<<2,A=n[L];a[y]=A,a[y+1]=A,a[y+2]=A,a[y+3]=n[L+2]}}else if(l==0)for(var g=i.tabs.tRNS?i.tabs.tRNS:-1,k=0;k<t;k++){var N=k*s,q=k*e;if(d==1)for(var U=0;U<e;U++){var A=255*(n[N+(U>>>3)]>>>7-(U&7)&1),Z=A==g*255?0:255;c[q+U]=Z<<24|A<<16|A<<8|A}else if(d==2)for(var U=0;U<e;U++){var A=85*(n[N+(U>>>2)]>>>6-((U&3)<<1)&3),Z=A==g*85?0:255;c[q+U]=Z<<24|A<<16|A<<8|A}else if(d==4)for(var U=0;U<e;U++){var A=17*(n[N+(U>>>1)]>>>4-((U&1)<<2)&15),Z=A==g*17?0:255;c[q+U]=Z<<24|A<<16|A<<8|A}else if(d==8)for(var U=0;U<e;U++){var A=n[N+U],Z=A==g?0:255;c[q+U]=Z<<24|A<<16|A<<8|A}else if(d==16)for(var U=0;U<e;U++){var A=n[N+(U<<1)],Z=h(n,N+(U<<f))==g?0:255;c[q+U]=Z<<24|A<<16|A<<8|A}}return a};W.decode=function(n){for(var e=new Uint8Array(n),t=8,i=W._bin,r=i.readUshort,o=i.readUint,s={tabs:{},frames:[]},a=new Uint8Array(e.length),c=0,l,d=0,h=[137,80,78,71,13,10,26,10],u=0;u<8;u++)if(e[u]!=h[u])throw"The input is not a PNG file!";for(;t<e.length;){var p=i.readUint(e,t);t+=4;var f=i.readASCII(e,t,4);if(t+=4,f=="IHDR")W.decode._IHDR(e,t,s);else if(f=="IDAT"){for(var u=0;u<p;u++)a[c+u]=e[t+u];c+=p}else if(f=="acTL")s.tabs[f]={num_frames:o(e,t),num_plays:o(e,t+4)},l=new Uint8Array(e.length);else if(f=="fcTL"){if(d!=0){var m=s.frames[s.frames.length-1];m.data=W.decode._decompress(s,l.slice(0,d),m.rect.width,m.rect.height),d=0}var x={x:o(e,t+12),y:o(e,t+16),width:o(e,t+4),height:o(e,t+8)},g=r(e,t+22);g=r(e,t+20)/(g==0?100:g);var b={rect:x,delay:Math.round(g*1e3),dispose:e[t+24],blend:e[t+25]};s.frames.push(b)}else if(f=="fdAT"){for(var u=0;u<p-4;u++)l[d+u]=e[t+u+4];d+=p-4}else if(f=="pHYs")s.tabs[f]=[i.readUint(e,t),i.readUint(e,t+4),e[t+8]];else if(f=="cHRM"){s.tabs[f]=[];for(var u=0;u<8;u++)s.tabs[f].push(i.readUint(e,t+u*4))}else if(f=="tEXt"){s.tabs[f]==null&&(s.tabs[f]={});var v=i.nextZero(e,t),y=i.readASCII(e,t,v-t),F=i.readASCII(e,v+1,t+p-v-1);s.tabs[f][y]=F}else if(f=="iTXt"){s.tabs[f]==null&&(s.tabs[f]={});var v=0,D=t;v=i.nextZero(e,D);var y=i.readASCII(e,D,v-D);D=v+1;var C=e[D],k=e[D+1];D+=2,v=i.nextZero(e,D);var E=i.readASCII(e,D,v-D);D=v+1,v=i.nextZero(e,D);var B=i.readUTF8(e,D,v-D);D=v+1;var F=i.readUTF8(e,D,p-(D-t));s.tabs[f][y]=F}else if(f=="PLTE")s.tabs[f]=i.readBytes(e,t,p);else if(f=="hIST"){var S=s.tabs.PLTE.length/3;s.tabs[f]=[];for(var u=0;u<S;u++)s.tabs[f].push(r(e,t+u*2))}else if(f=="tRNS")s.ctype==3?s.tabs[f]=i.readBytes(e,t,p):s.ctype==0?s.tabs[f]=r(e,t):s.ctype==2&&(s.tabs[f]=[r(e,t),r(e,t+2),r(e,t+4)]);else if(f=="gAMA")s.tabs[f]=i.readUint(e,t)/1e5;else if(f=="sRGB")s.tabs[f]=e[t];else if(f=="bKGD")s.ctype==0||s.ctype==4?s.tabs[f]=[r(e,t)]:s.ctype==2||s.ctype==6?s.tabs[f]=[r(e,t),r(e,t+2),r(e,t+4)]:s.ctype==3&&(s.tabs[f]=e[t]);else if(f=="IEND")break;t+=p;var I=i.readUint(e,t);t+=4}if(d!=0){var m=s.frames[s.frames.length-1];m.data=W.decode._decompress(s,l.slice(0,d),m.rect.width,m.rect.height),d=0}return s.data=W.decode._decompress(s,a,s.width,s.height),delete s.compress,delete s.interlace,delete s.filter,s};W.decode._decompress=function(n,e,t,i){var a=Date.now(),r=W.decode._getBPP(n),o=Math.ceil(t*r/8),s=new Uint8Array((o+1+n.interlace)*i);e=W.decode._inflate(e,s);var a=Date.now();return n.interlace==0?e=W.decode._filterZero(e,n,0,t,i):n.interlace==1&&(e=W.decode._readInterlace(e,n)),e};W.decode._inflate=function(n,e){var t=W.inflateRaw(new Uint8Array(n.buffer,2,n.length-6),e);return t};W.inflateRaw=function(){var n={};return n.H={},n.H.N=function(e,t){var i=Uint8Array,r=0,o=0,s=0,a=0,c=0,l=0,d=0,h=0,u=0,p,f;if(e[0]==3&&e[1]==0)return t||new i(0);var m=n.H,x=m.b,g=m.e,b=m.R,v=m.n,y=m.A,F=m.Z,D=m.m,C=t==null;for(C&&(t=new i(e.length>>>2<<3));r==0;){if(r=x(e,u,1),o=x(e,u+1,2),u+=3,o==0){(u&7)!=0&&(u+=8-(u&7));var k=(u>>>3)+4,E=e[k-4]|e[k-3]<<8;C&&(t=n.H.W(t,h+E)),t.set(new i(e.buffer,e.byteOffset+k,E),h),u=k+E<<3,h+=E;continue}if(C&&(t=n.H.W(t,h+(1<<17))),o==1&&(p=D.J,f=D.h,l=511,d=31),o==2){s=g(e,u,5)+257,a=g(e,u+5,5)+1,c=g(e,u+10,4)+4,u+=14;for(var B=u,S=1,I=0;I<38;I+=2)D.Q[I]=0,D.Q[I+1]=0;for(var I=0;I<c;I++){var L=g(e,u+I*3,3);D.Q[(D.X[I]<<1)+1]=L,L>S&&(S=L)}u+=3*c,v(D.Q,S),y(D.Q,S,D.u),p=D.w,f=D.d,u=b(D.u,(1<<S)-1,s+a,e,u,D.v);var A=m.V(D.v,0,s,D.C);l=(1<<A)-1;var N=m.V(D.v,s,a,D.D);d=(1<<N)-1,v(D.C,A),y(D.C,A,p),v(D.D,N),y(D.D,N,f)}for(;;){var q=p[F(e,u)&l];u+=q&15;var U=q>>>4;if(!(U>>>8))t[h++]=U;else{if(U==256)break;var Z=h+U-254;if(U>264){var O=D.q[U-257];Z=h+(O>>>3)+g(e,u,O&7),u+=O&7}var z=f[F(e,u)&d];u+=z&15;var R=z>>>4,M=D.c[R],ne=(M>>>4)+x(e,u,M&15);for(u+=M&15;h<Z;)t[h]=t[h++-ne],t[h]=t[h++-ne],t[h]=t[h++-ne],t[h]=t[h++-ne];h=Z}}}return t.length==h?t:t.slice(0,h)},n.H.W=function(e,t){var i=e.length;if(t<=i)return e;var r=new Uint8Array(i<<1);return r.set(e,0),r},n.H.R=function(e,t,i,r,o,s){for(var a=n.H.e,c=n.H.Z,l=0;l<i;){var d=e[c(r,o)&t];o+=d&15;var h=d>>>4;if(h<=15)s[l]=h,l++;else{var u=0,p=0;h==16?(p=3+a(r,o,2),o+=2,u=s[l-1]):h==17?(p=3+a(r,o,3),o+=3):h==18&&(p=11+a(r,o,7),o+=7);for(var f=l+p;l<f;)s[l]=u,l++}}return o},n.H.V=function(e,t,i,r){for(var o=0,s=0,a=r.length>>>1;s<i;){var c=e[s+t];r[s<<1]=0,r[(s<<1)+1]=c,c>o&&(o=c),s++}for(;s<a;)r[s<<1]=0,r[(s<<1)+1]=0,s++;return o},n.H.n=function(e,t){for(var i=n.H.m,r=e.length,o,s,a,c,l,d=i.j,c=0;c<=t;c++)d[c]=0;for(c=1;c<r;c+=2)d[e[c]]++;var h=i.K;for(o=0,d[0]=0,s=1;s<=t;s++)o=o+d[s-1]<<1,h[s]=o;for(a=0;a<r;a+=2)l=e[a+1],l!=0&&(e[a]=h[l],h[l]++)},n.H.A=function(e,t,i){for(var r=e.length,o=n.H.m,s=o.r,a=0;a<r;a+=2)if(e[a+1]!=0)for(var c=a>>1,l=e[a+1],d=c<<4|l,h=t-l,u=e[a]<<h,p=u+(1<<h);u!=p;){var f=s[u]>>>15-t;i[f]=d,u++}},n.H.l=function(e,t){for(var i=n.H.m.r,r=15-t,o=0;o<e.length;o+=2){var s=e[o]<<t-e[o+1];e[o]=i[s]>>>r}},n.H.M=function(e,t,i){i=i<<(t&7);var r=t>>>3;e[r]|=i,e[r+1]|=i>>>8},n.H.I=function(e,t,i){i=i<<(t&7);var r=t>>>3;e[r]|=i,e[r+1]|=i>>>8,e[r+2]|=i>>>16},n.H.e=function(e,t,i){return(e[t>>>3]|e[(t>>>3)+1]<<8)>>>(t&7)&(1<<i)-1},n.H.b=function(e,t,i){return(e[t>>>3]|e[(t>>>3)+1]<<8|e[(t>>>3)+2]<<16)>>>(t&7)&(1<<i)-1},n.H.Z=function(e,t){return(e[t>>>3]|e[(t>>>3)+1]<<8|e[(t>>>3)+2]<<16)>>>(t&7)},n.H.i=function(e,t){return(e[t>>>3]|e[(t>>>3)+1]<<8|e[(t>>>3)+2]<<16|e[(t>>>3)+3]<<24)>>>(t&7)},n.H.m=function(){var e=Uint16Array,t=Uint32Array;return{K:new e(16),j:new e(16),X:[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],S:[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,999,999,999],T:[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0],q:new e(32),p:[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,65535,65535],z:[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0],c:new t(32),J:new e(512),_:[],h:new e(32),$:[],w:new e(32768),C:[],v:[],d:new e(32768),D:[],u:new e(512),Q:[],r:new e(32768),s:new t(286),Y:new t(30),a:new t(19),t:new t(15e3),k:new e(65536),g:new e(32768)}}(),function(){for(var e=n.H.m,t=32768,i=0;i<t;i++){var r=i;r=(r&2863311530)>>>1|(r&1431655765)<<1,r=(r&3435973836)>>>2|(r&858993459)<<2,r=(r&4042322160)>>>4|(r&252645135)<<4,r=(r&4278255360)>>>8|(r&16711935)<<8,e.r[i]=(r>>>16|r<<16)>>>17}function o(s,a,c){for(;a--!=0;)s.push(0,c)}for(var i=0;i<32;i++)e.q[i]=e.S[i]<<3|e.T[i],e.c[i]=e.p[i]<<4|e.z[i];o(e._,144,8),o(e._,112,9),o(e._,24,7),o(e._,8,8),n.H.n(e._,9),n.H.A(e._,9,e.J),n.H.l(e._,9),o(e.$,32,5),n.H.n(e.$,5),n.H.A(e.$,5,e.h),n.H.l(e.$,5),o(e.Q,19,0),o(e.C,286,0),o(e.D,30,0),o(e.v,320,0)}(),n.H.N}();W.decode._readInterlace=function(n,e){for(var t=e.width,i=e.height,r=W.decode._getBPP(e),o=r>>3,s=Math.ceil(t*r/8),a=new Uint8Array(i*s),c=0,l=[0,0,4,0,2,0,1],d=[0,4,0,2,0,1,0],h=[8,8,8,4,4,2,2],u=[8,8,4,4,2,2,1],p=0;p<7;){for(var f=h[p],m=u[p],x=0,g=0,b=l[p];b<i;)b+=f,g++;for(var v=d[p];v<t;)v+=m,x++;var y=Math.ceil(x*r/8);W.decode._filterZero(n,e,c,x,g);for(var F=0,D=l[p];D<i;){for(var C=d[p],k=c+F*y<<3;C<t;){if(r==1){var E=n[k>>3];E=E>>7-(k&7)&1,a[D*s+(C>>3)]|=E<<7-((C&7)<<0)}if(r==2){var E=n[k>>3];E=E>>6-(k&7)&3,a[D*s+(C>>2)]|=E<<6-((C&3)<<1)}if(r==4){var E=n[k>>3];E=E>>4-(k&7)&15,a[D*s+(C>>1)]|=E<<4-((C&1)<<2)}if(r>=8)for(var B=D*s+C*o,S=0;S<o;S++)a[B+S]=n[(k>>3)+S];k+=r,C+=m}F++,D+=f}x*g!=0&&(c+=g*(1+y)),p=p+1}return a};W.decode._getBPP=function(n){var e=[1,null,3,1,2,null,4][n.ctype];return e*n.depth};W.decode._filterZero=function(n,e,t,i,r){var o=W.decode._getBPP(e),s=Math.ceil(i*o/8),a=W.decode._paeth;o=Math.ceil(o/8);var c=0,l=1,d=n[t],h=0;if(d>1&&(n[t]=[0,0,1][d-2]),d==3)for(h=o;h<s;h++)n[h+1]=n[h+1]+(n[h+1-o]>>>1)&255;for(var u=0;u<r;u++)if(c=t+u*s,l=c+u+1,d=n[l-1],h=0,d==0)for(;h<s;h++)n[c+h]=n[l+h];else if(d==1){for(;h<o;h++)n[c+h]=n[l+h];for(;h<s;h++)n[c+h]=n[l+h]+n[c+h-o]}else if(d==2)for(;h<s;h++)n[c+h]=n[l+h]+n[c+h-s];else if(d==3){for(;h<o;h++)n[c+h]=n[l+h]+(n[c+h-s]>>>1);for(;h<s;h++)n[c+h]=n[l+h]+(n[c+h-s]+n[c+h-o]>>>1)}else{for(;h<o;h++)n[c+h]=n[l+h]+a(0,n[c+h-s],0);for(;h<s;h++)n[c+h]=n[l+h]+a(n[c+h-o],n[c+h-s],n[c+h-o-s])}return n};W.decode._paeth=function(n,e,t){var i=n+e-t,r=i-n,o=i-e,s=i-t;return r*r<=o*o&&r*r<=s*s?n:o*o<=s*s?e:t};W.decode._IHDR=function(n,e,t){var i=W._bin;t.width=i.readUint(n,e),e+=4,t.height=i.readUint(n,e),e+=4,t.depth=n[e],e++,t.ctype=n[e],e++,t.compress=n[e],e++,t.filter=n[e],e++,t.interlace=n[e],e++};W._bin={nextZero:function(n,e){for(;n[e]!=0;)e++;return e},readUshort:function(n,e){return n[e]<<8|n[e+1]},writeUshort:function(n,e,t){n[e]=t>>8&255,n[e+1]=t&255},readUint:function(n,e){return n[e]*(256*256*256)+(n[e+1]<<16|n[e+2]<<8|n[e+3])},writeUint:function(n,e,t){n[e]=t>>24&255,n[e+1]=t>>16&255,n[e+2]=t>>8&255,n[e+3]=t&255},readASCII:function(n,e,t){for(var i="",r=0;r<t;r++)i+=String.fromCharCode(n[e+r]);return i},writeASCII:function(n,e,t){for(var i=0;i<t.length;i++)n[e+i]=t.charCodeAt(i)},readBytes:function(n,e,t){for(var i=[],r=0;r<t;r++)i.push(n[e+r]);return i},pad:function(n){return n.length<2?"0"+n:n},readUTF8:function(n,e,t){for(var i="",r,o=0;o<t;o++)i+="%"+W._bin.pad(n[e+o].toString(16));try{r=decodeURIComponent(i)}catch(s){return W._bin.readASCII(n,e,t)}return r}};W._copyTile=function(n,e,t,i,r,o,s,a,c){for(var l=Math.min(e,r),d=Math.min(t,o),h=0,u=0,p=0;p<d;p++)for(var f=0;f<l;f++)if(s>=0&&a>=0?(h=p*e+f<<2,u=(a+p)*r+s+f<<2):(h=(-a+p)*e-s+f<<2,u=p*r+f<<2),c==0)i[u]=n[h],i[u+1]=n[h+1],i[u+2]=n[h+2],i[u+3]=n[h+3];else if(c==1){var m=n[h+3]*.00392156862745098,x=n[h]*m,g=n[h+1]*m,b=n[h+2]*m,v=i[u+3]*(1/255),y=i[u]*v,F=i[u+1]*v,D=i[u+2]*v,C=1-m,k=m+v*C,E=k==0?0:1/k;i[u+3]=255*k,i[u+0]=(x+y*C)*E,i[u+1]=(g+F*C)*E,i[u+2]=(b+D*C)*E}else if(c==2){var m=n[h+3],x=n[h],g=n[h+1],b=n[h+2],v=i[u+3],y=i[u],F=i[u+1],D=i[u+2];m==v&&x==y&&g==F&&b==D?(i[u]=0,i[u+1]=0,i[u+2]=0,i[u+3]=0):(i[u]=x,i[u+1]=g,i[u+2]=b,i[u+3]=m)}else if(c==3){var m=n[h+3],x=n[h],g=n[h+1],b=n[h+2],v=i[u+3],y=i[u],F=i[u+1],D=i[u+2];if(m==v&&x==y&&g==F&&b==D)continue;if(m<220&&v>20)return!1}return!0};W.encode=function(n,e,t,i,r,o,s){i==null&&(i=0),s==null&&(s=!1);var a=W.encode.compress(n,e,t,i,[!1,!1,!1,0,s]);return W.encode.compressPNG(a,-1),W.encode._main(a,e,t,r,o)};W.encodeLL=function(n,e,t,i,r,o,s,a){for(var c={ctype:0+(i==1?0:2)+(r==0?0:4),depth:o,frames:[]},l=Date.now(),d=(i+r)*o,h=d*e,u=0;u<n.length;u++)c.frames.push({rect:{x:0,y:0,width:e,height:t},img:new Uint8Array(n[u]),blend:0,dispose:1,bpp:Math.ceil(d/8),bpl:Math.ceil(h/8)});W.encode.compressPNG(c,0,!0);var p=W.encode._main(c,e,t,s,a);return p};W.encode._main=function(n,e,t,i,r){r==null&&(r={});var o=W.crc.crc,s=W._bin.writeUint,a=W._bin.writeUshort,c=W._bin.writeASCII,l=8,d=n.frames.length>1,h=!1,u=33+(d?20:0);if(r.sRGB!=null&&(u+=13),r.pHYs!=null&&(u+=21),n.ctype==3){for(var p=n.plte.length,f=0;f<p;f++)n.plte[f]>>>24!=255&&(h=!0);u+=8+p*3+4+(h?8+p*1+4:0)}for(var m=0;m<n.frames.length;m++){var x=n.frames[m];d&&(u+=38),u+=x.cimg.length+12,m!=0&&(u+=4)}u+=12;for(var g=new Uint8Array(u),b=[137,80,78,71,13,10,26,10],f=0;f<8;f++)g[f]=b[f];if(s(g,l,13),l+=4,c(g,l,"IHDR"),l+=4,s(g,l,e),l+=4,s(g,l,t),l+=4,g[l]=n.depth,l++,g[l]=n.ctype,l++,g[l]=0,l++,g[l]=0,l++,g[l]=0,l++,s(g,l,o(g,l-17,17)),l+=4,r.sRGB!=null&&(s(g,l,1),l+=4,c(g,l,"sRGB"),l+=4,g[l]=r.sRGB,l++,s(g,l,o(g,l-5,5)),l+=4),r.pHYs!=null&&(s(g,l,9),l+=4,c(g,l,"pHYs"),l+=4,s(g,l,r.pHYs[0]),l+=4,s(g,l,r.pHYs[1]),l+=4,g[l]=r.pHYs[2],l++,s(g,l,o(g,l-13,13)),l+=4),d&&(s(g,l,8),l+=4,c(g,l,"acTL"),l+=4,s(g,l,n.frames.length),l+=4,s(g,l,r.loop!=null?r.loop:0),l+=4,s(g,l,o(g,l-12,12)),l+=4),n.ctype==3){var p=n.plte.length;s(g,l,p*3),l+=4,c(g,l,"PLTE"),l+=4;for(var f=0;f<p;f++){var v=f*3,y=n.plte[f],F=y&255,D=y>>>8&255,C=y>>>16&255;g[l+v+0]=F,g[l+v+1]=D,g[l+v+2]=C}if(l+=p*3,s(g,l,o(g,l-p*3-4,p*3+4)),l+=4,h){s(g,l,p),l+=4,c(g,l,"tRNS"),l+=4;for(var f=0;f<p;f++)g[l+f]=n.plte[f]>>>24&255;l+=p,s(g,l,o(g,l-p-4,p+4)),l+=4}}for(var k=0,m=0;m<n.frames.length;m++){var x=n.frames[m];d&&(s(g,l,26),l+=4,c(g,l,"fcTL"),l+=4,s(g,l,k++),l+=4,s(g,l,x.rect.width),l+=4,s(g,l,x.rect.height),l+=4,s(g,l,x.rect.x),l+=4,s(g,l,x.rect.y),l+=4,a(g,l,i[m]),l+=2,a(g,l,1e3),l+=2,g[l]=x.dispose,l++,g[l]=x.blend,l++,s(g,l,o(g,l-30,30)),l+=4);var E=x.cimg,p=E.length;s(g,l,p+(m==0?0:4)),l+=4;var B=l;c(g,l,m==0?"IDAT":"fdAT"),l+=4,m!=0&&(s(g,l,k++),l+=4),g.set(E,l),l+=p,s(g,l,o(g,B,l-B)),l+=4}return s(g,l,0),l+=4,c(g,l,"IEND"),l+=4,s(g,l,o(g,l-4,4)),l+=4,g.buffer};W.encode.compressPNG=function(n,e,t){for(var i=0;i<n.frames.length;i++){var r=n.frames[i],o=r.rect.width,s=r.rect.height,a=new Uint8Array(s*r.bpl+s);r.cimg=W.encode._filterZero(r.img,s,r.bpp,r.bpl,a,e,t)}};W.encode.compress=function(n,e,t,i,r){for(var o=r[0],s=r[1],a=r[2],c=r[3],l=r[4],d=6,h=8,u=255,p=0;p<n.length;p++)for(var f=new Uint8Array(n[p]),m=f.length,x=0;x<m;x+=4)u&=f[x+3];var g=u!=255,b=W.encode.framize(n,e,t,o,s,a),v={},y=[],F=[];if(i!=0){for(var D=[],x=0;x<b.length;x++)D.push(b[x].img.buffer);for(var C=W.encode.concatRGBA(D),k=W.quantize(C,i),E=0,B=new Uint8Array(k.abuf),x=0;x<b.length;x++){var S=b[x].img,I=S.length;F.push(new Uint8Array(k.inds.buffer,E>>2,I>>2));for(var p=0;p<I;p+=4)S[p]=B[E+p],S[p+1]=B[E+p+1],S[p+2]=B[E+p+2],S[p+3]=B[E+p+3];E+=I}for(var x=0;x<k.plte.length;x++)y.push(k.plte[x].est.rgba)}else for(var p=0;p<b.length;p++){var L=b[p],A=new Uint32Array(L.img.buffer),N=L.rect.width,m=A.length,q=new Uint8Array(m);F.push(q);for(var x=0;x<m;x++){var U=A[x];if(x!=0&&U==A[x-1])q[x]=q[x-1];else if(x>N&&U==A[x-N])q[x]=q[x-N];else{var Z=v[U];if(Z==null&&(v[U]=Z=y.length,y.push(U),y.length>=300))break;q[x]=Z}}}var O=y.length;O<=256&&l==!1&&(O<=2?h=1:O<=4?h=2:O<=16?h=4:h=8,h=Math.max(h,c));for(var p=0;p<b.length;p++){var L=b[p],z=L.rect.x,R=L.rect.y,N=L.rect.width,M=L.rect.height,ne=L.img,oe=new Uint32Array(ne.buffer),Ce=4*N,de=4;if(O<=256&&l==!1){Ce=Math.ceil(h*N/8);for(var dt=new Uint8Array(Ce*M),Ut=F[p],ji=0;ji<M;ji++){var x=ji*Ce,Lt=ji*N;if(h==8)for(var ye=0;ye<N;ye++)dt[x+ye]=Ut[Lt+ye];else if(h==4)for(var ye=0;ye<N;ye++)dt[x+(ye>>1)]|=Ut[Lt+ye]<<4-(ye&1)*4;else if(h==2)for(var ye=0;ye<N;ye++)dt[x+(ye>>2)]|=Ut[Lt+ye]<<6-(ye&3)*2;else if(h==1)for(var ye=0;ye<N;ye++)dt[x+(ye>>3)]|=Ut[Lt+ye]<<7-(ye&7)*1}ne=dt,d=3,de=1}else if(g==!1&&b.length==1){for(var dt=new Uint8Array(N*M*3),Ct=N*M,x=0;x<Ct;x++){var S=x*3,er=x*4;dt[S]=ne[er],dt[S+1]=ne[er+1],dt[S+2]=ne[er+2]}ne=dt,d=2,de=3,Ce=3*N}L.img=ne,L.bpl=Ce,L.bpp=de}return{ctype:d,depth:h,plte:y,frames:b}};W.encode.framize=function(n,e,t,i,r,o){for(var s=[],a=0;a<n.length;a++){var c=new Uint8Array(n[a]),l=new Uint32Array(c.buffer),d,h=0,u=0,p=e,f=t,m=i?1:0;if(a!=0){for(var x=o||i||a==1||s[a-2].dispose!=0?1:2,g=0,b=1e9,v=0;v<x;v++){for(var L=new Uint8Array(n[a-1-v]),y=new Uint32Array(n[a-1-v]),F=e,D=t,C=-1,k=-1,E=0;E<t;E++)for(var B=0;B<e;B++){var S=E*e+B;l[S]!=y[S]&&(B<F&&(F=B),B>C&&(C=B),E<D&&(D=E),E>k&&(k=E))}C==-1&&(F=D=C=k=0),r&&((F&1)==1&&F--,(D&1)==1&&D--);var I=(C-F+1)*(k-D+1);I<b&&(b=I,g=v,h=F,u=D,p=C-F+1,f=k-D+1)}var L=new Uint8Array(n[a-1-g]);g==1&&(s[a-1].dispose=2),d=new Uint8Array(p*f*4),W._copyTile(L,e,t,d,p,f,-h,-u,0),m=W._copyTile(c,e,t,d,p,f,-h,-u,3)?1:0,m==1?W.encode._prepareDiff(c,e,t,d,{x:h,y:u,width:p,height:f}):W._copyTile(c,e,t,d,p,f,-h,-u,0)}else d=c.slice(0);s.push({rect:{x:h,y:u,width:p,height:f},img:d,blend:m,dispose:0})}if(i)for(var a=0;a<s.length;a++){var A=s[a];if(A.blend!=1){var N=A.rect,q=s[a-1].rect,U=Math.min(N.x,q.x),Z=Math.min(N.y,q.y),O=Math.max(N.x+N.width,q.x+q.width),z=Math.max(N.y+N.height,q.y+q.height),R={x:U,y:Z,width:O-U,height:z-Z};s[a-1].dispose=1,a-1!=0&&W.encode._updateFrame(n,e,t,s,a-1,R,r),W.encode._updateFrame(n,e,t,s,a,R,r)}}var M=0;if(n.length!=1)for(var S=0;S<s.length;S++){var A=s[S];M+=A.rect.width*A.rect.height}return s};W.encode._updateFrame=function(n,e,t,i,r,o,s){for(var a=Uint8Array,c=Uint32Array,l=new a(n[r-1]),d=new c(n[r-1]),h=r+1<n.length?new a(n[r+1]):null,u=new a(n[r]),p=new c(u.buffer),f=e,m=t,x=-1,g=-1,b=0;b<o.height;b++)for(var v=0;v<o.width;v++){var y=o.x+v,F=o.y+b,D=F*e+y,C=p[D];C==0||i[r-1].dispose==0&&d[D]==C&&(h==null||h[D*4+3]!=0)||(y<f&&(f=y),y>x&&(x=y),F<m&&(m=F),F>g&&(g=F))}x==-1&&(f=m=x=g=0),s&&((f&1)==1&&f--,(m&1)==1&&m--),o={x:f,y:m,width:x-f+1,height:g-m+1};var k=i[r];k.rect=o,k.blend=1,k.img=new Uint8Array(o.width*o.height*4),i[r-1].dispose==0?(W._copyTile(l,e,t,k.img,o.width,o.height,-o.x,-o.y,0),W.encode._prepareDiff(u,e,t,k.img,o)):W._copyTile(u,e,t,k.img,o.width,o.height,-o.x,-o.y,0)};W.encode._prepareDiff=function(n,e,t,i,r){W._copyTile(n,e,t,i,r.width,r.height,-r.x,-r.y,2)};W.encode._filterZero=function(n,e,t,i,r,o,s){var a=[],c=[0,1,2,3,4];o!=-1?c=[o]:(e*i>5e5||t==1)&&(c=[0]);var l;s&&(l={level:0});for(var d=s&&UZIP!=null?UZIP:Qb.default,h=0;h<c.length;h++){for(var u=0;u<e;u++)W.encode._filterLine(r,n,u,i,t,c[h]);a.push(d.deflate(r,l))}for(var p,f=1e9,h=0;h<a.length;h++)a[h].length<f&&(p=h,f=a[h].length);return a[p]};W.encode._filterLine=function(n,e,t,i,r,o){var s=t*i,a=s+t,c=W.decode._paeth;if(n[a]=o,a++,o==0)if(i<500)for(var l=0;l<i;l++)n[a+l]=e[s+l];else n.set(new Uint8Array(e.buffer,s,i),a);else if(o==1){for(var l=0;l<r;l++)n[a+l]=e[s+l];for(var l=r;l<i;l++)n[a+l]=e[s+l]-e[s+l-r]+256&255}else if(t==0){for(var l=0;l<r;l++)n[a+l]=e[s+l];if(o==2)for(var l=r;l<i;l++)n[a+l]=e[s+l];if(o==3)for(var l=r;l<i;l++)n[a+l]=e[s+l]-(e[s+l-r]>>1)+256&255;if(o==4)for(var l=r;l<i;l++)n[a+l]=e[s+l]-c(e[s+l-r],0,0)+256&255}else{if(o==2)for(var l=0;l<i;l++)n[a+l]=e[s+l]+256-e[s+l-i]&255;if(o==3){for(var l=0;l<r;l++)n[a+l]=e[s+l]+256-(e[s+l-i]>>1)&255;for(var l=r;l<i;l++)n[a+l]=e[s+l]+256-(e[s+l-i]+e[s+l-r]>>1)&255}if(o==4){for(var l=0;l<r;l++)n[a+l]=e[s+l]+256-c(0,e[s+l-i],0)&255;for(var l=r;l<i;l++)n[a+l]=e[s+l]+256-c(e[s+l-r],e[s+l-i],e[s+l-r-i])&255}}};W.crc={table:function(){for(var n=new Uint32Array(256),e=0;e<256;e++){for(var t=e,i=0;i<8;i++)t&1?t=3988292384^t>>>1:t=t>>>1;n[e]=t}return n}(),update:function(n,e,t,i){for(var r=0;r<i;r++)n=W.crc.table[(n^e[t+r])&255]^n>>>8;return n},crc:function(n,e,t){return W.crc.update(4294967295,n,e,t)^4294967295}};W.quantize=function(n,e){for(var t=new Uint8Array(n),i=t.slice(0),r=new Uint32Array(i.buffer),o=W.quantize.getKDtree(i,e),s=o[0],a=o[1],c=W.quantize.planeDst,l=t,d=r,h=l.length,u=new Uint8Array(t.length>>2),p=0;p<h;p+=4){var f=l[p]*.00392156862745098,m=l[p+1]*(1/255),x=l[p+2]*(1/255),g=l[p+3]*(1/255),b=W.quantize.getNearest(s,f,m,x,g);u[p>>2]=b.ind,d[p>>2]=b.est.rgba}return{abuf:i.buffer,inds:u,plte:a}};W.quantize.getKDtree=function(n,e,t){t==null&&(t=1e-4);var i=new Uint32Array(n.buffer),r={i0:0,i1:n.length,bst:null,est:null,tdst:0,left:null,right:null};r.bst=W.quantize.stats(n,r.i0,r.i1),r.est=W.quantize.estats(r.bst);for(var o=[r];o.length<e;){for(var s=0,a=0,c=0;c<o.length;c++)o[c].est.L>s&&(s=o[c].est.L,a=c);if(s<t)break;var l=o[a],d=W.quantize.splitPixels(n,i,l.i0,l.i1,l.est.e,l.est.eMq255),h=l.i0>=d||l.i1<=d;if(h){l.est.L=0;continue}var u={i0:l.i0,i1:d,bst:null,est:null,tdst:0,left:null,right:null};u.bst=W.quantize.stats(n,u.i0,u.i1),u.est=W.quantize.estats(u.bst);var p={i0:d,i1:l.i1,bst:null,est:null,tdst:0,left:null,right:null};p.bst={R:[],m:[],N:l.bst.N-u.bst.N};for(var c=0;c<16;c++)p.bst.R[c]=l.bst.R[c]-u.bst.R[c];for(var c=0;c<4;c++)p.bst.m[c]=l.bst.m[c]-u.bst.m[c];p.est=W.quantize.estats(p.bst),l.left=u,l.right=p,o[a]=u,o.push(p)}o.sort(function(f,m){return m.bst.N-f.bst.N});for(var c=0;c<o.length;c++)o[c].ind=c;return[r,o]};W.quantize.getNearest=function(n,e,t,i,r){if(n.left==null)return n.tdst=W.quantize.dist(n.est.q,e,t,i,r),n;var o=W.quantize.planeDst(n.est,e,t,i,r),s=n.left,a=n.right;o>0&&(s=n.right,a=n.left);var c=W.quantize.getNearest(s,e,t,i,r);if(c.tdst<=o*o)return c;var l=W.quantize.getNearest(a,e,t,i,r);return l.tdst<c.tdst?l:c};W.quantize.planeDst=function(n,e,t,i,r){var o=n.e;return o[0]*e+o[1]*t+o[2]*i+o[3]*r-n.eMq};W.quantize.dist=function(n,e,t,i,r){var o=e-n[0],s=t-n[1],a=i-n[2],c=r-n[3];return o*o+s*s+a*a+c*c};W.quantize.splitPixels=function(n,e,t,i,r,o){var s=W.quantize.vecDot;i-=4;for(var a=0;t<i;){for(;s(n,t,r)<=o;)t+=4;for(;s(n,i,r)>o;)i-=4;if(t>=i)break;var c=e[t>>2];e[t>>2]=e[i>>2],e[i>>2]=c,t+=4,i-=4}for(;s(n,t,r)>o;)t-=4;return t+4};W.quantize.vecDot=function(n,e,t){return n[e]*t[0]+n[e+1]*t[1]+n[e+2]*t[2]+n[e+3]*t[3]};W.quantize.stats=function(n,e,t){for(var i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],r=[0,0,0,0],o=t-e>>2,s=e;s<t;s+=4){var a=n[s]*.00392156862745098,c=n[s+1]*(1/255),l=n[s+2]*(1/255),d=n[s+3]*(1/255);r[0]+=a,r[1]+=c,r[2]+=l,r[3]+=d,i[0]+=a*a,i[1]+=a*c,i[2]+=a*l,i[3]+=a*d,i[5]+=c*c,i[6]+=c*l,i[7]+=c*d,i[10]+=l*l,i[11]+=l*d,i[15]+=d*d}return i[4]=i[1],i[8]=i[2],i[9]=i[6],i[12]=i[3],i[13]=i[7],i[14]=i[11],{R:i,m:r,N:o}};W.quantize.estats=function(n){var e=n.R,t=n.m,i=n.N,r=t[0],o=t[1],s=t[2],a=t[3],c=i==0?0:1/i,l=[e[0]-r*r*c,e[1]-r*o*c,e[2]-r*s*c,e[3]-r*a*c,e[4]-o*r*c,e[5]-o*o*c,e[6]-o*s*c,e[7]-o*a*c,e[8]-s*r*c,e[9]-s*o*c,e[10]-s*s*c,e[11]-s*a*c,e[12]-a*r*c,e[13]-a*o*c,e[14]-a*s*c,e[15]-a*a*c],d=l,h=W.M4,u=[.5,.5,.5,.5],p=0,f=0;if(i!=0)for(var m=0;m<10&&(u=h.multVec(d,u),f=Math.sqrt(h.dot(u,u)),u=h.sml(1/f,u),!(Math.abs(f-p)<1e-9));m++)p=f;var x=[r*c,o*c,s*c,a*c],g=h.dot(h.sml(255,x),u);return{Cov:l,q:x,e:u,L:p,eMq255:g,eMq:h.dot(u,x),rgba:(Math.round(255*x[3])<<24|Math.round(255*x[2])<<16|Math.round(255*x[1])<<8|Math.round(255*x[0])<<0)>>>0}};W.M4={multVec:function(n,e){return[n[0]*e[0]+n[1]*e[1]+n[2]*e[2]+n[3]*e[3],n[4]*e[0]+n[5]*e[1]+n[6]*e[2]+n[7]*e[3],n[8]*e[0]+n[9]*e[1]+n[10]*e[2]+n[11]*e[3],n[12]*e[0]+n[13]*e[1]+n[14]*e[2]+n[15]*e[3]]},dot:function(n,e){return n[0]*e[0]+n[1]*e[1]+n[2]*e[2]+n[3]*e[3]},sml:function(n,e){return[n*e[0],n*e[1],n*e[2],n*e[3]]}};W.encode.concatRGBA=function(n){for(var e=0,t=0;t<n.length;t++)e+=n[t].byteLength;for(var i=new Uint8Array(e),r=0,t=0;t<n.length;t++){for(var o=new Uint8Array(n[t]),s=o.length,a=0;a<s;a+=4){var c=o[a],l=o[a+1],d=o[a+2],h=o[a+3];h==0&&(c=l=d=0),i[r+a]=c,i[r+a+1]=l,i[r+a+2]=d,i[r+a+3]=h}r+=s}return i.buffer};var Wf=W;var hP=n=>{if(n===0)return Bo.Greyscale;if(n===2)return Bo.Truecolour;if(n===3)return Bo.IndexedColour;if(n===4)return Bo.GreyscaleWithAlpha;if(n===6)return Bo.TruecolourWithAlpha;throw new Error(`Unknown color type: ${n}`)},uP=n=>{let e=Math.floor(n.length/4),t=new Uint8Array(e*3),i=new Uint8Array(e*1),r=0,o=0,s=0;for(;r<n.length;)t[o++]=n[r++],t[o++]=n[r++],t[o++]=n[r++],i[s++]=n[r++];return{rgbChannel:t,alphaChannel:i}},Bo;(function(n){n.Greyscale="Greyscale",n.Truecolour="Truecolour",n.IndexedColour="IndexedColour",n.GreyscaleWithAlpha="GreyscaleWithAlpha",n.TruecolourWithAlpha="TruecolourWithAlpha"})(Bo||(Bo={}));var Vs=class{constructor(e){let t=Wf.decode(e),i=Wf.toRGBA8(t);if(i.length>1)throw new Error("Animated PNGs are not supported");let r=new Uint8Array(i[0]),{rgbChannel:o,alphaChannel:s}=uP(r);this.rgbChannel=o,s.some(c=>c<255)&&(this.alphaChannel=s),this.type=hP(t.ctype),this.width=t.width,this.height=t.height,this.bitsPerComponent=8}};Vs.load=n=>new Vs(n);var jf=class n{static async for(e){let t=Vs.load(e);return new n(t)}constructor(e){this.image=e,this.bitsPerComponent=e.bitsPerComponent,this.width=e.width,this.height=e.height,this.colorSpace="DeviceRGB"}async embedIntoContext(e,t){let i=this.embedAlphaChannel(e),r=e.flateStream(this.image.rgbChannel,{Type:"XObject",Subtype:"Image",BitsPerComponent:this.image.bitsPerComponent,Width:this.image.width,Height:this.image.height,ColorSpace:this.colorSpace,SMask:i});return t?(e.assign(t,r),t):e.register(r)}embedAlphaChannel(e){if(!this.image.alphaChannel)return;let t=e.flateStream(this.image.alphaChannel,{Type:"XObject",Subtype:"Image",Height:this.image.height,Width:this.image.width,BitsPerComponent:this.image.bitsPerComponent,ColorSpace:"DeviceGray",Decode:[0,1]});return e.register(t)}},Hs=jf;var Kf=class n{constructor(e,t,i){this.bytes=e,this.start=t||0,this.pos=this.start,this.end=t&&i?t+i:this.bytes.length}get length(){return this.end-this.start}get isEmpty(){return this.length===0}getByte(){return this.pos>=this.end?-1:this.bytes[this.pos++]}getUint16(){let e=this.getByte(),t=this.getByte();return e===-1||t===-1?-1:(e<<8)+t}getInt32(){let e=this.getByte(),t=this.getByte(),i=this.getByte(),r=this.getByte();return(e<<24)+(t<<16)+(i<<8)+r}getBytes(e,t=!1){let i=this.bytes,r=this.pos,o=this.end;if(e){let s=r+e;s>o&&(s=o),this.pos=s;let a=i.subarray(r,s);return t?new Uint8ClampedArray(a):a}else{let s=i.subarray(r,o);return t?new Uint8ClampedArray(s):s}}peekByte(){let e=this.getByte();return this.pos--,e}peekBytes(e,t=!1){let i=this.getBytes(e,t);return this.pos-=i.length,i}skip(e){e||(e=1),this.pos+=e}reset(){this.pos=this.start}moveStart(){this.start=this.pos}makeSubStream(e,t){return new n(this.bytes,e,t)}decode(){return this.bytes}},qd=Kf;var fP=new Uint8Array(0),Gf=class{constructor(e){if(this.pos=0,this.bufferLength=0,this.eof=!1,this.buffer=fP,this.minBufferLength=512,e)for(;this.minBufferLength<e;)this.minBufferLength*=2}get isEmpty(){for(;!this.eof&&this.bufferLength===0;)this.readBlock();return this.bufferLength===0}getByte(){let e=this.pos;for(;this.bufferLength<=e;){if(this.eof)return-1;this.readBlock()}return this.buffer[this.pos++]}getUint16(){let e=this.getByte(),t=this.getByte();return e===-1||t===-1?-1:(e<<8)+t}getInt32(){let e=this.getByte(),t=this.getByte(),i=this.getByte(),r=this.getByte();return(e<<24)+(t<<16)+(i<<8)+r}getBytes(e,t=!1){let i,r=this.pos;if(e){for(this.ensureBuffer(r+e),i=r+e;!this.eof&&this.bufferLength<i;)this.readBlock();let s=this.bufferLength;i>s&&(i=s)}else{for(;!this.eof;)this.readBlock();i=this.bufferLength}this.pos=i;let o=this.buffer.subarray(r,i);return t&&!(o instanceof Uint8ClampedArray)?new Uint8ClampedArray(o):o}peekByte(){let e=this.getByte();return this.pos--,e}peekBytes(e,t=!1){let i=this.getBytes(e,t);return this.pos-=i.length,i}skip(e){e||(e=1),this.pos+=e}reset(){this.pos=0}makeSubStream(e,t){let i=e+t;for(;this.bufferLength<=i&&!this.eof;)this.readBlock();return new qd(this.buffer,e,t)}decode(){for(;!this.eof;)this.readBlock();return this.buffer.subarray(0,this.bufferLength)}readBlock(){throw new Ze(this.constructor.name,"readBlock")}ensureBuffer(e){let t=this.buffer;if(e<=t.byteLength)return t;let i=this.minBufferLength;for(;i<e;)i*=2;let r=new Uint8Array(i);return r.set(t),this.buffer=r}},li=Gf;var $b=n=>n===32||n===9||n===13||n===10,Xf=class extends li{constructor(e,t){super(t),this.stream=e,this.input=new Uint8Array(5),t&&(t=.8*t)}readBlock(){let r=this.stream,o=r.getByte();for(;$b(o);)o=r.getByte();if(o===-1||o===126){this.eof=!0;return}let s=this.bufferLength,a,c;if(o===122){for(a=this.ensureBuffer(s+4),c=0;c<4;++c)a[s+c]=0;this.bufferLength+=4}else{let l=this.input;for(l[0]=o,c=1;c<5;++c){for(o=r.getByte();$b(o);)o=r.getByte();if(l[c]=o,o===-1||o===126)break}if(a=this.ensureBuffer(s+c-1),this.bufferLength+=c-1,c<5){for(;c<5;++c)l[c]=117;this.eof=!0}let d=0;for(c=0;c<5;++c)d=d*85+(l[c]-33);for(c=3;c>=0;--c)a[s+c]=d&255,d>>=8}}},ey=Xf;var Zf=class extends li{constructor(e,t){super(t),this.stream=e,this.firstDigit=-1,t&&(t=.5*t)}readBlock(){let t=this.stream.getBytes(8e3);if(!t.length){this.eof=!0;return}let i=t.length+1>>1,r=this.ensureBuffer(this.bufferLength+i),o=this.bufferLength,s=this.firstDigit;for(let a=0,c=t.length;a<c;a++){let l=t[a],d;if(l>=48&&l<=57)d=l&15;else if(l>=65&&l<=70||l>=97&&l<=102)d=(l&15)+9;else if(l===62){this.eof=!0;break}else continue;s<0?s=d:(r[o++]=s<<4|d,s=-1)}s>=0&&this.eof&&(r[o++]=s<<4,s=-1),this.firstDigit=s,this.bufferLength=o}},ty=Zf;var iy=new Int32Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),pP=new Int32Array([3,4,5,6,7,8,9,10,65547,65549,65551,65553,131091,131095,131099,131103,196643,196651,196659,196667,262211,262227,262243,262259,327811,327843,327875,327907,258,258,258]),gP=new Int32Array([1,2,3,4,65541,65543,131081,131085,196625,196633,262177,262193,327745,327777,393345,393409,459009,459137,524801,525057,590849,591361,657409,658433,724993,727041,794625,798721,868353,876545]),mP=[new Int32Array([459008,524368,524304,524568,459024,524400,524336,590016,459016,524384,524320,589984,524288,524416,524352,590048,459012,524376,524312,589968,459028,524408,524344,590032,459020,524392,524328,59e4,524296,524424,524360,590064,459010,524372,524308,524572,459026,524404,524340,590024,459018,524388,524324,589992,524292,524420,524356,590056,459014,524380,524316,589976,459030,524412,524348,590040,459022,524396,524332,590008,524300,524428,524364,590072,459009,524370,524306,524570,459025,524402,524338,590020,459017,524386,524322,589988,524290,524418,524354,590052,459013,524378,524314,589972,459029,524410,524346,590036,459021,524394,524330,590004,524298,524426,524362,590068,459011,524374,524310,524574,459027,524406,524342,590028,459019,524390,524326,589996,524294,524422,524358,590060,459015,524382,524318,589980,459031,524414,524350,590044,459023,524398,524334,590012,524302,524430,524366,590076,459008,524369,524305,524569,459024,524401,524337,590018,459016,524385,524321,589986,524289,524417,524353,590050,459012,524377,524313,589970,459028,524409,524345,590034,459020,524393,524329,590002,524297,524425,524361,590066,459010,524373,524309,524573,459026,524405,524341,590026,459018,524389,524325,589994,524293,524421,524357,590058,459014,524381,524317,589978,459030,524413,524349,590042,459022,524397,524333,590010,524301,524429,524365,590074,459009,524371,524307,524571,459025,524403,524339,590022,459017,524387,524323,589990,524291,524419,524355,590054,459013,524379,524315,589974,459029,524411,524347,590038,459021,524395,524331,590006,524299,524427,524363,590070,459011,524375,524311,524575,459027,524407,524343,590030,459019,524391,524327,589998,524295,524423,524359,590062,459015,524383,524319,589982,459031,524415,524351,590046,459023,524399,524335,590014,524303,524431,524367,590078,459008,524368,524304,524568,459024,524400,524336,590017,459016,524384,524320,589985,524288,524416,524352,590049,459012,524376,524312,589969,459028,524408,524344,590033,459020,524392,524328,590001,524296,524424,524360,590065,459010,524372,524308,524572,459026,524404,524340,590025,459018,524388,524324,589993,524292,524420,524356,590057,459014,524380,524316,589977,459030,524412,524348,590041,459022,524396,524332,590009,524300,524428,524364,590073,459009,524370,524306,524570,459025,524402,524338,590021,459017,524386,524322,589989,524290,524418,524354,590053,459013,524378,524314,589973,459029,524410,524346,590037,459021,524394,524330,590005,524298,524426,524362,590069,459011,524374,524310,524574,459027,524406,524342,590029,459019,524390,524326,589997,524294,524422,524358,590061,459015,524382,524318,589981,459031,524414,524350,590045,459023,524398,524334,590013,524302,524430,524366,590077,459008,524369,524305,524569,459024,524401,524337,590019,459016,524385,524321,589987,524289,524417,524353,590051,459012,524377,524313,589971,459028,524409,524345,590035,459020,524393,524329,590003,524297,524425,524361,590067,459010,524373,524309,524573,459026,524405,524341,590027,459018,524389,524325,589995,524293,524421,524357,590059,459014,524381,524317,589979,459030,524413,524349,590043,459022,524397,524333,590011,524301,524429,524365,590075,459009,524371,524307,524571,459025,524403,524339,590023,459017,524387,524323,589991,524291,524419,524355,590055,459013,524379,524315,589975,459029,524411,524347,590039,459021,524395,524331,590007,524299,524427,524363,590071,459011,524375,524311,524575,459027,524407,524343,590031,459019,524391,524327,589999,524295,524423,524359,590063,459015,524383,524319,589983,459031,524415,524351,590047,459023,524399,524335,590015,524303,524431,524367,590079]),9],xP=[new Int32Array([327680,327696,327688,327704,327684,327700,327692,327708,327682,327698,327690,327706,327686,327702,327694,0,327681,327697,327689,327705,327685,327701,327693,327709,327683,327699,327691,327707,327687,327703,327695,0]),5],Yf=class extends li{constructor(e,t){super(t),this.stream=e;let i=e.getByte(),r=e.getByte();if(i===-1||r===-1)throw new Error(`Invalid header in flate stream: ${i}, ${r}`);if((i&15)!==8)throw new Error(`Unknown compression method in flate stream: ${i}, ${r}`);if(((i<<8)+r)%31!==0)throw new Error(`Bad FCHECK in flate stream: ${i}, ${r}`);if(r&32)throw new Error(`FDICT bit set in flate stream: ${i}, ${r}`);this.codeSize=0,this.codeBuf=0}readBlock(){let e,t,i=this.stream,r=this.getBits(3);if(r&1&&(this.eof=!0),r>>=1,r===0){let l;if((l=i.getByte())===-1)throw new Error("Bad block header in flate stream");let d=l;if((l=i.getByte())===-1)throw new Error("Bad block header in flate stream");if(d|=l<<8,(l=i.getByte())===-1)throw new Error("Bad block header in flate stream");let h=l;if((l=i.getByte())===-1)throw new Error("Bad block header in flate stream");if(h|=l<<8,h!==(~d&65535)&&(d!==0||h!==0))throw new Error("Bad uncompressed block length in flate stream");this.codeBuf=0,this.codeSize=0;let u=this.bufferLength;e=this.ensureBuffer(u+d);let p=u+d;if(this.bufferLength=p,d===0)i.peekByte()===-1&&(this.eof=!0);else for(let f=u;f<p;++f){if((l=i.getByte())===-1){this.eof=!0;break}e[f]=l}return}let o,s;if(r===1)o=mP,s=xP;else if(r===2){let l=this.getBits(5)+257,d=this.getBits(5)+1,h=this.getBits(4)+4,u=new Uint8Array(iy.length),p;for(p=0;p<h;++p)u[iy[p]]=this.getBits(3);let f=this.generateHuffmanTable(u);t=0,p=0;let m=l+d,x=new Uint8Array(m),g,b,v;for(;p<m;){let y=this.getCode(f);if(y===16)g=2,b=3,v=t;else if(y===17)g=3,b=3,v=t=0;else if(y===18)g=7,b=11,v=t=0;else{x[p++]=t=y;continue}let F=this.getBits(g)+b;for(;F-- >0;)x[p++]=v}o=this.generateHuffmanTable(x.subarray(0,l)),s=this.generateHuffmanTable(x.subarray(l,m))}else throw new Error("Unknown block type in flate stream");e=this.buffer;let a=e?e.length:0,c=this.bufferLength;for(;;){let l=this.getCode(o);if(l<256){c+1>=a&&(e=this.ensureBuffer(c+1),a=e.length),e[c++]=l;continue}if(l===256){this.bufferLength=c;return}l-=257,l=pP[l];let d=l>>16;d>0&&(d=this.getBits(d)),t=(l&65535)+d,l=this.getCode(s),l=gP[l],d=l>>16,d>0&&(d=this.getBits(d));let h=(l&65535)+d;c+t>=a&&(e=this.ensureBuffer(c+t),a=e.length);for(let u=0;u<t;++u,++c)e[c]=e[c-h]}}getBits(e){let t=this.stream,i=this.codeSize,r=this.codeBuf,o;for(;i<e;){if((o=t.getByte())===-1)throw new Error("Bad encoding in flate stream");r|=o<<i,i+=8}return o=r&(1<<e)-1,this.codeBuf=r>>e,this.codeSize=i-=e,o}getCode(e){let t=this.stream,i=e[0],r=e[1],o=this.codeSize,s=this.codeBuf,a;for(;o<r&&(a=t.getByte())!==-1;)s|=a<<o,o+=8;let c=i[s&(1<<r)-1];typeof i=="number"&&console.log("FLATE:",c);let l=c>>16,d=c&65535;if(l<1||o<l)throw new Error("Bad encoding in flate stream");return this.codeBuf=s>>l,this.codeSize=o-l,d}generateHuffmanTable(e){let t=e.length,i=0,r;for(r=0;r<t;++r)e[r]>i&&(i=e[r]);let o=1<<i,s=new Int32Array(o);for(let a=1,c=0,l=2;a<=i;++a,c<<=1,l<<=1)for(let d=0;d<t;++d)if(e[d]===a){let h=0,u=c;for(r=0;r<a;++r)h=h<<1|u&1,u>>=1;for(r=h;r<o;r+=l)s[r]=a<<16|d;++c}return[s,i]}},ny=Yf;var Jf=class extends li{constructor(e,t,i){super(t),this.stream=e,this.cachedData=0,this.bitsCached=0;let r=4096,o={earlyChange:i,codeLength:9,nextCode:258,dictionaryValues:new Uint8Array(r),dictionaryLengths:new Uint16Array(r),dictionaryPrevCodes:new Uint16Array(r),currentSequence:new Uint8Array(r),currentSequenceLength:0};for(let s=0;s<256;++s)o.dictionaryValues[s]=s,o.dictionaryLengths[s]=1;this.lzwState=o}readBlock(){let t=1024,i=512,r,o,s,a=this.lzwState;if(!a)return;let c=a.earlyChange,l=a.nextCode,d=a.dictionaryValues,h=a.dictionaryLengths,u=a.dictionaryPrevCodes,p=a.codeLength,f=a.prevCode,m=a.currentSequence,x=a.currentSequenceLength,g=0,b=this.bufferLength,v=this.ensureBuffer(this.bufferLength+t);for(r=0;r<512;r++){let y=this.readBits(p),F=x>0;if(!y||y<256)m[0]=y,x=1;else if(y>=258)if(y<l)for(x=h[y],o=x-1,s=y;o>=0;o--)m[o]=d[s],s=u[s];else m[x++]=m[0];else if(y===256){p=9,l=258,x=0;continue}else{this.eof=!0,delete this.lzwState;break}if(F&&(u[l]=f,h[l]=h[f]+1,d[l]=m[0],l++,p=l+c&l+c-1?p:Math.min(Math.log(l+c)/.6931471805599453+1,12)|0),f=y,g+=x,t<g){do t+=i;while(t<g);v=this.ensureBuffer(this.bufferLength+t)}for(o=0;o<x;o++)v[b++]=m[o]}a.nextCode=l,a.codeLength=p,a.prevCode=f,a.currentSequenceLength=x,this.bufferLength=b}readBits(e){let t=this.bitsCached,i=this.cachedData;for(;t<e;){let r=this.stream.getByte();if(r===-1)return this.eof=!0,null;i=i<<8|r,t+=8}return this.bitsCached=t-=e,this.cachedData=i,i>>>t&(1<<e)-1}},ry=Jf;var _f=class extends li{constructor(e,t){super(t),this.stream=e}readBlock(){let e=this.stream.getBytes(2);if(!e||e.length<2||e[0]===128){this.eof=!0;return}let t,i=this.bufferLength,r=e[0];if(r<128){if(t=this.ensureBuffer(i+r+1),t[i++]=e[1],r>0){let o=this.stream.getBytes(r);t.set(o,i),i+=r}}else{r=257-r;let o=e[1];t=this.ensureBuffer(i+r+1);for(let s=0;s<r;s++)t[i++]=o}this.bufferLength=i}},oy=_f;var sy=(n,e,t)=>{if(e===w.of("FlateDecode"))return new ny(n);if(e===w.of("LZWDecode")){let i=1;if(t instanceof G){let r=t.lookup(w.of("EarlyChange"));r instanceof K&&(i=r.asNumber())}return new ry(n,void 0,i)}if(e===w.of("ASCII85Decode"))return new ey(n);if(e===w.of("ASCIIHexDecode"))return new ty(n);if(e===w.of("RunLengthDecode"))return new oy(n);throw new hl(e.asString())},zs=({dict:n,contents:e,transform:t})=>{let i=new qd(e);t&&(i=t.createStream(i,e.length));let r=n.lookup(w.of("Filter")),o=n.lookup(w.of("DecodeParms"));if(r instanceof w)i=sy(i,r,o);else if(r instanceof X)for(let s=0,a=r.size();s<a;s++)i=sy(i,r.lookup(s,w),o&&o.lookupMaybe(s,G));else if(r)throw new $i([w,X],r);return i};var bP=n=>{let e=n.MediaBox(),t=e.lookup(2,K).asNumber()-e.lookup(0,K).asNumber(),i=e.lookup(3,K).asNumber()-e.lookup(1,K).asNumber();return{left:0,bottom:0,right:t,top:i}},yP=n=>[1,0,0,1,-n.left,-n.bottom],Qf=class n{static async for(e,t,i){return new n(e,t,i)}constructor(e,t,i){this.page=e;let r=t!=null?t:bP(e);this.width=r.right-r.left,this.height=r.top-r.bottom,this.boundingBox=r,this.transformationMatrix=i!=null?i:yP(r)}async embedIntoContext(e,t){let{Contents:i,Resources:r}=this.page.normalizedEntries();if(!i)throw new ul;let o=this.decodeContents(i),{left:s,bottom:a,right:c,top:l}=this.boundingBox,d=e.flateStream(o,{Type:"XObject",Subtype:"Form",FormType:1,BBox:[s,a,c,l],Matrix:this.transformationMatrix,Resources:r});return t?(e.assign(t,d),t):e.register(d)}decodeContents(e){let t=Uint8Array.of(P.Newline),i=[];for(let r=0,o=e.size();r<o;r++){let s=e.lookup(r,Ee),a;if(s instanceof Oi)a=zs(s).decode();else if(s instanceof tn)a=s.getUnencodedContents();else throw new fl(s);i.push(a,t)}return E0(...i)}},Us=Qf;var et=new Uint8Array(256);et[P.Zero]=1;et[P.One]=1;et[P.Two]=1;et[P.Three]=1;et[P.Four]=1;et[P.Five]=1;et[P.Six]=1;et[P.Seven]=1;et[P.Eight]=1;et[P.Nine]=1;var Wd=new Uint8Array(256);Wd[P.Period]=1;Wd[P.Plus]=1;Wd[P.Minus]=1;var Jl=new Uint8Array(256);for(let n=0,e=256;n<e;n++)Jl[n]=et[n]||Wd[n]?1:0;var{Newline:ay,CarriageReturn:ly}=P,$f=class{constructor(e,t=!1){this.bytes=e,this.capNumbers=t}parseRawInt(){let e="";for(;!this.bytes.done();){let i=this.bytes.peek();if(!et[i])break;e+=Mt(this.bytes.next())}let t=Number(e);if(!e||!isFinite(t))throw new ks(this.bytes.position(),e);return t}parseRawNumber(){let e="";for(;!this.bytes.done();){let i=this.bytes.peek();if(!Jl[i]||(e+=Mt(this.bytes.next()),i===P.Period))break}for(;!this.bytes.done();){let i=this.bytes.peek();if(!et[i])break;e+=Mt(this.bytes.next())}let t=Number(e);if(!e||!isFinite(t))throw new ks(this.bytes.position(),e);if(t>Number.MAX_SAFE_INTEGER)if(this.capNumbers){let i=`Parsed number that is too large for some PDF readers: ${e}, using Number.MAX_SAFE_INTEGER instead.`;return console.warn(i),Number.MAX_SAFE_INTEGER}else{let i=`Parsed number that is too large for some PDF readers: ${e}, not capping.`;console.warn(i)}return t}skipWhitespace(){for(;!this.bytes.done()&&ai[this.bytes.peek()];)this.bytes.next()}skipLine(){for(;!this.bytes.done();){let e=this.bytes.peek();if(e===ay||e===ly)return;this.bytes.next()}}skipComment(){if(this.bytes.peek()!==P.Percent)return!1;for(;!this.bytes.done();){let e=this.bytes.peek();if(e===ay||e===ly)return!0;this.bytes.next()}return!0}skipWhitespaceAndComments(){for(this.skipWhitespace();this.skipComment();)this.skipWhitespace()}matchKeyword(e){let t=this.bytes.offset();for(let i=0,r=e.length;i<r;i++)if(this.bytes.done()||this.bytes.next()!==e[i])return this.bytes.moveTo(t),!1;return!0}},cy=$f;var Lo=class{constructor(e){this.idx=0,this.line=0,this.column=0,this.bytes=e,this.length=this.bytes.length}moveTo(e){this.idx=e}next(){let e=this.bytes[this.idx++];return e===P.Newline?(this.line+=1,this.column=0):this.column+=1,e}assertNext(e){if(this.peek()!==e)throw new yl(this.position(),e,this.peek());return this.next()}peek(){return this.bytes[this.idx]}peekAhead(e){return this.bytes[this.idx+e]}peekAt(e){return this.bytes[e]}done(){return this.idx>=this.length}offset(){return this.idx}slice(e,t){return this.bytes.slice(e,t)}position(){return{line:this.line,column:this.column,offset:this.idx}}};Lo.of=n=>new Lo(n);Lo.fromPDFRawStream=n=>Lo.of(zs(n).decode());var kr=Lo;var{Space:vP,CarriageReturn:_l,Newline:Ql}=P,$l=[P.s,P.t,P.r,P.e,P.a,P.m],jd=[P.e,P.n,P.d,P.s,P.t,P.r,P.e,P.a,P.m],Te={header:[P.Percent,P.P,P.D,P.F,P.Dash],eof:[P.Percent,P.Percent,P.E,P.O,P.F],obj:[P.o,P.b,P.j],endobj:[P.e,P.n,P.d,P.o,P.b,P.j],xref:[P.x,P.r,P.e,P.f],trailer:[P.t,P.r,P.a,P.i,P.l,P.e,P.r],startxref:[P.s,P.t,P.a,P.r,P.t,P.x,P.r,P.e,P.f],true:[P.t,P.r,P.u,P.e],false:[P.f,P.a,P.l,P.s,P.e],null:[P.n,P.u,P.l,P.l],stream:$l,streamEOF1:[...$l,vP,_l,Ql],streamEOF2:[...$l,_l,Ql],streamEOF3:[...$l,_l],streamEOF4:[...$l,Ql],endstream:jd,EOF1endstream:[_l,Ql,...jd],EOF2endstream:[_l,...jd],EOF3endstream:[Ql,...jd]};var Oo=class extends cy{constructor(e,t,i=!1,r){super(e,i),this.context=t,this.cryptoFactory=r}parseObject(e){if(this.skipWhitespaceAndComments(),this.matchKeyword(Te.true))return Li.True;if(this.matchKeyword(Te.false))return Li.False;if(this.matchKeyword(Te.null))return Ve;let t=this.bytes.peek();if(t===P.LessThan&&this.bytes.peekAhead(1)===P.LessThan)return this.parseDictOrStream(e);if(t===P.LessThan)return this.parseHexString(e);if(t===P.LeftParen)return this.parseString(e);if(t===P.ForwardSlash)return this.parseName();if(t===P.LeftSquareBracket)return this.parseArray(e);if(Jl[t])return this.parseNumberOrRef();throw new vl(this.bytes.position(),t)}parseNumberOrRef(){let e=this.parseRawNumber();this.skipWhitespaceAndComments();let t=this.bytes.offset();if(et[this.bytes.peek()]){let i=this.parseRawNumber();if(this.skipWhitespaceAndComments(),this.bytes.peek()===P.R)return this.bytes.assertNext(P.R),Y.of(e,i)}return this.bytes.moveTo(t),K.of(e)}parseHexString(e){let t="";for(this.bytes.assertNext(P.LessThan);!this.bytes.done()&&this.bytes.peek()!==P.GreaterThan;)t+=Mt(this.bytes.next());return this.bytes.assertNext(P.GreaterThan),this.cryptoFactory&&e&&(t=this.cryptoFactory.createCipherTransform(e.objectNumber,e.generationNumber).decryptBytes(j.of(t).asBytes()).reduce((o,s)=>o+s.toString(16).padStart(2,"0"),"")),j.of(t)}parseString(e){let t=0,i=!1,r="";for(;!this.bytes.done();){let o=this.bytes.next();if(r+=Mt(o),i||(o===P.LeftParen&&(t+=1),o===P.RightParen&&(t-=1)),o===P.BackSlash?i=!i:i&&(i=!1),t===0){let s=r.substring(1,r.length-1);return this.cryptoFactory&&e&&(s=this.cryptoFactory.createCipherTransform(e.objectNumber,e.generationNumber).decryptString(s)),ee.of(s)}}throw new Dl(this.bytes.position())}parseName(){this.bytes.assertNext(P.ForwardSlash);let e="";for(;!this.bytes.done();){let t=this.bytes.peek();if(ai[t]||Ht[t])break;e+=Mt(t),this.bytes.next()}return w.of(e)}parseArray(e){this.bytes.assertNext(P.LeftSquareBracket),this.skipWhitespaceAndComments();let t=X.withContext(this.context);for(;this.bytes.peek()!==P.RightSquareBracket;){let i=this.parseObject(e);t.push(i),this.skipWhitespaceAndComments()}return this.bytes.assertNext(P.RightSquareBracket),t}parseDict(e){this.bytes.assertNext(P.LessThan),this.bytes.assertNext(P.LessThan),this.skipWhitespaceAndComments();let t=new Map;for(;!this.bytes.done()&&this.bytes.peek()!==P.GreaterThan&&this.bytes.peekAhead(1)!==P.GreaterThan;){let r=this.parseName(),o=this.parseObject(e);t.set(r,o),this.skipWhitespaceAndComments()}this.skipWhitespaceAndComments(),this.bytes.assertNext(P.GreaterThan),this.bytes.assertNext(P.GreaterThan);let i=t.get(w.of("Type"));return i===w.of("Catalog")?vr.fromMapWithContext(t,this.context):i===w.of("Pages")?wr.fromMapWithContext(t,this.context):i===w.of("Page")?Qe.fromMapWithContext(t,this.context):G.fromMapWithContext(t,this.context)}parseDictOrStream(e){let t=this.bytes.position(),i=this.parseDict(e);if(this.skipWhitespaceAndComments(),!this.matchKeyword(Te.streamEOF1)&&!this.matchKeyword(Te.streamEOF2)&&!this.matchKeyword(Te.streamEOF3)&&!this.matchKeyword(Te.streamEOF4)&&!this.matchKeyword(Te.stream))return i;let r=this.bytes.offset(),o,s=i.get(w.of("Length"));s instanceof K?(o=r+s.asNumber(),this.bytes.moveTo(o),this.skipWhitespaceAndComments(),this.matchKeyword(Te.endstream)||(this.bytes.moveTo(r),o=this.findEndOfStreamFallback(t))):o=this.findEndOfStreamFallback(t);let a=this.bytes.slice(r,o);return this.cryptoFactory&&e&&(a=this.cryptoFactory.createCipherTransform(e.objectNumber,e.generationNumber).decryptBytes(a)),Oi.of(i,a)}findEndOfStreamFallback(e){let t=1,i=this.bytes.offset();for(;!this.bytes.done()&&(i=this.bytes.offset(),this.matchKeyword(Te.stream)?t+=1:this.matchKeyword(Te.EOF1endstream)||this.matchKeyword(Te.EOF2endstream)||this.matchKeyword(Te.EOF3endstream)||this.matchKeyword(Te.endstream)?t-=1:this.bytes.next(),t!==0););if(t!==0)throw new Fl(e);return i}};Oo.forBytes=(n,e,t)=>new Oo(kr.of(n),e,t);Oo.forByteStream=(n,e,t=!1)=>new Oo(n,e,t);var qs=Oo;var ec=class extends qs{constructor(e,t){super(kr.fromPDFRawStream(e),e.dict.context);let{dict:i}=e;this.alreadyParsed=!1,this.shouldWaitForTick=t||(()=>!1),this.firstOffset=i.lookup(w.of("First"),K).asNumber(),this.objectCount=i.lookup(w.of("N"),K).asNumber()}async parseIntoContext(){if(this.alreadyParsed)throw new Pn("PDFObjectStreamParser","parseIntoContext");this.alreadyParsed=!0;let e=this.parseOffsetsAndObjectNumbers();for(let t=0,i=e.length;t<i;t++){let{objectNumber:r,offset:o}=e[t];this.bytes.moveTo(this.firstOffset+o);let s=Y.of(r,0),a=this.parseObject(s);this.context.assign(s,a),this.shouldWaitForTick()&&await Ti()}}parseOffsetsAndObjectNumbers(){let e=[];for(let t=0,i=this.objectCount;t<i;t++){this.skipWhitespaceAndComments();let r=this.parseRawInt();this.skipWhitespaceAndComments();let o=this.parseRawInt();e.push({objectNumber:r,offset:o})}return e}};ec.forStream=(n,e)=>new ec(n,e);var Kd=ec;var tc=class{constructor(e){this.alreadyParsed=!1,this.dict=e.dict,this.bytes=kr.fromPDFRawStream(e),this.context=this.dict.context;let t=this.dict.lookup(w.of("Size"),K),i=this.dict.lookup(w.of("Index"));if(i instanceof X){this.subsections=[];for(let o=0,s=i.size();o<s;o+=2){let a=i.lookup(o+0,K).asNumber(),c=i.lookup(o+1,K).asNumber();this.subsections.push({firstObjectNumber:a,length:c})}}else this.subsections=[{firstObjectNumber:0,length:t.asNumber()}];let r=this.dict.lookup(w.of("W"),X);this.byteWidths=[-1,-1,-1];for(let o=0,s=r.size();o<s;o++)this.byteWidths[o]=r.lookup(o,K).asNumber()}parseIntoContext(){if(this.alreadyParsed)throw new Pn("PDFXRefStreamParser","parseIntoContext");return this.alreadyParsed=!0,this.context.trailerInfo={Root:this.dict.get(w.of("Root")),Encrypt:this.dict.get(w.of("Encrypt")),Info:this.dict.get(w.of("Info")),ID:this.dict.get(w.of("ID"))},this.parseEntries()}parseEntries(){let e=[],[t,i,r]=this.byteWidths;for(let o=0,s=this.subsections.length;o<s;o++){let{firstObjectNumber:a,length:c}=this.subsections[o];for(let l=0;l<c;l++){let d=0;for(let m=0,x=t;m<x;m++)d=d<<8|this.bytes.next();let h=0;for(let m=0,x=i;m<x;m++)h=h<<8|this.bytes.next();let u=0;for(let m=0,x=r;m<x;m++)u=u<<8|this.bytes.next();t===0&&(d=1);let p=a+l,f={ref:Y.of(p,u),offset:h,deleted:d===0,inObjectStream:d===2};e.push(f)}}return e}};tc.forStream=n=>new tc(n);var Gd=tc;var ic=class extends qs{constructor(e,t=1/0,i=!1,r=!1,o=!1,s){super(kr.of(e),uo.create(),o,s),this.alreadyParsed=!1,this.parsedObjects=0,this.shouldWaitForTick=()=>(this.parsedObjects+=1,this.parsedObjects%this.objectsPerTick===0),this.objectsPerTick=t,this.throwOnInvalidObject=i,this.warnOnInvalidObjects=r,this.context.isDecrypted=!!(s!=null&&s.encryptionKey)}async parseDocument(){if(this.alreadyParsed)throw new Pn("PDFParser","parseDocument");this.alreadyParsed=!0,this.context.header=this.parseHeader();let e;for(;!this.bytes.done();){await this.parseDocumentSection();let t=this.bytes.offset();if(t===e)throw new Pl(this.bytes.position());e=t}return this.maybeRecoverRoot(),this.context.lookup(Y.of(0))&&(console.warn("Removing parsed object: 0 0 R"),this.context.delete(Y.of(0))),this.context}maybeRecoverRoot(){let e=i=>i instanceof G&&i.lookup(w.of("Type"))===w.of("Catalog"),t=this.context.lookup(this.context.trailerInfo.Root);if(!e(t)){let i=this.context.enumerateIndirectObjects();for(let r=0,o=i.length;r<o;r++){let[s,a]=i[r];e(a)&&(this.context.trailerInfo.Root=s)}}}parseHeader(){for(;!this.bytes.done();){if(this.matchKeyword(Te.header)){let e=this.parseRawInt();this.bytes.assertNext(P.Period);let t=this.parseRawInt(),i=en.forVersion(e,t);return this.skipBinaryHeaderComment(),i}this.bytes.next()}throw new kl(this.bytes.position())}parseIndirectObjectHeader(){this.skipWhitespaceAndComments();let e=this.parseRawInt();this.skipWhitespaceAndComments();let t=this.parseRawInt();if(this.skipWhitespaceAndComments(),!this.matchKeyword(Te.obj))throw new Cl(this.bytes.position(),Te.obj);return Y.of(e,t)}matchIndirectObjectHeader(){let e=this.bytes.offset();try{return this.parseIndirectObjectHeader(),!0}catch(t){return this.bytes.moveTo(e),!1}}async parseIndirectObject(){let e=this.parseIndirectObjectHeader();this.skipWhitespaceAndComments();let t=this.parseObject(e);return this.skipWhitespaceAndComments(),this.matchKeyword(Te.endobj),t instanceof Oi&&t.dict.lookup(w.of("Type"))===w.of("ObjStm")?await Kd.forStream(t,this.shouldWaitForTick).parseIntoContext():t instanceof Oi&&t.dict.lookup(w.of("Type"))===w.of("XRef")?Gd.forStream(t).parseIntoContext():this.context.assign(e,t),e}tryToParseInvalidIndirectObject(){let e=this.bytes.position(),t=`Trying to parse invalid object: ${JSON.stringify(e)})`;if(this.throwOnInvalidObject)throw new Error(t);this.warnOnInvalidObjects&&console.warn(t);let i=this.parseIndirectObjectHeader();this.warnOnInvalidObjects&&console.warn(`Invalid object ref: ${i}`),this.skipWhitespaceAndComments();let r=this.bytes.offset(),o=!0;for(;!this.bytes.done()&&(this.matchKeyword(Te.endobj)&&(o=!1),!!o);)this.bytes.next();if(o)throw new wl(e);let s=this.bytes.offset()-Te.endobj.length,a=Ts.of(this.bytes.slice(r,s));return this.context.assign(i,a),i}async parseIndirectObjects(){for(this.skipWhitespaceAndComments();!this.bytes.done()&&et[this.bytes.peek()];){let e=this.bytes.offset();try{await this.parseIndirectObject()}catch(t){this.bytes.moveTo(e),this.tryToParseInvalidIndirectObject()}this.skipWhitespaceAndComments(),this.skipJibberish(),this.shouldWaitForTick()&&await Ti()}}maybeParseCrossRefSection(){if(this.skipWhitespaceAndComments(),!this.matchKeyword(Te.xref))return;this.skipWhitespaceAndComments();let e=-1,t=po.createEmpty();for(;!this.bytes.done()&&et[this.bytes.peek()];){let i=this.parseRawInt();if(this.skipWhitespaceAndComments(),!et[this.bytes.peek()])return po.createEmpty();let r=this.parseRawInt();this.skipWhitespaceAndComments();let o=this.bytes.peek();if(o===P.n||o===P.f){let s=Y.of(e,r);this.bytes.next()===P.n?t.addEntry(s,i):t.addDeletedEntry(s,i),e+=1}else e=i;this.skipWhitespaceAndComments()}return t}maybeParseTrailerDict(){if(this.skipWhitespaceAndComments(),!this.matchKeyword(Te.trailer))return;this.skipWhitespaceAndComments();let e=this.parseDict(),{context:t}=this;t.trailerInfo={Root:e.get(w.of("Root"))||t.trailerInfo.Root,Encrypt:e.get(w.of("Encrypt"))||t.trailerInfo.Encrypt,Info:e.get(w.of("Info"))||t.trailerInfo.Info,ID:e.get(w.of("ID"))||t.trailerInfo.ID}}maybeParseTrailer(){if(this.skipWhitespaceAndComments(),!this.matchKeyword(Te.startxref))return;this.skipWhitespaceAndComments();let e=this.parseRawInt();return this.skipWhitespace(),this.matchKeyword(Te.eof),this.skipWhitespaceAndComments(),this.matchKeyword(Te.eof),this.skipWhitespaceAndComments(),mr.forLastCrossRefSectionOffset(e)}async parseDocumentSection(){await this.parseIndirectObjects(),this.maybeParseCrossRefSection(),this.maybeParseTrailerDict(),this.maybeParseTrailer(),this.skipJibberish()}skipJibberish(){for(this.skipWhitespaceAndComments();!this.bytes.done();){let e=this.bytes.offset(),t=this.bytes.peek();if(t>=P.Space&&t<=P.Tilde&&(this.matchKeyword(Te.xref)||this.matchKeyword(Te.trailer)||this.matchKeyword(Te.startxref)||this.matchIndirectObjectHeader())){this.bytes.moveTo(e);break}this.bytes.next()}}skipBinaryHeaderComment(){this.skipWhitespaceAndComments();try{let e=this.bytes.offset();this.parseIndirectObjectHeader(),this.bytes.moveTo(e)}catch(e){this.bytes.next(),this.skipWhitespaceAndComments()}}};ic.forBytesWithOptions=(n,e,t,i,r,o)=>new ic(n,e,t,i,r,o);var nc=ic;var ue=Ki(xv(),1),np=class n{static create(e,t){return new n(e,t)}constructor(e,t){if(!t.ownerPassword&&!t.userPassword)throw new Error("Either an owner password or a user password must be specified.");this.context=e,this.initialize(t)}initialize(e){this.id=wP();let t;switch(this.context.header.getVersionString()){case"1.4":case"1.5":t=2;break;case"1.6":case"1.7":t=4;break;case"1.7ext3":t=5;break;default:t=1;break}switch(t){case 1:case 2:case 4:this.encryption=this.initializeV1V2V4(t,e);break;case 5:this.encryption=this.initializeV5(e);break}}initializeV1V2V4(e,t){let i={Filter:"Standard"},r,o;switch(e){case 1:r=2,this.keyBits=40,o=FP(t.permissions);break;case 2:r=3,this.keyBits=128,o=ip(t.permissions);break;case 4:r=4,this.keyBits=128,o=ip(t.permissions);break;default:throw new Error(`Unsupported algorithm '${e}'.`)}let s=Ih(t.userPassword),a=t.ownerPassword?Ih(t.ownerPassword):s,c=kP(r,this.keyBits,s,a);this.encryptionKey=CP(r,this.keyBits,this.id,s,c,o);let l;return r===2?l=DP(this.encryptionKey):l=PP(this.id,this.encryptionKey),i.V=e,e>=2&&(i.Length=this.keyBits),e===4&&(i.CF={StdCF:{AuthEvent:"DocOpen",CFM:"AESV2",Length:this.keyBits/8}},i.StmF="StdCF",i.StrF="StdCF"),i.R=r,i.O=nn(c),i.U=nn(l),i.P=o,i}initializeV5(e){let t={Filter:"Standard"};this.keyBits=256,this.encryptionKey=IP(oc);let i=bv(e.userPassword),r=SP(i,oc),o=ue.default.lib.WordArray.create(r.words.slice(10,12),8),s=EP(i,o,this.encryptionKey),a=e.ownerPassword?bv(e.ownerPassword):i,c=TP(a,r,oc),l=ue.default.lib.WordArray.create(c.words.slice(10,12),8),d=AP(a,l,r,this.encryptionKey),h=ip(e.permissions),u=BP(h,this.encryptionKey,oc);return t.V=5,t.Length=this.keyBits,t.CF={StdCF:{AuthEvent:"DocOpen",CFM:"AESV3",Length:this.keyBits/8}},t.StmF="StdCF",t.StrF="StdCF",t.R=5,t.O=nn(c),t.OE=nn(d),t.U=nn(r),t.UE=nn(s),t.P=h,t.Perms=nn(u),t}getEncryptFn(e,t){let i=this.encryption.V,r,o;if(i<5){if(r=this.encryptionKey.clone().concat(ue.default.lib.WordArray.create([(e&255)<<24|(e&65280)<<8|e>>8&65280|t&255,(t&65280)<<16],5)),i===1||i===2)return o=ue.default.MD5(r),o.sigBytes=Math.min(16,this.keyBits/8+5),c=>nn(ue.default.RC4.encrypt(ue.default.lib.WordArray.create(c),o).ciphertext);i===4&&(o=ue.default.MD5(r.concat(ue.default.lib.WordArray.create([1933667412],4))))}else if(i===5)o=this.encryptionKey;else throw new Error(`Unsupported algorithm '${i}'.`);let s=oc(16),a={mode:ue.default.mode.CBC,padding:ue.default.pad.Pkcs7,iv:s};return c=>nn(s.clone().concat(ue.default.AES.encrypt(ue.default.lib.WordArray.create(c),o,a).ciphertext))}encrypt(){let e=this.context.obj([this.id,this.id]);this.context.trailerInfo.ID=e;let t=this.context.obj(this.encryption);return this.context.trailerInfo.Encrypt=this.context.register(t),this}},wP=()=>nn(ue.default.MD5(Date.now().toString())),oc=n=>ue.default.lib.WordArray.random(n),FP=(n={})=>{let e=-64;return n.printing&&(e|=4),n.modifying&&(e|=8),n.copying&&(e|=16),n.annotating&&(e|=32),e},ip=(n={})=>{let e=-3904;return(n.printing==="lowResolution"||n.printing)&&(e|=4),n.printing==="highResolution"&&(e|=2052),n.modifying&&(e|=8),n.copying&&(e|=16),n.annotating&&(e|=32),n.fillingForms&&(e|=256),n.contentAccessibility&&(e|=512),n.documentAssembly&&(e|=1024),e},DP=n=>ue.default.RC4.encrypt(Ih(),n).ciphertext,PP=(n,e)=>{let t=e.clone(),i=ue.default.MD5(Ih().concat(ue.default.lib.WordArray.create(n)));for(let r=0;r<20;r++){let o=Math.ceil(t.sigBytes/4);for(let s=0;s<o;s++)t.words[s]=e.words[s]^(r|r<<8|r<<16|r<<24);i=ue.default.RC4.encrypt(i,t).ciphertext}return i.concat(ue.default.lib.WordArray.create(null,16))},kP=(n,e,t,i)=>{let r=i,o=n>=3?51:1;for(let c=0;c<o;c++)r=ue.default.MD5(r);let s=r.clone();s.sigBytes=e/8;let a=t;o=n>=3?20:1;for(let c=0;c<o;c++){let l=Math.ceil(s.sigBytes/4);for(let d=0;d<l;d++)s.words[d]=r.words[d]^(c|c<<8|c<<16|c<<24);a=ue.default.RC4.encrypt(a,s).ciphertext}return a},CP=(n,e,t,i,r,o)=>{let s=i.clone().concat(r).concat(ue.default.lib.WordArray.create([yv(o)],4)).concat(ue.default.lib.WordArray.create(t)),a=n>=3?51:1;for(let c=0;c<a;c++)s=ue.default.MD5(s),s.sigBytes=e/8;return s},SP=(n,e)=>{let t=e(8),i=e(8);return ue.default.SHA256(n.clone().concat(t)).concat(t).concat(i)},EP=(n,e,t)=>{let i=ue.default.SHA256(n.clone().concat(e)),r={mode:ue.default.mode.CBC,padding:ue.default.pad.NoPadding,iv:ue.default.lib.WordArray.create(null,16)};return ue.default.AES.encrypt(t,i,r).ciphertext},TP=(n,e,t)=>{let i=t(8),r=t(8);return ue.default.SHA256(n.clone().concat(i).concat(e)).concat(i).concat(r)},AP=(n,e,t,i)=>{let r=ue.default.SHA256(n.clone().concat(e).concat(t)),o={mode:ue.default.mode.CBC,padding:ue.default.pad.NoPadding,iv:ue.default.lib.WordArray.create(null,16)};return ue.default.AES.encrypt(i,r,o).ciphertext},IP=n=>n(32),BP=(n,e,t)=>{let i=ue.default.lib.WordArray.create([yv(n),4294967295,1415668834],12).concat(t(4)),r={mode:ue.default.mode.ECB,padding:ue.default.pad.NoPadding};return ue.default.AES.encrypt(i,e,r).ciphertext},Ih=(n="")=>{let e=Buffer.alloc(32),t=n.length,i=0;for(;i<t&&i<32;){let r=n.charCodeAt(i);if(r>255)throw new Error("Password contains one or more invalid characters.");e[i]=r,i++}for(;i<32;)e[i]=LP[i-t],i++;return ue.default.lib.WordArray.create(e)},bv=(n="")=>{let e=Math.min(127,n.length),t=Buffer.alloc(e);for(let i=0;i<e;i++)t[i]=n.charCodeAt(i);return ue.default.lib.WordArray.create(t)},yv=n=>(n&255)<<24|(n&65280)<<8|n>>8&65280|n>>24&255,nn=n=>{let e=[];for(let t=0;t<n.sigBytes;t++)e.push(n.words[Math.floor(t/4)]>>8*(3-t%4)&255);return Uint8Array.from(e)},LP=[40,191,78,94,78,117,138,65,100,0,78,86,255,250,1,8,46,46,0,182,208,104,62,128,47,12,169,254,100,83,105,122],Bh=np;var rn=n=>1<<n,Mo;(function(n){n[n.Invisible=rn(0)]="Invisible",n[n.Hidden=rn(1)]="Hidden",n[n.Print=rn(2)]="Print",n[n.NoZoom=rn(3)]="NoZoom",n[n.NoRotate=rn(4)]="NoRotate",n[n.NoView=rn(5)]="NoView",n[n.ReadOnly=rn(6)]="ReadOnly",n[n.Locked=rn(7)]="Locked",n[n.ToggleNoView=rn(8)]="ToggleNoView",n[n.LockedContents=rn(9)]="LockedContents"})(Mo||(Mo={}));var Ws=n=>n instanceof w?n:w.of(n),_=n=>n instanceof K?n:K.of(n),le=n=>n instanceof K?n.asNumber():n;var js;(function(n){n.Degrees="degrees",n.Radians="radians"})(js||(js={}));var OP=n=>(T(n,"radianAngle",["number"]),{type:js.Radians,angle:n}),$=n=>(T(n,"degreeAngle",["number"]),{type:js.Degrees,angle:n}),{Radians:vv,Degrees:wv}=js,ci=n=>n*Math.PI/180,Fv=n=>n*180/Math.PI,ot=n=>n.type===vv?n.angle:n.type===wv?ci(n.angle):ar(`Invalid rotation: ${JSON.stringify(n)}`),Nn=n=>n.type===vv?Fv(n.angle):n.type===wv?n.angle:ar(`Invalid rotation: ${JSON.stringify(n)}`),di=(n=0)=>{let e=n/90%4;return e===0?0:e===1?90:e===2?180:e===3?270:0},on=(n,e=0)=>{let t=di(e);return t===90||t===270?{width:n.height,height:n.width}:{width:n.width,height:n.height}},rp=(n,e=0,t=0)=>{let{x:i,y:r,width:o,height:s}=n,a=di(t),c=e/2;return a===0?{x:i-c,y:r-c,width:o,height:s}:a===90?{x:i-s+c,y:r-c,width:s,height:o}:a===180?{x:i-o+c,y:r-s+c,width:o,height:s}:a===270?{x:i-c,y:r-o+c,width:s,height:o}:{x:i-c,y:r-c,width:o,height:s}};var sc=()=>ae.of(ce.ClipNonZero),MP=()=>ae.of(ce.ClipEvenOdd),{cos:Lh,sin:Oh,tan:Mh}=Math,Mi=(n,e,t,i,r,o)=>ae.of(ce.ConcatTransformationMatrix,[_(n),_(e),_(t),_(i),_(r),_(o)]),Tt=(n,e)=>Mi(1,0,0,1,n,e),Er=(n,e)=>Mi(n,0,0,e,0,0),Ro=n=>Mi(Lh(le(n)),Oh(le(n)),-Oh(le(n)),Lh(le(n)),0,0),Ks=n=>Ro(ci(le(n))),ac=(n,e)=>Mi(1,Mh(le(n)),Mh(le(e)),1,0,0),NP=(n,e)=>ac(ci(le(n)),ci(le(e))),Gs=(n,e)=>ae.of(ce.SetLineDashPattern,[`[${n.map(_).join(" ")}]`,_(e)]),RP=()=>Gs([],0),hi;(function(n){n[n.Butt=0]="Butt",n[n.Round=1]="Round",n[n.Projecting=2]="Projecting"})(hi||(hi={}));var lc=n=>ae.of(ce.SetLineCapStyle,[_(n)]),No;(function(n){n[n.Miter=0]="Miter",n[n.Round=1]="Round",n[n.Bevel=2]="Bevel"})(No||(No={}));var VP=n=>ae.of(ce.SetLineJoinStyle,[_(n)]),Rn=n=>ae.of(ce.SetGraphicsStateParams,[Ws(n)]),ze=()=>ae.of(ce.PushGraphicsState),Ue=()=>ae.of(ce.PopGraphicsState),Tr=n=>ae.of(ce.SetLineWidth,[_(n)]),Dt=(n,e,t,i,r,o)=>ae.of(ce.AppendBezierCurve,[_(n),_(e),_(t),_(i),_(r),_(o)]),Xs=(n,e,t,i)=>ae.of(ce.CurveToReplicateInitialPoint,[_(n),_(e),_(t),_(i)]),an=()=>ae.of(ce.ClosePath),Kt=(n,e)=>ae.of(ce.MoveTo,[_(n),_(e)]),Ye=(n,e)=>ae.of(ce.LineTo,[_(n),_(e)]),Dv=(n,e,t,i)=>ae.of(ce.AppendRectangle,[_(n),_(e),_(t),_(i)]),HP=(n,e,t)=>Dv(n,e,t,t),Zs=()=>ae.of(ce.StrokePath),sn;(function(n){n.NonZero="f",n.EvenOdd="f*"})(sn||(sn={}));var Nh=()=>ae.of(ce.FillNonZero),sp=()=>ae.of(ce.FillEvenOdd),Rh=()=>ae.of(ce.FillNonZeroAndStroke),cc=()=>ae.of(ce.EndPath),ap=()=>ae.of(ce.NextLine),zP=(n,e)=>ae.of(ce.MoveText,[_(n),_(e)]),dc=n=>ae.of(ce.ShowText,[n]),hc=()=>ae.of(ce.BeginText),uc=()=>ae.of(ce.EndText),Vo=(n,e)=>ae.of(ce.SetFontAndSize,[Ws(n),_(e)]),UP=n=>ae.of(ce.SetCharacterSpacing,[_(n)]),qP=n=>ae.of(ce.SetWordSpacing,[_(n)]),WP=n=>ae.of(ce.SetTextHorizontalScaling,[_(n)]),lp=n=>ae.of(ce.SetTextLineHeight,[_(n)]),jP=n=>ae.of(ce.SetTextRise,[_(n)]),op;(function(n){n[n.Fill=0]="Fill",n[n.Outline=1]="Outline",n[n.FillAndOutline=2]="FillAndOutline",n[n.Invisible=3]="Invisible",n[n.FillAndClip=4]="FillAndClip",n[n.OutlineAndClip=5]="OutlineAndClip",n[n.FillAndOutlineAndClip=6]="FillAndOutlineAndClip",n[n.Clip=7]="Clip"})(op||(op={}));var Vh=n=>ae.of(ce.SetTextRenderingMode,[_(n)]),Pv=(n,e,t,i,r,o)=>ae.of(ce.SetTextMatrix,[_(n),_(e),_(t),_(i),_(r),_(o)]),Ys=(n,e,t,i,r)=>Pv(Lh(le(n)),Oh(le(n))+Mh(le(e)),-Oh(le(n))+Mh(le(t)),Lh(le(n)),i,r),KP=(n,e,t,i,r)=>Ys(ci(le(n)),ci(le(e)),ci(le(t)),i,r),Js=n=>ae.of(ce.DrawObject,[Ws(n)]),cp=n=>ae.of(ce.NonStrokingColorGray,[_(n)]),dp=n=>ae.of(ce.StrokingColorGray,[_(n)]),hp=(n,e,t)=>ae.of(ce.NonStrokingColorRgb,[_(n),_(e),_(t)]),up=(n,e,t)=>ae.of(ce.StrokingColorRgb,[_(n),_(e),_(t)]),fp=(n,e,t,i)=>ae.of(ce.NonStrokingColorCmyk,[_(n),_(e),_(t),_(i)]),pp=(n,e,t,i)=>ae.of(ce.StrokingColorCmyk,[_(n),_(e),_(t),_(i)]),Hh=n=>ae.of(ce.BeginMarkedContent,[Ws(n)]),zh=()=>ae.of(ce.EndMarkedContent);var jv=Ki(Wv(),1),Ho;(function(n){n.Grayscale="Grayscale",n.RGB="RGB",n.CMYK="CMYK"})(Ho||(Ho={}));var Kh=n=>(xt(n,"gray",0,1),{type:Ho.Grayscale,gray:n}),fe=(n,e,t)=>(xt(n,"red",0,1),xt(e,"green",0,1),xt(t,"blue",0,1),{type:Ho.RGB,red:n,green:e,blue:t}),Gh=(n,e,t,i)=>(xt(n,"cyan",0,1),xt(e,"magenta",0,1),xt(t,"yellow",0,1),xt(i,"key",0,1),{type:Ho.CMYK,cyan:n,magenta:e,yellow:t,key:i}),vp=n=>{T(n,"color",["string"]);let e=(0,jv.default)(n).unitObject();return{rgb:fe(e.r,e.g,e.b),alpha:e.alpha}},{Grayscale:wp,RGB:Fp,CMYK:Dp}=Ho,Ni=n=>n.type===wp?cp(n.gray):n.type===Fp?hp(n.red,n.green,n.blue):n.type===Dp?fp(n.cyan,n.magenta,n.yellow,n.key):ar(`Invalid color: ${JSON.stringify(n)}`),Ir=n=>n.type===wp?dp(n.gray):n.type===Fp?up(n.red,n.green,n.blue):n.type===Dp?pp(n.cyan,n.magenta,n.yellow,n.key):ar(`Invalid color: ${JSON.stringify(n)}`),yt=(n,e=1)=>(n==null?void 0:n.length)===1?Kh(n[0]*e):(n==null?void 0:n.length)===3?fe(n[0]*e,n[1]*e,n[2]*e):(n==null?void 0:n.length)===4?Gh(n[0]*e,n[1]*e,n[2]*e,n[3]*e):void 0,Xh=n=>n.type===wp?[n.gray]:n.type===Fp?[n.red,n.green,n.blue]:n.type===Dp?[n.cyan,n.magenta,n.yellow,n.key]:ar(`Invalid color: ${JSON.stringify(n)}`);var te=0,ie=0,ve=0,we=0,mc=0,xc=0,Kv=new Map([["A",7],["a",7],["C",6],["c",6],["H",1],["h",1],["L",2],["l",2],["M",2],["m",2],["Q",4],["q",4],["S",4],["s",4],["T",2],["t",2],["V",1],["v",1],["Z",0],["z",0]]),ak=n=>{let e,t=[],i=[],r="",o=!1,s=0;for(let a of n)if(Kv.has(a))s=Kv.get(a),e&&(r.length>0&&(i[i.length]=+r),t[t.length]={cmd:e,args:i},i=[],r="",o=!1),e=a;else if([" ",","].includes(a)||a==="-"&&r.length>0&&r[r.length-1]!=="e"||a==="."&&o){if(r.length===0)continue;i.length===s?(t[t.length]={cmd:e,args:i},i=[+r],e==="M"&&(e="L"),e==="m"&&(e="l")):i[i.length]=+r,o=a===".",r=["-","."].includes(a)?a:""}else r+=a,a==="."&&(o=!0);return r.length>0&&(i.length===s?(t[t.length]={cmd:e,args:i},i=[+r],e==="M"&&(e="L"),e==="m"&&(e="l")):i[i.length]=+r),t[t.length]={cmd:e,args:i},t},lk=n=>{te=ie=ve=we=mc=xc=0;let e=[];for(let t=0;t<n.length;t++){let i=n[t];if(i.cmd&&typeof Gv[i.cmd]=="function"){let r=Gv[i.cmd](i.args);Array.isArray(r)?e=e.concat(r):e.push(r)}}return e},Gv={M(n){return te=n[0],ie=n[1],ve=we=null,mc=te,xc=ie,Kt(te,ie)},m(n){return te+=n[0],ie+=n[1],ve=we=null,mc=te,xc=ie,Kt(te,ie)},C(n){return te=n[4],ie=n[5],ve=n[2],we=n[3],Dt(n[0],n[1],n[2],n[3],n[4],n[5])},c(n){let e=Dt(n[0]+te,n[1]+ie,n[2]+te,n[3]+ie,n[4]+te,n[5]+ie);return ve=te+n[2],we=ie+n[3],te+=n[4],ie+=n[5],e},S(n){(ve===null||we===null)&&(ve=te,we=ie);let e=Dt(te-(ve-te),ie-(we-ie),n[0],n[1],n[2],n[3]);return ve=n[0],we=n[1],te=n[2],ie=n[3],e},s(n){(ve===null||we===null)&&(ve=te,we=ie);let e=Dt(te-(ve-te),ie-(we-ie),te+n[0],ie+n[1],te+n[2],ie+n[3]);return ve=te+n[0],we=ie+n[1],te+=n[2],ie+=n[3],e},Q(n){return ve=n[0],we=n[1],te=n[2],ie=n[3],Xs(n[0],n[1],te,ie)},q(n){let e=Xs(n[0]+te,n[1]+ie,n[2]+te,n[3]+ie);return ve=te+n[0],we=ie+n[1],te+=n[2],ie+=n[3],e},T(n){ve===null||we===null?(ve=te,we=ie):(ve=te-(ve-te),we=ie-(we-ie));let e=Xs(ve,we,n[0],n[1]);return te=n[0],ie=n[1],e},t(n){ve===null||we===null?(ve=te,we=ie):(ve=te-(ve-te),we=ie-(we-ie));let e=Xs(ve,we,te+n[0],ie+n[1]);return te+=n[0],ie+=n[1],e},A(n){let e=Xv(te,ie,n);return te=n[5],ie=n[6],e},a(n){n[5]+=te,n[6]+=ie;let e=Xv(te,ie,n);return te=n[5],ie=n[6],e},L(n){return te=n[0],ie=n[1],ve=we=null,Ye(te,ie)},l(n){return te+=n[0],ie+=n[1],ve=we=null,Ye(te,ie)},H(n){return te=n[0],ve=we=null,Ye(te,ie)},h(n){return te+=n[0],ve=we=null,Ye(te,ie)},V(n){return ie=n[0],ve=we=null,Ye(te,ie)},v(n){return ie+=n[0],ve=we=null,Ye(te,ie)},Z(){let n=an();return te=mc,ie=xc,n},z(){let n=an();return te=mc,ie=xc,n}},Xv=(n,e,t)=>{let[i,r,o,s,a,c,l]=t,d=ck(c,l,i,r,s,a,o,n,e),h=[];for(let u of d){let p=dk(...u);h.push(Dt(...p))}return h},ck=(n,e,t,i,r,o,s,a,c)=>{let l=s*(Math.PI/180),d=Math.sin(l),h=Math.cos(l);t=Math.abs(t),i=Math.abs(i),ve=h*(a-n)*.5+d*(c-e)*.5,we=h*(c-e)*.5-d*(a-n)*.5;let u=ve*ve/(t*t)+we*we/(i*i);u>1&&(u=Math.sqrt(u),t*=u,i*=u);let p=h/t,f=d/t,m=-d/i,x=h/i,g=p*a+f*c,b=m*a+x*c,v=p*n+f*e,y=m*n+x*e,D=1/((v-g)*(v-g)+(y-b)*(y-b))-.25;D<0&&(D=0);let C=Math.sqrt(D);o===r&&(C=-C);let k=.5*(g+v)-C*(y-b),E=.5*(b+y)+C*(v-g),B=Math.atan2(b-E,g-k),I=Math.atan2(y-E,v-k)-B;I<0&&o===1?I+=2*Math.PI:I>0&&o===0&&(I-=2*Math.PI);let L=Math.ceil(Math.abs(I/(Math.PI*.5+.001))),A=[];for(let N=0;N<L;N++){let q=B+N*I/L,U=B+(N+1)*I/L;A[N]=[k,E,q,U,t,i,d,h]}return A},dk=(n,e,t,i,r,o,s,a)=>{let c=a*r,l=-s*o,d=s*r,h=a*o,u=.5*(i-t),p=8/3*Math.sin(u*.5)*Math.sin(u*.5)/Math.sin(u),f=n+Math.cos(t)-p*Math.sin(t),m=e+Math.sin(t)+p*Math.cos(t),x=n+Math.cos(i),g=e+Math.sin(i),b=x+p*Math.sin(i),v=g-p*Math.cos(i);return[c*f+l*m,d*f+h*m,c*b+l*v,d*b+h*v,c*x+l*g,d*x+h*g]},Zv=n=>lk(ak(n));var ra=Ki(Ap(),1);var ui=class{constructor(e,t={}){this.svg=e,this.images=t}};var Ne;(function(n){n.Normal="Normal",n.Multiply="Multiply",n.Screen="Screen",n.Overlay="Overlay",n.Darken="Darken",n.Lighten="Lighten",n.ColorDodge="ColorDodge",n.ColorBurn="ColorBurn",n.HardLight="HardLight",n.SoftLight="SoftLight",n.Difference="Difference",n.Exclusion="Exclusion"})(Ne||(Ne={}));var _h=[1,0,0,1,0,0];var Vi=([n,e,t,i,r,o],[s,a,c,l,d,h])=>[n*s+t*a,e*s+i*a,n*c+t*l,e*c+i*l,n*d+t*h+r,e*d+i*h+o],Qh=([n,e,t,i,r,o],{x:s,y:a})=>({x:n*s+t*a+r,y:e*s+i*a+o}),ln=(n,e)=>{switch(n){case"scale":case"scaleX":case"scaleY":{let[t,i=t]=e;return[n==="scaleY"?1:t,0,0,n==="scaleX"?1:i,0,0]}case"translate":case"translateX":case"translateY":{let[t,i=t]=e;return[1,0,0,1,n==="translateY"?0:t,n==="translateX"?0:-i]}case"rotate":{let[t,i=0,r=0]=e,o=ln("translate",[i,r]),s=ln("translate",[-i,-r]),a=ci(-t),c=[Math.cos(a),Math.sin(a),-Math.sin(a),Math.cos(a),0,0];return Vi(Vi(o,c),s)}case"skewY":case"skewX":{let t=ci(-e[0]),i=Math.tan(t);return[1,n==="skewY"?i:0,n==="skewX"?i:0,1,0,0]}case"matrix":{let[t,i,r,o,s,a]=e,c=ln("scale",[1,-1]);return Vi(Vi(c,[t,i,r,o,s,a]),c)}default:return _h}},Hn=(n,e,t)=>Vi(n,ln(e,t)),Ek={butt:hi.Butt,round:hi.Round,square:hi.Projecting},Tk={evenodd:sn.EvenOdd,nonzero:sn.NonZero},Ak={bevel:No.Bevel,miter:No.Miter,round:No.Round},sw=(n,e)=>({text(t){let i=t.svgAttributes.textAnchor,r=t.svgAttributes.dominantBaseline,o=t.text.trim().replace(/\s/g," "),s=t.svgAttributes.fontSize||12,a=(f,m)=>{let x=f.fontFamily;if(!x)return;let g=f.fontWeight==="bold"||Number(f.fontWeight)>=700,b=f.fontStyle==="italic",v=(y,F,D)=>m[D+(y?"_bold":"")+(F?"_italic":"")];return v(g,b,x)||v(g,!1,x)||v(!1,b,x)||v(!1,!1,x)||Object.keys(m).find(y=>y.startsWith(x))},c=e.fonts&&a(t.svgAttributes,e.fonts),l=(c||n.getFont()[0]).widthOfTextAtSize(o,s),d=(c||n.getFont()[0]).heightAtSize(s),h=(c||n.getFont()[0]).heightAtSize(s,{descender:!1}),u=i==="middle"?l/2:i==="end"?l:0,p=0;switch(r){case"middle":case"central":p=h-d/2;break;case"mathematical":p=s*.6;break;case"hanging":p=h;break;case"text-before-edge":p=s;break;case"ideographic":case"text-after-edge":p=h-d;break;case"text-top":case"text-bottom":case"auto":case"use-script":case"no-change":case"reset-size":case"alphabetic":default:p=0;break}n.drawText(o,{x:-u,y:-p,font:c,size:s,color:t.svgAttributes.fill,opacity:t.svgAttributes.fillOpacity,matrix:t.svgAttributes.matrix,clipSpaces:t.svgAttributes.clipSpaces,blendMode:t.svgAttributes.blendMode||e.blendMode})},line(t){n.drawLine({start:{x:t.svgAttributes.x1||0,y:-t.svgAttributes.y1||0},end:{x:t.svgAttributes.x2||0,y:-t.svgAttributes.y2||0},thickness:t.svgAttributes.strokeWidth,color:t.svgAttributes.stroke,opacity:t.svgAttributes.strokeOpacity,lineCap:t.svgAttributes.strokeLineCap,matrix:t.svgAttributes.matrix,clipSpaces:t.svgAttributes.clipSpaces,blendMode:t.svgAttributes.blendMode||e.blendMode})},path(t){t.svgAttributes.d&&n.drawSvgPath(t.svgAttributes.d,{x:0,y:0,borderColor:t.svgAttributes.stroke,borderWidth:t.svgAttributes.strokeWidth,borderOpacity:t.svgAttributes.strokeOpacity,borderLineCap:t.svgAttributes.strokeLineCap,color:t.svgAttributes.fill,opacity:t.svgAttributes.fillOpacity,fillRule:t.svgAttributes.fillRule,matrix:Hn(t.svgAttributes.matrix,"scale",[1,-1]),clipSpaces:t.svgAttributes.clipSpaces,blendMode:t.svgAttributes.blendMode||e.blendMode})},image(t){var i,r;let{src:o}=t.svgAttributes;if(!(o&&(!((i=e.images)===null||i===void 0)&&i[o])))return;let s=(r=e.images)===null||r===void 0?void 0:r[o],{x:a,y:c,width:l,height:d}=Ik(s.width,s.height,t.svgAttributes.width||s.width,t.svgAttributes.height||s.height,t.svgAttributes.preserveAspectRatio);n.drawImage(s,{x:a,y:-c-d,width:l,height:d,opacity:t.svgAttributes.fillOpacity,matrix:t.svgAttributes.matrix,clipSpaces:t.svgAttributes.clipSpaces,blendMode:t.svgAttributes.blendMode||e.blendMode})},rect(t){!t.svgAttributes.fill&&!t.svgAttributes.stroke||n.drawRectangle({x:0,y:0,width:t.svgAttributes.width,height:t.svgAttributes.height,rx:t.svgAttributes.rx,ry:t.svgAttributes.ry,borderColor:t.svgAttributes.stroke,borderWidth:t.svgAttributes.strokeWidth,borderOpacity:t.svgAttributes.strokeOpacity,borderLineCap:t.svgAttributes.strokeLineCap,color:t.svgAttributes.fill,opacity:t.svgAttributes.fillOpacity,matrix:Hn(t.svgAttributes.matrix,"translateY",[t.svgAttributes.height]),clipSpaces:t.svgAttributes.clipSpaces,blendMode:t.svgAttributes.blendMode||e.blendMode})},ellipse(t){n.drawEllipse({x:t.svgAttributes.cx||0,y:-(t.svgAttributes.cy||0),xScale:t.svgAttributes.rx,yScale:t.svgAttributes.ry,borderColor:t.svgAttributes.stroke,borderWidth:t.svgAttributes.strokeWidth,borderOpacity:t.svgAttributes.strokeOpacity,borderLineCap:t.svgAttributes.strokeLineCap,color:t.svgAttributes.fill,opacity:t.svgAttributes.fillOpacity,matrix:t.svgAttributes.matrix,clipSpaces:t.svgAttributes.clipSpaces,blendMode:t.svgAttributes.blendMode||e.blendMode})},circle(t){return sw(n,e).ellipse(t)}}),pt=(n,e,t,i)=>{let r=e[t]||n[t];return!r&&typeof i!="undefined"?i:r},aw=n=>{let e=/([^:\s]+)*\s*:\s*([^;]+)/g,t={},i=e.exec(n);for(;i!=null;)t[i[1]]=i[2],i=e.exec(n);return t},Ip=(n,e)=>{if(!n||n.length===0||["none","transparent"].includes(n))return;if(n==="currentColor")return e||Ip("#000000");let t=vp(n);return{rgb:t.rgb,alpha:t.alpha?t.alpha+"":void 0}},Bp=(n,e,t)=>{var i,r,o,s;let a=n.attributes,c=aw(a.style),l=pt(a,c,"width",""),d=pt(a,c,"height",""),h=Ip(pt(a,c,"fill")),u=pt(a,c,"fill-opacity"),p=pt(a,c,"opacity"),f=Ip(pt(a,c,"stroke")),m=pt(a,c,"stroke-opacity"),x=pt(a,c,"stroke-linecap"),g=pt(a,c,"stroke-linejoin"),b=pt(a,c,"fill-rule"),v=pt(a,c,"stroke-width"),y=pt(a,c,"font-family"),F=pt(a,c,"font-style"),D=pt(a,c,"font-weight"),C=pt(a,c,"font-size"),k=pt(a,c,"mix-blend-mode"),E=vt(l,e.width),B=vt(d,e.height),S=vt(a.x,e.width),I=vt(a.y,e.height),L=vt(a.x1,e.width),A=vt(a.x2,e.width),N=vt(a.y1,e.height),q=vt(a.y2,e.height),U=vt(a.cx,e.width),Z=vt(a.cy,e.height),O=vt(a.rx||a.r,e.width),z=vt(a.ry||a.r,e.height),R={fontFamily:y||e.fontFamily,fontStyle:F||e.fontStyle,fontWeight:D||e.fontWeight,fontSize:(i=vt(C))!==null&&i!==void 0?i:e.fontSize,fill:(h==null?void 0:h.rgb)||e.fill,fillOpacity:(r=vt(u||p||(h==null?void 0:h.alpha)))!==null&&r!==void 0?r:e.fillOpacity,fillRule:Tk[b]||e.fillRule,stroke:(f==null?void 0:f.rgb)||e.stroke,strokeWidth:(o=vt(v))!==null&&o!==void 0?o:e.strokeWidth,strokeOpacity:(s=vt(m||p||(f==null?void 0:f.alpha)))!==null&&s!==void 0?s:e.strokeOpacity,strokeLineCap:Ek[x]||e.strokeLineCap,strokeLineJoin:Ak[g]||e.strokeLineJoin,width:E||e.width,height:B||e.height,rotation:e.rotation,viewBox:n.tagName==="svg"&&n.attributes.viewBox?$h(n.attributes.viewBox):e.viewBox,blendMode:Mk(k)||e.blendMode},M={src:a.src||a.href||a["xlink:href"],textAnchor:a["text-anchor"],dominantBaseline:a["dominant-baseline"],preserveAspectRatio:a.preserveAspectRatio},ne=a.transform||"";["translate","translateX","translateY","skewX","skewY","rotate","scale","scaleX","scaleY","matrix"].forEach(Ce=>{a[Ce]&&(ne=a[Ce]+" "+ne)}),(S||I)&&(ne=ne+`translate(${S||0} ${I||0}) `);let oe=t;if(ne){let Ce=/(\w+)\((.+?)\)/g,de=Ce.exec(ne);for(;de!==null;){let[,dt,Ut]=de,ji=(Ut||"").split(/\s*,\s*|\s+/).filter(Lt=>Lt.length>0).map(Lt=>parseFloat(Lt));oe=Hn(oe,dt,ji),de=Ce.exec(ne)}}if(M.x=S,M.y=I,(a.cx||a.cy)&&(M.cx=U,M.cy=Z),(a.rx||a.ry||a.r)&&(M.rx=O,M.ry=z),(a.x1||a.y1)&&(M.x1=L,M.y1=N),(a.x2||a.y2)&&(M.x2=A,M.y2=q),(a.width||a.height)&&(M.width=E!=null?E:e.width,M.height=B!=null?B:e.height),a.d&&(oe=Hn(oe,"scale",[1,-1]),M.d=a.d),C&&R.fontSize&&(R.fontSize=R.fontSize),R.fontFamily){let Ce=R.fontFamily.match(/^"(.*?)"|^'(.*?)'/);Ce&&(R.fontFamily=Ce[1]||Ce[2])}return R.strokeWidth&&(M.strokeWidth=R.strokeWidth),{inherited:R,svgAttributes:M,tagName:n.tagName,matrix:oe}},Ik=(n,e,t,i,r)=>{if(r==="none")return{x:0,y:0,width:t,height:i};let o=n/e,s=t/i,a=s>o?o*i:t,c=s>=o?i:t/o,l=t-a,d=i-c,[h,u]=(()=>{switch(r){case"xMinYMin":return[0,0];case"xMidYMin":return[l/2,0];case"xMaxYMin":return[l,d/2];case"xMinYMid":return[0,d];case"xMaxYMid":return[l,d/2];case"xMinYMax":return[0,d];case"xMidYMax":return[l/2,d];case"xMaxYMax":return[l,d];case"xMidYMid":default:return[l/2,d/2]}})();return{x:h,y:u,width:a,height:c}},Bk=(n,e,t,i,r,o="xMidYMid")=>{let[s,a="meet"]=o.split(" "),c=i/e,l=r/t,d=Hn(n,"scale",[c,l]);if(s==="none")return{clipBox:d,content:d};let h=a==="slice"?Math.max(c,l):Math.min(c,l),u=i-e*h,p=r-t*h,[f,m]=(()=>{switch(s){case"xMinYMin":return[0,0];case"xMidYMin":return[u/2,0];case"xMaxYMin":return[u,p/2];case"xMinYMid":return[0,p];case"xMaxYMid":return[u,p/2];case"xMinYMax":return[0,p];case"xMidYMax":return[u/2,p];case"xMaxYMax":return[u,p];case"xMidYMid":default:return[u/2,p/2]}})(),x=Hn(Hn(n,"translate",[f,m]),"scale",[h]);return{clipBox:d,content:x}},Lp=(n,e,t,i)=>{if(n.nodeType===ra.NodeType.COMMENT_NODE)return[];if(n.nodeType===ra.NodeType.TEXT_NODE)return[];if(n.tagName==="g")return Ok(n,e,t,i);if(n.tagName==="svg")return Lk(n,e,t,i);{n.tagName==="polygon"&&(n.tagName="path",n.attributes.d=`M${n.attributes.points}Z`,delete n.attributes.points);let r=Bp(n,e,t),o={...r.inherited,...r.svgAttributes,matrix:r.matrix,clipSpaces:i};return Object.assign(n,{svgAttributes:o}),[n]}},Lk=(n,e,t,i)=>{var r,o;(r=n.attributes.width)!==null&&r!==void 0||n.setAttribute("width",e.viewBox.width+""),(o=n.attributes.height)!==null&&o!==void 0||n.setAttribute("height",e.viewBox.height+"");let s=Bp(n,e,t),a=[],c=n.attributes.viewBox?$h(n.attributes.viewBox):n.attributes.width&&n.attributes.height?$h(`0 0 ${n.attributes.width} ${n.attributes.height}`):e.viewBox,l=parseFloat(n.attributes.x)||0,d=parseFloat(n.attributes.y)||0,h=Hn(t,"translate",[l,d]),{clipBox:u,content:p}=Bk(h,c.width,c.height,parseFloat(n.attributes.width),parseFloat(n.attributes.height),n.attributes.preserveAspectRatio),f=Qh(u,{x:0,y:0}),m=Qh(u,{x:c.width,y:0}),x=Qh(u,{x:c.width,y:-c.height}),g=Qh(u,{x:0,y:-c.height}),b={topLeft:f,topRight:m,bottomRight:x,bottomLeft:g};return h=Hn(p,"translate",[-c.x,-c.y]),n.childNodes.forEach(v=>{let y=Lp(v,{...s.inherited,viewBox:c},h,[...i,b]);a.push(...y)}),a},Ok=(n,e,t,i)=>{let r=Bp(n,e,t),o=[];return n.childNodes.forEach(s=>{o.push(...Lp(s,r.inherited,r.matrix,i))}),o},vt=(n,e=1)=>{if(!n)return;let t=parseFloat(n);if(!isNaN(t))return n.endsWith("%")?t*e/100:t},Mk=n=>{switch(n){case"normal":return Ne.Normal;case"multiply":return Ne.Multiply;case"screen":return Ne.Screen;case"overlay":return Ne.Overlay;case"darken":return Ne.Darken;case"lighten":return Ne.Lighten;case"color-dodge":return Ne.ColorDodge;case"color-burn":return Ne.ColorBurn;case"hard-light":return Ne.HardLight;case"soft-light":return Ne.SoftLight;case"difference":return Ne.Difference;case"exclusion":return Ne.Exclusion;default:return}},$h=n=>{if(!n)return;let[e=0,t=0,i=1,r=1]=(n||"").split(" ").map(o=>vt(o));return{x:e,y:t,width:i,height:r}},Nk=(n,{width:e,height:t,fontSize:i},r,o)=>{let s=(0,ra.parse)(n).firstChild;return e&&s.setAttribute("width",e+""),t&&s.setAttribute("height",t+""),i&&s.setAttribute("font-size",i+""),Lp(s,{...r,viewBox:$h(s.attributes.viewBox||"0 0 1 1")},o,[])},lw=(n,e,t)=>{let i=typeof e=="string"?new ui(e):e;if(!i.svg)return;let r=n.getSize(),o=(0,ra.parse)(i.svg).querySelector("svg");if(!o)return console.error("This is not an svg. Ignoring: "+i.svg);let s=o.attributes,a=aw(s.style),c=pt(s,a,"width",""),l=pt(s,a,"height",""),d=t.width!==void 0?t.width:parseFloat(c),h=t.height!==void 0?t.height:parseFloat(l);s.viewBox||o.setAttribute("viewBox",`0 0 ${c||d} ${l||h}`),(t.width||t.height)&&(d!==void 0&&(a.width=d+(isNaN(d)?"":"px")),h!==void 0&&(a.height=h+(isNaN(h)?"":"px")),o.setAttribute("style",Object.entries(a).map(([m,x])=>`${m}:${x};`).join("")));let u=[1,0,0,1,t.x||0,t.y||0],p=Nk(o.outerHTML,t,r,u),f=sw(n,{...t,images:i.images});p.forEach(m=>{var x;(x=f[m.tagName])===null||x===void 0||x.call(f,m)})};var Rk=({topLeft:n,topRight:e,bottomRight:t,bottomLeft:i})=>[Kt(n.x,n.y),Ye(e.x,e.y),Ye(t.x,t.y),Ye(i.x,i.y),an(),sc(),cc()],vc=n=>n.flatMap(Rk),Vk=(n,e)=>[ze(),e.graphicsState&&Rn(e.graphicsState),hc(),Ni(e.color),Vo(e.font,e.size),e.strokeWidth&&Tr(e.strokeWidth),e.strokeColor&&Ir(e.strokeColor),e.renderMode&&Vh(e.renderMode),Ys(ot(e.rotate),ot(e.xSkew),ot(e.ySkew),e.x,e.y),dc(n),uc(),Ue()].filter(Boolean),Op=(n,e)=>{let t=[ze(),e.graphicsState&&Rn(e.graphicsState),...e.clipSpaces?vc(e.clipSpaces):[],e.matrix&&Mi(...e.matrix),hc(),Ni(e.color),Vo(e.font,e.size),lp(e.lineHeight),e.strokeWidth&&Tr(e.strokeWidth),e.strokeColor&&Ir(e.strokeColor),e.renderMode&&Vh(e.renderMode),Ys(ot(e.rotate),ot(e.xSkew),ot(e.ySkew),e.x,e.y)].filter(Boolean);for(let i=0,r=n.length;i<r;i++)t.push(dc(n[i]),ap());return t.push(uc(),Ue()),t},wc=(n,e)=>[ze(),e.graphicsState&&Rn(e.graphicsState),...e.clipSpaces?vc(e.clipSpaces):[],e.matrix&&Mi(...e.matrix),Tt(e.x,e.y),Ro(ot(e.rotate)),Er(e.width,e.height),ac(ot(e.xSkew),ot(e.ySkew)),Js(n),Ue()].filter(Boolean),Mp=(n,e)=>[ze(),e.graphicsState&&Rn(e.graphicsState),Tt(e.x,e.y),Ro(ot(e.rotate)),Er(e.xScale,e.yScale),ac(ot(e.xSkew),ot(e.ySkew)),Js(n),Ue()].filter(Boolean),Np=n=>{var e,t;return[ze(),n.graphicsState&&Rn(n.graphicsState),...n.clipSpaces?vc(n.clipSpaces):[],n.matrix&&Mi(...n.matrix),n.color&&Ir(n.color),Tr(n.thickness),Gs((e=n.dashArray)!==null&&e!==void 0?e:[],(t=n.dashPhase)!==null&&t!==void 0?t:0),Kt(n.start.x,n.start.y),n.lineCap&&lc(n.lineCap),Kt(n.start.x,n.start.y),Ye(n.end.x,n.end.y),Zs(),Ue()].filter(Boolean)},fi=4*((Math.sqrt(2)-1)/3),Br=n=>{let{width:e,height:t,xSkew:i,ySkew:r,rotate:o,matrix:s}=n,a=typeof e=="number"?e:e.asNumber(),c=typeof t=="number"?t:t.asNumber(),l=typeof n.x=="number"?n.x:n.x.asNumber(),d=typeof n.y=="number"?n.y:n.y.asNumber(),h=Math.max(0,Math.min(n.rx||0,a/2)),u=Math.max(0,Math.min(n.ry||0,c/2)),p=h>0||u>0?[`M ${h},0`,`H ${a-h}`,`C ${a-h*(1-fi)},0 ${a},${u*(1-fi)} ${a},${u}`,`V ${c-u}`,`C ${a},${c-u*(1-fi)} ${a-h*(1-fi)},${c} ${a-h},${c}`,`H ${h}`,`C ${h*(1-fi)},${c} 0,${c-u*(1-fi)} 0,${c-u}`,`V ${u}`,`C 0,${u*(1-fi)} ${h*(1-fi)},0 ${h},0`,"Z"].join(" "):`M 0,0 H ${a} V ${c} H 0 Z`,f=Vi(s||_h,ln("translate",[l,-d]));return o&&(f=Vi(f,ln("rotate",[-Nn(o)]))),i&&(f=Vi(f,ln("skewX",[Nn(i)]))),r&&(f=Vi(f,ln("skewY",[-Nn(r)]))),f=Vi(f,ln("translateY",[-c])),eu(p,{...n,x:0,y:0,rotate:$(0),scale:1,matrix:f})},cw=n=>{let e=le(n.x),t=le(n.y),i=le(n.xScale),r=le(n.yScale);e-=i,t-=r;let o=i*fi,s=r*fi,a=e+i*2,c=t+r*2,l=e+i,d=t+r;return[ze(),Kt(e,d),Dt(e,d-s,l-o,t,l,t),Dt(l+o,t,a,d-s,a,d),Dt(a,d+s,l+o,c,l,c),Dt(l-o,c,e,d+s,e,d),Ue()]},Hk=n=>{let e=le(n.x),t=le(n.y),i=le(n.xScale),r=le(n.yScale),o=-i,s=-r,a=i*fi,c=r*fi,l=o+i*2,d=s+r*2,h=o+i,u=s+r;return[Tt(e,t),Ro(ot(n.rotate)),Kt(o,u),Dt(o,u-c,h-a,s,h,s),Dt(h+a,s,l,u-c,l,u),Dt(l,u+c,h+a,d,h,d),Dt(h-a,d,o,u+c,o,u)]},yc=n=>{var e,t,i;return[ze(),n.graphicsState&&Rn(n.graphicsState),n.color&&Ni(n.color),n.borderColor&&Ir(n.borderColor),...n.clipSpaces?vc(n.clipSpaces):[],n.matrix&&Mi(...n.matrix),Tr(n.borderWidth),n.borderLineCap&&lc(n.borderLineCap),Gs((e=n.borderDashArray)!==null&&e!==void 0?e:[],(t=n.borderDashPhase)!==null&&t!==void 0?t:0),...n.rotate===void 0?cw({x:n.x,y:n.y,xScale:n.xScale,yScale:n.yScale}):Hk({x:n.x,y:n.y,xScale:n.xScale,yScale:n.yScale,rotate:(i=n.rotate)!==null&&i!==void 0?i:$(0)}),n.color&&n.borderWidth?Rh():n.color?Nh():n.borderColor?Zs():an(),Ue()].filter(Boolean)},eu=(n,e)=>{var t,i,r;return[ze(),e.graphicsState&&Rn(e.graphicsState),...e.clipSpaces?vc(e.clipSpaces):[],e.matrix&&Mi(...e.matrix),Tt(e.x,e.y),Ro(ot((t=e.rotate)!==null&&t!==void 0?t:$(0))),e.scale?Er(e.scale,-e.scale):Er(1,-1),e.color&&Ni(e.color),e.borderColor&&Ir(e.borderColor),e.borderWidth&&Tr(e.borderWidth),e.borderLineCap&&lc(e.borderLineCap),Gs((i=e.borderDashArray)!==null&&i!==void 0?i:[],(r=e.borderDashPhase)!==null&&r!==void 0?r:0),...Zv(n),e.color&&e.borderWidth?Rh():e.color?e.fillRule===sn.EvenOdd?sp():Nh():e.borderColor?Zs():an(),Ue()].filter(Boolean)},dw=n=>{let e=le(n.size),t=-1+.75,i=-1+.51,r=1-.525,o=1-.31,s=-1+.325,a=-((s-t)*(o-t))/(r-i)+i;return[ze(),n.color&&Ir(n.color),Tr(n.thickness),Tt(n.x,n.y),Kt(s*e,a*e),Ye(t*e,i*e),Ye(o*e,r*e),Zs(),Ue()].filter(Boolean)},pi=n=>n.rotation===0?[Tt(0,0),Ks(0)]:n.rotation===90?[Tt(n.width,0),Ks(90)]:n.rotation===180?[Tt(n.width,n.height),Ks(180)]:n.rotation===270?[Tt(0,n.height),Ks(270)]:[],oa=n=>{let e=Br({x:n.x,y:n.y,width:n.width,height:n.height,borderWidth:n.borderWidth,color:n.color,borderColor:n.borderColor,rotate:$(0),xSkew:$(0),ySkew:$(0)});if(!n.filled)return e;let t=le(n.width),i=le(n.height),r=Math.min(t,i)/2,o=dw({x:t/2,y:i/2,size:r,thickness:n.thickness,color:n.markColor});return[ze(),...e,...o,Ue()]},sa=n=>{let e=le(n.width),t=le(n.height),i=Math.min(e,t)/2,r=yc({x:n.x,y:n.y,xScale:i,yScale:i,color:n.color,borderColor:n.borderColor,borderWidth:n.borderWidth});if(!n.filled)return r;let o=yc({x:n.x,y:n.y,xScale:i*.45,yScale:i*.45,color:n.dotColor,borderColor:void 0,borderWidth:0});return[ze(),...r,...o,Ue()]},tu=n=>{let e=le(n.x),t=le(n.y),i=le(n.width),r=le(n.height),o=Br({x:e,y:t,width:i,height:r,borderWidth:n.borderWidth,color:n.color,borderColor:n.borderColor,rotate:$(0),xSkew:$(0),ySkew:$(0)}),s=iu(n.textLines,{color:n.textColor,font:n.font,size:n.fontSize,rotate:$(0),xSkew:$(0),ySkew:$(0)});return[ze(),...o,...s,Ue()]},iu=(n,e)=>{let t=[hc(),Ni(e.color),Vo(e.font,e.size)];for(let i=0,r=n.length;i<r;i++){let{encoded:o,x:s,y:a}=n[i];t.push(Ys(ot(e.rotate),ot(e.xSkew),ot(e.ySkew),s,a),dc(o))}return t.push(uc()),t},nu=n=>{let e=le(n.x),t=le(n.y),i=le(n.width),r=le(n.height),o=le(n.borderWidth),s=le(n.padding),a=e+o/2+s,c=t+o/2+s,l=i-(o/2+s)*2,d=r-(o/2+s)*2,h=[Kt(a,c),Ye(a,c+d),Ye(a+l,c+d),Ye(a+l,c),an(),sc(),cc()],u=Br({x:e,y:t,width:i,height:r,borderWidth:n.borderWidth,color:n.color,borderColor:n.borderColor,rotate:$(0),xSkew:$(0),ySkew:$(0)}),p=iu(n.textLines,{color:n.textColor,font:n.font,size:n.fontSize,rotate:$(0),xSkew:$(0),ySkew:$(0)}),f=[Hh("Tx"),ze(),...p,Ue(),zh()];return[ze(),...u,...h,...f,Ue()]},Rp=n=>{let e=le(n.x),t=le(n.y),i=le(n.width),r=le(n.height),o=le(n.lineHeight),s=le(n.borderWidth),a=le(n.padding),c=e+s/2+a,l=t+s/2+a,d=i-(s/2+a)*2,h=r-(s/2+a)*2,u=[Kt(c,l),Ye(c,l+h),Ye(c+d,l+h),Ye(c+d,l),an(),sc(),cc()],p=Br({x:e,y:t,width:i,height:r,borderWidth:n.borderWidth,color:n.color,borderColor:n.borderColor,rotate:$(0),xSkew:$(0),ySkew:$(0)}),f=[];for(let g=0,b=n.selectedLines.length;g<b;g++){let v=n.textLines[n.selectedLines[g]];f.push(...Br({x:v.x-a,y:v.y-(o-v.height)/2,width:i-s,height:v.height+(o-v.height)/2,borderWidth:0,color:n.selectedColor,borderColor:void 0,rotate:$(0),xSkew:$(0),ySkew:$(0)}))}let m=iu(n.textLines,{color:n.textColor,font:n.font,size:n.fontSize,rotate:$(0),xSkew:$(0),ySkew:$(0)}),x=[Hh("Tx"),ze(),...m,Ue(),zh()];return[ze(),...p,...f,...u,...x,Ue()]};var jo=class extends Error{constructor(){super("Input document to `PDFDocument.load` is encrypted. You can use `PDFDocument.load(..., { ignoreEncryption: true })` if you wish to load the document anyways.")}},Fc=class extends Error{constructor(){super("Input to `PDFDocument.embedFont` was a custom font, but no `fontkit` instance was found. You must register a `fontkit` instance with `PDFDocument.registerFontkit(...)` before embedding custom fonts.")}},Dc=class extends Error{constructor(){super("A `page` passed to `PDFDocument.addPage` or `PDFDocument.insertPage` was from a different (foreign) PDF document. If you want to copy pages from one PDFDocument to another, you must use `PDFDocument.copyPages(...)` to copy the pages before adding or inserting them.")}},Pc=class extends Error{constructor(){super("PDFDocument has no pages so `PDFDocument.removePage` cannot be called")}},kc=class extends Error{constructor(e){let t=`PDFDocument has no form field with the name "${e}"`;super(t)}},Hi=class extends Error{constructor(e,t,i){var r,o;let s=t==null?void 0:t.name,a=(o=(r=i==null?void 0:i.constructor)===null||r===void 0?void 0:r.name)!==null&&o!==void 0?o:i,c=`Expected field "${e}" to be of type ${s}, but it is actually of type ${a}`;super(c)}},Vp=class extends Error{constructor(e){let t=`Failed to select check box due to missing onValue: "${e}"`;super(t)}},aa=class extends Error{constructor(e){let t=`A field already exists with the specified name: "${e}"`;super(t)}},Cc=class extends Error{constructor(e){let t=`Field name contains invalid component: "${e}"`;super(t)}},Hp=class extends Error{constructor(e){let t=`A non-terminal field already exists with the specified name: "${e}"`;super(t)}},Sc=class extends Error{constructor(e){let t=`Reading rich text fields is not supported: Attempted to read rich text field: ${e}`;super(t)}},Ec=class extends Error{constructor(e,t){let i=`Failed to layout combed text as lineLength=${e} is greater than cellCount=${t}`;super(i)}},Tc=class extends Error{constructor(e,t,i){let r=`Attempted to set text with length=${e} for TextField with maxLength=${t} and name=${i}`;super(r)}},Ac=class extends Error{constructor(e,t,i){let r=`Attempted to set maxLength=${t}, which is less than ${e}, the length of this field's current value (name=${i})`;super(r)}};var qe;(function(n){n[n.Left=0]="Left",n[n.Center=1]="Center",n[n.Right=2]="Right"})(qe||(qe={}));var hw=4,uw=500,fw=(n,e,t,i=!1)=>{let r=hw;for(;r<uw;){let o=0;for(let l=0,d=n.length;l<d;l++){o+=1;let u=n[l].split(" "),p=t.width;for(let f=0,m=u.length;f<m;f++){let g=f===m-1?u[f]:u[f]+" ",b=e.widthOfTextAtSize(g,r);p-=b,p<=0&&(o+=1,p=t.width-b)}}if(!i&&o>n.length)return r-1;let s=e.heightAtSize(r);if((s+s*.2)*o>Math.abs(t.height))return r-1;r+=1}return r},zk=(n,e,t,i)=>{let r=t.width/i,o=t.height,s=hw,a=C0(n);for(;s<uw;){for(let l=0,d=a.length;l<d;l++){let h=a[l];if(e.widthOfTextAtSize(h,s)>r*.75)return s-1}if(e.heightAtSize(s,{descender:!1})>o)return s-1;s+=1}return s},Uk=n=>{for(let e=n.length;e>0;e--)if(/\s/.test(n[e]))return e},qk=(n,e,t,i)=>{var r;let o=n.length;for(;o>0;){let s=n.substring(0,o),a=t.encodeText(s),c=t.widthOfTextAtSize(s,i);if(c<e){let l=n.substring(o)||void 0;return{line:s,encoded:a,width:c,remainder:l}}o=(r=Uk(s))!==null&&r!==void 0?r:0}return{line:n,encoded:t.encodeText(n),width:t.widthOfTextAtSize(n,i),remainder:void 0}},ru=(n,{alignment:e,fontSize:t,font:i,bounds:r})=>{let o=Ma(nr(n));(t===void 0||t===0)&&(t=fw(o,i,r,!0));let s=i.heightAtSize(t),a=s+s*.2,c=[],l=r.x,d=r.y,h=r.x+r.width,u=r.y+r.height,p=r.y+r.height;for(let f=0,m=o.length;f<m;f++){let x=o[f];for(;x!==void 0;){let{line:g,encoded:b,width:v,remainder:y}=qk(x,r.width,i,t),F=e===qe.Left?r.x:e===qe.Center?r.x+r.width/2-v/2:e===qe.Right?r.x+r.width-v:r.x;p-=a,F<l&&(l=F),p<d&&(d=p),F+v>h&&(h=F+v),p+s>u&&(u=p+s),c.push({text:g,encoded:b,width:v,height:s,x:F,y:p}),x=y==null?void 0:y.trim()}}return{fontSize:t,lineHeight:a,lines:c,bounds:{x:l,y:d,width:h-l,height:u-d}}},zp=(n,{fontSize:e,font:t,bounds:i,cellCount:r})=>{let o=cd(nr(n));if(o.length>r)throw new Ec(o.length,r);(e===void 0||e===0)&&(e=zk(o,t,i,r));let s=i.width/r,a=t.heightAtSize(e,{descender:!1}),c=i.y+(i.height/2-a/2),l=[],d=i.x,h=i.y,u=i.x+i.width,p=i.y+i.height,f=0,m=0;for(;f<r;){let[x,g]=dd(o,m),b=t.encodeText(x),v=t.widthOfTextAtSize(x,e),F=i.x+(s*f+s/2)-v/2;F<d&&(d=F),c<h&&(h=c),F+v>u&&(u=F+v),c+a>p&&(p=c+a),l.push({text:o,encoded:b,width:v,height:a,x:F,y:c}),f+=1,m+=g}return{fontSize:e,cells:l,bounds:{x:d,y:h,width:u-d,height:p-h}}},la=(n,{alignment:e,fontSize:t,font:i,bounds:r})=>{let o=cd(nr(n));(t===void 0||t===0)&&(t=fw([o],i,r));let s=i.encodeText(o),a=i.widthOfTextAtSize(o,t),c=i.heightAtSize(t,{descender:!1}),l=e===qe.Left?r.x:e===qe.Center?r.x+r.width/2-a/2:e===qe.Right?r.x+r.width-a:r.x,d=r.y+(r.height/2-c/2);return{fontSize:t,line:{text:o,encoded:s,width:a,height:c,x:l,y:d},bounds:{x:l,y:d,width:a,height:c}}};var Zt=n=>"normal"in n?n:{normal:n},Wk=/\/([^\0\t\n\f\r\ ]+)[\0\t\n\f\r\ ]+(\d*\.\d+|\d+)[\0\t\n\f\r\ ]+Tf/,Lr=n=>{var e,t;let i=(e=n.getDefaultAppearance())!==null&&e!==void 0?e:"",r=(t=ls(i,Wk).match)!==null&&t!==void 0?t:[],o=Number(r[2]);return isFinite(o)?o:void 0},jk=/(\d*\.\d+|\d+)[\0\t\n\f\r\ ]*(\d*\.\d+|\d+)?[\0\t\n\f\r\ ]*(\d*\.\d+|\d+)?[\0\t\n\f\r\ ]*(\d*\.\d+|\d+)?[\0\t\n\f\r\ ]+(g|rg|k)/,gi=n=>{var e;let t=(e=n.getDefaultAppearance())!==null&&e!==void 0?e:"",i=ls(t,jk).match,[,r,o,s,a,c]=i!=null?i:[];if(c==="g"&&r)return Kh(Number(r));if(c==="rg"&&r&&o&&s)return fe(Number(r),Number(o),Number(s));if(c==="k"&&r&&o&&s&&a)return Gh(Number(r),Number(o),Number(s),Number(a))},mi=(n,e,t,i=0)=>{var r;let o=[Ni(e).toString(),Vo((r=t==null?void 0:t.name)!==null&&r!==void 0?r:"dummy__noop",i).toString()].join(`
`);n.setDefaultAppearance(o)},Up=(n,e)=>{var t,i,r;let o=gi(e),s=gi(n.acroField),a=e.getRectangle(),c=e.getAppearanceCharacteristics(),l=e.getBorderStyle(),d=(t=l==null?void 0:l.getWidth())!==null&&t!==void 0?t:0,h=di(c==null?void 0:c.getRotation()),{width:u,height:p}=on(a,h),f=pi({...a,rotation:h}),m=fe(0,0,0),x=(i=yt(c==null?void 0:c.getBorderColor()))!==null&&i!==void 0?i:m,g=yt(c==null?void 0:c.getBackgroundColor()),b=yt(c==null?void 0:c.getBackgroundColor(),.8),v=(r=o!=null?o:s)!==null&&r!==void 0?r:m;mi(o?e:n.acroField,v);let y={x:0+d/2,y:0+d/2,width:u-d,height:p-d,thickness:1.5,borderWidth:d,borderColor:x,markColor:v};return{normal:{on:[...f,...oa({...y,color:g,filled:!0})],off:[...f,...oa({...y,color:g,filled:!1})]},down:{on:[...f,...oa({...y,color:b,filled:!0})],off:[...f,...oa({...y,color:b,filled:!1})]}}},qp=(n,e)=>{var t,i,r;let o=gi(e),s=gi(n.acroField),a=e.getRectangle(),c=e.getAppearanceCharacteristics(),l=e.getBorderStyle(),d=(t=l==null?void 0:l.getWidth())!==null&&t!==void 0?t:0,h=di(c==null?void 0:c.getRotation()),{width:u,height:p}=on(a,h),f=pi({...a,rotation:h}),m=fe(0,0,0),x=(i=yt(c==null?void 0:c.getBorderColor()))!==null&&i!==void 0?i:m,g=yt(c==null?void 0:c.getBackgroundColor()),b=yt(c==null?void 0:c.getBackgroundColor(),.8),v=(r=o!=null?o:s)!==null&&r!==void 0?r:m;mi(o?e:n.acroField,v);let y={x:u/2,y:p/2,width:u-d,height:p-d,borderWidth:d,borderColor:x,dotColor:v};return{normal:{on:[...f,...sa({...y,color:g,filled:!0})],off:[...f,...sa({...y,color:g,filled:!1})]},down:{on:[...f,...sa({...y,color:b,filled:!0})],off:[...f,...sa({...y,color:b,filled:!1})]}}},Wp=(n,e,t)=>{var i,r,o,s,a;let c=gi(e),l=gi(n.acroField),d=Lr(e),h=Lr(n.acroField),u=e.getRectangle(),p=e.getAppearanceCharacteristics(),f=e.getBorderStyle(),m=p==null?void 0:p.getCaptions(),x=(i=m==null?void 0:m.normal)!==null&&i!==void 0?i:"",g=(o=(r=m==null?void 0:m.down)!==null&&r!==void 0?r:x)!==null&&o!==void 0?o:"",b=(s=f==null?void 0:f.getWidth())!==null&&s!==void 0?s:0,v=di(p==null?void 0:p.getRotation()),{width:y,height:F}=on(u,v),D=pi({...u,rotation:v}),C=fe(0,0,0),k=yt(p==null?void 0:p.getBorderColor()),E=yt(p==null?void 0:p.getBackgroundColor()),B=yt(p==null?void 0:p.getBackgroundColor(),.8),S={x:b,y:b,width:y-b*2,height:F-b*2},I=la(x,{alignment:qe.Center,fontSize:d!=null?d:h,font:t,bounds:S}),L=la(g,{alignment:qe.Center,fontSize:d!=null?d:h,font:t,bounds:S}),A=Math.min(I.fontSize,L.fontSize),N=(a=c!=null?c:l)!==null&&a!==void 0?a:C;mi(c||d!==void 0?e:n.acroField,N,t,A);let q={x:0+b/2,y:0+b/2,width:y-b,height:F-b,borderWidth:b,borderColor:k,textColor:N,font:t.name,fontSize:A};return{normal:[...D,...tu({...q,color:E,textLines:[I.line]})],down:[...D,...tu({...q,color:B,textLines:[L.line]})]}},jp=(n,e,t)=>{var i,r,o,s;let a=gi(e),c=gi(n.acroField),l=Lr(e),d=Lr(n.acroField),h=e.getRectangle(),u=e.getAppearanceCharacteristics(),p=e.getBorderStyle(),f=(i=n.getText())!==null&&i!==void 0?i:"",m=(r=p==null?void 0:p.getWidth())!==null&&r!==void 0?r:0,x=di(u==null?void 0:u.getRotation()),{width:g,height:b}=on(h,x),v=pi({...h,rotation:x}),y=fe(0,0,0),F=yt(u==null?void 0:u.getBorderColor()),D=yt(u==null?void 0:u.getBackgroundColor()),C,k,E=n.isCombed()?0:1,B={x:m+E,y:m+E,width:g-(m+E)*2,height:b-(m+E)*2};if(n.isMultiline()){let L=ru(f,{alignment:n.getAlignment(),fontSize:l!=null?l:d,font:t,bounds:B});C=L.lines,k=L.fontSize}else if(n.isCombed()){let L=zp(f,{fontSize:l!=null?l:d,font:t,bounds:B,cellCount:(o=n.getMaxLength())!==null&&o!==void 0?o:0});C=L.cells,k=L.fontSize}else{let L=la(f,{alignment:n.getAlignment(),fontSize:l!=null?l:d,font:t,bounds:B});C=[L.line],k=L.fontSize}let S=(s=a!=null?a:c)!==null&&s!==void 0?s:y;mi(a||l!==void 0?e:n.acroField,S,t,k);let I={x:0+m/2,y:0+m/2,width:g-m,height:b-m,borderWidth:m!=null?m:0,borderColor:F,textColor:S,font:t.name,fontSize:k,color:D,textLines:C,padding:E};return[...v,...nu(I)]},Kp=(n,e,t)=>{var i,r,o;let s=gi(e),a=gi(n.acroField),c=Lr(e),l=Lr(n.acroField),d=e.getRectangle(),h=e.getAppearanceCharacteristics(),u=e.getBorderStyle(),p=(i=n.getSelected()[0])!==null&&i!==void 0?i:"",f=(r=u==null?void 0:u.getWidth())!==null&&r!==void 0?r:0,m=di(h==null?void 0:h.getRotation()),{width:x,height:g}=on(d,m),b=pi({...d,rotation:m}),v=fe(0,0,0),y=yt(h==null?void 0:h.getBorderColor()),F=yt(h==null?void 0:h.getBackgroundColor()),D=1,C={x:f+D,y:f+D,width:x-(f+D)*2,height:g-(f+D)*2},{line:k,fontSize:E}=la(p,{alignment:qe.Left,fontSize:c!=null?c:l,font:t,bounds:C}),B=(o=s!=null?s:a)!==null&&o!==void 0?o:v;mi(s||c!==void 0?e:n.acroField,B,t,E);let S={x:0+f/2,y:0+f/2,width:x-f,height:g-f,borderWidth:f!=null?f:0,borderColor:y,textColor:B,font:t.name,fontSize:E,color:F,textLines:[k],padding:D};return[...b,...nu(S)]},Gp=(n,e,t)=>{var i,r;let o=gi(e),s=gi(n.acroField),a=Lr(e),c=Lr(n.acroField),l=e.getRectangle(),d=e.getAppearanceCharacteristics(),h=e.getBorderStyle(),u=(i=h==null?void 0:h.getWidth())!==null&&i!==void 0?i:0,p=di(d==null?void 0:d.getRotation()),{width:f,height:m}=on(l,p),x=pi({...l,rotation:p}),g=fe(0,0,0),b=yt(d==null?void 0:d.getBorderColor()),v=yt(d==null?void 0:d.getBackgroundColor()),y=n.getOptions(),F=n.getSelected();n.isSorted()&&y.sort();let D="";for(let N=0,q=y.length;N<q;N++)D+=y[N],N<q-1&&(D+=`
`);let C=1,k={x:u+C,y:u+C,width:f-(u+C)*2,height:m-(u+C)*2},{lines:E,fontSize:B,lineHeight:S}=ru(D,{alignment:qe.Left,fontSize:a!=null?a:c,font:t,bounds:k}),I=[];for(let N=0,q=E.length;N<q;N++){let U=E[N];F.includes(U.text)&&I.push(N)}let L=fe(153/255,193/255,218/255),A=(r=o!=null?o:s)!==null&&r!==void 0?r:g;return mi(o||a!==void 0?e:n.acroField,A,t,B),[...x,...Rp({x:0+u/2,y:0+u/2,width:f-u,height:m-u,borderWidth:u!=null?u:0,borderColor:b,textColor:A,font:t.name,fontSize:B,color:v,textLines:E,lineHeight:S,selectedColor:L,selectedLines:I,padding:C})]};var lu=Ki(Ap(),1);var zi=class{constructor(e,t,i){this.alreadyEmbedded=!1,T(e,"ref",[[Y,"PDFRef"]]),T(t,"doc",[[je,"PDFDocument"]]),T(i,"embedder",[[Us,"PDFPageEmbedder"]]),this.ref=e,this.doc=t,this.width=i.width,this.height=i.height,this.embedder=i}scale(e){return T(e,"factor",["number"]),{width:this.width*e,height:this.height*e}}size(){return this.scale(1)}async embed(){this.alreadyEmbedded||(await this.embedder.embedIntoContext(this.doc.context,this.ref),this.alreadyEmbedded=!0)}};zi.of=(n,e,t)=>new zi(n,e,t);var Oe=class{constructor(e,t,i){this.modified=!0,T(e,"ref",[[Y,"PDFRef"]]),T(t,"doc",[[je,"PDFDocument"]]),T(i,"embedder",[[Pr,"CustomFontEmbedder"],[Dr,"StandardFontEmbedder"]]),this.ref=e,this.doc=t,this.name=i.fontName,this.embedder=i}encodeText(e){return T(e,"text",["string"]),this.modified=!0,this.embedder.encodeText(e)}widthOfTextAtSize(e,t){return T(e,"text",["string"]),T(t,"size",["number"]),this.embedder.widthOfTextAtSize(e,t)}heightAtSize(e,t){var i;return T(e,"size",["number"]),V(t==null?void 0:t.descender,"options.descender",["boolean"]),this.embedder.heightOfFontAtSize(e,{descender:(i=t==null?void 0:t.descender)!==null&&i!==void 0?i:!0})}sizeAtHeight(e){return T(e,"height",["number"]),this.embedder.sizeOfFontAtHeight(e)}getCharacterSet(){return this.embedder instanceof Dr?this.embedder.encoding.supportedCodePoints:this.embedder.font.characterSet}async embed(){this.modified&&(await this.embedder.embedIntoContext(this.doc.context,this.ref),this.modified=!1)}};Oe.of=(n,e,t)=>new Oe(n,e,t);var xi=class{constructor(e,t,i){T(e,"ref",[[Y,"PDFRef"]]),T(t,"doc",[[je,"PDFDocument"]]),T(i,"embedder",[[Rs,"JpegEmbedder"],[Hs,"PngEmbedder"]]),this.ref=e,this.doc=t,this.width=i.width,this.height=i.height,this.embedder=i}scale(e){return T(e,"factor",["number"]),{width:this.width*e,height:this.height*e}}scaleToFit(e,t){T(e,"width",["number"]),T(t,"height",["number"]);let i=e/this.width,r=t/this.height,o=Math.min(i,r);return this.scale(o)}size(){return this.scale(1)}async embed(){if(this.embedder){if(!this.embedTask){let{doc:e,ref:t}=this;this.embedTask=this.embedder.embedIntoContext(e.context,t)}await this.embedTask,this.embedder=void 0}}};xi.of=(n,e,t)=>new xi(n,e,t);var bi;(function(n){n[n.Left=0]="Left",n[n.Center=1]="Center",n[n.Right=2]="Right"})(bi||(bi={}));var yi=n=>{V(n==null?void 0:n.x,"options.x",["number"]),V(n==null?void 0:n.y,"options.y",["number"]),V(n==null?void 0:n.width,"options.width",["number"]),V(n==null?void 0:n.height,"options.height",["number"]),V(n==null?void 0:n.textColor,"options.textColor",[[Object,"Color"]]),V(n==null?void 0:n.backgroundColor,"options.backgroundColor",[[Object,"Color"]]),V(n==null?void 0:n.borderColor,"options.borderColor",[[Object,"Color"]]),V(n==null?void 0:n.borderWidth,"options.borderWidth",["number"]),V(n==null?void 0:n.rotate,"options.rotate",[[Object,"Rotation"]])},at=class{constructor(e,t,i){T(e,"acroField",[[zt,"PDFAcroTerminal"]]),T(t,"ref",[[Y,"PDFRef"]]),T(i,"doc",[[je,"PDFDocument"]]),this.acroField=e,this.ref=t,this.doc=i}getName(){var e;return(e=this.acroField.getFullyQualifiedName())!==null&&e!==void 0?e:""}isReadOnly(){return this.acroField.hasFlag(jt.ReadOnly)}enableReadOnly(){this.acroField.setFlagTo(jt.ReadOnly,!0)}disableReadOnly(){this.acroField.setFlagTo(jt.ReadOnly,!1)}isRequired(){return this.acroField.hasFlag(jt.Required)}enableRequired(){this.acroField.setFlagTo(jt.Required,!0)}disableRequired(){this.acroField.setFlagTo(jt.Required,!1)}isExported(){return!this.acroField.hasFlag(jt.NoExport)}enableExporting(){this.acroField.setFlagTo(jt.NoExport,!1)}disableExporting(){this.acroField.setFlagTo(jt.NoExport,!0)}needsAppearancesUpdate(){throw new Ze(this.constructor.name,"needsAppearancesUpdate")}defaultUpdateAppearances(e){throw new Ze(this.constructor.name,"defaultUpdateAppearances")}markAsDirty(){this.doc.getForm().markFieldAsDirty(this.ref)}markAsClean(){this.doc.getForm().markFieldAsClean(this.ref)}isDirty(){return this.doc.getForm().fieldIsDirty(this.ref)}createWidget(e){var t;let i=e.textColor,r=e.backgroundColor,o=e.borderColor,s=e.borderWidth,a=Nn(e.rotate),c=e.caption,l=e.x,d=e.y,h=e.width+s,u=e.height+s,p=!!e.hidden,f=e.page;ll(a,"degreesAngle",90);let m=mo.create(this.doc.context,this.ref),x=rp({x:l,y:d,width:h,height:u},s,a);m.setRectangle(x),f&&m.setP(f);let g=m.getOrCreateAppearanceCharacteristics();r&&g.setBackgroundColor(Xh(r)),g.setRotation(a),c&&g.setCaptions({normal:c}),o&&g.setBorderColor(Xh(o));let b=m.getOrCreateBorderStyle();if(s!==void 0&&b.setWidth(s),m.setFlagTo(Mo.Print,!0),m.setFlagTo(Mo.Hidden,p),m.setFlagTo(Mo.Invisible,!1),i){let y=((t=this.acroField.getDefaultAppearance())!==null&&t!==void 0?t:"")+`
`+Ni(i).toString();this.acroField.setDefaultAppearance(y)}return m}updateWidgetAppearanceWithFont(e,t,{normal:i,rollover:r,down:o}){this.updateWidgetAppearances(e,{normal:this.createAppearanceStream(e,i,t),rollover:r&&this.createAppearanceStream(e,r,t),down:o&&this.createAppearanceStream(e,o,t)})}updateOnOffWidgetAppearance(e,t,{normal:i,rollover:r,down:o}){this.updateWidgetAppearances(e,{normal:this.createAppearanceDict(e,i,t),rollover:r&&this.createAppearanceDict(e,r,t),down:o&&this.createAppearanceDict(e,o,t)})}updateWidgetAppearances(e,{normal:t,rollover:i,down:r}){e.setNormalAppearance(t),i?e.setRolloverAppearance(i):e.removeRolloverAppearance(),r?e.setDownAppearance(r):e.removeDownAppearance()}createAppearanceStream(e,t,i){let{context:r}=this.acroField.dict,{width:o,height:s}=e.getRectangle(),a=i&&{Font:{[i.name]:i.ref}},c=r.formXObject(t,{Resources:a,BBox:r.obj([0,0,o,s]),Matrix:r.obj([1,0,0,1,0,0])});return r.register(c)}createImageAppearanceStream(e,t,i){var r;let{context:o}=this.acroField.dict,s=e.getRectangle(),a=e.getAppearanceCharacteristics(),c=e.getBorderStyle(),l=(r=c==null?void 0:c.getWidth())!==null&&r!==void 0?r:0,d=di(a==null?void 0:a.getRotation()),h=pi({...s,rotation:d}),u=on(s,d),p=t.scaleToFit(u.width-l*2,u.height-l*2),f={x:l,y:l,width:p.width,height:p.height,rotate:$(0),xSkew:$(0),ySkew:$(0)};i===bi.Center?(f.x+=(u.width-l*2)/2-p.width/2,f.y+=(u.height-l*2)/2-p.height/2):i===bi.Right&&(f.x=u.width-l-p.width,f.y=u.height-l-p.height);let m=this.doc.context.addRandomSuffix("Image",10),x=[...h,...wc(m,f)],g={XObject:{[m]:t.ref}},b=o.formXObject(x,{Resources:g,BBox:o.obj([0,0,s.width,s.height]),Matrix:o.obj([1,0,0,1,0,0])});return o.register(b)}createAppearanceDict(e,t,i){let{context:r}=this.acroField.dict,o=this.createAppearanceStream(e,t.on),s=this.createAppearanceStream(e,t.off),a=r.obj({});return a.set(i,o),a.set(w.of("Off"),s),a}};var Yt=class extends at{constructor(e,t,i){super(e,t,i),T(e,"acroCheckBox",[[En,"PDFAcroCheckBox"]]),this.acroField=e}check(){var e;let t=(e=this.acroField.getOnValue())!==null&&e!==void 0?e:w.of("Yes");this.markAsDirty(),this.acroField.setValue(t)}uncheck(){this.markAsDirty(),this.acroField.setValue(w.of("Off"))}isChecked(){let e=this.acroField.getOnValue();return!!e&&e===this.acroField.getValue()}addToPage(e,t){var i,r,o,s,a,c;T(e,"page",[[Ie,"PDFPage"]]),yi(t),t||(t={}),"textColor"in t||(t.textColor=fe(0,0,0)),"backgroundColor"in t||(t.backgroundColor=fe(1,1,1)),"borderColor"in t||(t.borderColor=fe(0,0,0)),"borderWidth"in t||(t.borderWidth=1);let l=this.createWidget({x:(i=t.x)!==null&&i!==void 0?i:0,y:(r=t.y)!==null&&r!==void 0?r:0,width:(o=t.width)!==null&&o!==void 0?o:50,height:(s=t.height)!==null&&s!==void 0?s:50,textColor:t.textColor,backgroundColor:t.backgroundColor,borderColor:t.borderColor,borderWidth:(a=t.borderWidth)!==null&&a!==void 0?a:0,rotate:(c=t.rotate)!==null&&c!==void 0?c:$(0),hidden:t.hidden,page:e.ref}),d=this.doc.context.register(l.dict);this.acroField.addWidget(d),l.setAppearanceState(w.of("Off")),this.updateWidgetAppearance(l,w.of("Yes")),e.node.addAnnot(d)}needsAppearancesUpdate(){var e;let t=this.acroField.getWidgets();for(let i=0,r=t.length;i<r;i++){let o=t[i],s=o.getAppearanceState(),a=(e=o.getAppearances())===null||e===void 0?void 0:e.normal;if(!(a instanceof G)||s&&!a.has(s))return!0}return!1}defaultUpdateAppearances(){this.updateAppearances()}updateAppearances(e){var t;V(e,"provider",[Function]);let i=this.acroField.getWidgets();for(let r=0,o=i.length;r<o;r++){let s=i[r],a=(t=s.getOnValue())!==null&&t!==void 0?t:w.of("Yes");a&&this.updateWidgetAppearance(s,a,e)}this.markAsClean()}updateWidgetAppearance(e,t,i){let r=i!=null?i:Up,o=Zt(r(this,e));this.updateOnOffWidgetAppearance(e,t,o)}};Yt.of=(n,e,t)=>new Yt(n,e,t);var vi=class extends at{constructor(e,t,i){super(e,t,i),T(e,"acroComboBox",[[Tn,"PDFAcroComboBox"]]),this.acroField=e}getOptions(){let e=this.acroField.getOptions(),t=new Array(e.length);for(let i=0,r=t.length;i<r;i++){let{display:o,value:s}=e[i];t[i]=(o!=null?o:s).decodeText()}return t}getSelected(){let e=this.acroField.getValues(),t=new Array(e.length);for(let i=0,r=e.length;i<r;i++)t[i]=e[i].decodeText();return t}setOptions(e){T(e,"options",[Array]);let t=new Array(e.length);for(let i=0,r=e.length;i<r;i++)t[i]={value:j.fromText(e[i])};this.acroField.setOptions(t)}addOptions(e){T(e,"options",["string",Array]);let t=Array.isArray(e)?e:[e],i=this.acroField.getOptions(),r=new Array(t.length);for(let o=0,s=t.length;o<s;o++)r[o]={value:j.fromText(t[o])};this.acroField.setOptions(i.concat(r))}select(e,t=!1){T(e,"options",["string",Array]),T(t,"merge",["boolean"]);let i=Array.isArray(e)?e:[e],r=this.getOptions();i.find(a=>!r.includes(a))&&this.enableEditing(),this.markAsDirty(),(i.length>1||i.length===1&&t)&&this.enableMultiselect();let s=new Array(i.length);for(let a=0,c=i.length;a<c;a++)s[a]=j.fromText(i[a]);if(t){let a=this.acroField.getValues();this.acroField.setValues(a.concat(s))}else this.acroField.setValues(s)}clear(){this.markAsDirty(),this.acroField.setValues([])}setFontSize(e){Fn(e,"fontSize"),this.acroField.setFontSize(e),this.markAsDirty()}isEditable(){return this.acroField.hasFlag(ge.Edit)}enableEditing(){this.acroField.setFlagTo(ge.Edit,!0)}disableEditing(){this.acroField.setFlagTo(ge.Edit,!1)}isSorted(){return this.acroField.hasFlag(ge.Sort)}enableSorting(){this.acroField.setFlagTo(ge.Sort,!0)}disableSorting(){this.acroField.setFlagTo(ge.Sort,!1)}isMultiselect(){return this.acroField.hasFlag(ge.MultiSelect)}enableMultiselect(){this.acroField.setFlagTo(ge.MultiSelect,!0)}disableMultiselect(){this.acroField.setFlagTo(ge.MultiSelect,!1)}isSpellChecked(){return!this.acroField.hasFlag(ge.DoNotSpellCheck)}enableSpellChecking(){this.acroField.setFlagTo(ge.DoNotSpellCheck,!1)}disableSpellChecking(){this.acroField.setFlagTo(ge.DoNotSpellCheck,!0)}isSelectOnClick(){return this.acroField.hasFlag(ge.CommitOnSelChange)}enableSelectOnClick(){this.acroField.setFlagTo(ge.CommitOnSelChange,!0)}disableSelectOnClick(){this.acroField.setFlagTo(ge.CommitOnSelChange,!1)}addToPage(e,t){var i,r,o,s,a,c,l;T(e,"page",[[Ie,"PDFPage"]]),yi(t),t||(t={}),"textColor"in t||(t.textColor=fe(0,0,0)),"backgroundColor"in t||(t.backgroundColor=fe(1,1,1)),"borderColor"in t||(t.borderColor=fe(0,0,0)),"borderWidth"in t||(t.borderWidth=1);let d=this.createWidget({x:(i=t.x)!==null&&i!==void 0?i:0,y:(r=t.y)!==null&&r!==void 0?r:0,width:(o=t.width)!==null&&o!==void 0?o:200,height:(s=t.height)!==null&&s!==void 0?s:50,textColor:t.textColor,backgroundColor:t.backgroundColor,borderColor:t.borderColor,borderWidth:(a=t.borderWidth)!==null&&a!==void 0?a:0,rotate:(c=t.rotate)!==null&&c!==void 0?c:$(0),hidden:t.hidden,page:e.ref}),h=this.doc.context.register(d.dict);this.acroField.addWidget(h);let u=(l=t.font)!==null&&l!==void 0?l:this.doc.getForm().getDefaultFont();this.updateWidgetAppearance(d,u),e.node.addAnnot(h)}needsAppearancesUpdate(){var e;if(this.isDirty())return!0;let t=this.acroField.getWidgets();for(let i=0,r=t.length;i<r;i++)if(!(((e=t[i].getAppearances())===null||e===void 0?void 0:e.normal)instanceof Ee))return!0;return!1}defaultUpdateAppearances(e){T(e,"font",[[Oe,"PDFFont"]]),this.updateAppearances(e)}updateAppearances(e,t){T(e,"font",[[Oe,"PDFFont"]]),V(t,"provider",[Function]);let i=this.acroField.getWidgets();for(let r=0,o=i.length;r<o;r++){let s=i[r];this.updateWidgetAppearance(s,e,t)}this.markAsClean()}updateWidgetAppearance(e,t,i){let r=i!=null?i:Kp,o=Zt(r(this,e,t));this.updateWidgetAppearanceWithFont(e,t,o)}};vi.of=(n,e,t)=>new vi(n,e,t);var wi=class extends at{constructor(e,t,i){super(e,t,i),T(e,"acroListBox",[[On,"PDFAcroListBox"]]),this.acroField=e}getOptions(){let e=this.acroField.getOptions(),t=new Array(e.length);for(let i=0,r=t.length;i<r;i++){let{display:o,value:s}=e[i];t[i]=(o!=null?o:s).decodeText()}return t}getSelected(){let e=this.acroField.getValues(),t=new Array(e.length);for(let i=0,r=e.length;i<r;i++)t[i]=e[i].decodeText();return t}setOptions(e){T(e,"options",[Array]),this.markAsDirty();let t=new Array(e.length);for(let i=0,r=e.length;i<r;i++)t[i]={value:j.fromText(e[i])};this.acroField.setOptions(t)}addOptions(e){T(e,"options",["string",Array]),this.markAsDirty();let t=Array.isArray(e)?e:[e],i=this.acroField.getOptions(),r=new Array(t.length);for(let o=0,s=t.length;o<s;o++)r[o]={value:j.fromText(t[o])};this.acroField.setOptions(i.concat(r))}select(e,t=!1){T(e,"options",["string",Array]),T(t,"merge",["boolean"]);let i=Array.isArray(e)?e:[e],r=this.getOptions();Pf(i,"option",r),this.markAsDirty(),(i.length>1||i.length===1&&t)&&this.enableMultiselect();let o=new Array(i.length);for(let s=0,a=i.length;s<a;s++)o[s]=j.fromText(i[s]);if(t){let s=this.acroField.getValues();this.acroField.setValues(s.concat(o))}else this.acroField.setValues(o)}clear(){this.markAsDirty(),this.acroField.setValues([])}setFontSize(e){Fn(e,"fontSize"),this.acroField.setFontSize(e),this.markAsDirty()}isSorted(){return this.acroField.hasFlag(ge.Sort)}enableSorting(){this.acroField.setFlagTo(ge.Sort,!0)}disableSorting(){this.acroField.setFlagTo(ge.Sort,!1)}isMultiselect(){return this.acroField.hasFlag(ge.MultiSelect)}enableMultiselect(){this.acroField.setFlagTo(ge.MultiSelect,!0)}disableMultiselect(){this.acroField.setFlagTo(ge.MultiSelect,!1)}isSelectOnClick(){return this.acroField.hasFlag(ge.CommitOnSelChange)}enableSelectOnClick(){this.acroField.setFlagTo(ge.CommitOnSelChange,!0)}disableSelectOnClick(){this.acroField.setFlagTo(ge.CommitOnSelChange,!1)}addToPage(e,t){var i,r,o,s,a,c,l;T(e,"page",[[Ie,"PDFPage"]]),yi(t),t||(t={}),"textColor"in t||(t.textColor=fe(0,0,0)),"backgroundColor"in t||(t.backgroundColor=fe(1,1,1)),"borderColor"in t||(t.borderColor=fe(0,0,0)),"borderWidth"in t||(t.borderWidth=1);let d=this.createWidget({x:(i=t.x)!==null&&i!==void 0?i:0,y:(r=t.y)!==null&&r!==void 0?r:0,width:(o=t.width)!==null&&o!==void 0?o:200,height:(s=t.height)!==null&&s!==void 0?s:100,textColor:t.textColor,backgroundColor:t.backgroundColor,borderColor:t.borderColor,borderWidth:(a=t.borderWidth)!==null&&a!==void 0?a:0,rotate:(c=t.rotate)!==null&&c!==void 0?c:$(0),hidden:t.hidden,page:e.ref}),h=this.doc.context.register(d.dict);this.acroField.addWidget(h);let u=(l=t.font)!==null&&l!==void 0?l:this.doc.getForm().getDefaultFont();this.updateWidgetAppearance(d,u),e.node.addAnnot(h)}needsAppearancesUpdate(){var e;if(this.isDirty())return!0;let t=this.acroField.getWidgets();for(let i=0,r=t.length;i<r;i++)if(!(((e=t[i].getAppearances())===null||e===void 0?void 0:e.normal)instanceof Ee))return!0;return!1}defaultUpdateAppearances(e){T(e,"font",[[Oe,"PDFFont"]]),this.updateAppearances(e)}updateAppearances(e,t){T(e,"font",[[Oe,"PDFFont"]]),V(t,"provider",[Function]);let i=this.acroField.getWidgets();for(let r=0,o=i.length;r<o;r++){let s=i[r];this.updateWidgetAppearance(s,e,t)}this.markAsClean()}updateWidgetAppearance(e,t,i){let r=i!=null?i:Gp,o=Zt(r(this,e,t));this.updateWidgetAppearanceWithFont(e,t,o)}};wi.of=(n,e,t)=>new wi(n,e,t);var Jt=class extends at{constructor(e,t,i){super(e,t,i),T(e,"acroRadioButton",[[Ln,"PDFAcroRadioButton"]]),this.acroField=e}getOptions(){let e=this.acroField.getExportValues();if(e){let r=new Array(e.length);for(let o=0,s=e.length;o<s;o++)r[o]=e[o].decodeText();return r}let t=this.acroField.getOnValues(),i=new Array(t.length);for(let r=0,o=i.length;r<o;r++)i[r]=t[r].decodeText();return i}getSelected(){let e=this.acroField.getValue();if(e===w.of("Off"))return;let t=this.acroField.getExportValues();if(t){let i=this.acroField.getOnValues();for(let r=0,o=i.length;r<o;r++)if(i[r]===e)return t[r].decodeText()}return e.decodeText()}select(e){T(e,"option",["string"]);let t=this.getOptions();si(e,"option",t),this.markAsDirty();let i=this.acroField.getOnValues(),r=this.acroField.getExportValues();if(r)for(let o=0,s=r.length;o<s;o++)r[o].decodeText()===e&&this.acroField.setValue(i[o]);else for(let o=0,s=i.length;o<s;o++){let a=i[o];a.decodeText()===e&&this.acroField.setValue(a)}}clear(){this.markAsDirty(),this.acroField.setValue(w.of("Off"))}isOffToggleable(){return!this.acroField.hasFlag(bt.NoToggleToOff)}enableOffToggling(){this.acroField.setFlagTo(bt.NoToggleToOff,!1)}disableOffToggling(){this.acroField.setFlagTo(bt.NoToggleToOff,!0)}isMutuallyExclusive(){return!this.acroField.hasFlag(bt.RadiosInUnison)}enableMutualExclusion(){this.acroField.setFlagTo(bt.RadiosInUnison,!1)}disableMutualExclusion(){this.acroField.setFlagTo(bt.RadiosInUnison,!0)}addOptionToPage(e,t,i){var r,o,s,a,c,l,d,h,u;T(e,"option",["string"]),T(t,"page",[[Ie,"PDFPage"]]),yi(i);let p=this.createWidget({x:(r=i==null?void 0:i.x)!==null&&r!==void 0?r:0,y:(o=i==null?void 0:i.y)!==null&&o!==void 0?o:0,width:(s=i==null?void 0:i.width)!==null&&s!==void 0?s:50,height:(a=i==null?void 0:i.height)!==null&&a!==void 0?a:50,textColor:(c=i==null?void 0:i.textColor)!==null&&c!==void 0?c:fe(0,0,0),backgroundColor:(l=i==null?void 0:i.backgroundColor)!==null&&l!==void 0?l:fe(1,1,1),borderColor:(d=i==null?void 0:i.borderColor)!==null&&d!==void 0?d:fe(0,0,0),borderWidth:(h=i==null?void 0:i.borderWidth)!==null&&h!==void 0?h:1,rotate:(u=i==null?void 0:i.rotate)!==null&&u!==void 0?u:$(0),hidden:i==null?void 0:i.hidden,page:t.ref}),f=this.doc.context.register(p.dict),m=this.acroField.addWidgetWithOpt(f,j.fromText(e),!this.isMutuallyExclusive());p.setAppearanceState(w.of("Off")),this.updateWidgetAppearance(p,m),t.node.addAnnot(f)}needsAppearancesUpdate(){var e;let t=this.acroField.getWidgets();for(let i=0,r=t.length;i<r;i++){let o=t[i],s=o.getAppearanceState(),a=(e=o.getAppearances())===null||e===void 0?void 0:e.normal;if(!(a instanceof G)||s&&!a.has(s))return!0}return!1}defaultUpdateAppearances(){this.updateAppearances()}updateAppearances(e){V(e,"provider",[Function]);let t=this.acroField.getWidgets();for(let i=0,r=t.length;i<r;i++){let o=t[i],s=o.getOnValue();s&&this.updateWidgetAppearance(o,s,e)}}updateWidgetAppearance(e,t,i){let r=i!=null?i:qp,o=Zt(r(this,e));this.updateOnOffWidgetAppearance(e,t,o)}};Jt.of=(n,e,t)=>new Jt(n,e,t);var Ui=class extends at{constructor(e,t,i){super(e,t,i),T(e,"acroSignature",[[br,"PDFAcroSignature"]]),this.acroField=e}needsAppearancesUpdate(){return!1}};Ui.of=(n,e,t)=>new Ui(n,e,t);var Fi=class extends at{constructor(e,t,i){super(e,t,i),T(e,"acroText",[[In,"PDFAcroText"]]),this.acroField=e}getText(){let e=this.acroField.getValue();if(!e&&this.isRichFormatted())throw new Sc(this.getName());return e==null?void 0:e.decodeText()}setText(e){V(e,"text",["string"]);let t=this.getMaxLength();if(t!==void 0&&e&&e.length>t)throw new Tc(e.length,t,this.getName());this.markAsDirty(),this.disableRichFormatting(),e?this.acroField.setValue(j.fromText(e)):this.acroField.removeValue()}getAlignment(){let e=this.acroField.getQuadding();return e===0?qe.Left:e===1?qe.Center:e===2?qe.Right:qe.Left}setAlignment(e){si(e,"alignment",qe),this.markAsDirty(),this.acroField.setQuadding(e)}getMaxLength(){return this.acroField.getMaxLength()}setMaxLength(e){if(Vt(e,"maxLength",0,Number.MAX_SAFE_INTEGER),this.markAsDirty(),e===void 0)this.acroField.removeMaxLength();else{let t=this.getText();if(t&&t.length>e)throw new Ac(t.length,e,this.getName());this.acroField.setMaxLength(e)}}removeMaxLength(){this.markAsDirty(),this.acroField.removeMaxLength()}setImage(e){let t=this.getAlignment(),i=t===qe.Center?bi.Center:t===qe.Right?bi.Right:bi.Left,r=this.acroField.getWidgets();for(let o=0,s=r.length;o<s;o++){let a=r[o],c=this.createImageAppearanceStream(a,e,i);this.updateWidgetAppearances(a,{normal:c})}this.markAsClean()}setFontSize(e){Fn(e,"fontSize"),this.acroField.setFontSize(e),this.markAsDirty()}isMultiline(){return this.acroField.hasFlag(Me.Multiline)}enableMultiline(){this.markAsDirty(),this.acroField.setFlagTo(Me.Multiline,!0)}disableMultiline(){this.markAsDirty(),this.acroField.setFlagTo(Me.Multiline,!1)}isPassword(){return this.acroField.hasFlag(Me.Password)}enablePassword(){this.acroField.setFlagTo(Me.Password,!0)}disablePassword(){this.acroField.setFlagTo(Me.Password,!1)}isFileSelector(){return this.acroField.hasFlag(Me.FileSelect)}enableFileSelection(){this.acroField.setFlagTo(Me.FileSelect,!0)}disableFileSelection(){this.acroField.setFlagTo(Me.FileSelect,!1)}isSpellChecked(){return!this.acroField.hasFlag(Me.DoNotSpellCheck)}enableSpellChecking(){this.acroField.setFlagTo(Me.DoNotSpellCheck,!1)}disableSpellChecking(){this.acroField.setFlagTo(Me.DoNotSpellCheck,!0)}isScrollable(){return!this.acroField.hasFlag(Me.DoNotScroll)}enableScrolling(){this.acroField.setFlagTo(Me.DoNotScroll,!1)}disableScrolling(){this.acroField.setFlagTo(Me.DoNotScroll,!0)}isCombed(){return this.acroField.hasFlag(Me.Comb)&&!this.isMultiline()&&!this.isPassword()&&!this.isFileSelector()&&this.getMaxLength()!==void 0}enableCombing(){this.getMaxLength()===void 0&&console.warn("PDFTextFields must have a max length in order to be combed"),this.markAsDirty(),this.disableMultiline(),this.disablePassword(),this.disableFileSelection(),this.acroField.setFlagTo(Me.Comb,!0)}disableCombing(){this.markAsDirty(),this.acroField.setFlagTo(Me.Comb,!1)}isRichFormatted(){return this.acroField.hasFlag(Me.RichText)}enableRichFormatting(){this.acroField.setFlagTo(Me.RichText,!0)}disableRichFormatting(){this.acroField.setFlagTo(Me.RichText,!1)}addToPage(e,t){var i,r,o,s,a,c,l;T(e,"page",[[Ie,"PDFPage"]]),yi(t),t||(t={}),"textColor"in t||(t.textColor=fe(0,0,0)),"backgroundColor"in t||(t.backgroundColor=fe(1,1,1)),"borderColor"in t||(t.borderColor=fe(0,0,0)),"borderWidth"in t||(t.borderWidth=1);let d=this.createWidget({x:(i=t.x)!==null&&i!==void 0?i:0,y:(r=t.y)!==null&&r!==void 0?r:0,width:(o=t.width)!==null&&o!==void 0?o:200,height:(s=t.height)!==null&&s!==void 0?s:50,textColor:t.textColor,backgroundColor:t.backgroundColor,borderColor:t.borderColor,borderWidth:(a=t.borderWidth)!==null&&a!==void 0?a:0,rotate:(c=t.rotate)!==null&&c!==void 0?c:$(0),hidden:t.hidden,page:e.ref}),h=this.doc.context.register(d.dict);this.acroField.addWidget(h);let u=(l=t.font)!==null&&l!==void 0?l:this.doc.getForm().getDefaultFont();this.updateWidgetAppearance(d,u),e.node.addAnnot(h)}needsAppearancesUpdate(){var e;if(this.isDirty())return!0;let t=this.acroField.getWidgets();for(let i=0,r=t.length;i<r;i++)if(!(((e=t[i].getAppearances())===null||e===void 0?void 0:e.normal)instanceof Ee))return!0;return!1}defaultUpdateAppearances(e){T(e,"font",[[Oe,"PDFFont"]]),this.updateAppearances(e)}updateAppearances(e,t){T(e,"font",[[Oe,"PDFFont"]]),V(t,"provider",[Function]);let i=this.acroField.getWidgets();for(let r=0,o=i.length;r<o;r++){let s=i[r];this.updateWidgetAppearance(s,e,t)}this.markAsClean()}updateWidgetAppearance(e,t,i){let r=i!=null?i:jp,o=Zt(r(this,e,t));this.updateWidgetAppearanceWithFont(e,t,o)}};Fi.of=(n,e,t)=>new Fi(n,e,t);var Ko;(function(n){n.Courier="Courier",n.CourierBold="Courier-Bold",n.CourierOblique="Courier-Oblique",n.CourierBoldOblique="Courier-BoldOblique",n.Helvetica="Helvetica",n.HelveticaBold="Helvetica-Bold",n.HelveticaOblique="Helvetica-Oblique",n.HelveticaBoldOblique="Helvetica-BoldOblique",n.TimesRoman="Times-Roman",n.TimesRomanBold="Times-Bold",n.TimesRomanItalic="Times-Italic",n.TimesRomanBoldItalic="Times-BoldItalic",n.Symbol="Symbol",n.ZapfDingbats="ZapfDingbats"})(Ko||(Ko={}));var zn=class{constructor(e,t){this.embedDefaultFont=()=>this.doc.embedStandardFont(Ko.Helvetica),T(e,"acroForm",[[yr,"PDFAcroForm"]]),T(t,"doc",[[je,"PDFDocument"]]),this.acroForm=e,this.doc=t,this.dirtyFields=new Set,this.defaultFontCache=ht.populatedBy(this.embedDefaultFont)}hasXFA(){return this.acroForm.dict.has(w.of("XFA"))}deleteXFA(){this.acroForm.dict.delete(w.of("XFA"))}getFields(){let e=this.acroForm.getAllFields(),t=[];for(let i=0,r=e.length;i<r;i++){let[o,s]=e[i],a=Kk(o,s,this.doc);a&&t.push(a)}return t}getFieldMaybe(e){T(e,"name",["string"]);let t=this.getFields();for(let i=0,r=t.length;i<r;i++){let o=t[i];if(o.getName()===e)return o}}getField(e){T(e,"name",["string"]);let t=this.getFieldMaybe(e);if(t)return t;throw new kc(e)}getButton(e){T(e,"name",["string"]);let t=this.getField(e);if(t instanceof Di)return t;throw new Hi(e,Di,t)}getCheckBox(e){T(e,"name",["string"]);let t=this.getField(e);if(t instanceof Yt)return t;throw new Hi(e,Yt,t)}getDropdown(e){T(e,"name",["string"]);let t=this.getField(e);if(t instanceof vi)return t;throw new Hi(e,vi,t)}getOptionList(e){T(e,"name",["string"]);let t=this.getField(e);if(t instanceof wi)return t;throw new Hi(e,wi,t)}getRadioGroup(e){T(e,"name",["string"]);let t=this.getField(e);if(t instanceof Jt)return t;throw new Hi(e,Jt,t)}getSignature(e){T(e,"name",["string"]);let t=this.getField(e);if(t instanceof Ui)return t;throw new Hi(e,Ui,t)}getTextField(e){T(e,"name",["string"]);let t=this.getField(e);if(t instanceof Fi)return t;throw new Hi(e,Fi,t)}createButton(e){T(e,"name",["string"]);let t=ca(e),i=this.findOrCreateNonTerminals(t.nonTerminal),r=Bn.create(this.doc.context);return r.setPartialName(t.terminal),da(i,[r,r.ref],t.terminal),Di.of(r,r.ref,this.doc)}createCheckBox(e){T(e,"name",["string"]);let t=ca(e),i=this.findOrCreateNonTerminals(t.nonTerminal),r=En.create(this.doc.context);return r.setPartialName(t.terminal),da(i,[r,r.ref],t.terminal),Yt.of(r,r.ref,this.doc)}createDropdown(e){T(e,"name",["string"]);let t=ca(e),i=this.findOrCreateNonTerminals(t.nonTerminal),r=Tn.create(this.doc.context);return r.setPartialName(t.terminal),da(i,[r,r.ref],t.terminal),vi.of(r,r.ref,this.doc)}createOptionList(e){T(e,"name",["string"]);let t=ca(e),i=this.findOrCreateNonTerminals(t.nonTerminal),r=On.create(this.doc.context);return r.setPartialName(t.terminal),da(i,[r,r.ref],t.terminal),wi.of(r,r.ref,this.doc)}createRadioGroup(e){T(e,"name",["string"]);let t=ca(e),i=this.findOrCreateNonTerminals(t.nonTerminal),r=Ln.create(this.doc.context);return r.setPartialName(t.terminal),da(i,[r,r.ref],t.terminal),Jt.of(r,r.ref,this.doc)}createTextField(e){T(e,"name",["string"]);let t=ca(e),i=this.findOrCreateNonTerminals(t.nonTerminal),r=In.create(this.doc.context);return r.setPartialName(t.terminal),da(i,[r,r.ref],t.terminal),Fi.of(r,r.ref,this.doc)}flatten(e={updateFieldAppearances:!0}){e.updateFieldAppearances&&this.updateFieldAppearances();let t=this.getFields();for(let i=0,r=t.length;i<r;i++){let o=t[i],s=o.acroField.getWidgets();for(let a=0,c=s.length;a<c;a++)try{let l=s[a],d=this.findWidgetPage(l),h=this.findWidgetAppearanceRef(o,l),u=d.node.newXObject("FlatWidget",h),p=l.getRectangle(),f=[ze(),Tt(p.x,p.y),...pi({...p,rotation:0}),Js(u),Ue()].filter(Boolean);d.pushOperators(...f)}catch(l){console.error(l)}this.removeField(o)}}removeField(e){let t=e.acroField.getWidgets(),i=new Set;for(let s=0,a=t.length;s<a;s++)try{let c=t[s],l=this.findWidgetAppearanceRef(e,c),d=this.findWidgetPage(c);i.add(d),d.node.removeAnnot(l)}catch(c){console.error(c)}i.forEach(s=>s.node.removeAnnot(e.ref)),this.acroForm.removeField(e.acroField);let r=e.acroField.normalizedEntries().Kids,o=r.size();for(let s=0;s<o;s++){let a=r.get(s);a instanceof Y&&this.doc.context.delete(a)}this.doc.context.delete(e.ref)}updateFieldAppearances(e){V(e,"font",[[Oe,"PDFFont"]]),e=e!=null?e:this.getDefaultFont();let t=this.getFields();for(let i=0,r=t.length;i<r;i++){let o=t[i];o.needsAppearancesUpdate()&&o.defaultUpdateAppearances(e)}}markFieldAsDirty(e){V(e,"fieldRef",[[Y,"PDFRef"]]),this.dirtyFields.add(e)}markFieldAsClean(e){V(e,"fieldRef",[[Y,"PDFRef"]]),this.dirtyFields.delete(e)}fieldIsDirty(e){return V(e,"fieldRef",[[Y,"PDFRef"]]),this.dirtyFields.has(e)}getDefaultFont(){return this.defaultFontCache.access()}findWidgetPage(e){let t=e.P(),i=this.doc.getPages().find(r=>r.ref===t);if(i===void 0){let r=this.doc.context.getObjectRef(e.dict);if(r===void 0)throw new Error("Could not find PDFRef for PDFObject");if(i=this.doc.findPageForAnnotationRef(r),i===void 0)throw new Error(`Could not find page for PDFRef ${r}`)}return i}findWidgetAppearanceRef(e,t){var i;let r=t.getNormalAppearance();if((e instanceof Yt||e instanceof Jt)&&(r instanceof Y&&(r=this.doc.context.lookup(r,G)),r instanceof G)){let o=e.acroField.getValue(),s=(i=r.get(o))!==null&&i!==void 0?i:r.get(w.of("Off"));s instanceof Y&&(r=s)}if(!(r instanceof Y)){let o=e.getName();throw new Error(`Failed to extract appearance ref for: ${o}`)}return r}findOrCreateNonTerminals(e){let t=[this.acroForm];for(let i=0,r=e.length;i<r;i++){let o=e[i];if(!o)throw new Cc(o);let[s,a]=t,c=this.findNonTerminal(o,s);if(c)t=c;else{let l=An.create(this.doc.context);l.setPartialName(o),l.setParent(a);let d=this.doc.context.register(l.dict);s.addField(d),t=[l,d]}}return t}findNonTerminal(e,t){let i=t instanceof yr?this.acroForm.getFields():Ls(t.Kids());for(let r=0,o=i.length;r<o;r++){let[s,a]=i[r];if(s.getPartialName()===e){if(s instanceof An)return[s,a];throw new aa(e)}}}};zn.of=(n,e)=>new zn(n,e);var Kk=(n,e,t)=>{if(n instanceof Bn)return Di.of(n,e,t);if(n instanceof En)return Yt.of(n,e,t);if(n instanceof Tn)return vi.of(n,e,t);if(n instanceof On)return wi.of(n,e,t);if(n instanceof In)return Fi.of(n,e,t);if(n instanceof Ln)return Jt.of(n,e,t);if(n instanceof br)return Ui.of(n,e,t)},ca=n=>{if(n.length===0)throw new Error("PDF field names must not be empty strings");let e=n.split(".");for(let t=0,i=e.length;t<i;t++)if(e[t]==="")throw new Error(`Periods in PDF field names must be separated by at least one character: "${n}"`);return e.length===1?{nonTerminal:[],terminal:e[0]}:{nonTerminal:e.slice(0,e.length-1),terminal:e[e.length-1]}},da=([n,e],[t,i],r)=>{let o=n.normalizedEntries(),s=Ls("Kids"in o?o.Kids:o.Fields);for(let a=0,c=s.length;a<c;a++)if(s[a][0].getPartialName()===r)throw new aa(r);n.addField(i),t.setParent(e)};var Go={"4A0":[4767.87,6740.79],"2A0":[3370.39,4767.87],A0:[2383.94,3370.39],A1:[1683.78,2383.94],A2:[1190.55,1683.78],A3:[841.89,1190.55],A4:[595.28,841.89],A5:[419.53,595.28],A6:[297.64,419.53],A7:[209.76,297.64],A8:[147.4,209.76],A9:[104.88,147.4],A10:[73.7,104.88],B0:[2834.65,4008.19],B1:[2004.09,2834.65],B2:[1417.32,2004.09],B3:[1000.63,1417.32],B4:[708.66,1000.63],B5:[498.9,708.66],B6:[354.33,498.9],B7:[249.45,354.33],B8:[175.75,249.45],B9:[124.72,175.75],B10:[87.87,124.72],C0:[2599.37,3676.54],C1:[1836.85,2599.37],C2:[1298.27,1836.85],C3:[918.43,1298.27],C4:[649.13,918.43],C5:[459.21,649.13],C6:[323.15,459.21],C7:[229.61,323.15],C8:[161.57,229.61],C9:[113.39,161.57],C10:[79.37,113.39],RA0:[2437.8,3458.27],RA1:[1729.13,2437.8],RA2:[1218.9,1729.13],RA3:[864.57,1218.9],RA4:[609.45,864.57],SRA0:[2551.18,3628.35],SRA1:[1814.17,2551.18],SRA2:[1275.59,1814.17],SRA3:[907.09,1275.59],SRA4:[637.8,907.09],Executive:[521.86,756],Folio:[612,936],Legal:[612,1008],Letter:[612,792],Tabloid:[792,1224]};var Ic;(function(n){n[n.Fastest=1/0]="Fastest",n[n.Fast=1500]="Fast",n[n.Medium=500]="Medium",n[n.Slow=100]="Slow"})(Ic||(Ic={}));var Xo=class{constructor(e,t,i){this.alreadyEmbedded=!1,this.ref=e,this.doc=t,this.embedder=i}async embed(){if(!this.alreadyEmbedded){let e=await this.embedder.embedIntoContext(this.doc.context,this.ref);this.doc.catalog.has(w.of("Names"))||this.doc.catalog.set(w.of("Names"),this.doc.context.obj({}));let t=this.doc.catalog.lookup(w.of("Names"),G);t.has(w.of("EmbeddedFiles"))||t.set(w.of("EmbeddedFiles"),this.doc.context.obj({}));let i=t.lookup(w.of("EmbeddedFiles"),G);i.has(w.of("Names"))||i.set(w.of("Names"),this.doc.context.obj([]));let r=i.lookup(w.of("Names"),X);r.push(j.fromText(this.embedder.fileName)),r.push(e),this.doc.catalog.has(w.of("AF"))||this.doc.catalog.set(w.of("AF"),this.doc.context.obj([])),this.doc.catalog.lookup(w.of("AF"),X).push(e),this.alreadyEmbedded=!0}}};Xo.of=(n,e,t)=>new Xo(n,e,t);var Un=class{constructor(e,t,i){this.alreadyEmbedded=!1,this.ref=e,this.doc=t,this.embedder=i}async embed(){if(!this.alreadyEmbedded){let{catalog:e,context:t}=this.doc,i=await this.embedder.embedIntoContext(this.doc.context,this.ref);e.has(w.of("Names"))||e.set(w.of("Names"),t.obj({}));let r=e.lookup(w.of("Names"),G);r.has(w.of("JavaScript"))||r.set(w.of("JavaScript"),t.obj({}));let o=r.lookup(w.of("JavaScript"),G);o.has(w.of("Names"))||o.set(w.of("Names"),t.obj([]));let s=o.lookup(w.of("Names"),X);s.push(j.fromText(this.embedder.scriptName)),s.push(i),this.alreadyEmbedded=!0}}};Un.of=(n,e,t)=>new Un(n,e,t);var Xp=class n{static for(e,t){return new n(e,t)}constructor(e,t){this.script=e,this.scriptName=t}async embedIntoContext(e,t){let i=e.obj({Type:"Action",S:"JavaScript",JS:j.fromText(this.script)});return t?(e.assign(t,i),t):e.register(i)}},pw=Xp;var gw=512,Zp=class extends li{constructor(e,t,i){super(i),this.stream=e,this.decrypt=t,this.nextChunk=null,this.initialized=!1}readBlock(){let e;if(this.initialized?e=this.nextChunk:(e=this.stream.getBytes(gw),this.initialized=!0),!e||e.length===0){this.eof=!0;return}this.nextChunk=this.stream.getBytes(gw);let t=this.nextChunk&&this.nextChunk.length>0,i=this.decrypt;e=i(e,!t);let r=this.bufferLength,o=r+e.length;this.ensureBuffer(o).set(e,r),this.bufferLength=o}},mw=Zp;var qn=class{constructor(e){this.a=0,this.b=0;let t=new Uint8Array(256),i=e.length;for(let r=0;r<256;++r)t[r]=r;for(let r=0,o=0;r<256;++r){let s=t[r];o=o+s+e[r%i]&255,t[r]=t[o],t[o]=s}this.s=t}encryptBlock(e){let t=this.a,i=this.b,r=this.s,o=e.length,s=new Uint8Array(o);for(let a=0;a<o;++a){t=t+1&255;let c=r[t];i=i+c&255;let l=r[i];r[t]=l,r[i]=c,s[a]=e[a]^r[c+l&255]}return this.a=t,this.b=i,s}decryptBlock(e){return this.encryptBlock(e)}encrypt(e){return this.encryptBlock(e)}},ha=function(){let e=new Uint8Array([7,12,17,22,7,12,17,22,7,12,17,22,7,12,17,22,5,9,14,20,5,9,14,20,5,9,14,20,5,9,14,20,4,11,16,23,4,11,16,23,4,11,16,23,4,11,16,23,6,10,15,21,6,10,15,21,6,10,15,21,6,10,15,21]),t=new Int32Array([-680876936,-389564586,606105819,-1044525330,-176418897,1200080426,-1473231341,-45705983,1770035416,-1958414417,-42063,-1990404162,1804603682,-40341101,-1502002290,1236535329,-165796510,-1069501632,643717713,-373897302,-701558691,38016083,-660478335,-405537848,568446438,-1019803690,-187363961,1163531501,-1444681467,-51403784,1735328473,-1926607734,-378558,-2022574463,1839030562,-35309556,-1530992060,1272893353,-155497632,-1094730640,681279174,-358537222,-722521979,76029189,-640364487,-421815835,530742520,-995338651,-198630844,1126891415,-1416354905,-57434055,1700485571,-1894986606,-1051523,-2054922799,1873313359,-30611744,-1560198380,1309151649,-145523070,-1120210379,718787259,-343485551]);function i(r,o,s){let a=1732584193,c=-271733879,l=-1732584194,d=271733878,h=s+72&-64,u=new Uint8Array(h),p,f;for(p=0;p<s;++p)u[p]=r[o++];u[p++]=128;let m=h-8;for(;p<m;)u[p++]=0;u[p++]=s<<3&255,u[p++]=s>>5&255,u[p++]=s>>13&255,u[p++]=s>>21&255,u[p++]=s>>>29&255,u[p++]=0,u[p++]=0,u[p++]=0;let x=new Int32Array(16);for(p=0;p<h;){for(f=0;f<16;++f,p+=4)x[f]=u[p]|u[p+1]<<8|u[p+2]<<16|u[p+3]<<24;let g=a,b=c,v=l,y=d,F,D;for(f=0;f<64;++f){f<16?(F=b&v|~b&y,D=f):f<32?(F=y&b|~y&v,D=5*f+1&15):f<48?(F=b^v^y,D=3*f+5&15):(F=v^(b|~y),D=7*f&15);let C=y,k=g+F+t[f]+x[D]|0,E=e[f];y=v,v=b,b=b+(k<<E|k>>>32-E)|0,g=C}a=a+g|0,c=c+b|0,l=l+v|0,d=d+y|0}return new Uint8Array([a&255,a>>8&255,a>>16&255,a>>>24&255,c&255,c>>8&255,c>>16&255,c>>>24&255,l&255,l>>8&255,l>>16&255,l>>>24&255,d&255,d>>8&255,d>>16&255,d>>>24&255])}return i}(),H=class{constructor(e,t){this.high=e|0,this.low=t|0}and(e){this.high&=e.high,this.low&=e.low}xor(e){this.high^=e.high,this.low^=e.low}or(e){this.high|=e.high,this.low|=e.low}shiftRight(e){e>=32?(this.low=this.high>>>e-32|0,this.high=0):(this.low=this.low>>>e|this.high<<32-e,this.high=this.high>>>e|0)}shiftLeft(e){e>=32?(this.high=this.low<<e-32,this.low=0):(this.high=this.high<<e|this.low>>>32-e,this.low<<=e)}rotateRight(e){let t,i;e&32?(i=this.low,t=this.high):(t=this.low,i=this.high),e&=31,this.low=t>>>e|i<<32-e,this.high=i>>>e|t<<32-e}not(){this.high=~this.high,this.low=~this.low}add(e){let t=(this.low>>>0)+(e.low>>>0),i=(this.high>>>0)+(e.high>>>0);t>4294967295&&(i+=1),this.low=t|0,this.high=i|0}copyTo(e,t){e[t]=this.high>>>24&255,e[t+1]=this.high>>16&255,e[t+2]=this.high>>8&255,e[t+3]=this.high&255,e[t+4]=this.low>>>24&255,e[t+5]=this.low>>16&255,e[t+6]=this.low>>8&255,e[t+7]=this.low&255}assign(e){this.high=e.high,this.low=e.low}},ua=function(){function e(d,h){return d>>>h|d<<32-h}function t(d,h,u){return d&h^~d&u}function i(d,h,u){return d&h^d&u^h&u}function r(d){return e(d,2)^e(d,13)^e(d,22)}function o(d){return e(d,6)^e(d,11)^e(d,25)}function s(d){return e(d,7)^e(d,18)^d>>>3}function a(d){return e(d,17)^e(d,19)^d>>>10}let c=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function l(d,h,u){let p=1779033703,f=3144134277,m=1013904242,x=2773480762,g=1359893119,b=2600822924,v=528734635,y=1541459225,F=Math.ceil((u+9)/64)*64,D=new Uint8Array(F),C,k;for(C=0;C<u;++C)D[C]=d[h++];D[C++]=128;let E=F-8;for(;C<E;)D[C++]=0;D[C++]=0,D[C++]=0,D[C++]=0,D[C++]=u>>>29&255,D[C++]=u>>21&255,D[C++]=u>>13&255,D[C++]=u>>5&255,D[C++]=u<<3&255;let B=new Uint32Array(64);for(C=0;C<F;){for(k=0;k<16;++k)B[k]=D[C]<<24|D[C+1]<<16|D[C+2]<<8|D[C+3],C+=4;for(k=16;k<64;++k)B[k]=a(B[k-2])+B[k-7]+s(B[k-15])+B[k-16]|0;let S=p,I=f,L=m,A=x,N=g,q=b,U=v,Z=y,O,z;for(k=0;k<64;++k)O=Z+o(N)+t(N,q,U)+c[k]+B[k],z=r(S)+i(S,I,L),Z=U,U=q,q=N,N=A+O|0,A=L,L=I,I=S,S=O+z|0;p=p+S|0,f=f+I|0,m=m+L|0,x=x+A|0,g=g+N|0,b=b+q|0,v=v+U|0,y=y+Z|0}return new Uint8Array([p>>24&255,p>>16&255,p>>8&255,p&255,f>>24&255,f>>16&255,f>>8&255,f&255,m>>24&255,m>>16&255,m>>8&255,m&255,x>>24&255,x>>16&255,x>>8&255,x&255,g>>24&255,g>>16&255,g>>8&255,g&255,b>>24&255,b>>16&255,b>>8&255,b&255,v>>24&255,v>>16&255,v>>8&255,v&255,y>>24&255,y>>16&255,y>>8&255,y&255])}return l}(),xw=function(){function e(l,d,h,u,p){l.assign(d),l.and(h),p.assign(d),p.not(),p.and(u),l.xor(p)}function t(l,d,h,u,p){l.assign(d),l.and(h),p.assign(d),p.and(u),l.xor(p),p.assign(h),p.and(u),l.xor(p)}function i(l,d,h){l.assign(d),l.rotateRight(28),h.assign(d),h.rotateRight(34),l.xor(h),h.assign(d),h.rotateRight(39),l.xor(h)}function r(l,d,h){l.assign(d),l.rotateRight(14),h.assign(d),h.rotateRight(18),l.xor(h),h.assign(d),h.rotateRight(41),l.xor(h)}function o(l,d,h){l.assign(d),l.rotateRight(1),h.assign(d),h.rotateRight(8),l.xor(h),h.assign(d),h.shiftRight(7),l.xor(h)}function s(l,d,h){l.assign(d),l.rotateRight(19),h.assign(d),h.rotateRight(61),l.xor(h),h.assign(d),h.shiftRight(6),l.xor(h)}let a=[new H(1116352408,3609767458),new H(1899447441,602891725),new H(3049323471,3964484399),new H(3921009573,2173295548),new H(961987163,4081628472),new H(1508970993,3053834265),new H(2453635748,2937671579),new H(2870763221,3664609560),new H(3624381080,2734883394),new H(310598401,1164996542),new H(607225278,1323610764),new H(1426881987,3590304994),new H(1925078388,4068182383),new H(2162078206,991336113),new H(2614888103,633803317),new H(3248222580,3479774868),new H(3835390401,2666613458),new H(4022224774,944711139),new H(264347078,2341262773),new H(604807628,2007800933),new H(770255983,1495990901),new H(1249150122,1856431235),new H(1555081692,3175218132),new H(1996064986,2198950837),new H(2554220882,3999719339),new H(2821834349,766784016),new H(2952996808,2566594879),new H(3210313671,3203337956),new H(3336571891,1034457026),new H(3584528711,2466948901),new H(113926993,3758326383),new H(338241895,168717936),new H(666307205,1188179964),new H(773529912,1546045734),new H(1294757372,1522805485),new H(1396182291,2643833823),new H(1695183700,2343527390),new H(1986661051,1014477480),new H(2177026350,1206759142),new H(2456956037,344077627),new H(2730485921,1290863460),new H(2820302411,3158454273),new H(3259730800,3505952657),new H(3345764771,106217008),new H(3516065817,3606008344),new H(3600352804,1432725776),new H(4094571909,1467031594),new H(275423344,851169720),new H(430227734,3100823752),new H(506948616,1363258195),new H(659060556,3750685593),new H(883997877,3785050280),new H(958139571,3318307427),new H(1322822218,3812723403),new H(1537002063,2003034995),new H(1747873779,3602036899),new H(1955562222,1575990012),new H(2024104815,1125592928),new H(2227730452,2716904306),new H(2361852424,442776044),new H(2428436474,593698344),new H(2756734187,3733110249),new H(3204031479,2999351573),new H(3329325298,3815920427),new H(3391569614,3928383900),new H(3515267271,566280711),new H(3940187606,3454069534),new H(4118630271,4000239992),new H(116418474,1914138554),new H(174292421,2731055270),new H(289380356,3203993006),new H(460393269,320620315),new H(685471733,587496836),new H(852142971,1086792851),new H(1017036298,365543100),new H(1126000580,2618297676),new H(1288033470,3409855158),new H(1501505948,4234509866),new H(1607167915,987167468),new H(1816402316,1246189591)];function c(l,d,h,u=!1){let p,f,m,x,g,b,v,y;u?(p=new H(3418070365,3238371032),f=new H(1654270250,914150663),m=new H(2438529370,812702999),x=new H(355462360,4144912697),g=new H(1731405415,4290775857),b=new H(2394180231,1750603025),v=new H(3675008525,1694076839),y=new H(1203062813,3204075428)):(p=new H(1779033703,4089235720),f=new H(3144134277,2227873595),m=new H(1013904242,4271175723),x=new H(2773480762,1595750129),g=new H(1359893119,2917565137),b=new H(2600822924,725511199),v=new H(528734635,4215389547),y=new H(1541459225,327033209));let F=Math.ceil((h+17)/128)*128,D=new Uint8Array(F),C,k;for(C=0;C<h;++C)D[C]=l[d++];D[C++]=128;let E=F-16;for(;C<E;)D[C++]=0;D[C++]=0,D[C++]=0,D[C++]=0,D[C++]=0,D[C++]=0,D[C++]=0,D[C++]=0,D[C++]=0,D[C++]=0,D[C++]=0,D[C++]=0,D[C++]=h>>>29&255,D[C++]=h>>21&255,D[C++]=h>>13&255,D[C++]=h>>5&255,D[C++]=h<<3&255;let B=new Array(80);for(C=0;C<80;C++)B[C]=new H(0,0);let S=new H(0,0),I=new H(0,0),L=new H(0,0),A=new H(0,0),N=new H(0,0),q=new H(0,0),U=new H(0,0),Z=new H(0,0),O=new H(0,0),z=new H(0,0),R=new H(0,0),M=new H(0,0),ne;for(C=0;C<F;){for(k=0;k<16;++k)B[k].high=D[C]<<24|D[C+1]<<16|D[C+2]<<8|D[C+3],B[k].low=D[C+4]<<24|D[C+5]<<16|D[C+6]<<8|D[C+7],C+=8;for(k=16;k<80;++k)ne=B[k],s(ne,B[k-2],M),ne.add(B[k-7]),o(R,B[k-15],M),ne.add(R),ne.add(B[k-16]);for(S.assign(p),I.assign(f),L.assign(m),A.assign(x),N.assign(g),q.assign(b),U.assign(v),Z.assign(y),k=0;k<80;++k)O.assign(Z),r(R,N,M),O.add(R),e(R,N,q,U,M),O.add(R),O.add(a[k]),O.add(B[k]),i(z,S,M),t(R,S,I,L,M),z.add(R),ne=Z,Z=U,U=q,q=N,A.add(O),N=A,A=L,L=I,I=S,ne.assign(O),ne.add(z),S=ne;p.add(S),f.add(I),m.add(L),x.add(A),g.add(N),b.add(q),v.add(U),y.add(Z)}let oe;return u?(oe=new Uint8Array(48),p.copyTo(oe,0),f.copyTo(oe,8),m.copyTo(oe,16),x.copyTo(oe,24),g.copyTo(oe,32),b.copyTo(oe,40)):(oe=new Uint8Array(64),p.copyTo(oe,0),f.copyTo(oe,8),m.copyTo(oe,16),x.copyTo(oe,24),g.copyTo(oe,32),b.copyTo(oe,40),v.copyTo(oe,48),y.copyTo(oe,56)),oe}return c}();function Gk(n,e,t){return xw(n,e,t,!0)}var Yp=class{decryptBlock(e){return e}encrypt(e){return e}},Bc=class n{constructor(){if(this.constructor===n)throw new Error("Cannot initialize AESBaseCipher.");this._s=new Uint8Array([99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22]),this._inv_s=new Uint8Array([82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125]),this._mix=new Uint32Array([0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795]),this._mixCol=new Uint8Array(256);for(let e=0;e<256;e++)e<128?this._mixCol[e]=e<<1:this._mixCol[e]=e<<1^27;this.buffer=new Uint8Array(16),this.bufferPosition=0}_expandKey(e){throw new Error("Cannot call `_expandKey` on the base class")}_decrypt(e,t){let i,r,o,s=new Uint8Array(16);s.set(e);for(let a=0,c=this._keySize;a<16;++a,++c)s[a]^=t[c];for(let a=this._cyclesOfRepetition-1;a>=1;--a){i=s[13],s[13]=s[9],s[9]=s[5],s[5]=s[1],s[1]=i,i=s[14],r=s[10],s[14]=s[6],s[10]=s[2],s[6]=i,s[2]=r,i=s[15],r=s[11],o=s[7],s[15]=s[3],s[11]=i,s[7]=r,s[3]=o;for(let c=0;c<16;++c)s[c]=this._inv_s[s[c]];for(let c=0,l=a*16;c<16;++c,++l)s[c]^=t[l];for(let c=0;c<16;c+=4){let l=this._mix[s[c]],d=this._mix[s[c+1]],h=this._mix[s[c+2]],u=this._mix[s[c+3]];i=l^d>>>8^d<<24^h>>>16^h<<16^u>>>24^u<<8,s[c]=i>>>24&255,s[c+1]=i>>16&255,s[c+2]=i>>8&255,s[c+3]=i&255}}i=s[13],s[13]=s[9],s[9]=s[5],s[5]=s[1],s[1]=i,i=s[14],r=s[10],s[14]=s[6],s[10]=s[2],s[6]=i,s[2]=r,i=s[15],r=s[11],o=s[7],s[15]=s[3],s[11]=i,s[7]=r,s[3]=o;for(let a=0;a<16;++a)s[a]=this._inv_s[s[a]],s[a]^=t[a];return s}_encrypt(e,t){let i=this._s,r,o,s,a=new Uint8Array(16);a.set(e);for(let c=0;c<16;++c)a[c]^=t[c];for(let c=1;c<this._cyclesOfRepetition;c++){for(let l=0;l<16;++l)a[l]=i[a[l]];s=a[1],a[1]=a[5],a[5]=a[9],a[9]=a[13],a[13]=s,s=a[2],o=a[6],a[2]=a[10],a[6]=a[14],a[10]=s,a[14]=o,s=a[3],o=a[7],r=a[11],a[3]=a[15],a[7]=s,a[11]=o,a[15]=r;for(let l=0;l<16;l+=4){let d=a[l+0],h=a[l+1],u=a[l+2],p=a[l+3];r=d^h^u^p,a[l+0]^=r^this._mixCol[d^h],a[l+1]^=r^this._mixCol[h^u],a[l+2]^=r^this._mixCol[u^p],a[l+3]^=r^this._mixCol[p^d]}for(let l=0,d=c*16;l<16;++l,++d)a[l]^=t[d]}for(let c=0;c<16;++c)a[c]=i[a[c]];s=a[1],a[1]=a[5],a[5]=a[9],a[9]=a[13],a[13]=s,s=a[2],o=a[6],a[2]=a[10],a[6]=a[14],a[10]=s,a[14]=o,s=a[3],o=a[7],r=a[11],a[3]=a[15],a[7]=s,a[11]=o,a[15]=r;for(let c=0,l=this._keySize;c<16;++c,++l)a[c]^=t[l];return a}_decryptBlock2(e,t){let i=e.length,r=this.buffer,o=this.bufferPosition,s=[],a=this.iv;for(let d=0;d<i;++d){if(r[o]=e[d],++o,o<16)continue;let h=this._decrypt(r,this._key);for(let u=0;u<16;++u)h[u]^=a[u];a=r,s.push(h),r=new Uint8Array(16),o=0}if(this.buffer=r,this.bufferLength=o,this.iv=a,s.length===0)return new Uint8Array(0);let c=16*s.length;if(t){let d=s[s.length-1],h=d[15];if(h<=16){for(let u=15,p=16-h;u>=p;--u)if(d[u]!==h){h=0;break}c-=h,s[s.length-1]=d.subarray(0,16-h)}}let l=new Uint8Array(c);for(let d=0,h=0,u=s.length;d<u;++d,h+=16)l.set(s[d],h);return l}decryptBlock(e,t,i){let r=e.length,o=this.buffer,s=this.bufferPosition;if(i)this.iv=i;else{for(let a=0;s<16&&a<r;++a,++s)o[s]=e[a];if(s<16)return this.bufferLength=s,new Uint8Array(0);this.iv=o,e=e.subarray(16)}return this.buffer=new Uint8Array(16),this.bufferLength=0,this.decryptBlock=this._decryptBlock2,this.decryptBlock(e,t)}encrypt(e,t){let i=e.length,r=this.buffer,o=this.bufferPosition,s=[];t||(t=new Uint8Array(16));for(let l=0;l<i;++l){if(r[o]=e[l],++o,o<16)continue;for(let h=0;h<16;++h)r[h]^=t[h];let d=this._encrypt(r,this._key);t=d,s.push(d),r=new Uint8Array(16),o=0}if(this.buffer=r,this.bufferLength=o,this.iv=t,s.length===0)return new Uint8Array(0);let a=16*s.length,c=new Uint8Array(a);for(let l=0,d=0,h=s.length;l<h;++l,d+=16)c.set(s[l],d);return c}},ou=class extends Bc{constructor(e){super(),this._cyclesOfRepetition=10,this._keySize=160,this._rcon=new Uint8Array([141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141]),this._key=this._expandKey(e)}_expandKey(e){let i=this._s,r=this._rcon,o=new Uint8Array(176);o.set(e);for(let s=16,a=1;s<176;++a){let c=o[s-3],l=o[s-2],d=o[s-1],h=o[s-4];c=i[c],l=i[l],d=i[d],h=i[h],c^=r[a];for(let u=0;u<4;++u)o[s]=c^=o[s-16],s++,o[s]=l^=o[s-16],s++,o[s]=d^=o[s-16],s++,o[s]=h^=o[s-16],s++}return o}},Zo=class extends Bc{constructor(e){super(),this._cyclesOfRepetition=14,this._keySize=224,this._key=this._expandKey(e)}_expandKey(e){let i=this._s,r=new Uint8Array(240);r.set(e);let o=1,s=0,a=0,c=0,l=0;for(let d=32,h=1;d<240;++h){d%32===16?(s=i[s],a=i[a],c=i[c],l=i[l]):d%32===0&&(s=r[d-3],a=r[d-2],c=r[d-1],l=r[d-4],s=i[s],a=i[a],c=i[c],l=i[l],s^=o,(o<<=1)>=256&&(o=(o^27)&255));for(let u=0;u<4;++u)r[d]=s^=r[d-32],d++,r[d]=a^=r[d-32],d++,r[d]=c^=r[d-32],d++,r[d]=l^=r[d-32],d++}return r}},Jp=class{checkOwnerPassword(e,t,i,r){let o=new Uint8Array(e.length+56);o.set(e,0),o.set(t,e.length),o.set(i,e.length+t.length);let s=ua(o,0,o.length);return cs(s,r)}checkUserPassword(e,t,i){let r=new Uint8Array(e.length+8);r.set(e,0),r.set(t,e.length);let o=ua(r,0,r.length);return cs(o,i)}getOwnerKey(e,t,i,r){let o=new Uint8Array(e.length+56);o.set(e,0),o.set(t,e.length),o.set(i,e.length+t.length);let s=ua(o,0,o.length);return new Zo(s).decryptBlock(r,!1,new Uint8Array(16))}getUserKey(e,t,i){let r=new Uint8Array(e.length+8);r.set(e,0),r.set(t,e.length);let o=ua(r,0,r.length);return new Zo(o).decryptBlock(i,!1,new Uint8Array(16))}},_p=class{calculatePDF20Hash(e,t,i){let r=ua(t,0,t.length).subarray(0,32),o=new Uint8Array([0]),s=0;for(;s<64||o[o.length-1]>s-32;){let a=e.length+r.length+i.length,c=new Uint8Array(a),l=0;c.set(e,l),l+=e.length,c.set(r,l),l+=r.length,c.set(i,l);let d=new Uint8Array(a*64);for(let p=0,f=0;p<64;p++,f+=a)d.set(c,f);o=new ou(r.subarray(0,16)).encrypt(d,r.subarray(16,32));let u=o.slice(0,16).reduce((p,f)=>p+f,0)%3;u===0?r=ua(o,0,o.length):u===1?r=Gk(o,0,o.length):u===2&&(r=xw(o,0,o.length)),s++}return r.subarray(0,32)}hash(e,t,i){return this.calculatePDF20Hash(e,t,i)}checkOwnerPassword(e,t,i,r){let o=new Uint8Array(e.length+56);o.set(e,0),o.set(t,e.length),o.set(i,e.length+t.length);let s=this.calculatePDF20Hash(e,o,i);return cs(s,r)}checkUserPassword(e,t,i){let r=new Uint8Array(e.length+8);r.set(e,0),r.set(t,e.length);let o=this.calculatePDF20Hash(e,r,new Uint8Array);return cs(o,i)}getOwnerKey(e,t,i,r){let o=new Uint8Array(e.length+56);o.set(e,0),o.set(t,e.length),o.set(i,e.length+t.length);let s=this.calculatePDF20Hash(e,o,i);return new Zo(s).decryptBlock(r,!1,new Uint8Array(16))}getUserKey(e,t,i){let r=new Uint8Array(e.length+8);r.set(e,0),r.set(t,e.length);let o=this.calculatePDF20Hash(e,r,new Uint8Array);return new Zo(o).decryptBlock(i,!1,new Uint8Array(16))}},su=class{constructor(e,t){this.StringCipherConstructor=e,this.StreamCipherConstructor=t}createStream(e,t){let i=this.StreamCipherConstructor();return new mw(e,function(o,s){return i.decryptBlock(o,s)},t)}decryptString(e){let t=this.StringCipherConstructor(),i=as(e);return i=t.decryptBlock(i,!0),xn(i)}decryptBytes(e){return this.StringCipherConstructor().decryptBlock(e,!0)}encryptString(e){let t=this.StringCipherConstructor();if(t instanceof Bc){let o=16-e.length%16;e+=String.fromCharCode(o).repeat(o);let s=new Uint8Array(16);if(typeof crypto!="undefined")crypto.getRandomValues(s);else for(let l=0;l<16;l++)s[l]=Math.floor(256*Math.random());let a=as(e);a=t.encrypt(a,s);let c=new Uint8Array(16+a.length);return c.set(s),c.set(a,16),xn(c)}let i=as(e);return i=t.encrypt(i),xn(i)}},au=class{constructor(e,t,i){var r,o;this.defaultPasswordBytes=new Uint8Array([40,191,78,94,78,117,138,65,100,0,78,86,255,250,1,8,46,46,0,182,208,104,62,128,47,12,169,254,100,83,105,122]),this.identityName=w.of("Identity");let s=e.get(w.of("Filter"));if(s.asString()!=="/Standard")throw new Error("unknown encryption method");this.filterName=s.asString(),this.dict=e;let a=e.get(w.of("V")).asNumber();if(!Number.isInteger(a)||a!==1&&a!==2&&a!==4&&a!==5)throw new Error("unsupported encryption algorithm");this.algorithm=a;let c=(r=e.get(w.of("Length")))===null||r===void 0?void 0:r.asNumber();if(!c)if(a<=3)c=40;else{let b=e.get(w.of("CF")),v=e.get(w.of("StmF"));if(b instanceof G&&v instanceof w){b.suppressEncryption=!0;let y=b.get(w.of(v.asString())),F=null;y&&(F=y.get(w.of("Length"))),c=F&&F.asNumber()||128,c<40&&(c<<=3)}}if(c===void 0||!Number.isInteger(c)||c<40||c%8!==0)throw new Error(`invalid key length: ${c}`);let l=e.get(w.of("O")).asBytes(),d=e.get(w.of("U")).asBytes(),h=l.subarray(0,32),u=d.subarray(0,32),p=e.get(w.of("P")).asNumber(),f=e.get(w.of("R")).asNumber(),m=(a===4||a===5)&&((o=e.get(w.of("EncryptMetadata")))===null||o===void 0?void 0:o.asBoolean())!==!1;this.encryptMetadata=m;let x;if(i){if(f===6)try{i=unescape(encodeURIComponent(i))}catch(b){console.warn("CipherTransformFactory: Unable to convert UTF8 encoded password.")}x=as(i)}let g;if(a!==5)g=this.prepareKeyData(t,x,h,u,p,f,c,m);else{let b=l.subarray(32,40),v=l.subarray(40,48),y=d.subarray(0,48),F=d.subarray(32,40),D=d.subarray(40,48),C=e.get(w.of("OE")).asBytes(),k=e.get(w.of("UE")).asBytes(),E=e.get(w.of("Perms")).asBytes();g=this.createEncryptionKey20(f,x,h,b,v,y,u,F,D,C,k,E)}if(!g&&!i)throw new Error("NEEDS PASSWORD");if(!g&&i){let b=this.decodeUserPassword(x,h,f,c);g=this.prepareKeyData(t,b,h,u,p,f,c,m)}if(!g)throw new Error("Password incorrect");if(this.encryptionKey=g,a>=4){let b=e.get(w.of("CF"));b instanceof G&&(b.suppressEncryption=!0),this.cf=b,this.stmf=e.get(w.of("StmF"))||this.identityName,this.strf=e.get(w.of("StrF"))||this.identityName,this.eff=e.get(w.of("EFF"))||this.stmf}}createCipherTransform(e,t){if(this.algorithm===4||this.algorithm===5)return new su(this.buildCipherConstructor(this.cf,this.strf,e,t,this.encryptionKey),this.buildCipherConstructor(this.cf,this.stmf,e,t,this.encryptionKey));let i=this.buildObjectKey(e,t,this.encryptionKey,!1),r=function(){return new qn(i)};return new su(r,r)}createEncryptionKey20(e,t,i,r,o,s,a,c,l,d,h,u){if(t){let f=Math.min(127,t.length);t=t.subarray(0,f)}else t=new Uint8Array;let p;return e===6?p=new _p:p=new Jp,p.checkUserPassword(t,c,a)?p.getUserKey(t,l,h):t.length&&p.checkOwnerPassword(t,r,s,i)?p.getOwnerKey(t,o,s,d):null}prepareKeyData(e,t,i,r,o,s,a,c){let l=40+i.length+e.length,d=new Uint8Array(l),h=0,u,p;if(t)for(p=Math.min(32,t.length);h<p;++h)d[h]=t[h];for(u=0;h<32;)d[h++]=this.defaultPasswordBytes[u++];for(u=0,p=i.length;u<p;++u)d[h++]=i[u];for(d[h++]=o&255,d[h++]=o>>8&255,d[h++]=o>>16&255,d[h++]=o>>>24&255,u=0,p=e.length;u<p;++u)d[h++]=e[u];s>=4&&!c&&(d[h++]=255,d[h++]=255,d[h++]=255,d[h++]=255);let f=ha(d,0,h),m=a>>3;if(s>=3)for(u=0;u<50;++u)f=ha(f,0,m);let x=f.subarray(0,m),g,b;if(s>=3){for(h=0;h<32;++h)d[h]=this.defaultPasswordBytes[h];for(u=0,p=e.length;u<p;++u)d[h++]=e[u];g=new qn(x),b=g.encryptBlock(ha(d,0,h)),p=x.length;let v=new Uint8Array(p);for(u=1;u<=19;++u){for(let y=0;y<p;++y)v[y]=x[y]^u;g=new qn(v),b=g.encryptBlock(b)}for(u=0,p=b.length;u<p;++u)if(r[u]!==b[u])return null}else for(g=new qn(x),b=g.encryptBlock(this.defaultPasswordBytes),u=0,p=b.length;u<p;++u)if(r[u]!==b[u])return null;return x}decodeUserPassword(e,t,i,r){let o=new Uint8Array(32),s=0,a=Math.min(32,e.length);for(;s<a;++s)o[s]=e[s];let c=0;for(;s<32;)o[s++]=this.defaultPasswordBytes[c++];let l=ha(o,0,s),d=r>>3;if(i>=3)for(c=0;c<50;++c)l=ha(l,0,l.length);let h,u;if(i>=3){u=t;let p=new Uint8Array(d);for(c=19;c>=0;c--){for(let f=0;f<d;++f)p[f]=l[f]^c;h=new qn(p),u=h.encryptBlock(u)}}else h=new qn(l.subarray(0,d)),u=h.encryptBlock(t);return u}buildObjectKey(e,t,i,r=!1){let o=new Uint8Array(i.length+9),s=i.length,a;for(a=0;a<s;++a)o[a]=i[a];return o[a++]=e&255,o[a++]=e>>8&255,o[a++]=e>>16&255,o[a++]=t&255,o[a++]=t>>8&255,r&&(o[a++]=115,o[a++]=65,o[a++]=108,o[a++]=84),ha(o,0,a).subarray(0,Math.min(i.length+5,16))}buildCipherConstructor(e,t,i,r,o){if(!(t instanceof w))throw new Error("Invalid crypt filter name.");let s=e.get(w.of(t.asString().replace("/",""))),a;if(s!=null&&(a=s.get(w.of("CFM"))),!a||a.asString()==="/None")return function(){return new Yp};if(a.asString()==="/V2")return()=>new qn(this.buildObjectKey(i,r,o,!1));if(a.asString()==="/AESV2")return()=>new ou(this.buildObjectKey(i,r,o,!0));if(a.asString()==="/AESV3")return()=>new Zo(o);throw new Error("Unknown crypto method")}};var je=class n{static async load(e,t={}){let{ignoreEncryption:i=!1,parseSpeed:r=Ic.Slow,throwOnInvalidObject:o=!1,warnOnInvalidObjects:s=!1,updateMetadata:a=!0,capNumbers:c=!1,password:l}=t;T(e,"pdf",["string",Uint8Array,ArrayBuffer]),T(i,"ignoreEncryption",["boolean"]),T(r,"parseSpeed",["number"]),T(o,"throwOnInvalidObject",["boolean"]),T(s,"warnOnInvalidObjects",["boolean"]),T(l,"password",["string","undefined"]);let d=_r(e),h=await nc.forBytesWithOptions(d,r,o,c).parseDocument();if(h.lookup(h.trailerInfo.Encrypt)&&l!==void 0){let u=h.lookup(h.trailerInfo.ID,X),p=h.lookup(h.trailerInfo.Encrypt,G),f=await nc.forBytesWithOptions(d,r,o,s,c,new au(p,u.get(0).asBytes(),l)).parseDocument();return new n(f,!0,a)}else return new n(h,i,a)}static async create(e={}){let{updateMetadata:t=!0}=e,i=uo.create(),r=wr.withContext(i),o=i.register(r),s=vr.withContextAndPages(i,o);return i.trailerInfo.Root=i.register(s),new n(i,!1,t)}constructor(e,t,i){if(this.defaultWordBreaks=[" "],this.computePages=()=>{let r=[];return this.catalog.Pages().traverse((o,s)=>{if(o instanceof Qe){let a=this.pageMap.get(o);a||(a=Ie.of(o,s,this),this.pageMap.set(o,a)),r.push(a)}}),r},this.getOrCreateForm=()=>{let r=this.catalog.getOrCreateAcroForm();return zn.of(r,this)},T(e,"context",[[uo,"PDFContext"]]),T(t,"ignoreEncryption",["boolean"]),this.context=e,this.catalog=e.lookup(e.trailerInfo.Root),e.lookup(e.trailerInfo.Encrypt)&&e.isDecrypted&&delete e.trailerInfo.Encrypt,this.isEncrypted=!!e.lookup(e.trailerInfo.Encrypt),this.pageCache=ht.populatedBy(this.computePages),this.pageMap=new Map,this.formCache=ht.populatedBy(this.getOrCreateForm),this.fonts=[],this.images=[],this.embeddedPages=[],this.embeddedFiles=[],this.javaScripts=[],!t&&this.isEncrypted)throw new jo;i&&this.updateInfoDict()}registerFontkit(e){this.fontkit=e}getForm(){let e=this.formCache.access();return e.hasXFA()&&(console.warn("Removing XFA form data as pdf-lib does not support reading or writing XFA"),e.deleteXFA()),e}getTitle(){let e=this.getInfoDict().lookup(w.Title);if(e)return Wn(e),e.decodeText()}getAuthor(){let e=this.getInfoDict().lookup(w.Author);if(e)return Wn(e),e.decodeText()}getSubject(){let e=this.getInfoDict().lookup(w.Subject);if(e)return Wn(e),e.decodeText()}getKeywords(){let e=this.getInfoDict().lookup(w.Keywords);if(e)return Wn(e),e.decodeText()}getCreator(){let e=this.getInfoDict().lookup(w.Creator);if(e)return Wn(e),e.decodeText()}getProducer(){let e=this.getInfoDict().lookup(w.Producer);if(e)return Wn(e),e.decodeText()}getLanguage(){let e=this.catalog.get(w.of("Lang"));if(e)return Wn(e),e.decodeText()}getCreationDate(){let e=this.getInfoDict().lookup(w.CreationDate);if(e)return Wn(e),e.decodeDate()}getModificationDate(){let e=this.getInfoDict().lookup(w.ModDate);if(e)return Wn(e),e.decodeDate()}setTitle(e,t){T(e,"title",["string"]);let i=w.of("Title");this.getInfoDict().set(i,j.fromText(e)),t!=null&&t.showInWindowTitleBar&&this.catalog.getOrCreateViewerPreferences().setDisplayDocTitle(!0)}setAuthor(e){T(e,"author",["string"]);let t=w.of("Author");this.getInfoDict().set(t,j.fromText(e))}setSubject(e){T(e,"author",["string"]);let t=w.of("Subject");this.getInfoDict().set(t,j.fromText(e))}setKeywords(e){T(e,"keywords",[Array]);let t=w.of("Keywords");this.getInfoDict().set(t,j.fromText(e.join(" ")))}setCreator(e){T(e,"creator",["string"]);let t=w.of("Creator");this.getInfoDict().set(t,j.fromText(e))}setProducer(e){T(e,"creator",["string"]);let t=w.of("Producer");this.getInfoDict().set(t,j.fromText(e))}setLanguage(e){T(e,"language",["string"]);let t=w.of("Lang");this.catalog.set(t,ee.of(e))}setCreationDate(e){T(e,"creationDate",[[Date,"Date"]]);let t=w.of("CreationDate");this.getInfoDict().set(t,ee.fromDate(e))}setModificationDate(e){T(e,"modificationDate",[[Date,"Date"]]);let t=w.of("ModDate");this.getInfoDict().set(t,ee.fromDate(e))}getPageCount(){return this.pageCount===void 0&&(this.pageCount=this.getPages().length),this.pageCount}getPages(){return this.pageCache.access()}getPage(e){let t=this.getPages();return xt(e,"index",0,t.length-1),t[e]}getPageIndices(){return L0(0,this.getPageCount())}removePage(e){let t=this.getPageCount();if(this.pageCount===0)throw new Pc;xt(e,"index",0,t-1),this.catalog.removeLeafNode(e),this.pageCount=t-1}addPage(e){return T(e,"page",["undefined",[Ie,"PDFPage"],Array]),this.insertPage(this.getPageCount(),e)}insertPage(e,t){let i=this.getPageCount();if(xt(e,"index",0,i),T(t,"page",["undefined",[Ie,"PDFPage"],Array]),!t||Array.isArray(t)){let o=Array.isArray(t)?t:Go.A4;t=Ie.create(this),t.setSize(...o)}else if(t.doc!==this)throw new Dc;let r=this.catalog.insertLeafNode(t.ref,e);return t.node.setParent(r),this.pageMap.set(t.node,t),this.pageCache.invalidate(),this.pageCount=i+1,t}async copyPages(e,t){T(e,"srcDoc",[[n,"PDFDocument"]]),T(t,"indices",[Array]),await e.flush();let i=Nl.for(e.context,this.context),r=e.getPages(),o=t.map(s=>r[s]).map(async s=>i.copy(s.node)).map(s=>s.then(a=>Ie.of(a,this.context.register(a),this)));return Promise.all(o)}async copy(){let e=await n.create(),t=await e.copyPages(this,this.getPageIndices());for(let i=0,r=t.length;i<r;i++)e.addPage(t[i]);return this.getAuthor()!==void 0&&e.setAuthor(this.getAuthor()),this.getCreationDate()!==void 0&&e.setCreationDate(this.getCreationDate()),this.getCreator()!==void 0&&e.setCreator(this.getCreator()),this.getLanguage()!==void 0&&e.setLanguage(this.getLanguage()),this.getModificationDate()!==void 0&&e.setModificationDate(this.getModificationDate()),this.getProducer()!==void 0&&e.setProducer(this.getProducer()),this.getSubject()!==void 0&&e.setSubject(this.getSubject()),this.getTitle()!==void 0&&e.setTitle(this.getTitle()),e.defaultWordBreaks=this.defaultWordBreaks,e}addJavaScript(e,t){T(e,"name",["string"]),T(t,"script",["string"]);let i=pw.for(t,e),r=this.context.nextRef(),o=Un.of(r,this,i);this.javaScripts.push(o)}async attach(e,t,i={}){T(e,"attachment",["string",Uint8Array,ArrayBuffer]),T(t,"name",["string"]),V(i.mimeType,"mimeType",["string"]),V(i.description,"description",["string"]),V(i.creationDate,"options.creationDate",[Date]),V(i.modificationDate,"options.modificationDate",[Date]),mt(i.afRelationship,"options.afRelationship",Ms);let r=_r(e),o=Ud.for(r,t,i),s=this.context.nextRef(),a=Xo.of(s,this,o);this.embeddedFiles.push(a)}async embedFont(e,t={}){let{subset:i=!1,customName:r,features:o}=t;T(e,"font",["string",Uint8Array,ArrayBuffer]),T(i,"subset",["boolean"]);let s;if(Ad(e))s=Dr.for(e,r);else if(M0(e)){let l=_r(e),d=this.assertFontkit();s=i?await zd.for(d,l,r,o):await Pr.for(d,l,r,o)}else throw new TypeError("`font` must be one of `StandardFonts | string | Uint8Array | ArrayBuffer`");let a=this.context.nextRef(),c=Oe.of(a,this,s);return this.fonts.push(c),c}embedStandardFont(e,t){if(T(e,"font",["string"]),!Ad(e))throw new TypeError("`font` must be one of type `StandardFonts`");let i=Dr.for(e,t),r=this.context.nextRef(),o=Oe.of(r,this,i);return this.fonts.push(o),o}async embedJpg(e){T(e,"jpg",["string",Uint8Array,ArrayBuffer]);let t=_r(e),i=await Rs.for(t),r=this.context.nextRef(),o=xi.of(r,this,i);return this.images.push(o),o}async embedPng(e){T(e,"png",["string",Uint8Array,ArrayBuffer]);let t=_r(e),i=await Hs.for(t),r=this.context.nextRef(),o=xi.of(r,this,i);return this.images.push(o),o}async embedSvg(e){if(!e)return new ui(e);let t=(0,lu.parse)(e),i=s=>s.tagName==="image"?[s]:s.childNodes.map(a=>a.nodeType===lu.NodeType.ELEMENT_NODE?i(a):[]).flat(),r=i(t),o={};return await Promise.all(r.map(async s=>{var a;let c=(a=s.attributes.href)!==null&&a!==void 0?a:s.attributes["xlink:href"];if(!c||o[c])return;let d=c.match(/\.png(\?|$)|^data:image\/png;base64/gim)?await this.embedPng(c):await this.embedJpg(c);o[c]=d})),new ui(e,o)}async embedPdf(e,t=[0]){T(e,"pdf",["string",Uint8Array,ArrayBuffer,[n,"PDFDocument"]]),T(t,"indices",[Array]);let i=e instanceof n?e:await n.load(e),r=O0(i.getPages(),t);return this.embedPages(r)}async embedPage(e,t,i){T(e,"page",[[Ie,"PDFPage"]]);let[r]=await this.embedPages([e],[t],[i]);return r}async embedPages(e,t=[],i=[]){if(e.length===0)return[];for(let a=0,c=e.length-1;a<c;a++){let l=e[a],d=e[a+1];if(l.node.context!==d.node.context)throw new pl}let r=e[0].node.context,o=r===this.context?a=>a:Nl.for(r,this.context).copy,s=new Array(e.length);for(let a=0,c=e.length;a<c;a++){let l=o(e[a].node),d=t[a],h=i[a],u=await Us.for(l,d,h),p=this.context.nextRef();s[a]=zi.of(p,this,u)}return this.embeddedPages.push(...s),s}encrypt(e){this.context.security=Bh.create(this.context,e).encrypt()}async flush(){await this.embedAll(this.fonts),await this.embedAll(this.images),await this.embedAll(this.embeddedPages),await this.embedAll(this.embeddedFiles),await this.embedAll(this.javaScripts)}async save(e={}){let{useObjectStreams:t=!0,addDefaultPage:i=!0,objectsPerTick:r=50,updateFieldAppearances:o=!0}=e;if(T(t,"useObjectStreams",["boolean"]),T(i,"addDefaultPage",["boolean"]),T(r,"objectsPerTick",["number"]),T(o,"updateFieldAppearances",["boolean"]),i&&this.getPageCount()===0&&this.addPage(),o){let a=this.formCache.getValue();a&&a.updateFieldAppearances()}return await this.flush(),(t?Vd:Es).forContext(this.context,r).serializeToBuffer()}async saveAsBase64(e={}){let{dataUri:t=!1,...i}=e;T(t,"dataUri",["boolean"]);let r=await this.save(i),o=F0(r);return t?`data:application/pdf;base64,${o}`:o}findPageForAnnotationRef(e){let t=this.getPages();for(let i=0,r=t.length;i<r;i++){let o=t[i],s=o.node.Annots();if((s==null?void 0:s.indexOf(e))!==void 0)return o}}async embedAll(e){for(let t=0,i=e.length;t<i;t++)await e[t].embed()}updateInfoDict(){let e="pdf-lib (https://github.com/Hopding/pdf-lib)",t=new Date,i=this.getInfoDict();this.setProducer(e),this.setModificationDate(t),i.get(w.of("Creator"))||this.setCreator(e),i.get(w.of("CreationDate"))||this.setCreationDate(t)}getInfoDict(){let e=this.context.lookup(this.context.trailerInfo.Info);if(e instanceof G)return e;let t=this.context.obj({});return this.context.trailerInfo.Info=this.context.register(t),t}assertFontkit(){if(!this.fontkit)throw new Fc;return this.fontkit}};function Wn(n){if(!(n instanceof j)&&!(n instanceof ee))throw new $i([j,ee],n)}var Ie=class{constructor(e,t,i){this.fontSize=24,this.fontColor=fe(0,0,0),this.lineHeight=24,this.x=0,this.y=0,T(e,"leafNode",[[Qe,"PDFPageLeaf"]]),T(t,"ref",[[Y,"PDFRef"]]),T(i,"doc",[[je,"PDFDocument"]]),this.node=e,this.ref=t,this.doc=i}setRotation(e){let t=Nn(e);ll(t,"degreesAngle",90),this.node.set(w.of("Rotate"),this.doc.context.obj(t))}getRotation(){let e=this.node.Rotate();return $(e?e.asNumber():0)}setSize(e,t){T(e,"width",["number"]),T(t,"height",["number"]);let i=this.getMediaBox();this.setMediaBox(i.x,i.y,e,t);let r=this.getCropBox(),o=this.getBleedBox(),s=this.getTrimBox(),a=this.getArtBox(),c=this.node.CropBox(),l=this.node.BleedBox(),d=this.node.TrimBox(),h=this.node.ArtBox();c&&Fs(r,i)&&this.setCropBox(i.x,i.y,e,t),l&&Fs(o,i)&&this.setBleedBox(i.x,i.y,e,t),d&&Fs(s,i)&&this.setTrimBox(i.x,i.y,e,t),h&&Fs(a,i)&&this.setArtBox(i.x,i.y,e,t)}setWidth(e){T(e,"width",["number"]),this.setSize(e,this.getSize().height)}setHeight(e){T(e,"height",["number"]),this.setSize(this.getSize().width,e)}setMediaBox(e,t,i,r){T(e,"x",["number"]),T(t,"y",["number"]),T(i,"width",["number"]),T(r,"height",["number"]);let o=this.doc.context.obj([e,t,e+i,t+r]);this.node.set(w.MediaBox,o)}setCropBox(e,t,i,r){T(e,"x",["number"]),T(t,"y",["number"]),T(i,"width",["number"]),T(r,"height",["number"]);let o=this.doc.context.obj([e,t,e+i,t+r]);this.node.set(w.CropBox,o)}setBleedBox(e,t,i,r){T(e,"x",["number"]),T(t,"y",["number"]),T(i,"width",["number"]),T(r,"height",["number"]);let o=this.doc.context.obj([e,t,e+i,t+r]);this.node.set(w.BleedBox,o)}setTrimBox(e,t,i,r){T(e,"x",["number"]),T(t,"y",["number"]),T(i,"width",["number"]),T(r,"height",["number"]);let o=this.doc.context.obj([e,t,e+i,t+r]);this.node.set(w.TrimBox,o)}setArtBox(e,t,i,r){T(e,"x",["number"]),T(t,"y",["number"]),T(i,"width",["number"]),T(r,"height",["number"]);let o=this.doc.context.obj([e,t,e+i,t+r]);this.node.set(w.ArtBox,o)}getSize(){let{width:e,height:t}=this.getMediaBox();return{width:e,height:t}}getWidth(){return this.getSize().width}getHeight(){return this.getSize().height}getMediaBox(){return this.node.MediaBox().asRectangle()}getCropBox(){var e;let t=this.node.CropBox();return(e=t==null?void 0:t.asRectangle())!==null&&e!==void 0?e:this.getMediaBox()}getBleedBox(){var e;let t=this.node.BleedBox();return(e=t==null?void 0:t.asRectangle())!==null&&e!==void 0?e:this.getCropBox()}getTrimBox(){var e;let t=this.node.TrimBox();return(e=t==null?void 0:t.asRectangle())!==null&&e!==void 0?e:this.getCropBox()}getArtBox(){var e;let t=this.node.ArtBox();return(e=t==null?void 0:t.asRectangle())!==null&&e!==void 0?e:this.getCropBox()}translateContent(e,t){T(e,"x",["number"]),T(t,"y",["number"]),this.node.normalize(),this.getContentStream();let i=this.createContentStream(ze(),Tt(e,t)),r=this.doc.context.register(i),o=this.createContentStream(Ue()),s=this.doc.context.register(o);this.node.wrapContentStreams(r,s)}scale(e,t){T(e,"x",["number"]),T(t,"y",["number"]),this.setSize(this.getWidth()*e,this.getHeight()*t),this.scaleContent(e,t),this.scaleAnnotations(e,t)}scaleContent(e,t){T(e,"x",["number"]),T(t,"y",["number"]),this.node.normalize(),this.getContentStream();let i=this.createContentStream(ze(),Er(e,t)),r=this.doc.context.register(i),o=this.createContentStream(Ue()),s=this.doc.context.register(o);this.node.wrapContentStreams(r,s)}scaleAnnotations(e,t){T(e,"x",["number"]),T(t,"y",["number"]);let i=this.node.Annots();if(i)for(let r=0;r<i.size();r++){let o=i.lookup(r);o instanceof G&&this.scaleAnnot(o,e,t)}}resetPosition(){this.getContentStream(!1),this.x=0,this.y=0}setFont(e){T(e,"font",[[Oe,"PDFFont"]]),this.font=e,this.fontKey=this.node.newFontDictionary(this.font.name,this.font.ref)}setFontSize(e){T(e,"fontSize",["number"]),this.fontSize=e}setFontColor(e){T(e,"fontColor",[[Object,"Color"]]),this.fontColor=e}setLineHeight(e){T(e,"lineHeight",["number"]),this.lineHeight=e}getPosition(){return{x:this.x,y:this.y}}getX(){return this.x}getY(){return this.y}moveTo(e,t){T(e,"x",["number"]),T(t,"y",["number"]),this.x=e,this.y=t}moveDown(e){T(e,"yDecrease",["number"]),this.y-=e}moveUp(e){T(e,"yIncrease",["number"]),this.y+=e}moveLeft(e){T(e,"xDecrease",["number"]),this.x-=e}moveRight(e){T(e,"xIncrease",["number"]),this.x+=e}pushOperators(...e){al(e,"operator",[[ae,"PDFOperator"]]),this.getContentStream().push(...e)}drawText(e,t={}){var i,r,o,s,a,c,l;T(e,"text",["string"]),V(t.color,"options.color",[[Object,"Color"]]),Vt(t.opacity,"opacity.opacity",0,1),V(t.font,"options.font",[[Oe,"PDFFont"]]),V(t.size,"options.size",["number"]),V(t.rotate,"options.rotate",[[Object,"Rotation"]]),V(t.xSkew,"options.xSkew",[[Object,"Rotation"]]),V(t.ySkew,"options.ySkew",[[Object,"Rotation"]]),V(t.x,"options.x",["number"]),V(t.y,"options.y",["number"]),V(t.lineHeight,"options.lineHeight",["number"]),V(t.maxWidth,"options.maxWidth",["number"]),V(t.wordBreaks,"options.wordBreaks",[Array]),mt(t.blendMode,"options.blendMode",Ne),V(t.strokeColor,"options.strokeColor",[[Object,"Color"]]),V(t.strokeWidth,"options.strokeWidth",["number"]),V(t.renderMode,"options.renderMode",["number"]);let{oldFont:d,newFont:h,newFontKey:u}=this.setOrEmbedFont(t.font),p=t.size||this.fontSize,f=t.wordBreaks||this.doc.defaultWordBreaks,m=y=>h.widthOfTextAtSize(y,p),x=t.maxWidth===void 0?Ma(nr(e)):S0(e,f,t.maxWidth,m),g=new Array(x.length);for(let y=0,F=x.length;y<F;y++)g[y]=h.encodeText(x[y]);let b=this.maybeEmbedGraphicsState({opacity:t.opacity,blendMode:t.blendMode});this.getContentStream().push(...Op(g,{color:(i=t.color)!==null&&i!==void 0?i:this.fontColor,font:u,size:p,rotate:(r=t.rotate)!==null&&r!==void 0?r:$(0),xSkew:(o=t.xSkew)!==null&&o!==void 0?o:$(0),ySkew:(s=t.ySkew)!==null&&s!==void 0?s:$(0),x:(a=t.x)!==null&&a!==void 0?a:this.x,y:(c=t.y)!==null&&c!==void 0?c:this.y,lineHeight:(l=t.lineHeight)!==null&&l!==void 0?l:this.lineHeight,graphicsState:b,matrix:t.matrix,clipSpaces:t.clipSpaces,strokeColor:t.strokeColor,strokeWidth:t.strokeWidth,renderMode:t.renderMode})),t.font&&(d?this.setFont(d):this.resetFont())}drawImage(e,t={}){var i,r,o,s,a,c,l;T(e,"image",[[xi,"PDFImage"]]),V(t.x,"options.x",["number"]),V(t.y,"options.y",["number"]),V(t.width,"options.width",["number"]),V(t.height,"options.height",["number"]),V(t.rotate,"options.rotate",[[Object,"Rotation"]]),V(t.xSkew,"options.xSkew",[[Object,"Rotation"]]),V(t.ySkew,"options.ySkew",[[Object,"Rotation"]]),Vt(t.opacity,"opacity.opacity",0,1),mt(t.blendMode,"options.blendMode",Ne);let d=this.node.newXObject("Image",e.ref),h=this.maybeEmbedGraphicsState({opacity:t.opacity,blendMode:t.blendMode});this.getContentStream().push(...wc(d,{x:(i=t.x)!==null&&i!==void 0?i:this.x,y:(r=t.y)!==null&&r!==void 0?r:this.y,width:(o=t.width)!==null&&o!==void 0?o:e.size().width,height:(s=t.height)!==null&&s!==void 0?s:e.size().height,rotate:(a=t.rotate)!==null&&a!==void 0?a:$(0),xSkew:(c=t.xSkew)!==null&&c!==void 0?c:$(0),ySkew:(l=t.ySkew)!==null&&l!==void 0?l:$(0),graphicsState:h,matrix:t.matrix,clipSpaces:t.clipSpaces}))}drawPage(e,t={}){var i,r,o,s,a;T(e,"embeddedPage",[[zi,"PDFEmbeddedPage"]]),V(t.x,"options.x",["number"]),V(t.y,"options.y",["number"]),V(t.xScale,"options.xScale",["number"]),V(t.yScale,"options.yScale",["number"]),V(t.width,"options.width",["number"]),V(t.height,"options.height",["number"]),V(t.rotate,"options.rotate",[[Object,"Rotation"]]),V(t.xSkew,"options.xSkew",[[Object,"Rotation"]]),V(t.ySkew,"options.ySkew",[[Object,"Rotation"]]),Vt(t.opacity,"opacity.opacity",0,1),mt(t.blendMode,"options.blendMode",Ne);let c=this.node.newXObject("EmbeddedPdfPage",e.ref),l=this.maybeEmbedGraphicsState({opacity:t.opacity,blendMode:t.blendMode}),d=t.width!==void 0?t.width/e.width:t.xScale!==void 0?t.xScale:1,h=t.height!==void 0?t.height/e.height:t.yScale!==void 0?t.yScale:1;this.getContentStream().push(...Mp(c,{x:(i=t.x)!==null&&i!==void 0?i:this.x,y:(r=t.y)!==null&&r!==void 0?r:this.y,xScale:d,yScale:h,rotate:(o=t.rotate)!==null&&o!==void 0?o:$(0),xSkew:(s=t.xSkew)!==null&&s!==void 0?s:$(0),ySkew:(a=t.ySkew)!==null&&a!==void 0?a:$(0),graphicsState:l}))}drawSvgPath(e,t={}){var i,r,o,s,a,c,l,d,h;T(e,"path",["string"]),V(t.x,"options.x",["number"]),V(t.y,"options.y",["number"]),V(t.scale,"options.scale",["number"]),V(t.rotate,"options.rotate",[[Object,"Rotation"]]),V(t.borderWidth,"options.borderWidth",["number"]),V(t.color,"options.color",[[Object,"Color"]]),Vt(t.opacity,"opacity.opacity",0,1),V(t.borderColor,"options.borderColor",[[Object,"Color"]]),V(t.borderDashArray,"options.borderDashArray",[Array]),V(t.borderDashPhase,"options.borderDashPhase",["number"]),mt(t.borderLineCap,"options.borderLineCap",hi),Vt(t.borderOpacity,"options.borderOpacity",0,1),mt(t.blendMode,"options.blendMode",Ne),mt(t.fillRule,"options.fillRule",sn);let u=this.maybeEmbedGraphicsState({opacity:t.opacity,borderOpacity:t.borderOpacity,blendMode:t.blendMode});!("color"in t)&&!("borderColor"in t)&&(t.borderColor=fe(0,0,0)),this.getContentStream().push(...eu(e,{x:(i=t.x)!==null&&i!==void 0?i:this.x,y:(r=t.y)!==null&&r!==void 0?r:this.y,scale:t.scale,rotate:(o=t.rotate)!==null&&o!==void 0?o:$(0),color:(s=t.color)!==null&&s!==void 0?s:void 0,borderColor:(a=t.borderColor)!==null&&a!==void 0?a:void 0,borderWidth:(c=t.borderWidth)!==null&&c!==void 0?c:0,borderDashArray:(l=t.borderDashArray)!==null&&l!==void 0?l:void 0,borderDashPhase:(d=t.borderDashPhase)!==null&&d!==void 0?d:void 0,borderLineCap:(h=t.borderLineCap)!==null&&h!==void 0?h:void 0,graphicsState:u,fillRule:t.fillRule,matrix:t.matrix,clipSpaces:t.clipSpaces}))}drawLine(e){var t,i,r,o,s;T(e.start,"options.start",[[Object,"{ x: number, y: number }"]]),T(e.end,"options.end",[[Object,"{ x: number, y: number }"]]),T(e.start.x,"options.start.x",["number"]),T(e.start.y,"options.start.y",["number"]),T(e.end.x,"options.end.x",["number"]),T(e.end.y,"options.end.y",["number"]),V(e.thickness,"options.thickness",["number"]),V(e.color,"options.color",[[Object,"Color"]]),V(e.dashArray,"options.dashArray",[Array]),V(e.dashPhase,"options.dashPhase",["number"]),mt(e.lineCap,"options.lineCap",hi),Vt(e.opacity,"opacity.opacity",0,1),mt(e.blendMode,"options.blendMode",Ne);let a=this.maybeEmbedGraphicsState({borderOpacity:e.opacity,blendMode:e.blendMode});"color"in e||(e.color=fe(0,0,0)),this.getContentStream().push(...Np({start:e.start,end:e.end,thickness:(t=e.thickness)!==null&&t!==void 0?t:1,color:(i=e.color)!==null&&i!==void 0?i:void 0,dashArray:(r=e.dashArray)!==null&&r!==void 0?r:void 0,dashPhase:(o=e.dashPhase)!==null&&o!==void 0?o:void 0,lineCap:(s=e.lineCap)!==null&&s!==void 0?s:void 0,graphicsState:a,matrix:e.matrix,clipSpaces:e.clipSpaces}))}drawRectangle(e={}){var t,i,r,o,s,a,c,l,d,h,u,p,f,m,x;V(e.x,"options.x",["number"]),V(e.y,"options.y",["number"]),V(e.width,"options.width",["number"]),V(e.height,"options.height",["number"]),V(e.rotate,"options.rotate",[[Object,"Rotation"]]),V(e.xSkew,"options.xSkew",[[Object,"Rotation"]]),V(e.ySkew,"options.ySkew",[[Object,"Rotation"]]),V(e.borderWidth,"options.borderWidth",["number"]),V(e.color,"options.color",[[Object,"Color"]]),Vt(e.opacity,"options.opacity",0,1),V(e.rx,"options.rx",["number"]),V(e.ry,"options.ry",["number"]),V(e.borderColor,"options.borderColor",[[Object,"Color"]]),V(e.borderDashArray,"options.borderDashArray",[Array]),V(e.borderDashPhase,"options.borderDashPhase",["number"]),mt(e.borderLineCap,"options.borderLineCap",hi),Vt(e.borderOpacity,"options.borderOpacity",0,1),mt(e.blendMode,"options.blendMode",Ne);let g=this.maybeEmbedGraphicsState({opacity:e.opacity,borderOpacity:e.borderOpacity,blendMode:e.blendMode});!("color"in e)&&!("borderColor"in e)&&(e.color=fe(0,0,0)),this.getContentStream().push(...Br({x:(t=e.x)!==null&&t!==void 0?t:this.x,y:(i=e.y)!==null&&i!==void 0?i:this.y,width:(r=e.width)!==null&&r!==void 0?r:150,height:(o=e.height)!==null&&o!==void 0?o:100,rotate:(s=e.rotate)!==null&&s!==void 0?s:$(0),xSkew:(a=e.xSkew)!==null&&a!==void 0?a:$(0),ySkew:(c=e.ySkew)!==null&&c!==void 0?c:$(0),borderWidth:(l=e.borderWidth)!==null&&l!==void 0?l:0,color:(d=e.color)!==null&&d!==void 0?d:void 0,rx:(h=e.rx)!==null&&h!==void 0?h:0,ry:(u=e.ry)!==null&&u!==void 0?u:0,borderColor:(p=e.borderColor)!==null&&p!==void 0?p:void 0,borderDashArray:(f=e.borderDashArray)!==null&&f!==void 0?f:void 0,borderDashPhase:(m=e.borderDashPhase)!==null&&m!==void 0?m:void 0,graphicsState:g,borderLineCap:(x=e.borderLineCap)!==null&&x!==void 0?x:void 0,matrix:e.matrix,clipSpaces:e.clipSpaces}))}drawSquare(e={}){let{size:t}=e;V(t,"size",["number"]),this.drawRectangle({...e,width:t,height:t})}drawEllipse(e={}){var t,i,r,o,s,a,c,l,d,h,u;V(e.x,"options.x",["number"]),V(e.y,"options.y",["number"]),V(e.xScale,"options.xScale",["number"]),V(e.yScale,"options.yScale",["number"]),V(e.rotate,"options.rotate",[[Object,"Rotation"]]),V(e.color,"options.color",[[Object,"Color"]]),Vt(e.opacity,"opacity.opacity",0,1),V(e.borderColor,"options.borderColor",[[Object,"Color"]]),Vt(e.borderOpacity,"options.borderOpacity",0,1),V(e.borderWidth,"options.borderWidth",["number"]),V(e.borderDashArray,"options.borderDashArray",[Array]),V(e.borderDashPhase,"options.borderDashPhase",["number"]),mt(e.borderLineCap,"options.borderLineCap",hi),mt(e.blendMode,"options.blendMode",Ne);let p=this.maybeEmbedGraphicsState({opacity:e.opacity,borderOpacity:e.borderOpacity,blendMode:e.blendMode});!("color"in e)&&!("borderColor"in e)&&(e.color=fe(0,0,0)),this.getContentStream().push(...yc({x:(t=e.x)!==null&&t!==void 0?t:this.x,y:(i=e.y)!==null&&i!==void 0?i:this.y,xScale:(r=e.xScale)!==null&&r!==void 0?r:100,yScale:(o=e.yScale)!==null&&o!==void 0?o:100,rotate:(s=e.rotate)!==null&&s!==void 0?s:void 0,color:(a=e.color)!==null&&a!==void 0?a:void 0,borderColor:(c=e.borderColor)!==null&&c!==void 0?c:void 0,borderWidth:(l=e.borderWidth)!==null&&l!==void 0?l:0,borderDashArray:(d=e.borderDashArray)!==null&&d!==void 0?d:void 0,borderDashPhase:(h=e.borderDashPhase)!==null&&h!==void 0?h:void 0,borderLineCap:(u=e.borderLineCap)!==null&&u!==void 0?u:void 0,graphicsState:p,matrix:e.matrix,clipSpaces:e.clipSpaces}))}drawCircle(e={}){let{size:t=100}=e;V(t,"size",["number"]),this.drawEllipse({...e,xScale:t,yScale:t})}setOrEmbedFont(e){let t=this.font,i=this.fontKey;e?this.setFont(e):this.getFont();let r=this.font,o=this.fontKey;return{oldFont:t,oldFontKey:i,newFont:r,newFontKey:o}}drawSvg(e,t={}){var i,r;T(e,"svg",["string",[ui,"PDFSvg"]]),V(t.x,"options.x",["number"]),V(t.y,"options.y",["number"]),V(t.width,"options.width",["number"]),V(t.height,"options.height",["number"]),mt(t.blendMode,"options.blendMode",Ne),lw(this,e,{x:(i=t.x)!==null&&i!==void 0?i:this.x,y:(r=t.y)!==null&&r!==void 0?r:this.y,fonts:t.fonts,width:t.width,height:t.height,blendMode:t.blendMode})}getFont(){if(!this.font||!this.fontKey){let e=this.doc.embedStandardFont(Ko.Helvetica);this.setFont(e)}return[this.font,this.fontKey]}resetFont(){this.font=void 0,this.fontKey=void 0}getContentStream(e=!0){return e&&this.contentStream?this.contentStream:(this.contentStream=this.createContentStream(),this.contentStreamRef=this.doc.context.register(this.contentStream),this.node.addContentStream(this.contentStreamRef),this.contentStream)}createContentStream(...e){let t=this.doc.context.obj({});return tn.of(t,e)}maybeEmbedGraphicsState(e){let{opacity:t,borderOpacity:i,blendMode:r}=e;if(t===void 0&&i===void 0&&r===void 0)return;let o=this.doc.context.obj({Type:"ExtGState",ca:t,CA:i,BM:r});return this.node.newExtGState("GS",o)}scaleAnnot(e,t,i){let r=["RD","CL","Vertices","QuadPoints","L","Rect"];for(let s=0,a=r.length;s<a;s++){let c=e.lookup(w.of(r[s]));c instanceof X&&c.scalePDFNumbers(t,i)}let o=e.lookup(w.of("InkList"));if(o instanceof X)for(let s=0,a=o.size();s<a;s++){let c=o.lookup(s);c instanceof X&&c.scalePDFNumbers(t,i)}}};Ie.of=(n,e,t)=>new Ie(n,e,t);Ie.create=n=>{T(n,"doc",[[je,"PDFDocument"]]);let e=Y.of(-1),t=Qe.withContextAndParent(n.context,e),i=n.context.register(t);return new Ie(t,i,n)};var Di=class extends at{constructor(e,t,i){super(e,t,i),T(e,"acroButton",[[Bn,"PDFAcroPushButton"]]),this.acroField=e}setImage(e,t=bi.Center){let i=this.acroField.getWidgets();for(let r=0,o=i.length;r<o;r++){let s=i[r],a=this.createImageAppearanceStream(s,e,t);this.updateWidgetAppearances(s,{normal:a})}this.markAsClean()}setFontSize(e){Fn(e,"fontSize"),this.acroField.setFontSize(e),this.markAsDirty()}addToPage(e,t,i){var r,o,s,a,c,l,d,h,u,p,f;V(e,"text",["string"]),V(t,"page",[[Ie,"PDFPage"]]),yi(i);let m=this.createWidget({x:((r=i==null?void 0:i.x)!==null&&r!==void 0?r:0)-((o=i==null?void 0:i.borderWidth)!==null&&o!==void 0?o:0)/2,y:((s=i==null?void 0:i.y)!==null&&s!==void 0?s:0)-((a=i==null?void 0:i.borderWidth)!==null&&a!==void 0?a:0)/2,width:(c=i==null?void 0:i.width)!==null&&c!==void 0?c:100,height:(l=i==null?void 0:i.height)!==null&&l!==void 0?l:50,textColor:(d=i==null?void 0:i.textColor)!==null&&d!==void 0?d:fe(0,0,0),backgroundColor:(h=i==null?void 0:i.backgroundColor)!==null&&h!==void 0?h:fe(.75,.75,.75),borderColor:i==null?void 0:i.borderColor,borderWidth:(u=i==null?void 0:i.borderWidth)!==null&&u!==void 0?u:0,rotate:(p=i==null?void 0:i.rotate)!==null&&p!==void 0?p:$(0),caption:e,hidden:i==null?void 0:i.hidden,page:t.ref}),x=this.doc.context.register(m.dict);this.acroField.addWidget(x);let g=(f=i==null?void 0:i.font)!==null&&f!==void 0?f:this.doc.getForm().getDefaultFont();this.updateWidgetAppearance(m,g),t.node.addAnnot(x)}needsAppearancesUpdate(){var e;if(this.isDirty())return!0;let t=this.acroField.getWidgets();for(let i=0,r=t.length;i<r;i++)if(!(((e=t[i].getAppearances())===null||e===void 0?void 0:e.normal)instanceof Ee))return!0;return!1}defaultUpdateAppearances(e){T(e,"font",[[Oe,"PDFFont"]]),this.updateAppearances(e)}updateAppearances(e,t){T(e,"font",[[Oe,"PDFFont"]]),V(t,"provider",[Function]);let i=this.acroField.getWidgets();for(let r=0,o=i.length;r<o;r++){let s=i[r];this.updateWidgetAppearance(s,e,t)}}updateWidgetAppearance(e,t,i){let r=i!=null?i:Wp,o=Zt(r(this,e,t));this.updateWidgetAppearanceWithFont(e,t,o)}};Di.of=(n,e,t)=>new Di(n,e,t);function tt(n,e){let t=Object.keys(e).map(i=>Xk(n,i,e[i]));return t.length===1?t[0]:function(){t.forEach(i=>i())}}function Xk(n,e,t){let i=n[e],r=n.hasOwnProperty(e),o=r?i:function(){return Object.getPrototypeOf(n)[e].apply(this,arguments)},s=t(o);return i&&Object.setPrototypeOf(s,i),Object.setPrototypeOf(a,s),n[e]=a,c;function a(...l){return s===o&&n[e]===a&&c(),s.apply(this,l)}function c(){n[e]===a&&(r?n[e]=o:delete n[e]),s!==o&&(s=o,Object.setPrototypeOf(a,i||Function))}}var be=require("obsidian");var cu=require("obsidian"),it=class extends cu.Modal{constructor(e){super(e.app),this.plugin=e,this.lib=e.lib,this.component=new cu.Component,this.contentEl.addClass("pdf-plus-modal")}onOpen(){this.component.load()}onClose(){this.contentEl.empty(),this.component.unload()}};var fn=require("obsidian");var Sg={};b0(Sg,{BidirectionalMultiValuedMap:()=>Nc,CommandSuggest:()=>Mc,FuzzyFileSuggest:()=>Oc,FuzzyFolderSuggest:()=>Nr,FuzzyInputSuggest:()=>Mr,FuzzyMarkdownFileSuggest:()=>Lc,MODIFIERS:()=>fg,MultiValuedMap:()=>Qt,MutationObservingChild:()=>Hc,areOverlapping:()=>Pg,areOverlappingStrictly:()=>kg,binarySearch:()=>hn,binarySearchForRangeStartingWith:()=>Dg,camelCaseToKebabCase:()=>cg,capitalize:()=>$k,cropCanvas:()=>ig,dispatchMouseEvent:()=>sg,doubleClick:()=>fu,encodeLinktext:()=>Rr,evalInContext:()=>Cg,findReferenceCache:()=>yg,focusObsidian:()=>jc,formatAnnotationID:()=>Wc,genId:()=>dg,getBorderRadius:()=>tg,getCJKRegexp:()=>Fw,getCharacterBoundingBoxes:()=>yw,getCharactersWithBoundingBoxesInPDFCoords:()=>ug,getDirectPDFObj:()=>lt,getEventCoords:()=>hu,getFirstTextNodeIn:()=>tC,getInstallerVersion:()=>xu,getModifierDictInPlatform:()=>pg,getModifierNameInPlatform:()=>Bt,getNodeAndOffsetOfTextPos:()=>Kn,getObsidianDebugInfo:()=>xg,getObsidianDefaultHighlightColorRGB:()=>Zk,getOffsetInTextLayerNode:()=>gu,getPathSeparator:()=>iC,getStyleSettings:()=>bg,getSubpathWithoutHash:()=>wg,getSystemInfo:()=>vw,getTextLayerInfo:()=>wt,getTextLayerNode:()=>pu,getWordAt:()=>eC,hexToRgb:()=>Or,hookInternalLinkMouseEventHandlers:()=>Rc,hover:()=>Jk,isAncestorOf:()=>Fg,isCanvas:()=>pa,isEmbed:()=>Jo,isHexString:()=>cn,isHoverEditor:()=>ww,isHoverPopover:()=>ga,isModifierName:()=>gg,isMouseEventExternal:()=>Pi,isNonEmbedLike:()=>Gn,isSelectionForward:()=>un,isTargetElement:()=>bw,isTargetHTMLElement:()=>It,isTargetNode:()=>uu,isTypable:()=>ng,isVersionNewerThan:()=>Uc,isVersionOlderThan:()=>mg,kebabCaseToCamelCase:()=>Qk,loadComponentAsync:()=>Dw,matchModifiers:()=>ag,onModKeyPress:()=>og,paramsToSubpath:()=>qc,parsePDFSubpath:()=>Yo,pdfJsQuadPointsToArrayOfRects:()=>lg,range:()=>hg,registerCharacterKeymap:()=>nC,removeExtension:()=>vg,repeat:()=>Qo,repeatable:()=>ma,rgbStringToObject:()=>eg,rgbToHex:()=>$p,rotateCanvas:()=>du,showChildElOnParentElHover:()=>Vc,showMenuUnderParentEl:()=>jn,stringCompare:()=>_o,subpathToParams:()=>fa,swapSelectionAnchorAndFocus:()=>zc,toPDFCoords:()=>mu,toSingleLine:()=>Kc,walkDescendantComponents:()=>bu});var Pt=require("obsidian");function cn(n){return n.length===7&&n.startsWith("#")}function Or(n){let e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(n);return e?{r:parseInt(e[1],16),g:parseInt(e[2],16),b:parseInt(e[3],16)}:null}function $p(n){let{r:e,g:t,b:i}=n;return"#"+(1<<24|e<<16|t<<8|i).toString(16).slice(1)}function eg(n){let[e,t,i]=n.split(",").map(r=>parseInt(r.trim()));return{r:e,g:t,b:i}}function Zk(){let[n,e,t]=getComputedStyle(document.body).getPropertyValue("--text-highlight-bg-rgb").split(",").map(i=>parseInt(i.trim()));return{r:n,g:e,b:t}}function tg(){let n=getComputedStyle(document.body).getPropertyValue("--radius-s");if(n.endsWith("px")){let e=parseInt(n.slice(0,-2));if(!isNaN(e))return e}return 0}var _t=require("obsidian"),Yk={blurOnSelect:!0,closeOnSelect:!0},Mr=class extends _t.AbstractInputSuggest{constructor(e,t,i){super(e,t),this.inputEl=t,this.options=Object.assign(Yk,i)}getSuggestions(e){let t=(0,_t.prepareFuzzySearch)(e.trim()),i=this.getItems(),r=[];for(let o of i){let s=t(this.getItemText(o));s&&r.push({match:s,item:o})}return(0,_t.sortSearchResults)(r),r}renderSuggestion(e,t){(0,_t.renderResults)(t,this.getItemText(e.item),e.match)}selectSuggestion(e,t){super.selectSuggestion(e,t),this.inputEl.value=this.getItemText(e.item),this.options.blurOnSelect&&this.inputEl.blur(),this.options.closeOnSelect&&this.close()}},Lc=class extends Mr{getItems(){return this.app.vault.getMarkdownFiles()}getItemText(e){return e.path}},Oc=class extends Mr{getItems(){return this.app.vault.getFiles()}getItemText(e){return e.path}},Nr=class extends Mr{getItems(){return this.app.vault.getAllLoadedFiles().filter(e=>e instanceof _t.TFolder)}getItemText(e){return e.path}},Mc=class extends _t.AbstractInputSuggest{constructor(e,t){super(e.plugin.app,t),this.inputEl=t,this.plugin=e.plugin,this.tab=e}getSuggestions(e){let t=(0,_t.prepareFuzzySearch)(e),i=Object.values(this.plugin.app.commands.commands),r=[];for(let o of i){let s=t(o.name);s&&r.push({match:s,command:o})}return(0,_t.sortSearchResults)(r),r.map(({command:o})=>o)}renderSuggestion(e,t){t.setText(e.name)}selectSuggestion(e){this.inputEl.blur(),this.plugin.settings.commandToExecuteWhenTargetNotIdentified=e.id,this.inputEl.value=e.name,this.close(),this.plugin.saveSettings(),this.tab.redisplay()}};var Qt=class{constructor(){this.map=new Map}addValue(e,t){let i=this.map.get(e);i||(i=new Set,this.map.set(e,i)),i.add(t)}get(e){var t;return(t=this.map.get(e))!=null?t:new Set}delete(e){this.map.delete(e)}deleteValue(e,t){let i=this.map.get(e);i&&(i.delete(t),i.size===0&&this.map.delete(e))}has(e){return this.map.has(e)&&this.map.get(e).size>0}[Symbol.iterator](){return this.map[Symbol.iterator]()}},Nc=class{constructor(){this.keyToValues=new Map;this.valueToKeys=new Map}addValue(e,t){this.keyToValues.has(e)||this.keyToValues.set(e,new Set),this.keyToValues.get(e).add(t),this.valueToKeys.has(t)||this.valueToKeys.set(t,new Set),this.valueToKeys.get(t).add(e)}get(e){var t;return(t=this.keyToValues.get(e))!=null?t:new Set}getKeys(e){var t;return(t=this.valueToKeys.get(e))!=null?t:new Set}delete(e){let t=this.keyToValues.get(e);if(t)for(let i of t){let r=this.valueToKeys.get(i);if(!r)throw new Error("Value has no keys");r.delete(e),r.size===0&&this.valueToKeys.delete(i)}this.keyToValues.delete(e)}deleteValue(e){let t=this.valueToKeys.get(e);if(t)for(let i of t){let r=this.keyToValues.get(i);if(!r)throw new Error("Key has no values");r.delete(e),r.size===0&&this.keyToValues.delete(i)}this.valueToKeys.delete(e)}has(e){return this.keyToValues.has(e)&&this.keyToValues.get(e).size>0}hasValue(e){return this.valueToKeys.has(e)&&this.valueToKeys.get(e).size>0}keys(){return this.keyToValues.keys()}values(){return this.valueToKeys.keys()}};function ig(n,e,t={width:e.width,height:e.height}){let i=createEl("canvas");return i.width=t.width,i.height=t.height,i.getContext("2d").drawImage(n,e.left,e.top,e.width,e.height,0,0,t.width,t.height),i}function du(n,e){if(e=(e%360+360)%360,![0,90,180,270].includes(e))throw new Error("rotate must be 0, 90, 180, or 270");if(!e)return n;let t=createEl("canvas"),i=t.getContext("2d");return e===90||e===270?(t.width=n.height,t.height=n.width):(t.width=n.width,t.height=n.height),i.translate(t.width/2,t.height/2),i.rotate(e*Math.PI/180),i.drawImage(n,-n.width/2,-n.height/2),t}var dn=require("obsidian");function Rc(n,e,t){e.querySelectorAll("a.internal-link").forEach(i=>{i.addEventListener("click",r=>{r.preventDefault();let o=i.getAttribute("href");o&&n.workspace.openLinkText(o,t,dn.Keymap.isModEvent(r))}),i.addEventListener("mouseover",r=>{r.preventDefault();let o=i.getAttribute("href");o&&n.workspace.trigger("hover-link",{event:r,source:"preview",hoverParent:{hoverPopover:null},targetEl:r.currentTarget,linktext:o,sourcePath:t})})})}function Pi(n,e){return!n.relatedTarget||bw(n,n.relatedTarget)&&!e.contains(n.relatedTarget)}function ng(n){return n.nodeName==="INPUT"||n.instanceOf(HTMLElement)&&n.contentEditable==="true"}function hu(n){return n.instanceOf(MouseEvent)?{x:n.clientX,y:n.clientY}:{x:n.touches[0].clientX,y:n.touches[0].clientY}}function rg(n,e,t){let i=e[t];return n instanceof i}function uu(n,e){return!!e&&(e instanceof Node||rg(e,n.win,"Node"))}function bw(n,e){return!!e&&(e instanceof Element||rg(e,n.win,"Element"))}function It(n,e){return!!e&&(e instanceof HTMLElement||rg(e,n.win,"HTMLElement"))}function og(n,e,t){if(dn.Keymap.isModifier(n,"Mod")){t();return}let i=n.doc,r=!1,o=()=>{r=!0,i.removeEventListener("keydown",s),i.removeEventListener("mouseover",a),i.removeEventListener("mouseleave",c)},s=l=>{r||(i.body.contains(e)?dn.Keymap.isModifier(l,"Mod")&&(o(),t()):o())},a=l=>{r||uu(l,l.target)&&!e.contains(l.target)&&o()},c=l=>{r||l.target===i&&o()};i.addEventListener("keydown",s),i.addEventListener("mouseover",a),i.addEventListener("mouseleave",c)}function Vc(n){let{parentEl:e,createChildEl:t,removeChildEl:i,component:r,timeout:o}=n,s=a=>{if(Pi(a,e)){let c=!0,l=!1,d=t(),h=new dn.Component;r==null||r.addChild(h),h.register(()=>d&&i(d)),h.load();let u=()=>setTimeout(()=>{!c&&!l&&h.unload()},o!=null?o:120),p=f=>{Pi(f,e)&&(c=!1,u())};h.registerDomEvent(e,"mouseout",p),d&&h.registerDomEvent(d,"mouseover",f=>{if(Pi(f,d)){l=!0;let m=x=>{Pi(x,d)&&(l=!1,u())};h.registerDomEvent(d,"mouseout",m)}})}};e.addEventListener("mouseover",s)}function sg(n,e,t){n.dispatchEvent(new MouseEvent(e,{bubbles:!0,...t}))}function fu(n,e){sg(n,"dblclick",e)}function Jk(n,e,t){t!=null||(t={}),e&&(t[dn.Platform.isMacOS?"metaKey":"ctrlKey"]=!0);let{x:i,y:r}=n.getBoundingClientRect();sg(n,"mouseover",{doc:n.doc,clientX:i,clientY:r,...t})}var _k=["Mod","Ctrl","Meta","Shift","Alt"];function ag(n,e){return _k.every(t=>e.includes(t)?dn.Keymap.isModifier(n,t):!dn.Keymap.isModifier(n,t))}function lt(n,e){let t=n.get(w.of(e));return t instanceof Y?n.context.lookup(t):t}function lg(n){let e=[];if(ArrayBuffer.isView(n)){if(n.length%8)return e;for(let t=0;t<n.length;t+=8){let[i,r,o,s,a,c,l,d]=n.slice(t,t+8),h=Math.min(i,o,a,l),u=Math.max(i,o,a,l),p=Math.min(r,s,c,d),f=Math.max(r,s,c,d);e.push([h,p,u,f])}return e}for(let t of n){let i=t[1],r=t[2],o=[r.x,r.y,i.x,i.y];o=window.pdfjsLib.Util.normalizeRect(o),e.push(o)}return e}function jn(n,e){let{x:t,bottom:i,width:r}=e.getBoundingClientRect();return n.setParentElement(e).showAtPosition({x:t,y:i,width:r,overlap:!0,left:!1}),n}function cg(n){return n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}function Qk(n){return n.replace(/(-\w)/g,e=>e[1].toUpperCase())}function $k(n){return n.charAt(0).toUpperCase()+n.slice(1)}function eC(n,e){if(e<0||e>=n.length)return"";let t=Math.max(0,n.slice(0,e+1).search(/(?<=[^\s.,][\s.,]+)[^\s.,]*$/));n=n.slice(t),t=Math.max(0,n.search(/[^\s.,]/)),n=n.slice(t);let i=n.search(/[\s.,]/);return i===-1?n:n.slice(0,i)}function dg(){let n=()=>((1+Math.random())*65536|0).toString(16).substring(1);return n()+n()+"-"+n()+"-"+n()+"-"+n()+"-"+n()+n()+n()}function hg(n,e){return Array.from({length:e-n},(t,i)=>n+i)}function pu(n,e){if(!n.contains(e))return null;if(e.instanceOf(HTMLElement)&&e.hasClass("textLayerNode"))return e;let t=e;for(;t=t.parentNode;){if(t===n)return null;if(t.instanceOf(HTMLElement)&&t.hasClass("textLayerNode"))return t}return null}function gu(n,e,t){if(!n.contains(e))return null;let i=n.doc.createNodeIterator(n,NodeFilter.SHOW_TEXT),r,o=t;for(;(r=i.nextNode())&&e!==r;)o+=r.textContent.length;return o}function Kn(n,e){let t=n.doc.createNodeIterator(n,NodeFilter.SHOW_TEXT),i;for(;(i=t.nextNode())&&e>=i.textContent.length;)e-=i.textContent.length;return i?{node:i,offset:e}:null}function*yw(n){let e=n.doc.createNodeIterator(n,NodeFilter.SHOW_TEXT),t;for(;t=e.nextNode();)if(t.instanceOf(Text))for(let i=0;i<t.length;i++){let r=t.doc.createRange();r.setStart(t,i),r.setEnd(t,i+1);let o=r.getBoundingClientRect();yield{char:t.textContent[i],rect:o}}}function*mu(n,e){let t=n.div,i=t.win.getComputedStyle(t),r=parseFloat(i.borderTopWidth),o=parseFloat(i.borderLeftWidth),s=parseFloat(i.paddingTop),a=parseFloat(i.paddingLeft),c=t.getBoundingClientRect();for(let{x:l,y:d}of e){let h=l-(c.left+o+a),u=d-(c.top+r+s);yield n.getPagePoint(h,u)}}function*ug(n,e){for(let{char:t,rect:i}of yw(e))yield{char:t,rect:[...mu(n,[{x:i.left,y:i.bottom},{x:i.right,y:i.top}])].flat()}}function wt(n){return"textLayer"in n?n.textLayer:n}function tC(n){return n.doc.createNodeIterator(n,NodeFilter.SHOW_TEXT).nextNode()}function zc(n){let{anchorNode:e,anchorOffset:t,focusNode:i,focusOffset:r}=n;e&&i&&n.setBaseAndExtent(i,r,e,t)}var fg=["Mod","Ctrl","Meta","Shift","Alt"];function Bt(n){return n==="Mod"?Pt.Platform.isMacOS||Pt.Platform.isIosApp?"Command":"Ctrl":n==="Shift"?"Shift":n==="Alt"?Pt.Platform.isMacOS||Pt.Platform.isIosApp?"Option":"Alt":n==="Meta"?Pt.Platform.isMacOS||Pt.Platform.isIosApp?"Command":Pt.Platform.isWin?"Win":"Meta":"Ctrl"}function pg(){let n={},e=new Set;for(let t of fg){let i=Bt(t);e.has(i)||(e.add(i),n[t]=i)}return n}function gg(n){return fg.includes(n)}function iC(){return Pt.Platform.isWin?"\\":"/"}function Uc(n,e){return n.localeCompare(e,void 0,{numeric:!0,sensitivity:"base"})===1}function mg(n,e){return Uc(e,n)}function xu(){return Pt.Platform.isDesktopApp?window.electron.remote.app.getVersion():null}async function vw(){if(window.electron){let t=require("os");return{"Obsidian version":window.electron.ipcRenderer.sendSync("version"),"Installer version":window.electron.remote.app.getVersion(),"Operating system":t.version()+" "+t.release()}}let n=await window.Capacitor.Plugins.App.getInfo(),e=await window.Capacitor.Plugins.Device.getInfo();return{"Obsidian version":`${n.version} (${n.build})`,"API version":Pt.apiVersion,"Operating system":`${e.platform} ${e.osVersion} (${e.manufacturer} ${e.model})`}}async function xg(n){let e=n.customCss.theme,t=n.customCss.themes[e],i=n.customCss.snippets.filter(o=>n.customCss.enabledSnippets.has(o)).length,r=n.plugins.plugins;return{...await vw(),"Use [[Wikilinks]]":n.vault.getConfig("useMarkdownLinks"),"Base color scheme":document.body.hasClass("theme-dark")?"dark":"light",'PDF "Adapt to theme"':!!n.loadLocalStorage("pdfjs-is-themed"),"Community theme":e?`${e} v${t.version}`:"none","Snippets enabled":i,"Plugins installed":Object.keys(n.plugins.manifests).length,"Plugins enabled":Object.values(r).map(o=>`${o.manifest.name} v${o.manifest.version}`)}}function bg(n){var i;let e=(i=n.plugins.plugins["obsidian-style-settings"])==null?void 0:i.settingsManager.settings;return e?Object.fromEntries(Object.entries(e).filter(([r])=>r.startsWith("pdf-plus@@"))):null}function yg(n,e,t){var i,r,o;return(o=(i=n.links)==null?void 0:i.find(s=>e<=s.position.start.offset&&s.position.end.offset<=t))!=null?o:(r=n.embeds)==null?void 0:r.find(s=>e<=s.position.start.offset&&s.position.end.offset<=t)}function vg(n){let e=n.lastIndexOf(".");return e===-1||e===n.length-1||e===0?n:n.slice(0,e)}function wg(n){let{subpath:e}=(0,Pt.parseLinktext)(n);return e.startsWith("#")&&(e=e.slice(1)),e}function fa(n){return n.startsWith("#")&&(n=n.slice(1)),new URLSearchParams(n)}function Yo(n){let e=fa(n);if(!e.has("page"))return null;let t=+e.get("page");if(isNaN(t))return null;if(e.has("selection")){let i=e.get("selection").split(",").map(c=>parseInt(c.trim()));if(i.length!==4||i.some(c=>isNaN(c)))return null;let[r,o,s,a]=i;return{type:"selection",page:t,beginIndex:r,beginOffset:o,endIndex:s,endOffset:a}}if(e.has("annotation")){let i=e.get("annotation");return{type:"annotation",page:t,annotation:i}}return{type:"page",page:t}}function qc(n){return"#"+Object.entries(n).filter(([e,t])=>e&&(t||t===0)).map(([e,t])=>`${e}=${t}`).join("&")}function Wc(n,e){return e===0?`${n}R`:`${n}R${e}`}var Hc=class extends Pt.Component{constructor(t,i,r){super();this.targetEl=t;this.callback=i;this.options=r;this.observer=new MutationObserver(i)}onload(){this.observer.observe(this.targetEl,this.options)}onunload(){this.observer.disconnect()}};function Gn(n){return!n.isEmbed&&!ww(n)}function Jo(n){return n.isEmbed&&!pa(n)&&!ga(n)}function pa(n){var e;return!!((e=n.dom)!=null&&e.containerEl.hasClass("canvas-node-content"))}function ga(n){var e;return!!((e=n.dom)!=null&&e.containerEl.closest(".hover-popover"))}function ww(n){var e;return!!((e=n.dom)!=null&&e.containerEl.closest(".hover-editor"))}function jc(){activeWindow.open("obsidian://")}function Fg(n,e,t=!1){if(t&&n===e)return!0;let i=e.parent;for(;i;){if(i===n)return!0;i=i.parent}return!1}function Fw(n){n={japanese:!0,korean:!0,...n};let e="";return e+="\\u4e00-\\u9fff",e+="\\u3400-\\u4dbf",n.japanese&&(e+="\\u3040-\\u309F",e+="\\u30A0-\\u30FF",e+="\\uFF65-\\uFF9F",e+="\\u31F0-\\u31FF",e+="\\u3000-\\u303F"),n.korean&&(e+="\\u1100-\\u11FF",e+="\\uA960-\\uA97F",e+="\\uD7B0-\\uD7FF",e+="\\u3130-\\u318F",e+="\\uAC00-\\uD7AF"),new RegExp(`[${e}]`)}function Kc(n,e=!1){let t=Fw({korean:!1});return n=n.replace(/(.?)([\r\n]+)(.?)/g,(i,r,o,s)=>t.test(r)&&t.test(s)?r+s:r==="-"&&s.match(/[a-zA-Z]/)?s:s?r+" "+s:r),e&&(n=n.replace(new RegExp(`(${t.source}) (?=${t.source})`,"g"),"$1")),window.pdfjsViewer.removeNullCharacters(window.pdfjsLib.normalizeUnicode(n))}function Rr(n){return n.replace(/[\\\x00\x08\x0B\x0C\x0E-\x1F ]/g,e=>encodeURIComponent(e))}function nC(n,e,t){return n.register(null,e,(i,r)=>{if(r.key===e&&r.modifiers!==null&&["","Shift"].includes(r.modifiers))return t(i,r)})}function hn(n,e,t){var a,c,l,d;if(t&&t.findFirst&&t.findLast)throw Error("findFirst and findLast cannot be specified at the same time");let i=(a=t==null?void 0:t.findFirst)!=null?a:!1,r=(c=t==null?void 0:t.findLast)!=null?c:!1,o=(l=t==null?void 0:t.from)!=null?l:0,s=(d=t==null?void 0:t.to)!=null?d:n.length-1;if(o>s)return{found:!1,index:o};for(;;){let h=o+s+ +r>>1,u=n[h],p=e(u,h);if(p===0)if(i&&o<h)s=h;else if(r&&s>h)o=h;else return{found:!0,index:h};else p>0?o=h+1:s=h-1;if(o>s)return{found:!1,index:h+ +(p>0)}}}function _o(n,e){return n===e?0:n<e?-1:1}function Dg(n,e,t,i){let r=a=>_o(e,t(a).slice(0,e.length)),{found:o,index:s}=hn(n,r,{findFirst:!0,...i});if(o){let{index:a}=hn(n,r,{findLast:!0,...i,from:s});return{from:s,to:a}}return null}function Pg(n,e){return n.from<=e.to&&n.to>=e.from}function kg(n,e){return n.from<e.to&&n.to>e.from}function un(n){return n.anchorNode===n.focusNode?n.anchorOffset<n.focusOffset:n.anchorNode&&n.focusNode&&n.anchorNode.compareDocumentPosition(n.focusNode)===Node.DOCUMENT_POSITION_FOLLOWING}function Qo(n,e){for(e!=null||(e=1);e--;)n()}function ma(n){return e=>Qo(n,e)}function Cg(n,e){return new Function(n.includes("await")?"(async () => {"+n+"})()":n).call(e)}function bu(n,e){if(e(n)!==!1)for(let i of n._children)bu(i,e)}async function Dw(n){if(!n._loaded){n._loaded=!0,await n.onload();let e=n._children.map(Dw);await Promise.all(e)}}var yu=class extends it{constructor(e,t,i,r){super(e),this.file=t,this.page=i,this.id=r}},Vr=class Vr extends yu{static isSubtypeSupported(e){return Vr.supportedSubtypes.includes(e)}static forSubtype(e,...t){return e==="Link"?Vr.forLinkAnnotation(...t):Vr.forTextMarkupAnnotation(...t)}static forTextMarkupAnnotation(...e){return new Vr({color:!1,opacity:!1,author:!1,contents:!0},...e)}static forLinkAnnotation(...e){return new Vr({color:!0,borderWidth:!0},...e)}constructor(e,...t){super(...t),this.allowNoValue=e,this.supportedKeys=Object.keys(e),this.oldValues={},this.newValues={},this.containerEl.addClass("pdf-plus-annotation-edit-modal"),this.buttonContainerEl=this.modalEl.createDiv(),this.scope.register(["Mod"],"Enter",()=>{this.onSaveButtonClick()})}async readOldValues(){let e=this.lib.highlight.writeFile.pdflib,t=await e.getAnnotation(this.file,this.page,this.id);if(!t)throw new Error(`${this.plugin.manifest.name}: Annotation not found.`);for(let i of this.supportedKeys)switch(i){case"color":this.oldValues.color=e.getColorFromAnnotation(t);break;case"opacity":this.oldValues.opacity=e.getOpacityFromAnnotation(t);break;case"borderWidth":this.oldValues.borderWidth=e.getBorderWidthFromAnnotation(t);break;case"author":this.oldValues.author=e.getAuthorFromAnnotation(t);break;case"contents":this.oldValues.contents=e.getContentsFromAnnotation(t);break}}async writeNewValues(){let e=this.lib.highlight.writeFile.pdflib,t=[];for(let i of this.supportedKeys)switch(i){case"color":if(this.newValues.color&&this.newValues.color!==this.oldValues.color){let r=this.newValues.color;t.push(o=>{e.setColorToAnnotation(o,r),this.lib.getLatestBacklinksForAnnotation(this.file,this.page,this.id).then(s=>{s.forEach(a=>this.lib.composer.linkUpdater.updateLinkColor(a.refCache,a.sourcePath,{type:"rgb",rgb:r},{linktext:!1}))})})}break;case"opacity":typeof this.newValues.opacity=="number"&&this.newValues.opacity!==this.oldValues.opacity&&t.push(r=>{e.setOpacityToAnnotation(r,this.newValues.opacity)});break;case"borderWidth":typeof this.newValues.borderWidth=="number"&&this.newValues.borderWidth!==this.oldValues.borderWidth&&t.push(r=>{e.setBorderWidthToAnnotation(r,this.newValues.borderWidth)});break;case"author":this.newValues.author&&this.newValues.author!==this.oldValues.author&&t.push(r=>{e.setAuthorToAnnotation(r,this.newValues.author)});break;case"contents":typeof this.newValues.contents=="string"&&this.newValues.contents!==this.oldValues.contents&&t.push(r=>{e.setContentsToAnnotation(r,this.newValues.contents)});break}t.length&&await e.processAnnotation(this.file,this.page,this.id,async i=>{t.forEach(r=>r(i))})}addColorSetting(){if(this.oldValues.color||this.allowNoValue.color){let e,t;new fn.Setting(this.contentEl).setName("Color").setDesc("You can choose a color from the color picker or select one from your custom named colors.").addColorPicker(i=>{var r;e=i,e.setValueRgb((r=this.oldValues.color)!=null?r:{r:0,g:0,b:0}).onChange(o=>{let s=Or(o);s&&(this.newValues.color=s,t.setValue(o))})}).addDropdown(i=>{t=i,t.addOptions(Object.fromEntries(Object.entries(this.plugin.settings.colors).map(([r,o])=>[o,r]))).setValue(this.oldValues.color?$p(this.oldValues.color):"").onChange(r=>{let o=Or(r);o&&(this.newValues.color=o,e.setValue(r))})})}}addOpacitySetting(){(this.oldValues.opacity||this.allowNoValue.opacity)&&new fn.Setting(this.contentEl).setName("Opacity").addSlider(e=>{var t;e.setLimits(0,1,.01).setValue((t=this.oldValues.opacity)!=null?t:1).setDynamicTooltip().onChange(i=>{this.newValues.opacity=i})})}addBorderWidthSetting(){(this.oldValues.borderWidth||this.allowNoValue.borderWidth)&&new fn.Setting(this.contentEl).setName("Draw border").addToggle(e=>{var t;e.setValue(!!((t=this.oldValues.borderWidth)==null||t)).onChange(i=>{this.newValues.borderWidth=i?1:0})})}addAuthorSetting(){(this.oldValues.author||this.allowNoValue.author)&&new fn.Setting(this.contentEl).setName("Annotation author").addText(e=>{var t;e.setValue((t=this.oldValues.author)!=null?t:"Author").onChange(i=>{this.newValues.author=i})})}initContentsSetting(){var e;if(this.textarea=null,this.editorEl=null,this.previewEl=null,this.plugin.settings.renderMarkdownInStickyNote){let t=(e=this.app.hotkeyManager.getHotkeys("markdown:toggle-preview"))!=null?e:this.app.hotkeyManager.getDefaultHotkeys("markdown:toggle-preview");if(t&&t.length){let i=t[0];this.scope.register(i.modifiers,i.key,()=>this.togglePreview())}}}addContentsSetting(){(this.oldValues.contents||this.allowNoValue.contents)&&new fn.Setting(this.contentEl).setName("Comment").then(e=>{this.previewEl=e.controlEl.createDiv("preview-container markdown-rendered"),this.plugin.settings.renderMarkdownInStickyNote?e.setDesc(`Press ${this.app.hotkeyManager.printHotkeyForCommand("markdown:toggle-preview")} to toggle preview.`):e.setDesc(createFragment(t=>{let i=createEl("a",{text:'"Render markdown in annotation popups when the annotation has text contents"'},r=>{r.onclick=o=>{let s=this.plugin.openSettingTab();s.scrollTo("renderMarkdownInStickyNote",{behavior:"smooth"}),s.updateHeaderElClassOnScroll(o)}});t.append("Tip: There is an option called "),t.append(i),t.append(".")}))}).addTextArea(e=>{var t;this.textarea=e,this.editorEl=e.inputEl,this.editorEl.addClass("editor-container"),e.inputEl.rows=5,e.inputEl.setCssStyles({width:"100%"}),e.setValue((t=this.oldValues.contents)!=null?t:"").onChange(i=>{this.newValues.contents=i})}),this.showEditor()}addButtons(){new fn.Setting(this.buttonContainerEl).addButton(e=>{e.setButtonText("Save").setCta().onClick(()=>{this.onSaveButtonClick()})}).addButton(e=>{e.setButtonText("Cancel").onClick(()=>this.close())}).setClass("no-border"),this.buttonContainerEl.createDiv({cls:"pdf-plus-annotation-edit-modal-save-instructions",text:`Press ${Bt("Mod")} + Enter to save.`})}onSaveButtonClick(){this.writeNewValues(),this.close()}async onOpen(){super.onOpen(),this.titleEl.setText(`${this.plugin.manifest.name}: edit annotation contents`),await this.readOldValues();for(let e of this.supportedKeys)switch(e){case"color":this.addColorSetting();break;case"opacity":this.addOpacitySetting();break;case"borderWidth":this.addBorderWidthSetting();break;case"author":this.addAuthorSetting();break;case"contents":this.initContentsSetting(),this.addContentsSetting();break}this.addButtons()}async showEditor(){var e,t;(e=this.editorEl)==null||e.show(),(t=this.previewEl)==null||t.hide()}async showPreview(){var e,t;this.editorEl&&this.previewEl&&(this.previewEl.setCssStyles({width:`${this.editorEl.clientWidth}px`,height:`${this.editorEl.clientHeight}px`}),this.previewEl.empty(),await fn.MarkdownRenderer.render(this.app,(t=(e=this.textarea)==null?void 0:e.getValue())!=null?t:"",this.previewEl,"",this.component),Rc(this.app,this.previewEl,this.file.path),this.editorEl.hide(),this.previewEl.show())}async togglePreview(){var e;return(e=this.editorEl)!=null&&e.isShown()?this.showPreview():this.showEditor()}};Vr.supportedSubtypes=["Highlight","Underline","Squiggly","StrikeOut","Link"];var Hr=Vr,xa=class extends yu{onOpen(){super.onOpen(),this.titleEl.setText(`${this.plugin.manifest.name}: delete annotation`),this.contentEl.createEl("p",{text:"Are you sure you want to delete this annotation?"}),this.plugin.settings.warnEveryAnnotationDelete||this.contentEl.createEl("p",{cls:"mod-warning",text:"There are one or more links pointing to this annotation."}),new fn.Setting(this.contentEl).addButton(e=>{e.setButtonText("Delete").setWarning().onClick(()=>{this.deleteAnnotation(),this.close()})}).addButton(e=>{e.setButtonText("Cancel").onClick(()=>this.close())}).then(e=>e.setClass("no-border"))}openIfNeccessary(){return this.shouldOpen()?this.open():this.deleteAnnotation()}shouldOpen(){return this.plugin.settings.warnEveryAnnotationDelete||this.plugin.settings.warnBacklinkedAnnotationDelete&&this.lib.isBacklinked(this.file,{page:this.page,annotation:this.id})}deleteAnnotation(){this.lib.highlight.writeFile.deleteAnnotation(this.file,this.page,this.id)}};var ba=require("obsidian");var Gc,zr,vu=class extends it{constructor(t,i,...r){super(...r);mn(this,Gc);mn(this,zr);this.file=t,this.page=i,Ot(this,Gc,new Promise(o=>{Ot(this,zr,o)}))}then(t){return Ge(this,Gc).then(i=>{i&&t()}),this}onOpen(){super.onOpen(),this.titleEl.setText(`${this.plugin.manifest.name}: delete page`),this.contentEl.createEl("p",{text:"Are you sure you want to delete this page?"}),this.plugin.settings.warnEveryAnnotationDelete||this.contentEl.createEl("p",{cls:"mod-warning",text:"There are one or more links pointing to this page."}),new ba.Setting(this.contentEl).addButton(t=>{t.setButtonText("Delete").setWarning().onClick(()=>{Ge(this,zr).call(this,!0),this.close()})}).addButton(t=>{t.setButtonText("Cancel").onClick(()=>{Ge(this,zr).call(this,!1),this.close()})}).then(t=>t.setClass("no-border"))}onClose(){super.onClose(),Ge(this,zr).call(this,!1)}openIfNeccessary(){return this.shouldOpen()?(this.open(),this):(Ge(this,zr).call(this,!0),this)}shouldOpen(){return this.plugin.settings.warnEveryPageDelete||this.plugin.settings.warnBacklinkedPageDelete&&this.lib.isBacklinked(this.file,{page:this.page})}};Gc=new WeakMap,zr=new WeakMap;var Zc={keep:"Keep labels unchanged",update:"Update"},Xc,Ur,Xn=class extends it{constructor(t,i,r,o,s){super(t);mn(this,Xc);mn(this,Ur);this.askPageLabelUpdateMethod=i,this.defaultMethod=r,this.askInPlace=o,this.defaultInPlace=s,Ot(this,Xc,new Promise(a=>{Ot(this,Ur,a)}))}ask(){return this.askPageLabelUpdateMethod||this.askInPlace?this.open():Ge(this,Ur).call(this,{pageLabelUpdateMethod:this.defaultMethod,inPlace:this.defaultInPlace}),this}then(t){Ge(this,Xc).then(i=>{if(i){let{pageLabelUpdateMethod:r,inPlace:o}=i;t(r==="keep",o)}})}onOpen(){super.onOpen(),this.titleEl.setText(`${this.plugin.manifest.name}: Page composer`);let t=this.defaultMethod,i=this.defaultInPlace;this.askPageLabelUpdateMethod&&new ba.Setting(this.contentEl).setName("Update the page labels?").setDesc(createFragment(r=>{r.createEl("a",{text:"Learn more",href:"https://github.com/RyotaUshio/obsidian-pdf-plus/wiki/Page-labels"})})).addDropdown(r=>{r.addOptions(Zc).setValue(t).onChange(o=>{t=o})}),this.askInPlace&&new ba.Setting(this.contentEl).setName("Remove pages from original file?").addToggle(r=>{r.setValue(i).onChange(o=>{i=o})}),new ba.Setting(this.contentEl).addButton(r=>{r.setButtonText("Proceed").setCta().onClick(()=>{(t==="keep"||t==="update")&&Ge(this,Ur).call(this,{pageLabelUpdateMethod:t,inPlace:i}),this.close()}),setTimeout(()=>r.buttonEl.focus())}).addButton(r=>{r.setButtonText("Cancel").onClick(()=>{Ge(this,Ur).call(this,null),this.close()})})}onClose(){super.onClose(),Ge(this,Ur).call(this,null)}};Xc=new WeakMap,Ur=new WeakMap;var wu=class extends it{constructor(){super(...arguments);this.pageSize="A4";this.orientation="portrait";this.next=[]}askOptions(){return this.open(),this}onOpen(){super.onOpen(),this.titleEl.setText(`${this.plugin.manifest.name}: Create new PDF`),this.addSetting().setName("Page size").addDropdown(t=>{Object.keys(Go).forEach(i=>t.addOption(i,i)),t.setValue(this.pageSize).onChange(i=>{Go.hasOwnProperty(i)&&(this.pageSize=i)})}),this.addSetting().setName("Orientation").addDropdown(t=>{t.addOption("portrait","Portrait").addOption("landscape","Landscape").setValue(this.orientation).onChange(i=>{(i==="portrait"||i==="landscape")&&(this.orientation=i)})}),this.addSetting().addButton(t=>{t.setButtonText("Create").setCta().then(i=>{setTimeout(()=>i.buttonEl.focus())}).onClick(async()=>{this.close();let i=await this.createPDFDocument();this.next.forEach(r=>r(i))})}).addButton(t=>{t.setButtonText("Cancel").onClick(()=>{this.close()})})}addSetting(){return new ba.Setting(this.contentEl)}then(t){return this.next.push(t),this}async createPDFDocument(){let t=await je.create(),[i,r]=Go[this.pageSize],o=Math.max(i,r),s=Math.min(i,r),a=this.orientation==="portrait"?[s,o]:[o,s];return t.addPage(a),t}};var Yc=require("obsidian"),qr=class extends it{constructor(t,i){super(t);this.next=[];this.submitted=!1;this.title=null;this.modalTitle=i,this.component.registerDomEvent(this.modalEl.doc,"keypress",r=>{r.key==="Enter"&&this.submitAndClose()})}presetTitle(t){return this.title=t,this}onOpen(){super.onOpen(),this.titleEl.setText(`${this.plugin.manifest.name}: ${this.modalTitle}`),new Yc.Setting(this.contentEl).setName("Title").addText(t=>{this.title!==null&&(t.setValue(this.title),t.inputEl.select()),t.inputEl.size=30,t.inputEl.id="pdf-plus-outline-title-modal"}),new Yc.Setting(this.contentEl).addButton(t=>{t.setButtonText("Add").setCta().onClick(()=>{this.submitAndClose()})}).addButton(t=>{t.setButtonText("Cancel").onClick(()=>{this.close()})})}ask(){return this.open(),this}then(t){return this.submitted&&this.title!==null?t({title:this.title}):this.next.push(t),this}submitAndClose(){let t=this.contentEl.querySelector("#pdf-plus-outline-title-modal");t instanceof HTMLInputElement&&(this.title=t.value,this.submitted=!0,this.close())}onClose(){this.submitted&&this.title!==null&&this.next.forEach(t=>t({title:this.title}))}},Fu=class extends Yc.FuzzySuggestModal{constructor(t,i){super(t.plugin.app);this.next=[];this.outlines=t,this.plugin=t.plugin,this.items=[],this.outlines.iter({enter:r=>{!i.isAncestorOf(r,!0)&&!r.is(i.parent)&&this.items.push(r)}}),this.setPlaceholder("Type an outline item title")}askDestination(){return this.open(),this}then(t){return this.next.push(t),this}getItems(){return this.items}getItemText(t){return t.name}onChooseItem(t){this.next.forEach(i=>i(t))}};var Pw=require("obsidian"),$t=require("obsidian");var Du=class{constructor(e){this._rootDict=e}get root(){return this.createNode(this._rootDict)}get(e){return this.root.get(e)}iterLeaves(e){this.root.iterLeaves(e)}getLeaves(){return this.root.getLeaves()}iter(e){this.root.iter(e)}[Symbol.iterator](){return this.root[Symbol.iterator]()}keys(){return this.root.keys()}values(){return this.root.values()}limitLeafSize(e){this.root.limitLeafSize(e)}},ya=class extends Du{createNode(e){return new Eg(e)}},Wr=class extends Du{createNode(e){return new Tg(e)}},Pu=class{constructor(e){this.dict=e}is(e){return this.dict===e.dict}isRoot(){return!this._dictHas("Limits")}isUniqueNode(){return this.isRoot()&&this._dictHas(this.leafKey)}isLeaf(){return this._dictHas("Limits")&&this._dictHas(this.leafKey)}isIntermediate(){return this._dictHas("Limits")&&this._dictHas("Kids")}get kids(){let e=this.dict.get(w.of("Kids"));return e instanceof X?e.asArray().map(t=>{let i=this.dict.context.lookup(t);if(i instanceof G)return new this.constructor(i);throw new Error("Kid is not a PDFDict")}):null}get limits(){let e=this.dict.get(w.of("Limits"));if(!(e instanceof X))return null;if(e.size()!==2)throw new Error("Limits array must have 2 elements");return e.asArray().map(t=>this._toStringOrNumber(t))}get(e){let t=this.getLeafFor(e);if(!t)return null;let i=t._getNamesOrNums();if(!i)throw new Error("Node has no names or nums despite not having kids");let r=0,o=(i.length>>1)-1;for(;r<=o;){let s=r+o>>1,a=i[s*2];if(a===e){let c=i[s*2+1];if(c instanceof Pe)return c;throw new Error("Value is not a PDFObject")}a<e?r=s+1:o=s-1}return null}has(e){return!!this.get(e)}[Symbol.iterator](){let e=0,t=0,i=this.getLeaves();return{next:()=>{if(e>=i.length)return{done:!0,value:[]};let o=i[e]._getNamesOrNums();if(!o)throw new Error("Leaf has no names or nums");let s=o[t],a=o[t+1];return t+=2,t>=o.length&&(e++,t=0),{done:!1,value:[s,a]}}}}keys(){return Array.from(this,([e])=>e)}values(){return Array.from(this,([,e])=>e)}size(){let e=0;return this.iterLeaves(t=>{let i=t._getNamesOrNums();if(!i)throw new Error("Leaf has no names or nums");e+=i.length>>1}),e}iterLeaves(e){let t=[this];for(;t.length;){let i=t.shift(),r=i.kids;r?t.push(...r):e(i)}}getLeaves(){let e=[];return this.iterLeaves(t=>e.push(t)),e}sortKids(){let e=this.kids;if(!e)return;e.sort((i,r)=>{let o=i.limits,s=r.limits;if(!o||!s)throw new Error("Kid has no limits");return o[0]<s[0]?-1:o[0]>s[0]?1:0});let t=X.withContext(this.dict.context);for(let i of e)t.push(i.dict);this.dict.set(w.of("Kids"),t)}flatten(){if(this.isUniqueNode()||this.isLeaf())return;let e=X.withContext(this.dict.context);for(let[t,i]of this)e.push(this._toPDFStringOrPDFNumber(t)),e.push(i);this.dict.set(w.of(this.leafKey),e),this.dict.delete(w.of("Kids"))}iter(e){var t,i,r;(t=e.enter)==null||t.call(e,this),(i=this.kids)==null||i.forEach(o=>o.iter(e)),(r=e.leave)==null||r.call(e,this)}limitLeafSize(e){let t=[],i=[],r=()=>{let o=this.dict.context.obj(t),s=t[0],a=t[t.length-2],c=this.dict.context.obj([s,a]),l=this.dict.context.obj({[this.leafKey]:o,Limits:c}),d=this.dict.context.register(l);i.push(d)};for(let[o,s]of this)t.push(o,s),t.length>>1>=e&&(r(),t.length=0);if(t.length&&r(),i.length===1)this.dict.set(w.of(this.leafKey),this.dict.context.obj(t)),this.dict.delete(w.of("Kids")),this.dict.delete(w.of("Limits"));else{let o=this.dict.context.obj(i);this.dict.set(w.of("Kids"),o)}}getLeafFor(e){if(this.isUniqueNode())return this;let t=this.limits;if(t&&(e<t[0]||t[1]<e))return null;let i=this,r=this.kids;for(;r;){if(i=r.find(o=>{let s=o.limits;if(!s)throw new Error("Kid has no limits");return s[0]<=e&&e<=s[1]}),!i)return null;r=i.kids}return i}_dictHas(e){return this.dict.has(w.of(e))}_getNamesOrNums(){let e=this.dict.get(w.of(this.leafKey));return e instanceof X?e.asArray().map((t,i)=>i%2?t:this._toStringOrNumber(t)):null}},Eg=class extends Pu{get leafKey(){return"Names"}_toStringOrNumber(e){if(e instanceof ee||e instanceof j)return e.decodeText();throw new Error("Key is not a PDFString or a PDFHexString")}_toPDFStringOrPDFNumber(e){return j.fromText(e)}get names(){return this._getNamesOrNums()}},Tg=class extends Pu{get leafKey(){return"Nums"}_toStringOrNumber(e){if(e instanceof K)return e.asNumber();throw new Error("Key is not a PDFNumber")}_toPDFStringOrPDFNumber(e){return K.of(e)}get nums(){return this._getNamesOrNums()}};var Ag={D:"1, 2, 3, ...",R:"I, II, III, ...",r:"i, ii, iii, ...",A:"A, B, C, ...",a:"a, b, c, ..."};function Ig(n){return Ag.hasOwnProperty(n)}var Jc=class n{static fromPDFDict(e){let t=new n,i=e.get(w.of("St"));i instanceof K&&(t.start=i.asNumber());let r=e.get(w.of("S"));if(r instanceof w){let s=r.decodeText();Ig(s)&&(t.style=s)}let o=e.get(w.of("P"));return(o instanceof ee||o instanceof j)&&(t.prefix=o.decodeText()),t}},qi=class n{constructor(e,t){this.doc=e;this.ranges=t;this.normalize()}normalize(){var e;if(this.ranges.length){this.ranges.sort((t,i)=>t.pageFrom-i.pageFrom),this.ranges[0].pageFrom=1;for(let t=this.ranges.length-1;t>=0;t--){let i=this.getStartOfRange(t),r=this.getEndOfRange(t);if(i>r){this.ranges.splice(t,1);continue}let o=this.ranges[t],s=this.ranges[t-1];if(s&&typeof o.dict.start=="number"&&o.dict.prefix===s.dict.prefix&&o.dict.style===s.dict.style&&o.pageFrom-s.pageFrom===o.dict.start-((e=s.dict.start)!=null?e:1)){this.ranges.splice(t,1);continue}}}return this}static fromDocument(e){let t=lt(e.catalog,"PageLabels");if(!(t instanceof G))return null;let i=new Wr(t),r=[];for(let[o,s]of i){let a=s instanceof Y?e.context.lookup(s):s;if(!(a instanceof G))return null;r.push({pageFrom:o+1,dict:Jc.fromPDFDict(a)})}return new n(e,r)}setToDocument(e){e||(e=this.doc);let t=[];for(let{pageFrom:r,dict:o}of this.normalize().ranges){t.push(r-1);let s={};o.style!==void 0&&(s.S=o.style),o.prefix!==void 0&&(s.P=j.fromText(o.prefix)),o.start!==void 0&&(s.St=o.start),t.push(e.context.obj(s))}let i=e.context.obj({Nums:t});new Wr(i).limitLeafSize(64),e.catalog.set(w.of("PageLabels"),i)}static removeFromDocument(e){e.catalog.delete(w.of("PageLabels"))}static processDocument(e,t){let i=n.fromDocument(e);return i?(t(i),i.setToDocument(),!0):!1}static createEmpty(e){return new n(e,[{pageFrom:1,dict:new Jc}])}removeRange(e){return this.ranges.splice(e,1),this.normalize(),this}divideRangeAtPage(e,t,i){var a;let r=this.getRangeIndexAtPage(e);if(r===-1)return this;if(e===this.getStartOfRange(r))return this;let o=this.ranges[r],s=new Jc;return s.prefix=o.dict.prefix,s.style=o.dict.style,t&&(s.start=e-o.pageFrom+((a=o.dict.start)!=null?a:1)),i==null||i(s),this.ranges.splice(r+1,0,{pageFrom:e,dict:s}),this}shiftRangesAfterPage(e,t){for(let i of this.ranges)i.pageFrom>=e&&(i.pageFrom+=t);return this}getStartOfRange(e){return this.ranges[e].pageFrom}getEndOfRange(e){let t=this.ranges[e+1];return t?t.pageFrom-1:this.doc.getPageCount()}getRangeIndexAtPage(e){for(let t=0;t<this.ranges.length;t++)if(this.getStartOfRange(t)<=e&&e<=this.getEndOfRange(t))return t;return-1}then(e){return e(this),this}rangeCount(){return this.ranges.length}};var Bg=class extends it{constructor(t,i){super(t);this.file=i;this.containerEl.addClass("pdf-plus-page-label-modal"),this.controlEl=this.contentEl.createDiv(),this.doc=null,this.pageLabels=null,this.docLoadingPromise=(async()=>(this.doc=await t.lib.loadPdfLibDocument(i),this.pageLabels=qi.fromDocument(this.doc),{doc:this.doc,pageLabels:this.pageLabels}))(),this.scope.register([],"Enter",()=>this.redisplay())}},Lg=class{constructor(e,t){this.dict=e;this.containerEl=t;this.addNumberingStyleSetting(),this.addStartSetting(),this.addPrefixSetting()}addSetting(){return new $t.Setting(this.containerEl)}addNumberingStyleSetting(){this.addSetting().setName("Numbering Style").addDropdown(e=>{var t;e.addOptions({...Ag,None:"None"}).setValue((t=this.dict.style)!=null?t:"None").onChange(i=>{Ig(i)?this.dict.style=i:delete this.dict.style})})}addStartSetting(){this.addSetting().setName("Start counting from").addText(e=>{e.inputEl.type="number",this.dict.start!==void 0?e.setValue(""+this.dict.start):e.setPlaceholder("1"),e.onChange(t=>{let i=Number(t);Number.isInteger(i)?(e.inputEl.removeClass("error"),i>1?this.dict.start=i:delete this.dict.start):(delete this.dict.start,e.inputEl.addClass("error"))})})}addPrefixSetting(){return this.addSetting().setName("Prefix").addText(e=>{var t;e.setValue((t=this.dict.prefix)!=null?t:"").onChange(i=>{i?this.dict.prefix=i:delete this.dict.prefix})})}},ku=class extends Bg{constructor(){super(...arguments);this.buttonSetting=null}async onOpen(){super.onOpen(),this.titleEl.setText(`${this.plugin.manifest.name}: edit page labels`),new $t.Setting(this.contentEl).then(t=>{$t.MarkdownRenderer.render(this.app,["Each page in a PDF document can be assigned a ***page label***, which can be different from the page index.",'For example, a book might have a preface numbered as "i", "ii", "iii", ... and the main content numbered as "1", "2", "3", ...'].join(" "),t.descEl,"",this.component)}).then(t=>this.contentEl.prepend(t.settingEl)),this.controlEl.createDiv({cls:"page-labels-loading",text:"Loading..."}),await this.docLoadingPromise,this.display(),this.addButtons()}redisplay(){this.display()}display(){let{pageLabels:t,doc:i}=this;if(!i)return;if(this.controlEl.empty(),t===null||t.rangeCount()===0){this.addHeading(this.controlEl,"No page labels found","lucide-info").setDesc("This PDF document does not have any page labels.").addButton(o=>{o.setButtonText("Create").setCta().onClick(()=>{this.pageLabels=qi.createEmpty(i),this.redisplay(),this.updateButtonVisibility()})}).addButton(o=>{o.setButtonText("Cancel").onClick(()=>this.close())});return}let r=i.getPageCount();for(let o=0;o<t.ranges.length;o++){let s=this.controlEl.createDiv("page-label-range"),a=t.ranges[o],c=t.ranges[o-1],l=t.ranges[o+1],d=t.ranges[o+2],h=t.getEndOfRange(o);this.addHeading(s,`Page ${a.pageFrom}\u2013${h}`,"lucide-arrow-down-01").then(u=>{h>a.pageFrom&&u.addExtraButton(p=>{p.setIcon("lucide-separator-horizontal").setTooltip("Divide this labeling range").onClick(()=>{t.divideRangeAtPage(a.pageFrom+1,!1),this.redisplay()})})}).addExtraButton(u=>{u.setIcon("lucide-x").setTooltip("Label the pages in this range continuing from the previous range").onClick(()=>{t.removeRange(o),this.redisplay()})}),new $t.Setting(s).setName("From").setDesc("The index of the first page in this range.").then(u=>u.controlEl.appendText("Page")).addText(u=>{u.inputEl.type="number",u.setValue(""+a.pageFrom).onChange(p=>{let f=Number(p);Number.isInteger(f)&&(c?c.pageFrom:1)<f&&f<=h?(a.pageFrom=f,u.inputEl.removeClass("error")):u.inputEl.addClass("error")}),u.inputEl.addEventListener("blur",()=>this.redisplay(),{once:!0})}).then(u=>this.addPreviewButton(u,a.pageFrom)),new $t.Setting(s).setName("To").setDesc("The index of the last page in this range.").then(u=>u.controlEl.appendText("Page")).addText(u=>{u.inputEl.type="number",u.setValue(""+h).onChange(p=>{let f=Number(p);Number.isInteger(f)&&a.pageFrom<=f&&f<=(d?d.pageFrom-1:r-1)?(l.pageFrom=f+1,u.inputEl.removeClass("error")):u.inputEl.addClass("error")}).setDisabled(o===t.ranges.length-1).then(p=>{p.disabled&&(0,Pw.setTooltip)(p.inputEl,"The last range cannot be extended.")}),u.inputEl.addEventListener("blur",()=>this.redisplay(),{once:!0})}).then(u=>this.addPreviewButton(u,h)),new Lg(a.dict,s)}}addHeading(t,i,r){return new $t.Setting(t).setName(i).setHeading().then(o=>{let s=createDiv();o.settingEl.prepend(s),(0,$t.setIcon)(s,r)})}addPreviewButton(t,i){return t.addExtraButton(r=>{r.setIcon("lucide-message-square").setTooltip(`Hover${this.plugin.requireModKeyForLinkHover()?"+"+Bt("Mod").toLowerCase():""} to preview`).then(o=>{this.component.registerDomEvent(o.extraSettingsEl,"mouseover",s=>{this.app.workspace.trigger("hover-link",{event:s,source:"pdf-plus",linktext:this.file.path+`#page=${i}`,targetEl:o.extraSettingsEl,hoverParent:this.component})})})})}addButtons(){var t;return(t=this.buttonSetting)!=null?t:new $t.Setting(this.contentEl).addButton(i=>{i.setButtonText("Save").setCta().onClick(async()=>{this.pageLabels&&this.doc?(this.pageLabels.rangeCount()>0?this.pageLabels.setToDocument(this.doc):qi.removeFromDocument(this.doc),await this.app.vault.modifyBinary(this.file,await this.doc.save())):new $t.Notice(`${this.plugin.manifest.name}: Something went wrong.`),this.close()})}).addButton(i=>{i.setButtonText("Cancel").onClick(()=>this.close())}).then(i=>{this.buttonSetting=i,this.updateButtonVisibility()})}updateButtonVisibility(){this.buttonSetting&&(this.pageLabels&&this.pageLabels.rangeCount()>0?this.buttonSetting.settingEl.show():this.buttonSetting.settingEl.hide())}};var ki=require("obsidian");var _c=class _c extends it{constructor(...t){super(...t);this.source=null;this.uris=[];this.folderPath=null;this.scope.register([],"Enter",()=>{var i;((i=activeDocument.activeElement)==null?void 0:i.tagName)==="INPUT"&&this.submit()})}onOpen(){super.onOpen();let t=this.plugin.loadLocalStorage(_c.LOCAL_STORAGE_KEY);["file","web"].includes(t)&&(this.source=t),this.folderPath=this.lib.dummyFileManager.getFolderPathForDummyFiles(this.app.workspace.getActiveFile()),this.titleEl.setText(`${this.plugin.manifest.name}: Create dummy file for external PDF`),this.modalEl.createDiv("",i=>{new ki.Setting(i).setDesc(createFragment(r=>{let o=this.plugin.settings.modifierToDropExternalPDFToCreateDummy;r.appendText(`You can also use ${o.length?o.map(Bt).join("+")+" +":""} drag & drop to create dummy files. `),r.createEl("a",{text:"Learn more about dummy PDF files",href:"https://ryotaushio.github.io/obsidian-pdf-plus/external-pdf-files"})})),setTimeout(()=>{this.modalEl.insertBefore(i,this.contentEl)})}),this.display()}display(){ki.Platform.isDesktopApp?this.displayDesktop():this.displayMobile()}displayDesktop(){this.contentEl.empty(),this.addSourceLocationSetting(),this.addFolderSetting(),this.source==="file"?this.addLocalFileSetting():this.source==="web"&&this.addWebFileSetting(),this.source&&this.addButtons()}displayMobile(){this.source="web",this.contentEl.empty(),this.addFolderSetting(),this.addWebFileSetting(),this.addButtons()}addSetting(){return new ki.Setting(this.contentEl)}addSourceLocationSetting(){return this.addSetting().setName("Source location").setDesc("Where the external PDF is located.").addDropdown(t=>{var i;t.addOptions({file:"On this computer",web:"Web"}).setValue((i=this.source)!=null?i:"").onChange(r=>{this.source=r,this.display()}),t.selectEl.tabIndex=this.source?-1:0})}addFolderSetting(){return this.addSetting().setName("Folder to save the dummy files").setDesc(createFragment(t=>{t.appendText("You can specify the default folder in the "),t.createEl("a",{text:"settings",href:"obsidian://pdf-plus?setting=dummyFileFolderPath"}),t.appendText(".")})).addText(t=>{var i;t.inputEl.size=30,t.setValue((i=this.folderPath)!=null?i:""),new Nr(this.app,t.inputEl).onSelect(({item:r})=>{this.folderPath=r.path})})}addLocalFileSetting(){this.addSetting().setName("Absolute path to the PDF").setDesc('Type the path in the input box or click the "Browse" button to select the file.').addButton(t=>{t.setButtonText("Browse").setCta().onClick(()=>{var r;let i=(r=window.electron)==null?void 0:r.remote.dialog.showOpenDialogSync({properties:["openFile","multiSelections","dontAddToRecent"],filters:[{name:"PDF files",extensions:["pdf"]}]});i&&i.length>0&&(this.uris=i.map(o=>this.lib.dummyFileManager.absolutePathToFileUri(o)),this.display())})}).addExtraButton(t=>{t.setIcon("plus").setTooltip("Add another file").onClick(()=>{this.uris.push(""),this.display()})}),this.addUriListSetting()}addWebFileSetting(){this.addSetting().setName("URL of the PDF").setDesc('Must start with "https://" or "http://".').addExtraButton(t=>{t.setIcon("plus").setTooltip("Add another URL").onClick(()=>{this.uris.push(""),this.display()})}),this.addUriListSetting()}addUriListSetting(){this.uris.length||this.uris.push("");for(let t=0;t<this.uris.length;t++)this.addSetting().then(i=>i.settingEl.addClass("no-border")).addText(i=>{i.inputEl.size=30,this.source==="file"?i.setValue(this.uris[t]?this.uris[t].replace(/^file:\/\//,""):"").onChange(r=>{this.uris[t]="file://"+r}):i.setValue(this.uris[t]||"").onChange(r=>{this.uris[t]=r}),t===this.uris.length-1&&setTimeout(()=>i.inputEl.focus())}).addExtraButton(i=>{i.setIcon("trash").setTooltip(`Remove this ${this.source==="file"?"file":"URL"}`).onClick(()=>{this.uris.splice(t,1),this.display()}),this.uris.length===1&&i.extraSettingsEl.hide()})}addButtons(){this.contentEl.createDiv("modal-button-container",t=>{t.createEl("button",{text:"Create",cls:"mod-cta"},i=>{i.addEventListener("click",()=>{this.submit()})}),t.createEl("button",{text:"Cancel"},i=>{i.addEventListener("click",()=>{this.close()})})})}submit(){if(this.uris=this.uris.filter(t=>t),!this.uris.length){new ki.Notice(`${this.plugin.manifest.name}: The external PDF location is not specified.`);return}if(!this.folderPath){new ki.Notice(`${this.plugin.manifest.name}: The folder to save the dummy files is not specified.`);return}this.plugin.saveLocalStorage(_c.LOCAL_STORAGE_KEY,this.source),this.createDummyFiles(),this.close()}async createDummyFiles(){if(this.folderPath){this.folderPath=(0,ki.normalizePath)(this.folderPath);let t=await this.lib.dummyFileManager.createDummyFilesInFolder(this.folderPath,this.uris);new ki.Notice(`${this.plugin.manifest.name}: Dummy files created successfully.`);for(let i of t)i&&await this.app.workspace.getLeaf(!0).openFile(i)}else new ki.Notice(`${this.plugin.manifest.name}: Failed to create dummy files for the following URIs: ${this.uris.join(", ")}`)}};_c.LOCAL_STORAGE_KEY="last-used-dummy-file-source";var va=_c;var Qc=require("obsidian");var Og="1.6.5",wa=class n extends it{static openIfNecessary(e){let t=xu();t&&mg(t,Og)&&e.app.workspace.onLayoutReady(()=>{new n(e).open()})}onOpen(){super.onOpen();let e=this.plugin.manifest.name;this.setTitle(`${e}: Obsidian installer update is required`),this.contentEl.createEl("p",{text:`Your Obsidian installer (${xu()}) is outdated and is incompatible with the latest ${e}. Please download the latest installer from Obsidian's website and re-install the Obsidian app.`}),(0,Qc.requireApiVersion)(Og)||this.contentEl.createEl("p",{text:`Also, in the very near future, Obsidian ${Og} or later will be required for you to be able to keep receiving updates of ${e}.`}),this.contentEl.createDiv("modal-button-container",t=>{let i="https://obsidian.md/download";new Qc.ButtonComponent(t).setButtonText("Get installer from obsidian.md").setTooltip(i).setCta().onClick(()=>{window.open(i)});let r="https://help.obsidian.md/Getting+started/Update+Obsidian#Installer%20updates";new Qc.ButtonComponent(t).setButtonText('What is "installer update"? (help.obsidian.md)').setTooltip(r).onClick(()=>{window.open(r)})})}};var Be=require("obsidian");var kw=require("obsidian");var Fa=class n{constructor(){this.tree=null;this.dict=null}static fromDocument(e){if(e.catalog.has(w.of("Dests"))){let i=lt(e.catalog,"Dests");if(i instanceof G){let r=new n;return r.dict=i,r}}let t=lt(e.catalog,"Names");if(t instanceof G){let i=lt(t,"Dests");if(i instanceof G){let r=new n;return r.tree=new ya(i),r}}return null}getExplicitDest(e){var i,r;let t=null;if(this.dict){let o=lt(this.dict,e);t=(i=o instanceof Y?this.dict.context.lookup(o):o)!=null?i:null}else if(this.tree){let o=this.tree.get(e);t=(r=o instanceof Y?this.tree._rootDict.context.lookup(o):o)!=null?r:null}if(t instanceof X)return t;if(t instanceof G){let o=t.get(w.of("D"));if(o instanceof X)return o}return null}};var Ke=class n{constructor(e,t){this.plugin=e,this.doc=t,this.namedDests=Fa.fromDocument(t)}static async fromDocument(e,t){return new n(t,e)}static async fromFile(e,t){let{lib:i}=t,r=await i.loadPdfLibDocument(e);return new n(t,r)}get lib(){return this.plugin.lib}get root(){let e=lt(this.doc.catalog,"Outlines");return e instanceof G?new Cu(this,e):null}set root(e){if(e){let t=this.doc.context.getObjectRef(e.dict);t||(t=this.doc.context.register(e.dict)),this.doc.catalog.set(w.of("Outlines"),t);return}this.doc.catalog.delete(w.of("Outlines"))}ensureRoot(){if(!this.root){let e=this.doc.context.obj({Type:"Outlines"});this.doc.context.register(e),this.root=new Cu(this,e)}return this.root}getLeaves(){let e=[],t=i=>{i.firstChild&&t(i.firstChild),i.nextSibling&&t(i.nextSibling),i.firstChild||e.push(i)};return this.root&&t(this.root),e}iter(e){let t=i=>{var r,o;(r=e.enter)==null||r.call(e,i),i.iterChildren(t),(o=e.leave)==null||o.call(e,i)};this.root&&t(this.root)}async iterAsync(e){let t=async i=>{var r,o;await((r=e.enter)==null?void 0:r.call(e,i)),await i.iterChildrenAsync(t),await((o=e.leave)==null?void 0:o.call(e,i))};this.root&&await t(this.root)}async prune(){await this.iterAsync({leave:async e=>{await e.destNotExistInDoc()&&(e.removeAndLiftUpChildren(),e.updateCountForAllAncestors())}})}stringify(){let e="";return this.iter({enter:t=>{t.isRoot()||(e=e+" ".repeat(t.depth-1)+"- "+t.title+`
`)}}),e}async findPDFjsOutlineTreeNode(e){let t=null;return await this.iterAsync({enter:async i=>{if(!(t||i.isRoot())&&e.item.title===i.title){let r=e.item.dest,o=i.getNormalizedDestination();if(typeof r=="string")typeof o=="string"&&r===o&&(t=i);else{let s=await e.getPageNumber();JSON.stringify(this.lib.normalizePDFJsDestArray(r,s))===JSON.stringify(o)&&(t=i)}}}}),t}static async processOutlineRoot(e,t,i){let{app:r}=i,o=await n.fromFile(t,i);e(o.ensureRoot());let s=await o.doc.save();await r.vault.modifyBinary(t,s)}static async findAndProcessOutlineItem(e,t,i,r){let{app:o}=r,s=await n.fromFile(i,r),a=await s.findPDFjsOutlineTreeNode(e);if(!a){new kw.Notice(`${r.manifest.name}: Failed to process the outline item.`);return}t(a);let c=await s.doc.save();await o.vault.modifyBinary(i,c)}},Cu=class n{constructor(e,t){this.outlines=e,this.dict=t}get doc(){return this.outlines.doc}get lib(){return this.outlines.plugin.lib}is(e){return e!==null&&this.dict===e.dict}_get(e){let t=lt(this.dict,e);return t instanceof G?new n(this.outlines,t):null}_setOrDelete(e,t){if(t){let i=this.doc.context.getObjectRef(t.dict);i||(i=this.doc.context.register(t.dict)),this.dict.set(w.of(e),i);return}this.dict.delete(w.of(e))}get firstChild(){return this._get("First")}set firstChild(e){if(e&&!this.is(e.parent))throw new Error(`Item "${e.name}" is not a child of this item "${this.name}"`);this._setOrDelete("First",e)}get lastChild(){return this._get("Last")}set lastChild(e){if(e&&!this.is(e.parent))throw new Error(`Item "${e.name}" is not a child of this item "${this.name}"`);this._setOrDelete("Last",e)}get nextSibling(){return this._get("Next")}set nextSibling(e){if(e&&!(e.parent&&e.parent.is(this.parent)))throw new Error(`Item "${e.name}" is not a sibling of this item "${this.name}"`);this._setOrDelete("Next",e)}get prevSibling(){return this._get("Prev")}set prevSibling(e){if(e&&!(e.parent&&e.parent.is(this.parent)))throw new Error(`Item "${e.name}" is not a sibling of this item "${this.name}"`);this._setOrDelete("Prev",e)}get parent(){return this._get("Parent")}set parent(e){if(e&&this.isRoot())throw new Error("Cannot set parent of the root of outline");this._setOrDelete("Parent",e)}get count(){let e=lt(this.dict,"Count");return e instanceof K?e.asNumber():null}set count(e){if(e===null){this.dict.delete(w.of("Count"));return}this.dict.set(w.of("Count"),K.of(e))}get title(){if(this.isRoot())throw new Error("Root of outline does not have a title");let e=lt(this.dict,"Title");if(e instanceof ee||e instanceof j)return e.decodeText();throw new Error("Title is not a string")}set title(e){if(this.isRoot())throw new Error("Cannot set title of the root of outline");this.dict.set(w.of("Title"),j.fromText(e))}get name(){if(this.isRoot())return"(Root)";let e=this.title;return this.iterAncestors(t=>{t.isRoot()||(e=`${t.title}/${e}`)}),e}get depth(){let e=0;return this.iterAncestors(()=>e++),e}isLeaf(){return!this.firstChild}isRoot(){return this.parent===null}createChild(e,t){let i;if(typeof t=="string")i=j.fromText(t);else{i=X.withContext(this.doc.context),i.push(this.doc.getPage(t[0]).ref),i.push(w.of(t[1]));for(let s of t.slice(2))i.push(typeof s=="number"?K.of(s):Ve)}let r=this.doc.context.getObjectRef(this.dict);if(!r)throw new Error("Could not get ref for parent");let o={Title:j.fromText(e),Dest:i,Parent:r};if(this.lastChild){Object.assign(o,{Prev:this.doc.context.getObjectRef(this.lastChild.dict)});let s=new n(this.outlines,this.doc.context.obj(o));this.lastChild.nextSibling=s,this.lastChild=s}else{let s=new n(this.outlines,this.doc.context.obj(o));this.firstChild=s,this.lastChild=s}return this.lastChild}appendChild(e){if(e.isAncestorOf(this,!0))throw new Error("Cannot append an ancestor as a child");e.remove(),e.updateCountForAllAncestors(),e.parent=this,this.lastChild?(this.lastChild.nextSibling=e,e.prevSibling=this.lastChild,this.lastChild=e):(this.firstChild=e,this.lastChild=e,e.prevSibling=null),e.nextSibling=null,e.updateCountForAllAncestors()}remove(){return this.prevSibling&&(this.prevSibling.nextSibling=this.nextSibling),this.nextSibling&&(this.nextSibling.prevSibling=this.prevSibling),this.parent&&(this.is(this.parent.firstChild)&&(this.parent.firstChild=this.nextSibling),this.is(this.parent.lastChild)&&(this.parent.lastChild=this.prevSibling)),this}removeAndLiftUpChildren(){if(this.remove(),this.firstChild){if(!this.lastChild)throw new Error("Last child is not set despite having children");this.iterChildren(e=>{e.parent=this.parent}),this.prevSibling?(this.prevSibling.nextSibling=this.firstChild,this.firstChild.prevSibling=this.prevSibling):this.parent&&(this.parent.firstChild=this.firstChild,this.firstChild.prevSibling=null),this.nextSibling?(this.nextSibling.prevSibling=this.lastChild,this.lastChild.nextSibling=this.nextSibling):this.parent&&(this.parent.lastChild=this.lastChild,this.lastChild.nextSibling=null)}}iterChildren(e){let t=this.firstChild;for(;t;)e(t),t=t.nextSibling}async iterChildrenAsync(e){let t=this.firstChild;for(;t;)await e(t),t=t.nextSibling}iterAncestors(e,t=!1){t&&e(this);let i=this.parent;for(;i;)e(i),i=i.parent;return this}isAncestorOf(e,t=!1){let i=!1;return e.iterAncestors(r=>{this.is(r)&&(i=!0)},t),i}async sortChildren(){let e=[];await this.iterChildrenAsync(async r=>{let o=r.getExplicitDestination();if(o===null)return 0;let s=o[0],a=o[1]==="XYZ"?o[3]:o[1]==="FitBH"||o[1]==="FitH"?o[2]:void 0;e.push({child:r,page:s,top:a!=null?a:void 0})}),e.sort((r,o)=>{var s,a;return r.page-o.page||((s=r.top)!=null?s:0)-((a=o.top)!=null?a:0)});let t=null,i=e.first();i&&(i.child.prevSibling=null,this.firstChild=i.child);for(let{child:r}of e)t&&(t.nextSibling=r,r.prevSibling=t),t=r;t&&(t.nextSibling=null,this.lastChild=t)}async destNotExistInDoc(){var r,o,s;if(this.isRoot())return!1;let e=this.getDestination(),t=null;if(e instanceof ee||e instanceof j){let a=e.decodeText();t=(o=(r=this.outlines.namedDests)==null?void 0:r.getExplicitDest(a))!=null?o:null}else e instanceof X&&(t=e);if(!t)return!0;let i=t.get(0);if(i instanceof Y){let a=this.doc.context.lookup(i);if(a instanceof Qe)return!((s=a.Parent())!=null&&s.Kids().asArray().includes(i))}throw new Error("The first element of a destination array must be a refernece of a page leaf node.")}countVisibleDescendants(){let e=0;return this.iterChildren(()=>e++),this.iterChildren(t=>{typeof t.count=="number"&&t.count>0&&(e+=t.countVisibleDescendants())}),e}updateCount(e){let t=this.countVisibleDescendants();if(this.isRoot()&&!e)throw new Error("Cannot close the root outline");this.count=e?t:-t}updateCountForAllAncestors(e=!1){return this.iterAncestors(t=>t.updateCount(t.isRoot()),e)}getDestination(){let e=lt(this.dict,"Dest");if(e)return e;let t=lt(this.dict,"A");if(t instanceof G){let i=lt(t,"S");if(i instanceof w&&i.decodeText()==="GoTo"){let r=lt(t,"D");return r!=null?r:null}}return null}getNormalizedDestination(){let e=this.getDestination();return e instanceof ee||e instanceof j?e.decodeText():e instanceof X?this.lib.normalizePdfLibDestArray(e,this.doc):null}getExplicitDestination(){var t,i;let e=this.getNormalizedDestination();if(typeof e=="string"){let r=(i=(t=this.outlines.namedDests)==null?void 0:t.getExplicitDest(e))!=null?i:null;return r?this.lib.normalizePdfLibDestArray(r,this.doc):null}return e}};var jr=require("obsidian");function Cw(n,e,t){let i=(r,o)=>{if(o>=e.length)return;t.clickableParentItem&&r.setUseNativeMenu(!1);let s=new Set(r.items);e[o](r);let a=r.items.filter(c=>!s.has(c));if(o!=e.length-1){for(let c of a)if(c instanceof jr.MenuItem){let l=c.callback,d=c.setSubmenu();if(t.vim){Ng(d);let h=d.scope.keys.find(u=>u.key==="Escape"&&u.modifiers==="");h&&(d.scope.unregister(h),d.scope.register([],"Escape",n.hide.bind(n)))}i(d,o+1),t.clickableParentItem&&c.onClick(l)}}};i(n,0)}function Sw(n){let e=[],t=[],i=n;for(;i&&i.selected>=0;){t.push(i.selected);let r=i.items[i.selected];r instanceof jr.MenuItem&&e.push(r),i=r instanceof jr.MenuItem?r.submenu:null}return{items:e,indices:t}}function Mg(n,e){n.openSubmenu=function(t){return this.parentMenu&&this.closeSubmenu(),jr.Menu.prototype.openSubmenu.call(this,t)},n.openSubmenuSoon=(0,jr.debounce)(n.openSubmenu.bind(n),e!=null?e:250,!0)}function Ng(n){n.scope.register([],"j",n.onArrowDown.bind(n)),n.scope.register([],"k",n.onArrowUp.bind(n)),n.scope.register([],"h",n.onArrowLeft.bind(n)),n.scope.register([],"l",n.onArrowRight.bind(n))}var pe=require("obsidian");var zg=require("obsidian");var Tw=require("obsidian");var Ft=require("obsidian");var Ew=require("obsidian"),Fe=class extends Ew.Component{constructor(e){super(),this.plugin=e}get app(){return this.plugin.app}get lib(){return this.plugin.lib}get settings(){return this.plugin.settings}};var Su=class Su extends Fe{constructor(e,t){super(e),this.child=t,this.destIdToBibText=new Map,this.destIdToParsedBib=new Map,this.events=new Ft.Events,this.initialized=!1,this.init()}isEnabled(){let e=this.child.pdfViewer;return this.settings.actionOnCitationHover!=="none"&&(Gn(e)||this.settings.enableBibInCanvas&&pa(e)||this.settings.enableBibInHoverPopover&&ga(e)||this.settings.enableBibInEmbed&&Jo(e))}async init(){this.isEnabled()&&(await this.extractBibText(),await this.parseBibText()),this.initialized=!0}async extractBibText(){return new Promise(e=>{this.lib.onDocumentReady(this.child.pdfViewer,t=>{new Rg(this.plugin,t).onExtracted((i,r)=>{this.destIdToBibText.set(i,r),this.events.trigger("extracted",i,r)}).extract().then(e)})})}async parseBibText(){let e=Array.from(this.destIdToBibText.values()).join(`
`),t=await this.parseBibliographyText(e);if(t){let i=Array.from(this.destIdToBibText.keys());for(let r=0;r<t.length;r++)this.destIdToParsedBib.set(i[r],t[r]),this.events.trigger("parsed",i[r],t[r])}}spawnBibPopoverOnModKeyDown(e,t,i,r){let o=()=>{let s=new Ft.HoverPopover(t,r,200);s.hoverEl.addClass("pdf-plus-bib-popover");let a=s.hoverEl.createDiv();s.addChild(new Vg(this,e,a))};this.plugin.requireModKeyForLinkHover(Su.HOVER_LINK_SOURCE_ID)?og(i,r,o):o()}getGoogleScholarSearchUrlFromDest(e){var r;let t="",i=this.destIdToParsedBib.get(e);if(i){let{author:o,title:s,year:a,"container-title":c}=i;s&&(t+=`${s[0]}`),o&&(t+=" "+o.map(l=>l.family).join(" ")),a&&(t+=` ${a}`),c&&(t+=` ${c[0]}`)}else t=(r=this.destIdToBibText.get(e))!=null?r:"";return t?`https://scholar.google.com/scholar?hl=en&as_sdt=0%2C5&q=${encodeURIComponent(t)}`:null}async parseBibliographyText(e){let{app:t,plugin:i,settings:r}=this,o=r.anystylePath;if(!o)return null;let s=i.getAnyStyleInputDir();if(Ft.Platform.isDesktopApp&&t.vault.adapter instanceof Ft.FileSystemAdapter&&s){let a=t.vault.adapter.getFullPath(s);await Ft.FileSystemAdapter.mkdir(a);let c=s+`/${dg()}.txt`,l=t.vault.adapter.getFullPath(c);await t.vault.adapter.write(c,e),this.register(()=>t.vault.adapter.remove(c));let{spawn:d}=require("child_process");return new Promise(h=>{let u=d(o,["parse",l]),p="";u.stdout.on("data",f=>{if(f){p+=f.toString();return}h(null)}),u.on("error",f=>{if("code"in f&&f.code==="ENOENT"){let m=`${i.manifest.name}: AnyStyle not found at the path "${o}".`;if(i.settings.anystylePath){let x=new Ft.Notice(m,8e3);x.noticeEl.appendText(" Click "),x.noticeEl.createEl("a",{text:"here"},g=>{g.addEventListener("click",()=>{i.openSettingTab().scrollTo("anystylePath")})}),x.noticeEl.appendText(" to update the path."),console.error(m)}else console.warn(m);return h(null)}}),u.on("close",f=>{var x;if(f)return h(null);let m=JSON.parse(p);if(Array.isArray(m)){for(let g of m)for(let b of(x=g.date)!=null?x:[]){let v=b.match(/\d{4}/);if(v){g.year=v[0];break}}h(m)}h(null)})})}return null}on(e,t,i){return this.events.on(e,t,i)}};Su.HOVER_LINK_SOURCE_ID="pdf-plus-citation-link";var pn=Su,Rg=class{constructor(e,t){this.plugin=e,this.doc=t,this.pageRefToTextContentItemsPromise={}}onExtracted(e){return this.onExtractedCallback=e,this}async extract(){let e=await this.doc.getDestinations(),t=[];for(let i in e)if(this.plugin.lib.isCitationId(i)){let r=e[i];t.push(this.extractBibTextForDest(r).then(o=>{var s;if(o){let a=o.text;(s=this.onExtractedCallback)==null||s.call(this,i,a)}}))}await Promise.all(t)}async getTextContentItemsFromPageRef(e){var i;let t=JSON.stringify(e);return(i=this.pageRefToTextContentItemsPromise[t])!=null?i:this.pageRefToTextContentItemsPromise[t]=(async()=>{let r=await this.doc.getPageIndex(e)+1;return(await(await this.doc.getPage(r)).getTextContent()).items})()}async extractBibTextForDest(e){let t=e[0],i=await this.getTextContentItemsFromPageRef(t),r=-1;if(e[1].name==="XYZ"){let d=e[2],h=e[3];if(d===null||h===null)return null;r=i.findIndex(u=>{if(!u.str)return!1;let p=u.transform[4],f=u.transform[5]+(u.height||u.transform[0])*.8;return d<=p&&f<=h})}else if(e[1].name==="FitBH"){let d=e[2];if(d===null)return null;r=i.findIndex(h=>h.str?h.transform[5]+(h.height||h.transform[0])*.8<=d:!1)}if(r===-1)return null;let o=i[r],s=o.transform[4],a=i[r].str,c=r+1,l=[o];for(;;){let d=i[c];if(!d||d.transform[4]<=s+Math.max(d.height,8)*.1)break;d.str.trimStart().startsWith(".")||d.str.trimStart().startsWith(",")?a=a.trimEnd()+d.str.trimStart():a+=`
`+d.str,l.push(d),c++}return a=a.trimStart().replace(/^\[\d+\]/,""),a=a.trimStart().replace(/^\(\d+\)/,""),a=a.trimStart().replace(/^\d+\./,""),{text:Kc(a),items:l}}},Vg=class extends Fe{constructor(e,t,i){super(e.plugin),this.bib=e,this.destId=t,this.containerEl=i,this.containerEl.addClass("pdf-plus-bib")}get child(){return this.bib.child}renderParsedBib(e){let{author:t,title:i,year:r,"container-title":o}=e;return t?(this.containerEl.createDiv("",s=>{s.createDiv("bib-title",a=>{var c;a.setText((c=i==null?void 0:i[0])!=null?c:"No title")}),s.createDiv("bib-author-year",a=>{let c=t.map(l=>{let d="";return l.given&&(d+=l.given),l.family&&(d+=" "+l.family),d}).filter(l=>l).join(", ");a.appendText(c),r&&a.appendText(` (${r})`)}),o&&s.createDiv("bib-container-title",a=>{a.setText(o[0])})}),!0):!1}async onload(){await this.render()}async render(){this.containerEl.empty();let e=!1,t=this.bib.destIdToParsedBib.get(this.destId);if(t&&(e=this.renderParsedBib(t)),!e){let i=this.bib.destIdToBibText.get(this.destId);i?(this.containerEl.createDiv({text:i}),Ft.Platform.isDesktopApp&&this.settings.anystylePath&&this.registerRenderOn("parsed")):this.bib.initialized?this.containerEl.createDiv({text:"No bibliography found"}):(this.containerEl.createDiv({text:"Loading..."}),this.registerRenderOn("extracted"))}this.containerEl.createDiv("button-container",i=>{new Ft.ButtonComponent(i).setButtonText("Google Scholar").onClick(()=>{let r=this.bib.getGoogleScholarSearchUrlFromDest(this.destId);if(!r){new Ft.Notice(`${this.plugin.manifest.name}: ${this.bib.initialized?"No bibliography found":"Still loading the bibliography information. Please try again later."}`);return}window.open(r)}),new Ft.ExtraButtonComponent(i).setIcon("lucide-settings").setTooltip("Customize...").onClick(()=>{this.plugin.openSettingTab().scrollToHeading("citation")})})}registerRenderOn(e){let t=this.bib.on(e,i=>{i===this.destId&&(this.render(),this.bib.events.offref(t))});this.registerEvent(t)}onunload(){this.containerEl.empty()}};var Eu=class{get hoverPopover(){return this.child.hoverPopover}set hoverPopover(e){this.child.hoverPopover=e,e&&(e.hoverEl.addClass("pdf-plus-pdf-link-like-popover"),this.onHoverPopoverSet(e))}onHoverPopoverSet(e){}constructor(e,t,i){this.plugin=e,this.app=e.app,this.lib=e.lib,this.child=t,this.targetEl=i,this.useModifierKey()&&this.registerClickToOpenInNewLeaf(),this.shouldShowHoverPopover()&&this.registerHover(),this.shouldRecordHistory()&&this.registerClickToRecordHistory()}get hoverLinkSourceId(){return this.constructor.HOVER_LINK_SOURCE_ID}get file(){return this.child.file}get sourcePath(){var e,t;return(t=(e=this.file)==null?void 0:e.path)!=null?t:""}registerClickToOpenInNewLeaf(){let{app:e,plugin:t,targetEl:i}=this;t.registerDomEvent(i,"click",async r=>{if(r.defaultPrevented)return;let o=Tw.Keymap.isModEvent(r);if(!o)return;r.preventDefault(),r.stopPropagation();let s=await this.getLinkText(r);s!==null&&e.workspace.openLinkText(s,this.sourcePath,o)},{capture:!0})}async customHover(e){return!1}registerHover(){let{app:e,plugin:t,targetEl:i}=this;t.registerDomEvent(i,"mouseover",async r=>{if(await this.customHover(r))return;let o=null;try{o=await this.getLinkText(r)}catch(s){if(s.name==="UnknownErrorException")return console.warn(`${this.plugin.manifest.name}: The destination was not found in this document.`);throw s}o!==null&&e.workspace.trigger("hover-link",{event:r,source:this.hoverLinkSourceId,hoverParent:this,targetEl:i,linktext:o,sourcePath:this.sourcePath})})}registerClickToRecordHistory(){let{plugin:e,targetEl:t}=this;e.registerDomEvent(t,"click",i=>{this.recordLeafHistory()},{capture:!0})}recordLeafHistory(){this.lib.workspace.iteratePDFViews(e=>{if(e.containerEl.contains(this.targetEl)){let t=e.leaf;t.recordHistory(t.getHistoryState())}})}},Tu=class extends Eu{async getLinkText(e){var c,l,d;let{lib:t,child:i,targetEl:r}=this;if(!Pi(e,r))return null;let o=(c=i.pdfViewer.pdfViewer)==null?void 0:c.pdfDocument;if(!o)return null;let s=this.getDest(),a=null;return typeof s=="string"?a=await t.destIdToSubpath(s,o):a=await t.pdfJsDestArrayToSubpath(s,o),a===null?null:((d=(l=this.file)==null?void 0:l.path)!=null?d:"")+a}onHoverPopoverSet(e){let t=e.hoverEl,i=this.getDest();typeof i=="string"&&(t.dataset.dest=i)}},$c=class $c extends Tu{constructor(e,t,i){super(e,t,i.container),this.linkAnnotationElement=i}static registerEvents(e,t,i){return i.data.subtype==="Link"?new $c(e,t,i):null}async getLinkText(e){var t,i;if(this.plugin.settings.actionOnCitationHover==="google-scholar-popover"&&this.lib.requirePluginNewerThan("surfing","0.9.5")){let r=this.getDest();if(this.lib.isCitationId(r)&&((t=this.child.pdfViewer.pdfViewer)==null?void 0:t.pdfDocument)){let s=(i=this.child.bib)==null?void 0:i.getGoogleScholarSearchUrlFromDest(r);if(s)return s}}return super.getLinkText(e)}getDest(){return this.linkAnnotationElement.data.dest}useModifierKey(){return this.plugin.settings.clickPDFInternalLinkWithModifierKey}shouldShowHoverPopover(){return this.plugin.settings.enableHoverPDFInternalLink}isCitationLink(){let e=this.getDest();return this.lib.isCitationId(e)}get hoverLinkSourceId(){return this.isCitationLink()?pn.HOVER_LINK_SOURCE_ID:$c.HOVER_LINK_SOURCE_ID}shouldRecordHistory(){return this.plugin.settings.recordPDFInternalLinkHistory&&!this.child.opts.isEmbed}async customHover(e){if(this.plugin.settings.actionOnCitationHover==="pdf-plus-bib-popover"&&this.child.bib&&this.child.bib.isEnabled()){let t=this.getDest();if(this.lib.isCitationId(t))return this.child.bib.spawnBibPopoverOnModKeyDown(t,this,e,this.targetEl),!0}return!1}onHoverPopoverSet(e){super.onHoverPopoverSet(e),e.hoverEl.addClass("pdf-plus-pdf-internal-link-popover")}};$c.HOVER_LINK_SOURCE_ID="pdf-plus-internal-link";var Zn=$c,Au=class Au extends Tu{constructor(e,t,i){super(e,t,i.selfEl),this.item=i}static registerEvents(e,t,i){return new Au(e,t,i)}getDest(){return this.item.item.dest}useModifierKey(){return this.plugin.settings.clickOutlineItemWithModifierKey}shouldShowHoverPopover(){return this.plugin.settings.popoverPreviewOnOutlineHover}shouldRecordHistory(){return this.plugin.settings.recordHistoryOnOutlineClick&&!this.child.opts.isEmbed}onHoverPopoverSet(e){super.onHoverPopoverSet(e),e.hoverEl.addClass("pdf-plus-outline-item-popover")}};Au.HOVER_LINK_SOURCE_ID="pdf-plus-outline";var Yn=Au,Iu=class Iu extends Eu{static registerEvents(e,t){return new Iu(e,t,t.pdfViewer.pdfThumbnailViewer.container)}async getLinkText(e){var r,o;let t=It(e,e.target)&&e.target.closest('.pdf-thumbnail-view > a[href^="#page="]');if(!t)return null;let i=t.getAttribute("href");return((o=(r=this.file)==null?void 0:r.path)!=null?o:"")+i}useModifierKey(){return this.plugin.settings.clickThumbnailWithModifierKey}shouldShowHoverPopover(){return this.plugin.settings.popoverPreviewOnThumbnailHover}shouldRecordHistory(){return this.plugin.settings.recordHistoryOnThumbnailClick&&!this.child.opts.isEmbed}onHoverPopoverSet(e){super.onHoverPopoverSet(e),e.hoverEl.addClass("pdf-plus-thumbnail-item-popover")}};Iu.HOVER_LINK_SOURCE_ID="pdf-plus-thumbnail";var Jn=Iu;var ed=class ed extends Fe{constructor(e,t,i){super(e),this.child=t,this.annot=i}get hoverPopover(){return this.child.hoverPopover}set hoverPopover(e){this.child.hoverPopover=e}get hoverLinkSourceId(){return ed.HOVER_LINK_SOURCE_ID}onload(){this.settings.popoverPreviewOnExternalLinkHover&&this.registerDomEvent(this.annot.container,"mouseover",e=>{let t=this.annot.data.url;t&&(t.startsWith("http://")||t.startsWith("https://"))&&this.app.workspace.trigger("hover-link",{event:e,source:this.hoverLinkSourceId,hoverParent:this,targetEl:this.annot.container,linktext:t})})}static registerEvents(e,t,i){var r;return i.data.subtype==="Link"&&i.data.url?(r=t.component)==null?void 0:r.addChild(new ed(e,t,i)):null}};ed.HOVER_LINK_SOURCE_ID="pdf-plus-external-link";var Kr=ed;var oC={highlight:"Highlight",underline:"Underline"},sC={open:"Open backlink",preview:"Popover preview of backlink"},Bu={"":"Current tab",tab:"New tab",right:"Split right",left:"Split left",down:"Split down",up:"Split up",window:"New window","right-sidebar":"Right sidebar","left-sidebar":"Left sidebar"},Aw={"last-paste":"Last pasted .md","last-active":"Last active .md","last-active-and-open":"Last active & open .md","last-paste-then-last-active":"Last pasted .md if any, otherwise last active .md","last-paste-then-last-active-and-open":"Last pasted .md if any, otherwise last active & open .md","last-active-and-open-then-last-paste":"Last active & open .md if any, otherwise last pasted .md"},aC={root:"Vault folder",current:"Same folder as current file",folder:"In the folder specified below"},Iw={root:"Vault folder",current:"Same folder as current file",folder:"In the folder specified below",subfolder:"In subfolder under current folder",obsidian:"Same as Obsidian's attachment location"},lC=["png","jpg","webp","bmp"],Lw="green",Hg={none:"Same as other internal links","pdf-plus-bib-popover":"PDF++'s custom bibliography popover","google-scholar-popover":"Google Scholar popover"},cC={text:"Copy text",obsidian:"Obsidian default (copy as quote)","pdf-plus":"Run PDF++'s copy command"},Qn={displayTextFormats:[{name:"Title & page",template:"{{file.basename}}, p.{{pageLabel}}"},{name:"Page",template:"p.{{pageLabel}}"},{name:"Text",template:"{{text}}"},{name:"Emoji",template:"\u{1F4D6}"},{name:"None",template:""}],defaultDisplayTextFormatIndex:0,syncDisplayTextFormat:!0,syncDefaultDisplayTextFormat:!1,copyCommands:[{name:"Quote",template:`> ({{linkWithDisplay}})
> {{selection}}
`},{name:"Link",template:"{{linkWithDisplay}}"},{name:"Embed",template:"!{{link}}"},{name:"Callout",template:`> [!{{calloutType}}|{{color}}] {{linkWithDisplay}}
> {{text}}
`},{name:"Quote in callout",template:`> [!{{calloutType}}|{{color}}] {{linkWithDisplay}}
> > {{text}}
>
> `}],useAnotherCopyTemplateWhenNoSelection:!1,copyTemplateWhenNoSelection:"{{linkToPageWithDisplay}}",trimSelectionEmbed:!1,embedMargin:50,noSidebarInEmbed:!0,noSpreadModeInEmbed:!0,embedUnscrollable:!1,singleTabForSinglePDF:!0,highlightExistingTab:!1,existingTabHighlightOpacity:.5,existingTabHighlightDuration:.75,paneTypeForFirstPDFLeaf:"left",openLinkNextToExistingPDFTab:!0,openPDFWithDefaultApp:!1,openPDFWithDefaultAppAndObsidian:!0,focusObsidianAfterOpenPDFWithDefaultApp:!0,syncWithDefaultApp:!1,dontActivateAfterOpenPDF:!0,dontActivateAfterOpenMD:!0,highlightDuration:.75,noTextHighlightsInEmbed:!1,noAnnotationHighlightsInEmbed:!0,persistentTextHighlightsInEmbed:!0,persistentAnnotationHighlightsInEmbed:!1,highlightBacklinks:!0,selectionBacklinkVisualizeStyle:"highlight",dblclickEmbedToOpenLink:!0,highlightBacklinksPane:!0,highlightOnHoverBacklinkPane:!0,backlinkHoverColor:"",colors:{Yellow:"#ffd000",Red:"#ea5252",Note:"#086ddd",Important:"#bb61e5"},defaultColor:"",defaultColorPaletteItemIndex:0,syncColorPaletteItem:!0,syncDefaultColorPaletteItem:!1,colorPaletteInToolbar:!0,noColorButtonInColorPalette:!0,colorPaletteInEmbedToolbar:!1,quietColorPaletteTooltip:!1,showStatusInToolbar:!0,highlightColorSpecifiedOnly:!1,doubleClickHighlightToOpenBacklink:!0,hoverHighlightAction:"preview",paneTypeForFirstMDLeaf:"right",singleMDLeafInSidebar:!0,alwaysUseSidebar:!0,ignoreExistingMarkdownTabIn:[],defaultColorPaletteActionIndex:4,syncColorPaletteAction:!0,syncDefaultColorPaletteAction:!1,proxyMDProperty:"PDF",hoverPDFLinkToOpen:!1,ignoreHeightParamInPopoverPreview:!0,filterBacklinksByPageDefault:!0,showBacklinkToPage:!0,enableHoverPDFInternalLink:!0,recordPDFInternalLinkHistory:!0,alwaysRecordHistory:!0,renderMarkdownInStickyNote:!1,enablePDFEdit:!1,author:"",writeHighlightToFileOpacity:.2,defaultWriteFileToggle:!1,syncWriteFileToggle:!0,syncDefaultWriteFileToggle:!1,enableAnnotationDeletion:!0,warnEveryAnnotationDelete:!1,warnBacklinkedAnnotationDelete:!0,enableAnnotationContentEdit:!0,enableEditEncryptedPDF:!1,pdfLinkColor:"#04a802",pdfLinkBorder:!1,replaceContextMenu:!0,showContextMenuOnMouseUpIf:"Mod",contextMenuConfig:[{id:"action",visible:!0},{id:"selection",visible:!0},{id:"write-file",visible:!0},{id:"annotation",visible:!0},{id:"modify-annotation",visible:!0},{id:"link",visible:!0},{id:"text",visible:!0},{id:"search",visible:!0},{id:"speech",visible:!0},{id:"page",visible:!0},{id:"settings",visible:!0}],selectionProductMenuConfig:["color","copy-format","display"],writeFileProductMenuConfig:["color","copy-format","display"],annotationProductMenuConfig:["copy-format","display"],updateColorPaletteStateFromContextMenu:!0,mobileCopyAction:"pdf-plus",showContextMenuOnTablet:!1,executeBuiltinCommandForOutline:!0,executeBuiltinCommandForZoom:!0,executeFontSizeAdjusterCommand:!0,closeSidebarWithShowCommandIfExist:!0,autoHidePDFSidebar:!1,defaultSidebarView:1,outlineDrag:!0,outlineContextMenu:!0,outlineLinkDisplayTextFormat:"{{file.basename}}, {{text}}",outlineLinkCopyFormat:"{{linkWithDisplay}}",recordHistoryOnOutlineClick:!0,popoverPreviewOnOutlineHover:!0,thumbnailDrag:!0,thumbnailContextMenu:!0,thumbnailLinkDisplayTextFormat:"{{file.basename}}, p.{{pageLabel}}",thumbnailLinkCopyFormat:"{{linkWithDisplay}}",recordHistoryOnThumbnailClick:!0,popoverPreviewOnThumbnailHover:!0,annotationPopupDrag:!0,showAnnotationPopupOnHover:!0,useCallout:!0,calloutType:"PDF",calloutIcon:"highlighter",highlightBacklinksInEmbed:!1,highlightBacklinksInHoverPopover:!1,highlightBacklinksInCanvas:!0,clickPDFInternalLinkWithModifierKey:!0,clickOutlineItemWithModifierKey:!0,clickThumbnailWithModifierKey:!0,focusEditorAfterAutoPaste:!0,clearSelectionAfterAutoPaste:!0,respectCursorPositionWhenAutoPaste:!0,blankLineAboveAppendedContent:!0,autoCopy:!1,autoFocus:!1,autoPaste:!1,autoFocusTarget:"last-active-and-open-then-last-paste",autoPasteTarget:"last-active-and-open-then-last-paste",openAutoFocusTargetIfNotOpened:!0,howToOpenAutoFocusTargetIfNotOpened:"right",closeHoverEditorWhenLostFocus:!0,closeSidebarWhenLostFocus:!1,openAutoFocusTargetInEditingView:!0,executeCommandWhenTargetNotIdentified:!0,commandToExecuteWhenTargetNotIdentified:"switcher:open",autoPasteTargetDialogTimeoutSec:20,autoCopyToggleRibbonIcon:!0,autoCopyIconName:"highlighter",autoFocusToggleRibbonIcon:!0,autoFocusIconName:"zap",autoPasteToggleRibbonIcon:!0,autoPasteIconName:"clipboard-paste",viewSyncFollowPageNumber:!0,viewSyncPageDebounceInterval:.3,openAfterExtractPages:!0,howToOpenExtractedPDF:"tab",warnEveryPageDelete:!1,warnBacklinkedPageDelete:!0,extractPageInPlace:!1,askExtractPageInPlace:!0,pageLabelUpdateWhenInsertPage:"keep",pageLabelUpdateWhenDeletePage:"keep",pageLabelUpdateWhenExtractPage:"keep",askPageLabelUpdateWhenInsertPage:!0,askPageLabelUpdateWhenDeletePage:!0,askPageLabelUpdateWhenExtractPage:!0,copyOutlineAsListFormat:"{{linkWithDisplay}}",copyOutlineAsListDisplayTextFormat:"{{text}}",copyOutlineAsHeadingsFormat:`{{text}}
{{linkWithDisplay}}`,copyOutlineAsHeadingsDisplayTextFormat:"p.{{pageLabel}}",copyOutlineAsHeadingsMinLevel:2,newFileNameFormat:"",newFileTemplatePath:"",newPDFLocation:"current",newPDFFolderPath:"",rectEmbedStaticImage:!1,rectImageFormat:"file",rectImageExtension:"webp",zoomToFitRect:!1,rectFollowAdaptToTheme:!0,rectEmbedResolution:100,includeColorWhenCopyingRectLink:!0,backlinkIconSize:50,showBacklinkIconForSelection:!1,showBacklinkIconForAnnotation:!1,showBacklinkIconForOffset:!0,showBacklinkIconForRect:!1,showBoundingRectForBacklinkedAnnot:!1,hideReplyAnnotation:!1,hideStampAnnotation:!1,searchLinkHighlightAll:"true",searchLinkCaseSensitive:"true",searchLinkMatchDiacritics:"default",searchLinkEntireWord:"false",dontFitWidthWhenOpenPDFLink:!0,preserveCurrentLeftOffsetWhenOpenPDFLink:!1,defaultZoomValue:"page-width",scrollModeOnLoad:0,spreadModeOnLoad:0,usePageUpAndPageDown:!0,hoverableDropdownMenuInToolbar:!0,zoomLevelInputBoxInToolbar:!0,popoverPreviewOnExternalLinkHover:!0,actionOnCitationHover:"pdf-plus-bib-popover",anystylePath:"",enableBibInEmbed:!1,enableBibInHoverPopover:!1,enableBibInCanvas:!0,citationIdPatterns:`^cite.
^bib\\d+$`,copyAsSingleLine:!0,removeWhitespaceBetweenCJChars:!0,dummyFileFolderPath:"",externalURIPatterns:[".*\\.pdf$","https://arxiv.org/pdf/.*"],modifierToDropExternalPDFToCreateDummy:["Shift"],vim:!1,vimrcPath:"",vimVisualMotion:!0,vimScrollSize:40,vimLargerScrollSizeWhenZoomIn:!0,vimContinuousScrollSpeed:1.2,vimSmoothScroll:!0,vimHlsearch:!0,vimIncsearch:!0,enableVimInContextMenu:!0,enableVimOutlineMode:!0,vimSmoothOutlineMode:!0,vimHintChars:"hjklasdfgyuiopqwertnmzxcvb",vimHintArgs:"all",PATH:""};function dC(n){return Qn.hasOwnProperty(n)}var _n=Bt("Mod").toLowerCase(),Lu=class extends pe.PluginSettingTab{constructor(t){super(t.app,t);this.plugin=t;this.events=new pe.Events;this.component=new pe.Component,this.items={},this.headings=new Map,this.iconHeadings=new Map,this.headerEls=new Map,this.promises=[],this.containerEl.addClass("pdf-plus-settings"),this.headerContainerEl=this.containerEl.createDiv("header-container"),this.contentEl=this.containerEl.createDiv("content")}addSetting(t){let i=new pe.Setting(this.contentEl);return t&&(this.items[t]=i,this.component.registerDomEvent(i.settingEl,"contextmenu",r=>{r.preventDefault(),new zg.Menu().addItem(o=>{o.setTitle("Restore default value of this setting").setIcon("lucide-undo-2").onClick(async()=>{this.plugin.settings[t]=this.plugin.getDefaultSettings()[t],await this.plugin.saveSettings(),this.redisplay(),new pe.Notice(`${this.plugin.manifest.name}: Default setting restored. Note that some options require a restart to take effect.`,6e3)})}).addItem(o=>{o.setTitle("Copy link to this setting").setIcon("lucide-link").onClick(()=>{navigator.clipboard.writeText(`obsidian://pdf-plus?setting=${t}`)})}).showAtMouseEvent(r)})),i}addHeading(t,i,r,o){let s=this.addSetting().setName(t).setHeading().then(a=>{if(r){let c=a.settingEl.parentElement;c&&c.insertBefore(createDiv("spacer"),a.settingEl);let l=createDiv();a.settingEl.prepend(l),(0,pe.setIcon)(l,r),a.settingEl.addClass("pdf-plus-setting-heading")}});return this.headings.set(i,s),this.component.registerDomEvent(s.settingEl,"contextmenu",a=>{a.preventDefault(),new zg.Menu().addItem(c=>{c.setTitle("Copy link to this heading").setIcon("lucide-link").onClick(()=>{navigator.clipboard.writeText(`obsidian://pdf-plus?setting=heading:${i}`)})}).showAtMouseEvent(a)}),r&&this.headerContainerEl.createDiv("clickable-icon header",a=>{let c=a.createDiv();(0,pe.setIcon)(c,r);let l=a.createDiv("header-title");l.setText(t),(0,pe.setTooltip)(a,t),this.component.registerDomEvent(a,"click",d=>{var h;((h=s.settingEl.previousElementSibling)!=null?h:s.settingEl).scrollIntoView({behavior:"smooth"}),this.updateHeaderElClassOnScroll(d)}),o==null||o({headerEl:a,iconEl:c,titleEl:l}),this.iconHeadings.set(i,s),this.headerEls.set(i,a)}),s}updateHeaderElClass(){var r,o,s;let t=this.containerEl.getBoundingClientRect().height,i=Array.from(this.iconHeadings.entries());for(let a=0;a<i.length;a++){let c=i[a][1].settingEl.getBoundingClientRect().top,l=(o=(r=i[a+1])==null?void 0:r[1].settingEl.getBoundingClientRect().top)!=null?o:this.contentEl.getBoundingClientRect().bottom,d=c<=t*.85&&l>=t*.2+this.headerContainerEl.clientHeight,h=i[a][0];(s=this.headerEls.get(h))==null||s.toggleClass("is-active",d)}}updateHeaderElClassOnScroll(t){var o;let i=(o=t==null?void 0:t.win)!=null?o:activeWindow,r=i.setInterval(()=>this.updateHeaderElClass(),50);i.setTimeout(()=>i.clearInterval(r),1500)}scrollTo(t,i){let r=this.items[t];r&&this.scrollToSetting(r,i)}scrollToHeading(t,i){let r=this.headings.get(t);r&&this.scrollToSetting(r,i)}scrollToSetting(t,i){let r=t.settingEl;r&&this.containerEl.scrollTo({top:r.offsetTop-this.headerContainerEl.offsetHeight,...i})}openFromObsidianUrl(t){let i=t.setting;i.startsWith("heading:")?this.plugin.openSettingTab().scrollToHeading(i.slice(8)):dC(i)&&this.plugin.openSettingTab().scrollTo(i)}getVisibilityToggler(t,i){let r=()=>{i()?t.settingEl.show():t.settingEl.hide()};return r(),r}showConditionally(t,i){let r=Array.isArray(t)?t:[t],o=r.map(s=>this.getVisibilityToggler(s,i));return this.events.on("update",()=>o.forEach(s=>s())),r}addTextSetting(t,i,r){let o=this.addSetting(t).addText(s=>{s.setValue(this.plugin.settings[t]).setPlaceholder(i!=null?i:"").then(a=>{i&&(a.inputEl.size=Math.max(a.inputEl.size,a.inputEl.placeholder.length))}).onChange(async a=>{this.plugin.settings[t]=a,await this.plugin.saveSettings()}),r&&(this.component.registerDomEvent(s.inputEl,"blur",()=>{r(o)}),this.component.registerDomEvent(s.inputEl,"keypress",a=>{a.key==="Enter"&&r(o)}))});return o}addTextAreaSetting(t,i,r){return this.addSetting(t).addTextArea(o=>{o.setValue(this.plugin.settings[t]).setPlaceholder(i!=null?i:"").onChange(async s=>{this.plugin.settings[t]=s,await this.plugin.saveSettings()}),r&&this.component.registerDomEvent(o.inputEl,"blur",r)})}addNumberSetting(t){return this.addSetting(t).addText(i=>{i.setValue(""+this.plugin.settings[t]).setPlaceholder(""+Qn[t]).then(r=>r.inputEl.type="number").onChange(async r=>{this.plugin.settings[t]=r===""?Qn[t]:+r,await this.plugin.saveSettings()})})}addToggleSetting(t,i){return this.addSetting(t).addToggle(r=>{r.setValue(this.plugin.settings[t]).onChange(async o=>{this.plugin.settings[t]=o,await this.plugin.saveSettings(),i==null||i(o)})})}addColorPickerSetting(t,i){return this.addSetting(t).addColorPicker(r=>{r.setValue(this.plugin.settings[t]).onChange(async o=>{this.plugin.settings[t]=o,await this.plugin.saveSettings(),i==null||i(o)})})}addDropdownSetting(t,...i){let r=[],o=a=>a,s=a=>{};return Array.isArray(i[0])?(r=i[0],typeof i[1]=="function"&&(o=i[1]),typeof i[2]=="function"&&(s=i[2])):(r=Object.keys(i[0]),o=a=>i[0][a],typeof i[1]=="function"&&(s=i[1])),this.addSetting(t).addDropdown(a=>{var c;for(let l of r){let d=(c=o(l))!=null?c:l;a.addOption(l,d)}a.setValue(this.plugin.settings[t]).onChange(async l=>{this.plugin.settings[t]=l,await this.plugin.saveSettings(),s==null||s(l)})})}addIndexDropdownSetting(t,i,r,o){return this.addSetting(t).addDropdown(s=>{var l;for(let d of i){let h=(l=r==null?void 0:r(d))!=null?l:d;s.addOption(d,h)}let a=this.plugin.settings[t],c=i[a];s.setValue(c).onChange(async d=>{let h=i.indexOf(d);h!==-1&&(this.plugin.settings[t]=h,await this.plugin.saveSettings(),o==null||o(h))})})}addEnumDropdownSetting(t,i,r){return this.addSetting(t).addDropdown(o=>{for(let[s,a]of Object.entries(i))parseInt(s).toString()===s&&o.addOption(s,a);o.setValue(""+this.plugin.settings[t]).onChange(async s=>{this.plugin.settings[t]=+s,await this.plugin.saveSettings(),r==null||r(+s)})})}addSliderSetting(t,i,r,o){return this.addSetting(t).addSlider(s=>{s.setLimits(i,r,o).setValue(this.plugin.settings[t]).setDynamicTooltip().onChange(async a=>{this.plugin.settings[t]=a,await this.plugin.saveSettings()})})}addDesc(t){return this.addSetting().setDesc(t)}addFileLocationSetting(t,i,r,o){return[this.addDropdownSetting(t,aC,()=>this.redisplay()).then(i),this.addSetting().addText(s=>{s.setValue(this.plugin.settings[r]),s.inputEl.size=30,new Nr(this.app,s.inputEl).onSelect(({item:a})=>{this.plugin.settings[r]=a.path,this.plugin.saveSettings()})}).then(s=>{o(s),this.plugin.settings[t]!=="folder"&&s.settingEl.hide()})]}addAttachmentLocationSetting(t,i,r){let o,s,a,c=()=>{let f=o.getValue();u.settingEl.toggle(f==="folder"),p.settingEl.toggle(f==="subfolder")},l=()=>{let f=o.getValue();return f==="root"?"/":f==="folder"?s.getValue()||i:f==="current"?"./":f==="subfolder"?"./"+(a.getValue()||i):""},d=f=>{if(f===""){o.setValue("obsidian");return}if(f==="/"){o.setValue("root");return}if(f!=="."&&f!=="./"){if(f.startsWith("./")){let m=f.slice(2);o.setValue("subfolder"),a.setValue(m!==i?m:"");return}o.setValue("folder"),s.setValue(f!==i?f:"");return}o.setValue("current")},h=this.addSetting(t).addDropdown(f=>{f.onChange(async()=>{c(),this.plugin.settings[t]=l(),await this.plugin.saveSettings()}),f.addOptions(Iw),o=f}),u=this.addSetting().addText(f=>{f.setPlaceholder(i).onChange(async()=>{this.plugin.settings[t]=l(),await this.plugin.saveSettings()}),new Nr(this.app,f.inputEl).onSelect(()=>{setTimeout(async()=>{this.plugin.settings[t]=l(),await this.plugin.saveSettings()})}),s=f}),p=this.addSetting().addText(f=>{f.setPlaceholder(i).onChange(async()=>{this.plugin.settings[t]=l(),await this.plugin.saveSettings()}),a=f});r(h,u,p),d(this.plugin.settings[t]),c()}addFundingButton(){let t=i=>{let r=i.firstElementChild;(r==null?void 0:r.tagName)==="svg"&&(r.setAttribute("fill","var(--color-red)"),r.setAttribute("stroke","var(--color-red)"))};return this.addHeading("Support development","funding","lucide-heart",({iconEl:i})=>t(i)).setDesc(`If you find PDF++ helpful, please consider supporting the development to help me keep this plugin alive.
If you prefer PayPal, please make donations via Ko-fi. Thank you!`).then(i=>{let r=i.infoEl,o=i.settingEl.firstElementChild;if(!o)return;let s=i.settingEl.createDiv();s.appendChild(o),s.appendChild(r),i.settingEl.prepend(s),i.settingEl.id="pdf-plus-funding",s.id="pdf-plus-funding-icon-info-container",o.id="pdf-plus-funding-icon",t(o)}).addButton(i=>{i.setButtonText("GitHub Sponsors").onClick(()=>{open("https://github.com/sponsors/RyotaUshio")})}).addButton(i=>{i.setButtonText("Buy Me a Coffee").onClick(()=>{open("https://www.buymeacoffee.com/ryotaushio")})}).addButton(i=>{i.setButtonText("Ko-fi").onClick(()=>{open("https://ko-fi.com/ryotaushio")})})}async renderMarkdown(t,i){this.promises.push(this._renderMarkdown(t,i)),i.addClass("markdown-rendered")}async _renderMarkdown(t,i){await pe.MarkdownRenderer.render(this.app,Array.isArray(t)?t.join(`
`):t,i,"",this.component),i.childNodes.length===1&&i.firstChild instanceof HTMLParagraphElement&&i.replaceChildren(...i.firstChild.childNodes)}addColorSetting(t){let i=this.plugin.settings.colors,[r,o]=Object.entries(i)[t],s=this.plugin.settings.defaultColor===r,a=o;return this.addSetting().addText(c=>{c.setPlaceholder("Color name (case-insensitive)").then(l=>{l.inputEl.size=l.inputEl.placeholder.length,(0,pe.setTooltip)(l.inputEl,"Color name (case-insensitive)")}).setValue(r).onChange(async l=>{if(l in i){new pe.Notice("This color name is already used."),c.inputEl.addClass("error");return}c.inputEl.removeClass("error"),delete i[r];for(let d of["defaultColor","backlinkHoverColor"]){let h=this.items[d];if(h){let u=h.components[0].selectEl.querySelector(`:scope > option:nth-child(${t+2})`);u&&(u.value=l,u.textContent=l)}}r=l,i[r]=o,s&&(this.plugin.settings.defaultColor=r),await this.plugin.saveSettings(),this.plugin.loadStyle()})}).addColorPicker(c=>{c.setValue(o),c.onChange(async l=>{a=o,o=l,i[r]=o,await this.plugin.saveSettings(),this.plugin.loadStyle()})}).addExtraButton(c=>{c.setIcon("rotate-ccw").setTooltip("Return to previous color").onClick(async()=>{o=a,i[r]=o,await this.plugin.saveSettings(),this.plugin.loadStyle(),this.redisplay()})}).addExtraButton(c=>{c.setIcon("trash").setTooltip("Delete").onClick(async()=>{this.plugin.settings.defaultColor===r&&(this.plugin.settings.defaultColor=""),delete i[r],await this.plugin.saveSettings(),this.plugin.loadStyle(),this.redisplay()})})}addNameValuePairListSetting(t,i,r,o,s){let{getName:a,setName:c,getValue:l,setValue:d}=o,h=t[i],u=a(h),p=l(h);return this.addSetting().addText(f=>{f.setPlaceholder(s.name.placeholder).then(m=>{m.inputEl.size=s.name.formSize,(0,pe.setTooltip)(m.inputEl,s.name.placeholder)}).setValue(u).onChange(async m=>{if(t.some(g=>a(g)===m)){new pe.Notice(s.name.duplicateMessage),f.inputEl.addClass("error");return}f.inputEl.removeClass("error"),c(h,m);let x=this.items[r];if(x){let g=x.components[0].selectEl.querySelector(`:scope > option:nth-child(${i+1})`);g&&(g.value=m,g.textContent=m)}await this.plugin.saveSettings()})}).then(f=>{s.value.hasOwnProperty("formRows")?f.addTextArea(m=>{m.setPlaceholder(s.value.placeholder).then(x=>{x.inputEl.rows=s.value.formRows,x.inputEl.cols=s.value.formSize,(0,pe.setTooltip)(x.inputEl,s.value.placeholder)}).setValue(p).onChange(async x=>{d(h,x),await this.plugin.saveSettings()})}):f.addText(m=>{m.setPlaceholder(s.value.placeholder).then(x=>{x.inputEl.size=s.value.formSize,(0,pe.setTooltip)(x.inputEl,s.value.placeholder)}).setValue(p).onChange(async x=>{d(h,x),await this.plugin.saveSettings()})})}).addExtraButton(f=>{f.setIcon("trash").setTooltip("Delete").onClick(async()=>{if(t.length===1){new pe.Notice(s.delete.deleteLastMessage);return}t.splice(i,1),this.plugin.settings[r]>i?this.plugin.settings[r]--:this.plugin.settings[r]===i&&(this.plugin.settings[r]=0),await this.plugin.saveSettings(),this.redisplay()})}).setClass("no-border")}addNamedTemplatesSetting(t,i,r,o){return this.addNameValuePairListSetting(t,i,r,{getName:s=>s.name,setName:(s,a)=>{s.name=a},getValue:s=>s.template,setValue:(s,a)=>{s.template=a}},o)}addDisplayTextSetting(t){return this.addNamedTemplatesSetting(this.plugin.settings.displayTextFormats,t,"defaultDisplayTextFormatIndex",{name:{placeholder:"Format name",formSize:30,duplicateMessage:"This format name is already used."},value:{placeholder:"Display text format",formSize:50},delete:{deleteLastMessage:"You cannot delete the last display text format."}})}addCopyCommandSetting(t){return this.addNamedTemplatesSetting(this.plugin.settings.copyCommands,t,"defaultColorPaletteActionIndex",{name:{placeholder:"Format name",formSize:30,duplicateMessage:"This format name is already used."},value:{placeholder:"Copied text format",formSize:50,formRows:3},delete:{deleteLastMessage:"You cannot delete the last copy format."}})}addHotkeySettingButton(t,i){t.addButton(r=>{r.setButtonText("Open hotkeys settings").onClick(()=>{this.plugin.openHotkeySettingTab(i)})})}addPagePreviewSettingButton(t){return t.addButton(i=>{i.setButtonText("Open page preview settings").onClick(()=>{this.app.setting.openTabById("page-preview")})})}addRequireModKeyOnHoverSetting(t){let i=this.app.workspace.hoverLinkSources[t].display,r=this.plugin.requireModKeyForLinkHover(t);return this.addSetting().setName(`Require ${_n} key while hovering`).setDesc(`Currently ${r?"required":"not required"}. You can toggle this on and off in the core Page Preview plugin settings > ${i}.`).then(o=>this.addPagePreviewSettingButton(o))}addIconSetting(t,i){let r=a=>a.startsWith("lucide-")?a.slice(7):a,o=a=>a.startsWith("lucide-")?a:"lucide-"+a,s=a=>{var d;let c=(d=a.controlEl.querySelector(":scope>.icon-preview"))!=null?d:a.controlEl.createDiv("icon-preview");(0,pe.setIcon)(c,o(this.plugin.settings[t]));let l=a.components[0];(!i||this.plugin.settings[t])&&!c.childElementCount?(l.inputEl.addClass("error"),(0,pe.setTooltip)(l.inputEl,"No icon found")):(l.inputEl.removeClass("error"),(0,pe.setTooltip)(l.inputEl,""))};return this.addTextSetting(t,void 0,a=>{this.plugin.settings[t]=r(this.plugin.settings[t]),this.plugin.saveSettings(),s(a)}).then(a=>{this.renderMarkdown(["You can use any icon from [Lucide](https://lucide.dev/icons)."+(i?" Leave blank to remove icons.":"")],a.descEl)}).then(s)}addProductMenuSetting(t,i){let r=Qn[t],o={color:"Colors","copy-format":"Copy format",display:"Display text format"},s=this.plugin.settings[t],a=this.addHeading(i,t);a.addExtraButton(d=>{d.setTooltip("Reset").setIcon("rotate-ccw").onClick(()=>{s.length=0,s.push(...r),this.redisplay()})});let c=[],l=r.slice();for(let d=0;d<r.length;d++){if(d>0){if(!pe.Platform.isDesktopApp)return;let h=c[d-1].getValue();if(!h)return;l.remove(h)}this.addSetting().then(h=>{pe.Platform.isDesktopApp&&h.setName(d===0?"Top-level menu":d===1?"Submenu":"Subsubmenu")}).addDropdown(h=>{var p;for(let f of l)h.addOption(f,o[f]);d>0&&h.addOption("","None");let u=(p=s[d])!=null?p:"";u&&!l.includes(u)&&l[0]&&(s[d]=l[0],u=s[d]),h.setValue(u).onChange(f=>{if(f)s[d]=f;else for(;s.length>d;)s.pop();this.plugin.saveSettings(),this.redisplay()}),c.push(h)}).then(h=>{h.settingEl.addClasses(["no-border","small-padding"])})}return a}createLinkTo(t,i){return createEl("a","",r=>{r.onclick=o=>{this.scrollTo(t,{behavior:"smooth"}),this.updateHeaderElClassOnScroll(o)},activeWindow.setTimeout(()=>{let o=this.items[t];!i&&o&&(i='"'+o.nameEl.textContent+'"'),r.setText(i!=null?i:"")})})}createLinkToHeading(t,i){return createEl("a","",r=>{r.onclick=o=>{this.scrollToHeading(t,{behavior:"smooth"}),this.updateHeaderElClassOnScroll(o)},activeWindow.setTimeout(()=>{let o=this.headings.get(t);!i&&o&&(i='"'+o.nameEl.textContent+'"'),r.setText(i!=null?i:"")})})}redisplay(){let t=this.contentEl.scrollTop;this.display(),this.contentEl.scroll({top:t}),this.events.trigger("update")}async display(){var c,l;wa.openIfNecessary(this.plugin),this.headerContainerEl.empty(),this.contentEl.empty(),this.promises=[],this.component.load(),activeWindow.setTimeout(()=>this.updateHeaderElClass());for(let d of["wheel","touchmove"])this.component.registerDomEvent(this.contentEl,d,(0,pe.debounce)(()=>this.updateHeaderElClass(),100),{passive:!0});this.contentEl.createDiv("top-note",async d=>{await this.renderMarkdown(["> [!TIP]","> - You can easily navigate through the settings by clicking the icons in the header above.","> - Some settings below require reopening tabs or reloading the plugin to take effect.","> - [Visit the docs](https://ryotaushio.github.io/obsidian-pdf-plus/)",'> - <a id="pdf-plus-funding-link-placeholder"></a>'],d);let h=document.getElementById("pdf-plus-funding-link-placeholder");h&&(h.textContent="Help me keep PDF++ alive!",h.onclick=u=>{this.scrollToHeading("funding",{behavior:"smooth"}),this.updateHeaderElClassOnScroll(u)})}),this.addHeading("Editing PDF files","edit","lucide-save").then(d=>{this.renderMarkdown(["By allowing PDF++ to modify PDF files directly, you can:","- Add, edit and delete highlights and links in PDF files.","- Add, insert, delete or extract PDF pages and auto-update links.","- Add, rename, move and delete outline items.","- Edit [page labels](https://ryotaushio.github.io/obsidian-pdf-plus/page-labels.html).","","[Learn more](https://ryotaushio.github.io/obsidian-pdf-plus/editing-pdfs.html)"],d.descEl)}),this.addToggleSetting("enablePDFEdit",()=>this.redisplay()).setName("Enable PDF editing").then(d=>{this.renderMarkdown(['PDF++ will not modify PDF files themselves unless you turn on this option. <span style="color: var(--text-warning);">The author assumes no responsibility for any data corruption. Please make sure you have a backup of your files.</span> Also note that PDF++ currently does not support editing encrypted PDFs.'],d.descEl)}),this.plugin.settings.enablePDFEdit&&this.addTextSetting("author","Your name",d=>{let h=d.components[0].inputEl;h.toggleClass("error",!h.value)}).setName("Annotation author").setDesc("It must contain at least one character in order to make annotations referenceable & editable within Obsidian.").then(d=>{let h=d.components[0].inputEl;h.toggleClass("error",!h.value)}),this.addHeading("Backlink highlighting","backlink-highlight","lucide-highlighter").setDesc('Annotate PDF files with highlights just by linking to text selection. You can easily copy links to selections using color palette in the toolbar. See the "Color palette" section for the details.').then(d=>d.settingEl.addClass("normal-margin-top")),this.addToggleSetting("highlightBacklinks").setName("Highlight backlinks in PDF viewer").setDesc("In the PDF viewer, any referenced text will be highlighted for easy identification."),this.addDesc("Try turning off the following options if you experience performance issues."),this.addToggleSetting("highlightBacklinksInEmbed").setName("Highlight backlinks in PDF embeds"),this.addToggleSetting("highlightBacklinksInCanvas").setName("Highlight backlinks in Canvas"),this.addToggleSetting("highlightBacklinksInHoverPopover").setName("Highlight backlinks in hover popover previews"),this.addDropdownSetting("selectionBacklinkVisualizeStyle",oC).setName("Highlight style").setDesc("How backlinks to a text selection should be visualized."),this.addDropdownSetting("hoverHighlightAction",sC,()=>this.redisplay()).setName("Action when hovering over highlighted text").setDesc(`Easily open backlinks or display a popover preview of it by pressing ${Bt("Mod").toLowerCase()} (by default) while hovering over a highlighted text in PDF viewer.`),this.addRequireModKeyOnHoverSetting("pdf-plus"),this.addToggleSetting("doubleClickHighlightToOpenBacklink").setName("Double click highlighted text to open the corresponding backlink"),this.addHeading("How backlinks are opened","open-backlink").setDesc("Customize how backlinks are opened when "+(this.plugin.settings.hoverHighlightAction==="open"?`${Bt("Mod").toLowerCase()}+hovering over or `:"")+"double-clicking highlighted text."),this.addDropdownSetting("paneTypeForFirstMDLeaf",Bu,()=>this.redisplay()).setName("How to open the markdown file when no markdown file is opened"),(this.plugin.settings.paneTypeForFirstMDLeaf==="left-sidebar"||this.plugin.settings.paneTypeForFirstMDLeaf==="right-sidebar")&&(this.addToggleSetting("alwaysUseSidebar").setName("Always use sidebar to open markdown files from highlighted text").setDesc(`If turned on, the ${this.plugin.settings.paneTypeForFirstMDLeaf==="left-sidebar"?"left":"right"} sidebar will be used whether there is existing markdown tabs or not.`),this.addToggleSetting("singleMDLeafInSidebar").setName("Don't open multiple panes in sidebar").setDesc("Turn this on if you want to open markdown files in a single pane in the sidebar.")),this.addSetting("ignoreExistingMarkdownTabIn").setName("Ignore existing markdown tabs in...").setDesc("If some notes are opened in the ignored splits, PDF++ will still open the backlink in the way specified in the previous setting. For example, you might want to ignore the left sidebar if you are pinning a certain note (e.g. daily note) in it.");let t={leftSplit:"Left sidebar",rightSplit:"Right sidebar",floatingSplit:"Popout windows"},i=this.plugin.settings.ignoreExistingMarkdownTabIn;for(let[d,h]of Object.entries(t)){let u=d;this.addSetting().addToggle(p=>{p.setValue(i.includes(u)).onChange(f=>{f?i.push(u):i.remove(u),this.plugin.saveSettings()})}).then(p=>{p.controlEl.prepend(createEl("span",{text:h})),p.settingEl.addClasses(["no-border","ignore-split-setting"])})}this.addToggleSetting("dontActivateAfterOpenMD").setName("Don't move focus to markdown view after opening a backlink").setDesc("This option will be ignored when you open a link in a tab in the same split as the current tab."),this.addHeading("Colors","color"),this.addSetting("colors").setName("Highlight colors").then(d=>this.renderMarkdown(['You can optionally highlight the selection with **a specified color** by appending "&color=`<COLOR NAME>`" to a link text, where `<COLOR NAME>` is one of the colors that you register below. e.g `[[file.pdf#page=1&selection=4,0,5,20&color=red]].` ',"Color names are case-insensitive. ","",'You can ues the color palette in PDF toolbars to easily copy links with "&color=..." appended automatically. See the "Color palette" section for the details.',"",'You can also opt not to use this plugin-dependent notation and apply a single color (the "default highlight color" setting) to all highlights.',"","These colors are also available as CSS variables, e.g. `--pdf-plus-yellow-rgb`. You can use them for various CSS customizations. See [README](https://github.com/RyotaUshio/obsidian-pdf-plus?tab=readme-ov-file#css-customization) for the details."],d.descEl)).addButton(d=>{d.setIcon("plus").setTooltip("Add a new color").onClick(()=>{this.plugin.settings.colors[""]="#",this.redisplay()})});for(let d=0;d<Object.keys(this.plugin.settings.colors).length;d++)this.addColorSetting(d).setClass("no-border");this.addToggleSetting("highlightColorSpecifiedOnly",()=>this.redisplay()).setName("Highlight a backlink only if a color is specified").setDesc("By default, all backlinks are highlighted. If this option is enabled, a backlink will be highlighted only when a color is specified in the link text."),this.plugin.settings.highlightColorSpecifiedOnly||this.addDropdownSetting("defaultColor",["",...Object.keys(this.plugin.settings.colors)],d=>d||"Obsidian default",()=>this.plugin.loadStyle()).setName("Default highlight color").setDesc("If no color is specified in link text, this color will be used."),this.addHeading("Backlink indicator bounding rectangles","backlink-bounding-rect"),this.addToggleSetting("showBoundingRectForBacklinkedAnnot").setName("Show bounding rectangles for backlinked annotations").setDesc("Bounding rectangles will be shown for annotations with backlinks."),this.addHeading("Backlink indicator icons","backlink-icon").setDesc("Show icons for text selections, annotations, offsets and rectangular selections with backlinks."),this.addToggleSetting("showBacklinkIconForSelection").setName("Show icon for text selection with backlinks"),this.addToggleSetting("showBacklinkIconForAnnotation").setName("Show icon for annotation with backlinks"),this.addToggleSetting("showBacklinkIconForOffset").setName("Show icon for offset backlinks"),this.addToggleSetting("showBacklinkIconForRect").setName("Show icon for rectangular selection backlinks"),this.addSliderSetting("backlinkIconSize",10,100,5).setName("Icon size"),this.addHeading("Rectangular selection embeds","rect","lucide-box-select").then(d=>{this.renderMarkdown(["You can embed a specified rectangular area from a PDF page into your note. [Learn more](https://ryotaushio.github.io/obsidian-pdf-plus/embedding-rectangular-selections.html)"],d.descEl)}),this.addToggleSetting("rectEmbedStaticImage",()=>this.redisplay()).setName("Paste as image").setDesc("By default, rectangular selection embeds are re-rendered every time you open the markdown file, which can slow down the loading time. Turn on this option to replace them with static images and improve the performance."),this.plugin.settings.rectEmbedStaticImage&&(this.addDropdownSetting("rectImageFormat",{file:"Create & embed image file","data-url":"Embed as data URL"},()=>this.redisplay()).setName("How to embed the image").then(d=>this.renderMarkdown(['- "Create & embed image file": Create an image file and embed it in the markdown file. The image file will be saved in the folder you specify in the "Default location for new attachments" setting in the core Obsidian settings.',`- "Embed as data URL": Embed the image as a [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs) without creating a file. This option is useful when you don't want to mess up your attachment folder. It also helps you make your notes self-contained.`],d.descEl)),this.plugin.settings.rectImageFormat==="file"&&this.addDropdownSetting("rectImageExtension",lC).setName("Image file format")),this.addToggleSetting("rectFollowAdaptToTheme").setName('Follow "adapt to theme" setting').setDesc('If enabled, rectangular selection embeds will be inverted in color when the "Adapt to theme" setting is enabled in the PDF toolbar. This will help you reduce eye strain in dark mode.'),this.addSliderSetting("rectEmbedResolution",10,200,1).setName("Rendering resolution").setDesc("The higher the value, the better the rendering quality, but the longer time it takes to render. The default value is 100."),this.addToggleSetting("includeColorWhenCopyingRectLink").setName("Include the selected color's name when copying a link to a rectangular selection").setDesc("When enabled, the name of the color selected in the color palette will be included in the link text. As a result, the rectangular selection will be highlighted with the specified color in the PDF viewer."),this.addToggleSetting("zoomToFitRect").setName("Zoom to fit rectangular selection when opening link").setDesc(createFragment(d=>{d.appendText("When enabled, the PDF viewer will zoom to fit the rectangular selection when you open a link to it. Otherwise, the viewer will keep the current zoom level. "),d.appendText("Note: check out the "),d.appendChild(this.createLinkTo("dblclickEmbedToOpenLink")),d.appendText(" option as well.")})),this.addHeading("PDF++ callouts","callout","lucide-quote").then(d=>{this.renderMarkdown("Create [callouts](https://help.obsidian.md/Editing+and+formatting/Callouts) with the same color as the highlight color without any CSS snippet scripting.",d.descEl)}),this.addToggleSetting("useCallout").setName("Use PDF++ callouts").then(d=>{this.renderMarkdown(["You can also disable this option and choose to use your own custom [CSS snippets](https://help.obsidian.md/Extending+Obsidian/CSS+snippets). See our [README](https://github.com/RyotaUshio/obsidian-pdf-plus?tab=readme-ov-file#css-customization) for the details."],d.descEl)}),this.addTextSetting("calloutType",void 0,()=>this.redisplay()).setName("Callout type name").then(d=>{var p,f;let h=this.plugin.settings.calloutType,u=(f=(p=Object.keys(this.plugin.settings.colors).first())==null?void 0:p.toLowerCase())!=null?f:"yellow";this.renderMarkdown([`For example, if this is set to "${h}", use the following syntax to insert a callout with color "${u}":`,"","```markdown",`> [!${h}|${u}] Title`,"> Content","```","",'You can also use explicit RGB color values like "255, 208, 0" instead of color names.',"I recommend setting this as a custom color palette action in the setting below, like so:","","```markdown","> [!{{calloutType}}|{{color}}] {{linkWithDisplay}}","> {{text}}","```"],d.descEl)}),this.addIconSetting("calloutIcon",!0).setName("Callout icon"),this.addHeading("PDF toolbar","toolbar","lucide-palette"),this.addToggleSetting("hoverableDropdownMenuInToolbar").setName("Hoverable dropdown menus").setDesc("(Not supported on smartphones) When enabled, the dropdown menus (\u2304) in the PDF toolbar will be opened by hovering over the icon, and you don't need to click it."),this.addToggleSetting("zoomLevelInputBoxInToolbar").setName("Show zoom level box").setDesc("A input box will be added to the PDF toolbar, which indicated the current zoom level and allows you to set the zoom level by typing a number."),this.addHeading("Color palette","palette").setDesc('Clicking a color while selecting a range of text will copy a link to the selection with "&color=..." appended.'),this.addToggleSetting("colorPaletteInToolbar",()=>{this.redisplay(),this.plugin.loadStyle()}).setName("Show color palette in the toolbar").setDesc("A color palette will be added to the toolbar of the PDF viewer."),this.plugin.settings.colorPaletteInToolbar&&(this.addToggleSetting("noColorButtonInColorPalette",()=>this.plugin.loadStyle()).setName('Show "without specifying color" button in the color palette'),this.addToggleSetting("colorPaletteInEmbedToolbar",()=>this.plugin.loadStyle()).setName("Show color palette in PDF embeds as well"),this.addIndexDropdownSetting("defaultColorPaletteItemIndex",["",...Object.keys(this.plugin.settings.colors)],d=>d||"Don't specify").setName("Default color selected in color palette").setDesc("This color will be selected in the color palette in a newly opened PDF viewer."),this.addToggleSetting("syncColorPaletteItem",()=>this.redisplay()).setName("Share a single color among all color palettes").setDesc("If disabled, you can specify a different color for each color palette."),this.plugin.settings.syncColorPaletteItem&&this.addToggleSetting("syncDefaultColorPaletteItem").setName("Share the color with newly opened color palettes as well"),this.addToggleSetting("quietColorPaletteTooltip").setName("Quiet tooltips in color palette").setDesc(`When disabled${Qn.quietColorPaletteTooltip?"":" (default)"}, the tooltip will show the color name as well as the selected copy format and display text format. If enabled, only the color name will be shown.`)),this.addHeading("Viewer options","viewer-option","lucide-monitor"),this.addSetting("defaultZoomValue").setName("Default zoom level").setDesc("This option will be ignored in PDF embeds.").addDropdown(d=>{d.addOptions({"page-width":"Fit width","page-height":"Fit height","page-fit":"Fit page",custom:"Custom..."}).setValue(this.plugin.settings.defaultZoomValue.startsWith("page-")?this.plugin.settings.defaultZoomValue:"custom").onChange(async h=>{h==="custom"&&(h="100"),this.plugin.settings.defaultZoomValue=h,r(),await this.plugin.saveSettings()})});let r=this.getVisibilityToggler(this.addSetting().setName("Custom zoom level (%)").addSlider(d=>{d.setLimits(10,400,5).setDynamicTooltip().setValue(this.plugin.settings.defaultZoomValue.startsWith("page-")?100:parseInt(this.plugin.settings.defaultZoomValue)).onChange(async h=>{this.plugin.settings.defaultZoomValue=""+h,await this.plugin.saveSettings()})}),()=>!this.plugin.settings.defaultZoomValue.startsWith("page-"));this.addEnumDropdownSetting("scrollModeOnLoad",{0:"Vertical",1:"Horizontal",3:"In-page",2:"Wrapped"},()=>o()).setName("Default scroll mode");let o=this.getVisibilityToggler(this.addEnumDropdownSetting("spreadModeOnLoad",{0:"Single page",1:"Two page (odd)",2:"Two page (even)"}).setName("Default spread mode"),()=>this.plugin.settings.scrollModeOnLoad!==2);if(this.addToggleSetting("usePageUpAndPageDown").setName("Use PageUp/PageDown key to go to previous/next page").setDesc(createFragment(d=>{d.appendText("You need to reopen PDF viewers after changing this option. Note that you can achieve the same thing (and even more advanced stuff) using "),d.appendChild(this.createLinkToHeading("vim","Vim keybindings")),d.appendText(".")})),this.addHeading("Context menu in PDF viewer","context-menu","lucide-mouse-pointer-click").setDesc("(Desktop & tablet only) Customize the behavior of the context menu that pops up when you right-click in the PDF viewer. For mobile users, see also the next section."),this.addToggleSetting("replaceContextMenu",()=>this.redisplay()).setName("Replace the built-in context menu with PDF++'s custom menu"),!this.plugin.settings.replaceContextMenu)this.addSetting().setName("Display text format").setDesc('You can customize the display text format in the setting "Copied text foramt > Display text format" below.');else{this.addToggleSetting("showContextMenuOnTablet").setName("Show context menu on tablet devices as well").setDesc('By default, Obsidian does not show the context menu after text selection on mobile devices, including tablets (iPad, etc.). If you want to show the context menu on tablets, turn this option on. Even if this option is turned off, you copy select the OS-native "Copy" option to run the "'+this.plugin.lib.commands.stripCommandNamePrefix(this.plugin.lib.commands.getCommand("copy-link-to-selection").name)+'" command.');let d=pg();this.addDropdownSetting("showContextMenuOnMouseUpIf",{always:"Always",...Object.fromEntries(Object.entries(d).map(([h,u])=>[h,`${u} key is pressed`])),never:"Never"}).setName("Show the context menu right after selecting text when...").setDesc(createFragment(h=>{h.appendText("If "),h.appendChild(this.createLinkToHeading("auto-copy","auto-copy")),h.appendText(" is enabled, it will be prioritized and the context menu will not be shown.")}));{this.addHeading("Menu items","context-menu-items").setDesc("Customize which menu items to show.");let h={action:'Look up "(selection)"',selection:"Copy link to selection","write-file":`Add ${this.plugin.settings.selectionBacklinkVisualizeStyle} to file`,annotation:"Copy link to annotation","modify-annotation":"Edit/delete annotation",link:"Copy PDF link / Search on Google Scholar / Paste copied PDF link to selection / Copy URL",text:"Copy selected text / Copy annotated text",search:"Copy link to search",speech:"Read aloud selected text",page:"Copy link to page",settings:"Customize menu..."},u=this.plugin.settings.contextMenuConfig,p=[];for(let f=0;f<u.length;f++){let m=u[f],x=h[m.id];x&&p.push(this.addSetting().setName(x).addToggle(g=>{g.setValue(m.visible).onChange(b=>{m.visible=b,this.plugin.saveSettings()})}).then(g=>{m.id==="action"?g.setDesc("Available only on macOS."):m.id==="write-file"||m.id==="modify-annotation"?g.setDesc(createFragment(b=>{b.appendText("Requires "),b.appendChild(this.createLinkTo("enablePDFEdit","PDF editing")),b.appendText(" to be enabled.")})):m.id==="link"?g.setDesc('"Search on Google Scholar": Available when right-clicking citation links in PDFs.'):m.id==="speech"?g.setDesc(createFragment(b=>{b.appendText("Requires the "),b.createEl("a",{text:"Text to Speech",href:"obsidian://show-plugin?id=obsidian-tts"}),b.appendText(" plugin to be enabled.")})):m.id==="page"&&g.setDesc("Available when right-clicking with no text selected.")}))}}this.addDesc("Customize nested menus."),this.addProductMenuSetting("selectionProductMenuConfig","Copy link to selection"),this.addProductMenuSetting("writeFileProductMenuConfig",`Add ${this.plugin.settings.selectionBacklinkVisualizeStyle} to file`),this.addProductMenuSetting("annotationProductMenuConfig","Copy link to annotation"),this.addToggleSetting("updateColorPaletteStateFromContextMenu").setName("Update color palette from context menu").setDesc(`In the context menu, the items (color, copy format and display text format) set in the color palette are selected by default. If this option is enabled, selecting a menu item will also update the color palette state and hence the default-selected items in the context menu as well. Even if this option is enabled, you can prevent the color palette from being updated by holding down the ${Bt("Mod")} key while selecting the menu item.`)}this.addHeading("Copying on mobile","mobile-copy","lucide-smartphone"),this.addDropdownSetting("mobileCopyAction",cC).setName('Action triggered by selecting "Copy" option on mobile devices'),this.addHeading("Copying links via hotkeys","copy-hotkeys","lucide-keyboard"),this.addSetting().setName("Set up hotkeys for copying links").then(d=>{this.renderMarkdown(["PDF++ offers two commands for quickly copying links via hotkeys.","","1. **Copy link to selection or annotation:**"," Copies a link to the text selection or focused annotation in the PDF viewer, which is formatted according to the options specified in the PDF toolbar.",' <br>If the "Add highlights to file directly" toggle switch in the PDF toolbar is on, it first adds a highlight annotation directly to the PDF file, and then copies the link to the created annotation.',"2. **Copy link to current page view:** Copies a link, clicking which will open the PDF file at the current scroll position and zoom level.","",'After running this command, you can add the copied link to the PDF file itself: select a range of text, right-click, and then click "Paste copied link to selection".'],d.descEl)}).then(d=>this.addHotkeySettingButton(d,`${this.plugin.manifest.name}: Copy link`)),this.addSetting().setName("Further workflow enhancements").setDesc(createFragment(d=>{d.appendText("See the "),d.appendChild(this.createLinkToHeading("auto",'"Auto-copy / auto-focus / auto-paste"')),d.appendText(" section below.")})),this.addHeading("Other shortcut commands","other-hotkeys","lucide-layers-2"),this.addSetting().then(d=>{this.renderMarkdown(["PDF++ also offers the following commands for reducing mouse clicks on the PDF toolbar by assigning hotkeys to them.","","- **Show outline** / **show thumbnail**","- **Close PDF siderbar**","- **Zoom in** / **zoom out**","- **Fit width** / **fit height**","- **Go to page**: This command brings the cursor to the page number input field in the PDF toolbar. Enter a page number and press Enter to jump to the page.","- **Show copy format menu** / **show display text format menu**: By running thes commands via hotkeys and then using the arrow keys, you can quickly select a format from the menu without using the mouse.","- **Enable PDF edit** / **disable PDF edit**","- And more..."],d.descEl)}).then(d=>this.addHotkeySettingButton(d)),this.addToggleSetting("executeBuiltinCommandForOutline").setName(`Show outline: when the active file is not PDF, run the core Outline plugin's "Show outline" command`).setDesc("By turning this on, you can use the same hotkey to show the outline of a markdown file and a PDF file without key conflict."),this.addToggleSetting("closeSidebarWithShowCommandIfExist").setName("Show outline / show thumbnail: close the sidebar if it is already open").setDesc("Enabling this will allow you to use the same hotkey to close the sidebar if it is already open."),this.addToggleSetting("executeBuiltinCommandForZoom").setName('Zoom in / zoom out: when the active file is not PDF, run the built-in "Zoom in" / "Zoom out" command').setDesc("By turning this on, you can use the same hotkey to zoom in/out a PDF viewer or any other type of view without key conflict."),this.addToggleSetting("executeFontSizeAdjusterCommand").setName(`Zoom in / zoom out: when the active file is not PDF, run Font Size Adjuster's "Increment font size" / "Decrement font size" command`).then(d=>{this.renderMarkdown(["(Requires the [Font Size Adjuster](obsidian://show-plugin?id=font-size) plugin enabled) ",'If both of this option and the above option are enabled, this option will be prioritized. The built-in "Zoom in" / "Zoom out" command will be executed if Font Size Adjuster is not installed or disabled.'],d.descEl)}),this.addHeading("Copy templates","template","lucide-copy").setDesc("The template format that will be used when copying a link to a selection or an annotation in PDF viewer. "),this.addSetting().then(d=>this.renderMarkdown(["Each `{{...}}` will be evaluated as a JavaScript expression given the variables listed below.","","Available variables are:","","- `file` or `pdf`: The PDF file ([`TFile`](https://docs.obsidian.md/Reference/TypeScript+API/TFile)). Use `file.basename` for the file name without extension, `file.name` for the file name with extension, `file.path` for the full path relative to the vault root, etc.","- `page`: The page number (`Number`). The first page is always page 1.","- `pageLabel`: The page number displayed in the counter in the toolbar (`String`). This can be different from `page`.",` - **Tip**: You can modify page labels with PDF++'s "Edit page labels" command.`,"- `pageCount`: The total number of pages (`Number`).","- `text` or `selection`: The selected text (`String`). In the case of links to annotations written directly in the PDF file, this is the text covered by the annotation.",'- `comment`: In the case of links to annotations written directly in the PDF file, this is the comment associated with the annotation (`String`). Otherwise, it is an empty string `""`.',"- `folder`: The folder containing the PDF file ([`TFolder`](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)). This is an alias for `file.parent`.","- `obsidian`: The Obsidian API. See the [official developer documentation](https://docs.obsidian.md/Home) and the type definition file [`obsidian.d.ts`](https://github.com/obsidianmd/obsidian-api/blob/master/obsidian.d.ts) for the details.","- `dv`: Available if the [Dataview](obsidian://show-plugin?id=dataview) plugin is enabled. See Dataview's [official documentation](https://blacksmithgu.github.io/obsidian-dataview/api/code-reference/) for the details. You can use it almost the same as the `dv` variable available in `dataviewjs` code blocks, but there are some differences. For example, `dv.current()` is not available.","- `quickAddApi`: Available if the [QuickAdd](obsidian://show-plugin?id=quickadd) plugin is enabled. See QuickAdd's [official documentation](https://quickadd.obsidian.guide/docs/QuickAddAPI) for the details.","- `app`: The global Obsidian app object ([`App`](https://docs.obsidian.md/Reference/TypeScript+API/App)).","- and other global variables such as:",' - [`moment`](https://momentjs.com/docs/#/displaying/): For exampe, use `moment().format("YYYY-MM-DD")` to get the current date in the "YYYY-MM-DD" format.',"",`Additionally, you have access to the following variables when the PDF file has a corresponding markdown file specified via the "${this.plugin.settings.proxyMDProperty}" property(see the "Property to associate a markdown file to a PDF file" setting below): `,"","- `md`: The markdown file associated with the PDF file ([`TFile`](https://docs.obsidian.md/Reference/TypeScript+API/TFile)). If there is no such file, this is `null`.","- `properties`: The properties of `md` as an `Object` mapping each property name to the corresponding value. If `md` is `null` or the `md` has no properties, this is an empty object `{}`.","","Furthermore, the following variables are available when the PDF tab is linked to another tab:","","- `linkedFile`: The file opened in the linked tab ([`TFile`](https://docs.obsidian.md/Reference/TypeScript+API/TFile)). If there is no such file, this is `null`.","- `linkedFileProperties`: The properties of `linkedFile` as an `Object` mapping each property name to the corresponding value. If there is no `linkedFile` or the `linkedFile` has no properties, this is an empty object `{}`."],d.descEl)),this.addTextSetting("proxyMDProperty",void 0,()=>this.redisplay()).setName("Property to associate a markdown file to a PDF file").then(d=>{this.renderMarkdown(["Create a markdown file with this property to associate it with a PDF file. The PDF file is specified by a link, e.g. `[[file.pdf]]`.","It can be used to store properties/metadata that can be used when copying links.","","If you have the [Dataview](obsidian://show-plugin?id=dataview) plugin installed, you can use Dataview's inline field syntax such as `"+this.plugin.settings.proxyMDProperty+":: [[file.pdf]]`.","","Remarks:","- Make sure the associated markdown file can be uniquely identified. For example, if you have two markdown files `file1.md` and `file2.md` and both of their `"+this.plugin.settings.proxyMDProperty+"` properties point to the same PDF file, PDF++ cannot determine which markdown file is associated with `file.pdf`.","- If you are in Source Mode and using front matter instead of Dataview inline fields, be sure to enclose the link in double quotes."],d.descEl)}),this.addSetting("displayTextFormats").setName("Display text format").then(d=>this.renderMarkdown(["This format will be also used when copying a link to a selection or an annotation from the context menu."],d.descEl)).addButton(d=>{d.setIcon("plus").setTooltip("Add a new display text format").onClick(()=>{this.plugin.settings.displayTextFormats.push({name:"",template:""}),this.redisplay()})});for(let d=0;d<this.plugin.settings.displayTextFormats.length;d++)this.addDisplayTextSetting(d);this.addIndexDropdownSetting("defaultDisplayTextFormatIndex",this.plugin.settings.displayTextFormats.map(d=>d.name),void 0,()=>{this.plugin.loadStyle()}).setName("Default display text format"),this.addToggleSetting("syncDisplayTextFormat").setName("Share a single display text format among all PDF viewers").setDesc("If disabled, you can specify a different display text format for each PDF viewer from the dropdown menu in the PDF toolbar."),this.plugin.settings.syncDisplayTextFormat&&this.addToggleSetting("syncDefaultDisplayTextFormat").setName("Share the display text format with newly opened PDF viewers as well"),this.addSetting("copyCommands").setName("Custom copy formats").then(d=>this.renderMarkdown(["Customize the format to use when you copy a link by clicking a color palette item or running the commands while selecting a range of text in PDF viewer.","","In addition to the variables listed above, here you can use","","- `link`: The link without display text, e.g. `[[file.pdf#page=1&selection=0,1,2,3&color=red]]`,","- `linkWithDisplay`: The link with display text, e.g. `[[file.pdf#page=1&selection=0,1,2,3&color=red|file, page 1]]`,",'- `linktext`: The text content of the link without brackets and the display text, e.g. `file.pdf#page=1&selection=0,1,2,3&color=red`<br>(if the "Use \\[\\[Wikilinks\\]\\]" setting is turned off, `linktext` will be properly encoded for use in markdown links),',"- `display`: The display text formatted according to the above setting, e.g. `file, page 1`,","- `linkToPage`: The link to the page without display text, e.g. `[[file.pdf#page=1]]`,","- `linkToPageWithDisplay`: The link to the page with display text, e.g. `[[file.pdf#page=1|file, page 1]]`,",`- \`calloutType\`: The callout type you specify in the "Callout type name" setting above, in this case, "${this.plugin.settings.calloutType}", and`,"- `color` (or `colorName`): In the case of text selections, this is the name of the selected color in lowercase, e.g. `red`. If no color is specified, it will be an empty string. For text markup annotations (e.g. highlights and underlines), this is the RGB value of the color, e.g. `255,208,0`."],d.descEl)).addButton(d=>{d.setIcon("plus").setTooltip("Add a new copy command").onClick(()=>{this.plugin.settings.copyCommands.push({name:"",template:""}),this.redisplay()})});for(let d=0;d<this.plugin.settings.copyCommands.length;d++)this.addCopyCommandSetting(d);this.addIndexDropdownSetting("defaultColorPaletteActionIndex",this.plugin.settings.copyCommands.map(d=>d.name),void 0,()=>{this.plugin.loadStyle()}).setName("Default action when clicking on color palette"),this.addToggleSetting("syncColorPaletteAction").setName("Share a single action among all PDF viewers").setDesc("If disabled, you can specify a different action for each PDF viewer from the dropdown menu in the PDF toolbar."),this.plugin.settings.syncColorPaletteAction&&this.addToggleSetting("syncDefaultColorPaletteAction").setName("Share the action with newly opened PDF viewers as well"),this.addToggleSetting("useAnotherCopyTemplateWhenNoSelection",()=>this.redisplay()).setName("Use another template when no text is selected").setDesc("For example, you can use this to copy a link to the page when there is no selection."),this.plugin.settings.useAnotherCopyTemplateWhenNoSelection&&this.addTextSetting("copyTemplateWhenNoSelection").setName("Link copy template used when no text is selected"),this.addHeading("Auto-copy / auto-focus / auto-paste","auto","lucide-zap").setDesc("Speed up the process of copying & pasting PDF links to your notes with some automation. Note that you can't activate both of auto-focus and auto-paste at the same time."),this.addHeading("Auto-copy","auto-copy").setDesc(`If enabled, the "Copy link to selection or annotation" command will be triggered automatically every time you select a range of text in a PDF viewer, meaning you don't even have to press a hotkey to copy a link.`),this.addToggleSetting("autoCopy",()=>this.plugin.autoCopyMode.toggle(this.plugin.settings.autoCopy)).setName("Enable").setDesc("You can also toggle auto-focus via an icon in the left ribbon menu if the next setting is enabled."),this.addToggleSetting("autoCopyToggleRibbonIcon",()=>this.redisplay()).setName("Show an icon to toggle auto-copy in the left ribbon menu").setDesc("You can also toggle this mode via a command. Reload the plugin after changing this setting to take effect."),this.plugin.settings.autoCopyToggleRibbonIcon&&this.addIconSetting("autoCopyIconName",!1).setName("Icon name").then(d=>{d.descEl.appendText(" Reload the plugin after changing this setting to take effect.")}),this.addHeading("Auto-focus","auto-focus").setDesc("If enabled, a markdown file will be focused automatically after copying a link to PDF text selection or annotation."),this.addSetting("autoFocus").setName("Enable").setDesc("Recommended if you prefer something less agressive than auto-paste. You can also toggle auto-focus via an icon in the left ribbon menu if the next setting is enabled.").addToggle(d=>{d.setValue(this.plugin.settings.autoFocus).onChange(h=>{this.plugin.toggleAutoFocus(h),this.redisplay()})}),this.addToggleSetting("autoFocusToggleRibbonIcon",()=>this.redisplay()).setName("Show an icon to toggle auto-focus in the left ribbon menu").setDesc("You can also toggle auto-focus via a command. Reload the plugin after changing this setting to take effect."),this.plugin.settings.autoFocusToggleRibbonIcon&&this.addIconSetting("autoFocusIconName",!1).setName("Icon name").then(d=>{d.descEl.appendText(" Reload the plugin after changing this setting to take effect.")}),this.addDropdownSetting("autoFocusTarget",Aw).setName("Target markdown file to focus on"),this.addHeading("Auto-paste","auto-paste").setDesc("If enabled, the copied link to PDF text selection or annotation will be automatically pasted into a markdown file right after copying."),this.addSetting("autoPaste").setName("Enable").setDesc("You can also toggle auto-paste via an icon in the left ribbon menu if the next setting is enabled.").addToggle(d=>{d.setValue(this.plugin.settings.autoPaste).onChange(h=>{this.plugin.toggleAutoPaste(h),this.redisplay()})}),this.addToggleSetting("autoPasteToggleRibbonIcon",()=>this.redisplay()).setName("Show an icon to toggle auto-paste in the left ribbon menu").setDesc("You can also toggle auto-paste via a command. Reload the plugin after changing this setting to take effect."),this.plugin.settings.autoPasteToggleRibbonIcon&&this.addIconSetting("autoPasteIconName",!1).setName("Icon name").then(d=>{d.descEl.appendText(" Reload the plugin after changing this setting to take effect.")}),this.addDropdownSetting("autoPasteTarget",Aw).setName("Target markdown file to paste links to"),this.addToggleSetting("focusEditorAfterAutoPaste",()=>this.events.trigger("update")).setName("Focus editor after auto-pasting").setDesc("If enabled, auto-paste will focus on the editor after pasting."),this.showConditionally(this.addToggleSetting("clearSelectionAfterAutoPaste").setName("Clear text selection after auto-pasting").setDesc("If enabled, the text selection in the PDF viewer will be automatically cleared after performing auto-pasting."),()=>!this.plugin.settings.focusEditorAfterAutoPaste),this.addToggleSetting("respectCursorPositionWhenAutoPaste",()=>this.events.trigger("update")).setName("Respect current cursor position").setDesc("When enabled, triggering auto-pasting will paste the copied text at the current cursor position if the target note is already opened. If disabled, the text will be always appended to the end of the note."),this.showConditionally(this.addToggleSetting("blankLineAboveAppendedContent").setName("Blank line above the appended content").setDesc("Because you disabled the option above, auto-pasted content will be added at the end of your note. Enable this option to make sure that you have a blank line between the existing content and the newly added content."),()=>!this.plugin.settings.respectCursorPositionWhenAutoPaste),this.addHeading("General","auto-general").setDesc("General settings that apply to both auto-focus and auto-paste."),this.addToggleSetting("openAutoFocusTargetIfNotOpened",()=>this.redisplay()).setName("Open target markdown file if not opened"),this.plugin.settings.openAutoFocusTargetIfNotOpened&&(this.addDropdownSetting("howToOpenAutoFocusTargetIfNotOpened",{...Bu,"hover-editor":"Hover Editor"},()=>this.redisplay()).setName("How to open target markdown file when not opened").then(d=>{this.renderMarkdown('The "Hover Editor" option is available if the [Hover Editor](obsidian://show-plugin?id=obsidian-hover-editor) plugin is enabled.',d.descEl),this.plugin.settings.howToOpenAutoFocusTargetIfNotOpened==="hover-editor"&&(this.app.plugins.plugins["obsidian-hover-editor"]||d.descEl.addClass("error"))}),this.showConditionally(this.addToggleSetting("closeHoverEditorWhenLostFocus").setName("Close Hover Editor when it loses focus").setDesc("This option will not affect the behavior of Hover Editor outside of PDF++."),()=>this.plugin.settings.howToOpenAutoFocusTargetIfNotOpened==="hover-editor"),this.addToggleSetting("closeSidebarWhenLostFocus").setName("Auto-hide sidebar when it loses focus after auto-pasting").setDesc("After auto-pasting into a markdown file opened in the left or right sidebar, the sidebar will be automatically collapsed once it loses focus."),this.addToggleSetting("openAutoFocusTargetInEditingView").setName("Always open in editing view").setDesc('This option can be useful especially when you set the previous option to "Hover Editor".')),this.addToggleSetting("executeCommandWhenTargetNotIdentified",()=>this.redisplay()).setName("Execute command when target file cannot be determined").setDesc("When PDF++ cannot determine which markdown file to focus on or paste to, it will execute the command specified in the next option to let you pick a target file.");let s=(l=(c=this.app.commands.findCommand(`${this.plugin.manifest.id}:create-new-note`))==null?void 0:c.name)!=null?l:"PDF++: Create new note for auto-focus or auto-paste";this.plugin.settings.executeCommandWhenTargetNotIdentified&&(this.addSetting("commandToExecuteWhenTargetNotIdentified").setName("Command to execute").then(d=>{var h,u,p,f,m,x;this.renderMarkdown(["Here's some examples of useful commands:","",`- ${(u=(h=this.app.commands.findCommand("file-explorer:new-file"))==null?void 0:h.name)!=null?u:"Create new note"}`,`- ${(f=(p=this.app.commands.findCommand("file-explorer:new-file-in-new-pane"))==null?void 0:p.name)!=null?f:"Create note to the right"}`,`- ${(x=(m=this.app.commands.findCommand("switcher:open"))==null?void 0:m.name)!=null?x:"Quick switcher: Open quick switcher"}`,"- [Omnisearch](obsidian://show-plugin?id=omnisearch): Vault search","- [Hover Editor](obsidian://show-plugin?id=obsidian-hover-editor): Open new Hover Editor",`- **${s}**: See below for the details.`],d.descEl)}).addText(d=>{let h=this.plugin.settings.commandToExecuteWhenTargetNotIdentified,u=this.app.commands.findCommand(h);u?d.setValue(u.name):(d.inputEl.addClass("error"),d.setPlaceholder("Command not found")),d.inputEl.size=30,new Mc(this,d.inputEl)}),this.addSliderSetting("autoPasteTargetDialogTimeoutSec",1,60,1).setName("[Auto-paste] Maximum time to wait for the command to open the target file (sec)").setDesc("The link will be auto-pasted into the first markdown file that you open within this time frame after the command is executed. If you don't open any markdown file during this time, the auto-paste will not occur. This option is not related to auto-focus.")),this.addHeading(`The "${s}" command`,"create-new-note-command").setDesc('Creates a new note and opens it in a new pane specified in the "How to open target markdown file when not opened" option.'),this.addTextSetting("newFileNameFormat","Leave blank not to specify").setName("New note title format").then(async d=>{await this.renderMarkdown(['If this option is left blank or the active file is not a PDF, "Untitled \\*" will be used (if the language is set to English). You can use the following variables: `file`, `folder`, `app`, and other global variables such as `moment`.'],d.descEl),d.descEl.createSpan({text:"See "}),d.descEl.appendChild(this.createLinkToHeading("template","above")),d.descEl.createSpan({text:" for the details about these variables."})}),this.addTextSetting("newFileTemplatePath","Leave blank not to use a template").setName("Template file path").then(async d=>{await this.renderMarkdown(["You can leave this blank if you don't want to use a template.","You can use `file`, `folder`, `app`, and other global variables such as `moment`."],d.descEl),d.descEl.createSpan({text:"See "}),d.descEl.appendChild(this.createLinkToHeading("template","above")),d.descEl.createSpan({text:" for the details about these variables."}),await this.renderMarkdown(["You can also include [Templater](obsidian://show-plugin?id=templater-obsidian) syntaxes in the template.",'In that case, make sure the "Trigger templater on new file creation" option is enabled in the Templater settings.',"","Example:","```","---",`${this.plugin.settings.proxyMDProperty}: "[[{{ file.path }}|{{ file.basename }}]]"`,"---",'<%* const title = await tp.system.prompt("Type note tile") -%>',"<%* await tp.file.rename(title) %>","```"],d.descEl);let h=d.components[0].inputEl;new Lc(this.app,h).onSelect(({item:u})=>{this.plugin.settings.newFileTemplatePath=u.path,this.plugin.saveSettings()})}),this.addHeading("PDF Annotations","annot","lucide-message-square"),this.addToggleSetting("annotationPopupDrag").setName("Drag & drop annotation popup to insert a link to the annotation").setDesc("Note that turning on this option disables text selection in the annotation popup (e.g. modified date, author, etc)."),this.addToggleSetting("showAnnotationPopupOnHover").setName("If an annotation has a comment, show the annotation popup on hover").setDesc("This is the same behavior as the PDF viewers of some web browsers (e.g. Chrome/Firefox). You may have to reopen the PDF file after changing this option."),this.addToggleSetting("renderMarkdownInStickyNote").setName("Render markdown in annotation popups when the annotation has text contents"),this.plugin.settings.enablePDFEdit&&(this.addSliderSetting("writeHighlightToFileOpacity",0,1,.01).setName("Highlight opacity"),this.addToggleSetting("defaultWriteFileToggle").setName("Write highlight to file by default").setDesc("You can turn this on and off with the toggle button in the PDF viewer toolbar."),this.addToggleSetting("syncWriteFileToggle").setName("Share the same toggle state among all PDF viewers").setDesc("If disabled, you can specify whether to write highlights to files for each PDF viewer."),this.plugin.settings.syncWriteFileToggle&&this.addToggleSetting("syncDefaultWriteFileToggle").setName("Share the state with newly opened PDF viewers as well"),this.addToggleSetting("enableAnnotationContentEdit",()=>this.redisplay()).setName("Enable editing annotation contents").setDesc('If enabled, you can edit the text contents of annotations embedded in PDF files by clicking the "Edit" button in the annotation popup.'),this.addToggleSetting("enableAnnotationDeletion",()=>this.redisplay()).setName("Enable annotation deletion").setDesc('If enabled, you can delete annotations embedded in PDF files by clicking the "Delete" button in the annotation popup.'),this.plugin.settings.enableAnnotationDeletion&&(this.addToggleSetting("warnEveryAnnotationDelete",()=>this.redisplay()).setName("Always warn when deleting an annotation"),this.plugin.settings.warnEveryAnnotationDelete||this.addToggleSetting("warnBacklinkedAnnotationDelete").setName("Warn when deleting an annotation with backlinks"))),this.addHeading("PDF internal links","pdf-link","link").setDesc("Make it easier to work with internal links embedded in PDF files."),this.addToggleSetting("clickPDFInternalLinkWithModifierKey").then(d=>{this.renderMarkdown("Use [modifier keys](https://help.obsidian.md/User+interface/Tabs#Open+a+link) to open PDF internal links in various ways",d.nameEl)}).then(d=>{this.plugin.requireModKeyForLinkHover(Zn.HOVER_LINK_SOURCE_ID)&&d.setDesc(`You may want to turn this off to avoid conflicts with hover+${_n}.`),d.descEl.appendText("Reopen tabs or reload the app after changing this option.")}),this.addToggleSetting("enableHoverPDFInternalLink",()=>this.events.trigger("update")).setName(`Show a popover preview of PDF internal links by hover(+${_n})`),this.showConditionally(this.addRequireModKeyOnHoverSetting(Zn.HOVER_LINK_SOURCE_ID),()=>this.plugin.settings.enableHoverPDFInternalLink),this.addToggleSetting("recordPDFInternalLinkHistory").setName("Enable history navigation for PDF internal links").setDesc('When enabled, clicking the "navigate back" (left arrow) button will take you back to the page you were originally viewing before clicking on an internal link in the PDF file.'),this.addSetting().setName("Copy PDF link as Obsidian link").setDesc('(Requires custom context menu enabled) In the PDF viewer, right-click a PDF-embedded link and then click "Copy PDF link as Obsidian link". It will copy the PDF link as an Obsidian link that you can paste into markdown files. Clicking the pasted link will take you to the same destination as the original PDF link.'),this.addSetting().setName('"Copy link to current page view" command').setDesc("Running this command while viewing a PDF file will copy a link, clicking which will open the PDF file at the current scroll position and zoom level."),this.addSetting().setName("Paste copied link to a text selection in a PDF file").setDesc('(Requires custom context menu & PDF editing enabled) After copying a link by the above actions, you can "paste" it to a selection in PDF to create a PDF internal link. To do this, right-click the selection and click "Paste copied link to selection".'),this.plugin.settings.replaceContextMenu&&this.plugin.settings.enablePDFEdit&&(this.addToggleSetting("pdfLinkBorder",()=>this.redisplay()).setName("Draw borders around internal links").setDesc('Specify whether PDF internal links that you create by "Paste copied link to selection" should be surrounded by borders.'),this.plugin.settings.pdfLinkBorder&&this.addColorPickerSetting("pdfLinkColor").setName("Border color of internal links").setDesc('Specify the border color of PDF internal links that you create by "Paste copied link to selection".')),this.addHeading("Citations in PDF (experimental)","citation","lucide-graduation-cap").then(d=>{this.renderMarkdown(["Enjoy supercharged experiences of working with citations in PDF files, just like in [Google Scholar's PDF viewer](https://scholar.googleblog.com/2024/03/supercharge-your-pdf-reading-follow.html).","","The current implementation is based on some pretty primitive hand-crafted rules, and there is a lot of room for improvement. Code contribution is much appreciated!"],d.descEl)}),this.addDropdownSetting("actionOnCitationHover",Hg,()=>this.events.trigger("update")).setName(`Hover(+${_n}) on a citation link to show...`).then(d=>{this.renderMarkdown([`- **${Hg["pdf-plus-bib-popover"]}**: Recommended. It works without any additional stuff, but you can further boost the visibility by installing [AnyStyle](https://github.com/inukshuk/anystyle) (desktop only).`,`- **${Hg["google-scholar-popover"]}**: Requires [Surfing](obsidian://show-plugin?id=surfing) ver. 0.9.9 or higher enabled. Be careful not to exceed the rate limit of Google Scholar.`],d.descEl)}),this.showConditionally(this.addRequireModKeyOnHoverSetting(pn.HOVER_LINK_SOURCE_ID),()=>this.plugin.settings.actionOnCitationHover!=="none"),this.showConditionally(this.addSetting("anystylePath").setName("AnyStyle path").addText(d=>{d.setPlaceholder("anystyle").setValue(this.plugin.settings.anystylePath).onChange(h=>{this.plugin.settings.anystylePath=h,this.plugin.saveLocalStorage("anystylePath",h)})}).then(d=>{d.components[0].inputEl.size=35,this.renderMarkdown(["The path to the [AnyStyle](https://github.com/inukshuk/anystyle) executable. ","","PDF++ extracts the bibliography text from the PDF file for each citation link and uses AnyStyle to convert the extracted text into a structured metadata.","It works just fine without AnyStyle, but you can further boost the visibility by installing it and providing its path here.","","Note: This setting is saved in the [local storage](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage) instead of `data.json` in the plugin folder."],d.descEl)}),()=>pe.Platform.isDesktopApp&&this.plugin.settings.actionOnCitationHover==="pdf-plus-bib-popover"),this.showConditionally(this.addTextAreaSetting("citationIdPatterns",void 0,()=>this.plugin.setCitationIdRegex()).setName("Citation ID patterns").setDesc("You don't need to care about this option in most use cases - just leave it to the default value. For advanced users: most internal links in PDF files use so-called destination names to specify the target location. This option allows you to specify the regular expressions (separated by line breaks) that determine whether a given internal link is a citation link based on the dsetination name."),()=>this.plugin.settings.actionOnCitationHover!=="none"),this.showConditionally([this.addDesc("Try turning off the following options if you experience performance issues."),this.addToggleSetting("enableBibInEmbed").setName("Enable bibliography extraction in PDF embeds"),this.addToggleSetting("enableBibInCanvas").setName("Enable bibliography extraction in Canvas"),this.addToggleSetting("enableBibInHoverPopover").setName("Enable bibliography extraction in hover popover previews")],()=>this.plugin.settings.actionOnCitationHover!=="none"),this.addHeading("External links in PDF","pdf-external-link","external-link").setDesc("Make it easier to work with external links embedded in PDF files."),this.addToggleSetting("popoverPreviewOnExternalLinkHover").setName(`Show a popover preview of external links by hover(+${_n})`).then(d=>{this.renderMarkdown(["Requires [Surfing](obsidian://show-plugin?id=surfing) ver. 0.9.9 or higher enabled."],d.descEl)}),this.showConditionally(this.addRequireModKeyOnHoverSetting(Kr.HOVER_LINK_SOURCE_ID),()=>this.plugin.settings.popoverPreviewOnExternalLinkHover),this.addHeading("PDF sidebar","sidebar","sidebar-left").setDesc("General settings for the PDF sidebar. The options specific to the outline and thumbnails are located in the corresponding sections below."),this.addToggleSetting("autoHidePDFSidebar").setName("Click on PDF content to hide sidebar").setDesc("Requires reopening the tabs after changing this option."),this.addEnumDropdownSetting("defaultSidebarView",{1:"Thumbnails",2:"Outline"}).setName("Default sidebar view").setDesc("Reopen PDFs after changing this option."),this.addHeading("PDF outline (table of contents)","outline","lucide-list").setDesc('Power up the outline view of the built-in PDF viewer: add, rename, or delete items via the right-click menu and the "Add to outline" command, drag & drop items to insert a section link, and more.'),this.addToggleSetting("clickOutlineItemWithModifierKey").then(d=>{this.renderMarkdown("Click PDF outline with [modifier keys](https://help.obsidian.md/User+interface/Tabs#Open+a+link) to open target section in various ways",d.nameEl)}).then(d=>{this.plugin.requireModKeyForLinkHover(Yn.HOVER_LINK_SOURCE_ID)&&d.setDesc(`You may want to turn this off to avoid conflicts with hover+${_n}.`),d.descEl.appendText("Reopen tabs or reload the app after changing this option.")}),this.addToggleSetting("popoverPreviewOnOutlineHover",()=>this.events.trigger("update")).setName(`Show popover preview by hover(+${_n})`).setDesc("Reopen tabs or reload the app after changing this option."),this.showConditionally(this.addRequireModKeyOnHoverSetting(Yn.HOVER_LINK_SOURCE_ID),()=>this.plugin.settings.popoverPreviewOnOutlineHover),this.addToggleSetting("recordHistoryOnOutlineClick").setName("Record to history when clicking an outline item").setDesc("Reopen tabs or reload the app after changing this option."),this.addToggleSetting("outlineContextMenu").setName("Replace the built-in context menu in the outline with a custom one").setDesc("This enables you to insert a section link with a custom format by right-clicking an item in the outline. Moreover, you will be able to add, rename, or delete outline items if PDF modification is enabled."),this.addToggleSetting("outlineDrag").setName("Drag & drop outline item to insert link to section").setDesc("Grab an item in the outline and drop it to a markdown file to insert a section link. Changing this option requires reopening the tabs or reloading the app."),(this.plugin.settings.outlineContextMenu||this.plugin.settings.outlineDrag)&&(this.addTextSetting("outlineLinkDisplayTextFormat").setName("Display text format").then(d=>{let h=d.components[0];h.inputEl.size=30}),this.addTextAreaSetting("outlineLinkCopyFormat").setName("Copy format").then(d=>{let h=d.components[0];h.inputEl.rows=3,h.inputEl.cols=30})),this.addHeading("Copy outline as markdown","outline-copy").setDesc('You can copy PDF outline as a markdown list or headings using the commands "Copy outline as markdown list" and "Copy outline as markdown headings".'),this.addTextSetting("copyOutlineAsListDisplayTextFormat").setName("List: display text format").then(d=>{let h=d.components[0];h.inputEl.size=30}),this.addTextAreaSetting("copyOutlineAsListFormat").setName("List: copy format").setDesc("You don't need to include leading hyphens in the template.").then(d=>{let h=d.components[0];h.inputEl.rows=3,h.inputEl.cols=30}),this.addTextSetting("copyOutlineAsHeadingsDisplayTextFormat").setName("Headings: display text format").then(d=>{let h=d.components[0];h.inputEl.size=30}),this.addTextAreaSetting("copyOutlineAsHeadingsFormat").setName("Headings: copy format").setDesc("You don't need to include leading hashes in the template.").then(d=>{let h=d.components[0];h.inputEl.rows=3,h.inputEl.cols=30}),this.addSliderSetting("copyOutlineAsHeadingsMinLevel",1,6,1).setName("Headings: minimum level").setDesc("The copied headings will start at this level."),this.addHeading("PDF thumbnails","thumbnail","lucide-gallery-thumbnails"),this.addToggleSetting("clickThumbnailWithModifierKey").then(d=>{this.renderMarkdown("Click PDF thumbnails with [modifier keys](https://help.obsidian.md/User+interface/Tabs#Open+a+link) to open target page in various ways",d.nameEl)}).then(d=>{this.plugin.requireModKeyForLinkHover(Jn.HOVER_LINK_SOURCE_ID)&&d.setDesc(`You may want to turn this off to avoid conflicts with hover+${_n}`),d.descEl.appendText("Reopen tabs or reload the app after changing this option.")}),this.addToggleSetting("popoverPreviewOnThumbnailHover",()=>this.events.trigger("update")).setName(`Show popover preview by hover(+${_n})`).setDesc("Reopen tabs or reload the app after changing this option."),this.showConditionally(this.addRequireModKeyOnHoverSetting(Jn.HOVER_LINK_SOURCE_ID),()=>this.plugin.settings.popoverPreviewOnThumbnailHover),this.addToggleSetting("recordHistoryOnThumbnailClick").setName("Record to history when clicking a thumbnail").setDesc("Reopen tabs or reload the app after changing this option."),this.addToggleSetting("thumbnailContextMenu").setName("Replace the built-in context menu in thumbnails with a custom one").setDesc("This enables you to copy a page link with a custom display text format specified in the PDF toolbar by right-clicking a thumbnail. Moreover, you will be able to insert, delete, extract pages if PDF modification is enabled."),this.addToggleSetting("thumbnailDrag").setName("Drag & drop PDF thumbnail to insert link to page").then(d=>{this.renderMarkdown(["Grab a thumbnail image and drop it to a markdown file to insert a page link. Changing this option requires reopening the tabs or reloading the app.","","Note: When disabled, drag-and-drop will cause the thumbnail image to be paste as a data url, which is seemingly Obsidian's bug."],d.descEl)}),(this.plugin.settings.thumbnailContextMenu||this.plugin.settings.thumbnailDrag)&&(this.addTextSetting("thumbnailLinkDisplayTextFormat").setName("Display text format").then(d=>{let h=d.components[0];h.inputEl.size=30}),this.addTextAreaSetting("thumbnailLinkCopyFormat").setName("Copy format").then(d=>{let h=d.components[0];h.inputEl.rows=3,h.inputEl.cols=30})),this.addHeading("PDF page composer (experimental)","composer","lucide-blocks").then(d=>{this.renderMarkdown(['Add, insert, delete or extract PDF pages via commands and **automatically update all the related links in the entire vault**. The "Editing PDF files directly" option has to be enabled to use these features.'],d.descEl)}),this.addToggleSetting("warnEveryPageDelete",()=>this.redisplay()).setName("Always warn when deleting a page"),this.plugin.settings.warnEveryPageDelete||this.addToggleSetting("warnBacklinkedPageDelete").setName("Warn when deleting a page with backlinks"),this.addToggleSetting("extractPageInPlace").setName("Remove the extracted pages from the original PDF by default"),this.addToggleSetting("askExtractPageInPlace").setName("Ask whether to remove the extracted pages from the original PDF before extracting"),this.addToggleSetting("openAfterExtractPages",()=>this.redisplay()).setName("Open extracted PDF file").setDesc('If enabled, the newly created PDF file will be opened after running the commands "Extract this page to a new file" or "Divide this PDF into two files at this page".'),this.plugin.settings.openAfterExtractPages&&this.addDropdownSetting("howToOpenExtractedPDF",Bu).setName("How to open"),this.addHeading("Page labels","page-label").then(d=>{this.renderMarkdown(["Each page in a PDF document can be assigned a ***page label***, which can be different from the page indices.",'For example, a book might have a preface numbered as "i", "ii", "iii", ... and the main content numbered as "1", "2", "3", ...',"","PDF++ allows you to choose whether page labels should be kept unchanged or updated when inserting/removing/extracting pages. [Learn more](https://github.com/RyotaUshio/obsidian-pdf-plus/wiki/Page-labels)","",'You can also modify page labels directly using the command "Edit page labels".'],d.descEl)}),this.addDropdownSetting("pageLabelUpdateWhenInsertPage",Zc).setName("Insert: default page label processing").setDesc('Applies to the commands "Insert page before/after this page".'),this.addToggleSetting("askPageLabelUpdateWhenInsertPage").setName("Insert: ask whether to update"),this.addDropdownSetting("pageLabelUpdateWhenDeletePage",Zc).setName("Delete: default page label processing").setDesc('Applies to the command "Delete this page".'),this.addToggleSetting("askPageLabelUpdateWhenDeletePage").setName("Delete: ask whether to update"),this.addDropdownSetting("pageLabelUpdateWhenExtractPage",Zc).setName("Extract: default page label processing").setDesc('Applies to the commands "Extract this page to a new file" and "Divide this PDF into two files at this page".'),this.addToggleSetting("askPageLabelUpdateWhenExtractPage").setName("Extract: ask whether to update"),this.addHeading("Opening links to PDF files","open-link","lucide-book-open"),this.addToggleSetting("alwaysRecordHistory").setName("Always record to history when opening PDF links").setDesc("By default, the history is recorded only when you open a link to a different PDF file. If enabled, the history will be recorded even when you open a link to the same PDF file as the current one, and you will be able to go back and forth the history by clicking the left/right arrow buttons even within a single PDF file."),this.addToggleSetting("singleTabForSinglePDF",()=>this.redisplay()).setName("Don't open a single PDF file in multiple tabs").then(d=>this.renderMarkdown('When opening a link to a PDF file without pressing any [modifier keys](https://help.obsidian.md/User+interface/Use+tabs+in+Obsidian#Open+a+link), a new tab will not be opened if the same file has already been already opened in another tab. Useful for annotating PDFs using a side-by-side view ("Split right"), displaying a PDF in one side and a markdown file in another.',d.descEl)),this.plugin.settings.singleTabForSinglePDF&&(this.addToggleSetting("dontActivateAfterOpenPDF").setName("Don't move focus to PDF viewer after opening a PDF link").setDesc("This option will be ignored when you open a PDF link in a tab in the same split as the PDF viewer."),this.addToggleSetting("highlightExistingTab",()=>this.redisplay()).setName("When opening a link to an already opened PDF file, highlight the tab"),this.plugin.settings.highlightExistingTab&&(this.addSliderSetting("existingTabHighlightOpacity",0,1,.01).setName("Highlight opacity of an existing tab"),this.addSliderSetting("existingTabHighlightDuration",.1,10,.05).setName("Highlight duration of an existing tab (sec)")),this.addToggleSetting("dontFitWidthWhenOpenPDFLink",()=>this.events.trigger("update")).setName("Preserve the current zoom level when opening a link to an already opened PDF file").setDesc("When you open a link to a PDF file that's already opened, Obsidian's default behavior causes the zoom level to be reset to fit the width of the PDF file to the viewer. If enabled, the current zoom level will be preserved. This option will be ignored in PDF embeds."),this.showConditionally(this.addToggleSetting("preserveCurrentLeftOffsetWhenOpenPDFLink").setName("Preserve the current horizontal scroll position").setDesc("This option will be ignored in PDF embeds."),()=>this.plugin.settings.dontFitWidthWhenOpenPDFLink)),this.addDropdownSetting("paneTypeForFirstPDFLeaf",Bu).setName("How to open PDF links when there is no open PDF file").then(d=>{this.renderMarkdown("This option will be ignored when you press [modifier keys](https://help.obsidian.md/User+interface/Use+tabs+in+Obsidian#Open+a+link) to explicitly specify how to open the link.",d.descEl)}),this.addToggleSetting("openLinkNextToExistingPDFTab").setName("Open PDF links next to an existing PDF tab").then(d=>this.renderMarkdown("If there is a PDF file opened in a tab, clicking a PDF link will first create a new tab next to it and then open the target PDF file in the created tab. This is especially useful when you are spliting the workspace vertically or horizontally and want PDF files to be always opened in one side. This option will be ignored when you press [modifier keys](https://help.obsidian.md/User+interface/Use+tabs+in+Obsidian#Open+a+link) to explicitly specify how to open the link.",d.descEl)),this.addToggleSetting("hoverPDFLinkToOpen").setName("Open PDF link instead of showing popover preview when target PDF is already opened").setDesc(`Press ${Bt("Mod").toLowerCase()} while hovering a PDF link to actually open it if the target PDF is already opened in another tab.`),this.addSetting().setName("Open PDF links with an external app").setDesc(createFragment(d=>{d.appendText("See the "),d.appendChild(this.createLinkToHeading("external-app")),d.appendText(" section for the details.")})),this.addSetting().setName("Clear highlights after a certain amount of time").addToggle(d=>{d.setValue(this.plugin.settings.highlightDuration>0).onChange(async h=>{this.plugin.settings.highlightDuration=h?this.plugin.settings.highlightDuration>0?this.plugin.settings.highlightDuration:1:0,await this.plugin.saveSettings(),this.redisplay()})}),this.plugin.settings.highlightDuration>0&&this.addSliderSetting("highlightDuration",.1,10,.05).setName("Highlight duration (sec)"),this.addToggleSetting("ignoreHeightParamInPopoverPreview").setName('Ignore "height" parameter in popover preview').setDesc('Obsidian lets you specify the height of a PDF embed by appending "&height=..." to a link, and this also applies to popover previews. Enable this option if you want to ignore the height parameter in popover previews.'),this.addHeading("Embedding PDF files","embed","picture-in-picture-2"),this.addToggleSetting("dblclickEmbedToOpenLink",()=>this.plugin.loadStyle()).setName("Double click PDF embeds to open links").setDesc("Double-clicking a PDF embed will open the embedded file."),this.addToggleSetting("trimSelectionEmbed",()=>this.redisplay()).setName("Trim selection/annotation embeds").then(d=>{this.renderMarkdown(['<span style="color: var(--text-warning);">(Deprecated in favor of the <a href="https://ryotaushio.github.io/obsidian-pdf-plus/embedding-rectangular-selections.html" class="external-link" target="_blank" rel="noopener">rectangular selection embed feature</a> introduced in PDF++ 0.36.0)</span>',"When embedding a selection or an annotation from a PDF file, only the target selection/annotation and its surroundings are displayed rather than the entire page."],d.descEl)}),this.plugin.settings.trimSelectionEmbed&&this.addSliderSetting("embedMargin",0,200,1).setName("Selection/annotation embeds margin (px)"),this.addToggleSetting("noSidebarInEmbed").setName("Hide sidebar in PDF embeds or PDF popover previews by default"),this.addToggleSetting("noSpreadModeInEmbed").setName(`Don't display PDF embeds or PDF popover previews in "two page" layout`).setDesc('Regardless of the "two page" layout setting in existing PDF viewer, PDF embeds and PDF popover previews will be always displayed in "single page" layout. You can still turn it on for each embed by clicking the "two page" button in the toolbar, if shown.'),this.addToggleSetting("noTextHighlightsInEmbed").setName("Don't highlight text in text selection embeds"),this.addToggleSetting("noAnnotationHighlightsInEmbed").setName("Don't highlight annotations in annotation embeds"),this.addToggleSetting("persistentTextHighlightsInEmbed").setName("Don't clear highlights in text selection embeds"),this.addToggleSetting("persistentAnnotationHighlightsInEmbed").setName("Don't clear highlights in annotation embeds"),this.addToggleSetting("embedUnscrollable").setName("Make PDF embeds with a page specified unscrollable").setDesc("After changing this option, you need to reopen tabs or reload the app."),this.addHeading("Backlinks pane for PDF files","backlink-view","links-coming-in").then(d=>this.renderMarkdown("Improve the built-in [backlinks pane](https://help.obsidian.md/Plugins/Backlinks) for better PDF experience.",d.descEl)),this.addToggleSetting("filterBacklinksByPageDefault").setName("Filter backlinks by page by default").setDesc('You can toggle this on and off with the "Show only backlinks in the current page" button at the top right of the backlinks pane.'),this.addToggleSetting("showBacklinkToPage").setName("Show backlinks to the entire page").setDesc("If turned off, only backlinks to specific text selections, annotations or locations will be shown when filtering the backlinks page by page."),this.addToggleSetting("highlightBacklinksPane").setName("Hover sync (PDF viewer \u2192 Backlinks pane)").setDesc("Hovering your mouse over highlighted text or annotation will also highlight the corresponding item in the backlink pane."),this.addToggleSetting("highlightOnHoverBacklinkPane").setName("Hover sync (Backlinks pane \u2192 PDF viewer)").setDesc("In the backlinks pane, hover your mouse over an backlink item to highlight the corresponding text or annotation in the PDF viewer. This option requires reopening or switching tabs to take effect."),this.plugin.settings.highlightOnHoverBacklinkPane&&this.addDropdownSetting("backlinkHoverColor",["",...Object.keys(this.plugin.settings.colors)],d=>d||"PDF++ default",()=>this.plugin.loadStyle()).setName("Highlight color for hover sync (Backlinks pane \u2192 PDF viewer)").setDesc('To add a new color, click the "+" button in the "highlight colors" setting above.'),this.addHeading("Search from links","search-link","lucide-search").then(d=>{this.renderMarkdown(["You can trigger full-text search by opening a link to a PDF file with a search query appended, e.g. `[[file.pdf#search=keyword]]`."],d.descEl)}),this.addHeading("Search options","search-option").then(d=>{this.renderMarkdown(["The behavior of the search links can be customized globally by the following settings. ","Alternatively, you can specify the behavior for each link by including the following query parameters in the link text: ","","- `&case-sensitive=true` or `&case-sensitive=false`","- `&highlight-all=true` or `&highlight-all=false`","- `&match-diacritics=true` or `&match-diacritics=false`","- `&entire-word=true` or `&entire-word=false`"],d.descEl)});let a={true:"Yes",false:"No",default:"Follow default setting"};this.addDropdownSetting("searchLinkCaseSensitive",a).setName("Case sensitive search"),this.addDropdownSetting("searchLinkHighlightAll",a).setName("Highlight all search results"),this.addDropdownSetting("searchLinkMatchDiacritics",a).setName("Match diacritics"),this.addDropdownSetting("searchLinkEntireWord",a).setName("Match whole word"),this.addHeading("Integration with external apps (desktop-only)","external-app","lucide-share"),this.addToggleSetting("openPDFWithDefaultApp",()=>this.redisplay()).setName("Open PDF links with an external app").setDesc("Open PDF links with the OS-defined default application for PDF files."),this.plugin.settings.openPDFWithDefaultApp&&this.addToggleSetting("openPDFWithDefaultAppAndObsidian").setName("Open PDF links in Obsidian as well").setDesc("Open the same PDF file both in the default app and Obsidian at the same time."),this.addToggleSetting("syncWithDefaultApp").setName("Sync the external app with Obsidian").setDesc("When you focus on a PDF file in Obsidian, the external app will also focus on the same file."),this.addToggleSetting("focusObsidianAfterOpenPDFWithDefaultApp").setName("Focus Obsidian after opening a PDF file with an external app").setDesc("Otherwise, the focus will be moved to the external app."),this.addHeading("View Sync","view-sync","lucide-eye").then(d=>{this.renderMarkdown(["Integrate more seamlessly with the [View Sync](https://github.com/RyotaUshio/obsidian-view-sync) plugin."],d.descEl)}),this.addToggleSetting("viewSyncFollowPageNumber",()=>this.redisplay()).setName("Sync page number"),this.plugin.settings.viewSyncFollowPageNumber&&this.addSliderSetting("viewSyncPageDebounceInterval",.1,1,.05).setName("Minimum update interval of the View Sync file (sec)"),this.addHeading("Dummy PDFs for external files","dummy","lucide-file-symlink").then(d=>{this.renderMarkdown(["Using dummy PDF files, you can seamlessly integrate PDF files located outside your vault as if they were inside. Note that this is an experimental feature.","[Learn more](https://ryotaushio.github.io/obsidian-pdf-plus/external-pdf-files.html)"],d.descEl)}),this.addAttachmentLocationSetting("dummyFileFolderPath","Dummy PDFs",(d,h,u)=>{d.setName("Default location for new dummy PDF files").setDesc(`Where newly created dummy PDF files are placed. If set to "${Iw.obsidian}", dummy files will be saved in the folder specified in Obsidian settings > Files and links > Default location for new attachments.`),h.setName("Dummy file folder path").setDesc("Place newly created dummy PDF files in this folder."),u.setName("Subfolder name").setDesc('If your file is under "vault/folder", and you set subfolder name to "attachments", dummy PDF files will be saved to "vault/folder/attachments".')}),this.addSetting("modifierToDropExternalPDFToCreateDummy").setName("Modifier key to create a dummy PDF file on drag & drop").setDesc("After dragging an external PDF file, drop it on the editor while pressing this modifier key to create a dummy file and insert a link to it. You can drag a URL to a PDF file on the web from within your browser (link, URL bar, bookmark, etc.) or a PDF file on your desktop machine from your file manager ("+(pe.Platform.isMacOS?"Finder":"File Explorer")+" etc.). Note that on mobile, you might need to start pressing the modifier key before starting the drag operation.").addDropdown(d=>{let h=pe.Platform.isMacOS||pe.Platform.isIosApp?"Alt":"Ctrl";for(let u of[[],["Shift"],[h],[h,"Shift"]])d.addOption(u.join("+"),u.length?u.map(Bt).join("+"):"None");d.setValue(this.plugin.settings.modifierToDropExternalPDFToCreateDummy.join("+")).onChange(async u=>{this.plugin.settings.modifierToDropExternalPDFToCreateDummy=u.split("+"),await this.plugin.saveSettings()})}),this.addSetting("externalURIPatterns").setName("URI patterns for PDF files").setDesc("Specify the URI pattens for PDFs in regular expressions. When dragging and dropping a URI/URL from your browser to Obsidian's editor, it will be used to check if the destination file is a PDF file. If you need multiple patterns, separate them with a new line.").addTextArea(d=>{d.inputEl.rows=8,d.inputEl.cols=30,d.setValue(this.plugin.settings.externalURIPatterns.join(`
`)),this.component.registerDomEvent(d.inputEl,"focusout",async()=>{let h=d.inputEl.value;this.plugin.settings.externalURIPatterns=h.split(`
`).map(u=>u.trim()).filter(u=>u),await this.plugin.saveSettings()})}),this.addHeading("Vim keybindings","vim","vim").then(d=>this.renderMarkdown("Tracked at [this GitHub issue](https://github.com/RyotaUshio/obsidian-pdf-plus/issues/119).",d.descEl)),this.addSetting().then(d=>{this.renderMarkdown(['The default keybindings are as follows. You can customize them be creating a "vimrc" file and providing its path in the setting below.',"","- `j`/`k`/`h`/`l`: Scroll down/up/left/right","- `J`: Go to next page","- `K`: Go to previous page","- `gg`: Go to first page","- `G`: Go to last page","- `0`/`^`/`H`: Go to top of current page","- `$`/`L`: Go to bottom of current page","- `<C-f>`/`<C-b>`: Scroll down/up as much as the viewer height (`C`=`Ctrl`)","- `<C-d>`/`<C-u>`: Scroll down/up half as much as the viewer height","- `/`/`?`: Search forward/backward","- `n`/`N`: Go to next/previous match","- `gn`/`gN`: Select search result","- `+`/`zi`: Zoom in","- `-`/`zo`: Zoom out","- `=`/`z0`: Reset zoom","- `r`: Rotate pages clockwise","- `R`: Rotate pages counterclockwise","- `y`: Yank (copy) selected text",`- \`c\`: Run the "${this.plugin.lib.commands.stripCommandNamePrefix(this.plugin.lib.commands.getCommand("copy-link-to-selection").name)}" command`,"- `C`: Show context menu at text selection","- `o`: Swap the start and end of the selection","- `:`: Enter command-line mode (experimental)","- `<Tab>`: Toggle outline (table of contents)","- `<S-Tab>`: Toggle thumbnails (`S`=`Shift`)","- `f`: Enter hint mode by running `:hint` (experimental)","- `<Esc>`: Go back to normal mode, abort search, etc","","Many of the commands above can be combined with counts. For example:","- `2j` scrolls down the page twice as much as `j`.","- `2J` advances two pages.","- `10G` takes you to page 10.","- `150=` sets the zoom level to 150%."],d.descEl)}),this.addToggleSetting("vim",()=>this.events.trigger("update")).setName("Enable").setDesc("Reopen the PDF viewers after changing this option."),this.showConditionally([this.addTextSetting("vimrcPath",void 0,()=>this.plugin.vimrc=null).setName("Vimrc file path (optional)").then(async d=>{await this.renderMarkdown(["Only the [Ex commands supported by PDF++](https://github.com/RyotaUshio/obsidian-pdf-plus/blob/main/src/vim/ex-commands.ts) are allowed.","","Example (not necessarily recommendations):","```",'" Use j/k, instead of J/K, to go to the next page',"map j J","map k K","",'" JavaScript commands','" - Hit Ctrl-h in Normal mode to show a message','nmap <C-h> :js alert("Hello, world!")','" - Hit Ctrl-h in Visual mode to run a .js file',"vmap <C-h> :jsfile filename.js","",'" Obsidian commands','" - Open the current PDF in the OS-default app by hitting d, e, and then f',"map def :obcommand open-with-default-app:open",'" - Go back and forth the history with Ctrl-o and Ctrl-i',"map <C-o> :obcommand app:go-back","map <C-i> :obcommand app:go-forward","```","","After changing the path or the file content, you need to reopen the PDF viewer. If the vimrc file is a hidden file or is under a hidden folder, you need to reload PDF++ or the app."],d.descEl);let h=d.components[0].inputEl;new Oc(this.app,h).onSelect(({item:u})=>{this.plugin.settings.vimrcPath=u.path,this.plugin.saveSettings()})}),this.addHeading("Visual mode","vim-visual"),this.addToggleSetting("vimVisualMotion").setName("Enter visual mode on text selection").then(d=>{this.renderMarkdown(["When some text is selected, you can modify the range of selection using the `j,` `k`, `h`, `l`, `w`, `e`, `b`, `0`, `^`, `$`, `H`, and `L` keys, similarly to Vim's visual mode (`H`/`L` are mapped to `^`/`$` by default). If disabled, you can use `j`/`k`/`h`/`l`/`0`/`^`/`$`/`H`/`L` keys to scroll the page regardless of text selection. Reload the viewer or the app after changing this option.","","Tips:","- You can use `o` to swap the start and end of the selection.","- As you know, `/` and `?` keys initiate search. Pressing `gn`/`gN` after the search will select the search result. You can also use search to extend the current selection to the search result.","","Note: On mobile, word-wise motions (`w`/`e`/`b`) might not work as expected around punctuations. Contributions to fix this are welcome!"],d.descEl)}),this.addHeading("Outline mode","vim-outline"),this.addToggleSetting("enableVimOutlineMode").setName("Enter outline mode when opening PDF outline view").then(d=>{this.renderMarkdown(["If enabled, you will enter the outline mode by opening the PDF outline view (from the icon in the toolbar or by `<Tab>`), and you can use the following keybindings, similarly to [Zathura](https://pwmt.org/projects/zathura/)'s index mode.","","- `j`: Move down","- `k`: Move up","- `h`: Collapse & move to parent entry","- `l`: Expand entry & move to child entry","- `H`: Collapse all entries","- `L`: Expand all entries","- `<CR>/<Space>`: Open the selected entry (`<CR>`=`Enter`)","- `<Esc>`: Close sidebar and go back to normal mode","","If disabled, you can use j/k/h/l/H/L keys to scroll the page whether the outline view is opened or not. ","This option requires reload to take effect."],d.descEl)}),this.addToggleSetting("vimSmoothOutlineMode").setName("Smooth motion in outline mode"),this.addHeading("Command-line mode (experimental)","vim-command-line"),this.addSetting().then(d=>{this.renderMarkdown(['By pressing `:`, you can enter the command-line mode, where you can execute various commands called "Ex commands"',"","- You can always go back to normal mode by `<Esc>`.","- For some commands, you can run `:help :<command>` or `:h :<command>` to see the help message.","- Use `<Tab>` and `<S-Tab>` to navigate through the suggestions (`S`=`Shift`).","- Use arrow down/up keys to go back and forth the command history.","- `<C-u>` clears the command line, and `<C-w>` deletes the last word (`C`=`Ctrl`).",'- `:<page number>` will take you to the <page number>-th page, where the page number always starts from 1. To go to the page with the page label <page label> (e.g. "i, ii, ..., x, 1, 2, ..."), use `:gotopage <page label>` (or `:go <page label>`/`:goto <page label>` in short).','- `:!<command>` runs the shell command (not supported on mobile). By default, Obsidian does not know the value of the "PATH" environment variable, so you might need to explicitly provide it in the setting below (in the "Misc" section) to run some commands.'],d.descEl)}),this.addHeading("Hint mode (experimental)","vim-hint"),this.addSetting().then(d=>{this.renderMarkdown(["Hitting `f` will enter the hint mode, where you can perform certain actions on links, annotations, and backlink highlighting in the PDF page without using the mouse.",'For example, first press `f` to enter the hint mode, and if the link you want to open gets marked with "HK", then hit `h` and then `k` (without `Shift`) to open it.',"","This is inspired by [Tridactyl](https://github.com/tridactyl/tridactyl)'s hint mode.","","Also check out Style Settings > PDF++ > Vim keybindings > Hint mode."],d.descEl)}),this.addTextSetting("vimHintChars").setName("Characters to use in hint mode").setDesc(`They are used preferentially from left to right, so you might want to put the easier-to-reach keys first. This is the same as Tridactyl's "hintchars" option.`),this.addTextSetting("vimHintArgs").setName('Default arguments for the ":hint" Ex command').setDesc('Space-separated list of "link"/"annot"/"backlink" or "all". Run ":help :hint" for the details.'),this.addHeading("Context menu","vim-context-menu"),this.addToggleSetting("enableVimInContextMenu").setName("Enable Vim keys in PDF context menus").setDesc("If enabled, you can use j/k/h/l keys, instead of the arrow keys, to navigate through context menu items in the PDF viewer."),this.addHeading("Scrolling","vim-scroll"),this.addSliderSetting("vimScrollSize",5,500,5).setName("Scroll size (px) of the jkhl keys").setDesc("The size of scroll when one of the jkhl keys is pressed once."),this.addToggleSetting("vimLargerScrollSizeWhenZoomIn").setName("Increase scroll size when zoomed in"),this.addSliderSetting("vimContinuousScrollSpeed",.1,5,.1).setName("Speed of continuous scroll (px per ms)").setDesc("The speed of scroll when pressing and holding down the jkhl keys."),this.addToggleSetting("vimSmoothScroll").setName("Smooth scroll"),this.addHeading("Search","vim-search"),this.addToggleSetting("vimHlsearch").setName("hlsearch").setDesc("If enabled, all matches will be highlighted."),this.addToggleSetting("vimIncsearch").setName("incsearch").setDesc("Incremental search: while typing the search query, update the search results after every keystroke. If disabled, the results will be shown only after pressing Enter.")],()=>this.plugin.settings.vim),this.addHeading("Misc","misc","lucide-more-horizontal"),this.addToggleSetting("showStatusInToolbar").setName("Show status in PDF toolbar").setDesc('For example, when you copy a link to a text selection in a PDF file, the status "Link copied" will be displayed in the PDF toolbar.'),this.addFileLocationSetting("newPDFLocation",d=>d.setName("Default location for new PDFs").setDesc('The "Create new PDF" command will create a new PDF file in the location specified here.'),"newPDFFolderPath",d=>d.setName("Folder to create new PDFs in").setDesc("Newly created PDFs will appear under this folder.")),this.addToggleSetting("hideReplyAnnotation").setName("Hide reply annotations").then(d=>{this.renderMarkdown(["Hide annotations that are replies to other annotations in the PDF viewer.","","This is a temporary fix for the issue that PDF.js (the library Obsidian's PDF viewer is based on) does not fulfill the PDF specification in that it renders reply annotations as if a standalone annotation."],d.descEl)}),this.addToggleSetting("hideStampAnnotation").setName("Disable popups for rubber stamp annotations").setDesc(`A rubber stamp annotation is a type of annotation that displays text or graphics intended to look like a rubber stamp. However, some applications, including iOS/iPadOS's "Markup", use this type of annotation also for handwriting. Often, all pieces of handwriting in a single page are grouped into a single rubber stamp annotation, which tends to be so large that it covers the entire page. In this case, annotation popups can be annoying, so you can disable them here.`),this.addToggleSetting("removeWhitespaceBetweenCJChars").setName("Remove half-width whitespace between two Chinese/Japanese characters when copying text").setDesc("Such whitespace can be introduced as a result of poor post-processing of OCR (optical character recognition). Enable this option to remove it when copying links to text selections."),this.addToggleSetting("copyAsSingleLine").setName("Override the default copy behavior in the PDF viewer").then(d=>{d.descEl.appendText('If enabled, whenever you copy text from the PDF viewer (using Ctrl/Cmd+C or via context menu), the text will go through the same pre-processing as the "'+this.plugin.lib.commands.stripCommandNamePrefix(this.plugin.lib.commands.getCommand("copy-link-to-selection").name)+'" command before written to the clipboard. The pre-processing includes transforming multi-line text into a single line by removing line breaks (if a word is split across lines, it will be concatenated), which is useful because it prevents the copied text from being split into multiple lines unnaturally. If the previous option is enabled, the whitespace removal will also be applied.'),d.descEl.appendText(' Also note that on mobile devices, the action performed by "Copy" depends on the '),d.descEl.appendChild(this.createLinkTo("mobileCopyAction")),d.descEl.appendText(" option.")}),pe.Platform.isDesktopApp&&this.addTextAreaSetting("PATH").then(d=>{let h=d.components[0];h instanceof pe.TextAreaComponent&&(h.inputEl.rows=8,h.inputEl.cols=30)}).setName('"PATH" environment variable').setDesc('Provide the "PATH" environment variable for PDF++ to run shell commands without the full paths specified. In MacOS and Linux, you can run "echo $PATH" in Terminal and then copy & paste the result here. Currently, it will be used only when you run ":!<command>" in Vim mode.'),this.addHeading("Style settings","style-settings","lucide-settings-2").setDesc("You can find more options in Style Settings > PDF++.").addButton(d=>{d.setButtonText("Open style settings").onClick(()=>{let h=this.app.setting.pluginTabs.find(u=>u.id==="obsidian-style-settings");h?this.app.setting.openTab(h):open("obsidian://show-plugin?id=obsidian-style-settings")})}),this.addFundingButton(),await Promise.all(this.promises)}async hide(){this.plugin.settings.colors=Object.fromEntries(Object.entries(this.plugin.settings.colors).filter(([t,i])=>t&&cn(i))),this.plugin.settings.defaultColor&&!(this.plugin.settings.defaultColor in this.plugin.settings.colors)&&(this.plugin.settings.defaultColor=""),this.plugin.settings.backlinkHoverColor&&!(this.plugin.settings.backlinkHoverColor in this.plugin.settings.colors)&&(this.plugin.settings.backlinkHoverColor=""),this.plugin.settings.copyCommands=this.plugin.settings.copyCommands.filter(t=>t.name&&t.template),this.plugin.settings.displayTextFormats=this.plugin.settings.displayTextFormats.filter(t=>t.name),this.plugin.settings.enablePDFEdit&&!this.plugin.settings.author&&(this.plugin.settings.enablePDFEdit=!1,new pe.Notice(`${this.plugin.manifest.name}: Cannot enable writing highlights into PDF files because the "Annotation author" option is empty.`)),this.plugin.validateAutoFocusAndAutoPasteSettings(),await this.plugin.saveSettings(),this.plugin.loadStyle(),this.promises=[],this.component.unload()}};var Ow=async(n,e,t)=>{if(e.palette){if(Be.Platform.isDesktopApp){let i=window.electron;i&&t.isTrusted&&(t.stopPropagation(),t.stopImmediatePropagation(),await new Promise(r=>{let o=t.win.setTimeout(()=>r(null),1e3);i.ipcRenderer.once("context-menu",(s,a)=>{t.win.clearTimeout(o),r(a)}),i.ipcRenderer.send("context-menu")}))}t.defaultPrevented||await qg(n,e,t)}};async function qg(n,e,t){let i=await Mu.fromMouseEvent(n,e,t);e.clearEphemeralUI(),i.showAtMouseEvent(t),e.pdfViewer.isEmbed&&t.preventDefault()}async function Nu(n,e,t){if(!t||!t.focusNode||t.isCollapsed)return;let i=t.focusNode,r=t.focusOffset,o=i.doc,s=o.createRange();s.setStart(i,r),s.setEnd(i,r);let{x:a,y:c}=s.getBoundingClientRect(),l=new Mu(n,e);await l.addItems(),e.clearEphemeralUI(),n.shownMenus.forEach(d=>d.hide()),l.showAtPosition({x:a,y:c},o)}var Mw=(n,e,t)=>{var o;let{lib:i}=n,r=t.targetNode;if(r&&r.instanceOf(HTMLElement)&&r.hasClass("thumbnail")&&r.dataset.pageNumber!==void 0){let s=parseInt(r.dataset.pageNumber);if(Number.isNaN(s))return;let a=e.getMarkdownLink(`#page=${s}`,e.getPageLinkAlias(s)),l=(o=e.getPage(s).pageLabel)!=null?o:""+s,d=e.pdfViewer.pagesCount,h=""+s===l?`Copy link to page ${s}`:`Copy link to page ${l} (${s}/${d})`,u=new Be.Menu().addItem(p=>{p.setTitle(h).setIcon("lucide-copy").onClick(()=>{var m;((m=t.view)!=null?m:activeWindow).navigator.clipboard.writeText(a);let f=e.file;f&&(n.lastCopiedDestInfo={file:f,destArray:[s-1,"XYZ",null,null,null]})})});i.isEditable(e)&&u.addItem(p=>{p.setTitle("Insert page before this page").setIcon("lucide-plus").onClick(()=>{let f=e.file;if(!f){new Be.Notice(`${n.manifest.name}: Failed to insert the page.`);return}i.commands._insertPage(f,s,s)})}).addItem(p=>{p.setTitle("Insert page after this page").setIcon("lucide-plus").onClick(()=>{let f=e.file;if(!f){new Be.Notice(`${n.manifest.name}: Failed to insert the page.`);return}i.commands._insertPage(f,s+1,s)})}).addItem(p=>{p.setTitle("Delete page").setIcon("lucide-trash").onClick(()=>{let f=e.file;if(!f){new Be.Notice(`${n.manifest.name}: Failed to delete the page.`);return}i.commands._deletePage(f,s)})}).addItem(p=>{p.setTitle("Extract page to new file").setIcon("lucide-file-output").onClick(()=>{let f=e.file;if(!f){new Be.Notice(`${n.manifest.name}: Failed to extract the page.`);return}i.commands._extractPage(f,s)})}).addItem(p=>{p.setTitle("Divide document at this page").setIcon("lucide-split-square-vertical").onClick(()=>{let f=e.file;if(!f){new Be.Notice(`${n.manifest.name}: Failed to divide the document.`);return}i.commands._dividePDF(f,s)})}).addSeparator().addItem(p=>{p.setTitle("Customize...").setIcon("lucide-settings").onClick(()=>{n.openSettingTab().scrollToHeading("thumbnail")})}),u.showAtMouseEvent(t)}},Nw=(n,e,t,i,r)=>{let{app:o,lib:s}=n;e.pdfViewer.isEmbed&&r.preventDefault();let a=s.toSingleLine(i.item.title),c=a?`Copy link to "${a.length<=40?a:a.slice(0,39).trim()+"\u2026"}"`:"Copy link to section",l=new Be.Menu().addItem(d=>{d.setTitle(c).setIcon("lucide-copy").onClick(async()=>{var p;let h=await s.copyLink.getTextToCopyForOutlineItem(e,t,i);((p=r.view)!=null?p:activeWindow).navigator.clipboard.writeText(h);let u=i.item.dest;if(typeof u=="string")n.lastCopiedDestInfo={file:t,destName:u};else{let f=await i.getPageNumber(),m=s.normalizePDFJsDestArray(u,f);n.lastCopiedDestInfo={file:t,destArray:m}}})});s.isEditable(e)&&l.addItem(d=>{d.setTitle("Add subitem").setIcon("lucide-plus").onClick(()=>{new qr(n,"Add subitem to outline").ask().then(async({title:h})=>{let u=s.getPDFViewFromChild(e);if(u){let p=u.getState(),f=s.viewStateToDestArray(p,!0);if(f){await Ke.findAndProcessOutlineItem(i,m=>{m.createChild(h,f).updateCountForAllAncestors(),m.sortChildren()},t,n);return}}new Be.Notice(`${n.manifest.name}: Failed to add the subitem.`)})})}).addItem(d=>{d.setTitle("Rename...").setIcon("lucide-pencil").onClick(()=>{new qr(n,"Rename outline item").presetTitle(i.item.title).ask().then(async({title:h})=>{await Ke.findAndProcessOutlineItem(i,u=>{u.title=h},t,n)})})}).addItem(d=>{d.setTitle("Move item to...").setIcon("lucide-folder-tree").onClick(async()=>{let h=await Ke.fromFile(t,n),u=await h.findPDFjsOutlineTreeNode(i);if(!u){new Be.Notice(`${n.manifest.name}: Failed to load the PDF document.`);return}new Fu(h,u).askDestination().then(async p=>{p.appendChild(u),p.sortChildren();let f=await h.doc.save();await o.vault.modifyBinary(t,f)})})}).addItem(d=>{d.setTitle("Delete").setIcon("lucide-trash").onClick(async()=>{await Ke.findAndProcessOutlineItem(i,h=>{h.remove(),h.updateCountForAllAncestors()},t,n)})}).addItem(d=>{d.setTitle("Extract to new file").setIcon("lucide-file-output").onClick(async()=>{let{lib:h,settings:u}=n,p=await Ke.fromFile(t,n),f=await p.findPDFjsOutlineTreeNode(i);if(!f){new Be.Notice(`${n.manifest.name}: Failed to process the outline item.`);return}let{doc:m}=p,x=f.getExplicitDestination(),g=x?x[0]+1:null,b=null,v=f;for(;!v.nextSibling&&v.parent;)v=v.parent;let y=v.nextSibling;if(y){let D=y.getExplicitDestination();D&&(b=D[0]+1)}else b=m.getPageCount()+1;if(g===null||b===null){new Be.Notice(`${n.manifest.name}: Failed to fetch page numbers from the outline item.`);return}if(g>b){new Be.Notice(`${n.manifest.name}: The page numbers are invalid: the beginning of this section is page ${g}, whereas the next section starts at page ${b}.`);return}g===b&&(b=g+1);let F=h.getAvailablePathForCopy(t);new Xn(n,u.askPageLabelUpdateWhenExtractPage,u.pageLabelUpdateWhenExtractPage,u.askExtractPageInPlace,u.extractPageInPlace).ask().then((D,C)=>{h.composer.extractPages(t,{from:g,to:b-1},F,!1,D,C).then(async k=>{if(!k){new Be.Notice(`${n.manifest.name}: Failed to extract section from PDF.`);return}if(u.openAfterExtractPages){let E=h.workspace.getLeaf(u.howToOpenExtractedPDF);await E.openFile(k),await h.workspace.revealLeaf(E)}})})})}).addSeparator().addItem(d=>{d.setTitle("Customize...").setIcon("lucide-settings").onClick(()=>{n.openSettingTab().scrollToHeading("outline")})}),l.showAtMouseEvent(r)},Rw=(n,e,t,i)=>{let{lib:r}=n;r.isEditable(e)&&new Be.Menu().addItem(o=>{o.setTitle("Add top-level item").setIcon("lucide-plus").onClick(()=>{new qr(n,"Add item to outline").ask().then(async({title:s})=>{let a=r.getPDFViewFromChild(e);if(a){let c=a.getState(),l=r.viewStateToDestArray(c,!0);if(l){await Ke.processOutlineRoot(d=>{d.createChild(s,l).updateCountForAllAncestors(),d.sortChildren()},t,n);return}}new Be.Notice(`${n.manifest.name}: Failed to add the item.`)})})}).showAtMouseEvent(i)},Ug=class extends Be.Menu{constructor(e){super(),this.plugin=e}get app(){return this.plugin.app}get settings(){return this.plugin.settings}get lib(){return this.plugin.lib}},Mu=class n extends Ug{constructor(e,t){super(e),this.child=t,this.currentSection=null,this.setUseNativeMenu(!1),this.addSections(Object.keys(Qn.contextMenuConfig)),e.settings.enableVimInContextMenu&&Ng(this)}static async fromMouseEvent(e,t,i){let r=new n(e,t);return await r.addItems(i),r}get win(){return this.child.containerEl.win}addItem(e){return this.currentSection?super.addItem(t=>{e(t),t.setSection(this.currentSection)}):super.addItem(e)}async addItems(e){var x,g;let{child:t,plugin:i,lib:r,app:o}=this,s=t.pdfViewer.pdfViewer,a=this.win.getSelection(),c=(x=r.copyLink.getPageAndTextRangeFromSelection(a))!=null?x:s?{page:s.currentPageNumber}:null;if(!c)return;let{page:l,selection:d}=c,h=r.toSingleLine((g=a==null?void 0:a.toString())!=null?g:""),u=b=>{var v;return(v=this.settings.contextMenuConfig.find(y=>y.id===b))==null?void 0:v.visible};Be.Platform.isMacOS&&Be.Platform.isDesktopApp&&this.win.electron&&h&&u("action")&&this.addItem(b=>b.setSection("action").setTitle(`Look up "${h.length<=25?h:h.slice(0,24).trim()+"\u2026"}"`).setIcon("lucide-library").onClick(()=>{this.win.electron.remote.getCurrentWebContents().showDefinitionForSelection()})),h&&h&&d&&t.palette&&(u("selection")&&td.create(this,t.palette).setSection("selection","Copy link to selection","lucide-copy").addItems(i.settings.selectionProductMenuConfig).onItemClick(({copyFormat:b,displayTextFormat:v,colorName:y})=>{r.copyLink.copyLinkToSelection(!1,{copyFormat:b,displayTextFormat:v},y!=null?y:void 0)}),r.isEditable(t)&&u("write-file")&&td.create(this,t.palette).setSection("write-file",`Add ${i.settings.selectionBacklinkVisualizeStyle} to file`,"lucide-edit").setShowNoColorButton(!1).addItems(i.settings.writeFileProductMenuConfig).onItemClick(({copyFormat:b,displayTextFormat:v,colorName:y})=>{r.copyLink.writeHighlightAnnotationToSelectionIntoFileAndCopyLink(!1,{copyFormat:b,displayTextFormat:v},y!=null?y:void 0)}));let p=t.getPage(l),f=e&&t.getAnnotationFromEvt(p,e),m=null;if(await(async()=>{var b;if(f){let{id:v}=r.getAnnotationInfoFromAnnotationElement(f);if(m=await t.getAnnotatedText(p,v),t.palette&&u("annotation")&&td.create(this,t.palette).setSection("annotation","Copy link to annotation","lucide-copy").addItems(i.settings.annotationProductMenuConfig).onItemClick(({copyFormat:y,displayTextFormat:F})=>{r.copyLink.copyLinkToAnnotation(t,!1,{copyFormat:y,displayTextFormat:F},l,v,!1,!0)}),r.isEditable(t)&&u("modify-annotation")){if(i.settings.enableAnnotationContentEdit&&Hr.isSubtypeSupported(f.data.subtype)){let y=f.data.subtype;this.addItem(F=>F.setSection("modify-annotation").setTitle("Edit annotation").setIcon("lucide-pencil").onClick(()=>{t.file&&Hr.forSubtype(y,i,t.file,l,v).open()}))}i.settings.enableAnnotationDeletion&&this.addItem(y=>y.setSection("modify-annotation").setTitle("Delete annotation").setIcon("lucide-trash").onClick(()=>{t.file&&new xa(i,t.file,l,v).openIfNeccessary()}))}if(f.data.subtype==="Link"&&u("link")){let y=(b=t.pdfViewer.pdfViewer)==null?void 0:b.pdfDocument;if("dest"in f.data&&typeof f.data.dest=="string"&&y&&t.file){let F=f.data.dest,D=t.file;this.addItem(C=>{C.setSection("link").setTitle("Copy PDF link").setIcon("lucide-copy").onClick(async()=>{let k=await r.destIdToSubpath(F,y);if(typeof k=="string"){let E=m;!E&&f.data.rect&&(E=t.getTextByRect(p,f.data.rect));let B=r.generateMarkdownLink(D,"",k,E!=null?E:void 0).slice(1);navigator.clipboard.writeText(B),i.lastCopiedDestInfo={file:D,destName:F}}})}),i.lib.isCitationId(F)&&this.addItem(C=>{C.setSection("link").setTitle("Search on Google Scholar").setIcon("lucide-search").onClick(()=>{var E;let k=(E=this.child.bib)==null?void 0:E.getGoogleScholarSearchUrlFromDest(F);if(typeof k!="string"){new Be.Notice(`${i.manifest.name}: Failed to find bibliographic information.`);return}window.open(k,"_blank")})})}if("url"in f.data&&typeof f.data.url=="string"){let F=f.data.url;this.currentSection="link",o.workspace.handleExternalLinkContextMenu(this,F),this.currentSection=null}}}})(),h&&d&&r.isEditable(t)&&i.lastCopiedDestInfo&&i.lastCopiedDestInfo.file===t.file&&u("link")){if("destArray"in i.lastCopiedDestInfo){let b=i.lastCopiedDestInfo.destArray;this.addItem(v=>v.setSection("link").setTitle("Paste copied PDF link to selection").setIcon("lucide-clipboard-paste").onClick(()=>{r.highlight.writeFile.addLinkAnnotationToSelection(b)}))}else if("destName"in i.lastCopiedDestInfo){let b=i.lastCopiedDestInfo.destName;this.addItem(v=>v.setSection("link").setTitle("Paste copied link to selection").setIcon("lucide-clipboard-paste").onClick(()=>{r.highlight.writeFile.addLinkAnnotationToSelection(b)}))}}h&&u("text")&&this.addItem(b=>b.setSection("text").setTitle("Copy selected text").setIcon("lucide-copy").onClick(()=>{var v;navigator.clipboard.writeText(this.plugin.settings.copyAsSingleLine?h:(v=a==null?void 0:a.toString())!=null?v:"")})),m&&u("text")&&this.addItem(b=>b.setSection("text").setTitle("Copy annotated text").setIcon("lucide-copy").onClick(()=>{navigator.clipboard.writeText(m)})),h&&d&&u("search")&&this.addItem(b=>{b.setSection("search").setTitle("Copy link to search").setIcon("lucide-search").onClick(()=>{r.copyLink.copyLinkToSearch(!1,t,l,h.trim())})}),r.speech.isEnabled()&&h&&u("speech")&&this.addItem(b=>{b.setSection("speech").setTitle("Read aloud selected text").setIcon("lucide-speech").onClick(()=>{r.speech.speak(h)})}),!this.items.length&&u("page")&&this.addItem(b=>{b.setSection("page").setTitle("Copy link to page").setIcon("lucide-copy").onClick(v=>{let y=t.getMarkdownLink(`#page=${l}`,t.getPageLinkAlias(l));v.win.navigator.clipboard.writeText(y);let F=t.file;F&&(i.lastCopiedDestInfo={file:F,destArray:[l-1,"XYZ",null,null,null]})})}),this.items.length&&u("settings")&&this.addItem(b=>{b.setSection("settings").setIcon("lucide-settings").setTitle("Customize menu...").onClick(()=>{this.plugin.openSettingTab().scrollToHeading("context-menu")})}),o.workspace.trigger("pdf-menu",this,{pageNumber:l,selection:h,annot:f})}},td=class n extends Fe{constructor(t,i){super(i.plugin);this.clickItemCallback=null;this.itemToColorName=new Map;this.itemToCopyFormat=new Map;this.itemToDisplayTextFormat=new Map;this.rootMenu=t,this.palette=i,this.showNoColorButton=this.settings.noColorButtonInColorPalette}static create(t,i){return t.addChild(new n(t,i))}then(t){return t(this),this}setShowNoColorButton(t){return this.showNoColorButton=t,this}setSection(t,i,r){return this.section=t,this.sectionTitle=i,this.sectionIcon=r,this}addSectionTitle(){this.section&&this.sectionTitle&&this.rootMenu.addItem(t=>{t.setSection(this.section).setTitle(this.sectionTitle).setDisabled(!0),this.sectionIcon&&t.setIcon(this.sectionIcon)})}addItems(t){return this.addSectionTitle(),Be.Platform.isDesktopApp||(t=t.slice(0,1)),Cw(this.rootMenu,t.map(i=>{switch(i){case"color":return this.addColorItems.bind(this);case"copy-format":return this.addCopyFormatItems.bind(this);case"display":return this.addDisplayTextItems.bind(this)}}),{clickableParentItem:!0,vim:this.settings.enableVimInContextMenu}),this}addColorItems(t){let i=Object.keys(this.settings.colors),r=this.palette.getState().selectedColorName,o=r?i.map(s=>s.toLowerCase()).indexOf(r.toLowerCase()):-1;for(let s=this.showNoColorButton?-1:0;s<i.length;s++)t.addItem(a=>{a.setTitle(s>=0?i[s]:"Don't specify color").onClick(l=>{this.finish({colorName:s>=0?i[s]:null},l)}),t!==this.rootMenu&&a.setChecked(s===o),this.section&&t===this.rootMenu&&a.setSection(this.section),this.itemToColorName.set(a,s>=0?i[s]:null);let c=this.settings.colors[s>=0?i[s]:"transparent"];a.dom.addClass("pdf-plus-color-menu-item"),a.titleEl.before(createDiv("pdf-plus-color-indicator",l=>{l.setCssStyles({backgroundColor:c})}))});Mg(t,100)}addNamedTemplateItems(t,i,r,o,s){for(let a=0;a<i.length;a++)t.addItem(c=>{c.setTitle(i[a].name).onClick(l=>{s(i[a],l)}),t!==this.rootMenu&&c.setChecked(a===r),o.set(c,i[a].template),this.section&&t===this.rootMenu&&c.setSection(this.section)});Mg(t,100)}addDisplayTextItems(t){this.addNamedTemplateItems(t,this.settings.displayTextFormats,this.palette.getState().displayTextFormatIndex,this.itemToDisplayTextFormat,({template:i},r)=>this.finish({displayTextFormat:i},r))}addCopyFormatItems(t){this.addNamedTemplateItems(t,this.settings.copyCommands,this.palette.getState().actionIndex,this.itemToCopyFormat,({template:i},r)=>this.finish({copyFormat:i},r))}getOptionsFromColorPalette(){return{colorName:this.palette.getColorName(),copyFormat:this.palette.getCopyFormat(),displayTextFormat:this.palette.getDisplayTextFormat()}}getOptions(t){let i=this.getOptionsFromColorPalette();if(Be.Platform.isDesktopApp){let{items:r}=Sw(this.rootMenu);for(let o of r)this.itemToColorName.has(o)?i.colorName=this.itemToColorName.get(o):this.itemToCopyFormat.has(o)?i.copyFormat=this.itemToCopyFormat.get(o):this.itemToDisplayTextFormat.has(o)&&(i.displayTextFormat=this.itemToDisplayTextFormat.get(o))}return Object.assign(i,t),i}updateColorPaletteState(t){let i=t.colorName,r=this.settings.copyCommands.findIndex(({template:s})=>s===t.copyFormat),o=this.settings.displayTextFormats.findIndex(({template:s})=>s===t.displayTextFormat);this.palette.setState({selectedColorName:i,actionIndex:r,displayTextFormatIndex:o}),this.settings.syncColorPaletteItem&&this.settings.syncDefaultColorPaletteItem&&(this.settings.defaultColorPaletteItemIndex=i?Object.keys(this.settings.colors).indexOf(i)+1:0),this.settings.syncColorPaletteAction&&this.settings.syncDefaultColorPaletteAction&&(this.settings.defaultColorPaletteActionIndex=r),this.plugin.settings.syncDisplayTextFormat&&this.plugin.settings.syncDefaultDisplayTextFormat&&(this.plugin.settings.defaultDisplayTextFormatIndex=o),this.plugin.trigger("color-palette-state-change",{source:this.palette})}finish(t,i){var o;let r=this.getOptions(t);this.settings.updateColorPaletteStateFromContextMenu&&!Be.Keymap.isModifier(i,"Mod")&&this.updateColorPaletteState(r),(o=this.clickItemCallback)==null||o.call(this,r),this.rootMenu.hide()}onItemClick(t){this.clickItemCallback=t}},Vw=(n,e,t)=>{var l;if(n.defaultPrevented||(l=activeWindow.getSelection())!=null&&l.toString())return;let{lib:i,settings:r,child:o}=e;if(t.page){let d=o.getPage(t.page);if(o.getAnnotationFromEvt(d,n))return}let s=t.getColor(),a=(s==null?void 0:s.type)==="name"?s.name:void 0,c=new Be.Menu().addSections(["copy","color","image"]);s&&c.addItem(d=>{d.setSection("color").setTitle("Unset color").setIcon("lucide-palette").onClick(()=>{i.composer.linkUpdater.updateLinkColor(t.refCache,t.sourcePath,null)})});for(let d of Object.keys(r.colors))d.toLowerCase()!==(a==null?void 0:a.toLowerCase())&&c.addItem(h=>{h.setSection("color").setTitle(`Change color to "${d}"`).setIcon("lucide-palette").onClick(()=>{i.composer.linkUpdater.updateLinkColor(t.refCache,t.sourcePath,{type:"name",name:d})})});if(t.page&&t.FitR){let d=o.getPage(t.page).pdfPage,{left:h,bottom:u,right:p,top:f}=t.FitR;c.addItem(m=>{m.setSection("image").setTitle("Copy as image").setIcon("lucide-image").onClick(()=>{let x=i.pdfPageToImageArrayBuffer(d,{type:"image/png",encoderOptions:1,cropRect:[h,u,p,f]}).then(g=>new Blob([g],{type:"image/png"}));navigator.clipboard.write([new ClipboardItem({"image/png":x})])})})}c.showAtMouseEvent(n),n.preventDefault()};var Wg=require("obsidian");var Hw=async(n,e,t,i)=>{let{app:r,lib:o}=n,s=[];for(let a of e.allItems)s.push((async()=>{let c=await o.copyLink.getTextToCopyForOutlineItemDynamic(t,i,a),l=o.toSingleLine(a.item.title),d=l?`${l.length<=40?l:l.slice(0,39).trim()+"\u2026"}`:"PDF section";r.dragManager.handleDrag(a.selfEl,h=>(r.dragManager.updateSource([a.selfEl],"is-being-dragged"),{source:"pdf-plus",type:"pdf-offset",icon:"lucide-heading",title:d,getText:c,item:a})),r.dragManager.handleDrop(a.selfEl,(h,u,p)=>{if(!o.isEditable(t)||!u||u.source!=="pdf-plus"||u.type!=="pdf-offset")return;let f=u.item;if(f&&!Fg(f,a,!0)&&f.parent!==a&&a.owner===f.owner)return p||(async()=>{let m=await Ke.fromFile(i,n),[x,g]=await Promise.all([m.findPDFjsOutlineTreeNode(a),m.findPDFjsOutlineTreeNode(f)]);if(!x||!g){new Wg.Notice(`${n.manifest.name}: Failed to move the outline item.`);return}x.appendChild(g),x.sortChildren();let b=await m.doc.save();await r.vault.modifyBinary(i,b)})(),{action:`Move into "${d}"`,dropEffect:"move",hoverEl:a.el,hoverClass:"is-being-dragged-over"}},!1)})());await Promise.all(s),r.dragManager.handleDrop(e.childrenEl,(a,c,l)=>{if(!o.isEditable(t)||!c||c.source!=="pdf-plus"||c.type!=="pdf-offset"||a.target!==a.currentTarget)return;let d=c.item;if(d&&d.parent&&e===d.owner)return l||(async()=>{let h=await Ke.fromFile(i,n),u=await(h==null?void 0:h.findPDFjsOutlineTreeNode(d));if(!u){new Wg.Notice(`${n.manifest.name}: Failed to move the outline item.`);return}let p=h.ensureRoot();p.appendChild(u),p.sortChildren();let f=await h.doc.save();await r.vault.modifyBinary(i,f)})(),{action:"Move to top level",dropEffect:"move",hoverEl:e.childrenEl,hoverClass:"is-being-dragged-over"}},!1)},zw=(n,e,t)=>{let{app:i,lib:r}=n;e.pdfViewer.pdfThumbnailViewer.container.querySelectorAll("div.thumbnail[data-page-number]").forEach(o=>{var h;let s=parseInt(o.dataset.pageNumber),c=(h=e.getPage(s).pageLabel)!=null?h:""+s,l=e.pdfViewer.pagesCount,d=""+s===c?`Page ${s}`:`Page ${c} (${s}/${l})`;i.dragManager.handleDrag(o,u=>(i.dragManager.updateSource([o],"is-being-dragged"),{source:"pdf-plus",type:"pdf-page",icon:"lucide-book-open",title:d,getText:p=>r.copyLink.getTextToCopy(e,n.settings.thumbnailLinkCopyFormat,n.settings.thumbnailLinkDisplayTextFormat,t,s,`#page=${s}`,"","",p)}))})},Uw=(n,e,t,i,r,o)=>{let{app:s,lib:a}=n,c=t.getPage(r);t.getAnnotatedText(c,o).then(l=>{s.dragManager.handleDrag(e,d=>{s.dragManager.updateSource([e],"is-being-dragged");let h=a.getColorPaletteFromChild(t);if(!h)return null;let u=n.settings.copyCommands[h.actionIndex].template;return{source:"pdf-plus",type:"pdf-annotation",icon:"lucide-highlighter",title:"PDF annotation",getText:p=>a.copyLink.getTextToCopy(t,u,void 0,i,r,`#page=${r}&annotation=${o}`,l!=null?l:"","",p)}})})};var Vu=require("obsidian");var Gr=require("obsidian");var Da=class extends Fe{constructor(e,t){super(e),this.file=t,this.events=new Gr.Events}onload(){this.init(),this.registerEvent(this.app.metadataCache.on("changed",(e,t,i)=>{this.update(e.path,i),this.trigger("update")})),this.registerEvent(this.app.metadataCache.on("deleted",e=>{this.deleteCachesForSourcePath(e.path),this.trigger("update")})),this.registerEvent(this.app.vault.on("rename",(e,t)=>{if(e instanceof Gr.TFile){this.deleteCachesForSourcePath(t);let i=this.app.metadataCache.getFileCache(e);i&&this.update(e.path,i),this.trigger("update")}}))}init(){this.pagesMap=new Map,this.sourcePaths=new Qt,this.backlinks=new Set;let e=this.app.metadataCache.getBacklinksForFile(this.file);for(let t of e.keys()){let i=e.get(t);for(let r of i!=null?i:[])this.createCache(r,t)}}update(e,t){var r,o,s;this.deleteCachesForSourcePath(e);let i=[...(r=t.links)!=null?r:[],...(o=t.embeds)!=null?o:[],...(s=t.frontmatterLinks)!=null?s:[]];for(let a of i){let c=a.link;this.app.metadataCache.getFirstLinkpathDest((0,Gr.getLinkpath)(c),e)===this.file&&this.createCache(a,e)}}delete(e){this.backlinks.delete(e),this.sourcePaths.deleteValue(e.sourcePath,e),e.page&&this.getPageIndex(e.page).delete(e)}deleteCachesForSourcePath(e){let t=this.sourcePaths.get(e);for(let i of t)this.delete(i)}getPageIndex(e){return this.pagesMap.has(e)||this.pagesMap.set(e,new kt(this,e)),this.pagesMap.get(e)}createCache(e,t){let i=new jg(this,e);this.backlinks.add(i),i.sourcePath=t;let{subpath:r}=(0,Gr.parseLinktext)(e.link),o=new URLSearchParams(r.startsWith("#")?r.slice(1):r);if(!o.has("page"))return i;let s=+o.get("page");if(!Number.isInteger(s))return i;if(i.page=s,o.has("selection")){let a=o.get("selection").split(",").map(c=>parseInt(c.trim()));if(a.length===4&&a.every(c=>!isNaN(c))){let[c,l,d,h]=a;i.selection={beginIndex:c,beginOffset:l,endIndex:d,endOffset:h}}}if(o.has("annotation")){let a=o.get("annotation");i.annotation={id:a}}if(o.has("offset")){let a=o.get("offset").split(",").map(h=>parseInt(h)),c=a[0],l=a[1],d=a[2];isNaN(d)?i.FitBH={top:l}:i.XYZ={left:c,top:l,zoom:d}}if(o.has("rect")){let a=o.get("rect").split(",").map(u=>parseFloat(u)),[c,l,d,h]=a;i.FitR={left:c,bottom:l,right:d,top:h}}if(o.has("color")){let a=o.get("color"),c=a.split(",").map(l=>parseInt(l));c.length===3&&c.every(l=>!isNaN(l))?i.setColor({rgb:{r:c[0],g:c[1],b:c[2]}}):i.setColor({name:a})}return i}on(e,t,i){return this.events.on(e,t,i)}trigger(e,...t){this.events.trigger(e,...t)}},kt=class n{constructor(e,t){this.sourcePaths=new Qt;this.backlinks=new Set;this.selections=new Qt;this.annotations=new Qt;this.XYZs=new Qt;this.FitBHs=new Qt;this.FitRs=new Qt;this.index=e,this.pageNumber=t}add(e){this.backlinks.add(e),this.sourcePaths.addValue(e.sourcePath,e),e.selection&&this.selections.addValue(n.selectionId(e.selection),e),e.annotation&&this.annotations.addValue(e.annotation.id,e),e.XYZ&&this.XYZs.addValue(n.XYZId(e.XYZ),e),e.FitBH&&this.FitBHs.addValue(n.FitBHId(e.FitBH),e),e.FitR&&this.FitRs.addValue(n.FitRId(e.FitR),e)}delete(e){this.backlinks.delete(e),this.sourcePaths.deleteValue(e.sourcePath,e),e.selection&&this.selections.deleteValue(n.selectionId(e.selection),e),e.annotation&&this.annotations.deleteValue(e.annotation.id,e),e.XYZ&&this.XYZs.deleteValue(n.XYZId(e.XYZ),e),e.FitBH&&this.FitBHs.deleteValue(n.FitBHId(e.FitBH),e),e.FitR&&this.FitRs.deleteValue(n.FitRId(e.FitR),e)}static selectionId(e){return`${e.beginIndex},${e.beginOffset},${e.endIndex},${e.endOffset}`}static selectionIdToParams(e){let[t,i,r,o]=e.split(",").map(s=>parseInt(s));return{beginIndex:t,beginOffset:i,endIndex:r,endOffset:o}}static XYZId(e){return`${e.left},${e.top},${e.zoom}`}static XYZIdToParams(e){let[t,i,r]=e.split(",").map(o=>parseFloat(o));return{left:t,top:i,zoom:r}}static FitBHId(e){return`${e.top}`}static FitBHIdToParams(e){return{top:parseFloat(e)}}static FitRId(e){return`${e.left},${e.bottom},${e.right},${e.top}`}static FitRIdToParams(e){let[t,i,r,o]=e.split(",").map(s=>parseFloat(s));return{left:t,bottom:i,right:r,top:o}}},jg=class{constructor(e,t){this._sourcePath="";this._page=null;this._selection=null;this._annotation=null;this._XYZ=null;this._FitBH=null;this._FitR=null;this._color=null;this.index=e,this.refCache=t}getPageIndex(){return this.page?this.index.getPageIndex(this.page):null}get file(){return this.index.file}get sourcePath(){return this._sourcePath}set sourcePath(e){this._sourcePath=e,this.index.sourcePaths.addValue(e,this),this.page&&this.index.getPageIndex(this.page).sourcePaths.addValue(e,this)}get page(){return this._page}set page(e){this.page&&this.index.getPageIndex(this.page).delete(this),e&&this.index.getPageIndex(e).add(this),this._page=e}get selection(){return this._selection}set selection(e){let t=this.getPageIndex();t&&(this.selection&&(t==null||t.selections.deleteValue(kt.selectionId(this.selection),this)),e&&t.selections.addValue(kt.selectionId(e),this)),this._selection=e}get annotation(){return this._annotation}set annotation(e){let t=this.getPageIndex();t&&(this.annotation&&(t==null||t.annotations.deleteValue(this.annotation.id,this)),e&&t.annotations.addValue(e.id,this)),this._annotation=e}get XYZ(){return this._XYZ}set XYZ(e){let t=this.getPageIndex();t&&(this.XYZ&&(t==null||t.XYZs.deleteValue(kt.XYZId(this.XYZ),this)),e&&t.XYZs.addValue(kt.XYZId(e),this)),this._XYZ=e}get FitBH(){return this._FitBH}set FitBH(e){let t=this.getPageIndex();t&&(this.FitBH&&(t==null||t.FitBHs.deleteValue(kt.FitBHId(this.FitBH),this)),e&&t.FitBHs.addValue(kt.FitBHId(e),this)),this._FitBH=e}get FitR(){return this._FitR}set FitR(e){let t=this.getPageIndex();t&&(this.FitR&&(t==null||t.FitRs.deleteValue(kt.FitRId(this.FitR),this)),e&&t.FitRs.addValue(kt.FitRId(e),this)),this._FitR=e}setColor(e){"rgb"in e?this._color={type:"rgb",rgb:e.rgb}:this._color={type:"name",name:e.name}}getColor(){return this._color}};var Kg=class extends Fe{constructor(e,t){super(e),this.file=t}get index(){var e;return(e=this._index)!=null?e:this._index=this.addChild(new Da(this.plugin,this.file))}processSelection(e,t,i){}processAnnotation(e,t,i){}processXYZ(e,t,i){}processFitBH(e,t,i){}processFitR(e,t,i){}},Gg=class extends Fe{constructor(t){super(t.plugin);this.pagewiseCacheToDomsMap=new Map;this.pagewiseStatus=new Map;this.pagewiseOnClearDomCallbacksMap=new Qt;this.visualizer=t}get file(){return this.visualizer.file}getCacheToDomsMap(t){let i=this.pagewiseCacheToDomsMap.get(t);return i||(i=new Nc,this.pagewiseCacheToDomsMap.set(t,i)),i}clearDomInPage(t){let i=this.getCacheToDomsMap(t);for(let r of i.values())r.closest(".pdf-plus-backlink-highlight-layer")&&r.remove();this.pagewiseOnClearDomCallbacksMap.get(t).forEach(r=>r()),this.pagewiseCacheToDomsMap.delete(t),this.updateStatus(t,{onPageReady:!1,onTextLayerReady:!1,onAnnotationLayerReady:!1})}clear(){for(let t of this.pagewiseCacheToDomsMap.keys())this.clearDomInPage(t)}getStatus(t){let i=this.pagewiseStatus.get(t);return i||(i={onPageReady:!1,onTextLayerReady:!1,onAnnotationLayerReady:!1},this.pagewiseStatus.set(t,i)),i}isPageProcessed(t){let i=this.getStatus(t);return i.onPageReady&&i.onTextLayerReady&&i.onAnnotationLayerReady}updateStatus(t,i){let r=this.getStatus(t);Object.assign(r,i)}postProcessPageIfReady(t){this.isPageProcessed(t)&&this.postProcessPage(t)}postProcessPage(t){let i=this.getCacheToDomsMap(t);for(let r of i.keys()){let o=r.getColor();for(let s of i.get(r))this.hookBacklinkOpeners(s,r),this.hookBacklinkViewEventHandlers(s,r),this.hookContextMenuHandler(s,r),this.hookClassAdderOnMouseOver(s,r),this.setHighlightColor(s,o)}}hookBacklinkOpeners(t,i){let r="position"in i.refCache?i.refCache.position:void 0,o=r==null?void 0:r.start.line,s={isTriggeredFromBacklinkVisualizer:!0};typeof o=="number"&&(s.scroll=o),this.registerDomEventForCache(i,t,"mouseover",a=>{this.app.workspace.trigger("hover-link",{event:a,source:"pdf-plus",hoverParent:this.visualizer,targetEl:t,linktext:i.sourcePath,sourcePath:this.file.path,state:s})}),this.registerDomEventForCache(i,t,"dblclick",a=>{if(this.plugin.settings.doubleClickHighlightToOpenBacklink){let c=Vu.Keymap.isModEvent(a);this.lib.workspace.openMarkdownLinkFromPDF(i.sourcePath,this.file.path,c,r?{pos:r}:void 0)}})}hookBacklinkViewEventHandlers(t,i){this.registerDomEventForCache(i,t,"mouseover",r=>{this.plugin.settings.highlightBacklinksPane&&this.lib.workspace.iterateBacklinkViews(o=>{if(this.file!==o.file||!o.containerEl.isShown()||!o.pdfManager)return;let s=o.pdfManager.findBacklinkItemEl(i);if(s){s.addClass("hovered-backlink");let a=c=>{Pi(c,s)&&(s.removeClass("hovered-backlink"),t.removeEventListener("mouseout",a))};t.addEventListener("mouseout",a)}})})}hookContextMenuHandler(t,i){this.registerDomEventForCache(i,t,"contextmenu",r=>{Vw(r,this.visualizer,i)})}hookClassAdderOnMouseOver(t,i){let r=i.page;if(typeof r=="number"){let o="is-hovered";this.registerDomEventForCache(i,t,"mouseover",()=>{for(let a of this.getCacheToDomsMap(r).get(i))a.addClass(o);let s=()=>{for(let a of this.getCacheToDomsMap(r).get(i))a.removeClass(o);t.removeEventListener("mouseout",s)};t.addEventListener("mouseout",s)})}}setHighlightColor(t,i){if((i==null?void 0:i.type)==="name")t.dataset.highlightColor=i.name.toLowerCase();else if((i==null?void 0:i.type)==="rgb"){let{r,g:o,b:s}=i.rgb;t.setCssProps({"--pdf-plus-color":`rgb(${r}, ${o}, ${s})`,"--pdf-plus-backlink-icon-color":`rgb(${r}, ${o}, ${s})`,"--pdf-plus-rect-color":`rgb(${r}, ${o}, ${s})`})}}onClearDomInPage(t,i){this.pagewiseOnClearDomCallbacksMap.addValue(t,i)}registerDomEventForCache(t,i,r,o,s){this.registerDomEvent(i,r,o,s),t.page&&t.annotation&&this.onClearDomInPage(t.page,()=>{i.removeEventListener(r,o)})}},Xg=class extends Fe{constructor(e){super(e.plugin),this.visualizer=e,this.pagewiseIdToRectsMap=new Map}get file(){return this.visualizer.file}get child(){return this.visualizer.child}onload(){this.registerEvent(this.app.vault.on("modify",e=>{e===this.file&&this.pagewiseIdToRectsMap.clear()}))}getIdToRectsMap(e){let t=this.pagewiseIdToRectsMap.get(e);return t||(t=new Map,this.pagewiseIdToRectsMap.set(e,t)),t}getRectsForSelection(e,t){var o;let i=this.getIdToRectsMap(e),r=(o=i.get(t))!=null?o:null;return r||(r=this.computeRectsForSelection(e,t),r?(i.set(t,r),r):null)}computeRectsForSelection(e,t){let i=this.child.getPage(e),{beginIndex:r,beginOffset:o,endIndex:s,endOffset:a}=kt.selectionIdToParams(t),c=i.textLayer;if(!c)return null;let l=wt(c);return!l||!l.textDivs.length?null:this.lib.highlight.geometry.computeMergedHighlightRects(l,r,o,s,a)}},Ru=class n extends Kg{constructor(e,t,i){super(e,t),this.child=i}static create(e,t,i){return e.addChild(new n(e,t,i))}get hoverPopover(){return this.child.hoverPopover}set hoverPopover(e){this.child.hoverPopover=e,e==null||e.hoverEl.addClass("pdf-plus-backlink-popover")}onload(){this.shouldVisualizeBacklinks()&&(this.domManager=this.addChild(new Gg(this)),this.rectangleCache=this.addChild(new Xg(this)),this.visualize(),this.registerEvent(this.index.on("update",()=>{this.visualize()})))}shouldVisualizeBacklinks(){let e=this.child.pdfViewer;return this.settings.highlightBacklinks&&(Gn(e)||this.settings.highlightBacklinksInCanvas&&pa(e)||this.settings.highlightBacklinksInHoverPopover&&ga(e)||this.settings.highlightBacklinksInEmbed&&Jo(e))}visualize(){let e=this.child.pdfViewer;this.lib.onPageReady(e,this,t=>{this.domManager.clearDomInPage(t);let i=this.index.getPageIndex(t);for(let[r,o]of i.XYZs)this.processXYZ(t,r,o);for(let[r,o]of i.FitBHs)this.processFitBH(t,r,o);for(let[r,o]of i.FitRs)this.processFitR(t,r,o);this.domManager.updateStatus(t,{onPageReady:!0}),this.domManager.postProcessPageIfReady(t)}),this.lib.onTextLayerReady(e,this,t=>{let i=this.domManager.getStatus(t);if(!i.onPageReady||i.onTextLayerReady)return;let r=this.index.getPageIndex(t);for(let[o,s]of r.selections)this.processSelection(t,o,s);this.domManager.updateStatus(t,{onTextLayerReady:!0}),this.domManager.postProcessPageIfReady(t)}),this.lib.onAnnotationLayerReady(e,this,t=>{let i=this.domManager.getStatus(t);if(!i.onPageReady||i.onAnnotationLayerReady)return;let r=this.index.getPageIndex(t);for(let[o,s]of r.annotations)this.processAnnotation(t,o,s);this.domManager.updateStatus(t,{onAnnotationLayerReady:!0}),this.domManager.postProcessPageIfReady(t)})}processSelection(e,t,i){var d;if(this.settings.highlightColorSpecifiedOnly&&(i=new Set(Array.from(i).filter(h=>h.getColor())),!i.size))return;super.processSelection(e,t,i);let r=this.child.getPage(e),o=this.domManager.getCacheToDomsMap(e),s=r.textLayer;if(!s)return;let a=wt(s);if(!a)return;let{textDivs:c}=a;if(!c||!c.length)return;let l=this.rectangleCache.getRectsForSelection(e,t);if(l){for(let{rect:h,indices:u}of l){let p=this.lib.highlight.viewer.placeRectInPage(h,r);p.addClasses(["pdf-plus-backlink","pdf-plus-backlink-selection"]);let f=c[u[0]];p.setCssStyles({fontSize:f.style.fontSize}),p.dataset.backlinkId=t;for(let m of i)o.addValue(m,p)}if(this.settings.showBacklinkIconForSelection){let h=(d=l.last())==null?void 0:d.rect;if(h){let u=this.showIcon(h[2],h[3],r);for(let p of i)o.addValue(p,u)}}}}processAnnotation(e,t,i){var u;super.processAnnotation(e,t,i);let r=this.child.getPage(e),o=(u=r.annotationLayer)==null?void 0:u.annotationLayer;if(!o)return;let s=o.getAnnotation(t);if(!s)return;s.container.addClasses(["pdf-plus-backlink","pdf-plus-backlink-annotation"]);let[,,a,c]=s.data.rect,l;this.settings.showBacklinkIconForAnnotation&&(l=this.showIcon(a,c,r));let d;this.settings.showBoundingRectForBacklinkedAnnot&&(d=this.lib.highlight.viewer.placeRectInPage(s.data.rect,r),d.addClass("pdf-plus-annotation-bounding-rect"));let h=this.domManager.getCacheToDomsMap(e);for(let p of i){h.addValue(p,s.container),l&&h.addValue(p,l),d&&h.addValue(p,d);let[f,m,x]=s.data.color;p.setColor({rgb:{r:f,g:m,b:x}})}}processXYZ(e,t,i){if(super.processXYZ(e,t,i),this.settings.showBacklinkIconForOffset){let r=this.child.getPage(e),{left:o,top:s}=kt.XYZIdToParams(t),a=this.showIcon(o,s,r,"left"),c=this.domManager.getCacheToDomsMap(e);for(let l of i)c.addValue(l,a)}}processFitBH(e,t,i){if(super.processFitBH(e,t,i),this.settings.showBacklinkIconForOffset){let r=this.child.getPage(e),{top:o}=kt.FitBHIdToParams(t),s=this.showIcon(0,o,r),a=this.domManager.getCacheToDomsMap(e);for(let c of i)a.addValue(c,s)}}processFitR(e,t,i){if(i=new Set(Array.from(i).filter(h=>!h.annotation)),!i.size)return;super.processFitR(e,t,i);let r=this.child.getPage(e),{left:o,bottom:s,right:a,top:c}=kt.FitRIdToParams(t),l=this.lib.highlight.viewer.placeRectInPage([o,s,a,c],r);l.addClasses(["pdf-plus-backlink","pdf-plus-backlink-fit-r"]);let d=this.domManager.getCacheToDomsMap(e);for(let h of i)d.addValue(h,l);if(this.settings.showBacklinkIconForRect){let h=this.showIcon(a,c,r);for(let u of i)d.addValue(u,h)}}showIcon(e,t,i,r="right"){var h;let o=Math.min(i.viewport.rawDims.pageWidth,i.viewport.rawDims.pageWidth)*this.settings.backlinkIconSize/2e3,s=[e,t-o,e+o,t],a=[e-o,t-o,e,t],c=r==="left"&&a[0]>=((h=i.viewport.rawDims.pageX)!=null?h:0)?a:s,l=this.lib.highlight.viewer.placeRectInPage(c,i);l.addClass("pdf-plus-backlink-icon"),(0,Vu.setIcon)(l,"links-coming-in");let d=l.querySelector("svg");return d==null||d.setAttribute("stroke","var(--pdf-plus-backlink-icon-color)"),l}};var Xr=require("obsidian");var He=require("obsidian");var Ci=class Ci extends Fe{constructor(e,t,i){super(e),this.child=t,this.toolbarLeftEl=i,this.spacerEl=null,this.paletteEl=null,this.itemEls=[],this.actionMenuEl=null,this.displayTextFormatMenuEl=null,this.writeFileButtonEl=null,this.cropButtonEl=null,this.statusContainerEl=null,this.statusEl=null,this.importButtonEl=null,this.selectedColorName=null,this.actionIndex=e.settings.defaultColorPaletteActionIndex,this.displayTextFormatIndex=e.settings.defaultDisplayTextFormatIndex,this.writeFile=this.lib.isEditable(this.child)&&e.settings.defaultWriteFileToggle}onload(){if(this.toolbarLeftEl.querySelectorAll("."+Ci.CLS).forEach(e=>{var t;(t=Ci.elInstanceMap.get(e))==null||t.unload()}),!(!this.plugin.settings.colorPaletteInEmbedToolbar&&this.toolbarLeftEl.closest(".pdf-embed"))){if(this.spacerEl=this.toolbarLeftEl.createDiv("pdf-toolbar-spacer"),this.paletteEl=this.toolbarLeftEl.createDiv(Ci.CLS),Ci.elInstanceMap.set(this.paletteEl,this),this.plugin.settings.colorPaletteInToolbar){this.addItem(this.paletteEl,null,"transparent");for(let[e,t]of Object.entries(this.plugin.settings.colors))this.addItem(this.paletteEl,e,t);this.setActiveItem([null,...Object.keys(this.plugin.settings.colors)][this.plugin.settings.defaultColorPaletteItemIndex])}this.actionMenuEl=this.addCopyActionDropdown(this.paletteEl),this.displayTextFormatMenuEl=this.addDisplayTextFormatDropdown(this.paletteEl),this.addCropButton(this.paletteEl),this.child.isFileExternal?this.addImportButton(this.paletteEl):this.addWriteFileToggle(this.paletteEl),this.statusContainerEl=this.paletteEl.createDiv("pdf-plus-color-palette-status-container"),this.statusEl=this.statusContainerEl.createSpan("pdf-plus-color-palette-status"),this.registerEvent(this.plugin.on("color-palette-state-change",({source:e})=>{e!==this&&this.syncTo(e)}))}}onunload(){var e;(e=this.spacerEl)==null||e.remove(),this.paletteEl&&(this.paletteEl.remove(),Ci.elInstanceMap.delete(this.paletteEl))}addItem(e,t,i){if(t&&!cn(i)||t===null&&!this.plugin.settings.noColorButtonInColorPalette)return;let r=e.createDiv({cls:[Ci.CLS+"-item","clickable-icon"],attr:t?{"data-highlight-color":t.toLowerCase()}:void 0});this.itemEls.push(r),r.createDiv(Ci.CLS+"-item-inner"),this.setTooltipToActionItem(r,t),r.addEventListener("pointerup",s=>this.onItemPointerUp(r,t,s));let o=!1;r.addEventListener("contextmenu",()=>{if(o)return;let s=new He.Menu().addItem(a=>{a.setIcon("lucide-settings").setTitle("Customize...").onClick(()=>{this.plugin.openSettingTab().scrollTo("colors")})});s.onHide(()=>{o=!1}),jn(s,r),o=!0})}onItemPointerUp(e,t,i){let r=!e.hasClass("is-active");this.setActiveItem(t),this.plugin.settings.syncColorPaletteItem&&this.plugin.settings.syncDefaultColorPaletteItem&&(this.plugin.settings.defaultColorPaletteItemIndex=t?Object.keys(this.plugin.settings.colors).indexOf(t)+1:0),r&&this.plugin.trigger("color-palette-state-change",{source:this});let o=this.plugin.settings.copyCommands[this.actionIndex].template;this.writeFile?this.lib.copyLink.writeHighlightAnnotationToSelectionIntoFileAndCopyLink(!1,{copyFormat:o},t!=null?t:void 0):this.lib.copyLink.copyLinkToSelection(!1,{copyFormat:o},t!=null?t:void 0),i.preventDefault()}setActiveItem(e){this.selectedColorName=e?e.toLowerCase():null,this.itemEls.forEach(t=>{t.toggleClass("is-active",this.selectedColorName===t.dataset.highlightColor||this.selectedColorName===null&&t.dataset.highlightColor===void 0)})}addDropdown(e,t,i,r,o,s){return e.createDiv("clickable-icon",a=>{(0,He.setIcon)(a,"lucide-chevron-down"),(0,He.setTooltip)(a,r),a.dataset.checkedIndex=""+this[i];let c=!1;a.addEventListener("click",()=>{if(c)return;let l=new He.Menu;for(let d=0;d<t.length;d++){let h=t[d];l.addItem(u=>{u.setTitle(h).setChecked(this[i]===d).onClick(()=>{let p=this[i]!==d;this.setCheckedIndex(i,d,a),o==null||o(),p&&this.plugin.trigger("color-palette-state-change",{source:this})})})}s==null||s(l),l.onHide(()=>{c=!1}),jn(l,a),c=!0})})}setCheckedIndex(e,t,i){this[e]=t,i.dataset.checkedIndex=""+t}setActionIndex(e){this.actionMenuEl&&this.setCheckedIndex("actionIndex",e,this.actionMenuEl),this.updateTooltips()}setDisplayTextFormatIndex(e){this.displayTextFormatMenuEl&&this.setCheckedIndex("displayTextFormatIndex",e,this.displayTextFormatMenuEl)}addCopyActionDropdown(e){let t="Link copy format";this.plugin.settings.colorPaletteInToolbar||(t=`${this.plugin.manifest.name}: link copy options (trigger via hotkeys)`);let i=this.addDropdown(e,this.plugin.settings.copyCommands.map(r=>r.name),"actionIndex",t,()=>{this.updateTooltips(),this.plugin.settings.syncColorPaletteAction&&this.plugin.settings.syncDefaultColorPaletteAction&&(this.plugin.settings.defaultColorPaletteActionIndex=this.actionIndex)},r=>{r.addItem(o=>{o.setTitle("Customize...").setIcon("lucide-settings").onClick(()=>{this.plugin.openSettingTab().scrollTo("copyCommands")})})});return i.addClass("pdf-plus-action-menu"),i}addDisplayTextFormatDropdown(e){let t=this.addDropdown(e,this.plugin.settings.displayTextFormats.map(i=>i.name),"displayTextFormatIndex","Display text format",()=>{this.plugin.settings.syncDisplayTextFormat&&this.plugin.settings.syncDefaultDisplayTextFormat&&(this.plugin.settings.defaultDisplayTextFormatIndex=this.displayTextFormatIndex)},i=>{i.addItem(r=>{r.setTitle("Customize...").setIcon("lucide-settings").onClick(()=>{this.plugin.openSettingTab().scrollTo("displayTextFormats")})})});return t.addClass("pdf-plus-display-text-format-menu"),t}addWriteFileToggle(e){this.removeWriteFileToggle(),this.writeFileButtonEl=e.createDiv("clickable-icon",t=>{(0,He.setIcon)(t,"lucide-edit"),(0,He.setTooltip)(t,`Add ${this.plugin.settings.selectionBacklinkVisualizeStyle}s to file directly`),t.toggleClass("is-disabled",!this.lib.isEditable(this.child));let i=!1;t.addEventListener("click",()=>{if(!this.lib.isEditable(this.child)){if(i)return;let r=new He.Menu().addItem(o=>{o.setIcon("lucide-settings").setTitle("Enable PDF editing...").onClick(()=>{this.plugin.openSettingTab().scrollToHeading("edit")})});r.onHide(()=>{i=!1}),jn(r,t),i=!0;return}this.setWriteFile(!this.writeFile),this.plugin.settings.syncWriteFileToggle&&this.plugin.settings.syncDefaultWriteFileToggle&&(this.plugin.settings.defaultWriteFileToggle=this.writeFile),this.plugin.trigger("color-palette-state-change",{source:this})}),t.addEventListener("contextmenu",()=>{if(i)return;let r=new He.Menu;this.lib.isEditable(this.child)&&r.addItem(o=>{o.setIcon("lucide-settings").setTitle("Customize...").onClick(()=>{this.plugin.openSettingTab().scrollToHeading("annot")})}),r.addItem(o=>{o.setIcon("lucide-settings").setTitle(this.lib.isEditable(this.child)?"Disable PDF editing...":"Enable PDF editing...").onClick(()=>{this.plugin.openSettingTab().scrollToHeading("edit")})}),r.onHide(()=>{i=!1}),jn(r,t),i=!0})}),this.cropButtonEl&&e.insertAfter(this.writeFileButtonEl,this.cropButtonEl),this.setWriteFile(this.writeFile)}removeWriteFileToggle(){var e;(e=this.writeFileButtonEl)==null||e.remove(),this.writeFileButtonEl=null}addImportButton(e){this.removeImportButton(),this.importButtonEl=e.createDiv("clickable-icon",t=>{(0,He.setIcon)(t,"lucide-import"),(0,He.setTooltip)(t,"Import external PDF into vault"),t.addEventListener("click",()=>{this.importFile()})}),this.cropButtonEl&&e.insertAfter(this.importButtonEl,this.cropButtonEl)}removeImportButton(){var e;(e=this.importButtonEl)==null||e.remove(),this.importButtonEl=null}async importFile(){let e=this.child.externalFileUrl,t=this.child.file;if(!e||!t)return;if(!He.Platform.isDesktopApp&&e.startsWith(He.Platform.resourcePathPrefix)){new He.Notice(`${this.plugin.manifest.name}: Importing local PDFs outside the vault is supported only on the desktop app.`);return}let i=await fetch(e);if(i.ok){let r=await i.arrayBuffer();await this.app.vault.modifyBinary(t,r),this.removeImportButton(),this.paletteEl&&this.addWriteFileToggle(this.paletteEl),new He.Notice(`${this.plugin.manifest.name}: Successfully imported the PDF file into the vault.`);return}new He.Notice(`${this.plugin.manifest.name}: Import failed. Response status: ${i.status}`)}setWriteFile(e){var t;this.writeFile=e,(t=this.writeFileButtonEl)==null||t.toggleClass("is-active",e)}addCropButton(e){this.cropButtonEl=e.createDiv("clickable-icon pdf-plus-rect-select",t=>{(0,He.setIcon)(t,"lucide-box-select"),(0,He.setTooltip)(t,"Copy embed link to rectangular selection"),t.addEventListener("click",()=>{this.startRectangularSelection(!1)});let i=!1;t.addEventListener("contextmenu",()=>{if(i)return;let r=new He.Menu().addItem(o=>{o.setIcon("lucide-settings").setTitle("Customize...").onClick(()=>{this.plugin.openSettingTab().scrollToHeading("rect")})});r.onHide(()=>{i=!1}),jn(r,t),i=!0})})}startRectangularSelection(e){var l;let t=this.cropButtonEl;if(!t)return;let i=this.child;if(!((l=i.pdfViewer.dom)!=null&&l.viewerEl))return;let r=i.pdfViewer.dom.viewerEl,o={left:0,top:0,width:0,height:0},s=d=>{if(!It(d,d.target))return;let h=d.target.closest("div.page[data-page-number]");if(!h)return;let u=h.dataset.pageNumber;if(!u)return;let p=i.getPage(+u),{x:f,y:m}=hu(d);o.left=f,o.top=m;let x=h.createDiv("pdf-plus-select-box"),g=h.getBoundingClientRect(),b=getComputedStyle(h),v=parseFloat(b.borderTopWidth),y=parseFloat(b.borderLeftWidth),F=parseFloat(b.paddingTop),D=parseFloat(b.paddingLeft);x.setCssStyles({left:o.left-(g.left+y+D)+"px",top:o.top-(g.top+v+F)+"px"});let C=B=>{let{x:S,y:I}=hu(B),L=h.getBoundingClientRect();o.width=S-o.left-(L.left-g.left),o.height=I-o.top-(L.top-g.top),x.setCssStyles({width:o.width+"px",height:o.height+"px"}),B.preventDefault(),B.stopImmediatePropagation()},k=B=>{B.preventDefault(),B.stopImmediatePropagation()},E=()=>{var N;if(h.removeEventListener("pointermove",C),h.removeEventListener("touchmove",k),h.removeEventListener("pointerup",E),h.removeChild(x),o.height<=0||o.width<=0)return;let B=o.left-(g.left+y+D),S=o.top-(g.top+v+F),I=B+o.width,L=S+o.height,A=window.pdfjsLib.Util.normalizeRect([...p.getPagePoint(B,L),...p.getPagePoint(I,S)]);this.lib.copyLink.copyEmbedLinkToRect(!1,i,p.id,A,this.plugin.settings.includeColorWhenCopyingRectLink&&(N=this.selectedColorName)!=null?N:void 0,e),c()};this.registerDomEvent(h,"pointermove",C),this.registerDomEvent(h,"touchmove",k),this.registerDomEvent(h,"pointerup",E)},a=d=>{d.key==="Escape"&&c()},c=()=>{var d;t.toggleClass("is-active",!t.hasClass("is-active")),r.toggleClass("pdf-plus-selecting",t.hasClass("is-active")),this.register(()=>r.removeClass("pdf-plus-selecting")),(d=activeWindow.getSelection())==null||d.empty(),t.hasClass("is-active")?(this.registerDomEvent(r,"pointerdown",s),this.registerDomEvent(r.doc,"keydown",a)):(r.removeEventListener("pointerdown",s),r.doc.removeEventListener("keydown",a))};c()}setStatus(e,t){this.plugin.settings.showStatusInToolbar&&this.statusEl&&(this.statusEl.setText(e),t>0&&setTimeout(()=>{var i;((i=this.statusEl)==null?void 0:i.getText())===e&&this.statusEl.setText("")},t))}setTooltipToActionItem(e,t){let i=e.querySelector(":scope > ."+Ci.CLS+"-item-inner"),r=this.plugin.settings.copyCommands[this.actionIndex].name,o=this.plugin.settings.quietColorPaletteTooltip,s=t!==null?o?t:`Copy link with format "${r}" & add ${t.toLowerCase()} ${this.plugin.settings.selectionBacklinkVisualizeStyle}`:o?"No color specified":`Copy link with "${r}" format without specifying color`;(0,He.setTooltip)(i,s)}updateTooltips(){this.itemEls.forEach(e=>{var t;this.setTooltipToActionItem(e,(t=e.dataset.highlightColor)!=null?t:null)})}getState(){return{selectedColorName:this.selectedColorName,actionIndex:this.actionIndex,displayTextFormatIndex:this.displayTextFormatIndex,writeFile:this.writeFile}}setState(e){typeof e.selectedColorName=="string"&&this.setActiveItem(e.selectedColorName),typeof e.actionIndex=="number"&&this.setActionIndex(e.actionIndex),typeof e.displayTextFormatIndex=="number"&&this.setDisplayTextFormatIndex(e.displayTextFormatIndex),typeof e.writeFile=="boolean"&&this.setWriteFile(e.writeFile)}getColorName(){return this.getState().selectedColorName}getCopyFormat(){let e=this.getState();return this.plugin.settings.copyCommands[e.actionIndex].template}getDisplayTextFormat(){let e=this.getState();return this.plugin.settings.displayTextFormats[e.displayTextFormatIndex].template}syncTo(e){let t=e.getState();this.plugin.settings.syncColorPaletteItem||delete t.selectedColorName,this.plugin.settings.syncColorPaletteAction||delete t.actionIndex,this.plugin.settings.syncDisplayTextFormat||delete t.displayTextFormatIndex,this.plugin.settings.syncWriteFileToggle||delete t.writeFile,this.setState(t)}};Ci.CLS="pdf-plus-color-palette",Ci.elInstanceMap=new Map;var ei=Ci;var Pa=class extends Fe{constructor(e,t,i){super(e),this.toolbar=t,this.child=i}onload(){this.addColorPalette(),this.replaceDisplayOptionsDropdown(),this.addZoomLevelInputEl(),this.makeDropdownInToolbarHoverable()}onunload(){}addColorPalette(){this.child.palette=this.addChild(new ei(this.plugin,this.child,this.toolbar.toolbarLeftEl))}makeDropdownInToolbarHoverable(){let{toolbar:e,plugin:t}=this;!t.settings.hoverableDropdownMenuInToolbar||Xr.Platform.isPhone||e.toolbarLeftEl.querySelectorAll("div.clickable-icon").forEach(i=>{let r=i.firstElementChild;if(r&&r.matches("svg.lucide-chevron-down")){let o=null;Vc({parentEl:i,createChildEl:()=>{if(!i.hasClass("has-active-menu")){i.click();for(let s of t.shownMenus)if(s.parentEl===i)return o=s,s.dom}return o=null},removeChildEl:()=>{o&&(o.hide(),o=null)},component:this.child.component,timeout:200})}})}replaceDisplayOptionsDropdown(){let{app:e,toolbar:t,child:i}=this,r=t.zoomInEl.nextElementSibling;if(!(r!=null&&r.hasClass("clickable-icon")))return;let o=r.firstElementChild;if(!(o!=null&&o.matches("svg.lucide-chevron-down")))return;let s=t.pdfViewer.eventBus,a=t.pdfViewer.pdfViewer;!s||!a||t.zoomInEl.after(createDiv("clickable-icon",c=>{(0,Xr.setIcon)(c,"lucide-chevron-down"),(0,Xr.setTooltip)(c,"Display options");let l=!1;c.addEventListener("click",()=>{if(!l){let d=a.currentScaleValue,h=a.scrollMode,u=a.spreadMode,p=!!e.loadLocalStorage("pdfjs-is-themed"),f=new Xr.Menu().addSections(["zoom","scroll","spread","appearance","settings"]).addItem(m=>{m.setSection("zoom").setIcon("lucide-move-horizontal").setTitle("Fit width").setChecked(d==="page-width").onClick(()=>s.dispatch("scalechanged",{source:t,value:"page-width"}))}).addItem(m=>{m.setSection("zoom").setIcon("lucide-move-vertical").setTitle("Fit height").setChecked(d==="page-height").onClick(()=>s.dispatch("scalechanged",{source:t,value:"page-height"}))}).addItem(m=>{m.setSection("zoom").setIcon("lucide-move").setTitle("Fit page").setChecked(d==="page-fit").onClick(()=>s.dispatch("scalechanged",{source:t,value:"page-fit"}))}).addItem(m=>{m.setSection("scroll").setIcon("lucide-chevrons-up-down").setTitle("Vertical scroll").setChecked(h===0).onClick(()=>{s.dispatch("switchscrollmode",{source:t,mode:0})})}).addItem(m=>{m.setSection("scroll").setIcon("lucide-chevrons-left-right").setTitle("Hotizontal scroll").setChecked(h===1).onClick(()=>{s.dispatch("switchscrollmode",{source:t,mode:1})})}).addItem(m=>{m.setSection("scroll").setIcon("lucide-sticky-note").setTitle("In-page scroll").setChecked(h===3).onClick(()=>{s.dispatch("switchscrollmode",{source:t,mode:3})})}).addItem(m=>{m.setSection("scroll").setIcon("lucide-wrap-text").setTitle("Wrapped scroll").setChecked(h===2).onClick(()=>{s.dispatch("switchscrollmode",{source:t,mode:2})})}).addItem(m=>{m.setSection("spread").setIcon("lucide-rectangle-vertical").setTitle("Single page").setChecked(u===0).onClick(()=>{s.dispatch("switchspreadmode",{source:t,mode:0})})}).addItem(m=>{m.setSection("spread").setIcon("rectangle-vertical-double").setTitle("Two pages (odd)").setChecked(u===1).onClick(()=>{s.dispatch("switchspreadmode",{source:t,mode:1})})}).addItem(m=>{m.setSection("spread").setIcon("rectangle-vertical-double").setTitle("Two pages (even)").setChecked(u===2).onClick(()=>{s.dispatch("switchspreadmode",{source:t,mode:2})})}).addItem(m=>{m.setSection("appearance").setIcon("lucide-palette").setTitle("Adapt to theme").setChecked(p).onClick(()=>{e.saveLocalStorage("pdfjs-is-themed",p?null:"true"),i.onCSSChange(),this.plugin.trigger("adapt-to-theme-change",{adapt:!p})})}).addItem(m=>{m.setSection("settings").setIcon("lucide-settings").setTitle("Customize defaults...").onClick(()=>{this.plugin.openSettingTab().scrollToHeading("viewer-option")})});f.onHide(()=>{l=!1}),jn(f,c),l=!0}}),t.toolbarEl.doc.win.setTimeout(()=>{r.remove(),t.toolbarLeftEl.insertAfter(c,t.zoomInEl)})}))}addZoomLevelInputEl(){if(!this.settings.zoomLevelInputBoxInToolbar)return;let{toolbar:e}=this,t=e.pdfViewer.eventBus,i=e.pdfViewer.pdfViewer;if(!t||!i)return;let r=e.zoomOutEl.nextElementSibling;r!=null&&r.hasClass("pdf-toolbar-divider")&&(r.remove(),this.register(()=>e.zoomOutEl.after(createDiv("pdf-toolbar-divider"))),e.zoomOutEl.after(createEl("input","pdf-zoom-level-input",o=>{this.register(()=>o.remove()),o.type="number",o.addEventListener("click",()=>o.select()),o.addEventListener("change",()=>{let s=o.valueAsNumber/100,a=Math.min(Math.max(s,window.pdfjsViewer.MIN_SCALE),window.pdfjsViewer.MAX_SCALE);i.currentScale=a}),t.on("scalechanging",({scale:s})=>{o.value=Math.round(s*100)+""}),i.currentScale&&(o.value=Math.round(i.currentScale*100)+""),o.doc.win.setTimeout(()=>{o.after(createSpan({cls:"pdf-zoom-level-percent",text:"%"},s=>{this.register(()=>s.remove())}))})})))}};Pa.elInstanceMap=new Map;var Zg=Ki(require("obsidian"));var $o=class extends Fe{constructor(e,t){super(e),this.child=t}get file(){return this.child.file}get pdf(){return this.file}get folder(){var e,t;return(t=(e=this.file)==null?void 0:e.parent)!=null?t:null}get pdfViewer(){return this.child.pdfViewer}get dom(){return this.child.pdfViewer.dom}get doc(){return this.child.containerEl.doc}get obsidian(){return Zg}get text(){var t;let e=(t=this.doc.getSelection())==null?void 0:t.toString();return e?this.lib.toSingleLine(e):""}get selection(){return this.text}get page(){var t,i,r,o;let e=this.doc.getSelection();return(o=(r=e&&((t=this.lib.copyLink.getPageAndTextRangeFromSelection(e))==null?void 0:t.page))!=null?r:(i=this.pdfViewer.pdfViewer)==null?void 0:i.currentPageNumber)!=null?o:null}get pageLabel(){let e=this.page;return e!==null?this.child.getPage(e).pageLabel:null}get pageCount(){var e,t;return(t=(e=this.pdfViewer.pdfViewer)==null?void 0:e.pagesCount)!=null?t:null}get color(){var e,t,i;return(i=(t=(e=this.child.palette)==null?void 0:e.getColorName())==null?void 0:t.toLowerCase())!=null?i:null}evaluateTemplate(e,t,i){if(!this.file||typeof this.page!="number")return"";let r=this.lib.copyLink.getPageAndTextRangeFromSelection(this.doc.getSelection());if(!r)return"";let{page:o,selection:s}=r;if(!s)return"";let a=qc({page:o,selection:`${s.beginIndex},${s.beginOffset},${s.endIndex},${s.endOffset}`,color:i?i.toLowerCase():void 0});return this.lib.copyLink.getTextToCopy(this.child,e,t,this.file,this.page,a,this.text,i?i.toLowerCase():"")}writeFile(e,t,i){var r;return this.lib.write(Zg.normalizePath(e),t,(r=i==null?void 0:i.existOk)!=null?r:!1)}async run(e){return Cg("const app=this.app;const api = this;"+e,this)}};var qw=require("obsidian");var hC=n=>It(n,n.target)&&ng(n.target),Hu=class n extends qw.Scope{constructor(t){super(t);this.modeToKeymaps={};this.currentMode=null;this.currentKeys="";this.searchFrom=0;this.searchTo=-1;this.onEscapeCallbacks=[];this.escapeAliases=[];this.typableModes=[]}registerKeymaps(t,i){let r=(o,s)=>_o(o.keys,s.keys);for(let o of t){if(!this.modeToKeymaps.hasOwnProperty(o)){this.modeToKeymaps[o]=Object.entries(i).map(([s,a])=>({keys:s,func:a})).sort(r);continue}for(let s in i){let a=i[s],c={keys:s,func:a},l=this.modeToKeymaps[o],{found:d,index:h}=hn(l,u=>r(c,u));d?l[h]=c:l.splice(h,0,c)}}}unregisterAllKeymaps(t){for(let i of t)this.modeToKeymaps[i]&&(this.modeToKeymaps[i].length=0)}map(t,i){for(let r of t){let o=Object.fromEntries(Object.entries(i).map(([s,a])=>[s,c=>{let{found:l,index:d}=hn(this.modeToKeymaps[r],h=>_o(a,h.keys));if(l){let h=this.modeToKeymaps[r][d].func;return h(c)}}]));this.registerKeymaps([r],o)}}noremap(t,i){for(let r of t)if(this.modeToKeymaps.hasOwnProperty(r))for(let o in i){let s=i[o],{found:a,index:c}=hn(this.modeToKeymaps[r],l=>_o(s,l.keys));if(a){let l=this.modeToKeymaps[r][c];this.registerKeymaps([r],{[o]:l.func})}}}unmap(t,i){for(let r of t)if(this.modeToKeymaps.hasOwnProperty(r))for(let o of i){let{found:s,index:a}=hn(this.modeToKeymaps[r],c=>_o(o,c.keys));s&&this.modeToKeymaps[r].splice(a,1)}}setMode(t){this.currentMode=t,this.reset()}clearKeys(){this.currentKeys=""}reset(){this.clearKeys(),this.searchFrom=0,this.searchTo=-1}onEscape(t){this.onEscapeCallbacks.push(t)}addEscapeAliases(...t){this.escapeAliases.push(...t)}setTypable(...t){this.typableModes.push(...t)}handleKey(t,i){let r=!0;(()=>{if(this.currentMode===null)return this.reset();if(this.typableModes.includes(this.currentMode)!==hC(t))return;let o=n.canonicalizeKey(i);if(o===null)return this.reset();if(o==="<Esc>"||this.escapeAliases.includes(o))return this.onEscapeCallbacks.forEach(h=>h(o==="<Esc>")),this.reset();this.currentKeys+=o;let s=this.currentKeys.match(/^([1-9]\d*)?([\D0][\d\D]*)?/);if(!s)return this.reset();let a=s[1]?+s[1]:void 0,c=s[2];if(!c)return;let l=this.modeToKeymaps[this.currentMode];if(!l||l.length===0)return this.reset();let d=Dg(l,c,h=>h.keys,{from:(l.length+this.searchFrom)%l.length,to:(l.length+this.searchTo)%l.length});if(!d)return this.reset();if(d.from===d.to){let h=l[d.from];if(h.keys===c){this.reset(),h.func(a),t.preventDefault(),r=!1;return}}this.searchFrom=d.from,this.searchTo=d.to})(),r&&this.parent&&this.parent.handleKey(t,i)}static canonicalizeKey(t){var r;if(t.modifiers===null||t.key===null)return null;let i=n.canonicalizeSpecialKey(t.key);switch(t.modifiers){case"":return i?`<${i}>`:t.key;case"Shift":return t.key.length===1&&t.key!==" "?t.key:`<S-${i!=null?i:t.key}>`;case"Ctrl":return`<C-${i!=null?i:t.key}>`;case"Alt":return`<M-${(r=n.canonicalizeSpecialKey(t.vkey))!=null?r:t.vkey.toLowerCase()}>`;case"Meta":return`<M-${i!=null?i:t.key}>`;default:return null}}static canonicalizeSpecialKey(t){switch(t){case"<":return"lt";case"Backspace":return"BS";case"Tab":return"Tab";case"Enter":return"CR";case"Escape":return"Esc";case" ":return"Space";case"\\":return"Bslash";case"|":return"Bar";case"ArrowUp":return"Up";case"ArrowDown":return"Down";case"ArrowLeft":return"Left";case"ArrowRight":return"Right";default:return null}}};var zu=class{constructor(e){this.lastScroll=0;this.lastScrollInterval=0;this.vim=e}get settings(){return this.vim.settings}get viewerContainerEl(){var e,t;return(t=(e=this.vim.obsidianViewer)==null?void 0:e.dom)==null?void 0:t.viewerContainerEl}getPageDiv(e=0){var i;let t=this.vim.pdfViewer;if(t)return(i=t._pages[t.currentPageNumber-1+e])==null?void 0:i.div}scrollTo(e,t){let i=this.viewerContainerEl;if(!i)return;let r=this.isFirstScrollInAWhile(),o=r?this.settings.vimScrollSize:this.settings.vimContinuousScrollSpeed*this.lastScrollInterval;this.vim.pdfViewer&&this.settings.vimLargerScrollSizeWhenZoomIn&&(o*=Math.max(1,this.vim.pdfViewer.currentScale)),t!=null||(t=1),o*=t;let a={behavior:this.settings.vimSmoothScroll&&r?"smooth":"instant"};switch(e){case"left":a.left=-o;break;case"right":a.left=o;break;case"up":a.top=-o;break;case"down":a.top=o;break}i.scrollBy(a)}isFirstScrollInAWhile(){let e=Date.now();return this.lastScrollInterval=e-this.lastScroll,this.lastScroll=e,this.lastScrollInterval>100}scrollToTop(){if(!this.viewerContainerEl)return;let e=this.getPageDiv();e&&this.viewerContainerEl.scrollTo({top:e.offsetTop,behavior:this.settings.vimSmoothScroll?"smooth":"instant"})}scrollToBottom(){if(!this.viewerContainerEl)return;let e=this.getPageDiv();e&&this.viewerContainerEl.scrollTo({top:e.offsetTop+e.offsetHeight-this.viewerContainerEl.clientHeight,behavior:this.settings.vimSmoothScroll?"smooth":"instant"})}scrollVerticallyByVisualPage(e){if(!this.viewerContainerEl)return;let t=this.viewerContainerEl.clientHeight;t*=e,this.viewerContainerEl.scrollBy({top:t,behavior:this.settings.vimSmoothScroll?"smooth":"instant"})}scrollHorizontallyByVisualPage(e){if(!this.viewerContainerEl)return;let t=this.viewerContainerEl.clientWidth;t*=e,this.viewerContainerEl.scrollBy({left:t,behavior:this.settings.vimSmoothScroll?"smooth":"instant"})}};var jw=require("obsidian");var Ww=200,Uu=class{constructor(e){this.isActive=!1;this.isForward=!0;this.vim=e}get settings(){return this.vim.settings}get lib(){return this.vim.lib}get incsearch(){return this.settings.vimIncsearch}get hlsearch(){return this.settings.vimHlsearch}get findBar(){var e;return(e=this.vim.obsidianViewer)==null?void 0:e.findBar}findNext(e=1,t=!0){if(this.isActive&&this.findBar){for(this.vim.visualMode.rememberSelection();e-- >0;)this.findBar.dispatchEvent("again",t?!this.isForward:this.isForward);this.restoreSelectionAndExtendToMatch()}}findPrevious(e){this.findNext(e,!1)}restoreSelectionAndExtendToMatch(){setTimeout(()=>{let e=this.vim.doc.getSelection();if((!e||e.isCollapsed)&&this.vim.visualMode.restorePreviousSelection(),e=this.vim.doc.getSelection(),e&&!e.isCollapsed){let t=this.getSelectedMatchEl();t&&this.vim.visualMode.extendSelectionToNode(t)}},Ww)}start(e){let t=this.findBar;if(!t)return;if(this.vim.visualMode.rememberSelection(),t.opened){t.searchComponent.inputEl.select();return}this.isActive=!0,this.isForward=e,t.searchSettings.highlightAll=this.hlsearch,this.lib.updateSearchSettingsUI(t);let i=t.searchComponent.changeCallback;this.incsearch?t.searchComponent.onChange((0,jw.debounce)(()=>{t.dispatchEvent("again")},250,!0)):t.searchComponent.onChange(()=>{}),t.showSearch();let r=o=>{this.isActive&&(o.isComposing||o.key==="Enter"&&(It(o,o.target)&&o.target.blur(),o.stopPropagation(),this.incsearch?this.restoreSelectionAndExtendToMatch():this.findNext()))};t.searchComponent.inputEl.addEventListener("keypress",r,!0),this.lib.registerPDFEvent("findbarclose",t.eventBus,null,()=>{this.isActive=!1,t.searchComponent.inputEl.removeEventListener("keypress",r,!0),i&&t.searchComponent.onChange(i)})}findAndSelectNextMatch(e,t){this.findNext(e,t),setTimeout(()=>{let i=this.vim.doc.getSelection();if(!i)return;let r=this.getSelectedMatchEl();r&&(i.isCollapsed?i.selectAllChildren(r):this.vim.visualMode.extendSelectionToNode(r,1))},Ww+1)}getSelectedMatchEl(){var i,r;let e=(r=(i=this.vim.obsidianViewer)==null?void 0:i.dom)==null?void 0:r.viewerEl;return e?e.querySelector(".textLayer .textLayerNode > .highlight.selected"):null}};var gn=class extends Fe{get vimScope(){return this.vim.vimScope}get doc(){return this.vim.doc}get viewer(){return this.vim.viewer}get obsidianViewer(){return this.vim.obsidianViewer}get pdfViewer(){return this.vim.pdfViewer}constructor(e){super(e.plugin),this.vim=e}};var qu=class extends gn{constructor(t){super(t);this.selectionChangedByVisualMotion=!1;this.previousSelection=null;this.defineKeymaps()}get structureParser(){return this.vim.structureParser}onload(){this.registerDomEvent(this.doc,"selectionchange",()=>{let t=this.doc.getSelection();switch(this.vim.vimScope.currentMode){case"visual":(!t||t.isCollapsed)&&(this.selectionChangedByVisualMotion||this.vim.vimScope.setMode("normal"));break;default:if(t&&!t.isCollapsed&&t.rangeCount>0){let i=t.getRangeAt(0);this.vim.viewer.containerEl.contains(i.commonAncestorContainer)&&this.vim.vimScope.setMode("visual")}}this.selectionChangedByVisualMotion=!1})}defineKeymaps(){let t=i=>r=>(i(r),this.selectionChangedByVisualMotion=!0);this.vimScope.registerKeymaps(["visual"],{...this.settings.vimVisualMotion?{j:t(i=>this.extendSelectionByLine(i!=null?i:1)),k:t(i=>this.extendSelectionByLine(-(i!=null?i:1))),h:t(i=>this.extendSelectionByChar(i!=null?i:1,!1)),l:t(i=>this.extendSelectionByChar(i!=null?i:1,!0)),w:t(i=>{let r=this.doc.getSelection();r&&(Qo(()=>{r.modify("extend","forward","word"),r.modify("extend","forward","word"),r.modify("extend","backward","word"),un(r)&&r.modify("extend","forward","character")},i),this.ensureSelectionHeadAtTextDiv(r,!1))}),e:t(i=>{let r=this.doc.getSelection();r&&(Qo(()=>{un(r)||r.modify("extend","forward","character"),r.modify("extend","forward","word"),un(r)||r.modify("extend","backward","character")},i),this.ensureSelectionHeadAtTextDiv(r,!1))}),b:t(i=>{let r=this.doc.getSelection();r&&(Qo(()=>{un(r)&&r.modify("extend","backward","character"),r.modify("extend","backward","word"),un(r)&&r.modify("extend","forward","character")},i),this.ensureSelectionHeadAtTextDiv(r,!0))}),0:t(()=>this.extendSelctionToLineBoundary(!1)),"^":t(()=>this.extendSelctionToLineBoundary(!1)),$:t(()=>this.extendSelctionToLineBoundary(!0))}:{},o:t(()=>{let i=this.doc.getSelection();i&&zc(i)}),y:()=>{let i=this.doc.getSelection();if(i){let r=i.toString();r&&navigator.clipboard.writeText(r),i.empty()}},c:()=>{var i;this.lib.commands.copyLink(!1),(i=this.doc.getSelection())==null||i.empty()},C:()=>{let i=this.doc.getSelection();i&&setTimeout(()=>{this.viewer.then(r=>{Nu(this.plugin,r,i)})})}})}getTextDivContainingNode(t){let i=t.instanceOf(Element)?t:t.parentElement;if(!i)return null;let r=i.closest(".textLayerNode");return r||null}getTextDivAtSelectionHead(t){let{focusNode:i}=t;return i?this.getTextDivContainingNode(i):null}getSelectionPos(t,i){let r=i==="head",o=r?t.focusNode:t.anchorNode;if(!o)return null;let s=this.getTextDivContainingNode(o);if(!s||s.dataset.idx===void 0)return null;let a=+s.dataset.idx,c=(()=>{let d=r?t.focusOffset:t.anchorOffset,h=this.doc.createNodeIterator(s,NodeFilter.SHOW_ALL),u,p=0;for(;u=h.nextNode();){if(u===o)return p+=u.nodeType===Node.TEXT_NODE?d:Array.from(o.childNodes).slice(0,d).map(f=>f.textContent.length).reduce((f,m)=>f+m,0),p;u.nodeType===Node.TEXT_NODE&&(p+=u.textContent.length)}return p})();if(typeof c!="number")return null;un(t)===r&&c--;let l=d=>d.instanceOf(HTMLElement)&&d.hasClass("textLayerNode")&&!!d.textContent;if(c<0){let d=s.previousSibling;for(;d&&!l(d);)d=d.previousSibling;d&&l(d)&&d.dataset.idx!==void 0&&(a=+d.dataset.idx,c=d.textContent.length-1)}else if(s.textContent&&c>=s.textContent.length){let d=s.nextSibling;for(;d&&!l(d);)d=d.nextSibling;d&&l(d)&&d.dataset.idx!==void 0&&(a=+d.dataset.idx,c=0)}return{index:a-this.plugin.textDivFirstIdx,offset:c}}extendSelection(t){var l,d,h;let i=this.doc.getSelection();if(!i)return;let r=this.lib.getPageElFromSelection(i);if(!r||r.dataset.pageNumber===void 0)return;let o=+r.dataset.pageNumber,s=(l=this.structureParser)==null?void 0:l.getPageParser(o);if(!s)return;let a=this.getSelectionPos(i,"head");if(!a)return;let c=t({currentHeadPos:a,pageNumber:o,pageParser:s});if(c){let u=s.divs[c.index],p=c.offset;p<0&&(p+=(h=(d=u.textContent)==null?void 0:d.length)!=null?h:0);let f=Kn(u,p);if(!f)return;this.extendSelectionToNode(f.node,f.offset)}}extendSelectionToNode(t,i){let r=this.doc.getSelection();r&&(r.extend(t,i),un(r)&&r.modify("extend","forward","character"))}extendSelectionByLine(t){this.extendSelection(({currentHeadPos:i,pageParser:r})=>r.getLineShiftPosition(i,t))}extendSelctionToLineBoundary(t){this.extendSelection(({currentHeadPos:i,pageParser:r})=>{let o=r.getBoundIndicesOfLine(i.index,0);return o?t?{index:o.end,offset:-1}:{index:o.start,offset:0}:null})}extendSelectionByChar(t,i){let r=this.doc.getSelection();r&&(Qo(()=>r.modify("extend",i?"forward":"backward","character"),t),this.ensureSelectionHeadAtTextDiv(r,i))}selectMatch(){var i;let t=this.vim.search.getSelectedMatchEl();t&&((i=this.vim.doc.getSelection())==null||i.selectAllChildren(t))}ensureSelectionHeadAtTextDiv(t,i){let r=this.getTextDivAtSelectionHead(t);for(;!r;)t.modify("extend",i?"forward":"backward","character"),r=this.getTextDivAtSelectionHead(t)}setSelectionByPos(t,i){let r=this.doc.getSelection();if(!r)return;let o=c=>{var m;let{page:l,pos:d}=c,h=(m=this.vim.child)==null?void 0:m.getPage(l).textLayer;if(!h)return;let u=wt(h);if(!u)return;let p=u.textDivs;if(!p||!p.length)return;let f=p[d.index];return Kn(f,d.offset)},s=o(t),a=o(i);if(s&&a){r.setBaseAndExtent(s.node,s.offset,a.node,a.offset);let c=un(r);c||zc(r),r.modify("extend","forward","character"),c||zc(r)}}rememberSelection(){var i,r;let t=this.doc.getSelection();if(t&&!t.isCollapsed&&t.anchorNode&&t.focusNode){let o=(i=this.lib.getPageElAssociatedWithNode(t.anchorNode))==null?void 0:i.dataset.pageNumber,s=(r=this.lib.getPageElAssociatedWithNode(t.focusNode))==null?void 0:r.dataset.pageNumber;if(o&&s){let a=this.getSelectionPos(t,"anchor"),c=this.getSelectionPos(t,"head");a&&c&&(this.previousSelection={anchor:{page:+o,pos:a},head:{page:+s,pos:c}})}}}restorePreviousSelection(){if(this.vim.doc.getSelection()&&this.vim.visualMode.previousSelection){let{anchor:i,head:r}=this.vim.visualMode.previousSelection;this.setSelectionByPos(i,r)}}forgetPreviousSelection(){this.previousSelection=null}};var Wu=class extends gn{constructor(e){super(e),this.defineKeymaps()}onload(){this.viewer.then(e=>{this.lib.registerPDFEvent("sidebarviewchanged",e.pdfViewer.eventBus,this,({view:t})=>{t===2?this.vim.enterOutlineMode():this.vim.enterNormalMode()}),this.lib.registerPDFEvent("outlineloaded",e.pdfViewer.eventBus,this,({source:t})=>{e.pdfViewer.pdfSidebar.active===2?this.vim.enterOutlineMode():this.vim.enterNormalMode()})})}defineKeymaps(){this.registerOutlineKeymaps({j:(e,t)=>this.navigateOutline(e,!0,t),k:(e,t)=>this.navigateOutline(e,!1,t),h:e=>{let t=e.highlighted;t&&t.parent&&(this.changeActiveItemTo(t.parent),this.collapse(t.parent))},l:e=>{let t=e.highlighted;if(t){this.expand(t);let i=t.children[0];i&&this.changeActiveItemTo(i)}},H:e=>{let t=e.highlighted;if(e.allItems.forEach(i=>{this.collapse(i)}),t){let i=t;for(;i.parent;)i=i.parent;this.changeActiveItemTo(i)}},L:e=>{e.allItems.forEach(t=>{this.expand(t)})},"<CR>":e=>{let t=e.highlighted;t&&t.selfEl.click()}}),this.vimScope.noremap(["outline"],{"<Space>":"<CR>","<Down>":"j","<Up>":"k","<Left>":"h","<Right>":"l","<S-Left>":"H","<S-Right>":"L"})}registerOutlineKeymaps(e){let t={};for(let i in e)t[i]=this.toVimCommand(e[i]);this.vimScope.registerKeymaps(["outline"],t)}toVimCommand(e){return t=>{var r;let i=(r=this.obsidianViewer)==null?void 0:r.pdfOutlineViewer;i&&e(i,t)}}changeActiveItemTo(e){var i;let t=e.owner;(i=t.highlighted)==null||i.setActive(!1),e.setActive(!0),t.highlighted=e,e.selfEl.scrollIntoView({block:"center",behavior:this.settings.vimSmoothOutlineMode?"smooth":"instant"})}collapse(e){e.setCollapsed(!0,this.settings.vimSmoothOutlineMode)}expand(e){e.setCollapsed(!1,this.settings.vimSmoothOutlineMode)}navigateOutline(e,t,i){let r=e.highlighted;if(r){let o=(()=>{i!=null||(i=1);let s=1/0,a=e.children.slice().reverse(),c=[];for(;a.length;){let l=a.pop();if(c.push(l),l===r&&(s=c.length-1+(t?i:-i)),c.length>s)return c[s];!l.children.length||l.collapsed||a.push(...l.children.slice().reverse())}})();o&&this.changeActiveItemTo(o)}}};var es=require("obsidian");var Yw=require("obsidian");var Xw=require("obsidian");function*Gw(n,e){let t=uC(e),i=Math.max(0,Math.ceil((n-e.length)/(e.length-1)));yield*pC(t,i,n+i)}function*uC(n){for(let e=1;;e++)yield*gC(fC(n,e),t=>t.join(""))}function*fC(n,e){let t=n.length,i=new Array(e).fill(0),r=1;for(let o of Yg(Math.pow(t,e))){yield i.map(s=>n[s]);for(let s of Yg(i.length))Kw(r,Math.pow(t,i.length-1-s))===0&&(i[s]=Kw(i[s]+1,t));r++}}function*pC(n,e,t){let i=n[Symbol.iterator]();t===void 0&&(t=e,e=0);for(let r of Yg(e))if(i.next().done)return;for(let r=e;r<t;r++){let o=i.next();if(o.done)return;yield o.value}}function*Yg(n){if(!(n<0))for(let e=0;e<n;e++)yield e}function*gC(n,e){for(let t of n)yield e(t)}function Kw(n,e){return n-e*Math.floor(n/e)}var ju={0:".annotationLayer > section.linkAnnotation:has(> a)",1:".annotationLayer > section:not(.linkAnnotation)",2:".pdf-plus-backlink-highlight-layer > .pdf-plus-backlink"},Ku=class n extends gn{constructor(){super(...arguments);this.onExitCallbacks=[];this.targets=[]}setTarget(...t){this.targets=t}getTargetSelector(){return this.targets.map(t=>ju[t]).join(",")}enter(){if(this.targets.length===0&&this.setTarget(0),this.pdfViewer){let t=this.pdfViewer.currentPageNumber;if(this.hintPage(t),this.targets.includes(2)){let i=this.vim.eventBus;if(i){let r=()=>this.hintPage(t);i.on("textlayerrendered",r),this.onExit(()=>i.off("textlayerrendered",r))}}}}exit(){this.vimScope.unregisterAllKeymaps(["hint"]),this.onExitCallbacks.forEach(t=>t())}onExit(t){this.onExitCallbacks.push(t)}hintPage(t){if(!this.pdfViewer)return;let i=this.pdfViewer.getPageView(t-1),r=i.div;if(!r)return;let o={},s="pdf-plus-vim-hint-mode",a="pdfPlusVimHint";r.addClass(s),this.onExit(()=>r.removeClass(s));let c=this.getTargetSelector(),l=r.querySelectorAll(c),d=l.length;if(d===0){new Xw.Notice(`${this.plugin.manifest.name} (Vim mode): No hintable element found on this page`),this.exit(),this.vim.enterNormalMode();return}let h=Gw(d,this.settings.vimHintChars),u=null,p=null;l.forEach(f=>{var x;if(n.isLink(f)){let g=f.querySelector(":scope > a");if(u&&u.href===g.href&&mC(u,g))return;u=g}else u=null;if(n.isBacklinkHighlight(f)){let g=(x=f.dataset.backlinkId)!=null?x:null;if(p&&g&&p===g)return;p=g}else p=null;let m=""+h.next().value;f.dataset[a]=m,this.onExit(()=>delete f.dataset[a]),o[m]=()=>{this.openHintableEl(f,i),this.exit(),this.vim.enterNormalMode()}}),this.vimScope.unregisterAllKeymaps(["hint"]),this.vimScope.registerKeymaps(["hint"],o)}openHintableEl(t,i){var r,o;if(n.isLink(t))t.querySelector(":scope > a").click();else if(n.isNonLinkAnnot(t)){fu(t);let s=t.dataset.annotationId,a=s&&((r=i==null?void 0:i.annotationLayer)==null?void 0:r.annotationLayer.getAnnotation(s));a&&((o=this.vim.child)==null||o.renderAnnotationPopup(a))}else n.isBacklinkHighlight(t)&&fu(t)}static isLink(t){return t.matches(ju[0])}static isNonLinkAnnot(t){return t.matches(ju[1])}static isBacklinkHighlight(t){return t.matches(ju[2])}},mC=(n,e)=>{let t=n.getBoundingClientRect(),i=e.getBoundingClientRect(),r=Math.min(i.height,i.width)*.5,o=r*5;return Math.abs((i.top+i.bottom)/2-(t.top+t.bottom)/2)<r&&(Math.abs(i.left-t.right)<o||Math.abs(i.right-t.left)<o)||Math.abs((i.left+i.right)/2-(t.left+t.right)/2)<r&&(Math.abs(i.top-t.bottom)<o||Math.abs(i.bottom-t.top)<o)};var Zw=require("obsidian");var Gu=class n extends it{constructor(){super(...arguments);this.markdown=""}static renderAsModal(t,i){let r=new n(t);return r.markdown=i,r.open(),r}onOpen(){Zw.MarkdownRenderer.render(this.app,this.markdown,this.contentEl.createDiv("markdown-rendered"),"",this.component)}};var Jw=n=>[{id:"nextpage",func:()=>{var e;return(e=n.pdfViewer)==null?void 0:e.nextPage()}},{id:"prevpage",func:()=>{var e;return(e=n.pdfViewer)==null?void 0:e.previousPage()}},{id:"0",description:":0 - Go to the first page (same as :1)",func:()=>n.pdfViewer&&(n.pdfViewer.currentPageNumber=1)},{id:"$",description:":$ - Go to the last page.",func:()=>n.pdfViewer&&(n.pdfViewer.currentPageNumber=n.pdfViewer.pagesCount)},{id:"gotopage",pattern:/^go(to(page)?)?$/,description:":go[to[page]] <page> - Go to the specified page. If the PDF has page labels, the argument is treated as a page label. Otherwise, it is treated as a page number.",minNargs:1,func:async e=>{if(n.pdfViewer){let t=await n.pdfViewer.pdfDocument.getPageLabels();if(t){let i=t.indexOf(e);if(i!==-1){let r=i+1;n.pdfViewer.currentPageNumber=r;return}}n.pdfViewer.currentPageNumber=+e}}},{id:"pagetop",func:()=>n.scroll.scrollToTop()},{id:"pagebottom",func:()=>n.scroll.scrollToBottom()},{id:"searchforward",pattern:/^search(f(orward)?)?$/,func:()=>setTimeout(()=>n.search.start(!0))},{id:"searchbackward",pattern:/^searchb(ackward)?$/,func:()=>setTimeout(()=>n.search.start(!1))},{id:"findnext",func:()=>n.search.findNext()},{id:"findprev",func:()=>n.search.findPrevious()},{id:"zoom",description:":zoom <number> - Set the zoom level to <number> percent.",minNargs:1,func:e=>n.pdfViewer&&(n.pdfViewer.currentScale=.01*+e)},{id:"zoomin",func:()=>{var e;return(e=n.obsidianViewer)==null?void 0:e.zoomIn()}},{id:"zoomout",func:()=>{var e;return(e=n.obsidianViewer)==null?void 0:e.zoomOut()}},{id:"zoomreset",func:()=>{var e;return(e=n.obsidianViewer)==null?void 0:e.zoomReset()}},{id:"rotate",func:()=>{var e;return(e=n.obsidianViewer)==null?void 0:e.rotatePages(90)}},{id:"yank",pattern:/^y(ank)?$/,func:()=>{let e=n.doc.getSelection();if(e){let t=e.toString();t&&navigator.clipboard.writeText(t),n.enterNormalMode()}}},{id:"outline",pattern:/^(outline)|(toc)$/,description:":outline or :toc - Show the outline view.",func:()=>n.lib.commands.showOutline(!1)},{id:"thumbnail",pattern:/^thumb(nail)?$/,description:":thumb[nail] - Show the thumbnails view.",func:()=>n.lib.commands.showThumbnail(!1)},{id:"closesidebar",func:()=>n.lib.commands.closeSidebar(!1)},{id:"help",pattern:/^h(elp)?$/,func:e=>{if(e&&e.startsWith(":")){let t=e.slice(1).split(" ")[0],i=n.commandLineMode.findCommand(t);if(i&&i.description){Gu.renderAsModal(n.plugin,xC(i.description));return}}n.plugin.openSettingTab().scrollToHeading("vim")}},{id:"map",minNargs:2,func:(e,...t)=>n.map(["normal","visual","outline"],e,t.join(" ")),description:Zr("map",["normal","visual","outline"])},{id:"noremap",pattern:/^no(remap)$/,minNargs:2,func:(e,...t)=>n.noremap(["normal","visual","outline"],e,t.join(" ")),description:Zr("no[remap]",["normal","visual","outline"],!0)},{id:"nmap",pattern:/^nm(ap)?$/,minNargs:2,func:(e,...t)=>n.map(["normal"],e,t.join(" ")),description:Zr("nm[ap]",["normal"])},{id:"nnoremap",pattern:/^nn(oremap)?$/,minNargs:2,func:(e,...t)=>n.noremap(["normal","visual","outline"],e,t.join(" ")),description:Zr("nn[oremap]",["normal"],!0)},{id:"vmap",pattern:/^vm(ap)?$/,minNargs:2,func:(e,...t)=>n.map(["visual"],e,t.join(" ")),description:Zr("vm[ap]",["visual"])},{id:"vnoremap",pattern:/^vn(oremap)?$/,minNargs:2,func:(e,...t)=>n.noremap(["visual"],e,t.join(" ")),description:Zr("vn[oremap]",["visual"],!0)},{id:"omap",pattern:/^om(ap)?$/,minNargs:2,func:(e,...t)=>n.map(["outline"],e,t.join(" ")),description:Zr("om[ap]",["outline"])},{id:"onoremap",pattern:/^ono(remap)?$/,minNargs:2,func:(e,...t)=>n.noremap(["outline"],e,t.join(" ")),description:Zr("ono[remap]",["outline"],!0)},{id:"unmap",pattern:/^unm(ap)?$/,minNargs:1,func:e=>n.vimScope.unmap(["normal","visual","outline"],[e]),description:":unm[ap] <key> - Unmap <key> in all modes."},{id:"nunmap",pattern:/^nun(map)?$/,minNargs:1,func:e=>n.vimScope.unmap(["normal"],[e]),description:":nun[map] <key> - Unmap <key> in normal mode."},{id:"vunmap",pattern:/^vu(nmap)?$/,minNargs:1,func:e=>n.vimScope.unmap(["visual"],[e]),description:":vu[nmap] <key> - Unmap <key> in visual mode."},{id:"ounmap",pattern:/^ou(nmap)?$/,minNargs:1,func:e=>n.vimScope.unmap(["outline"],[e]),description:":ou[nmap] <key> - Unmap <key> in outline mode."},{id:"js",pattern:/^js(command)?$/,minNargs:1,func:(...e)=>n.evalUserScript(e.join(" ")),description:`:js[command] <code>: Execute the given javascript <code> in a context where "this" points to a "${$o.name}" object.`},{id:"jsfile",minNargs:1,func:async(...e)=>{var r,o;let t=(0,Yw.normalizePath)(e.join(" ")),i=await n.app.vault.adapter.read((o=(r=n.app.metadataCache.getFirstLinkpathDest(t,""))==null?void 0:r.path)!=null?o:t);return await n.evalUserScript(i)},description:`:jsfile <path> - Execute the javascript code in the file at <path> (relative to the vault root; can be just the filename if it's unique). It can be any plain text file with arbitrary file extension. The code will be evaluated in a context where "this" points to a "${$o.name}" object.`},{id:"obcommand",description:":obcommand <command-id> - Execute the Obsidian command with the specified ID. Inspired by esm's awesome Vimrc Support plugin.",minNargs:1,func:e=>n.app.commands.executeCommandById(e)},{id:"hint",description:`
:hint [<target1> <target2> ...] - Enter hint mode and show hint marks for the specified targets in the current page. Inspired by [Tridactyl](https://github.com/tridactyl/tridactyl)'s hint mode.
If no target is specified, the default targets (configured in PDF++ settings) will be used.
The accepted targets are:
- \`all\`: all of the followings
- \`link\`: internal & external links
- \`annot\`: (non-link) annotations written in the file
- \`backlink\`: backlink highlighting, i.e., highlights that is not written in the file itself
`,func:(...e)=>{e.length===0&&(e=n.settings.vimHintArgs.trim().split(/\s+/)),e.includes("all")&&(e=["link","annot","backlink"]),n.hintMode.setTarget(...e.map(t=>{switch(t){case"link":return 0;case"annot":return 1;case"backlink":return 2;default:throw Error(`Unknown hint target: ${t}`)}})),setTimeout(()=>n.enterHintMode())}}],xC=(n,e=12,t=!0)=>(n=n.replace(new RegExp(`^ {${e}}`,"gm"),"").replace(/^\s*/,""),t?n.replace(/([<>])/g,"\\$1"):n),Zr=(n,e,t=!1)=>`:${n} <from> <to> - Map <from> to <to> ${t?"non-recusively ":""}in ${e.length>1?e.slice(0,-1).join(", ")+" and "+e.at(-1)+" modes":e[0]+" mode"}. If <to> is an ex-command, it must be start with ":".`;var Xu=class extends gn{constructor(t){super(t);this.history=[];this.historyIndex=0;this.isActive=!1;this.dom=this.vim.viewer.containerEl.createDiv("pdf-plus-vim-command",i=>{this.register(()=>i.remove()),i.appendText(":"),this.inputEl=i.createEl("input",{cls:"pdf-plus-vim-command-input"},r=>{r.placeholder="type a command or page number...",r.addEventListener("focusout",()=>{setTimeout(()=>{this.isActive&&this.vim.enterNormalMode()})}),r.addEventListener("keydown",o=>{if(!o.isComposing&&o.key==="Enter"){this.submitCommand();return}if(o.key==="Escape"||o.key==="Backspace"&&!r.value){this.vim.enterNormalMode(),o.preventDefault();return}if(o.key==="ArrowUp"||o.key==="ArrowDown"){o.preventDefault(),this.navigateHistory(o.key==="ArrowDown");return}})}),i.hide()}),this.vimScope.registerKeymaps(["command"],{"<C-u>":()=>this.inputEl.value="","<C-w>":()=>this.inputEl.value=this.inputEl.value.replace(/\S+\s*$/,"")}),this.excmds=Jw(this.vim),this.suggest=new Jg(this).onSelect(({item:{minNargs:i}})=>setTimeout(()=>{if(!i){this.submitCommand();return}this.inputEl.value+=" "})),this.settings.vimrcPath&&this.viewer.then(i=>{let r=i.pdfViewer.eventBus;r&&r.on("pagesloaded",()=>setTimeout(()=>{if(this.plugin.vimrc===null){let o=(0,es.normalizePath)(this.settings.vimrcPath);this.app.vault.adapter.read(o).then(s=>this.runScript(this.plugin.vimrc=s))}else this.runScript(this.plugin.vimrc)},{once:!0}))})}async executeCommand(t,i={error:["notice","console.error"],history:!0}){if(i={error:[],history:!0,...i},i.history&&(this.history.push(t),this.history.length>100&&this.history.shift(),this.historyIndex=this.history.length),t.startsWith("!")){if(!es.Platform.isDesktopApp){this.reportError(`${this.plugin.manifest.name} (Vim mode): Shell command is not supported on mobile`,i.error);return}let{exec:a}=require("child_process"),c=process.env;return this.settings.PATH&&(c.PATH=this.settings.PATH),new Promise((l,d)=>a(t.slice(1),{env:c},(h,u,p)=>{h&&d(h),u&&(alert(u),l(u)),p&&console.warn(p)}))}if(/^[1-9]\d*$/.test(t)){let a=+t;this.pdfViewer&&(this.pdfViewer.currentPageNumber=a);return}let[r,...o]=t.split(/\s+/),s=this.findCommand(r);if(s){if(s.minNargs&&o.length<s.minNargs){this.reportError(`${this.plugin.manifest.name} (Vim mode): Expected ${s.minNargs} or more arguments for command "${s.id}" but got ${o.length}`,i.error);return}return s.func(...o)}this.reportError(`${this.plugin.manifest.name} (Vim mode): Unknown command "${t}"`,i.error)}findCommand(t){return this.excmds.find(i=>i.pattern&&i.pattern.test(t)||i.id===t)}submitCommand(){let t=this.inputEl.value.trim();if(t){this.history[this.historyIndex]===t&&this.history.splice(this.historyIndex,1);try{this.executeCommand(t)}catch(r){new es.Notice(`${this.plugin.manifest.name} (Vim mode): Error occurred while executing the command : ${r}`),console.error(r)}}this.vim.enterNormalMode()}runScript(t){this.parseScript(t).forEach(r=>this.executeCommand(r,{error:["console.warn"],history:!1}))}parseScript(t){return t.split(/\r?\n/).filter(i=>i.trim()&&!i.trimStart().startsWith('"')).join(`
`).replace(/\\\n/g,"").split(`
`)}enter(){this.inputEl.value="",this.dom.show(),this.inputEl.focus(),this.isActive=!0}exit(){this.isActive=!1,this.inputEl.value="",this.dom.hide()}navigateHistory(t){let i=this.inputEl;if(this.historyIndex<this.history.length||!i.value){let r=this.historyIndex+(t?1:-1);if(r<0)return;r<=this.history.length&&(this.historyIndex=r);let o=this.history[r]||"";i.value=o,i.setSelectionRange(o.length,o.length)}}reportError(t,i){for(let r of i)r==="notice"?new es.Notice(t):r==="console.error"?console.error(t):r==="console.warn"&&console.warn(t)}},Jg=class extends Mr{constructor(e){super(e.app,e.inputEl,{blurOnSelect:!1}),this.commandLineMode=e;let t=this.scope.keys.find(o=>o.key==="Escape"&&o.modifiers==="");t&&this.scope.unregister(t);let i=this.scope.keys.find(o=>o.key==="ArrowDown"&&o.modifiers===""),r=this.scope.keys.find(o=>o.key==="ArrowUp"&&o.modifiers==="");i&&(this.scope.unregister(i),this.scope.register([],"Tab",i.func)),r&&(this.scope.unregister(r),this.scope.register(["Shift"],"Tab",r.func))}getItems(){return this.commandLineMode.excmds}getItemText(e){return e.id}};var Zu=class extends Fe{constructor(t,i,r){super(t);this.pages=new Map;this.pdfViewer=i,this.file=r}onload(){this.registerEvent(this.app.vault.on("modify",t=>{t===this.file&&this.pages.clear()}))}getPageParser(t){let i=this.pages.get(t);if(!i){let r=this.pdfViewer.getPageView(t-1);if(r){let o=r.textLayer,s=o&&wt(o);if(s){let{textContentItems:a,textDivs:c}=s;i=new _g(r,a,c),this.pages.set(t,i)}}}return i}},_g=class{constructor(e,t,i){this.lineStartIndices=null;this.pageView=e,this.items=t,this.divs=i}getBoundIndicesOfLine(e,t){var a;let i=this._getIndexWithinLineStartIndicesForLineContainingItem(e),r=(a=this.lineStartIndices[i+t])!=null?a:null;if(r===null)return null;let o=this.lineStartIndices[i+1+t],s=o===void 0?this.items.length-1:o-1;for(;s>r&&!this.items[s].str.length;)s--;return{start:r,end:s}}getLineShiftPosition(e,t){let i=this.getBoundIndicesOfLine(e.index,t);if(!i)return null;let r=this._getHorizontalRangeOfChar(e);if(!r)return null;let{start:o,end:s}=i,a=o;for(;a<=s;a++){let d=this.items[a],h=this._getHorizontalRangeOfItem(d);if(Pg(r,h))break}for(a>s&&(a=s);a>o&&!this.items[a].str.length;)a--;let c=this.items[a],l=0;for(;;){let d=this._getHorizontalRangeOfChar({index:a,offset:l});if(!d)return null;if(d.from>=r.from||d.to>=r.to)return{index:a,offset:l};if(l+1<c.str.length)l++;else return{index:a,offset:c.str.length-1}}}_getIndexWithinLineStartIndicesForLineContainingItem(e){this.lineStartIndices||this.parse();let{found:t,index:i}=hn(this.lineStartIndices,r=>e-r);return t?i:i-1}parse(){let e=this._findIndexOfFirstNonEmptyItem();if(e===-1){this.lineStartIndices=[0];return}this.lineStartIndices=[e];let t=[this.items[e]];for(let i=e+1;i<this.items.length;i++){let r=this.items[i];if(this.isItemNonEmpty(r)){let o=this._getVerticalRangeOfItem(r),s=this._getMergedRangeOfItems(t.slice(-10));t.push(r),s&&!kg(o,s)&&this.lineStartIndices.push(i)}}}_findIndexOfFirstNonEmptyItem(){return this.items.findIndex(e=>this.isItemNonEmpty(e))}isItemNonEmpty(e){let t=this._getVerticalRangeOfItem(e);return t.from<t.to}_getVerticalRangeOfItem(e){return{from:e.transform[5],to:e.transform[5]+e.height}}_getMergedRangeOfItems(e,t="vertical"){if(e.length===0)return null;let i=e.map(t==="vertical"?this._getVerticalRangeOfItem.bind(this):this._getHorizontalRangeOfItem.bind(this)),r=Math.min(...i.map(s=>s.from)),o=Math.max(...i.map(s=>s.to));return{from:r,to:o}}_getHorizontalRangeOfItem(e){return{from:e.transform[4],to:e.transform[4]+e.width}}_getHorizontalRangeOfChar(e){let t=e.index,i=e.offset,r=this.items[t];if(r.chars&&r.chars.length>=r.str.length){let p=r.chars[i];return{from:p.r[0],to:p.r[2]}}let o=this.divs[t],s=Kn(o,i);if(!s)return null;let{node:a,offset:c}=s,l=o.doc.createRange();l.setStart(a,c),l.setEnd(a,c+1);let d=l.getBoundingClientRect(),[[h],[u]]=[...mu(this.pageView,[{x:d.left,y:d.bottom},{x:d.right,y:d.top}])];return{from:h,to:u}}};var Yu=class n extends Fe{constructor(t,i){super(t);this._structureParser=null;this.viewer=i,this.vimScope=new Hu(this.viewer.scope),this.vimScope.registerKeymaps(["normal","visual","outline"],{":":()=>this.enterCommandMode(),"<Tab>":()=>{if(this.obsidianViewer){let r=this.obsidianViewer.pdfSidebar;r.isOpen&&r.active===2?r.close():r.switchView(2,!0)}},"<S-Tab>":()=>{if(this.obsidianViewer){let r=this.obsidianViewer.pdfSidebar;r.isOpen&&r.active===1?r.close():r.switchView(1,!0)}},f:()=>this.commandLineMode.executeCommand("hint")}),this.vimScope.registerKeymaps(["normal","visual","outline"],{j:r=>this.scroll.scrollTo("down",r),k:r=>this.scroll.scrollTo("up",r),h:r=>this.scroll.scrollTo("left",r),l:r=>this.scroll.scrollTo("right",r),J:ma(()=>{var r;return(r=this.pdfViewer)==null?void 0:r.nextPage()}),K:ma(()=>{var r;return(r=this.pdfViewer)==null?void 0:r.previousPage()}),gg:()=>this.pdfViewer&&(this.pdfViewer.currentPageNumber=1),G:r=>this.pdfViewer&&(this.pdfViewer.currentPageNumber=r!=null?r:this.pdfViewer.pagesCount),0:()=>this.scroll.scrollToTop(),"^":()=>this.scroll.scrollToTop(),$:()=>this.scroll.scrollToBottom(),"<C-f>":r=>this.scroll.scrollVerticallyByVisualPage(r!=null?r:1),"<C-b>":r=>this.scroll.scrollVerticallyByVisualPage(-(r!=null?r:1)),"<C-d>":r=>this.scroll.scrollVerticallyByVisualPage(.5*(r!=null?r:1)),"<C-u>":r=>this.scroll.scrollVerticallyByVisualPage(-.5*(r!=null?r:1)),"/":()=>this.search.start(!0),"?":()=>this.search.start(!1),n:r=>this.search.findNext(r),N:r=>this.search.findPrevious(r),gn:r=>this.search.findAndSelectNextMatch((r!=null?r:1)-1),gN:r=>this.search.findAndSelectNextMatch((r!=null?r:1)-1,!1),"+":ma(()=>{var r;return(r=this.obsidianViewer)==null?void 0:r.zoomIn()}),"-":ma(()=>{var r;return(r=this.obsidianViewer)==null?void 0:r.zoomOut()}),"=":r=>{var o;if(typeof r=="number"&&this.pdfViewer){this.pdfViewer.currentScaleValue=""+.01*r;return}(o=this.obsidianViewer)==null||o.zoomReset()},r:r=>{var o;return(o=this.obsidianViewer)==null?void 0:o.rotatePages(90*(r!=null?r:1))},R:r=>{var o;return(o=this.obsidianViewer)==null?void 0:o.rotatePages(-90*(r!=null?r:1))}}),this.vimScope.noremap(["normal","visual","outline"],{H:"^",L:"$",zi:"+",zo:"-",z0:"="}),this.vimScope.setMode("normal"),this.vimScope.setTypable("command"),this.vimScope.onEscape(r=>{var o,s,a;this.enterNormalMode(),(o=this.obsidianViewer)==null||o.pdfSidebar.close(),(a=(s=this.child)==null?void 0:s.hoverPopover)==null||a.hide(),r||this.viewer.then(c=>{c.clearEphemeralUI(),c.findBar.close()})}),this.vimScope.addEscapeAliases("<C-[>","<C-c>"),this.scroll=new zu(this),this.search=new Uu(this),this.visualMode=this.addChild(new qu(this)),this.commandLineMode=this.addChild(new Xu(this)),this.outlineMode=this.addChild(new Wu(this)),this.hintMode=this.addChild(new Ku(this))}get child(){return this.viewer.child}get obsidianViewer(){var t;return(t=this.viewer.child)==null?void 0:t.pdfViewer}get pdfViewer(){var t,i;return(i=(t=this.viewer.child)==null?void 0:t.pdfViewer)==null?void 0:i.pdfViewer}get eventBus(){var t;return(t=this.obsidianViewer)==null?void 0:t.eventBus}get file(){var t;return(t=this.viewer.child)==null?void 0:t.file}get structureParser(){var t;return!this._structureParser&&this.pdfViewer&&((t=this.viewer.child)!=null&&t.file)&&(this._structureParser=this.addChild(new Zu(this.plugin,this.pdfViewer,this.viewer.child.file))),this._structureParser}get doc(){return this.viewer.containerEl.doc}onload(){this.lib.workspace.iteratePDFViews(t=>{t.viewer===this.viewer&&(t.scope=this.vimScope)})}onunload(){this.lib.workspace.iteratePDFViews(t=>{t.viewer===this.viewer&&(t.scope=this.viewer.scope)})}static register(t,i){t.settings.vim&&(i.vim=t.addChild(i.addChild(new n(t,i))))}enterNormalMode(){var t;this.vimScope.setMode("normal"),(t=this.doc.getSelection())==null||t.empty(),this.commandLineMode.exit(),this.hintMode.exit(),this.visualMode.forgetPreviousSelection()}enterCommandMode(){this.vimScope.setMode("command"),this.commandLineMode.enter()}enterOutlineMode(){if(this.settings.enableVimOutlineMode&&this.obsidianViewer){this.vimScope.setMode("outline");let t=this.obsidianViewer.pdfOutlineViewer;if(!t.highlighted){let i=t.children[0];i.setActive(!0),t.highlighted=i}}}enterHintMode(){this.vimScope.setMode("hint"),this.hintMode.enter()}mapOrNoremap(t,i,r,o){r.startsWith(":")?this.vimScope.registerKeymaps(t,{[i]:()=>this.commandLineMode.executeCommand(r.slice(1))}):r==="<Nop>"?this.vimScope.registerKeymaps(t,{[i]:()=>{}}):this.vimScope[o?"noremap":"map"](t,{[i]:r})}map(t,i,r){this.mapOrNoremap(t,i,r,!1)}noremap(t,i,r){this.mapOrNoremap(t,i,r,!0)}async evalUserScript(t){return new Promise(i=>{this.viewer.then(async r=>{let o=this.addChild(new $o(this.plugin,r));i(await o.run(t))})})}};var ka=async(n,e)=>n.patchStatus.pdfInternals?!0:new Promise(t=>{e.then(i=>n.patchStatus.pdfInternals?t(!0):(yC(n,e),!i.toolbar||(vC(n,i),!i.pdfViewer)?t(!1):(wC(n,i.pdfViewer),FC(n),n.patchStatus.pdfInternals=!0,n.classes.PDFViewerComponent=e.constructor,n.classes.PDFViewerChild=i.constructor,bC(n),t(!0))))});function bC(n){let{lib:e}=n;e.workspace.iteratePDFViews(t=>_w(t.viewer,t.file,n.subpathWhenPatched)),e.workspace.iteratePDFEmbeds(t=>_w(t.viewer,t.file,t.subpath))}var _w=(n,e,t)=>{n.unload();let i=n.scope.keys.find(r=>r.modifiers===""&&r.key==="Escape");i&&n.scope.unregister(i),n.load(),e&&n.loadFile(e,t)},yC=(n,e)=>{n.register(tt(e.constructor.prototype,{loadFile(t){return async function(i,r){let o=await t.call(this,i,r);return this.then(s=>{var a;(!this.visualizer||this.visualizer.file!==i)&&((a=this.visualizer)==null||a.unload(),this.visualizer=this.addChild(Ru.create(n,i,s)))}),o}},onload(t){return async function(){let i=await t.call(this);return n.settings.usePageUpAndPageDown&&(this.scope.register([],"PageUp",()=>{var r,o,s;return(s=(o=(r=this.child)==null?void 0:r.pdfViewer)==null?void 0:o.pdfViewer)==null||s.previousPage(),!1}),this.scope.register([],"PageDown",()=>{var r,o,s;return(s=(o=(r=this.child)==null?void 0:r.pdfViewer)==null?void 0:o.pdfViewer)==null||s.nextPage(),!1})),Yu.register(n,this),i}}}))},vC=(n,e)=>{let{app:t,lib:i}=n;n.register(tt(e.constructor.prototype,{load(o){return async function(...s){var p,f,m;this.hoverPopover=null,this.isFileExternal=!1,this.externalFileUrl=null,this.palette=null,this.rectHighlight=null,this.bib=null,this.component||(this.component=n.addChild(new be.Component)),this.component.load();let a=await o.call(this,...s),c=(f=(p=this.pdfViewer)==null?void 0:p.dom)==null?void 0:f.viewerContainerEl;if(c){let x=!1,g=v=>{x||(x=gg(n.settings.showContextMenuOnMouseUpIf)&&be.Keymap.isModifier(v,n.settings.showContextMenuOnMouseUpIf))};this.component.registerDomEvent(c,"pointerdown",v=>{var y;i.highlight.viewer.clearRectHighlight(this),g(v),(y=this.component)==null||y.registerDomEvent(c,"pointerup",b)});let b=v=>{var y;if(g(v),n.settings.autoCopy){i.commands.copyLink(!1,!1);return}n.settings.replaceContextMenu&&(n.settings.showContextMenuOnMouseUpIf==="always"||x)&&(y=v.win.getSelection())!=null&&y.toString()&&v.win.setTimeout(()=>qg(n,this,v),80),c.removeEventListener("pointerup",b),x=!1}}let l=()=>{var x,g;try{if(this.toolbar)n.domManager.addChild(new Pa(n,this.toolbar,this));else{let v=window.setInterval(()=>{this.toolbar&&(n.domManager.addChild(new Pa(n,this.toolbar,this)),window.clearInterval(v))},100);window.setTimeout(()=>{window.clearInterval(v)},1e3)}let b=(g=(x=this.pdfViewer)==null?void 0:x.dom)==null?void 0:g.viewerContainerEl;n.settings.autoHidePDFSidebar&&b&&(this.component||(this.component=n.addChild(new be.Component)),this.component.registerDomEvent(b,"click",()=>{this.pdfViewer.pdfSidebar.switchView(0)}))}catch(b){new be.Notice(`${n.manifest.name}: An error occurred while mounting the color palette to the toolbar.`),console.error(b)}};if(l(),n.on("update-dom",l),!be.Platform.isMobile&&this.pdfViewer){let x=this.pdfViewer.eventBus;x&&x.on("textlayerrendered",({source:g})=>{var v;let b=(v=g==null?void 0:g.textLayer)==null?void 0:v.div;b&&b.addEventListener("copy",r)})}let d="1.7.0",h=(m=this.findBar)==null?void 0:m.findNextButtonEl,u=h.firstElementChild;return!(0,be.requireApiVersion)(d)&&u&&u.matches("svg.lucide-arrow-up")&&(0,be.setIcon)(h,"lucide-arrow-down"),a}},unload(o){return function(){var s;return(s=this.component)==null||s.unload(),o.call(this)}},onResize(o){return function(){let s=this.containerEl.querySelector(".pdf-container");return s&&n.pdfViewerChildren.set(s,this),o.call(this)}},loadFile(o){return async function(s,a){var d;if(this.unloaded||!this.pdfViewer)return;this.component||(this.component=n.addChild(new be.Component));let c=!1;if(s.stat.size<300){let h=await i.getExternalPDFUrl(s);if(h){let u=t.vault.getResourcePath(s).replace(/\?\d+$/,"");this.pdfViewer.pdfPlusRedirect={from:u,to:h},await o.call(this,s,a),this.component.register(()=>URL.revokeObjectURL(h)),c=!0,this.isFileExternal=!0,this.externalFileUrl=h,this.palette&&this.palette.paletteEl&&(this.palette.removeWriteFileToggle(),this.palette.addImportButton(this.palette.paletteEl))}}c||(this.isFileExternal=!1,this.externalFileUrl=null,await o.call(this,s,a));let l=this.containerEl.querySelector(".pdf-container");l&&n.pdfViewerChildren.set(l,this),(d=this.bib)==null||d.unload(),this.bib=this.component.addChild(new pn(n,this)),i.registerPDFEvent("annotationlayerrendered",this.pdfViewer.eventBus,this.component,h=>{var p,f;let{source:u}=h;(f=(p=u.annotationLayer)==null?void 0:p.div)==null||f.querySelectorAll("section[data-annotation-id]").forEach(m=>{var b,v;let x=m.dataset.annotationId;if(!x)return;let g=(b=u.annotationLayer)==null?void 0:b.annotationLayer.getAnnotation(x);g&&g.container.dataset.pdfPlusIsAnnotationPostProcessed!=="true"&&(g.data.subtype==="Link"&&typeof g.container.dataset.internalLink=="string"?Zn.registerEvents(n,this,g):g.data.subtype==="Link"&&g.data.url&&Kr.registerEvents(n,this,g),(n.settings.hideReplyAnnotation&&g.data.inReplyTo&&g.data.replyType==="R"||g.data.subtype==="Stamp"&&n.settings.hideStampAnnotation)&&g.container.hide(),!be.Platform.isPhone&&n.settings.showAnnotationPopupOnHover&&((v=g.data.contentsObj)!=null&&v.str)&&Vc({parentEl:g.container,createChildEl:()=>(this.destroyAnnotationPopup(),this.renderAnnotationPopup(g),this.activeAnnotationPopupEl),removeChildEl:()=>{var y;((y=this.activeAnnotationPopupEl)==null?void 0:y.dataset.annotationId)===g.data.id&&this.destroyAnnotationPopup()},component:this.component}),g.container.dataset.pdfPlusIsAnnotationPostProcessed="true")})}),i.registerPDFEvent("outlineloaded",this.pdfViewer.eventBus,null,async h=>{let u=h.source;if(!n.patchStatus.pdfOutlineViewer){let f=Qw(n,u);n.patchStatus.pdfOutlineViewer=f}if(!h.outlineCount)return;let p=this.file;p&&(n.settings.outlineDrag&&await Hw(n,u,this,p),u.allItems.forEach(f=>Yn.registerEvents(n,this,f)),n.settings.outlineContextMenu&&n.registerDomEvent(u.childrenEl,"contextmenu",f=>{f.target===f.currentTarget&&Rw(n,this,p,f)}))}),i.registerPDFEvent("thumbnailrendered",this.pdfViewer.eventBus,null,()=>{let h=this.file;h&&(n.settings.thumbnailDrag&&zw(n,this,h),Jn.registerEvents(n,this))}),n.settings.noSpreadModeInEmbed&&!Gn(this.pdfViewer)&&i.registerPDFEvent("pagerendered",this.pdfViewer.eventBus,null,()=>{this.pdfViewer.eventBus.dispatch("switchspreadmode",{mode:0})}),Jo(this.pdfViewer)&&i.registerPDFEvent("documentinit",this.pdfViewer.eventBus,null,()=>{this.pdfViewer.eventBus.dispatch("scalechanged",{source:this.toolbar,value:"page-width"})}),i.registerPDFEvent("sidebarviewchanged",this.pdfViewer.eventBus,null,h=>{let{source:u}=h;n.settings.noSidebarInEmbed&&!Gn(this.pdfViewer)&&u.close(),n.settings.defaultSidebarView===2&&u.haveOutline&&u.switchView(2)}),Gn(this.pdfViewer)&&i.registerPDFEvent("pagechanging",this.pdfViewer.eventBus,this.component,(0,be.debounce)(({pageNumber:h})=>{if(n.settings.viewSyncFollowPageNumber){let u=i.workspace.getActivePDFView();if(u&&u.viewer.child===this){let p={state:{file:this.file.path,page:h}};t.workspace.trigger("view-sync:state-change",u,p)}}},n.settings.viewSyncPageDebounceInterval*1e3))}},applySubpath(o){return function(s){let a=l=>{if(!l)return null;let d=parseInt(l);return Number.isNaN(d)?null:d},c=l=>{if(!l)return null;let d=parseFloat(l);return Number.isNaN(d)?null:d};if(s){s=s.startsWith("#")?s.substring(1):s;let l=this.pdfViewer,d=new URLSearchParams(s);if(d.has("search")&&this.findBar){let f=d.get("search"),m={};n.settings.searchLinkHighlightAll!=="default"&&(m.highlightAll=n.settings.searchLinkHighlightAll==="true"),n.settings.searchLinkCaseSensitive!=="default"&&(m.caseSensitive=n.settings.searchLinkCaseSensitive==="true"),n.settings.searchLinkMatchDiacritics!=="default"&&(m.matchDiacritics=n.settings.searchLinkMatchDiacritics==="true"),n.settings.searchLinkEntireWord!=="default"&&(m.entireWord=n.settings.searchLinkEntireWord==="true");let x=g=>{let b=cg(g);if(d.has(b)){let v=d.get(b);(v==="true"||v==="false")&&(m[g]=v==="true")}};x("highlightAll"),x("caseSensitive"),x("matchDiacritics"),x("entireWord"),setTimeout(()=>i.search(this.findBar,f,m));return}let{dest:h,highlight:u}=(f=>{var b,v,y;if(!d.has("page"))return{dest:f,highlight:null};let m=(b=a(d.get("page")))!=null?b:1,x=null;if(n.settings.zoomToFitRect&&d.has("rect")){let F=d.get("rect").split(",").map(c);F.length===4&&F.every(D=>D!==null)&&(x=[m-1,{name:"FitR"},...F])}if(!x)if(d.has("offset")){let F=d.get("offset").split(","),D=c(F[0]),C=c(F[1]),k=c(F[2]);x=k===null?[m-1,{name:"FitBH"},C]:[m-1,{name:"XYZ"},D,C,k]}else if(!this.opts.isEmbed&&n.settings.dontFitWidthWhenOpenPDFLink){let F=(v=this.pdfViewer)==null?void 0:v.pdfViewer,D=F==null?void 0:F._location;n.settings.preserveCurrentLeftOffsetWhenOpenPDFLink?x=[m-1,{name:"XYZ"},(y=D==null?void 0:D.left)!=null?y:null,null,null]:x=[m-1,{name:"XYZ"},null,null,null]}else x=[m-1,{name:"FitBH"},null];let g=null;if(d.has("annotation"))g={type:"annotation",page:m,id:d.get("annotation")};else if(d.has("selection")){let F=d.get("selection").split(",").map(a),[D,C,k,E]=F;D!==null&&C!==null&&k!==null&&E!==null&&(g={type:"text",page:m,range:[[D,C],[k,E]]})}else if(d.has("rect")){let F=d.get("rect").split(",").map(c);F.length===4&&F.every(D=>D!==null)&&(g={type:"rect",page:m,rect:F})}return{dest:JSON.stringify(x),highlight:g}})(s),p=l.pdfLoadingTask;p?p.promise.then(()=>l.applySubpath(h)):l.subpath=h,this.subpathHighlight=u}}},getMarkdownLink(o){return function(s,a,c){if(!this.file)return o.call(this,s,a,c);let l=i.generateMarkdownLink(this.file,"",s,a);return c?l:l.slice(1)}},...be.apiVersion==="1.8.0"?{getTextSelectionRangeStr(){return function(o){let s=o.win.getSelection(),a=s&&s.rangeCount>0?s.getRangeAt(0):null,c=a&&i.copyLink.getTextSelectionRange(o,a);if(c){let{beginIndex:l,beginOffset:d,endIndex:h,endOffset:u}=c;return`${l},${d},${h},${u}`}return null}}}:{},getPageLinkAlias(o){return function(s){var a,c;if(this.file){let l=i.copyLink.getDisplayText(this,void 0,this.file,s,i.toSingleLine((c=(a=activeWindow.getSelection())==null?void 0:a.toString())!=null?c:""));if(l)return l}return o.call(this,s)}},highlightText(o){return function(s,a){var u,p,f;let l=this.getPage(s).textLayer,d=l&&wt(l),h=null;if(d){let m=d.textDivs,x=a[0][0];if(h=m[x],n.settings.trimSelectionEmbed&&this.pdfViewer.isEmbed&&this.pdfViewer.dom&&!(n.settings.ignoreHeightParamInPopoverPreview&&((u=this.pdfViewer.dom.containerEl.parentElement)!=null&&u.matches(".hover-popover")))){let g=a[1][0],b=m[g];h&&b&&setTimeout(()=>{let v=this.pdfViewer.dom.viewerContainerEl.getBoundingClientRect(),y=h.getBoundingClientRect(),D=b.getBoundingClientRect().bottom-y.top+2*Math.abs(y.top-v.top);this.pdfViewer.setHeight(D)},100)}}n.settings.noTextHighlightsInEmbed&&this.pdfViewer.isEmbed&&!((f=(p=this.pdfViewer.dom)==null?void 0:p.containerEl.parentElement)!=null&&f.matches(".hover-popover"))||o.call(this,s,a),h&&window.pdfjsViewer.scrollIntoView(h,{top:-n.settings.embedMargin},!0),n.trigger("highlight",{type:"selection",source:"obsidian",pageNumber:s,child:this})}},highlightAnnotation(o){return function(s,a){var d,h,u;let c=()=>{var f;return this.annotationHighlight?this.annotationHighlight:(f=this.getPage(s).annotationLayer)==null?void 0:f.div.querySelector(`[data-annotation-id="${a}"]`)};n.settings.trimSelectionEmbed&&this.pdfViewer.isEmbed&&this.pdfViewer.dom&&!(n.settings.ignoreHeightParamInPopoverPreview&&((d=this.pdfViewer.dom.containerEl.parentElement)!=null&&d.matches(".hover-popover")))&&setTimeout(()=>{let p=c();if(p){let f=this.pdfViewer.dom.viewerContainerEl.getBoundingClientRect(),m=p.getBoundingClientRect(),x=m.bottom-m.top+2*Math.abs(m.top-f.top);this.pdfViewer.setHeight(x)}},100),n.settings.noAnnotationHighlightsInEmbed&&this.pdfViewer.isEmbed&&!((u=(h=this.pdfViewer.dom)==null?void 0:h.containerEl.parentElement)!=null&&u.matches(".hover-popover"))||o.call(this,s,a);let l=c();l&&activeWindow.setTimeout(()=>{window.pdfjsViewer.scrollIntoView(l,{top:-n.settings.embedMargin},!0)}),n.trigger("highlight",{type:"annotation",source:"obsidian",pageNumber:s,child:this})}},clearTextHighlight(o){return function(){var s,a;n.settings.persistentTextHighlightsInEmbed&&((a=(s=this.pdfViewer)==null?void 0:s.isEmbed)!=null?a:this.opts.isEmbed)||o.call(this)}},clearAnnotationHighlight(o){return function(){n.settings.persistentAnnotationHighlightsInEmbed&&this.pdfViewer.isEmbed||o.call(this)}},clearEphemeralUI(o){return function(){o.call(this),i.highlight.viewer.clearRectHighlight(this)}},renderAnnotationPopup(o){return function(s,...a){var u,p;if(s.data.subtype==="Link")return;let c=o.call(this,s,...a);n.lastAnnotationPopupChild=this;let{page:l,id:d}=i.getAnnotationInfoFromAnnotationElement(s);if(n.settings.renderMarkdownInStickyNote&&this.file){let f=(u=this.activeAnnotationPopupEl)==null?void 0:u.querySelector(".popupContent");f&&(f.textContent="",i.highlight.writeFile.getAnnotationContents(this.file,l,d).then(async m=>{var x,g;m&&(f.addClass("markdown-rendered"),this.component||(this.component=n.addChild(new be.Component)),await be.MarkdownRenderer.render(t,m,f,"",this.component),Rc(t,f,(g=(x=this.file)==null?void 0:x.path)!=null?g:""))}))}let h=f=>{f.createDiv("pdf-plus-annotation-icon-container",m=>{let x=f==null?void 0:f.querySelector(".clickable-icon:last-child");if(x&&(x.remove(),m.createDiv("clickable-icon pdf-plus-copy-annotation-link",g=>{(0,be.setIcon)(g,"lucide-copy"),(0,be.setTooltip)(g,"Copy link"),g.addEventListener("click",async()=>{let b=i.getColorPaletteAssociatedWithNode(f);if(!b)return;let v=n.settings.copyCommands[b.actionIndex].template;i.copyLink.copyLinkToAnnotation(this,!1,{copyFormat:v},l,d),(0,be.setIcon)(g,"lucide-check")})})),i.isEditable(this)&&n.settings.enableAnnotationContentEdit&&Hr.isSubtypeSupported(s.data.subtype)){let g=s.data.subtype;m.createDiv("clickable-icon pdf-plus-edit-annotation",b=>{(0,be.setIcon)(b,"lucide-pencil"),(0,be.setTooltip)(b,"Edit"),b.addEventListener("click",async()=>{this.file&&Hr.forSubtype(g,n,this.file,l,d).open()})})}i.isEditable(e)&&n.settings.enableAnnotationDeletion&&m.createDiv("clickable-icon pdf-plus-delete-annotation",g=>{(0,be.setIcon)(g,"lucide-trash"),(0,be.setTooltip)(g,"Delete"),g.addEventListener("click",async()=>{this.file&&new xa(n,this.file,l,d).openIfNeccessary()})})}),f.addEventListener("contextmenu",m=>{new be.Menu().addItem(x=>{x.setTitle("Customize...").setIcon("lucide-settings").onClick(()=>{n.openSettingTab().scrollToHeading("annot")})}).showAtMouseEvent(m),m.preventDefault()})};if(be.Platform.isPhone){let f=new MutationObserver((m,x)=>{for(let g of m)for(let b of g.addedNodes)if(b.instanceOf(HTMLElement)&&b.matches("div.modal-container.pdf-annotation-modal")){let v=b.querySelector(".popupMeta");if(v){h(v),x.disconnect();return}}});activeWindow.setTimeout(()=>f.observe(activeDocument.body,{childList:!0})),activeWindow.setTimeout(()=>f.disconnect(),1e3)}else{let f=(p=this.activeAnnotationPopupEl)==null?void 0:p.querySelector(".popupMeta");f&&h(f)}if(n.settings.annotationPopupDrag&&this.activeAnnotationPopupEl&&this.file){let f=this.activeAnnotationPopupEl,m=this.file;Uw(n,f,this,m,l,d),f.addClass("pdf-plus-draggable")}return c}},destroyAnnotationPopup(o){return function(){return n.lastAnnotationPopupChild=null,o.call(this)}},onContextMenu(o){return async function(s){if(!be.Platform.isPhone&&!(be.Platform.isTablet&&!n.settings.showContextMenuOnTablet)){if(!n.settings.replaceContextMenu)return await o.call(this,s);Ow(n,this,s)}}},onMobileCopy(o){return function(s,a){switch(n.settings.mobileCopyAction){case"text":r(s);return;case"pdf-plus":setTimeout(()=>i.commands.copyLink(!1));return;case"obsidian":return o.call(this,s,a)}}},onThumbnailContextMenu(o){return function(s){if(!n.settings.thumbnailContextMenu)return o.call(this,s);Mw(n,this,s)}},getTextByRect(o){return function(s,a){let c="",l=s.textLayer,d=l&&wt(l);if(d){let{textContentItems:h,textDivs:u}=d,[p,f,m,x]=a;for(let g=0;g<h.length;g++){let b=h[g];if(b.chars&&b.chars.length)for(let v=0;v<b.chars.length;v++){let y=b.chars[v],F=(y.r[0]+y.r[2])/2,D=(y.r[1]+y.r[3])/2;p<=F&&F<=m&&f<=D&&D<=x&&(c+=y.u)}else if(u&&u[g])for(let{char:v,rect:y}of ug(s,u[g])){let F=(y[0]+y[2])/2,D=(y[1]+y[3])/2;p<=F&&F<=m&&f<=D&&D<=x&&(c+=v)}}}return c}}}));let r=o=>{var c;if(!n.settings.copyAsSingleLine)return;let s=o.clipboardData;if(!s)return;let a=(c=o.target.win.getSelection())==null?void 0:c.toString();a&&(a=i.toSingleLine(a),s.setData("text/plain",a))}},wC=(n,e)=>{let t=Object.getPrototypeOf(e);n.register(tt(t,{open(i){return async function(r){if(this.pdfPlusRedirect){let{from:o,to:s}=this.pdfPlusRedirect,a=r.url;typeof a=="string"&&a.startsWith(o)&&(r.url=s)}return delete this.pdfPlusRedirect,await i.call(this,r)}},load(i){return function(r,...o){let s=this.pdfPlusCallbacksOnDocumentLoaded;if(s)for(let a of s)a(r);return delete this.pdfPlusCallbacksOnDocumentLoaded,i.call(this,r,...o)}}}))},FC=n=>{n.register(tt(window.pdfjsViewer.AppOptions,{get(e){return function(...t){let i=t[0];return["defaultZoomValue","scrollModeOnLoad","spreadModeOnLoad"].includes(i)?n.settings[i]:e.apply(this,t)}}}))};var $w=n=>{if(n.patchStatus.pdfView&&n.patchStatus.pdfInternals)return!0;let e=n.lib,t=e.getPDFView();return t&&(n.patchStatus.pdfView||(n.register(tt(t.constructor.prototype,{getState(i){return function(){var c,l,d,h,u;let r=i.call(this),s=this.viewer.child,a=(c=s==null?void 0:s.pdfViewer)==null?void 0:c.pdfViewer;return a&&(r.page=(d=(l=a._location)==null?void 0:l.pageNumber)!=null?d:a.currentPageNumber,r.left=(h=a._location)==null?void 0:h.left,r.top=(u=a._location)==null?void 0:u.top,r.zoom=a.currentScale),r}},setState(i){return function(r,o){return n.settings.alwaysRecordHistory&&(o.history=!0),i.call(this,r,o).then(()=>{var l;let a=this.viewer.child,c=(l=a==null?void 0:a.pdfViewer)==null?void 0:l.pdfViewer;typeof r.page=="number"&&c&&e.applyPDFViewStateToViewer(c,r)})}},onLoadFile(i){return async function(r){let o=this,s=o.getState(),a=e.viewStateToSubpath(s);return o.viewer.loadFile(r,a!=null?a:void 0)}}})),n.patchStatus.pdfView=!0,n.classes.PDFView=t.constructor),n.patchStatus.pdfInternals||ka(n,t.viewer)),!1};var e1=n=>{if(n.patchStatus.pdfInternals)return!0;let{lib:e}=n,t=e.getPDFEmbed();return t&&ka(n,t.viewer),!1};var Qw=(n,e)=>(n.register(tt(e.constructor.prototype,{onItemContextMenu(t){return async function(i,r){let o=this,s=o.viewer,a=s.file;if(!n.settings.outlineContextMenu||!a)return await t.call(o,i,r);Nw(n,s,a,i,r)}}})),!0);var Ca=require("obsidian");var t1=n=>{let e=n.app,t=n.lib;n.register(tt(Ca.Workspace.prototype,{openLinkText(i){return function(r,o,s,a){var c;if((n.settings.openPDFWithDefaultApp||n.settings.singleTabForSinglePDF||n.settings.openLinkNextToExistingPDFTab||n.settings.paneTypeForFirstPDFLeaf)&&!s){let{path:l}=(0,Ca.parseLinktext)(r),d=e.metadataCache.getFirstLinkpathDest(l,o);if(d&&d.extension==="pdf"){if(Ca.Platform.isDesktopApp&&n.settings.openPDFWithDefaultApp){if(n.settings.openPDFWithDefaultAppAndObsidian&&n.settings.syncWithDefaultApp)return;let h=e.openWithDefaultApp(d.path);if(n.settings.focusObsidianAfterOpenPDFWithDefaultApp&&jc(),!n.settings.openPDFWithDefaultAppAndObsidian)return h}if(n.settings.singleTabForSinglePDF){let{exists:h,promise:u}=t.workspace.openPDFLinkTextInExistingLeafForTargetPDF(r,o,a,d);if(h)return u}if(n.settings.openLinkNextToExistingPDFTab||n.settings.paneTypeForFirstPDFLeaf){let h=(c=t.getPDFView())==null?void 0:c.leaf;if(h){if(n.settings.openLinkNextToExistingPDFTab&&h.parentSplit){let u=e.workspace.createLeafInParent(h.parentSplit,-1);return t.workspace.openPDFLinkTextInLeaf(u,r,o,a)}}else if(n.settings.paneTypeForFirstPDFLeaf){let u=t.workspace.getLeaf(n.settings.paneTypeForFirstPDFLeaf);return t.workspace.openPDFLinkTextInLeaf(u,r,o,a)}}}}return i.call(this,r,o,s,a)}}})),n.patchStatus.workspace=!0};var i1=require("obsidian");var n1=n=>{let e=n.app,t=n.lib,i=e.internalPlugins.plugins["page-preview"].instance;return n.register(tt(i,{onLinkHover(r){return function(o,s,a,c,l){let{path:d,subpath:h}=(0,i1.parseLinktext)(a),u=e.metadataCache.getFirstLinkpathDest(d,c);if((!c||c.endsWith(".pdf"))&&n.settings.hoverHighlightAction==="open"&&(l!=null&&l.isTriggeredFromBacklinkVisualizer)){t.workspace.openMarkdownLinkFromPDF(a,c,!1,{line:l.scroll});return}if((u==null?void 0:u.extension)==="pdf"&&c.endsWith(".md")){if(n.settings.hoverPDFLinkToOpen){let{exists:p}=t.workspace.openPDFLinkTextInExistingLeafForTargetPDF(a,c,void 0,u);if(p)return}if(n.settings.ignoreHeightParamInPopoverPreview&&h.contains("height=")){let p=new URLSearchParams(h.slice(1));a=d+"#"+Array.from(p.entries()).filter(([f])=>f!=="height").map(([f,m])=>`${f}=${m}`).join("&")}}r.call(this,o,s,a,c,l)}}})),n.patchStatus.pagePreview=!0,!0};var r1=require("obsidian");var Ju=class extends Fe{constructor(t,i,r){super(t);this.navButtonEl=null;this.renderer=i,this.file=r,this.pageTracker=new Qg(t,i,r),this.isTrackingPage=t.settings.filterBacklinksByPageDefault}onload(){this.navButtonEl=this.renderer.headerDom.addNavButton("lucide-filter","Show only backlinks in the current page",()=>{this.isTrackingPage=!this.isTrackingPage,this.updatePageTracker()}),this.updatePageTracker(),this.registerDomEvent(this.renderer.backlinkDom.el,"mouseover",t=>{this.processBacklinkVisualizerDomForEvent(t,(i,r,o,s)=>{if(!this.settings.highlightOnHoverBacklinkPane||!Pi(t,i))return;for(let l of r)l.addClass("hovered-highlight");let a=null;if(o.page&&o.annotation){let l=o.page,d=o.annotation.id;s.then(h=>{var f;let u=h.getPage(l),p=(f=u.annotationLayer)==null?void 0:f.annotationLayer.getAnnotation(d);p&&(a=this.lib.highlight.viewer.placeRectInPage(p.data.rect,u),a.addClass("pdf-plus-annotation-bounding-rect"))})}if(o.page&&o.FitR){let l=o.page,{left:d,bottom:h,right:u,top:p}=o.FitR;s.then(f=>{let m=f.getPage(l);a=this.lib.highlight.viewer.placeRectInPage([d,h,u,p],m),a.addClass("rect-highlight")})}let c=l=>{if(Pi(l,i)){for(let d of r)d.removeClass("hovered-highlight");a&&a.remove(),i.removeEventListener("mouseout",c)}};i.addEventListener("mouseout",c)})})}onunload(){var t;(t=this.navButtonEl)==null||t.remove(),this.pageTracker.unload()}setParents(...t){return t.forEach(i=>i.addChild(this)),this.register(()=>t.forEach(i=>i.removeChild(this))),this}updatePageTracker(){this.navButtonEl.toggleClass("is-active",this.isTrackingPage),this.isTrackingPage?this.pageTracker.load():this.pageTracker.unload()}findBacklinkItemEl(t){var l,d;let{refCache:i,sourcePath:r}=t,o=this.renderer.backlinkDom,s=this.app.vault.getAbstractFileByPath(r);if(!(s instanceof r1.TFile))return null;let a=o.getResult(s);if(!a)return null;if(!!a.childrenEl.querySelector(".better-search-views-tree")){let h=this.app.metadataCache.getFileCache(s);if(!(h!=null&&h.sections)||!("position"in i))return null;let u=new Set;for(let[f,m]of a.result.content){let x=h.sections.find(g=>g.position.start.offset<=f&&m<=g.position.end.offset);if(x&&(u.add(x),f===i.position.start.offset&&i.position.end.offset===m))break}let p=u.size-1;return p===-1?null:(d=a==null?void 0:a.childrenEl.querySelectorAll(".search-result-file-match")[p])!=null?d:null}else{let h=a==null?void 0:a.vChildren.children;if(!h)return null;let u=h.find(p=>{if("position"in i)return p.start<=i.position.start.offset&&i.position.end.offset<=p.end;for(let f of p.matches)return"key"in f&&f.key===i.key;return!1});return(l=u==null?void 0:u.el)!=null?l:null}}processBacklinkVisualizerDomForEvent(t,i){let r=t.target;if(!It(t,r))return;let o=this.renderer.backlinkDom.vChildren.children.find(s=>s.el.contains(r));if(o){let s=o.file.path;this.lib.workspace.iteratePDFViewerComponents(a=>{if(a.visualizer){let c=a.visualizer.index.sourcePaths.get(s);for(let l of c){if(l.page===null)continue;let d=this.findBacklinkItemEl(l);if(d!=null&&d.contains(r)){let u=a.visualizer.domManager.getCacheToDomsMap(l.page).get(l);i(d,u,l,a)}}}})}}},Qg=class extends Fe{constructor(t,i,r){super(t);this.renderer=i;this.file=r;this.matchCountObserver=new Hc(this.renderer.backlinkDom.el,()=>{if(this.updateBacklinkCountEl(o=>`${o} in this page`),this.renderer.collapseAll)for(let o of this.renderer.backlinkDom.el.querySelectorAll(".tree-item.search-result")){let s=o.querySelector(":scope>.tree-item-self.search-result-file-title>.collapse-icon");s?s.style.visibility==="hidden"&&o.remove():o.remove()}else for(let o of this.renderer.backlinkDom.el.querySelectorAll(".tree-item.search-result:not(:has( .search-result-file-match))"))o.hasClass("is-collapsed")||o.remove()},{childList:!0,subtree:!0})}async onload(){this.renderer.backlinkDom.filter=void 0;let t=this.lib.workspace.getExistingLeafForPDFFile(this.file);if(t){await this.lib.workspace.ensureViewLoaded(t);let i=t.view;this.lib.isPDFView(i)&&i.viewer.then(r=>{this.renderer.backlinkDom.filter=(o,s)=>r.pdfViewer&&r.pdfViewer.pdfViewer?this.filter(r.pdfViewer.pdfViewer.currentPageNumber,s):!0,this.updateBacklinkDom(),this.lib.registerPDFEvent("pagechanging",r.pdfViewer.eventBus,this,o=>{var a;let s=typeof o.pageNumber=="number"?o.pageNumber:(a=r.pdfViewer.pdfViewer)==null?void 0:a.currentPageNumber;s&&(this.renderer.backlinkDom.filter=(c,l)=>this.filter(s,l)),this.updateBacklinkDom()})})}this.addChild(this.matchCountObserver)}onunload(){this.renderer.backlinkDom.filter=void 0,this.updateBacklinkDom()}updateBacklinkDom(){this.renderer.recomputeBacklink(this.file)}updateBacklinkCountEl(t){var r;let i=Array.from(this.renderer.backlinkDom.el.querySelectorAll("div.search-result-file-title span.tree-item-flair")).map(o=>+o.getText()).reduce((o,s)=>o+s,0);(r=this.renderer.backlinkCountEl)==null||r.setText(t?t(i):`${i}`)}filter(t,i){let r=wg(i.link),o=new URLSearchParams(r);return o.has("page")?!this.settings.showBacklinkToPage&&!o.has("selection")&&!o.has("annotation")&&!o.has("offset")&&!o.has("rect")?!1:+o.get("page")===t:!1}};var o1=n=>{var o;let{app:e,lib:t}=n,i=(o=e.workspace.getLeavesOfType("backlink").find(s=>t.isBacklinkView(s.view)))==null?void 0:o.view,r=i==null?void 0:i.backlink;return!i||!r?!1:(n.register(tt(Object.getPrototypeOf(i.constructor.prototype),{onLoadFile(s){return async function(a){await s.call(this,a),this.getViewType()==="backlink"&&a.extension==="pdf"&&(this.pdfManager=new Ju(n,this.backlink,a).setParents(n,this))}},onUnloadFile(s){return async function(a){let c=this;a.extension==="pdf"&&c.pdfManager&&c.pdfManager.unload(),await s.call(this,a)}}})),n.register(tt(r.backlinkDom.constructor.prototype,{addResult(s){return function(a,c,l,d){var u;let h=this;if(h.filter){let p=e.metadataCache.getFileCache(a);if(p){let f=[];for(let[x,g]of c.content){let b=yg(p,x,g);b&&h.filter(a,b)&&f.push([x,g])}c.content.length=0,c.content.push(...f);let m=[];for(let x of c.properties){let g=(u=p.frontmatterLinks)==null?void 0:u.find(b=>b.key===x.key);g&&h.filter(a,g)&&m.push(x)}c.properties.length=0,c.properties.push(...m)}}return s.call(this,a,c,l,d)}}})),t.workspace.iterateBacklinkViews(s=>{var a;((a=s.file)==null?void 0:a.extension)==="pdf"&&s.onLoadFile(s.file)}),n.patchStatus.backlink=!0,!0)};var Sa=require("obsidian");var s1=n=>{let e=n.app,t;return e.workspace.iterateAllLeaves(i=>{i.view instanceof Sa.MarkdownView&&(t=i.view.editMode.clipboardManager)}),t?(n.register(tt(t.constructor.prototype,{handleDragOver(i){return function(r){let o=e.dragManager.draggable;if(!o||o.source!=="pdf-plus")return i.call(this,r);(Sa.Platform.isMacOS?r.shiftKey:r.altKey)||(PC(r,"link"),e.dragManager.setAction("Insert link here"))}},handleDrop(i){return function(r){let o=e.dragManager.draggable;if(!o||o.source!=="pdf-plus")return i.call(this,r);if(this.info instanceof Sa.MarkdownView&&(Sa.Platform.isMacOS?r.shiftKey:r.altKey))return r.preventDefault(),this.info.handleDrop(r,o,!1),!0;let s=this.info.editor;if(!s)return!1;let a=o.getText(this.getPath()),c=s.cm.posAtCoords({x:r.clientX,y:r.clientY},!1),l=s.offsetToPos(c);return s.setCursor(l),typeof a=="string"?(s.replaceSelection(a),s.focus(),r.preventDefault(),!0):!1}}})),!0):!1},DC={none:[],copy:["copy"],copyLink:["copy","link"],copyMove:["copy","move"],link:["link"],linkMove:["link","move"],move:["move"],all:["copy","link","move"],uninitialized:[]};function PC(n,e){if(!n.dataTransfer||n.dataTransfer.effectAllowed==="none"||n.dataTransfer.effectAllowed==="uninitialized")return;if(e==="none")return n.dataTransfer.dropEffect=e;DC[n.dataTransfer.effectAllowed].contains(e)&&(n.dataTransfer.dropEffect=e)}var a1=require("obsidian");var l1=n=>{n.register(tt(a1.Menu.prototype,{showAtPosition(e){return function(...t){var i;return n.settings.hoverableDropdownMenuInToolbar&&((i=this.parentEl)!=null&&i.closest("div.pdf-toolbar"))&&this.setUseNativeMenu(!1),n.shownMenus.add(this),e.call(this,...t)}},hide(e){return function(...t){return n.shownMenus.delete(this),e.call(this,...t)}}}))};var ke=require("obsidian");var Wi=require("obsidian");var Ae=class{constructor(e){this.app=e.app,this.plugin=e}get lib(){return this.plugin.lib}get settings(){return this.plugin.settings}};var ts=require("obsidian"),kC=Ki(require("obsidian")),id=class{constructor(e,t){this.plugin=e;this.variables=t}setVariable(e,t){this.variables[e]=t}evalPart(e){let t=new Function(...Object.keys(this.variables),`return ${e};`)(...Object.values(this.variables));if(t===void 0)throw Error(`The expression "${e}" cannot be evaluated.`);return t}evalTemplate(e){return e.replace(/{{(.*?)}}/g,(t,i)=>this.evalPart(i))}},nd=class extends id{constructor(e,t){var d,h,u,p,f,m;let{app:i}=e;"colorName"in t&&(t.color=t.colorName),super(e,{...t,app:i,obsidian:kC,pdf:t.file,folder:t.file.parent,selection:t.text}),this.app=i,this.lib=e.lib;let r=this.findMarkdownFileAssociatedToPDF(t.file),o=(h=r&&((d=i.metadataCache.getFileCache(r))==null?void 0:d.frontmatter))!=null?h:{};this.setVariable("md",r),this.setVariable("properties",o);let s=this.findLinkedFile(t.file),a=(p=s&&((u=i.metadataCache.getFileCache(s))==null?void 0:u.frontmatter))!=null?p:{};this.setVariable("linkedFile",s),this.setVariable("linkedFileProperties",a);let c=(f=i.plugins.plugins.dataview)==null?void 0:f.api,l=(m=i.plugins.plugins.quickadd)==null?void 0:m.api;c&&this.setVariable("dv",c),l&&this.setVariable("quickAddApi",l)}findMarkdownFileAssociatedToPDF(e){var o,s,a;let t=this.plugin.app,i=[],r=(o=t.plugins.plugins.dataview)==null?void 0:o.api;if(r)i=r.pages().where(l=>{var d;return r.array((d=l[this.plugin.settings.proxyMDProperty])!=null?d:[]).path.includes(e.path)}).map(l=>t.vault.getAbstractFileByPath(l.file.path)).filter(l=>l instanceof ts.TFile);else{let c=t.metadataCache.getBacklinksForFile(e);for(let l of c.keys()){let d=t.metadataCache.getCache(l);if(d&&((s=d.frontmatterLinks)==null?void 0:s.some(u=>{if(u.key!==this.plugin.settings.proxyMDProperty&&!new RegExp(`${this.plugin.settings.proxyMDProperty}.\\d+`).test(u.key))return!1;let p=(0,ts.getLinkpath)(u.link),f=t.metadataCache.getFirstLinkpathDest(p,l);return f&&f.path===e.path}))){let u=t.vault.getAbstractFileByPath(l);u instanceof ts.TFile&&i.push(u)}}}if(i.length>1){let c=`Multiple markdown files are associated with this PDF file:
${i.map(l=>"- "+l.path).join(`
`)}
Aborting.`;throw Error(c)}return(a=i.first())!=null?a:null}findLinkedFile(e){let t=null,i=this.lib.workspace.getActiveGroupLeaves();if(i){for(let r of i)if(r.view instanceof ts.FileView&&r.view.file&&r.view.file!==e){t=r.view.file;break}}return t}};var _u=class extends Ae{constructor(){super(...arguments);this.statusDurationMs=2e3}getPageAndTextRangeFromSelection(t){if(t=t!=null?t:activeWindow.getSelection(),!t)return null;let i=this.lib.getPageElFromSelection(t);if(!i||i.dataset.pageNumber===void 0)return null;let r=+i.dataset.pageNumber,o=t.rangeCount>0?t.getRangeAt(0):null;if(o){let s=this.getTextSelectionRange(i,o);if(s)return{page:r,selection:s}}return{page:r}}getTextSelectionRange(t,i){if(i&&!i.collapsed){let r=pu(t,i.startContainer),o=pu(t,i.endContainer);if(r&&o){let s=r.dataset.idx,a=o.dataset.idx,c=gu(r,i.startContainer,i.startOffset),l=gu(o,i.endContainer,i.endOffset);if(s!==void 0&&a!==void 0&&c!==null&&l!==null)return{beginIndex:+s-this.plugin.textDivFirstIdx,beginOffset:c,endIndex:+a-this.plugin.textDivFirstIdx,endOffset:l}}}return null}getTemplateVariables(t){var d,h,u;let i=activeWindow.getSelection();if(!i)return null;let r=this.lib.getPageElFromSelection(i);if(!r||r.dataset.pageNumber===void 0)return null;let o=this.lib.getPDFViewerChildAssociatedWithNode(r),s=o==null?void 0:o.file;if(!s)return null;let a=+r.dataset.pageNumber;i.toString()||(a=(h=(d=o.pdfViewer.pdfViewer)==null?void 0:d.currentPageNumber)!=null?h:a);let c=o.getTextSelectionRangeStr(r);if(!c)return null;let l=qc({page:a,selection:c,...t});return{child:o,file:s,subpath:l,page:a,pageCount:o.pdfViewer.pagesCount,pageLabel:(u=o.getPage(a).pageLabel)!=null?u:""+a,text:this.lib.toSingleLine(i.toString())}}getLinkTemplateVariables(t,i,r,o,s,a,c,l){l=l!=null?l:"";let d=this.app.fileManager.generateMarkdownLink(r,l,o).slice(1),h=this.app.metadataCache.fileToLinktext(r,l)+o;this.app.vault.getConfig("useMarkdownLinks")&&(h=Rr(h));let u=this.getDisplayText(t,i,r,s,a,c),p=this.lib.generateMarkdownLink(r,l,o,u||void 0).slice(1),f=this.app.fileManager.generateMarkdownLink(r,l,`#page=${s}`).slice(1),m=this.lib.generateMarkdownLink(r,l,`#page=${s}`,u||void 0).slice(1);return{link:d,linktext:h,display:u,linkWithDisplay:p,linkToPage:f,linkToPageWithDisplay:m}}getDisplayText(t,i,r,o,s,a){var c;if(!i){let l=this.lib.getColorPaletteFromChild(t);l?i=this.settings.displayTextFormats[l.displayTextFormatIndex].template:i=this.settings.displayTextFormats[this.settings.defaultDisplayTextFormatIndex].template}try{return new nd(this.plugin,{file:r,page:o,pageCount:t.pdfViewer.pagesCount,pageLabel:(c=t.getPage(o).pageLabel)!=null?c:""+o,text:s,comment:a!=null?a:""}).evalTemplate(i).trim()}catch(l){console.error(l),new Wi.Notice(`${this.plugin.manifest.name}: Display text format is invalid. Error: ${l.message}`,3e3)}}getTextToCopy(t,i,r,o,s,a,c,l,d,h){var m,x,g,b,v,y;let u=t.getPage(s);if(typeof h!="string"){let F=fa(a).get("annotation");h=typeof F=="string"&&((v=(b=(g=(x=(m=u==null?void 0:u.annotationLayer)==null?void 0:m.annotationLayer)==null?void 0:x.getAnnotation(F))==null?void 0:g.data)==null?void 0:b.contentsObj)==null?void 0:v.str),h=this.lib.toSingleLine(h||"")}return new nd(this.plugin,{file:o,page:s,pageLabel:(y=u.pageLabel)!=null?y:""+s,pageCount:t.pdfViewer.pagesCount,text:c,comment:h,colorName:l,calloutType:this.settings.calloutType,...this.lib.copyLink.getLinkTemplateVariables(t,r,o,a,s,c,h,d)}).evalTemplate(i)}async getTextToCopyForOutlineItem(t,i,r,o){return(await this.getTextToCopyForOutlineItemDynamic(t,i,r))(o)}async getTextToCopyForOutlineItemDynamic(t,i,r){let o=await r.getExplicitDestination(),s=await r.getPageNumber(),a=this.lib.normalizePDFJsDestArray(o,s),c=this.lib.destArrayToSubpath(a);return l=>this.getTextToCopy(t,this.settings.outlineLinkCopyFormat,this.settings.outlineLinkDisplayTextFormat,i,s,c,r.item.title,"",l)}getSelectionLinkInfo(){var s;let t=this.lib.getColorPaletteAssociatedWithSelection();if(!t)return null;let i=this.settings.copyCommands[t.actionIndex].template,r=(s=t.selectedColorName)!=null?s:void 0,o=t.writeFile;return{template:i,colorName:r,writeFile:o}}getAnnotationLinkInfo(){let t=this.plugin.lastAnnotationPopupChild;if(!t)return null;let i=t.activeAnnotationPopupEl;if(!i)return null;let r=i.querySelector(".popupMeta div.clickable-icon:has(svg.lucide-copy)");if(!r)return null;let o=this.lib.getColorPaletteAssociatedWithNode(r),s;o?s=this.settings.copyCommands[o.actionIndex].template:s=this.settings.copyCommands[this.settings.defaultColorPaletteActionIndex].template;let a=this.lib.getAnnotationInfoFromPopupEl(i);if(!a)return null;let{page:c,id:l}=a;return{child:t,copyButtonEl:r,template:s,page:c,id:l}}copyLinkToSelection(t,i,r,o){let s=this.getTemplateVariables(r?{color:r.toLowerCase()}:{});if(s){let{child:a,file:c,subpath:l,page:d,text:h}=s;if(!h)if(this.settings.useAnotherCopyTemplateWhenNoSelection)i.copyFormat=this.settings.copyTemplateWhenNoSelection;else return!1;return t||(async()=>{var m;let u=this.getTextToCopy(a,i.copyFormat,i.displayTextFormat,c,d,l,h,(m=r==null?void 0:r.toLowerCase())!=null?m:"");await navigator.clipboard.writeText(u),this.onCopyFinish(u);let p=this.lib.getColorPaletteFromChild(a);p==null||p.setStatus("Link copied",this.statusDurationMs),this.autoFocusOrAutoPaste(u,o,p!=null?p:void 0);let f=Yo(l);if(f&&"beginIndex"in f){let x=a.getPage(d).textLayer;if(x){let g=wt(x);if(g){let{textContentItems:b}=g,v=b[f.beginIndex];if(v){let y=v.transform[4],F=v.transform[5]+v.height;typeof y=="number"&&typeof F=="number"&&(this.plugin.lastCopiedDestInfo={file:c,destArray:[d-1,"XYZ",y,F,null]})}}}}})(),!0}return!1}copyLinkToAnnotation(t,i,r,o,s,a,c){let l=t.file;if(!l)return!1;if(!i){let d=t.getPage(o);t.getAnnotatedText(d,s).then(async h=>{var y,F,D,C;let u=(C=(D=(F=(y=d.annotationLayer)==null?void 0:y.annotationLayer)==null?void 0:F.getAnnotation(s))==null?void 0:D.data)!=null?C:(await d.pdfPage.getAnnotations()).find(k=>k.id===s),p=u!=null&&u.color?`${u.color[0]}, ${u.color[1]}, ${u.color[2]}`:"",f=`#page=${o}&annotation=${s}`;if(u.subtype==="Square"){let k=u.rect;f+=`&rect=${k[0]},${k[1]},${k[2]},${k[3]}`}let m=this.getTextToCopy(t,r.copyFormat,r.displayTextFormat,l,o,f,h!=null?h:"",p);await navigator.clipboard.writeText(m),this.onCopyFinish(m);let x=this.lib.getColorPaletteFromChild(t);c&&(x==null||x.setStatus("Link copied",this.statusDurationMs)),this.autoFocusOrAutoPaste(m,a,x!=null?x:void 0);let g=u==null?void 0:u.rect,b=g==null?void 0:g[0],v=g==null?void 0:g[3];typeof b=="number"&&typeof v=="number"&&(this.plugin.lastCopiedDestInfo={file:l,destArray:[o-1,"XYZ",b,v,null]})})}return!0}copyLinkToAnnotationWithGivenTextAndFile(t,i,r,o,s,a,c,l,d){return o||(async()=>{let h=this.getTextToCopy(r,s.copyFormat,s.displayTextFormat,i,a,`#page=${a}&annotation=${c}`,t,l);await navigator.clipboard.writeText(h),this.onCopyFinish(h);let u=this.lib.getColorPaletteFromChild(r);u==null||u.setStatus("Link copied",this.statusDurationMs),this.autoFocusOrAutoPaste(h,d,u!=null?u:void 0)})(),!0}writeHighlightAnnotationToSelectionIntoFileAndCopyLink(t,i,r,o){let s=activeWindow.getSelection();if(!s)return!1;let a=this.lib.toSingleLine(s.toString());if(!a)return!1;if(!t){let c=this.lib.getColorPaletteAssociatedWithSelection();c==null||c.setStatus("Writing highlight annotation into file...",1e4),this.lib.highlight.writeFile.addTextMarkupAnnotationToSelection(this.settings.selectionBacklinkVisualizeStyle==="highlight"?"Highlight":"Underline",r).then(l=>{if(!l)return;let{child:d,file:h,page:u,annotationID:p,rects:f}=l;!p||!h||setTimeout(()=>{let m=this.lib.getColorPaletteFromChild(d);m==null||m.setStatus("Link copied",this.statusDurationMs);let{r:x,g,b}=this.plugin.domManager.getRgb(r);if(this.copyLinkToAnnotationWithGivenTextAndFile(a,h,d,!1,i,u,p,`${x}, ${g}, ${b}`,o),f){let v=Math.min(...f.map(F=>F[0])),y=Math.max(...f.map(F=>F[3]));typeof v=="number"&&typeof y=="number"&&(this.plugin.lastCopiedDestInfo={file:h,destArray:[u-1,"XYZ",v,y,null]})}},300)})}return!0}copyEmbedLinkToRect(t,i,r,o,s,a,c){if(a||(a=this.settings.autoPaste),!i.file)return!1;let l=i.file,d=this.lib.getColorPaletteFromChild(i);if(o.some(h=>isNaN(h)))return d==null||d.setStatus("Invalid selection",this.statusDurationMs),!1;if(!t){let h=this.getDisplayText(i,void 0,l,r,""),u=`#page=${r}&rect=${o.map(f=>Math.round(f)).join(",")}`;s&&(u+=`&color=${s}`);let p=this.lib.generateMarkdownLink(l,c!=null?c:"",u,h);(async()=>{let f=p,m=i.getPage(r).pdfPage,x=this.settings.rectImageExtension;if(!this.settings.rectEmbedStaticImage)await navigator.clipboard.writeText(f),this.onCopyFinish(f);else if(this.settings.rectImageFormat==="file"){let g=await this.app.fileManager.getAvailablePathForAttachment(l.basename+"."+x,"");f=(!this.app.vault.getConfig("useMarkdownLinks")?`![[${g}]]`:`![](${Rr(g)})`)+`
`+p.slice(1),await navigator.clipboard.writeText(f);let y=async()=>{(i.containerEl.win!==window||m.destroyed)&&(m=await(await this.lib.loadPDFDocument(l)).getPage(r));let F=await this.lib.pdfPageToImageArrayBuffer(m,{type:`image/${x}`,cropRect:o,renderParams:this.lib.getOptionalRenderParameters()});return await this.app.vault.createBinary(g,F)};a?(await y(),this.onCopyFinish(f)):this.onCopyFinish(f,y)}else f=`![](${await this.lib.pdfPageToImageDataUrl(m,{type:`image/${x}`,cropRect:o})})`+`
`+p.slice(1),await navigator.clipboard.writeText(f),this.onCopyFinish(f);this.plugin.lastCopiedDestInfo={file:l,destArray:[r-1,"FitR",...o]},d==null||d.setStatus("Link copied",this.statusDurationMs),await this.autoFocusOrAutoPaste(f,a,d!=null?d:void 0)})()}return!0}copyLinkToSearch(t,i,r,o,s,a){if(!i.file)return!1;let c=i.file,l=this.lib.getColorPaletteFromChild(i);if(!t){let d=this.lib.copyLink.getDisplayText(i,void 0,c,r,o),h=this.lib.generateMarkdownLink(c,"",`#search=${o}`,d).slice(1);(async()=>(await navigator.clipboard.writeText(h),this.onCopyFinish(h),l==null||l.setStatus("Link copied",this.statusDurationMs),await this.autoFocusOrAutoPaste(h,s,l!=null?l:void 0)))()}return!0}makeCanvasTextNodeFromSelection(t,i,r,o){var a;let s=this.getTemplateVariables(o?{color:o.toLowerCase()}:{});if(s){let{child:c,file:l,subpath:d,page:h,text:u}=s;if(!u)return!1;if(!t){let p=this.getTextToCopy(c,r,void 0,l,h,d,u,(a=o==null?void 0:o.toLowerCase())!=null?a:"");i.createTextNode({pos:i.posCenter(),position:"center",text:p})}return!0}return!1}makeCanvasTextNodeFromAnnotation(t,i,r,o,s,a){let c=r.file;if(!c)return!1;if(!t){let l=r.getPage(s);r.getAnnotatedText(l,a).then(d=>{let h=this.getTextToCopy(r,o,void 0,c,s,`#page=${s}&annotation=${a}`,d!=null?d:"","");i.createTextNode({pos:i.posCenter(),position:"center",text:h})})}return!0}async autoPaste(t){let i=this.getAutoFocusOrAutoPasteTarget(this.settings.autoPasteTarget);if(i)return await this.pasteTextToFile(t,i),!0;if(!this.settings.executeCommandWhenTargetNotIdentified)return!1;let r=this.app.commands.findCommand(this.settings.commandToExecuteWhenTargetNotIdentified);if(!r)return new Wi.Notice(`${this.plugin.manifest.name}: Command "${this.settings.commandToExecuteWhenTargetNotIdentified}" was not found. Please update the "Command to execute when pasting a link for the first time with auto-focus or auto-paste" setting.`),!1;let o=!1;return new Promise(s=>{let a=this.app.workspace.on("file-open",async l=>{l&&l.extension==="md"&&(this.app.workspace.offref(a),await this.pasteTextToFile(t,l,!0),this.plugin.lastPasteFile=l,s(!0))}),c=this.lib.workspace.hoverEditor;this.plugin.registerOneTimeEvent(this.app.workspace,"active-leaf-change",l=>{l&&c.isHoverEditorLeaf(l)&&c.postProcessHoverEditorLeaf(l)}),this.app.commands.executeCommandById(r.id),activeWindow.setTimeout(()=>{if(!o){let{noticeEl:l}=new Wi.Notice(`${this.plugin.manifest.name}: Could not find the auto-paste target markdown file within ${this.settings.autoPasteTargetDialogTimeoutSec} seconds.`);l.appendText(" Click "),l.createEl("a",{text:"here"},d=>{d.addEventListener("click",()=>{this.plugin.openSettingTab().scrollTo("autoPasteTargetDialogTimeoutSec")})}),l.appendText(" to change the timeout duration."),this.app.workspace.offref(a),s(!1)}},this.settings.autoPasteTargetDialogTimeoutSec*1e3)}).then(s=>(o=!0,s))}async autoFocus(){let t=this.getAutoFocusOrAutoPasteTarget(this.settings.autoFocusTarget);if(t){let{leaf:o,isExistingLeaf:s}=await this.prepareMarkdownLeafForPaste(t);return o&&o.view instanceof Wi.MarkdownView&&await this.updateAndRevealCursorInEditor(o.view,{focus:!0,goEnd:!s}),!0}if(!this.settings.executeCommandWhenTargetNotIdentified)return!1;let i=this.app.commands.findCommand(this.settings.commandToExecuteWhenTargetNotIdentified);if(!i)return new Wi.Notice(`${this.plugin.manifest.name}: Command "${this.settings.commandToExecuteWhenTargetNotIdentified}" was not found. Please update the "Command to execute when pasting a link for the first time with auto-focus or auto-paste" setting.`),!1;let r=this.lib.workspace.hoverEditor;return this.plugin.registerOneTimeEvent(this.app.workspace,"active-leaf-change",o=>{o&&r.isHoverEditorLeaf(o)&&r.postProcessHoverEditorLeaf(o)}),this.app.commands.executeCommandById(i.id)}getAutoFocusOrAutoPasteTarget(t){let i=this.plugin.lastActiveMarkdownFile,r=this.plugin.lastPasteFile,o=!!(i&&this.lib.workspace.isMarkdownFileOpened(i)),s=null;return t==="last-paste"?s=r:t==="last-active"?s=i:t==="last-active-and-open"?o&&(s=i):t==="last-paste-then-last-active"?s=r!=null?r:i:t==="last-paste-then-last-active-and-open"?r?s=r:o&&(s=i):t==="last-active-and-open-then-last-paste"&&(o?s=i:r&&(s=r)),s&&s.extension==="md"?s:null}async prepareMarkdownLeafForPaste(t){let i=this.lib.workspace.getExistingLeafForMarkdownFile(t),r=!!i;if(!i&&this.settings.openAutoFocusTargetIfNotOpened){let o=this.settings.howToOpenAutoFocusTargetIfNotOpened;if(o==="hover-editor"){let s=await this.lib.workspace.hoverEditor.createNewHoverEditorLeaf({hoverPopover:null},null,t.path,"");s&&(i=s)}else i=this.lib.workspace.getLeaf(o),await i.openFile(t,{active:!1});if(i&&this.settings.openAutoFocusTargetInEditingView){await this.lib.workspace.ensureViewLoaded(i);let s=i.view;s instanceof Wi.MarkdownView&&(await s.setState({mode:"source"},{history:!1}),s.setEphemeralState({focus:!1}))}}return i&&(await this.lib.workspace.ensureViewLoaded(i),this.lib.workspace.hoverEditor.postProcessHoverEditorLeaf(i),this.settings.closeSidebarWhenLostFocus&&this.lib.workspace.registerHideSidebar(i)),{leaf:i,isExistingLeaf:r}}async pasteTextToFile(t,i,r=!1){let{leaf:o,isExistingLeaf:s}=await this.prepareMarkdownLeafForPaste(i);if(!r&&o&&s&&o.view instanceof Wi.MarkdownView&&o.view.getMode()==="source"){let a=o.view,c=a.editor;if(this.settings.respectCursorPositionWhenAutoPaste)c.replaceSelection(t);else{let l=c.getValue();l=l.trimEnd(),l&&(l+=this.settings.blankLineAboveAppendedContent?`
`:`
`),l+=t,c.setValue(l)}a.save(),await this.updateAndRevealCursorInEditor(o.view,{focus:this.settings.focusEditorAfterAutoPaste,goEnd:!this.settings.respectCursorPositionWhenAutoPaste})}else await this.app.vault.process(i,a=>(a=a.trimEnd(),a&&(a+=this.settings.blankLineAboveAppendedContent?`
`:`
`),a+=t,a)),o&&activeWindow.setTimeout(async()=>{o.view instanceof Wi.MarkdownView&&await this.updateAndRevealCursorInEditor(o.view,{focus:this.settings.focusEditorAfterAutoPaste,goEnd:!0})})}async updateAndRevealCursorInEditor(t,i){let{focus:r,goEnd:o}=i,s=t.editor;r&&(o&&s.exec("goEnd"),await this.lib.workspace.revealLeaf(t.leaf),this.app.workspace.setActiveLeaf(t.leaf),s.focus());let a=s.coordsAtPos(s.getCursor(),!0);if(a){let c=s.getScrollInfo();if(a.top<c.top||a.top>c.top+c.clientHeight){let l={from:s.getCursor("from"),to:s.getCursor("to")};s.scrollIntoView(l,!0)}}}watchPaste(t,i){this.plugin.registerOneTimeEvent(this.app.workspace,"editor-paste",(r,o,s)=>{var d;if(((d=s.file)==null?void 0:d.extension)!=="md"||!r.clipboardData)return;let c=r.clipboardData.getData("text/plain").replace(/\r\n/g,`
`),l=t.replace(/\r\n/g,`
`);c===l&&(this.plugin.lastPasteFile=s.file,i==null||i()),s instanceof Wi.MarkdownView&&setTimeout(()=>s.save())})}onCopyFinish(t,i){this.watchPaste(t,i),this.plugin.lastCopiedDestInfo=null}async autoFocusOrAutoPaste(t,i,r){if(i||this.settings.autoPaste)if(await this.autoPaste(t)){if(r==null||r.setStatus("Link copied & pasted",this.statusDurationMs),!this.settings.focusEditorAfterAutoPaste&&this.settings.clearSelectionAfterAutoPaste){let s=activeWindow.getSelection();s&&this.lib.copyLink.getPageAndTextRangeFromSelection(s)&&s.empty()}}else r==null||r.setStatus("Link copied but paste target not identified",this.statusDurationMs);else this.settings.autoFocus&&(await this.autoFocus()||r==null||r.setStatus("Link copied but paste target not identified",this.statusDurationMs))}};var Qu=class extends Ae{computeMergedHighlightRects(e,t,i,r,o){let{textContentItems:s,textDivs:a}=e,c=[],l=null,d=[];o===0&&(r--,o=s[r].str.length);for(let h=t;h<=r;h++){let u=s[h],p=a[h];if(!u.str)continue;let f=this.computeHighlightRectForItem(u,p,h,t,i,r,o);f&&(l?this.areRectanglesMergeable(l,f)?(l=this.mergeRectangles(l,f),d.push(h)):(c.push({rect:l,indices:d}),l=f,d=[h]):(l=f,d=[h]))}return l&&c.push({rect:l,indices:d}),c}computeHighlightRectForItem(e,t,i,r,o,s,a){return e.chars&&e.chars.length>=e.str.length?this.computeHighlightRectForItemFromChars(e,i,r,o,s,a):this.computeHighlightRectForItemFromTextLayer(e,t,i,r,o,s,a)}computeHighlightRectForItemFromChars(e,t,i,r,o,s){let a=e.chars.slice(e.chars.findIndex(u=>u.c===e.str.charAt(0)),e.chars.findLastIndex(u=>u.c===e.str.charAt(e.str.length-1))+1),c=t===i?r:0,l=(t===o?Math.min(s,a.length):a.length)-1;if(c>a.length-1||l<0)return null;let d=a[c],h=a[l];return[Math.min(d.r[0],h.r[0]),Math.min(d.r[1],h.r[1]),Math.max(d.r[2],h.r[2]),Math.max(d.r[3],h.r[3])]}computeHighlightRectForItemFromTextLayer(e,t,i,r,o,s,a){let c=e.transform[4],l=e.transform[5],d=e.transform[4]+e.width,h=e.transform[5]+e.height,u=t.doc.createRange();if(i===r){let m=Kn(t,o);m?u.setStart(m.node,m.offset):u.setStartBefore(t)}else u.setStartBefore(t);if(i===s){let m=Kn(t,a);m?u.setEnd(m.node,m.offset):u.setEndAfter(t)}else u.setEndAfter(t);let p=u.getBoundingClientRect(),f=t.getBoundingClientRect();return[c+(p.left-f.left)/f.width*e.width,l+(p.bottom-f.bottom)/f.height*e.height,d-(f.right-p.right)/f.width*e.width,h-(f.top-p.top)/f.height*e.height]}areRectanglesMergeable(e,t){return this.areRectanglesMergeableHorizontally(e,t)||this.areRectanglesMergeableVertically(e,t)}areRectanglesMergeableHorizontally(e,t){let[i,r,o,s]=e,[a,c,l,d]=t,h=(r+s)/2,u=(c+d)/2,p=Math.abs(s-r),f=Math.abs(d-c),m=Math.max(p,f)*.5;return Math.abs(h-u)<m}areRectanglesMergeableVertically(e,t){let[i,r,o,s]=e,[a,c,l,d]=t,h=Math.abs(o-i),u=Math.abs(l-a),p=Math.abs(s-r),f=Math.abs(d-c),m=Math.max(h,u)*.1;return Math.abs(i-a)<m&&Math.abs(o-l)<m&&p/h>.85&&f/u>.85}mergeRectangles(...e){let t=e.map(s=>s[0]),i=e.map(s=>s[1]),r=e.map(s=>s[2]),o=e.map(s=>s[3]);return[Math.min(...t),Math.min(...i),Math.max(...r),Math.max(...o)]}rectsToQuadPoints(e){return e.flatMap(([t,i,r,o])=>[t,o,r,o,t,i,r,i])}};var $u=require("obsidian");var e0=class extends Ae{getPDFPlusBacklinkHighlightLayer(e){var i;let t=e.div;return(i=t.querySelector("div.pdf-plus-backlink-highlight-layer"))!=null?i:t.createDiv("pdf-plus-backlink-highlight-layer",r=>{window.pdfjsLib.setLayerDimensions(r,e.viewport)})}placeRectInPage(e,t){let i=t.pdfPage.view,r=i[0],o=i[1],s=i[2]-i[0],a=i[3]-i[1],c=window.pdfjsLib.Util.normalizeRect([e[0],i[3]-e[1]+i[1],e[2],i[3]-e[3]+i[1]]),d=this.getPDFPlusBacklinkHighlightLayer(t).createDiv("pdf-plus-backlink");return d.setCssStyles({left:`${100*(c[0]-r)/s}%`,top:`${100*(c[1]-o)/a}%`,width:`${100*(c[2]-c[0])/s}%`,height:`${100*(c[3]-c[1])/a}%`}),d}highlightSubpath(e,t){var i,r,o;if(((i=e.subpathHighlight)==null?void 0:i.type)==="text"){let s=new $u.Component;s.load(),this.lib.onTextLayerReady(e.pdfViewer,s,a=>{var d;if(((d=e.subpathHighlight)==null?void 0:d.type)!=="text")return;let{page:c,range:l}=e.subpathHighlight;c===a&&(e.highlightText(c,l),t>0&&setTimeout(()=>{e.clearTextHighlight()},t*1e3),s.unload())})}else if(((r=e.subpathHighlight)==null?void 0:r.type)==="annotation"){let s=new $u.Component;s.load(),this.lib.onAnnotationLayerReady(e.pdfViewer,s,a=>{var d;if(((d=e.subpathHighlight)==null?void 0:d.type)!=="annotation")return;let{page:c,id:l}=e.subpathHighlight;c===a&&(e.highlightAnnotation(c,l),t>0&&setTimeout(()=>e.clearAnnotationHighlight(),t*1e3),s.unload())})}else if(((o=e.subpathHighlight)==null?void 0:o.type)==="rect"){let s=new $u.Component;s.load(),this.lib.onPageReady(e.pdfViewer,s,a=>{var d;if(((d=e.subpathHighlight)==null?void 0:d.type)!=="rect")return;let{page:c,rect:l}=e.subpathHighlight;c===a&&(this.highlightRect(e,c,l),t>0&&setTimeout(()=>{this.clearRectHighlight(e)},t*1e3),s.unload())})}}highlightRect(e,t,i){if(this.clearRectHighlight(e),1<=t&&t<=e.pdfViewer.pagesCount){let r=e.getPage(t);r!=null&&r.div.dataset.loaded&&(e.rectHighlight=this.placeRectInPage(i,r),e.rectHighlight.addClass("rect-highlight"),this.settings.zoomToFitRect||activeWindow.setTimeout(()=>{window.pdfjsViewer.scrollIntoView(e.rectHighlight,{top:-this.settings.embedMargin})}))}}clearRectHighlight(e){e.rectHighlight&&(e.rectHighlight.detach(),e.rectHighlight=null)}};var c1=require("obsidian");var t0=class extends Ae{async addTextMarkupAnnotation(e,t,i,r,o,s){if(!this.plugin.settings.author)throw new Error(`${this.plugin.manifest.name}: The author name is not set. Please set it in the plugin settings.`);return await this.process(e,a=>{let c=a.getPage(t-1),{r:l,g:d,b:h}=this.plugin.domManager.getRgb(o),u=tg(),p=this.lib.highlight.geometry,f=this.addAnnotation(c,{Subtype:r,Rect:p.mergeRectangles(...i),QuadPoints:p.rectsToQuadPoints(i),Contents:j.fromText(s!=null?s:""),M:ee.fromDate(new Date),T:j.fromText(this.plugin.settings.author),CA:r==="Highlight"?this.plugin.settings.writeHighlightToFileOpacity:1,Border:r==="Highlight"?[u,u,0]:void 0,C:[l/255,d/255,h/255]});return Wc(f.objectNumber,f.generationNumber)})}async addHighlightAnnotation(e,t,i,r,o){return await this.addTextMarkupAnnotation(e,t,i,"Highlight",r,o)}async addLinkAnnotation(e,t,i,r,o,s){return await this.process(e,a=>{let c=a.getPage(t-1),l=Or(this.plugin.settings.pdfLinkColor),{r:d,g:h,b:u}=l!=null?l:{r:0,g:0,b:0},p=this.lib.highlight.geometry,f;typeof r=="string"?f=ee.of(r):f=[a.getPage(r[0]).ref,r[1],...r.slice(2).map(b=>typeof b=="number"?K.of(b):Ve)];let m=this.addAnnotation(c,{Subtype:"Link",Rect:p.mergeRectangles(...i),QuadPoints:p.rectsToQuadPoints(i),Dest:f,M:ee.fromDate(new Date),Border:[0,0,this.plugin.settings.pdfLinkBorder?1:0],C:[d/255,h/255,u/255]});return Wc(m.objectNumber,m.generationNumber)})}async process(e,t){let i=await this.lib.loadPdfLibDocument(e),r=await t(i);return await this.app.vault.modifyBinary(e,await i.save()),r}async read(e,t){let i=await this.lib.loadPdfLibDocument(e);return await t(i)}addAnnotation(e,t){let i=e.doc.context,r=i.register(i.obj({Type:"Annot",...t}));return e.node.addAnnot(r),r}async deleteAnnotation(e,t,i){await this.process(e,r=>{let o=r.getPage(t-1),s=this.findAnnotationRef(o,i);s&&o.node.removeAnnot(s)})}async getAnnotationContents(e,t,i){let r=await this.getAnnotation(e,t,i);if(r){let o=this.getContentsFromAnnotation(r);return o!=null?o:null}return null}async setAnnotationContents(e,t,i,r){await this.processAnnotation(e,t,i,o=>{this.setContentsToAnnotation(o,r)})}async getAnnotationColor(e,t,i){var o;let r=await this.getAnnotation(e,t,i);return r&&(o=this.getColorFromAnnotation(r))!=null?o:null}async setAnnotationColor(e,t,i,r){await this.processAnnotation(e,t,i,async o=>{this.setColorToAnnotation(o,r)})}async getAnnotationOpacity(e,t,i){var o;let r=await this.getAnnotation(e,t,i);return r&&(o=this.getOpacityFromAnnotation(r))!=null?o:null}async setAnnotationOpacity(e,t,i,r){await this.processAnnotation(e,t,i,async o=>{this.setOpacityToAnnotation(o,r)})}findAnnotationRef(e,t){var i;return(i=e.node.Annots())==null?void 0:i.asArray().find(r=>r instanceof Y&&Wc(r.objectNumber,r.generationNumber)===t)}async getAnnotation(e,t,i){return await this.read(e,r=>{let o=r.getPage(t-1),s=this.findAnnotationRef(o,i);return s?o.node.context.lookup(s,G):null})}async processAnnotation(e,t,i,r){return await this.process(e,async o=>{let s=o.getPage(t-1),a=this.findAnnotationRef(s,i);if(a){let c=s.node.context.lookup(a,G);await r(c)}})}getColorFromAnnotation(e){if(!e.get(w.of("AP"))){let i=e.get(w.of("C"));if(i instanceof X){let r=i.asArray();if(r.length===3){let[o,s,a]=r.map(c=>{if(c instanceof K)return Math.round(c.asNumber()*255);throw new Error(`${this.plugin.manifest.name}: Invalid color`)});return{r:o,g:s,b:a}}}}}setColorToAnnotation(e,t){let i=e.get(w.of("C"));i instanceof X&&(i.set(0,K.of(t.r/255)),i.set(1,K.of(t.g/255)),i.set(2,K.of(t.b/255)))}getContentsFromAnnotation(e){let t=e.get(w.of("Contents"));if(t instanceof ee||t instanceof j)return t.decodeText()}setContentsToAnnotation(e,t){e.set(w.of("Contents"),j.fromText(t))}getOpacityFromAnnotation(e){if(!e.get(w.of("AP"))){let i=e.get(w.of("CA"));if(i instanceof K)return i.asNumber()}}setOpacityToAnnotation(e,t){e.set(w.of("CA"),K.of(t))}getAuthorFromAnnotation(e){let t=e.get(w.of("T"));if(t instanceof ee||t instanceof j)return t.decodeText()}setAuthorToAnnotation(e,t){e.set(w.of("T"),j.fromText(t))}getBorderWidthFromAnnotation(e){let t=e.get(w.of("Border"));if(t instanceof X){let i=t.asArray()[2];if(i instanceof K)return i.asNumber()}}setBorderWidthToAnnotation(e,t){let i=e.get(w.of("Border"));i instanceof X&&i.set(2,K.of(t))}};var i0=class extends Ae{constructor(e){super(e),this.pdflib=new t0(e)}getPdfIo(){return this.pdflib}async addTextMarkupAnnotationToSelection(e,t){return this.addAnnotationToSelection(async(i,r,o)=>await this.getPdfIo().addTextMarkupAnnotation(i,r,o,e,t))}async addLinkAnnotationToSelection(e){return this.addAnnotationToSelection(async(t,i,r)=>await this.getPdfIo().addLinkAnnotation(t,i,r,e))}async addAnnotationToSelection(e){let t=activeWindow.getSelection();if(!t)return null;let i=this.lib.copyLink.getPageAndTextRangeFromSelection(t);if(!i||!i.selection)return null;let{page:r,selection:{beginIndex:o,beginOffset:s,endIndex:a,endOffset:c}}=i,l=this.lib.getPDFViewerChildFromSelection(t);return l?{child:l,file:l.file,page:r,...await this.addAnnotationToTextRange(e,l,r,o,s,a,c)}:null}async addAnnotationToTextRange(e,t,i,r,o,s,a){if(t.file&&1<=i&&i<=t.pdfViewer.pagesCount){let c=t.getPage(i);if(c!=null&&c.textLayer&&c.div.dataset.loaded){let l=wt(c.textLayer);if(l){let h=this.lib.highlight.geometry.computeMergedHighlightRects(l,r,o,s,a).map(({rect:p})=>p),u;try{u=await e(t.file,i,h)}catch(p){new c1.Notice(`${this.plugin.manifest.name}: An error occurred while attemping to add an annotation.`),console.error(p)}return{annotationID:u,rects:h}}}}}async deleteAnnotation(e,t,i){await this.getPdfIo().deleteAnnotation(e,t,i)}async getAnnotationContents(e,t,i){return await this.getPdfIo().getAnnotationContents(e,t,i)}async setAnnotationContents(e,t,i,r){return await this.getPdfIo().setAnnotationContents(e,t,i,r)}};var n0=class extends Ae{async getAnnotatedTextsInDocument(e){let t=new Map;for(let i=1;i<=e.numPages;i++){let r=await e.getPage(i),o=await this.getAnnotatedTextsInPage(r);t.set(i,o)}return t}async getAnnotatedTextsInPage(e){var o;let[{items:t},i]=await Promise.all([e.getTextContent({includeChars:!0}),e.getAnnotations()]),r=[];for(let s of i){if(!["Highlight","Underline","Squiggly","StrikeOut"].includes(s.subtype))continue;let c=lg(s.quadPoints);if(!c.length)continue;let l=c.map(u=>this.getTextByRect(t,u)),d=s.color?{r:s.color[0],g:s.color[1],b:s.color[2]}:null,h=(o=s.contentsObj)==null?void 0:o.str;r.push({id:s.id,textRanges:l,rgb:d,comment:h,left:c[0][0],top:c[0][3]})}return new Map(r.sort((s,a)=>{if(s.textRanges.length&&a.textRanges.length){let c=s.textRanges[0].from,l=a.textRanges[0].from;return c.index-l.index||c.offset-l.offset}return a.top-s.top||s.left-a.left}).map(s=>{let a=s.textRanges.map(c=>c.text).join(`
`);return a=this.lib.toSingleLine(a),[s.id,{text:a,rgb:s.rgb,comment:s.comment}]}))}getTextByRect(e,t){let[i,r,o,s]=t,a="",c={index:-1,offset:-1},l={index:-1,offset:-1};for(let d=0;d<e.length;d++){let h=e[d];if(h.chars&&h.chars.length)for(let u=0;u<h.chars.length;u++){let p=h.chars[u],f=(p.r[0]+p.r[2])/2,m=(p.r[1]+p.r[3])/2;i<=f&&f<=o&&r<=m&&m<=s&&(a+=p.u,c.index===-1&&c.offset===-1&&(c={index:d,offset:u}),l={index:d,offset:u+1})}}return{text:a,from:c,to:l}}};var r0=class extends Ae{constructor(t){super(t);this.plugin=t;this.geometry=new Qu(t),this.viewer=new e0(t),this.writeFile=new i0(t),this.extract=new n0(t)}};var Je=require("obsidian");function CC(n){return["tab","split","window"].contains(n)}function SC(n){return["right","left","down","up"].contains(n)}function d1(n){return["right-sidebar","left-sidebar"].contains(n)}var o0=class extends Ae{constructor(...e){super(...e),this.hoverEditor=new $g(...e)}iteratePDFViews(e){this.app.workspace.iterateAllLeaves(t=>{let i=t.view;this.lib.isPDFView(i)&&e(i)})}iterateBacklinkViews(e){this.app.workspace.getLeavesOfType("backlink").forEach(t=>e(t.view))}iterateCanvasViews(e){this.app.workspace.iterateAllLeaves(t=>{let i=t.view;this.lib.isCanvasView(i)&&e(i)})}iteratePDFEmbeds(e){this.app.workspace.iterateAllLeaves(t=>{let i=t.view;i instanceof Je.MarkdownView?this.lib.getAllPDFEmbedsInMarkdownView(i).forEach(e):this.lib.isCanvasView(i)&&this.lib.getAllPDFEmbedsInCanvasView(i).forEach(e)})}iteratePDFViewerComponents(e){this.app.workspace.iterateAllLeaves(t=>{let i=t.view;this.lib.isPDFView(i)?e(i.viewer,i.file):i instanceof Je.MarkdownView?this.lib.getAllPDFEmbedsInMarkdownView(i).forEach(r=>e(r.viewer,r.file)):this.lib.isCanvasView(i)&&this.lib.getAllPDFEmbedsInCanvasView(i).forEach(r=>e(r.viewer,r.file))})}iteratePDFViewerChild(e){this.iteratePDFViewerComponents(t=>{t.then(i=>e(i))})}getActivePDFView(){var t;if(this.plugin.classes.PDFView)return this.app.workspace.getActiveViewOfType(this.plugin.classes.PDFView);let e=(t=this.app.workspace.activeLeaf)==null?void 0:t.view;return e&&this.lib.isPDFView(e)?e:null}getActiveCanvasView(){var t;let e=(t=this.app.workspace.activeLeaf)==null?void 0:t.view;return e&&this.lib.isCanvasView(e)?e:null}getExistingLeafForPDFFile(e){return this.getExistingLeafForFile(e)}getActiveGroupLeaves(){var t;let e=(t=this.app.workspace.activeLeaf)==null?void 0:t.group;return e?this.app.workspace.getGroupLeaves(e):null}async openMarkdownLinkFromPDF(e,t,i,r){var a;let o;i?o=this.app.workspace.getLeaf(i):d1(this.settings.paneTypeForFirstMDLeaf)&&this.settings.alwaysUseSidebar?o=this.getMarkdownLeafInSidebar(this.settings.paneTypeForFirstMDLeaf):o=this.getMarkdownLeafForLinkFromPDF(e,t);let s={};if(r){if("pos"in r){let{pos:c}=r;s.eState={line:c.start.line,startLoc:c.start,endLoc:c.end}}else{let{line:c}=r;s.eState={line:c}}s.eState.scroll=s.eState.line,s.eState.focus=!this.settings.dontActivateAfterOpenMD}o.parentSplit instanceof Je.WorkspaceTabs&&o.parentSplit===((a=this.app.workspace.activeLeaf)==null?void 0:a.parentSplit)||(s.active=!this.plugin.settings.dontActivateAfterOpenMD),await o.openLinkText(e,t,s),await this.revealLeaf(o)}getMarkdownLeafInSidebar(e){var t;return this.settings.singleMDLeafInSidebar?(t=this.lib.workspace.getExistingMarkdownLeafInSidebar(e))!=null?t:this.lib.workspace.getNewLeafInSidebar(e):this.lib.workspace.getNewLeafInSidebar(e)}getMarkdownLeafForLinkFromPDF(e,t){var a;let{path:i}=(0,Je.parseLinktext)(e),r=this.app.metadataCache.getFirstLinkpathDest(i,t),o,s;return this.app.workspace.iterateAllLeaves(c=>{if(o)return;let l=!0;if(c.view.getViewType()==="markdown"){let d=c.getRoot();for(let h of this.settings.ignoreExistingMarkdownTabIn)if(d===this.app.workspace[h])return;c.parentSplit instanceof Je.WorkspaceTabs&&c.parentSplit.children.some(u=>{if(u instanceof Je.WorkspaceLeaf&&u.view.getViewType()==="pdf")return this.getFilePathFromView(u.view)===t})&&(l=!1),l&&(s=c.parentSplit),r&&this.getFilePathFromView(c.view)===r.path&&(o=c)}}),o||(d1(this.settings.paneTypeForFirstMDLeaf)&&this.settings.singleMDLeafInSidebar&&s&&this.isInSidebar(s)?o=(a=this.getExistingMarkdownLeafInSidebar(this.settings.paneTypeForFirstMDLeaf))!=null?a:this.lib.workspace.getNewLeafInSidebar(this.settings.paneTypeForFirstMDLeaf):o=s?this.app.workspace.createLeafInParent(s,-1):this.getLeaf(this.plugin.settings.paneTypeForFirstMDLeaf)),o}isInSidebar(e){let t=e.getRoot();return t===this.app.workspace.rightSplit||t===this.app.workspace.leftSplit}getLeaf(e){return e===""&&(e=!1),typeof e=="boolean"||CC(e)?this.app.workspace.getLeaf(e):SC(e)?this.getLeafBySplit(e):this.getLeafInSidebar(e)}getLeafBySplit(e){let t=this.app.workspace.getMostRecentLeaf();if(t){if(["right","left"].contains(e))return this.app.workspace.createLeafBySplit(t,"vertical",e==="left");if(["down","up"].contains(e))return this.app.workspace.createLeafBySplit(t,"horizontal",e==="up")}return this.app.workspace.createLeafInParent(this.app.workspace.rootSplit,0)}getLeafInSidebar(e){return this.getNewLeafInSidebar(e)}getExistingMarkdownLeafInSidebar(e){let t,i=e==="right-sidebar"?this.app.workspace.rightSplit:this.app.workspace.leftSplit;return this.app.workspace.iterateAllLeaves(r=>{t||r.getRoot()!==i||r.view.getViewType()==="markdown"&&(t=r)}),t!=null?t:null}getNewLeafInSidebar(e){let t=e==="right-sidebar"?this.app.workspace.getRightLeaf(!1):this.app.workspace.getLeftLeaf(!1);if(!t)throw new Error("No sidebar leaf found");return t}async revealLeaf(e){if((0,Je.requireApiVersion)("1.5.11")){await this.app.workspace.revealLeaf(e);return}if(!Je.Platform.isDesktopApp){this.app.workspace.revealLeaf(e);return}let t=e.getRoot();t instanceof Je.WorkspaceSidedock&&t.collapsed&&t.toggle();let i=e.parent;i instanceof Je.WorkspaceTabs&&i.selectTab(e),e.getContainer().focus()}openPDFLinkTextInLeaf(e,t,i,r){let{subpath:o}=(0,Je.parseLinktext)(t);return this.plugin.patchStatus.pdfInternals||(this.plugin.subpathWhenPatched=o),e.openLinkText(t,i,r).then(async()=>{await this.revealLeaf(e);let s=e.view;this.lib.isPDFView(s)&&s.viewer.then(a=>{let c=this.plugin.settings.highlightDuration;this.lib.highlight.viewer.highlightSubpath(a,c)})})}openPDFLinkTextInExistingLeafForTargetPDF(e,t,i,r){var a,c;if(!r){let{path:l}=(0,Je.parseLinktext)(e);r=(a=this.app.metadataCache.getFirstLinkpathDest(l,t))!=null?a:void 0}if(!r)return{exists:!1,promise:Promise.resolve()};let o=this.getExistingLeafForPDFFile(r);return o?(o.parentSplit instanceof Je.WorkspaceTabs&&o.parentSplit===((c=this.app.workspace.activeLeaf)==null?void 0:c.parentSplit)||(i=i!=null?i:{},i.active=!this.settings.dontActivateAfterOpenPDF),o.isVisible()&&this.settings.highlightExistingTab&&(o.containerEl.addClass("pdf-plus-link-opened","is-highlighted"),setTimeout(()=>o.containerEl.removeClass("pdf-plus-link-opened","is-highlighted"),this.settings.existingTabHighlightDuration*1e3)),{exists:!0,promise:this.openPDFLinkTextInLeaf(o,e,t,i)}):{exists:!1,promise:Promise.resolve()}}getExistingLeafForFile(e){let t=this.app.viewRegistry.getTypeByExtension(e.extension);if(!t)return null;let i=null;return this.app.workspace.iterateAllLeaves(r=>{i||r.view.getViewType()===t&&this.getFilePathFromView(r.view)===e.path&&(i=r)}),i}getExistingLeafForMarkdownFile(e){return this.getExistingLeafForFile(e)}isMarkdownFileOpened(e){return!!this.getExistingLeafForMarkdownFile(e)}registerHideSidebar(e){let t=e.getRoot();if(t===this.app.workspace.leftSplit||t===this.app.workspace.rightSplit){let i=t,r=this.app.workspace.on("active-leaf-change",o=>{o&&o.getRoot()!==i&&(i.collapse(),this.app.workspace.offref(r))})}}getFilePathFromView(e){let t=e.getState().file;return typeof t=="string"?t:null}async ensureViewLoaded(e){(0,Je.requireApiVersion)("1.7.2")&&await e.loadIfDeferred()}},$g=class extends Ae{get hoverEditorPlugin(){var e;return(e=this.app.plugins.plugins["obsidian-hover-editor"])!=null?e:null}get waitTime(){var e;return(e=this.hoverEditorPlugin)==null?void 0:e.settings.triggerDelay}isHoverEditorLeaf(e){return e.containerEl.closest(".popover.hover-popover.hover-editor")!==null}async createNewHoverEditorLeaf(e,t,i,r,o){return this.hoverEditorPlugin?new Promise(s=>{var c;let a=this.app.workspace.on("active-leaf-change",l=>{l&&this.isHoverEditorLeaf(l)&&(this.app.workspace.offref(a),s(l))});this.app.workspace.trigger("link-hover",e,t,i,r,o),window.setTimeout(()=>{this.app.workspace.offref(a),s(null)},((c=this.waitTime)!=null?c:300)+300)}):null}iterateHoverEditorLeaves(e){this.app.workspace.iterateAllLeaves(t=>{this.isHoverEditorLeaf(t)&&e(t)})}getHoverEditorForLeaf(e){var t,i;return(i=(t=this.hoverEditorPlugin)==null?void 0:t.activePopovers.find(r=>r.hoverEl.contains(e.containerEl)))!=null?i:null}postProcessHoverEditorLeaf(e){if(this.isHoverEditorLeaf(e)){let t=this.getHoverEditorForLeaf(e);if(t&&(t.hoverEl.hasClass("is-minimized")&&t.toggleMinimized(),this.settings.closeHoverEditorWhenLostFocus)){let i=this.app.workspace.on("active-leaf-change",r=>{r!==e&&(t.hide(),this.app.workspace.offref(i))})}}}};var ct=require("obsidian");var rd=require("obsidian");var s0=class extends it{onOpen(){var e;super.onOpen(),this.containerEl.addClass("pdf-plus-restore-default-modal"),this.titleEl.setText(`${this.plugin.manifest.name}: Restore default settings`),this.contentEl.createEl("p",{text:`This operation will overwrite your PDF++ config file (${((e=this.plugin.manifest.dir)!=null?e:this.app.vault.configDir+"/plugins/"+this.plugin.manifest.id)+"/data.json"}). You may want to back up the file before proceeding.`}),this.contentEl.createDiv("modal-button-container",t=>{new rd.ButtonComponent(t).setButtonText("I understand, restore default settings").setWarning().onClick(async()=>{await this.plugin.restoreDefaultSettings(),this.close(),new rd.Notice(`${this.plugin.manifest.name}: Default setting restored. Note that some options require a restart to take effect.`,6e3)}),new rd.ButtonComponent(t).setButtonText("Cancel").onClick(()=>{this.close()})}),setTimeout(()=>{let t=this.containerEl.doc.activeElement;t&&t.instanceOf(HTMLButtonElement)&&this.containerEl.contains(t)&&t.blur()})}};var a0=class extends Ae{constructor(...e){super(...e);let t=[{id:"copy-link-to-selection",name:"Copy link to selection or annotation",checkCallback:i=>this.copyLink(i,!1)},{id:"rectangular-selection",name:"Start rectangular selection",checkCallback:i=>this.copyEmbedLinkToRectangularSelection(i,!1)},{id:"context-menu",name:"Show context menu at selection",checkCallback:i=>this.showContextMenu(i)},{id:"extract-annotation-and-copy-links",name:"Extract & copy annotations in this PDF",checkCallback:i=>this.extractHighlightedText(i)},{id:"copy-link-to-page-view",name:"Copy link to current page view",checkCallback:i=>this.copyLinkToPageView(i)},{id:"outline",name:"Show outline",checkCallback:i=>this.showOutline(i)},{id:"thumbnail",name:"Show thumbnail",checkCallback:i=>this.showThumbnail(i)},{id:"close-sidebar",name:"Close PDF sidebar",checkCallback:i=>this.closeSidebar(i)},{id:"toggle-sidebar",name:"Toggle PDF sidebar",checkCallback:i=>this.toggleSidebar(i)},{id:"fit-width",name:"Fit width",checkCallback:i=>this.setScaleValue(i,"page-width")},{id:"fit-height",name:"Fit height",checkCallback:i=>this.setScaleValue(i,"page-height")},{id:"zoom-in",name:"Zoom in",checkCallback:i=>this.zoom(i,!0)},{id:"zoom-out",name:"Zoom out",checkCallback:i=>this.zoom(i,!1)},{id:"adapt-to-theme",name:"Adapt to theme",checkCallback:i=>this.toggleAdaptToTheme(i,!0)},{id:"not-adapt-to-theme",name:"Don't adapt to theme",checkCallback:i=>this.toggleAdaptToTheme(i,!1)},{id:"toggle-adapt-to-theme",name:'Toggle "adapt to theme"',checkCallback:i=>this.toggleAdaptToTheme(i)},{id:"go-to-page",name:"Go to page",checkCallback:i=>this.focusAndSelectPageNumberEl(i)},{id:"copy-format-menu",name:"Show copy format menu",checkCallback:i=>this.showCopyFormatMenu(i)},{id:"display-text-format-menu",name:"Show display text format menu",checkCallback:i=>this.showDisplayTextFormatMenu(i)},{id:"enable-pdf-edit",name:"Enable PDF edit",checkCallback:i=>this.setWriteFile(i,!0)},{id:"disable-pdf-edit",name:"Disable PDF edit",checkCallback:i=>this.setWriteFile(i,!1)},{id:"toggle-auto-focus",name:"Toggle auto-focus",callback:()=>this.toggleAutoFocus()},{id:"toggle-auto-paste",name:"Toggle auto-paste",callback:()=>this.toggleAutoPaste()},{id:"toggle-auto-copy",name:"Toggle auto-copy",callback:()=>this.plugin.autoCopyMode.toggle()},{id:"add-page",name:"Add new page at the end",checkCallback:i=>this.addPage(i)},{id:"insert-page-before",name:"Insert page before this page",checkCallback:i=>this.insertPage(i,!0)},{id:"insert-page-after",name:"Insert page after this page",checkCallback:i=>this.insertPage(i,!1)},{id:"delete-page",name:"Delete this page",checkCallback:i=>this.deletePage(i)},{id:"extract-this-page",name:"Extract this page to a new file",checkCallback:i=>this.extractThisPage(i)},{id:"divide",name:"Divide this PDF into two files at this page",checkCallback:i=>this.dividePDF(i)},{id:"edit-page-labels",name:"Edit page labels",checkCallback:i=>this.editPageLabels(i)},{id:"copy-outline-as-list",name:"Copy PDF outline as markdown list",checkCallback:i=>this.copyOutline(i,"list")},{id:"copy-outline-as-headings",name:"Copy PDF outline as markdown headings",checkCallback:i=>this.copyOutline(i,"heading")},{id:"add-outline-item",name:"Add to outline (bookmark)",checkCallback:i=>this.addOutlineItem(i)},{id:"create-new-note",name:"Create new note for auto-focus or auto-paste",callback:()=>this.createNewNote()},{id:"copy-debug-info",name:"Copy debug info",callback:()=>this.copyDebugInfo()},{id:"load-debug-info",name:"Load debug info",checkCallback:i=>this.loadDebugInfo(i)},{id:"create-pdf",name:"Create new PDF",callback:()=>this.createPDF()},{id:"import",name:"Import this PDF into vault",checkCallback:i=>this.importExternalFileIntoVault(i)},{id:"open-external",name:"Open this PDF in the original location",checkCallback:i=>this.openExternalSource(i)},{id:"create-dummy",name:"Create dummy file for external PDF",callback:()=>this.createDummyForExternalPDF()},{id:"restore-default",name:"Restore default settings",callback:()=>new s0(this.plugin).open()}];this.commands={};for(let i of t)this.commands[i.id]=i}registerCommands(){Object.values(this.commands).forEach(e=>this.plugin.addCommand(e))}getCommand(e){return e.startsWith(this.plugin.manifest.id+":")&&(e=e.slice(this.plugin.manifest.id.length+1)),this.commands[e]}listCommands(){return Object.values(this.commands)}listCommandNames(){return Object.values(this.commands).map(e=>this.stripCommandNamePrefix(e.name))}stripCommandNamePrefix(e){return e.startsWith(this.plugin.manifest.name+": ")?e.slice(this.plugin.manifest.name.length+2):e}copyLink(e,t=!1){return!this.writeHighlightAnnotationToSelectionIntoFileAndCopyLink(e,t)&&!this.copyLinkToAnnotation(e,t)?this.copyLinkToSelection(e,t):!0}createCanvasCard(e){return this.createCanvasCardFromAnnotation(e)?!0:this.createCanvasCardFromSelection(e)}copyLinkToSelection(e,t=!1){let i=this.lib.copyLink.getSelectionLinkInfo();if(!i)return!1;let{template:r,colorName:o}=i;return this.lib.copyLink.copyLinkToSelection(e,{copyFormat:r},o,t)}copyLinkToAnnotation(e,t=!1){let i=this.lib.copyLink.getAnnotationLinkInfo();if(!i)return!1;let{child:r,copyButtonEl:o,template:s,page:a,id:c}=i,l=this.lib.copyLink.copyLinkToAnnotation(r,e,{copyFormat:s},a,c,t);return!e&&l&&(0,ct.setIcon)(o,"lucide-check"),l}writeHighlightAnnotationToSelectionIntoFileAndCopyLink(e,t=!1){var s;let i=this.lib.getColorPaletteAssociatedWithSelection();if(!i||!i.writeFile)return!1;let r=this.settings.copyCommands[i.actionIndex].template,o=(s=i.selectedColorName)!=null?s:void 0;return this.lib.copyLink.writeHighlightAnnotationToSelectionIntoFileAndCopyLink(e,{copyFormat:r},o,t)}copyEmbedLinkToRectangularSelection(e,t){let i=this.lib.getColorPalette();return!i||!i.cropButtonEl?!1:(e||i.startRectangularSelection(t),!0)}createCanvasCardFromSelection(e){var s;let t=(s=this.lib.workspace.getActiveCanvasView())==null?void 0:s.canvas;if(!t)return!1;let i=this.lib.copyLink.getSelectionLinkInfo();if(!i)return!1;let{template:r,colorName:o}=i;return this.lib.copyLink.makeCanvasTextNodeFromSelection(e,t,r,o)}createCanvasCardFromAnnotation(e){var l;let t=(l=this.lib.workspace.getActiveCanvasView())==null?void 0:l.canvas;if(!t)return!1;let i=this.lib.copyLink.getAnnotationLinkInfo();if(!i)return!1;let{child:r,template:o,page:s,id:a}=i;return this.lib.copyLink.makeCanvasTextNodeFromAnnotation(e,t,r,o,s,a)}copyLinkToPageView(e){var r,o,s,a,c;let t=this.lib.getPDFView(!0);if(!t||!t.file)return!1;let i=t.getState();if(typeof i.left!="number"||typeof i.top!="number")return!1;if(!e){let l=`#page=${i.page}`,d;((o=(r=t.viewer.child)==null?void 0:r.pdfViewer.pdfViewer)==null?void 0:o.currentScaleValue)==="page-width"?(l+=`&offset=,${i.top},`,d=[i.page-1,"FitBH",i.top]):(l+=`&offset=${i.left},${i.top},${(s=i.zoom)!=null?s:0}`,d=[i.page-1,"XYZ",i.left,i.top,(a=i.zoom)!=null?a:0]);let u=(c=t.viewer.child)==null?void 0:c.getPageLinkAlias(i.page),p=this.lib.generateMarkdownLink(t.file,"",l,u).slice(1);navigator.clipboard.writeText(p),new ct.Notice(`${this.plugin.manifest.name}: Link copied to clipboard`),this.plugin.lastCopiedDestInfo={file:t.file,destArray:d}}return!0}showOutline(e){var r;let t=this.lib.getObsidianViewer(!0);if(!t)return!1;let i=(r=t.dom)==null?void 0:r.containerEl;if(!t.isEmbed||i&&i.contains(i.doc.activeElement)){let o=t==null?void 0:t.pdfSidebar;if(o)return o.haveOutline?o.isOpen&&o.active===2?this.settings.closeSidebarWithShowCommandIfExist?(e||o.close(),!0):!1:(e||o.switchView(2,!0),!0):!1}return this.settings.executeBuiltinCommandForOutline&&this.app.internalPlugins.plugins.outline.enabled?(e||this.app.commands.executeCommandById("outline:open"),!0):!1}showThumbnail(e){var i;let t=(i=this.lib.getObsidianViewer(!0))==null?void 0:i.pdfSidebar;return t?t.isOpen&&t.active===1?this.settings.closeSidebarWithShowCommandIfExist?(e||t.close(),!0):!1:(e||t.switchView(1,!0),!0):!1}closeSidebar(e){var i;let t=(i=this.lib.getObsidianViewer(!0))==null?void 0:i.pdfSidebar;return!t||!t.isOpen?!1:(e||t.close(),!0)}toggleSidebar(e){var i;let t=(i=this.lib.getObsidianViewer(!0))==null?void 0:i.pdfSidebar;return t?(e||(t.isOpen?t.close():t.open()),!0):!1}setScaleValue(e,t){let i=this.lib.getPDFViewer(!0);return i?(e||(i.currentScaleValue=t),!0):!1}zoom(e,t){var o;let i=this.lib.getObsidianViewer(!0);if(!i)return!1;let r=(o=i.dom)==null?void 0:o.containerEl;if((!i.isEmbed||r&&r.contains(r.doc.activeElement))&&i)return e||(t?i.zoomIn():i.zoomOut()),!0;if(this.settings.executeFontSizeAdjusterCommand){let s=t?"font-size:increment-font-size":"font-size:decrement-font-size";if(this.app.commands.findCommand(s))return e||this.app.commands.executeCommandById(s),!0}if(this.settings.executeBuiltinCommandForZoom){let s=t?"window:zoom-in":"window:zoom-out";return this.app.commands.findCommand(s)?(e||this.app.commands.executeCommandById(s),!0):!1}return!1}toggleAdaptToTheme(e,t){let i=this.lib.getPDFViewerChild(!0);if(!i)return!1;let r=!!this.app.loadLocalStorage("pdfjs-is-themed");return typeof t=="boolean"&&(t&&r||!t&&!r)?!1:(t=t!=null?t:!r,e||(this.app.saveLocalStorage("pdfjs-is-themed",t?"true":null),i.onCSSChange()),!0)}focusAndSelectPageNumberEl(e){let t=this.lib.getToolbar(!0);return t?(e||(t.pageInputEl.focus(),t.pageInputEl.select()),!0):!1}showCopyFormatMenu(e){let t=this.lib.getColorPalette();return!t||!t.actionMenuEl?!1:(e||t.actionMenuEl.click(),!0)}showDisplayTextFormatMenu(e){let t=this.lib.getColorPalette();return!t||!t.displayTextFormatMenuEl?!1:(e||t.displayTextFormatMenuEl.click(),!0)}setWriteFile(e,t){let i=this.lib.getColorPalette();return!i||!this.lib.isEditable(i.child)||i.writeFile===t?!1:(e||i.setWriteFile(t),!0)}toggleAutoFocus(){this.plugin.toggleAutoFocus()}toggleAutoPaste(){this.plugin.toggleAutoPaste()}addPage(e){let t=this.lib.getPDFViewerChild(!0);if(!t||!this.lib.isEditable(t))return!1;let i=t.file;return i?(e||this.lib.composer.addPage(i),!0):!1}insertPage(e,t){let i=this.lib.workspace.getActivePDFView();if(!i||!i.file)return!1;let r=i.file,o=i.viewer.child;if(!o||!this.lib.isEditable(o))return!1;let s=i.getState().page,a=s+(t?0:1);return e||this._insertPage(r,a,s),!0}_insertPage(e,t,i){new Xn(this.plugin,this.settings.askPageLabelUpdateWhenInsertPage,this.settings.pageLabelUpdateWhenInsertPage,!1,!1).ask().then(r=>{this.lib.composer.insertPage(e,t,i,r)})}deletePage(e){let t=this.lib.workspace.getActivePDFView();if(!t||!t.file)return!1;let i=t.file,r=t.viewer.child;if(!r||!this.lib.isEditable(r))return!1;let o=t.getState().page;return e||this._deletePage(i,o),!0}_deletePage(e,t){new vu(e,t,this.plugin).openIfNeccessary().then(()=>{new Xn(this.plugin,this.settings.askPageLabelUpdateWhenDeletePage,this.settings.pageLabelUpdateWhenDeletePage,!1,!1).ask().then(i=>{this.lib.composer.removePage(e,t,i)})})}extractThisPage(e){let t=this.lib.workspace.getActivePDFView();if(!t)return!1;let i=t.file;if(!i)return!1;let r=t.viewer.child;if(!r||!this.lib.isEditable(r))return!1;if(!e){let o=t.getState().page;this._extractPage(i,o)}return!0}_extractPage(e,t){let i=this.lib.getAvailablePathForCopy(e);new Xn(this.plugin,this.settings.askPageLabelUpdateWhenExtractPage,this.settings.pageLabelUpdateWhenExtractPage,this.settings.askExtractPageInPlace,this.settings.extractPageInPlace).ask().then((r,o)=>{this.lib.composer.extractPages(e,[t],i,!1,r,o).then(async s=>{if(!s){new ct.Notice(`${this.plugin.manifest.name}: Failed to extract page.`);return}if(this.settings.openAfterExtractPages){let a=this.lib.workspace.getLeaf(this.settings.howToOpenExtractedPDF);await a.openFile(s),await this.lib.workspace.revealLeaf(a)}})})}dividePDF(e){let t=this.lib.workspace.getActivePDFView();if(!t)return!1;let i=t.file;if(!i)return!1;let r=t.viewer.child;if(!r||!this.lib.isEditable(r))return!1;if(!e){let o=t.getState().page;this._dividePDF(i,o)}return!0}_dividePDF(e,t){let i=this.lib.getAvailablePathForCopy(e);new Xn(this.plugin,this.settings.askPageLabelUpdateWhenExtractPage,this.settings.pageLabelUpdateWhenExtractPage,this.settings.askExtractPageInPlace,this.settings.extractPageInPlace).ask().then((r,o)=>{this.lib.composer.extractPages(e,{from:t},i,!1,r,o).then(async s=>{if(!s){new ct.Notice(`${this.plugin.manifest.name}: Failed to divide PDF.`);return}if(this.settings.openAfterExtractPages){let a=this.lib.workspace.getLeaf(this.settings.howToOpenExtractedPDF);await a.openFile(s),await this.lib.workspace.revealLeaf(a)}})})}createPDF(){var s,a,c;let e=this.app.workspace.getActiveFile(),t=this.settings.newPDFLocation,i=t==="root"?"/":t=="current"?(a=(s=e==null?void 0:e.parent)==null?void 0:s.path)!=null?a:"":(0,ct.normalizePath)(this.settings.newPDFFolderPath),r=(c=this.app.vault.getAbstractFileByPath(i))!=null?c:this.app.vault.getRoot(),o=this.app.vault.getAvailablePath((0,ct.normalizePath)(r.path+"/Untitled"),"pdf");new wu(this.plugin).askOptions().then(async l=>{let d=await this.app.vault.createBinary(o,await l.save());await this.app.workspace.getLeaf("tab").openFile(d)})}editPageLabels(e){let t=this.lib.workspace.getActivePDFView();if(!t||!t.viewer.child||!this.lib.isEditable(t.viewer.child))return!1;let i=t.file;return i?(e||new ku(this.plugin,i).open(),!0):!1}copyOutline(e,t){let i=this.lib.getPDFViewerChild(!0),r=i==null?void 0:i.file;if(!i||!r||!i.pdfViewer.pdfSidebar.haveOutline)return!1;if(!e){let s=t==="list"?this.settings.copyOutlineAsListFormat:this.settings.copyOutlineAsHeadingsFormat,a=t==="list"?this.settings.copyOutlineAsListDisplayTextFormat:this.settings.copyOutlineAsHeadingsDisplayTextFormat,c=this.settings.copyOutlineAsHeadingsMinLevel;(async()=>{let l=await Ke.fromFile(r,this.plugin),d="",h=this.app.vault.getConfig("useTab"),u=this.app.vault.getConfig("tabSize"),p=h?" ":" ".repeat(u);await l.iterAsync({enter:async f=>{var m;if(!f.isRoot()){let x=null,g=f.getExplicitDestination();g&&(x=await this.lib.destArrayToSubpath(g));let b=x?(m=Yo(x))==null?void 0:m.page:void 0,v=x&&b!==void 0?this.lib.copyLink.getTextToCopy(i,s,a,r,b,x,f.title,"",""):f.title;t==="list"?d+=`${p.repeat(f.depth-1)}- ${v}
`:t==="heading"&&(d+="#".repeat(f.depth+c-1)+` ${v}
`)}}}),navigator.clipboard.writeText(d),new ct.Notice(`${this.plugin.manifest.name}: Outline copied to clipboard.`)})()}return!0}addOutlineItem(e){let t=this.lib.workspace.getActivePDFView(),i=t==null?void 0:t.file,r=t==null?void 0:t.viewer.child;if(!t||!i||!r||!this.lib.isEditable(r))return!1;let o=t.getState(),s=this.lib.viewStateToDestArray(o,!0);return s?(e||new qr(this.plugin,"Add to outline").ask().then(async({title:a})=>{let c=await Ke.fromFile(i,this.plugin),l=c.doc;c.ensureRoot().createChild(a,s).updateCountForAllAncestors(),c.ensureRoot().sortChildren(),await this.app.vault.modifyBinary(i,await l.save())}),!0):!1}async createNewNote(){var d;let e=this.app.workspace.getActiveFile(),t=(d=e==null?void 0:e.path)!=null?d:"",i=this.app.fileManager.getNewFileParent(t),r="",o="";if(e&&e.extension==="pdf"){let h=new id(this.plugin,{file:e,folder:e.parent,app:this.app}),u=this.settings.newFileNameFormat;u&&(r=h.evalTemplate(u));let p=this.settings.newFileTemplatePath;if(p){let f=this.app.vault.getAbstractFileByPath(p);f instanceof ct.TFile&&(o=await this.app.vault.read(f),o=h.evalTemplate(o))}}let s=await this.app.fileManager.createNewMarkdownFile(i,r,o||void 0),a=async()=>{let{leaf:h,isExistingLeaf:u}=await this.lib.copyLink.prepareMarkdownLeafForPaste(s);if(h){await this.lib.workspace.revealLeaf(h),this.app.workspace.setActiveLeaf(h);let p=h.view;if(p instanceof ct.MarkdownView){let f=p.editor;f.focus(),u||f.exec("goEnd")}}};if(this.settings.howToOpenAutoFocusTargetIfNotOpened!=="hover-editor"){await a();return}let l=this.app.metadataCache.on("resolve",async h=>{h===s&&(this.app.metadataCache.offref(l),setTimeout(()=>a(),100))})}extractHighlightedText(e){let t=this.lib.getPDFViewerChild();if(!t)return!1;let i=t.file;if(!i)return!1;if(!e){let r=this.lib.getColorPaletteFromChild(t),o=r?this.settings.copyCommands[r.actionIndex].template:this.settings.copyCommands[this.settings.defaultColorPaletteActionIndex].template,s="";(async()=>{var l;let a=(l=this.lib.getPDFDocument(!0))!=null?l:await this.lib.loadPDFDocument(i);(await this.lib.highlight.extract.getAnnotatedTextsInDocument(a)).forEach((d,h)=>{d.forEach(({text:u,rgb:p,comment:f},m)=>{s&&(s=s.trimEnd()+`
`);let x=p?`${p.r},${p.g},${p.b}`:"";s+=this.lib.copyLink.getTextToCopy(t,o,void 0,i,h,`#page=${h}&annotation=${m}`,u,x,void 0,f)})}),s?(await navigator.clipboard.writeText(s),new ct.Notice(`${this.plugin.manifest.name}: Highlighted text copied to clipboard.`)):new ct.Notice(`${this.plugin.manifest.name}: No highlighted text found.`)})()}return!0}async copyDebugInfo(){let e=await xg(this.app),t=Object.assign({},this.settings,{author:"*".repeat(this.settings.author.length)}),i=bg(this.app),r=this.plugin.domManager.styleEl.textContent,o=`#### Obsidian debug info
`;for(let[s,a]of Object.entries(e)){if(Array.isArray(a)){o+=`- ${s}: ${a.length}
`,a.forEach(c=>{o+=` - ${c}
`});continue}o+=`- ${s}: ${a}
`}o+=`
#### PDF++ debug info
`,o+="```\n"+JSON.stringify({settings:t,styleSettings:i,styleSheet:r})+"\n```\n",await navigator.clipboard.writeText(o),new ct.Notice(`${this.plugin.manifest.name}: Debug info copied to clipboard.`)}loadDebugInfo(e){return this.plugin.isDebugMode?(e||(async()=>{try{let{settings:t,styleSettings:i,styleSheet:r}=JSON.parse(await navigator.clipboard.readText());new ct.Notice(`${this.plugin.manifest.name}: Debug info loaded from clipboard.`),console.debug("Loaded debug info:"),console.debug("- settings:",t),console.debug("- styleSettings:",i),console.debug("- styleSheet:",r),window.pdfPlusDebugInfo={settings:t,styleSettings:i,styleSheet:r},this.plugin.settings=t;let o=this.app.setting.pluginTabs.find(s=>s.id===this.plugin.manifest.id);o&&await o.hide()}catch(t){new ct.Notice(`${this.plugin.manifest.name}: Debug info not found in clipboard.`)}})(),!0):!1}importExternalFileIntoVault(e){let t=this.lib.getPDFViewerChild(!0);return!t||!t.isFileExternal||!t.palette?!1:(e||t.palette.importFile(),!0)}openExternalSource(e){let t=this.lib.getPDFViewerChild(!0),i=t==null?void 0:t.file;return!t||!t.isFileExternal||!i?!1:(e||(async()=>{let r=(await this.app.vault.read(i)).trim();window.open(r,"_blank")})(),!0)}createDummyForExternalPDF(){new va(this.plugin).open()}showContextMenu(e){let t=this.lib.getPDFViewerChild(!0);if(!t)return!1;let r=t.containerEl.doc.getSelection();return!r||!r.focusNode||r.isCollapsed?!1:(e||Nu(this.plugin,t,r),!0)}};var ti=require("obsidian");var l0=class extends Ae{constructor(...e){super(...e),this.fileOperator=new em(this.plugin),this.linkUpdater=new tm(this.plugin)}isEnabled(){return this.settings.enablePDFEdit}async addPage(e){return await this.linkUpdater.updateLinks(()=>this.fileOperator.addPage(e),[e],(t,i)=>({}))}async insertPage(e,t,i,r){return await this.linkUpdater.updateLinks(()=>this.fileOperator.insertPage(e,t,i,r),[e],(o,s)=>({pageNumber:typeof s=="number"&&s>=t?s+1:s}))}async removePage(e,t,i){return await this.linkUpdater.updateLinks(()=>this.fileOperator.removePage(e,t,i),[e],(r,o)=>({pageNumber:typeof o=="number"&&o>t?o-1:o}))}async mergeFiles(e,t,i){let r=(await this.fileOperator.read(e)).getPageCount();return await this.linkUpdater.updateLinks(()=>this.fileOperator.mergeFiles(e,t,i),[e,t],(o,s)=>o===e?{}:{file:e,pageNumber:typeof s=="number"?s+r:s})}async extractPages(e,t,i,r,o,s){let a;return Array.isArray(t)?a=t:(t.from===void 0&&(t.from=1),t.to===void 0&&(t.to=(await this.fileOperator.read(e)).getPageCount()),a=hg(t.from,t.to+1)),await this.linkUpdater.updateLinks(()=>this.fileOperator.extractPages(e,a,i,r,o,s),[e],(c,l)=>{if(l===void 0)return{};if(a.includes(l))return{file:i,pageNumber:a.filter(d=>d<=l).length};if(s){let d=a.filter(h=>h<l).length;return d>0?{pageNumber:l-d}:{}}return{}})}},em=class extends Ae{constructor(...e){super(...e),this.pageLabelUpdater=new im(this.plugin)}async read(e){return await this.lib.loadPdfLibDocument(e)}async write(e,t,i){let r=await t.save(),o=this.app.vault.getAbstractFileByPath(e);if(o instanceof ti.TFile)return i||new ti.Notice(`${this.plugin.manifest.name}: File already exists: ${e}`),await this.app.vault.modifyBinary(o,r),o;if(o===null){let s=(0,ti.normalizePath)(e.split("/").slice(0,-1).join("/"));return s&&(this.app.vault.getAbstractFileByPath(s)||await this.app.vault.createFolder(s)),await this.app.vault.createBinary(e,r)}return null}async addPage(e){let t=await this.read(e),i=t.getPage(t.getPageCount()-1),{width:r,height:o}=i.getSize();return t.addPage([r,o]),await this.write(e.path,t,!0)}async insertPage(e,t,i,r){let o=await this.read(e);this.pageLabelUpdater.insertPage(o,t,r);let s=o.getPage(i-1),{width:a,height:c}=s.getSize();return o.insertPage(t-1,[a,c]),await this.write(e.path,o,!0)}async removePage(e,t,i){let r=await this.read(e);return this.pageLabelUpdater.removePage(r,t,i),r.removePage(t-1),await(await Ke.fromDocument(r,this.plugin)).prune(),await this.write(e.path,r,!0)}async mergeFiles(e,t,i){let[r,o]=await Promise.all([this.read(e),this.read(t)]);this.pageLabelUpdater.mergeFiles(r,o,i);let s=await r.copyPages(o,o.getPageIndices());for(let c of s)r.addPage(c);let a=await this.write(e.path,r,!0);return a===null?null:(await this.app.fileManager.trashFile(t),a)}async extractPages(e,t,i,r,o,s){if(t.length===0)throw new Error("No pages to extract");return s?await this.extractPagesInPlace(e,t,i,r,o):await this.extractPagesAsNewFile(e,t,i,r,o)}async extractPagesInPlace(e,t,i,r,o){let[s,a]=await Promise.all([this.read(e),this.read(e)]),c=[];for(let h=1;h<=s.getPageCount();h++)t.includes(h)||c.push(h);this.pageLabelUpdater.removePages(s,t,o),this.pageLabelUpdater.removePages(a,c,o);for(let h=s.getPageCount();h>=1;h--)t.includes(h)?s.removePage(h-1):a.removePage(h-1);await Promise.all([s,a].map(async h=>{await(await Ke.fromDocument(h,this.plugin)).prune()}));let[l,d]=await Promise.all([this.write(e.path,s,!0),this.write(i,a,r)]);return d}async extractPagesAsNewFile(e,t,i,r,o){let s=await this.read(e),a=[];for(let l=1;l<=s.getPageCount();l++)t.includes(l)||a.push(l);this.pageLabelUpdater.removePages(s,a,o);for(let l of a.sort((d,h)=>h-d))s.removePage(l-1);return await(await Ke.fromDocument(s,this.plugin)).prune(),await this.write(i,s,r)}},tm=class extends Ae{async updateLinks(e,t,i){await this.lib.metadataCacheUpdatePromise;let r=new Map;for(let c of t){let l=this.app.metadataCache.getBacklinksForFile(c);for(let d of l.keys()){let h=l.get(d);for(let u of h!=null?h:[]){let p=this.getNewLinkText(u.link,d,c,i);if(typeof p!="string")continue;let f=this.getNewLink(u,p),m=u.position;r.has(d)||r.set(d,[]),r.get(d).push({position:m,newLink:f})}}}let o=await e();if(!o)return null;let s=[],a={files:0,links:0};for(let[c,l]of r){let d=this.app.vault.getAbstractFileByPath(c);d instanceof ti.TFile&&(l.sort((h,u)=>u.position.start.offset-h.position.start.offset),s.push(this.app.vault.process(d,h=>{for(let{position:u,newLink:p}of l)h=h.slice(0,u.start.offset)+p+h.slice(u.end.offset),a.links++;return h})),l.length>0&&a.files++)}return await Promise.all(s),a.links&&new ti.Notice(`${this.plugin.manifest.name}: Updated ${a.links} links in ${a.files} files.`),o}getNewLinkText(e,t,i,r){let{path:o,subpath:s}=(0,ti.parseLinktext)(e),a;s.startsWith("#")&&(s=s.slice(1));let c=new URLSearchParams(s),l=c.get("page");l!==null&&(a=+l);let{file:d,pageNumber:h}=r(i,a);if(d===void 0&&h===void 0)return;let u=o;if(d instanceof ti.TFile){let m=!this.app.vault.getConfig("useMarkdownLinks");u=this.app.metadataCache.fileToLinktext(d,t,m)}else typeof d=="string"&&(u=d);let p=s;if(typeof h=="number"){p="",c.set("page",""+h);for(let[m,x]of c)p+=`${m}=${x}&`;p.endsWith("&")&&(p=p.slice(0,-1))}return u+(p?"#"+p:"")}getNewDisplay(e){return e}getNewLink(e,t){let i=e.original,r=e.displayText,o=e.link,s=i.startsWith("!");s&&(i=i.slice(1));let a="";return i.startsWith("[[")&&i.endsWith("]]")?typeof r=="string"&&i===`[[${o}|${r}]]`?a=`[[${t}|${r}]]`:a=`[[${t}]]`:i.startsWith("[")&&i.endsWith(")")&&(a=`[${r!=null?r:""}](${Rr(t)})`),s&&(a="!"+a),a}async updateLinkColor(e,t,i,r){r=Object.assign({linktext:!0,callout:!0},r);let o=this.app.vault.getAbstractFileByPath(t);if(!(o instanceof ti.TFile))return;let s=e.link,{path:a,subpath:c}=(0,ti.parseLinktext)(s),l=new URLSearchParams(c.startsWith("#")?c.slice(1):c);i&&r.linktext?l.set("color",i.type==="name"?i.name.toLowerCase():`${i.rgb.r},${i.rgb.g},${i.rgb.b}`):l.delete("color");let d="";for(let[p,f]of l.entries())d+=d?`&${p}=${f}`:`#${p}=${f}`;let h=a+d,u=this.getNewLink(e,h);if("position"in e){let p=e.position;await this.app.vault.process(o,f=>{var m,x;if(f=f.slice(0,p.start.offset)+u+f.slice(p.end.offset),r.callout){let b=((x=(m=this.app.metadataCache.getFileCache(o))==null?void 0:m.sections)!=null?x:[]).find(v=>v.position.start.offset<=p.start.offset&&p.end.offset<=v.position.end.offset);if(b&&b.type==="callout"){let v=f.split(/\r?\n/),y=b.position.start.line,F=v[y],D=new RegExp(`> *\\[\\! *${this.settings.calloutType} *(\\|(.*?))?\\]`,"i");v[y]=F.replace(D,`> [!${this.settings.calloutType}${i?`|${i.type==="name"?i.name.toLowerCase():`${i.rgb.r},${i.rgb.g},${i.rgb.b}`}`:""}]`),f=v.join(`
`)}}return f})}else{let p=e.key;await this.app.fileManager.processFrontMatter(o,f=>{f[p]=u})}}},im=class extends Ae{addPage(e){}insertPage(e,t,i){qi.processDocument(e,r=>{if(i){r.divideRangeAtPage(t,!0).shiftRangesAfterPage(t,1).divideRangeAtPage(t,!1,o=>{delete o.prefix,delete o.style});return}r.shiftRangesAfterPage(t,1)})}removePage(e,t,i){this.removePages(e,[t],i)}removePages(e,t,i){qi.processDocument(e,r=>{t.sort((o,s)=>s-o).forEach(o=>{this.removePageFromLabels(r,o,i)})})}removePageFromLabels(e,t,i){if(i){e.divideRangeAtPage(t+1,!0).shiftRangesAfterPage(t+1,-1);return}e.shiftRangesAfterPage(t+1,-1)}mergeFiles(e,t,i){}};var d0=require("obsidian");var nm=class{constructor(e){y0(this,"value");y0(this,"next");this.value=e}},Si,is,ns,od=class{constructor(){mn(this,Si);mn(this,is);mn(this,ns);this.clear()}enqueue(e){let t=new nm(e);Ge(this,Si)?(Ge(this,is).next=t,Ot(this,is,t)):(Ot(this,Si,t),Ot(this,is,t)),v0(this,ns)._++}dequeue(){let e=Ge(this,Si);if(e)return Ot(this,Si,Ge(this,Si).next),v0(this,ns)._--,e.value}peek(){if(Ge(this,Si))return Ge(this,Si).value}clear(){Ot(this,Si,void 0),Ot(this,is,void 0),Ot(this,ns,0)}get size(){return Ge(this,ns)}*[Symbol.iterator](){let e=Ge(this,Si);for(;e;)yield e.value,e=e.next}};Si=new WeakMap,is=new WeakMap,ns=new WeakMap;function rm(n){h1(n);let e=new od,t=0,i=()=>{t<n&&e.size>0&&(e.dequeue()(),t++)},r=()=>{t--,i()},o=async(c,l,d)=>{let h=(async()=>c(...d))();l(h);try{await h}catch(u){}r()},s=(c,l,d)=>{new Promise(h=>{e.enqueue(h)}).then(o.bind(void 0,c,l,d)),(async()=>(await Promise.resolve(),t<n&&i()))()},a=(c,...l)=>new Promise(d=>{s(c,d,l)});return Object.defineProperties(a,{activeCount:{get:()=>t},pendingCount:{get:()=>e.size},clearQueue:{value(){e.clear()}},concurrency:{get:()=>n,set(c){h1(c),n=c,queueMicrotask(()=>{for(;t<n&&e.size>0;)i()})}}}),a}function h1(n){if(!((Number.isInteger(n)||n===Number.POSITIVE_INFINITY)&&n>0))throw new TypeError("Expected `concurrency` to be a number from 1 and up")}var c0=class c0 extends d0.Component{constructor(t,i,r,o,s,a,c,l){super();this.plugin=t;this.ctx=i;this.file=r;this.subpath=o;this.pageNumber=s;this.rect=a;this.width=c;this.annotationId=l;this.app=i.app,this.containerEl=i.containerEl,this.rect=window.pdfjsLib.Util.normalizeRect(a),this.containerEl.addClass("pdf-cropped-embed"),c&&this.containerEl.setAttribute("width",""+c)}get lib(){return this.plugin.lib}onload(){super.onload(),this.shouldUpdateOnModify()&&this.registerEvent(this.app.vault.on("modify",t=>{t===this.file&&this.loadFile()})),this.plugin.settings.rectFollowAdaptToTheme&&(this.registerEvent(this.app.workspace.on("css-change",()=>{this.loadFile()})),this.registerEvent(this.plugin.on("adapt-to-theme-change",()=>{this.loadFile()})))}shouldUpdateOnModify(){return typeof this.annotationId=="string"}async loadFile(){let t=await c0.limit(this.computeDataUrl.bind(this));await new Promise((i,r)=>{this.containerEl.empty(),this.containerEl.createEl("img",{attr:{src:t}},o=>{o.addEventListener("load",()=>i()),o.addEventListener("error",c=>r(c));let s=this.containerEl.getAttribute("width"),a=this.containerEl.getAttribute("height");s&&o.setAttribute("width",s),a&&o.setAttribute("height",a)}),activeWindow.setTimeout(()=>r(),5e3)})}async computeDataUrl(){let t=await this.lib.loadPDFDocument(this.file),i=await t.getPage(this.pageNumber);if(this.annotationId){let s=(await i.getAnnotations()).find(a=>a.id===this.annotationId);s&&Array.isArray(s.rect)&&(this.rect=window.pdfjsLib.Util.normalizeRect(s.rect))}let r=await this.lib.pdfPageToImageDataUrl(i,{type:"image/png",cropRect:this.rect,renderParams:this.lib.getOptionalRenderParameters()});return await t.destroy(),r}};c0.limit=rm(d0.Platform.isMobile?3:10);var Yr=c0;var h0=class extends Ae{get ttsPlugin(){var e;return(e=this.app.plugins.plugins["obsidian-tts"])!=null?e:null}isEnabled(){return!!this.ttsPlugin}async speak(e){var t;await((t=this.ttsPlugin)==null?void 0:t.say(e))}};var $n=require("obsidian");var u0=class extends Ae{async createDummyFilesInFolder(e,t){if(!!!this.app.vault.getFolderByPath(e))try{await this.app.vault.createFolder(e)}catch(r){return console.error(`${this.plugin.manifest.name}: Failed to create folder "${e}" due to the following error: `,r),[]}return await Promise.all(t.map(async r=>{let o=r.split("/").pop().replace(/%20/g," ");$n.Platform.isWin&&(o=o.replace(/\?/g," "));let s=(0,$n.normalizePath)(e+"/"+o);s.endsWith(".pdf")&&(s=s.slice(0,-4));let a=this.app.vault.getAvailablePath(s,"pdf");try{return await this.app.vault.create(a,r)}catch(c){throw console.error(`${this.plugin.manifest.name}: Failed to create a dummy file "${a}" due to the following error: `,c),c}}))}async createDummyFilesFromObsidianUrl(e){let t=e["create-dummy"].replace(/^.*((https?)|(file):\/\/)/,"$1"),i=new va(this.plugin);if(i.source=t.startsWith("http")?"web":"file",i.uris=[t],"folder"in e){let r=e.folder;i.folderPath=(0,$n.normalizePath)(r),await i.createDummyFiles();let o=this.lib.workspace.getActivePDFView();o&&o.setEphemeralState({rename:"all"});return}i.open()}async createDummyFilesOnEditorDrop(e,t,i){if(e.defaultPrevented||!ag(e,this.settings.modifierToDropExternalPDFToCreateDummy)||!e.dataTransfer)return;let r=this.getUrisFromDataTransfer(e.dataTransfer);if(r.length){e.preventDefault();let o=this.getFolderPathForDummyFiles(i.file),s=await this.createDummyFilesInFolder(o,r);new $n.Notice(`${this.plugin.manifest.name}: Dummy files created successfully.`),s.forEach((a,c)=>{var d,h;let l=this.app.fileManager.generateMarkdownLink(a,(h=(d=i.file)==null?void 0:d.path)!=null?h:"");c<s.length-1&&(l+=`
`),t.replaceSelection(l)})}}getUrisFromDataTransfer(e){if(window.electron){let i=Array.from(e.files);if(i.length&&i.every(r=>r.type==="application/pdf"))return i.map(r=>{let o=window.electron.webUtils.getPathForFile(r);return this.absolutePathToFileUri(o)})}let t=e.getData("text/uri-list").split(`\r
`).filter(i=>!i.startsWith("#"));return t.length&&t.every(i=>this.isUriPdf(i))?t:[]}getFolderPathForDummyFiles(e){var i;let t=this.settings.dummyFileFolderPath||this.app.vault.getConfig("attachmentFolderPath");return t==="."||t.startsWith("./")?(0,$n.normalizePath)(((i=e==null?void 0:e.parent)!=null?i:this.app.vault.getRoot()).path+"/"+t.slice(1)):(0,$n.normalizePath)(t)}absolutePathToFileUri(e){return e=e.replace(/\\/g,"/").replace(/ /g,"%20"),"file://"+(e.startsWith("/")?"":"/")+e}isUriPdf(e){return this.settings.externalURIPatterns.map(t=>new RegExp(t)).some(t=>t.test(e))}};var f0=class{constructor(e){this.utils=Sg;this.PDFCroppedEmbed=Yr;this.PDFOutlines=Ke;this.NameTree=ya;this.NumberTree=Wr;this.PDFNamedDestinations=Fa;this.PDFPageLabels=qi;this.app=e.app,this.plugin=e,this.commands=new a0(e),this.copyLink=new _u(e),this.highlight=new r0(e),this.workspace=new o0(e),this.composer=new l0(e),this.dummyFileManager=new u0(e),this.speech=new h0(e)}registerPDFEvent(e,t,i,r){let o=async s=>{await r(s),i||t.off(e,o)};i==null||i.register(()=>t.off(e,o)),t.on(e,o)}onPageReady(e,t,i){var r;(r=e.pdfViewer)==null||r._pages.forEach((o,s)=>{i(s+1,o,!1)}),this.registerPDFEvent("pagerendered",e.eventBus,t,o=>{i(o.pageNumber,o.source,!0)})}onTextLayerReady(e,t,i){var r;(r=e.pdfViewer)==null||r._pages.forEach((o,s)=>{o.textLayer&&i(s+1,o,!1)}),this.registerPDFEvent("textlayerrendered",e.eventBus,t,o=>{i(o.pageNumber,o.source,!0)})}onAnnotationLayerReady(e,t,i){var r;(r=e.pdfViewer)==null||r._pages.forEach((o,s)=>{o.annotationLayer&&i(s+1,o,!1)}),this.registerPDFEvent("annotationlayerrendered",e.eventBus,t,o=>{i(o.pageNumber,o.source,!0)})}applyPDFViewStateToViewer(e,t){let i=()=>{typeof t.left=="number"&&typeof t.top=="number"&&typeof t.zoom=="number"?e.scrollPageIntoView({pageNumber:t.page,destArray:[t.page,{name:"XYZ"},t.left,t.top,t.zoom]}):e.currentPageNumber=t.page};e.pagesCount?i():this.registerPDFEvent("pagesloaded",e.eventBus,null,()=>i())}getPageElAssociatedWithNode(e){let t=e.instanceOf(HTMLElement)?e:e.parentElement;if(!t)return null;let i=t.closest(".page");return!i||!i.instanceOf(HTMLElement)?null:i}getPageElFromSelection(e){let t=e.rangeCount>0?e.getRangeAt(0):null;return t?this.getPageElAssociatedWithNode(t.startContainer):null}getPageElFromEvent(e){return uu(e,e.target)?this.getPageElAssociatedWithNode(e.target):null}getPageNumberFromEvent(e){let t=this.getPageElFromEvent(e),i=t==null?void 0:t.dataset.pageNumber;return i===void 0?null:+i}getToolbarAssociatedWithNode(e){let t=e.instanceOf(HTMLElement)?e:e.parentElement;if(!t)return null;let i=t.closest(".pdf-container"),r=i==null?void 0:i.previousElementSibling;return r&&r.hasClass("pdf-toolbar")?r:null}getToolbarAssociatedWithSelection(){let e=activeWindow.getSelection();if(e&&e.rangeCount>0){let t=e.getRangeAt(0);return this.getToolbarAssociatedWithNode(t.startContainer)}return null}getColorPalette(){var t;let e=(t=this.getPDFViewerChild(!0))!=null?t:this.plugin.lastAnnotationPopupChild;return e?this.getColorPaletteFromChild(e):this.getColorPaletteAssociatedWithSelection()}getColorPaletteOptions(){let e=this.getColorPalette();if(e)return e.getState();let t=this.plugin.settings;return{selectedColorName:[null,...Object.keys(t.colors)][t.defaultColorPaletteItemIndex],actionIndex:t.defaultColorPaletteActionIndex,displayTextFormatIndex:t.defaultDisplayTextFormatIndex,writeFile:t.defaultWriteFileToggle}}getColorPaletteAssociatedWithNode(e){var r;let t=this.getToolbarAssociatedWithNode(e);if(!t)return null;let i=t.querySelector("."+ei.CLS);return i&&(r=ei.elInstanceMap.get(i))!=null?r:null}getColorPaletteAssociatedWithSelection(){let e=activeWindow.getSelection();if(e&&e.rangeCount>0){let t=e.getRangeAt(0);return this.getColorPaletteAssociatedWithNode(t.startContainer)}return null}getColorPaletteFromChild(e){var i;let t=(i=e.pdfViewer.dom)==null?void 0:i.viewerEl;return t?this.getColorPaletteAssociatedWithNode(t):null}getColorPaletteContainedIn(e){for(let[t,i]of ei.elInstanceMap)if(e.contains(t))return i;return null}getPDFViewerChildAssociatedWithNode(e){let t,i=e.instanceOf(HTMLElement)?e:e.parentElement;if(i){let r=i.closest(".pdf-container");r&&(t=this.plugin.pdfViewerChildren.get(r))}return t||this.workspace.iteratePDFViewerChild(r=>{!t&&r.containerEl.contains(e)&&(t=r)}),t!=null?t:null}getPDFViewerChildFromSelection(e){let t=e.rangeCount>0?e.getRangeAt(0):null;return t?this.getPDFViewerChildAssociatedWithNode(t.startContainer):null}async destIdToSubpath(e,t){let i=await t.getDestination(e);return i?this.pdfJsDestArrayToSubpath(i,t):null}async pdfJsDestArrayToSubpath(e,t){let i=await t.getPageIndex(e[0]);return this.destArrayToSubpath(this.normalizePDFJsDestArray(e,i+1))}normalizePDFJsDestArray(e,t){return[t-1,e[1].name,...e.slice(2)]}normalizePdfLibDestArray(e,t){let i=e.get(0);if(!(i instanceof Y))return null;let r=t.getPages().findIndex(s=>s.ref===i);if(r===-1)return null;let o=e.get(1);return o instanceof w?[r,o.decodeText(),...e.asArray().slice(2).map(s=>s instanceof K?s.asNumber():null)]:null}async ensureDestArray(e,t){if(typeof e=="string"){let i=await t.getDestination(e);if(!i)return null;e=this.normalizePDFJsDestArray(i,await t.getPageIndex(i[0])+1)}return e}async destToPageNumber(e,t){if(typeof e=="string"){let i=await t.getDestination(e);return i?await t.getPageIndex(i[0])+1:null}return e[0]+1}destArrayToSubpath(e){var a;let t=e[0],i="",r="",o="";return e[1]==="XYZ"?(typeof e[2]=="number"&&(r+=Math.round(e[2])),typeof e[3]=="number"&&(i+=Math.round(e[3])),o=""+Math.round(((a=e[4])!=null?a:0)*100)/100):e[1]==="FitBH"&&typeof e[2]=="number"&&(i+=e[2]),`#page=${t+1}&offset=${r},${i},${o}`}viewStateToSubpath(e,t=!1){var i;if(typeof e.left=="number"&&typeof e.top=="number"){let r=`#page=${e.page}`;return t?r+=`&offset=,${e.top},`:r+=`&offset=${e.left},${e.top},${(i=e.zoom)!=null?i:0}`,r}return null}viewStateToDestArray(e,t=!1){var i;return typeof e.left=="number"&&typeof e.top=="number"?t?[e.page-1,"FitBH",e.top]:[e.page-1,"XYZ",e.left,e.top,(i=e.zoom)!=null?i:0]:null}getPageLabelTree(e){let t=lt(e.catalog,"PageLabels");return t instanceof G?new Wr(t):null}getAnnotationInfoFromAnnotationElement(e){return{page:e.parent.page.pageNumber,id:e.data.id}}getAnnotationInfoFromPopupEl(e){if(!e.matches(".popupWrapper[data-annotation-id]"))return null;let t=e.closest("div.page");if(!t||t.dataset.pageNumber===void 0)return null;let i=+t.dataset.pageNumber,r=e.dataset.annotationId;return r===void 0?null:{page:i,id:r}}registerGlobalDomEvent(e,t,i,r){e.registerDomEvent(document,t,i,r),this.app.workspace.onLayoutReady(()=>{let o=new Set;this.app.workspace.iterateAllLeaves(s=>{let a=s.getContainer().win;a!==window&&o.add(a)}),o.forEach(s=>{e.registerDomEvent(s.document,t,i,r)}),e.registerEvent(this.app.workspace.on("window-open",(s,a)=>{e.registerDomEvent(a.document,t,i,r)}))})}generateMarkdownLink(e,t,i,r){let o=this.app,s=o.vault.getConfig("useMarkdownLinks"),a=!s,l=o.metadataCache.fileToLinktext(e,t,a)+(i||"");e.path===t&&i&&(l=i);let d;return s?d="[".concat(r||e.basename,"](").concat(Rr(l),")"):(r&&r.toLowerCase()===l.toLowerCase()&&(l=r,r=void 0),d=r?"[[".concat(l,"|").concat(r,"]]"):"[[".concat(l,"]]")),e.extension!=="md"?"!"+d:d}getBacklinkIndexForFile(e){return new Da(this.plugin,e)}async getLatestBacklinkIndexForFile(e){let t=this.getBacklinkIndexForFile(e);return await this.metadataCacheUpdatePromise,t.init(),t}async getLatestBacklinksForAnnotation(e,t,i){return(await this.getLatestBacklinkIndexForFile(e)).getPageIndex(t).annotations.get(i)}isBacklinked(e,t){if(t){let{page:c,selection:l,annotation:d}=t;if(isNaN(c)||c<1)throw new Error("Invalid page number");if(l&&(l.length!==4||l.some(h=>isNaN(h))))throw new Error("Invalid selection");if(l&&typeof d=="string")throw new Error("Selection and annotation cannot be used together")}let i=!t,r=t&&!t.selection&&!t.annotation,o=t&&!!t.selection,s=typeof(t==null?void 0:t.annotation)=="string",a=this.app.metadataCache.getBacklinksForFile(e);if(i)return a.count()>0;for(let c of a.keys()){let l=a.get(c);if(l)for(let d of l){let{subpath:h}=(0,ke.parseLinktext)(d.link),u=Yo(h);if(u&&(r&&u.page===t.page||o&&"beginIndex"in u&&u.page===t.page&&u.beginIndex===t.selection[0]&&u.beginOffset===t.selection[1]&&u.endIndex===t.selection[2]&&u.endOffset===t.selection[3]||s&&"annotation"in u&&u.page===t.page&&u.annotation===t.annotation))return!0}}return!1}getPDFView(e=!1){let t=this.workspace.getActivePDFView();if(t)return t;if(!e){let i;if(this.app.workspace.iterateAllLeaves(r=>{this.isPDFView(r.view)&&(i=r.view)}),i)return i}return null}getPDFEmbedsInComponent(e,t){let i=[];return bu(e,r=>{if(t&&i.length)return!1;if(this.isPDFEmbed(r))return i.push(r),!1}),i}getPDFEmbedInMarkdownView(e){var t;return(t=this.getPDFEmbedsInComponent(e.currentMode,!0).first())!=null?t:null}getAllPDFEmbedsInMarkdownView(e){return this.getPDFEmbedsInComponent(e.currentMode,!1)}getPDFEmbedInCanvasView(e){let t=Array.from(e.canvas.nodes.values());for(let i of t)if("child"in i&&i.child instanceof ke.Component){let r=this.getPDFEmbedsInComponent(i.child,!0);if(r.length)return r[0]}return null}getAllPDFEmbedsInCanvasView(e){return Array.from(e.canvas.nodes.values()).flatMap(t=>"child"in t&&t.child instanceof ke.Component?this.getPDFEmbedsInComponent(t.child,!1):[])}getPDFEmbedInActiveView(){let e=this.app.workspace.getActiveViewOfType(ke.MarkdownView);if(e){let i=this.getPDFEmbedInMarkdownView(e);if(i)return i}let t=this.workspace.getActiveCanvasView();if(t){let i=this.getPDFEmbedInCanvasView(t);if(i)return i}return null}getPDFEmbed(e=!1){let t=this.getPDFEmbedInActiveView();if(t)return t;if(!e){let i=null;if(this.app.workspace.iterateAllLeaves(r=>{if(i)return;let o=r.view;o instanceof ke.MarkdownView?i=this.getPDFEmbedInMarkdownView(o):this.isCanvasView(o)&&(i=this.getPDFEmbedInCanvasView(o))}),i)return i}return null}getPDFViewerComponent(e=!1){var t,i;return(i=(t=this.getPDFView(e))!=null?t:this.getPDFEmbed())==null?void 0:i.viewer}getPDFViewerChild(e=!1){var t;return(t=this.getPDFViewerComponent(e))==null?void 0:t.child}getObsidianViewer(e=!1){var t;return(t=this.getPDFViewerChild(e))==null?void 0:t.pdfViewer}getPDFViewer(e=!1){var t;return(t=this.getObsidianViewer(e))==null?void 0:t.pdfViewer}getToolbar(e=!1){var t;return(t=this.getPDFViewerChild(e))==null?void 0:t.toolbar}getPage(e=!1){let t=this.getPDFViewer(e);return t?t.getPageView(t.currentPageNumber-1):null}getAnnotation(e){var t,i;return(i=(t=this.getPage(!0))==null?void 0:t.annotationLayer)==null?void 0:i.annotationLayer.getAnnotation(e)}getTextContentItems(){var t,i;let e=(t=this.getPage(!0))==null?void 0:t.textLayer;if(e)return(i=wt(e))==null?void 0:i.textContentItems}getPDFDocument(e=!1){var t;return(t=this.getPDFViewer(e))==null?void 0:t.pdfDocument}getBacklinkVisualizer(e=!1){var t;return(t=this.getPDFViewerComponent(e))==null?void 0:t.visualizer}getBibliographyManager(e=!1){var t;return(t=this.getPDFViewerChild(e))==null?void 0:t.bib}getVim(e=!1){var t;return(t=this.getPDFViewerComponent(e))==null?void 0:t.vim}search(e,t,i,r){e.showSearch(),e.searchComponent.setValue(t),Object.assign(e.searchSettings,i),e.dispatchEvent("",r),this.updateSearchSettingsUI(e)}updateSearchSettingsUI(e){let t=e.settingsEl.querySelectorAll("div.checkbox-container"),i=t[0],r=t[1],o=t[2],s=e.searchComponent.containerEl.querySelector(".input-right-decorator.clickable-icon");i&&i.toggleClass("is-enabled",e.searchSettings.highlightAll),r&&r.toggleClass("is-enabled",e.searchSettings.matchDiacritics),o&&o.toggleClass("is-enabled",e.searchSettings.entireWord),s&&s.toggleClass("is-active",e.searchSettings.caseSensitive)}async getExternalPDFUrl(e){if(e.stat.size>300)return null;let t=(await this.app.vault.read(e)).trim();if(t.startsWith("https://")||t.startsWith("http://")){let i=await(0,ke.requestUrl)(t);if(i.status===200)return URL.createObjectURL(new Blob([i.arrayBuffer],{type:"application/pdf"}))}else if(t.startsWith("file:///"))return ke.Platform.resourcePathPrefix+t.substring(8);return null}async loadPDFDocument(e){let t=await this.getExternalPDFUrl(e);if(t)return await this.loadPDFDocumentFromArrayBufferOrUrl({url:t});let i=await this.app.vault.readBinary(e);return await this.loadPDFDocumentFromArrayBufferOrUrl({data:i})}async loadPDFDocumentFromArrayBuffer(e){return await this.loadPDFDocumentFromArrayBufferOrUrl({data:e})}async loadPDFDocumentFromArrayBufferOrUrl(e){return await window.pdfjsLib.getDocument({...e,cMapPacked:!0,cMapUrl:"/lib/pdfjs/cmaps/",standardFontDataUrl:"/lib/pdfjs/standard_fonts/"}).promise}async loadPdfLibDocument(e,t=!1){let i=await this.app.vault.readBinary(e);return await this.loadPdfLibDocumentFromArrayBuffer(i)}async loadPdfLibDocumentFromArrayBuffer(e,t=!1){try{return await je.load(e,{ignoreEncryption:t})}catch(i){throw i instanceof jo&&new ke.Notice(`${this.plugin.manifest.name}: The PDF file is encrypted. This plugin currently does not support editing encrypted PDF files.`,8),i}}async getPdfLibDocument(e=!1){let t=this.getPDFDocument(e);if(t)return await this.loadPdfLibDocumentFromArrayBuffer(await t.getData())}async getPdfLibPage(e=!1){let t=this.getPDFViewer(e);if(!t)return;let i=t.currentPageNumber;if(i===void 0)return;let r=await this.loadPdfLibDocumentFromArrayBuffer(await t.pdfDocument.getData());if(r)return r.getPage(i-1)}async getPDFOutlines(){let e=await this.getPdfLibDocument();if(e)return new Ke(this.plugin,e)}getPDFViewFromChild(e){let t=null;return this.workspace.iteratePDFViews(i=>{i.viewer.child===e&&(t=i)}),t}isPDFView(e){return this.plugin.classes.PDFView?e instanceof this.plugin.classes.PDFView:e instanceof ke.EditableFileView&&e.getViewType()==="pdf"}isPDFEmbed(e){var t;return"loadFile"in e&&"file"in e&&"containerEl"in e&&e.file instanceof ke.TFile&&e.file.extension==="pdf"&&e.containerEl.instanceOf(HTMLElement)&&((t=e.containerEl)==null?void 0:t.matches(".pdf-embed"))&&e instanceof ke.Component&&!(e instanceof Yr)}isCanvasView(e){return e instanceof ke.TextFileView&&e.getViewType()==="canvas"&&"canvas"in e}isCanvasPDFNode(e){let t=e.getData();return t.type==="file"?t.file.endsWith(".pdf"):!1}isBacklinkView(e){return e instanceof ke.FileView&&e.getViewType()==="backlink"}getAvailablePathForCopy(e){return this.app.vault.getAvailablePath(vg(e.path),e.extension)}get metadataCacheUpdatePromise(){return new Promise(e=>this.app.metadataCache.onCleanCache(e))}async renderPDFPageToCanvas(e,t,i={}){var l;let r=createEl("canvas"),o=r.getContext("2d"),s=e.getViewport({scale:1}),a=(l=t!=null?t:window.devicePixelRatio)!=null?l:1;r.width=Math.floor(s.width*a),r.height=Math.floor(s.height*a),r.setCssStyles({width:Math.floor(s.width)+"px",height:Math.floor(s.height)+"px"});let c=[a,0,0,a,0,0];return await e.render({canvasContext:o,transform:c,viewport:s,...i}).promise,r}async pdfPageToImageDataUrl(e,t){let[i,r,o,s]=e.view,a=o-i,c=s-r,l=t==null?void 0:t.type,d=t==null?void 0:t.encoderOptions,h=t==null?void 0:t.resolution;typeof h!="number"&&(h=(ke.Platform.isDesktop?7:ke.Platform.isTablet?4:window.devicePixelRatio||1)*(this.plugin.settings.rectEmbedResolution/100));let u=t==null?void 0:t.cropRect,p=t==null?void 0:t.renderParams,f=await this.renderPDFPageToCanvas(e,h,p);if(!u)return f.toDataURL(l,d);let m=du(f,360-e.rotate),x=m.width/a,g=m.height/c,b={left:(u[0]-i)*x,top:(r+c-u[3])*g,width:(u[2]-u[0])*x,height:(u[3]-u[1])*g};return du(ig(m,b),e.rotate).toDataURL(l,d)}async pdfPageToImageArrayBuffer(e,t){var o;let r=(o=(await this.pdfPageToImageDataUrl(e,t)).match(/^data:image\/\w+;base64,(.*)/))==null?void 0:o[1];if(!r)throw new Error("Failed to convert data URL to base64");return(0,ke.base64ToArrayBuffer)(r)}getOptionalRenderParameters(){return this.plugin.settings.rectFollowAdaptToTheme&&this.app.loadLocalStorage("pdfjs-is-themed")?{background:document.body.getCssPropertyValue("--pdf-page-background"),invert:document.body.hasClass("theme-dark")}:{}}getSelectedText(e,t,i,r,o){if(t===r)return this.toSingleLine(e[t].str.slice(i,o));let s=[];s.push(e[t].str.slice(i));for(let a=t+1;a<r;a++)s.push(e[a].str);return s.push(e[r].str.slice(0,o)),this.toSingleLine(s.join(`
`))}isEditable(e){return this.plugin.settings.enablePDFEdit&&!e.isFileExternal}requirePluginVersion(e,t){let i=this.app.plugins.plugins[e];if(!i)return!1;let r=i.manifest.version;return r===t||Uc(r,t)}requirePluginNewerThan(e,t){let i=this.app.plugins.plugins[e];if(!i)return!1;let r=i.manifest.version;return Uc(r,t)}onDocumentReady(e,t){if(e.pdfLoadingTask){e.pdfLoadingTask.promise.then(i=>t(i));return}e.pdfPlusCallbacksOnDocumentLoaded||(e.pdfPlusCallbacksOnDocumentLoaded=[]),e.pdfPlusCallbacksOnDocumentLoaded.push(t)}toSingleLine(e){return Kc(e,this.plugin.settings.removeWhitespaceBetweenCJChars)}async write(e,t,i){let r=this.app.vault.getAbstractFileByPath(e);if(r instanceof ke.TFile)return i||new ke.Notice(`${this.plugin.manifest.name}: File already exists: ${e}`),typeof t=="string"?await this.app.vault.modify(r,t):await this.app.vault.modifyBinary(r,t),r;if(r===null){let o=(0,ke.normalizePath)(e.split("/").slice(0,-1).join("/"));return o&&(this.app.vault.getAbstractFileByPath(o)||await this.app.vault.createFolder(o)),typeof t=="string"?await this.app.vault.create(e,t):await this.app.vault.createBinary(e,t)}return null}isCitationId(e){return typeof e=="string"&&this.plugin.citationIdRegex.test(e)}};var u1=require("obsidian");var p0=class extends Fe{constructor(e){if(super(e),this.settings.autoCopyToggleRibbonIcon){let t=!1;this.iconEl=e.settings.autoCopyToggleRibbonIcon?e.addRibbonIcon(this.settings.autoCopyIconName,`${e.manifest.name}: Toggle auto-copy`,()=>{t||this.toggle()}):null,this.iconEl&&this.registerDomEvent(this.iconEl,"contextmenu",i=>{if(t)return;let r=new u1.Menu;r.addItem(o=>{o.setIcon("lucide-settings").setTitle("Customize...").onClick(()=>{this.plugin.openSettingTab().scrollToHeading("auto-copy")})}),r.onHide(()=>{t=!1}),r.showAtMouseEvent(i),t=!0})}}toggle(e){e=e!=null?e:!this.settings.autoCopy,e?this.enable():this.disable()}enable(){this.settings.autoCopy=!0,this.plugin.saveSettings(),this.load()}disable(){this.settings.autoCopy=!1,this.plugin.saveSettings(),this.unload()}onload(){var e;(e=this.iconEl)==null||e.addClass("is-active")}onunload(){var e;(e=this.iconEl)==null||e.removeClass("is-active")}};var f1=require("obsidian");var g0=class extends Fe{constructor(e){super(e),this.styleEl=e.registerEl(createEl("style",{attr:{id:"pdf-plus-style"}})),document.head.append(this.styleEl)}update(){this.unload(),this.plugin.removeChild(this),this.plugin.addChild(this)}registerEl(e){return this.register(()=>e.remove()),e}onload(){this.plugin.trigger("update-dom"),this.updateStyleEl(),this.updateClass("pdf-plus-click-embed-to-open-link",this.settings.dblclickEmbedToOpenLink),this.updateClass("pdf-plus-backlink-selection-highlight",this.settings.selectionBacklinkVisualizeStyle==="highlight"),this.updateClass("pdf-plus-backlink-selection-underline",this.settings.selectionBacklinkVisualizeStyle==="underline"),this.app.workspace.trigger("css-change")}updateClass(e,t){document.body.toggleClass(e,t),this.register(()=>document.body.removeClass(e))}updateStyleEl(){let e=this.plugin.settings;this.styleEl.textContent=Object.entries(e.colors).map(([r,o])=>cn(o)?[`.pdf-plus-backlink-highlight-layer .pdf-plus-backlink:not(.hovered-highlight)[data-highlight-color="${r.toLowerCase()}"],`,`.pdf-embed[data-highlight-color="${r.toLowerCase()}"] .textLayer .mod-focused {`,` --pdf-plus-color: ${o};`,` --pdf-plus-backlink-icon-color: ${o};`,` --pdf-plus-rect-color: ${o};`,"}"].join(`
`):"").join(`
`);let t=e.colors[e.defaultColor];(!t||!cn(t))&&(t="rgb(var(--text-highlight-bg-rgb))"),this.styleEl.textContent+=[`
.pdf-plus-backlink-highlight-layer .pdf-plus-backlink:not(.hovered-highlight) {`,` --pdf-plus-color: ${t};`,` --pdf-plus-backlink-icon-color: ${t};`,` --pdf-plus-rect-color: ${t};`,"}"].join(`
`);let i=e.colors[e.backlinkHoverColor];(!i||!cn(i))&&(i=Lw),this.styleEl.textContent+=[`
.pdf-plus-backlink-highlight-layer .pdf-plus-backlink.hovered-highlight {`,` --pdf-plus-color: ${i};`,` --pdf-plus-backlink-icon-color: ${i};`,` --pdf-plus-rect-color: ${i};`,"}"].join(`
`);for(let[r,o]of Object.entries(e.colors))cn(o)&&(this.styleEl.textContent+=[`
.${ei.CLS}-item[data-highlight-color="${r.toLowerCase()}"] > .${ei.CLS}-item-inner {`,` background-color: ${o};`,"}"].join(`
`));this.styleEl.textContent+=[`
.${ei.CLS}-item:not([data-highlight-color]) > .${ei.CLS}-item-inner {`," background-color: transparent;","}"].join(`
`),this.styleEl.textContent+=[`
.workspace-leaf.pdf-plus-link-opened.is-highlighted::before {`,` opacity: ${e.existingTabHighlightOpacity};`,"}"].join(`
`),this.setCSSColorVariables(),this.updateCalloutStyle()}updateCalloutStyle(){var i;if(!this.plugin.settings.useCallout)return;let e=this.plugin.settings.calloutType.toLowerCase();for(let r of Object.keys(this.plugin.settings.colors)){let o=(i=this.toCSSVariableName(r))!=null?i:"--pdf-plus-default-color-rgb";this.styleEl.textContent+=[`
.callout[data-callout="${e}"][data-callout-metadata="${r.toLowerCase()}"] {`,` --callout-color: var(${o});`," background-color: rgba(var(--callout-color), var(--pdf-plus-highlight-opacity, 0.2))","}"].join(`
`)}this.styleEl.textContent+=[`
.callout[data-callout="${e}"] {`," --callout-color: var(--pdf-plus-default-color-rgb);"," background-color: rgba(var(--callout-color), var(--pdf-plus-highlight-opacity, 0.2))","}"].join(`
`);let t=this.plugin.settings.calloutIcon;t?this.styleEl.textContent+=[`
.callout[data-callout="${e}"] {`,` --callout-icon: lucide-${t};`,"}"].join(`
`):this.styleEl.textContent+=[`
.callout[data-callout="${e}"] .callout-icon {`," display: none;","}"].join(`
`)}registerCalloutRenderer(){let e=this.plugin.settings.calloutType.toLowerCase();this.plugin.registerMarkdownPostProcessor((t,i)=>{for(let r of t.querySelectorAll(`.callout[data-callout="${e}"][data-callout-metadata*=","]`))i.addChild(new om(r))})}setCSSColorVariables(){let e=this.plugin.settings;for(let[i,r]of Object.entries(e.colors)){let o=this.toCSSVariableName(i),s=Or(r);if(o!==null&&s!==null){let{r:a,g:c,b:l}=s;this.styleEl.textContent+=[`
body {`,` ${o}: ${a}, ${c}, ${l}`,"}"].join(`
`)}}let t=!1;if(e.defaultColor in e.colors){let i=this.toCSSVariableName(e.defaultColor);i!==null&&(this.styleEl.textContent+=[`
body {`,` --pdf-plus-default-color-rgb: var(${i})`,"}"].join(`
`),t=!0)}t||(this.styleEl.textContent+=[`
body {`," --pdf-plus-default-color-rgb: var(--text-highlight-bg-rgb)","}"].join(`
`))}toCSSVariableName(e){let t=e.toLowerCase().replace(/[^a-z0-9]+/g,"-");return t=t.replace(/^-+|-+$/g,""),t?"--pdf-plus-"+t+"-rgb":null}getRgb(e){let t="--pdf-plus-default-color-rgb";if(e){let o=this.toCSSVariableName(e);o&&(t=o)}let i=getComputedStyle(document.body).getPropertyValue(t);return eg(i)}},om=class extends f1.MarkdownRenderChild{onload(){let e=this.containerEl.dataset.calloutMetadata;if(e){let t=e.split(",").map(r=>parseInt(r));t.length===3&&t.every(r=>0<=r&&r<=255)&&this.containerEl.style.setProperty("--callout-color",t.join(", "))}}};var m0=class extends Le.Plugin{constructor(){super(...arguments);this.lib=new f0(this);this.events=new Le.Events;this.autoFocusToggleIconEl=null;this.autoPasteToggleIconEl=null;this.patchStatus={workspace:!1,pagePreview:!1,pdfView:!1,pdfInternals:!1,pdfOutlineViewer:!1,backlink:!1};this.classes={};this.lastPasteFile=null;this.lastActiveMarkdownFile=null;this.lastAnnotationPopupChild=null;this.lastCopiedDestInfo=null;this.vimrc=null;this.pdfViewerChildren=new Map;this.shownMenus=new Set;this.isDebugMode=!1}async onload(){this.checkVersion(),this.addIcons(),await(0,Le.loadPdfJs)(),await this.loadSettings(),await this.saveSettings(),this.domManager=this.addChild(new g0(this)),this.domManager.registerCalloutRenderer(),this.registerRibbonIcons(),this.patchObsidian(),this.registerPDFEmbedCreator(),this.registerHoverLinkSources(),this.registerCommands(),this.registerGlobalVariables(),this.registerEvents(),this.startTrackingActiveMarkdownFile(),this.registerObsidianProtocolHandler("pdf-plus",this.obsidianProtocolHandler.bind(this)),this.addSettingTab(this.settingTab=new Lu(this)),this.registerStyleSettings()}async onunload(){await this.cleanUpResources()}async cleanUpResources(){await this.cleanUpAnystyleFiles()}async cleanUpAnystyleFiles(){let t=this.app.vault.adapter;if(Le.Platform.isDesktopApp&&t instanceof Le.FileSystemAdapter){let i=this.getAnyStyleInputDir();if(i)try{await t.rmdir(i,!0)}catch(r){if(r.code!=="ENOENT")throw r}}}checkVersion(){this.textDivFirstIdx=Le.apiVersion==="1.8.0"?1:0,wa.openIfNecessary(this)}addIcons(){(0,Le.addIcon)("vim",'<text x="50%" y="50%" dominant-baseline="middle" text-anchor="middle" font-family="Arial" font-size="48" fill="currentColor" style="letter-spacing:2; font-weight:bold;">VIM</text>')}getDefaultSettings(){return structuredClone(Qn)}async restoreDefaultSettings(){this.settings=this.getDefaultSettings(),await this.saveSettings()}async loadSettings(){if(this.settings=Object.assign(this.getDefaultSettings(),await this.loadData()),this.setCitationIdRegex(),!this.settings.anystylePath){let t=this.loadLocalStorage("anystylePath");typeof t=="string"&&(this.settings.anystylePath=t)}(this.settings.defaultDisplayTextFormatIndex<0||this.settings.defaultDisplayTextFormatIndex>=this.settings.displayTextFormats.length)&&(this.settings.defaultDisplayTextFormatIndex=0),(this.settings.defaultColorPaletteActionIndex<0||this.settings.defaultColorPaletteActionIndex>=this.settings.copyCommands.length)&&(this.settings.defaultColorPaletteActionIndex=0),this.validateAutoFocusAndAutoPasteSettings();for(let[t,i]of Object.entries(this.settings.colors))this.settings.colors[t]=i.toLowerCase();this.settings.paneTypeForFirstMDLeaf==="split"&&(this.settings.paneTypeForFirstMDLeaf="right");for(let t of this.settings.copyCommands)t.hasOwnProperty("format")&&(t.template=t.format,delete t.format);if(this.settings.hasOwnProperty("aliasFormat")&&(this.settings.displayTextFormats.push({name:"Custom",template:this.settings.aliasFormat}),delete this.settings.aliasFormat),this.settings.hasOwnProperty("showCopyLinkToSearchInContextMenu")){let t=this.settings.contextMenuConfig.find(({id:i})=>i==="search");t&&t.visible&&(t.visible=this.settings.showCopyLinkToSearchInContextMenu),delete this.settings.showCopyLinkToSearchInContextMenu}this.settings.showContextMenuOnMouseUpIf==="mod"&&(this.settings.showContextMenuOnMouseUpIf="Mod"),this.settings.enableEditEncryptedPDF=!1,this.renameSetting("enalbeWriteHighlightToFile","enablePDFEdit"),this.renameSetting("selectToCopyToggleRibbonIcon","autoCopyToggleRibbonIcon"),this.renameCommand("pdf-plus:toggle-select-to-copy",`${this.manifest.id}:toggle-auto-copy`),this.renameSetting("removeWhitespaceBetweenCJKChars","removeWhitespaceBetweenCJChars"),this.loadContextMenuConfig()}renameSetting(t,i){this.settings.hasOwnProperty(t)&&(this.settings[i]=this.settings[t],delete this.settings[t])}renameCommand(t,i){let{hotkeyManager:r}=this.app,o=r.getHotkeys(t);o&&(r.removeHotkeys(t),r.setHotkeys(i,o))}loadContextMenuConfig(){let t=this.getDefaultSettings().contextMenuConfig,i=[];for(let r of t){let o=this.settings.contextMenuConfig.find(({id:s})=>s===r.id);i.push(o!=null?o:r)}this.settings.contextMenuConfig.length=0,this.settings.contextMenuConfig.push(...i)}validateAutoFocusAndAutoPasteSettings(){this.settings.autoFocus&&this.settings.autoPaste&&(this.settings.autoFocus=!1)}async saveSettings(){let t=Object.assign({},this.settings);this.saveLocalStorage("anystylePath",t.anystylePath),delete t.anystylePath,await this.saveData(t)}loadLocalStorage(t){return this.app.loadLocalStorage(this.manifest.id+"-"+t)}saveLocalStorage(t,i){this.app.saveLocalStorage(this.manifest.id+"-"+t,i)}setCitationIdRegex(){let t=this.settings.citationIdPatterns.split(/\r?\n/).filter(i=>i.trim());this.citationIdRegex=new RegExp(t.join("|"))}registerStyleSettings(){this.app.workspace.trigger("parse-style-settings"),this.register(()=>this.app.workspace.trigger("parse-style-settings"))}registerRibbonIcons(){if(this.autoCopyMode=new p0(this),this.autoCopyMode.toggle(this.settings.autoCopy),this.register(()=>this.autoCopyMode.unload()),this.settings.autoFocusToggleRibbonIcon){let t=!1;this.autoFocusToggleIconEl=this.addRibbonIcon(this.settings.autoFocusIconName,`${this.manifest.name}: Toggle auto-focus`,()=>{t||this.toggleAutoFocus()}),this.autoFocusToggleIconEl.toggleClass("is-active",this.settings.autoFocus),this.registerDomEvent(this.autoFocusToggleIconEl,"contextmenu",i=>{if(t)return;let r=new Le.Menu;r.addItem(o=>{o.setIcon("lucide-settings").setTitle("Customize...").onClick(()=>{this.openSettingTab().scrollToHeading("auto-focus")})}),r.onHide(()=>{t=!1}),r.showAtMouseEvent(i),t=!0})}if(this.settings.autoPasteToggleRibbonIcon){let t=!1;this.autoPasteToggleIconEl=this.addRibbonIcon(this.settings.autoPasteIconName,`${this.manifest.name}: Toggle auto-paste`,()=>{t||this.toggleAutoPaste()}),this.autoPasteToggleIconEl.toggleClass("is-active",this.settings.autoPaste),this.registerDomEvent(this.autoPasteToggleIconEl,"contextmenu",i=>{if(t)return;let r=new Le.Menu;r.addItem(o=>{o.setIcon("lucide-settings").setTitle("Customize...").onClick(()=>{this.openSettingTab().scrollToHeading("auto-paste")})}),r.onHide(()=>{t=!1}),r.showAtMouseEvent(i),t=!0})}}toggleAutoFocusRibbonIcon(t){let i=this.autoFocusToggleIconEl;i&&(t=t!=null?t:!i.hasClass("is-active"),i.toggleClass("is-active",t))}toggleAutoPasteRibbonIcon(t){let i=this.autoPasteToggleIconEl;i&&(t=t!=null?t:!i.hasClass("is-active"),i.toggleClass("is-active",t))}async toggleAutoFocus(t,i){t=t!=null?t:!this.settings.autoFocus,this.toggleAutoFocusRibbonIcon(t),this.settings.autoFocus=t,this.settings.autoFocus&&this.settings.autoPaste&&this.toggleAutoPaste(!1,!1),(i==null||i)&&await this.saveSettings()}async toggleAutoPaste(t,i){t=t!=null?t:!this.settings.autoPaste,this.toggleAutoPasteRibbonIcon(t),this.settings.autoPaste=t,this.settings.autoPaste&&this.settings.autoFocus&&this.toggleAutoFocus(!1,!1),(i==null||i)&&await this.saveSettings()}patchObsidian(){this.app.workspace.onLayoutReady(()=>{t1(this),n1(this),l1(this)}),this.tryPatchUntilSuccess($w),this.tryPatchUntilSuccess(e1),this.tryPatchUntilSuccess(o1),this.tryPatchUntilSuccess(s1)}tryPatchUntilSuccess(t,i){this.app.workspace.onLayoutReady(()=>{if(!t(this)){let o=i==null?void 0:i(),s=this.app.workspace.on("layout-change",()=>{t(this)&&(this.app.workspace.offref(s),o==null||o.hide())});this.registerEvent(s)}})}registerEl(t){return this.register(()=>t.remove()),t}loadStyle(){this.domManager.update()}registerPDFEmbedCreator(){let t=this.app.embedRegistry.embedByExtension.pdf;this.register(()=>{this.app.embedRegistry.unregisterExtension("pdf"),this.app.embedRegistry.registerExtension("pdf",t)}),this.app.embedRegistry.unregisterExtension("pdf"),this.app.embedRegistry.registerExtension("pdf",(i,r,o)=>{var c;let s=fa(o),a=null;if(s.has("rect")&&s.has("page")){let l=parseInt(s.get("page")),d=s.get("rect").split(",").map(p=>parseFloat(p)),h=s.has("width")?parseFloat(s.get("width")):void 0,u=(c=s.get("annotation"))!=null?c:void 0;Number.isInteger(l)&&d.length===4&&(a=new Yr(this,i,r,o,l,d,h,u))}if(a||(a=t(i,r,o),this.classes.PDFEmbed||(this.classes.PDFEmbed=a.constructor),this.patchStatus.pdfInternals||ka(this,a.viewer)),this.registerDomEvent(a.containerEl,"dblclick",l=>{if(this.settings.dblclickEmbedToOpenLink&&It(l,l.target)&&(l.target.closest(".pdf-embed[src] > .pdf-container")||l.target.closest(".pdf-cropped-embed"))){let d=r.path+o;this.app.workspace.openLinkText(d,"",Le.Keymap.isModEvent(l)),l.preventDefault()}}),this.settings.embedUnscrollable)for(let l of["wheel","touchmove"])this.registerDomEvent(a.containerEl,l,d=>{It(d,d.target)&&d.target.closest('.pdf-embed[src*="#"] .pdf-viewer-container')&&d.preventDefault()},{passive:!1});return a instanceof Yr&&this.registerDomEvent(a.containerEl,"click",l=>{It(l,l.target)&&l.target.closest(".cm-editor")&&l.preventDefault()}),s.has("color")?a.containerEl.dataset.highlightColor=s.get("color").toLowerCase():this.settings.defaultColor&&(a.containerEl.dataset.highlightColor=this.settings.defaultColor.toLowerCase()),a})}registerGlobalVariable(t,i,r=!0){if(t in window){if(r)throw new Error(`${this.manifest.name}: Global variable "${t}" already exists.`);return}window[t]=i,this.register(()=>delete window[t])}registerGlobalVariables(){this.registerGlobalVariable("pdfPlus",this,!1),this.registerGlobalVariable("pdflib",Qp,!1)}registerEvents(){this.registerEvent(this.app.workspace.on("layout-change",()=>{for(let t of this.pdfViewerChildren.keys())t!=null&&t.isShown()||this.pdfViewerChildren.delete(t)})),Le.Platform.isDesktopApp&&this.registerEvent(this.app.workspace.on("active-leaf-change",t=>{if(this.settings.syncWithDefaultApp&&t&&this.lib.isPDFView(t.view)){let i=t.view.file;i&&(this.app.openWithDefaultApp(i.path),this.settings.focusObsidianAfterOpenPDFWithDefaultApp&&jc())}})),this.registerEvent(this.app.vault.on("delete",t=>{t instanceof Le.TFile&&t===this.lastPasteFile&&(this.lastPasteFile=null)})),this.registerEvent(this.app.vault.on("rename",(t,i)=>{t instanceof Le.TFile&&this.settings.newFileTemplatePath===i&&(this.settings.newFileTemplatePath=t.path,this.saveSettings())})),this.registerEvent(this.app.vault.on("delete",t=>{t instanceof Le.TFile&&this.settings.newFileTemplatePath===t.path&&(this.settings.newFileTemplatePath="",this.saveSettings())})),this.registerEvent(this.app.vault.on("modify",async t=>{t instanceof Le.TFile&&t.path===this.settings.vimrcPath&&(this.vimrc=await this.app.vault.read(t))})),this.registerEvent(this.app.workspace.on("quit",async()=>{await this.cleanUpResources()})),this.registerEvent(this.app.workspace.on("editor-drop",(t,i,r)=>this.lib.dummyFileManager.createDummyFilesOnEditorDrop(t,i,r)))}registerOneTimeEvent(t,...[i,r,o]){let s=t.on(i,(...a)=>{r.call(o,...a),t.offref(s)},o);this.registerEvent(s)}registerHoverLinkSources(){this.registerHoverLinkSource("pdf-plus",{defaultMod:!0,display:"PDF++: backlink highlights"}),this.registerHoverLinkSource(Zn.HOVER_LINK_SOURCE_ID,{defaultMod:!0,display:"PDF++: internal links in PDF (except for citations)"}),this.registerHoverLinkSource(pn.HOVER_LINK_SOURCE_ID,{defaultMod:!1,display:"PDF++: citation links in PDF"}),this.registerHoverLinkSource(Kr.HOVER_LINK_SOURCE_ID,{defaultMod:!0,display:"PDF++: external links in PDF"}),this.registerHoverLinkSource(Yn.HOVER_LINK_SOURCE_ID,{defaultMod:!0,display:"PDF++: outlines (bookmarks)"}),this.registerHoverLinkSource(Jn.HOVER_LINK_SOURCE_ID,{defaultMod:!0,display:"PDF++: thumbnails"})}registerCommands(){this.lib.commands.registerCommands()}startTrackingActiveMarkdownFile(){let{workspace:t,vault:i}=this.app;t.onLayoutReady(()=>{let r=t.getActiveFile();if(r&&r.extension==="md")this.lastActiveMarkdownFile=r;else{let o=t.recentFileTracker.getRecentFiles({showMarkdown:!0,showCanvas:!1,showNonImageAttachments:!1,showImages:!1,maxCount:1}).first();if(o){let s=i.getAbstractFileByPath(o);s instanceof Le.TFile&&s.extension==="md"&&(this.lastActiveMarkdownFile=s)}}this.registerEvent(t.on("file-open",o=>{o instanceof Le.TFile&&o.extension==="md"&&(this.lastActiveMarkdownFile=o)})),this.registerEvent(i.on("delete",o=>{o instanceof Le.TFile&&o===this.lastActiveMarkdownFile&&(this.lastActiveMarkdownFile=null)}))})}obsidianProtocolHandler(t){if("create-dummy"in t)return this.lib.dummyFileManager.createDummyFilesFromObsidianUrl(t);if("setting"in t)return this.settingTab.openFromObsidianUrl(t)}on(t,i,r){return this.events.on(t,i,r)}off(t,i){this.events.off(t,i)}offref(t){this.events.offref(t)}trigger(t,...i){this.events.trigger(t,...i)}requireModKeyForLinkHover(t="pdf-plus"){var i,r,o;return(o=(r=this.app.internalPlugins.plugins["page-preview"].instance.overrides[t])!=null?r:(i=this.app.workspace.hoverLinkSources[t])==null?void 0:i.defaultMod)!=null?o:!1}openSettingTab(){return this.app.setting.open(),this.app.setting.activeTab!==this.settingTab&&this.app.setting.openTabById(this.manifest.id),this.settingTab}openHotkeySettingTab(t){this.app.setting.open();let i=this.app.setting.openTabById("hotkeys");return i.setQuery(t!=null?t:this.manifest.id),i}getAnyStyleInputDir(){let t=this.manifest.dir;return t?t+"/anystyle":null}};
/*! Bundled license information:
crypto-js/ripemd160.js:
(** @preserve
(c) 2012 by Cédric Mesnil. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*)
crypto-js/mode-ctr-gladman.js:
(** @preserve
* Counter block mode compatible with Dr Brian Gladman fileenc.c
* derived from CryptoJS.mode.CTR
* Jan Hruby jhruby.web@gmail.com
*)
*/
/* nosourcemap */