replaywebpage 2.3.0 → 2.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/sw.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! sw.js (wabac.js 2.21.0) is part of Webrecorder project. Copyright (C) 2020-2025, Webrecorder Software. Licensed under the Affero General Public License v3. */var t={9742:(t,e)=>{e.byteLength=function(t){var e=a(t),r=e[0],i=e[1];return 3*(r+i)/4-i},e.toByteArray=function(t){var e,r,s=a(t),o=s[0],c=s[1],l=new n(function(t,e,r){return 3*(e+r)/4-r}(0,o,c)),h=0,u=c>0?o-4:o;for(r=0;r<u;r+=4)e=i[t.charCodeAt(r)]<<18|i[t.charCodeAt(r+1)]<<12|i[t.charCodeAt(r+2)]<<6|i[t.charCodeAt(r+3)],l[h++]=e>>16&255,l[h++]=e>>8&255,l[h++]=255&e;return 2===c&&(e=i[t.charCodeAt(r)]<<2|i[t.charCodeAt(r+1)]>>4,l[h++]=255&e),1===c&&(e=i[t.charCodeAt(r)]<<10|i[t.charCodeAt(r+1)]<<4|i[t.charCodeAt(r+2)]>>2,l[h++]=e>>8&255,l[h++]=255&e),l},e.fromByteArray=function(t){for(var e,i=t.length,n=i%3,s=[],o=16383,a=0,l=i-n;a<l;a+=o)s.push(c(t,a,a+o>l?l:a+o));return 1===n?(e=t[i-1],s.push(r[e>>2]+r[e<<4&63]+"==")):2===n&&(e=(t[i-2]<<8)+t[i-1],s.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),s.join("")};for(var r=[],i=[],n="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)r[o]=s[o],i[s.charCodeAt(o)]=o;function a(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function c(t,e,i){for(var n,s,o=[],a=e;a<i;a+=3)n=(t[a]<<16&16711680)+(t[a+1]<<8&65280)+(255&t[a+2]),o.push(r[(s=n)>>18&63]+r[s>>12&63]+r[s>>6&63]+r[63&s]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},4181:t=>{var e=4096,r=new Uint32Array([0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535,131071,262143,524287,1048575,2097151,4194303,8388607,16777215]);function i(t){this.buf_=new Uint8Array(8224),this.input_=t,this.reset()}i.READ_SIZE=e,i.IBUF_MASK=8191,i.prototype.reset=function(){this.buf_ptr_=0,this.val_=0,this.pos_=0,this.bit_pos_=0,this.bit_end_pos_=0,this.eos_=0,this.readMoreInput();for(var t=0;t<4;t++)this.val_|=this.buf_[this.pos_]<<8*t,++this.pos_;return this.bit_end_pos_>0},i.prototype.readMoreInput=function(){if(!(this.bit_end_pos_>256))if(this.eos_){if(this.bit_pos_>this.bit_end_pos_)throw new Error("Unexpected end of input "+this.bit_pos_+" "+this.bit_end_pos_)}else{var t=this.buf_ptr_,r=this.input_.read(this.buf_,t,e);if(r<0)throw new Error("Unexpected end of input");if(r<e){this.eos_=1;for(var i=0;i<32;i++)this.buf_[t+r+i]=0}if(0===t){for(i=0;i<32;i++)this.buf_[8192+i]=this.buf_[i];this.buf_ptr_=e}else this.buf_ptr_=0;this.bit_end_pos_+=r<<3}},i.prototype.fillBitWindow=function(){for(;this.bit_pos_>=8;)this.val_>>>=8,this.val_|=this.buf_[8191&this.pos_]<<24,++this.pos_,this.bit_pos_=this.bit_pos_-8>>>0,this.bit_end_pos_=this.bit_end_pos_-8>>>0},i.prototype.readBits=function(t){32-this.bit_pos_<t&&this.fillBitWindow();var e=this.val_>>>this.bit_pos_&r[t];return this.bit_pos_+=t,e},t.exports=i},7080:(t,e)=>{e.lookup=new Uint8Array([0,0,0,0,0,0,0,0,0,4,4,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,12,16,12,12,20,12,16,24,28,12,12,32,12,36,12,44,44,44,44,44,44,44,44,44,44,32,32,24,40,28,12,12,48,52,52,52,48,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,24,12,28,12,12,12,56,60,60,60,56,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,24,12,28,12,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,43,43,43,43,44,44,44,44,45,45,45,45,46,46,46,46,47,47,47,47,48,48,48,48,49,49,49,49,50,50,50,50,51,51,51,51,52,52,52,52,53,53,53,53,54,54,54,54,55,55,55,55,56,56,56,56,57,57,57,57,58,58,58,58,59,59,59,59,60,60,60,60,61,61,61,61,62,62,62,62,63,63,63,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),e.lookupOffsets=new Uint16Array([1024,1536,1280,1536,0,256,768,512])},6450:(t,e,r)=>{var i=r(6154).g,n=r(6154).j,s=r(4181),o=r(5139),a=r(966).h,c=r(966).g,l=r(7080),h=r(8435),u=r(2973),p=1080,d=new Uint8Array([1,2,3,4,0,5,17,6,16,7,8,9,10,11,12,13,14,15]),f=new Uint8Array([3,2,1,0,3,3,3,3,3,3,2,2,2,2,2,2]),g=new Int8Array([0,0,0,0,-1,1,-2,2,-3,3,-1,1,-2,2,-3,3]),y=new Uint16Array([256,402,436,468,500,534,566,598,630,662,694,726,758,790,822,854,886,920,952,984,1016,1048,1080]);function m(t){var e;return 0===t.readBits(1)?16:(e=t.readBits(3))>0?17+e:(e=t.readBits(3))>0?8+e:17}function w(t){if(t.readBits(1)){var e=t.readBits(3);return 0===e?1:t.readBits(e)+(1<<e)}return 0}function b(){this.meta_block_length=0,this.input_end=0,this.is_uncompressed=0,this.is_metadata=!1}function A(t){var e,r,i,n=new b;if(n.input_end=t.readBits(1),n.input_end&&t.readBits(1))return n;if(7===(e=t.readBits(2)+4)){if(n.is_metadata=!0,0!==t.readBits(1))throw new Error("Invalid reserved bit");if(0===(r=t.readBits(2)))return n;for(i=0;i<r;i++){var s=t.readBits(8);if(i+1===r&&r>1&&0===s)throw new Error("Invalid size byte");n.meta_block_length|=s<<8*i}}else for(i=0;i<e;++i){var o=t.readBits(4);if(i+1===e&&e>4&&0===o)throw new Error("Invalid size nibble");n.meta_block_length|=o<<4*i}return++n.meta_block_length,n.input_end||n.is_metadata||(n.is_uncompressed=t.readBits(1)),n}function v(t,e,r){var i;return r.fillBitWindow(),(i=t[e+=r.val_>>>r.bit_pos_&255].bits-8)>0&&(r.bit_pos_+=8,e+=t[e].value,e+=r.val_>>>r.bit_pos_&(1<<i)-1),r.bit_pos_+=t[e].bits,t[e].value}function _(t,e,r,i){var n,s,o=new Uint8Array(t);if(i.readMoreInput(),1===(s=i.readBits(2))){for(var l=t-1,h=0,u=new Int32Array(4),p=i.readBits(2)+1;l;)l>>=1,++h;for(f=0;f<p;++f)u[f]=i.readBits(h)%t,o[u[f]]=2;switch(o[u[0]]=1,p){case 1:break;case 3:if(u[0]===u[1]||u[0]===u[2]||u[1]===u[2])throw new Error("[ReadHuffmanCode] invalid symbols");break;case 2:if(u[0]===u[1])throw new Error("[ReadHuffmanCode] invalid symbols");o[u[1]]=1;break;case 4:if(u[0]===u[1]||u[0]===u[2]||u[0]===u[3]||u[1]===u[2]||u[1]===u[3]||u[2]===u[3])throw new Error("[ReadHuffmanCode] invalid symbols");i.readBits(1)?(o[u[2]]=3,o[u[3]]=3):o[u[0]]=2}}else{var f,g=new Uint8Array(18),y=32,m=0,w=[new a(2,0),new a(2,4),new a(2,3),new a(3,2),new a(2,0),new a(2,4),new a(2,3),new a(4,1),new a(2,0),new a(2,4),new a(2,3),new a(3,2),new a(2,0),new a(2,4),new a(2,3),new a(4,5)];for(f=s;f<18&&y>0;++f){var b,A=d[f],v=0;i.fillBitWindow(),v+=i.val_>>>i.bit_pos_&15,i.bit_pos_+=w[v].bits,b=w[v].value,g[A]=b,0!==b&&(y-=32>>b,++m)}if(1!==m&&0!==y)throw new Error("[ReadHuffmanCode] invalid num_codes or space");!function(t,e,r,i){for(var n=0,s=8,o=0,l=0,h=32768,u=[],p=0;p<32;p++)u.push(new a(0,0));for(c(u,0,5,t,18);n<e&&h>0;){var d,f=0;if(i.readMoreInput(),i.fillBitWindow(),f+=i.val_>>>i.bit_pos_&31,i.bit_pos_+=u[f].bits,(d=255&u[f].value)<16)o=0,r[n++]=d,0!==d&&(s=d,h-=32768>>d);else{var g,y,m=d-14,w=0;if(16===d&&(w=s),l!==w&&(o=0,l=w),g=o,o>0&&(o-=2,o<<=m),n+(y=(o+=i.readBits(m)+3)-g)>e)throw new Error("[ReadHuffmanCodeLengths] symbol + repeat_delta > num_symbols");for(var b=0;b<y;b++)r[n+b]=l;n+=y,0!==l&&(h-=y<<15-l)}}if(0!==h)throw new Error("[ReadHuffmanCodeLengths] space = "+h);for(;n<e;n++)r[n]=0}(g,t,o,i)}if(0===(n=c(e,r,8,o,t)))throw new Error("[ReadHuffmanCode] BuildHuffmanTable failed: ");return n}function E(t,e,r){var i,n;return i=v(t,e,r),n=h.kBlockLengthPrefixCode[i].nbits,h.kBlockLengthPrefixCode[i].offset+r.readBits(n)}function S(t,e,r){var i;return t<16?(r+=f[t],i=e[r&=3]+g[t]):i=t-16+1,i}function T(t,e){for(var r=t[e],i=e;i;--i)t[i]=t[i-1];t[0]=r}function x(t,e){this.alphabet_size=t,this.num_htrees=e,this.codes=new Array(e+e*y[t+31>>>5]),this.htrees=new Uint32Array(e)}function C(t,e){var r,i,n={num_htrees:null,context_map:null},s=0;e.readMoreInput();var o=n.num_htrees=w(e)+1,c=n.context_map=new Uint8Array(t);if(o<=1)return n;for(e.readBits(1)&&(s=e.readBits(4)+1),r=[],i=0;i<p;i++)r[i]=new a(0,0);for(_(o+s,r,0,e),i=0;i<t;){var l;if(e.readMoreInput(),0===(l=v(r,0,e)))c[i]=0,++i;else if(l<=s)for(var h=1+(1<<l)+e.readBits(l);--h;){if(i>=t)throw new Error("[DecodeContextMap] i >= context_map_size");c[i]=0,++i}else c[i]=l-s,++i}return e.readBits(1)&&function(t,e){var r,i=new Uint8Array(256);for(r=0;r<256;++r)i[r]=r;for(r=0;r<e;++r){var n=t[r];t[r]=i[n],n&&T(i,n)}}(c,t),n}function I(t,e,r,i,n,s,o){var a,c=2*r,l=r,h=v(e,r*p,o);(a=0===h?n[c+(1&s[l])]:1===h?n[c+(s[l]-1&1)]+1:h-2)>=t&&(a-=t),i[r]=a,n[c+(1&s[l])]=a,++s[l]}function R(t,e,r,i,n,o){var a,c=n+1,l=r&n,h=o.pos_&s.IBUF_MASK;if(e<8||o.bit_pos_+(e<<3)<o.bit_end_pos_)for(;e-- >0;)o.readMoreInput(),i[l++]=o.readBits(8),l===c&&(t.write(i,c),l=0);else{if(o.bit_end_pos_<32)throw new Error("[CopyUncompressedBlockToOutput] br.bit_end_pos_ < 32");for(;o.bit_pos_<32;)i[l]=o.val_>>>o.bit_pos_,o.bit_pos_+=8,++l,--e;if(h+(a=o.bit_end_pos_-o.bit_pos_>>3)>s.IBUF_MASK){for(var u=s.IBUF_MASK+1-h,p=0;p<u;p++)i[l+p]=o.buf_[h+p];a-=u,l+=u,e-=u,h=0}for(p=0;p<a;p++)i[l+p]=o.buf_[h+p];if(e-=a,(l+=a)>=c)for(t.write(i,c),l-=c,p=0;p<l;p++)i[p]=i[c+p];for(;l+e>=c;){if(a=c-l,o.input_.read(i,l,a)<a)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");t.write(i,c),e-=a,l=0}if(o.input_.read(i,l,e)<e)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");o.reset()}}function k(t){var e=t.bit_pos_+7&-8;return 0==t.readBits(e-t.bit_pos_)}function N(t){var e=new i(t),r=new s(e);return m(r),A(r).meta_block_length}function O(t,e){var r,i,n,c,d,f,g,y,b,T,N=0,O=0,B=0,P=[16,15,11,4],D=0,L=0,U=0,M=[new x(0,0),new x(0,0),new x(0,0)],F=128+s.READ_SIZE;n=(1<<(i=m(T=new s(t))))-16,d=(c=1<<i)-1,f=new Uint8Array(c+F+o.maxDictionaryWordLength),g=c,y=[],b=[];for(var H=0;H<3240;H++)y[H]=new a(0,0),b[H]=new a(0,0);for(;!O;){var j,W,V,z,G,q,Q,K,Y,J,X,Z=0,$=[1<<28,1<<28,1<<28],tt=[0],et=[1,1,1],rt=[0,1,0,1,0,1],it=[0],nt=null,st=null,ot=0,at=null,ct=0,lt=0,ht=0;for(r=0;r<3;++r)M[r].codes=null,M[r].htrees=null;T.readMoreInput();var ut=A(T);if(N+(Z=ut.meta_block_length)>e.buffer.length){var pt=new Uint8Array(N+Z);pt.set(e.buffer),e.buffer=pt}if(O=ut.input_end,j=ut.is_uncompressed,ut.is_metadata)for(k(T);Z>0;--Z)T.readMoreInput(),T.readBits(8);else if(0!==Z)if(j)T.bit_pos_=T.bit_pos_+7&-8,R(e,Z,N,f,d,T),N+=Z;else{for(r=0;r<3;++r)et[r]=w(T)+1,et[r]>=2&&(_(et[r]+2,y,r*p,T),_(26,b,r*p,T),$[r]=E(b,r*p,T),it[r]=1);for(T.readMoreInput(),z=(1<<(W=T.readBits(2)))-1,G=(V=16+(T.readBits(4)<<W))+(48<<W),nt=new Uint8Array(et[0]),r=0;r<et[0];++r)T.readMoreInput(),nt[r]=T.readBits(2)<<1;var dt=C(et[0]<<6,T);Q=dt.num_htrees,q=dt.context_map;var ft=C(et[2]<<2,T);for(Y=ft.num_htrees,K=ft.context_map,M[0]=new x(256,Q),M[1]=new x(704,et[1]),M[2]=new x(G,Y),r=0;r<3;++r)M[r].decode(T);for(st=0,at=0,J=nt[tt[0]],lt=l.lookupOffsets[J],ht=l.lookupOffsets[J+1],X=M[1].htrees[0];Z>0;){var gt,yt,mt,wt,bt,At,vt,_t,Et,St,Tt,xt;for(T.readMoreInput(),0===$[1]&&(I(et[1],y,1,tt,rt,it,T),$[1]=E(b,p,T),X=M[1].htrees[tt[1]]),--$[1],(yt=(gt=v(M[1].codes,X,T))>>6)>=2?(yt-=2,vt=-1):vt=0,mt=h.kInsertRangeLut[yt]+(gt>>3&7),wt=h.kCopyRangeLut[yt]+(7&gt),bt=h.kInsertLengthPrefixCode[mt].offset+T.readBits(h.kInsertLengthPrefixCode[mt].nbits),At=h.kCopyLengthPrefixCode[wt].offset+T.readBits(h.kCopyLengthPrefixCode[wt].nbits),L=f[N-1&d],U=f[N-2&d],Et=0;Et<bt;++Et)T.readMoreInput(),0===$[0]&&(I(et[0],y,0,tt,rt,it,T),$[0]=E(b,0,T),st=tt[0]<<6,J=nt[tt[0]],lt=l.lookupOffsets[J],ht=l.lookupOffsets[J+1]),ot=q[st+(l.lookup[lt+L]|l.lookup[ht+U])],--$[0],U=L,L=v(M[0].codes,M[0].htrees[ot],T),f[N&d]=L,(N&d)===d&&e.write(f,c),++N;if((Z-=bt)<=0)break;if(vt<0&&(T.readMoreInput(),0===$[2]&&(I(et[2],y,2,tt,rt,it,T),$[2]=E(b,2160,T),at=tt[2]<<2),--$[2],ct=K[at+(255&(At>4?3:At-2))],(vt=v(M[2].codes,M[2].htrees[ct],T))>=V&&(xt=(vt-=V)&z,vt=V+((Ct=(2+(1&(vt>>=W))<<(Tt=1+(vt>>1)))-4)+T.readBits(Tt)<<W)+xt)),(_t=S(vt,P,D))<0)throw new Error("[BrotliDecompress] invalid distance");if(St=N&d,_t>(B=N<n&&B!==n?N:n)){if(!(At>=o.minDictionaryWordLength&&At<=o.maxDictionaryWordLength))throw new Error("Invalid backward reference. pos: "+N+" distance: "+_t+" len: "+At+" bytes left: "+Z);var Ct=o.offsetsByLength[At],It=_t-B-1,Rt=o.sizeBitsByLength[At],kt=It>>Rt;if(Ct+=(It&(1<<Rt)-1)*At,!(kt<u.kNumTransforms))throw new Error("Invalid backward reference. pos: "+N+" distance: "+_t+" len: "+At+" bytes left: "+Z);var Nt=u.transformDictionaryWord(f,St,Ct,At,kt);if(N+=Nt,Z-=Nt,(St+=Nt)>=g){e.write(f,c);for(var Ot=0;Ot<St-g;Ot++)f[Ot]=f[g+Ot]}}else{if(vt>0&&(P[3&D]=_t,++D),At>Z)throw new Error("Invalid backward reference. pos: "+N+" distance: "+_t+" len: "+At+" bytes left: "+Z);for(Et=0;Et<At;++Et)f[N&d]=f[N-_t&d],(N&d)===d&&e.write(f,c),++N,--Z}L=f[N-1&d],U=f[N-2&d]}N&=1073741823}}e.write(f,N&d)}x.prototype.decode=function(t){var e,r=0;for(e=0;e<this.num_htrees;++e)this.htrees[e]=r,r+=_(this.alphabet_size,this.codes,r,t)},e.BrotliDecompressBuffer=function(t,e){var r=new i(t);null==e&&(e=N(t));var s=new Uint8Array(e),o=new n(s);return O(r,o),o.pos<o.buffer.length&&(o.buffer=o.buffer.subarray(0,o.pos)),o.buffer},o.init()},5340:(t,e,r)=>{var i=r(4789);e.init=function(){return(0,r(6450).BrotliDecompressBuffer)(i.toByteArray(r(2722)))}},2722:t=>{t.exports="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"},5139:(t,e,r)=>{var i=r(5340);e.init=function(){e.dictionary=i.init()},e.offsetsByLength=new Uint32Array([0,0,0,0,0,4096,9216,21504,35840,44032,53248,63488,74752,87040,93696,100864,104704,106752,108928,113536,115968,118528,119872,121280,122016]),e.sizeBitsByLength=new Uint8Array([0,0,0,0,10,10,11,11,10,10,10,10,10,9,9,8,7,7,8,7,7,6,6,5,5]),e.minDictionaryWordLength=4,e.maxDictionaryWordLength=24},966:(t,e)=>{function r(t,e){this.bits=t,this.value=e}e.h=r;function i(t,e){for(var r=1<<e-1;t&r;)r>>=1;return(t&r-1)+r}function n(t,e,i,n,s){do{t[e+(n-=i)]=new r(s.bits,s.value)}while(n>0)}function s(t,e,r){for(var i=1<<e-r;e<15&&!((i-=t[e])<=0);)++e,i<<=1;return e-r}e.g=function(t,e,o,a,c){var l,h,u,p,d,f,g,y,m,w,b=e,A=new Int32Array(16),v=new Int32Array(16);for(w=new Int32Array(c),h=0;h<c;h++)A[a[h]]++;for(v[1]=0,l=1;l<15;l++)v[l+1]=v[l]+A[l];for(h=0;h<c;h++)0!==a[h]&&(w[v[a[h]]++]=h);if(m=y=1<<(g=o),1===v[15]){for(u=0;u<m;++u)t[e+u]=new r(0,65535&w[0]);return m}for(u=0,h=0,l=1,p=2;l<=o;++l,p<<=1)for(;A[l]>0;--A[l])n(t,e+u,p,y,new r(255&l,65535&w[h++])),u=i(u,l);for(f=m-1,d=-1,l=o+1,p=2;l<=15;++l,p<<=1)for(;A[l]>0;--A[l])(u&f)!==d&&(e+=y,m+=y=1<<(g=s(A,l,o)),t[b+(d=u&f)]=new r(g+o&255,e-b-d&65535)),n(t,e+(u>>o),p,y,new r(l-o&255,65535&w[h++])),u=i(u,l);return m}},8435:(t,e)=>{function r(t,e){this.offset=t,this.nbits=e}e.kBlockLengthPrefixCode=[new r(1,2),new r(5,2),new r(9,2),new r(13,2),new r(17,3),new r(25,3),new r(33,3),new r(41,3),new r(49,4),new r(65,4),new r(81,4),new r(97,4),new r(113,5),new r(145,5),new r(177,5),new r(209,5),new r(241,6),new r(305,6),new r(369,7),new r(497,8),new r(753,9),new r(1265,10),new r(2289,11),new r(4337,12),new r(8433,13),new r(16625,24)],e.kInsertLengthPrefixCode=[new r(0,0),new r(1,0),new r(2,0),new r(3,0),new r(4,0),new r(5,0),new r(6,1),new r(8,1),new r(10,2),new r(14,2),new r(18,3),new r(26,3),new r(34,4),new r(50,4),new r(66,5),new r(98,5),new r(130,6),new r(194,7),new r(322,8),new r(578,9),new r(1090,10),new r(2114,12),new r(6210,14),new r(22594,24)],e.kCopyLengthPrefixCode=[new r(2,0),new r(3,0),new r(4,0),new r(5,0),new r(6,0),new r(7,0),new r(8,0),new r(9,0),new r(10,1),new r(12,1),new r(14,2),new r(18,2),new r(22,3),new r(30,3),new r(38,4),new r(54,4),new r(70,5),new r(102,5),new r(134,6),new r(198,7),new r(326,8),new r(582,9),new r(1094,10),new r(2118,24)],e.kInsertRangeLut=[0,0,8,8,0,16,8,16,16],e.kCopyRangeLut=[0,8,0,8,16,0,16,8,16]},6154:(t,e)=>{function r(t){this.buffer=t,this.pos=0}function i(t){this.buffer=t,this.pos=0}r.prototype.read=function(t,e,r){this.pos+r>this.buffer.length&&(r=this.buffer.length-this.pos);for(var i=0;i<r;i++)t[e+i]=this.buffer[this.pos+i];return this.pos+=r,r},e.g=r,i.prototype.write=function(t,e){if(this.pos+e>this.buffer.length)throw new Error("Output buffer is not large enough");return this.buffer.set(t.subarray(0,e),this.pos),this.pos+=e,e},e.j=i},2973:(t,e,r)=>{var i=r(5139),n=10,s=11;function o(t,e,r){this.prefix=new Uint8Array(t.length),this.transform=e,this.suffix=new Uint8Array(r.length);for(var i=0;i<t.length;i++)this.prefix[i]=t.charCodeAt(i);for(i=0;i<r.length;i++)this.suffix[i]=r.charCodeAt(i)}var a=[new o("",0,""),new o("",0," "),new o(" ",0," "),new o("",12,""),new o("",n," "),new o("",0," the "),new o(" ",0,""),new o("s ",0," "),new o("",0," of "),new o("",n,""),new o("",0," and "),new o("",13,""),new o("",1,""),new o(", ",0," "),new o("",0,", "),new o(" ",n," "),new o("",0," in "),new o("",0," to "),new o("e ",0," "),new o("",0,'"'),new o("",0,"."),new o("",0,'">'),new o("",0,"\n"),new o("",3,""),new o("",0,"]"),new o("",0," for "),new o("",14,""),new o("",2,""),new o("",0," a "),new o("",0," that "),new o(" ",n,""),new o("",0,". "),new o(".",0,""),new o(" ",0,", "),new o("",15,""),new o("",0," with "),new o("",0,"'"),new o("",0," from "),new o("",0," by "),new o("",16,""),new o("",17,""),new o(" the ",0,""),new o("",4,""),new o("",0,". The "),new o("",s,""),new o("",0," on "),new o("",0," as "),new o("",0," is "),new o("",7,""),new o("",1,"ing "),new o("",0,"\n\t"),new o("",0,":"),new o(" ",0,". "),new o("",0,"ed "),new o("",20,""),new o("",18,""),new o("",6,""),new o("",0,"("),new o("",n,", "),new o("",8,""),new o("",0," at "),new o("",0,"ly "),new o(" the ",0," of "),new o("",5,""),new o("",9,""),new o(" ",n,", "),new o("",n,'"'),new o(".",0,"("),new o("",s," "),new o("",n,'">'),new o("",0,'="'),new o(" ",0,"."),new o(".com/",0,""),new o(" the ",0," of the "),new o("",n,"'"),new o("",0,". This "),new o("",0,","),new o(".",0," "),new o("",n,"("),new o("",n,"."),new o("",0," not "),new o(" ",0,'="'),new o("",0,"er "),new o(" ",s," "),new o("",0,"al "),new o(" ",s,""),new o("",0,"='"),new o("",s,'"'),new o("",n,". "),new o(" ",0,"("),new o("",0,"ful "),new o(" ",n,". "),new o("",0,"ive "),new o("",0,"less "),new o("",s,"'"),new o("",0,"est "),new o(" ",n,"."),new o("",s,'">'),new o(" ",0,"='"),new o("",n,","),new o("",0,"ize "),new o("",s,"."),new o(" ",0,""),new o(" ",0,","),new o("",n,'="'),new o("",s,'="'),new o("",0,"ous "),new o("",s,", "),new o("",n,"='"),new o(" ",n,","),new o(" ",s,'="'),new o(" ",s,", "),new o("",s,","),new o("",s,"("),new o("",s,". "),new o(" ",s,"."),new o("",s,"='"),new o(" ",s,". "),new o(" ",n,'="'),new o(" ",s,"='"),new o(" ",n,"='")];function c(t,e){return t[e]<192?(t[e]>=97&&t[e]<=122&&(t[e]^=32),1):t[e]<224?(t[e+1]^=32,2):(t[e+2]^=5,3)}e.kTransforms=a,e.kNumTransforms=a.length,e.transformDictionaryWord=function(t,e,r,o,l){var h,u=a[l].prefix,p=a[l].suffix,d=a[l].transform,f=d<12?0:d-11,g=0,y=e;f>o&&(f=o);for(var m=0;m<u.length;)t[e++]=u[m++];for(r+=f,o-=f,d<=9&&(o-=d),g=0;g<o;g++)t[e++]=i.dictionary[r+g];if(h=e-o,d===n)c(t,h);else if(d===s)for(;o>0;){var w=c(t,h);h+=w,o-=w}for(var b=0;b<p.length;)t[e++]=p[b++];return e-y}},7709:(t,e,r)=>{t.exports=r(6450).BrotliDecompressBuffer},4789:(t,e)=>{e.byteLength=function(t){var e=a(t),r=e[0],i=e[1];return 3*(r+i)/4-i},e.toByteArray=function(t){for(var e,r=a(t),s=r[0],o=r[1],c=new n(function(t,e,r){return 3*(e+r)/4-r}(0,s,o)),l=0,h=o>0?s-4:s,u=0;u<h;u+=4)e=i[t.charCodeAt(u)]<<18|i[t.charCodeAt(u+1)]<<12|i[t.charCodeAt(u+2)]<<6|i[t.charCodeAt(u+3)],c[l++]=e>>16&255,c[l++]=e>>8&255,c[l++]=255&e;return 2===o&&(e=i[t.charCodeAt(u)]<<2|i[t.charCodeAt(u+1)]>>4,c[l++]=255&e),1===o&&(e=i[t.charCodeAt(u)]<<10|i[t.charCodeAt(u+1)]<<4|i[t.charCodeAt(u+2)]>>2,c[l++]=e>>8&255,c[l++]=255&e),c},e.fromByteArray=function(t){for(var e,i=t.length,n=i%3,s=[],o=16383,a=0,l=i-n;a<l;a+=o)s.push(c(t,a,a+o>l?l:a+o));return 1===n?(e=t[i-1],s.push(r[e>>2]+r[e<<4&63]+"==")):2===n&&(e=(t[i-2]<<8)+t[i-1],s.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),s.join("")};for(var r=[],i=[],n="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)r[o]=s[o],i[s.charCodeAt(o)]=o;function a(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function c(t,e,i){for(var n,s,o=[],a=e;a<i;a+=3)n=(t[a]<<16&16711680)+(t[a+1]<<8&65280)+(255&t[a+2]),o.push(r[(s=n)>>18&63]+r[s>>12&63]+r[s>>6&63]+r[63&s]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},8764:(t,e,r)=>{
1
+ /*! sw.js (wabac.js 2.21.2) is part of Webrecorder project. Copyright (C) 2020-2025, Webrecorder Software. Licensed under the Affero General Public License v3. */var t={9742:(t,e)=>{e.byteLength=function(t){var e=a(t),r=e[0],i=e[1];return 3*(r+i)/4-i},e.toByteArray=function(t){var e,r,s=a(t),o=s[0],c=s[1],l=new n(function(t,e,r){return 3*(e+r)/4-r}(0,o,c)),h=0,u=c>0?o-4:o;for(r=0;r<u;r+=4)e=i[t.charCodeAt(r)]<<18|i[t.charCodeAt(r+1)]<<12|i[t.charCodeAt(r+2)]<<6|i[t.charCodeAt(r+3)],l[h++]=e>>16&255,l[h++]=e>>8&255,l[h++]=255&e;return 2===c&&(e=i[t.charCodeAt(r)]<<2|i[t.charCodeAt(r+1)]>>4,l[h++]=255&e),1===c&&(e=i[t.charCodeAt(r)]<<10|i[t.charCodeAt(r+1)]<<4|i[t.charCodeAt(r+2)]>>2,l[h++]=e>>8&255,l[h++]=255&e),l},e.fromByteArray=function(t){for(var e,i=t.length,n=i%3,s=[],o=16383,a=0,l=i-n;a<l;a+=o)s.push(c(t,a,a+o>l?l:a+o));return 1===n?(e=t[i-1],s.push(r[e>>2]+r[e<<4&63]+"==")):2===n&&(e=(t[i-2]<<8)+t[i-1],s.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),s.join("")};for(var r=[],i=[],n="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)r[o]=s[o],i[s.charCodeAt(o)]=o;function a(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function c(t,e,i){for(var n,s,o=[],a=e;a<i;a+=3)n=(t[a]<<16&16711680)+(t[a+1]<<8&65280)+(255&t[a+2]),o.push(r[(s=n)>>18&63]+r[s>>12&63]+r[s>>6&63]+r[63&s]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},4181:t=>{var e=4096,r=new Uint32Array([0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535,131071,262143,524287,1048575,2097151,4194303,8388607,16777215]);function i(t){this.buf_=new Uint8Array(8224),this.input_=t,this.reset()}i.READ_SIZE=e,i.IBUF_MASK=8191,i.prototype.reset=function(){this.buf_ptr_=0,this.val_=0,this.pos_=0,this.bit_pos_=0,this.bit_end_pos_=0,this.eos_=0,this.readMoreInput();for(var t=0;t<4;t++)this.val_|=this.buf_[this.pos_]<<8*t,++this.pos_;return this.bit_end_pos_>0},i.prototype.readMoreInput=function(){if(!(this.bit_end_pos_>256))if(this.eos_){if(this.bit_pos_>this.bit_end_pos_)throw new Error("Unexpected end of input "+this.bit_pos_+" "+this.bit_end_pos_)}else{var t=this.buf_ptr_,r=this.input_.read(this.buf_,t,e);if(r<0)throw new Error("Unexpected end of input");if(r<e){this.eos_=1;for(var i=0;i<32;i++)this.buf_[t+r+i]=0}if(0===t){for(i=0;i<32;i++)this.buf_[8192+i]=this.buf_[i];this.buf_ptr_=e}else this.buf_ptr_=0;this.bit_end_pos_+=r<<3}},i.prototype.fillBitWindow=function(){for(;this.bit_pos_>=8;)this.val_>>>=8,this.val_|=this.buf_[8191&this.pos_]<<24,++this.pos_,this.bit_pos_=this.bit_pos_-8>>>0,this.bit_end_pos_=this.bit_end_pos_-8>>>0},i.prototype.readBits=function(t){32-this.bit_pos_<t&&this.fillBitWindow();var e=this.val_>>>this.bit_pos_&r[t];return this.bit_pos_+=t,e},t.exports=i},7080:(t,e)=>{e.lookup=new Uint8Array([0,0,0,0,0,0,0,0,0,4,4,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,12,16,12,12,20,12,16,24,28,12,12,32,12,36,12,44,44,44,44,44,44,44,44,44,44,32,32,24,40,28,12,12,48,52,52,52,48,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,24,12,28,12,12,12,56,60,60,60,56,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,24,12,28,12,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,43,43,43,43,44,44,44,44,45,45,45,45,46,46,46,46,47,47,47,47,48,48,48,48,49,49,49,49,50,50,50,50,51,51,51,51,52,52,52,52,53,53,53,53,54,54,54,54,55,55,55,55,56,56,56,56,57,57,57,57,58,58,58,58,59,59,59,59,60,60,60,60,61,61,61,61,62,62,62,62,63,63,63,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),e.lookupOffsets=new Uint16Array([1024,1536,1280,1536,0,256,768,512])},6450:(t,e,r)=>{var i=r(6154).g,n=r(6154).j,s=r(4181),o=r(5139),a=r(966).h,c=r(966).g,l=r(7080),h=r(8435),u=r(2973),p=1080,d=new Uint8Array([1,2,3,4,0,5,17,6,16,7,8,9,10,11,12,13,14,15]),f=new Uint8Array([3,2,1,0,3,3,3,3,3,3,2,2,2,2,2,2]),g=new Int8Array([0,0,0,0,-1,1,-2,2,-3,3,-1,1,-2,2,-3,3]),y=new Uint16Array([256,402,436,468,500,534,566,598,630,662,694,726,758,790,822,854,886,920,952,984,1016,1048,1080]);function m(t){var e;return 0===t.readBits(1)?16:(e=t.readBits(3))>0?17+e:(e=t.readBits(3))>0?8+e:17}function w(t){if(t.readBits(1)){var e=t.readBits(3);return 0===e?1:t.readBits(e)+(1<<e)}return 0}function b(){this.meta_block_length=0,this.input_end=0,this.is_uncompressed=0,this.is_metadata=!1}function A(t){var e,r,i,n=new b;if(n.input_end=t.readBits(1),n.input_end&&t.readBits(1))return n;if(7===(e=t.readBits(2)+4)){if(n.is_metadata=!0,0!==t.readBits(1))throw new Error("Invalid reserved bit");if(0===(r=t.readBits(2)))return n;for(i=0;i<r;i++){var s=t.readBits(8);if(i+1===r&&r>1&&0===s)throw new Error("Invalid size byte");n.meta_block_length|=s<<8*i}}else for(i=0;i<e;++i){var o=t.readBits(4);if(i+1===e&&e>4&&0===o)throw new Error("Invalid size nibble");n.meta_block_length|=o<<4*i}return++n.meta_block_length,n.input_end||n.is_metadata||(n.is_uncompressed=t.readBits(1)),n}function v(t,e,r){var i;return r.fillBitWindow(),(i=t[e+=r.val_>>>r.bit_pos_&255].bits-8)>0&&(r.bit_pos_+=8,e+=t[e].value,e+=r.val_>>>r.bit_pos_&(1<<i)-1),r.bit_pos_+=t[e].bits,t[e].value}function _(t,e,r,i){var n,s,o=new Uint8Array(t);if(i.readMoreInput(),1===(s=i.readBits(2))){for(var l=t-1,h=0,u=new Int32Array(4),p=i.readBits(2)+1;l;)l>>=1,++h;for(f=0;f<p;++f)u[f]=i.readBits(h)%t,o[u[f]]=2;switch(o[u[0]]=1,p){case 1:break;case 3:if(u[0]===u[1]||u[0]===u[2]||u[1]===u[2])throw new Error("[ReadHuffmanCode] invalid symbols");break;case 2:if(u[0]===u[1])throw new Error("[ReadHuffmanCode] invalid symbols");o[u[1]]=1;break;case 4:if(u[0]===u[1]||u[0]===u[2]||u[0]===u[3]||u[1]===u[2]||u[1]===u[3]||u[2]===u[3])throw new Error("[ReadHuffmanCode] invalid symbols");i.readBits(1)?(o[u[2]]=3,o[u[3]]=3):o[u[0]]=2}}else{var f,g=new Uint8Array(18),y=32,m=0,w=[new a(2,0),new a(2,4),new a(2,3),new a(3,2),new a(2,0),new a(2,4),new a(2,3),new a(4,1),new a(2,0),new a(2,4),new a(2,3),new a(3,2),new a(2,0),new a(2,4),new a(2,3),new a(4,5)];for(f=s;f<18&&y>0;++f){var b,A=d[f],v=0;i.fillBitWindow(),v+=i.val_>>>i.bit_pos_&15,i.bit_pos_+=w[v].bits,b=w[v].value,g[A]=b,0!==b&&(y-=32>>b,++m)}if(1!==m&&0!==y)throw new Error("[ReadHuffmanCode] invalid num_codes or space");!function(t,e,r,i){for(var n=0,s=8,o=0,l=0,h=32768,u=[],p=0;p<32;p++)u.push(new a(0,0));for(c(u,0,5,t,18);n<e&&h>0;){var d,f=0;if(i.readMoreInput(),i.fillBitWindow(),f+=i.val_>>>i.bit_pos_&31,i.bit_pos_+=u[f].bits,(d=255&u[f].value)<16)o=0,r[n++]=d,0!==d&&(s=d,h-=32768>>d);else{var g,y,m=d-14,w=0;if(16===d&&(w=s),l!==w&&(o=0,l=w),g=o,o>0&&(o-=2,o<<=m),n+(y=(o+=i.readBits(m)+3)-g)>e)throw new Error("[ReadHuffmanCodeLengths] symbol + repeat_delta > num_symbols");for(var b=0;b<y;b++)r[n+b]=l;n+=y,0!==l&&(h-=y<<15-l)}}if(0!==h)throw new Error("[ReadHuffmanCodeLengths] space = "+h);for(;n<e;n++)r[n]=0}(g,t,o,i)}if(0===(n=c(e,r,8,o,t)))throw new Error("[ReadHuffmanCode] BuildHuffmanTable failed: ");return n}function E(t,e,r){var i,n;return i=v(t,e,r),n=h.kBlockLengthPrefixCode[i].nbits,h.kBlockLengthPrefixCode[i].offset+r.readBits(n)}function S(t,e,r){var i;return t<16?(r+=f[t],i=e[r&=3]+g[t]):i=t-16+1,i}function T(t,e){for(var r=t[e],i=e;i;--i)t[i]=t[i-1];t[0]=r}function x(t,e){this.alphabet_size=t,this.num_htrees=e,this.codes=new Array(e+e*y[t+31>>>5]),this.htrees=new Uint32Array(e)}function C(t,e){var r,i,n={num_htrees:null,context_map:null},s=0;e.readMoreInput();var o=n.num_htrees=w(e)+1,c=n.context_map=new Uint8Array(t);if(o<=1)return n;for(e.readBits(1)&&(s=e.readBits(4)+1),r=[],i=0;i<p;i++)r[i]=new a(0,0);for(_(o+s,r,0,e),i=0;i<t;){var l;if(e.readMoreInput(),0===(l=v(r,0,e)))c[i]=0,++i;else if(l<=s)for(var h=1+(1<<l)+e.readBits(l);--h;){if(i>=t)throw new Error("[DecodeContextMap] i >= context_map_size");c[i]=0,++i}else c[i]=l-s,++i}return e.readBits(1)&&function(t,e){var r,i=new Uint8Array(256);for(r=0;r<256;++r)i[r]=r;for(r=0;r<e;++r){var n=t[r];t[r]=i[n],n&&T(i,n)}}(c,t),n}function I(t,e,r,i,n,s,o){var a,c=2*r,l=r,h=v(e,r*p,o);(a=0===h?n[c+(1&s[l])]:1===h?n[c+(s[l]-1&1)]+1:h-2)>=t&&(a-=t),i[r]=a,n[c+(1&s[l])]=a,++s[l]}function R(t,e,r,i,n,o){var a,c=n+1,l=r&n,h=o.pos_&s.IBUF_MASK;if(e<8||o.bit_pos_+(e<<3)<o.bit_end_pos_)for(;e-- >0;)o.readMoreInput(),i[l++]=o.readBits(8),l===c&&(t.write(i,c),l=0);else{if(o.bit_end_pos_<32)throw new Error("[CopyUncompressedBlockToOutput] br.bit_end_pos_ < 32");for(;o.bit_pos_<32;)i[l]=o.val_>>>o.bit_pos_,o.bit_pos_+=8,++l,--e;if(h+(a=o.bit_end_pos_-o.bit_pos_>>3)>s.IBUF_MASK){for(var u=s.IBUF_MASK+1-h,p=0;p<u;p++)i[l+p]=o.buf_[h+p];a-=u,l+=u,e-=u,h=0}for(p=0;p<a;p++)i[l+p]=o.buf_[h+p];if(e-=a,(l+=a)>=c)for(t.write(i,c),l-=c,p=0;p<l;p++)i[p]=i[c+p];for(;l+e>=c;){if(a=c-l,o.input_.read(i,l,a)<a)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");t.write(i,c),e-=a,l=0}if(o.input_.read(i,l,e)<e)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");o.reset()}}function k(t){var e=t.bit_pos_+7&-8;return 0==t.readBits(e-t.bit_pos_)}function N(t){var e=new i(t),r=new s(e);return m(r),A(r).meta_block_length}function O(t,e){var r,i,n,c,d,f,g,y,b,T,N=0,O=0,B=0,P=[16,15,11,4],D=0,L=0,U=0,M=[new x(0,0),new x(0,0),new x(0,0)],F=128+s.READ_SIZE;n=(1<<(i=m(T=new s(t))))-16,d=(c=1<<i)-1,f=new Uint8Array(c+F+o.maxDictionaryWordLength),g=c,y=[],b=[];for(var H=0;H<3240;H++)y[H]=new a(0,0),b[H]=new a(0,0);for(;!O;){var j,W,V,z,G,q,Q,K,Y,J,X,Z=0,$=[1<<28,1<<28,1<<28],tt=[0],et=[1,1,1],rt=[0,1,0,1,0,1],it=[0],nt=null,st=null,ot=0,at=null,ct=0,lt=0,ht=0;for(r=0;r<3;++r)M[r].codes=null,M[r].htrees=null;T.readMoreInput();var ut=A(T);if(N+(Z=ut.meta_block_length)>e.buffer.length){var pt=new Uint8Array(N+Z);pt.set(e.buffer),e.buffer=pt}if(O=ut.input_end,j=ut.is_uncompressed,ut.is_metadata)for(k(T);Z>0;--Z)T.readMoreInput(),T.readBits(8);else if(0!==Z)if(j)T.bit_pos_=T.bit_pos_+7&-8,R(e,Z,N,f,d,T),N+=Z;else{for(r=0;r<3;++r)et[r]=w(T)+1,et[r]>=2&&(_(et[r]+2,y,r*p,T),_(26,b,r*p,T),$[r]=E(b,r*p,T),it[r]=1);for(T.readMoreInput(),z=(1<<(W=T.readBits(2)))-1,G=(V=16+(T.readBits(4)<<W))+(48<<W),nt=new Uint8Array(et[0]),r=0;r<et[0];++r)T.readMoreInput(),nt[r]=T.readBits(2)<<1;var dt=C(et[0]<<6,T);Q=dt.num_htrees,q=dt.context_map;var ft=C(et[2]<<2,T);for(Y=ft.num_htrees,K=ft.context_map,M[0]=new x(256,Q),M[1]=new x(704,et[1]),M[2]=new x(G,Y),r=0;r<3;++r)M[r].decode(T);for(st=0,at=0,J=nt[tt[0]],lt=l.lookupOffsets[J],ht=l.lookupOffsets[J+1],X=M[1].htrees[0];Z>0;){var gt,yt,mt,wt,bt,At,vt,_t,Et,St,Tt,xt;for(T.readMoreInput(),0===$[1]&&(I(et[1],y,1,tt,rt,it,T),$[1]=E(b,p,T),X=M[1].htrees[tt[1]]),--$[1],(yt=(gt=v(M[1].codes,X,T))>>6)>=2?(yt-=2,vt=-1):vt=0,mt=h.kInsertRangeLut[yt]+(gt>>3&7),wt=h.kCopyRangeLut[yt]+(7&gt),bt=h.kInsertLengthPrefixCode[mt].offset+T.readBits(h.kInsertLengthPrefixCode[mt].nbits),At=h.kCopyLengthPrefixCode[wt].offset+T.readBits(h.kCopyLengthPrefixCode[wt].nbits),L=f[N-1&d],U=f[N-2&d],Et=0;Et<bt;++Et)T.readMoreInput(),0===$[0]&&(I(et[0],y,0,tt,rt,it,T),$[0]=E(b,0,T),st=tt[0]<<6,J=nt[tt[0]],lt=l.lookupOffsets[J],ht=l.lookupOffsets[J+1]),ot=q[st+(l.lookup[lt+L]|l.lookup[ht+U])],--$[0],U=L,L=v(M[0].codes,M[0].htrees[ot],T),f[N&d]=L,(N&d)===d&&e.write(f,c),++N;if((Z-=bt)<=0)break;if(vt<0&&(T.readMoreInput(),0===$[2]&&(I(et[2],y,2,tt,rt,it,T),$[2]=E(b,2160,T),at=tt[2]<<2),--$[2],ct=K[at+(255&(At>4?3:At-2))],(vt=v(M[2].codes,M[2].htrees[ct],T))>=V&&(xt=(vt-=V)&z,vt=V+((Ct=(2+(1&(vt>>=W))<<(Tt=1+(vt>>1)))-4)+T.readBits(Tt)<<W)+xt)),(_t=S(vt,P,D))<0)throw new Error("[BrotliDecompress] invalid distance");if(St=N&d,_t>(B=N<n&&B!==n?N:n)){if(!(At>=o.minDictionaryWordLength&&At<=o.maxDictionaryWordLength))throw new Error("Invalid backward reference. pos: "+N+" distance: "+_t+" len: "+At+" bytes left: "+Z);var Ct=o.offsetsByLength[At],It=_t-B-1,Rt=o.sizeBitsByLength[At],kt=It>>Rt;if(Ct+=(It&(1<<Rt)-1)*At,!(kt<u.kNumTransforms))throw new Error("Invalid backward reference. pos: "+N+" distance: "+_t+" len: "+At+" bytes left: "+Z);var Nt=u.transformDictionaryWord(f,St,Ct,At,kt);if(N+=Nt,Z-=Nt,(St+=Nt)>=g){e.write(f,c);for(var Ot=0;Ot<St-g;Ot++)f[Ot]=f[g+Ot]}}else{if(vt>0&&(P[3&D]=_t,++D),At>Z)throw new Error("Invalid backward reference. pos: "+N+" distance: "+_t+" len: "+At+" bytes left: "+Z);for(Et=0;Et<At;++Et)f[N&d]=f[N-_t&d],(N&d)===d&&e.write(f,c),++N,--Z}L=f[N-1&d],U=f[N-2&d]}N&=1073741823}}e.write(f,N&d)}x.prototype.decode=function(t){var e,r=0;for(e=0;e<this.num_htrees;++e)this.htrees[e]=r,r+=_(this.alphabet_size,this.codes,r,t)},e.BrotliDecompressBuffer=function(t,e){var r=new i(t);null==e&&(e=N(t));var s=new Uint8Array(e),o=new n(s);return O(r,o),o.pos<o.buffer.length&&(o.buffer=o.buffer.subarray(0,o.pos)),o.buffer},o.init()},5340:(t,e,r)=>{var i=r(4789);e.init=function(){return(0,r(6450).BrotliDecompressBuffer)(i.toByteArray(r(2722)))}},2722:t=>{t.exports="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"},5139:(t,e,r)=>{var i=r(5340);e.init=function(){e.dictionary=i.init()},e.offsetsByLength=new Uint32Array([0,0,0,0,0,4096,9216,21504,35840,44032,53248,63488,74752,87040,93696,100864,104704,106752,108928,113536,115968,118528,119872,121280,122016]),e.sizeBitsByLength=new Uint8Array([0,0,0,0,10,10,11,11,10,10,10,10,10,9,9,8,7,7,8,7,7,6,6,5,5]),e.minDictionaryWordLength=4,e.maxDictionaryWordLength=24},966:(t,e)=>{function r(t,e){this.bits=t,this.value=e}e.h=r;function i(t,e){for(var r=1<<e-1;t&r;)r>>=1;return(t&r-1)+r}function n(t,e,i,n,s){do{t[e+(n-=i)]=new r(s.bits,s.value)}while(n>0)}function s(t,e,r){for(var i=1<<e-r;e<15&&!((i-=t[e])<=0);)++e,i<<=1;return e-r}e.g=function(t,e,o,a,c){var l,h,u,p,d,f,g,y,m,w,b=e,A=new Int32Array(16),v=new Int32Array(16);for(w=new Int32Array(c),h=0;h<c;h++)A[a[h]]++;for(v[1]=0,l=1;l<15;l++)v[l+1]=v[l]+A[l];for(h=0;h<c;h++)0!==a[h]&&(w[v[a[h]]++]=h);if(m=y=1<<(g=o),1===v[15]){for(u=0;u<m;++u)t[e+u]=new r(0,65535&w[0]);return m}for(u=0,h=0,l=1,p=2;l<=o;++l,p<<=1)for(;A[l]>0;--A[l])n(t,e+u,p,y,new r(255&l,65535&w[h++])),u=i(u,l);for(f=m-1,d=-1,l=o+1,p=2;l<=15;++l,p<<=1)for(;A[l]>0;--A[l])(u&f)!==d&&(e+=y,m+=y=1<<(g=s(A,l,o)),t[b+(d=u&f)]=new r(g+o&255,e-b-d&65535)),n(t,e+(u>>o),p,y,new r(l-o&255,65535&w[h++])),u=i(u,l);return m}},8435:(t,e)=>{function r(t,e){this.offset=t,this.nbits=e}e.kBlockLengthPrefixCode=[new r(1,2),new r(5,2),new r(9,2),new r(13,2),new r(17,3),new r(25,3),new r(33,3),new r(41,3),new r(49,4),new r(65,4),new r(81,4),new r(97,4),new r(113,5),new r(145,5),new r(177,5),new r(209,5),new r(241,6),new r(305,6),new r(369,7),new r(497,8),new r(753,9),new r(1265,10),new r(2289,11),new r(4337,12),new r(8433,13),new r(16625,24)],e.kInsertLengthPrefixCode=[new r(0,0),new r(1,0),new r(2,0),new r(3,0),new r(4,0),new r(5,0),new r(6,1),new r(8,1),new r(10,2),new r(14,2),new r(18,3),new r(26,3),new r(34,4),new r(50,4),new r(66,5),new r(98,5),new r(130,6),new r(194,7),new r(322,8),new r(578,9),new r(1090,10),new r(2114,12),new r(6210,14),new r(22594,24)],e.kCopyLengthPrefixCode=[new r(2,0),new r(3,0),new r(4,0),new r(5,0),new r(6,0),new r(7,0),new r(8,0),new r(9,0),new r(10,1),new r(12,1),new r(14,2),new r(18,2),new r(22,3),new r(30,3),new r(38,4),new r(54,4),new r(70,5),new r(102,5),new r(134,6),new r(198,7),new r(326,8),new r(582,9),new r(1094,10),new r(2118,24)],e.kInsertRangeLut=[0,0,8,8,0,16,8,16,16],e.kCopyRangeLut=[0,8,0,8,16,0,16,8,16]},6154:(t,e)=>{function r(t){this.buffer=t,this.pos=0}function i(t){this.buffer=t,this.pos=0}r.prototype.read=function(t,e,r){this.pos+r>this.buffer.length&&(r=this.buffer.length-this.pos);for(var i=0;i<r;i++)t[e+i]=this.buffer[this.pos+i];return this.pos+=r,r},e.g=r,i.prototype.write=function(t,e){if(this.pos+e>this.buffer.length)throw new Error("Output buffer is not large enough");return this.buffer.set(t.subarray(0,e),this.pos),this.pos+=e,e},e.j=i},2973:(t,e,r)=>{var i=r(5139),n=10,s=11;function o(t,e,r){this.prefix=new Uint8Array(t.length),this.transform=e,this.suffix=new Uint8Array(r.length);for(var i=0;i<t.length;i++)this.prefix[i]=t.charCodeAt(i);for(i=0;i<r.length;i++)this.suffix[i]=r.charCodeAt(i)}var a=[new o("",0,""),new o("",0," "),new o(" ",0," "),new o("",12,""),new o("",n," "),new o("",0," the "),new o(" ",0,""),new o("s ",0," "),new o("",0," of "),new o("",n,""),new o("",0," and "),new o("",13,""),new o("",1,""),new o(", ",0," "),new o("",0,", "),new o(" ",n," "),new o("",0," in "),new o("",0," to "),new o("e ",0," "),new o("",0,'"'),new o("",0,"."),new o("",0,'">'),new o("",0,"\n"),new o("",3,""),new o("",0,"]"),new o("",0," for "),new o("",14,""),new o("",2,""),new o("",0," a "),new o("",0," that "),new o(" ",n,""),new o("",0,". "),new o(".",0,""),new o(" ",0,", "),new o("",15,""),new o("",0," with "),new o("",0,"'"),new o("",0," from "),new o("",0," by "),new o("",16,""),new o("",17,""),new o(" the ",0,""),new o("",4,""),new o("",0,". The "),new o("",s,""),new o("",0," on "),new o("",0," as "),new o("",0," is "),new o("",7,""),new o("",1,"ing "),new o("",0,"\n\t"),new o("",0,":"),new o(" ",0,". "),new o("",0,"ed "),new o("",20,""),new o("",18,""),new o("",6,""),new o("",0,"("),new o("",n,", "),new o("",8,""),new o("",0," at "),new o("",0,"ly "),new o(" the ",0," of "),new o("",5,""),new o("",9,""),new o(" ",n,", "),new o("",n,'"'),new o(".",0,"("),new o("",s," "),new o("",n,'">'),new o("",0,'="'),new o(" ",0,"."),new o(".com/",0,""),new o(" the ",0," of the "),new o("",n,"'"),new o("",0,". This "),new o("",0,","),new o(".",0," "),new o("",n,"("),new o("",n,"."),new o("",0," not "),new o(" ",0,'="'),new o("",0,"er "),new o(" ",s," "),new o("",0,"al "),new o(" ",s,""),new o("",0,"='"),new o("",s,'"'),new o("",n,". "),new o(" ",0,"("),new o("",0,"ful "),new o(" ",n,". "),new o("",0,"ive "),new o("",0,"less "),new o("",s,"'"),new o("",0,"est "),new o(" ",n,"."),new o("",s,'">'),new o(" ",0,"='"),new o("",n,","),new o("",0,"ize "),new o("",s,"."),new o(" ",0,""),new o(" ",0,","),new o("",n,'="'),new o("",s,'="'),new o("",0,"ous "),new o("",s,", "),new o("",n,"='"),new o(" ",n,","),new o(" ",s,'="'),new o(" ",s,", "),new o("",s,","),new o("",s,"("),new o("",s,". "),new o(" ",s,"."),new o("",s,"='"),new o(" ",s,". "),new o(" ",n,'="'),new o(" ",s,"='"),new o(" ",n,"='")];function c(t,e){return t[e]<192?(t[e]>=97&&t[e]<=122&&(t[e]^=32),1):t[e]<224?(t[e+1]^=32,2):(t[e+2]^=5,3)}e.kTransforms=a,e.kNumTransforms=a.length,e.transformDictionaryWord=function(t,e,r,o,l){var h,u=a[l].prefix,p=a[l].suffix,d=a[l].transform,f=d<12?0:d-11,g=0,y=e;f>o&&(f=o);for(var m=0;m<u.length;)t[e++]=u[m++];for(r+=f,o-=f,d<=9&&(o-=d),g=0;g<o;g++)t[e++]=i.dictionary[r+g];if(h=e-o,d===n)c(t,h);else if(d===s)for(;o>0;){var w=c(t,h);h+=w,o-=w}for(var b=0;b<p.length;)t[e++]=p[b++];return e-y}},7709:(t,e,r)=>{t.exports=r(6450).BrotliDecompressBuffer},4789:(t,e)=>{e.byteLength=function(t){var e=a(t),r=e[0],i=e[1];return 3*(r+i)/4-i},e.toByteArray=function(t){for(var e,r=a(t),s=r[0],o=r[1],c=new n(function(t,e,r){return 3*(e+r)/4-r}(0,s,o)),l=0,h=o>0?s-4:s,u=0;u<h;u+=4)e=i[t.charCodeAt(u)]<<18|i[t.charCodeAt(u+1)]<<12|i[t.charCodeAt(u+2)]<<6|i[t.charCodeAt(u+3)],c[l++]=e>>16&255,c[l++]=e>>8&255,c[l++]=255&e;return 2===o&&(e=i[t.charCodeAt(u)]<<2|i[t.charCodeAt(u+1)]>>4,c[l++]=255&e),1===o&&(e=i[t.charCodeAt(u)]<<10|i[t.charCodeAt(u+1)]<<4|i[t.charCodeAt(u+2)]>>2,c[l++]=e>>8&255,c[l++]=255&e),c},e.fromByteArray=function(t){for(var e,i=t.length,n=i%3,s=[],o=16383,a=0,l=i-n;a<l;a+=o)s.push(c(t,a,a+o>l?l:a+o));return 1===n?(e=t[i-1],s.push(r[e>>2]+r[e<<4&63]+"==")):2===n&&(e=(t[i-2]<<8)+t[i-1],s.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),s.join("")};for(var r=[],i=[],n="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)r[o]=s[o],i[s.charCodeAt(o)]=o;function a(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function c(t,e,i){for(var n,s,o=[],a=e;a<i;a+=3)n=(t[a]<<16&16711680)+(t[a+1]<<8&65280)+(255&t[a+2]),o.push(r[(s=n)>>18&63]+r[s>>12&63]+r[s>>6&63]+r[63&s]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},8764:(t,e,r)=>{
2
2
  /*!
3
3
  * The buffer module from node.js, for the browser.
4
4
  *
@@ -116,4 +116,4 @@ PERFORMANCE OF THIS SOFTWARE.
116
116
  * SOFTWARE.
117
117
  *
118
118
  */
119
- const cm="crypto.algorithm",lm="crypto.algorithmProvider";var hm;sy.registerSingleton(lm,class{getAlgorithms(){return sy.resolveAll(cm)}toAsnAlgorithm(t){for(const e of this.getAlgorithms()){const r=e.toAsnAlgorithm(t);if(r)return r}if(/[0-9.]+/.test(t.name)){const e=new rd({algorithm:t.name});if("parameters"in t){const r=t;e.parameters=r.parameters}return e}throw new Error("Cannot convert WebCrypto algorithm to ASN.1 algorithm")}toWebAlgorithm(t){for(const e of this.getAlgorithms()){const r=e.toWebAlgorithm(t);if(r)return r}return{name:t.algorithm,parameters:t.parameters}}});const um="1.3.36.3.3.2.8.1.1",pm=`${um}.1`,dm=`${um}.2`,fm=`${um}.3`,gm=`${um}.4`,ym=`${um}.5`,mm=`${um}.6`,wm=`${um}.7`,bm=`${um}.8`,Am=`${um}.9`,vm=`${um}.10`,_m=`${um}.11`,Em=`${um}.12`,Sm=`${um}.13`,Tm=`${um}.14`,xm="brainpoolP160r1",Cm="brainpoolP160t1",Im="brainpoolP192r1",Rm="brainpoolP192t1",km="brainpoolP224r1",Nm="brainpoolP224t1",Om="brainpoolP256r1",Bm="brainpoolP256t1",Pm="brainpoolP320r1",Dm="brainpoolP320t1",Lm="brainpoolP384r1",Um="brainpoolP384t1",Mm="brainpoolP512r1",Fm="brainpoolP512t1",Hm="ECDSA";let jm=hm=class{toAsnAlgorithm(t){if(t.name.toLowerCase()===Hm.toLowerCase())if("hash"in t)switch(("string"==typeof t.hash?t.hash:t.hash.name).toLowerCase()){case"sha-1":return Xf;case"sha-256":return Zf;case"sha-384":return $f;case"sha-512":return tg}else if("namedCurve"in t){let e="";switch(t.namedCurve){case"P-256":e=Qf;break;case"K-256":e=hm.SECP256K1;break;case"P-384":e=Kf;break;case"P-521":e=Yf;break;case xm:e=pm;break;case Cm:e=dm;break;case Im:e=fm;break;case Rm:e=gm;break;case km:e=ym;break;case Nm:e=mm;break;case Om:e=wm;break;case Bm:e=bm;break;case Pm:e=Am;break;case Dm:e=vm;break;case Lm:e=_m;break;case Um:e=Em;break;case Mm:e=Sm;break;case Fm:e=Tm}if(e)return new rd({algorithm:jf,parameters:Au.serialize(new eg({namedCurve:e}))})}return null}toWebAlgorithm(t){switch(t.algorithm){case Wf:return{name:Hm,hash:{name:"SHA-1"}};case zf:return{name:Hm,hash:{name:"SHA-256"}};case Gf:return{name:Hm,hash:{name:"SHA-384"}};case qf:return{name:Hm,hash:{name:"SHA-512"}};case jf:if(!t.parameters)throw new TypeError("Cannot get required parameters from EC algorithm");switch(Au.parse(t.parameters,eg).namedCurve){case Qf:return{name:Hm,namedCurve:"P-256"};case hm.SECP256K1:return{name:Hm,namedCurve:"K-256"};case Kf:return{name:Hm,namedCurve:"P-384"};case Yf:return{name:Hm,namedCurve:"P-521"};case pm:return{name:Hm,namedCurve:xm};case dm:return{name:Hm,namedCurve:Cm};case fm:return{name:Hm,namedCurve:Im};case gm:return{name:Hm,namedCurve:Rm};case ym:return{name:Hm,namedCurve:km};case mm:return{name:Hm,namedCurve:Nm};case wm:return{name:Hm,namedCurve:Om};case bm:return{name:Hm,namedCurve:Bm};case Am:return{name:Hm,namedCurve:Pm};case vm:return{name:Hm,namedCurve:Dm};case _m:return{name:Hm,namedCurve:Lm};case Em:return{name:Hm,namedCurve:Um};case Sm:return{name:Hm,namedCurve:Mm};case Tm:return{name:Hm,namedCurve:Fm}}}return null}};jm.SECP256K1="1.3.132.0.10",jm=hm=Lg([oy()],jm),sy.registerSingleton(cm,jm);const Wm=Symbol("name"),Vm=Symbol("value");class zm{constructor(t,e={},r=""){this[Wm]=t,this[Vm]=r;for(const t in e)this[t]=e[t]}}zm.NAME=Wm,zm.VALUE=Vm;class Gm{static toString(t){return this.items[t]||t}}Gm.items={[wg]:"sha1",[bg]:"sha224",[Ag]:"sha256",[vg]:"sha384",[_g]:"sha512",[sg]:"rsaEncryption",[ug]:"sha1WithRSAEncryption",[pg]:"sha224WithRSAEncryption",[dg]:"sha256WithRSAEncryption",[fg]:"sha384WithRSAEncryption",[gg]:"sha512WithRSAEncryption",[jf]:"ecPublicKey",[Wf]:"ecdsaWithSHA1",[Vf]:"ecdsaWithSHA224",[zf]:"ecdsaWithSHA256",[Gf]:"ecdsaWithSHA384",[qf]:"ecdsaWithSHA512",[vp]:"TLS WWW server authentication",[_p]:"TLS WWW client authentication",[Ep]:"Code Signing",[Sp]:"E-mail Protection",[Tp]:"Time Stamping",[xp]:"OCSP Signing","1.2.840.113549.1.7.2":"Signed Data"};class qm{static serialize(t){return this.serializeObj(t).join("\n")}static pad(t=0){return"".padStart(2*t," ")}static serializeObj(t,e=0){const r=[];let i=this.pad(e++),n="";const s=t[zm.VALUE];s&&(n=` ${s}`),r.push(`${i}${t[zm.NAME]}:${n}`),i=this.pad(e);for(const n in t){if("symbol"==typeof n)continue;const s=t[n],o=n?`${n}: `:"";if("string"==typeof s||"number"==typeof s||"boolean"==typeof s)r.push(`${i}${o}${s}`);else if(s instanceof Date)r.push(`${i}${o}${s.toUTCString()}`);else if(Array.isArray(s))for(const t of s)t[zm.NAME]=n,r.push(...this.serializeObj(t,e));else if(s instanceof zm)s[zm.NAME]=n,r.push(...this.serializeObj(s,e));else if(vc.vJ.isBufferSource(s))n?(r.push(`${i}${o}`),r.push(...this.serializeBufferSource(s,e+1))):r.push(...this.serializeBufferSource(s,e));else{if(!("toTextObject"in s))throw new TypeError("Cannot serialize data in text format. Unsupported type.");{const t=s.toTextObject();t[zm.NAME]=n,r.push(...this.serializeObj(t,e))}}}return r}static serializeBufferSource(t,e=0){const r=this.pad(e),i=vc.vJ.toUint8Array(t),n=[];for(let t=0;t<i.length;){const e=[];for(let r=0;r<16&&t<i.length;r++){8===r&&e.push("");const n=i[t++].toString(16).padStart(2,"0");e.push(n)}n.push(`${r}${e.join(" ")}`)}return n}static serializeAlgorithm(t){return this.algorithmSerializer.toTextObject(t)}}qm.oidSerializer=Gm,qm.algorithmSerializer=class{static toTextObject(t){const e=new zm("Algorithm Identifier",{},Gm.toString(t.algorithm));if(t.parameters)switch(t.algorithm){case jf:{const r=(new jm).toWebAlgorithm(t);r&&"namedCurve"in r?e["Named Curve"]=r.namedCurve:e.Parameters=t.parameters;break}default:e.Parameters=t.parameters}return e}};class Qm{constructor(...t){if(1===t.length){const e=t[0];this.rawData=Au.serialize(e),this.onInit(e)}else{const e=Au.parse(t[0],t[1]);this.rawData=vc.vJ.toArrayBuffer(t[0]),this.onInit(e)}}equal(t){return t instanceof Qm&&(0,vc.Xy)(t.rawData,this.rawData)}toString(t="text"){switch(t){case"asn":return Au.toString(this.rawData);case"text":return qm.serialize(this.toTextObject());case"hex":return vc.ep.ToHex(this.rawData);case"base64":return vc.ep.ToBase64(this.rawData);case"base64url":return vc.ep.ToBase64Url(this.rawData);default:throw TypeError("Argument 'format' is unsupported value")}}getTextName(){return this.constructor.NAME}toTextObject(){const t=this.toTextObjectEmpty();return t[""]=this.rawData,t}toTextObjectEmpty(t){return new zm(this.getTextName(),{},t)}}Qm.NAME="ASN";class Km extends Qm{constructor(...t){let e;e=vc.vJ.isBufferSource(t[0])?vc.vJ.toArrayBuffer(t[0]):Au.serialize(new ad({extnID:t[0],critical:t[1],extnValue:new Mh(vc.vJ.toArrayBuffer(t[2]))})),super(e,ad)}onInit(t){this.type=t.extnID,this.critical=t.critical,this.value=t.extnValue.buffer}toTextObject(){const t=this.toTextObjectWithoutValue();return t[""]=this.value,t}toTextObjectWithoutValue(){const t=this.toTextObjectEmpty(this.critical?"critical":void 0);return t[zm.NAME]===Km.NAME&&(t[zm.NAME]=Gm.toString(this.type)),t}}var Ym;class Jm{constructor(){this.items=new Map,this[Ym]="CryptoProvider","undefined"!=typeof self&&"undefined"!=typeof crypto&&this.set(Jm.DEFAULT,crypto)}static isCryptoKeyPair(t){return t&&t.privateKey&&t.publicKey}static isCryptoKey(t){return t&&t.usages&&t.type&&t.algorithm&&void 0!==t.extractable}clear(){this.items.clear()}delete(t){return this.items.delete(t)}forEach(t,e){return this.items.forEach(t,e)}has(t){return this.items.has(t)}get size(){return this.items.size}entries(){return this.items.entries()}keys(){return this.items.keys()}values(){return this.items.values()}[Symbol.iterator](){return this.items[Symbol.iterator]()}get(t=Jm.DEFAULT){const e=this.items.get(t.toLowerCase());if(!e)throw new Error(`Cannot get Crypto by name '${t}'`);return e}set(t,e){if("string"==typeof t){if(!e)throw new TypeError("Argument 'value' is required");this.items.set(t.toLowerCase(),e)}else this.items.set(Jm.DEFAULT,t);return this}}Ym=Symbol.toStringTag,Jm.DEFAULT="default";const Xm=new Jm,Zm=/^[0-2](?:\.[1-9][0-9]*)+$/;class $m{constructor(t={}){this.items={};for(const e in t)this.register(e,t[e])}get(t){return this.items[t]||null}findId(t){return e=t,new RegExp(Zm).test(e)?t:this.get(t);var e}register(t,e){this.items[t]=e,this.items[e]=t}}const tw=new $m;function ew(t,e){return`\\${vc.ep.ToHex(vc.ep.FromUtf8String(e)).toUpperCase()}`}tw.register("CN","2.5.4.3"),tw.register("L","2.5.4.7"),tw.register("ST","2.5.4.8"),tw.register("O","2.5.4.10"),tw.register("OU","2.5.4.11"),tw.register("C","2.5.4.6"),tw.register("DC","0.9.2342.19200300.100.1.25"),tw.register("E","1.2.840.113549.1.9.1"),tw.register("G","2.5.4.42"),tw.register("I","2.5.4.43"),tw.register("SN","2.5.4.4"),tw.register("T","2.5.4.12");class rw{constructor(t,e={}){this.extraNames=new $m,this.asn=new Ou;for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)){const r=e[t];this.extraNames.register(t,r)}"string"==typeof t?this.asn=this.fromString(t):t instanceof Ou?this.asn=t:vc.vJ.isBufferSource(t)?this.asn=Au.parse(t,Ou):this.asn=this.fromJSON(t)}static isASCII(t){for(let e=0;e<t.length;e++)if(t.charCodeAt(e)>255)return!1;return!0}getField(t){const e=this.extraNames.findId(t)||tw.findId(t),r=[];for(const t of this.asn)for(const i of t)i.type===e&&r.push(i.value.toString());return r}getName(t){return this.extraNames.get(t)||tw.get(t)}toString(){return this.asn.map((t=>t.map((t=>`${this.getName(t.type)||t.type}=${t.value.anyValue?`#${vc.ep.ToHex(t.value.anyValue)}`:function(t){return t.replace(/([,+"\\<>;])/g,"\\$1").replace(/^([ #])/,"\\$1").replace(/([ ]$)/,"\\$1").replace(/([\r\n\t])/,ew)}(t.value.toString())}`)).join("+"))).join(", ")}toJSON(){var t;const e=[];for(const r of this.asn){const i={};for(const e of r){const r=this.getName(e.type)||e.type;null!==(t=i[r])&&void 0!==t||(i[r]=[]),i[r].push(e.value.anyValue?`#${vc.ep.ToHex(e.value.anyValue)}`:e.value.toString())}e.push(i)}return e}fromString(t){const e=new Ou,r=/(\d\.[\d.]*\d|[A-Za-z]+)=((?:"")|(?:".*?[^\\]")|(?:[^,+].*?(?:[^\\][,+]))|(?:))([,+])?/g;let i=null,n=",";for(;i=r.exec(`${t},`);){let[,t,r]=i;const s=r[r.length-1];","!==s&&"+"!==s||(r=r.slice(0,r.length-1),i[3]=s);const o=i[3];if(/[\d.]+/.test(t)||(t=this.getName(t)||""),!t)throw new Error(`Cannot get OID for name type '${t}'`);const a=new Ru({type:t});if("#"===r.charAt(0))a.value.anyValue=vc.ep.FromHex(r.slice(1));else{const e=/"(.*?[^\\])?"/.exec(r);e&&(r=e[1]),r=r.replace(/\\0a/gi,"\n").replace(/\\0d/gi,"\r").replace(/\\0g/gi,"\t").replace(/\\(.)/g,"$1"),t===this.getName("E")||t===this.getName("DC")?a.value.ia5String=r:rw.isASCII(r)?a.value.printableString=r:a.value.utf8String=r}"+"===n?e[e.length-1].push(a):e.push(new ku([a])),n=o}return e}fromJSON(t){const e=new Ou;for(const r of t){const t=new ku;for(const e in r){let i=e;if(/[\d.]+/.test(e)||(i=this.getName(e)||""),!i)throw new Error(`Cannot get OID for name type '${e}'`);const n=r[e];for(const e of n){const r=new Ru({type:i});if("object"==typeof e)for(const t in e)switch(t){case"ia5String":r.value.ia5String=e[t];break;case"utf8String":r.value.utf8String=e[t];break;case"universalString":r.value.universalString=e[t];break;case"bmpString":r.value.bmpString=e[t];break;case"printableString":r.value.printableString=e[t]}else"#"===e[0]?r.value.anyValue=vc.ep.FromHex(e.slice(1)):i===this.getName("E")||i===this.getName("DC")?r.value.ia5String=e:r.value.printableString=e;t.push(r)}}e.push(t)}return e}toArrayBuffer(){return Au.serialize(this.asn)}async getThumbprint(...t){var e;let r,i="SHA-1";return t.length>=1&&!(null===(e=t[0])||void 0===e?void 0:e.subtle)?(i=t[0]||i,r=t[1]||Xm.get()):r=t[0]||Xm.get(),await r.subtle.digest(i,this.toArrayBuffer())}}const iw="Cannot initialize GeneralName from ASN.1 data.",nw=`${iw} Unsupported string format in use.`,sw=`${iw} Value doesn't match to GUID regular expression.`,ow=/^([0-9a-f]{8})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{12})$/i,aw="1.3.6.1.4.1.311.25.1",cw="1.3.6.1.4.1.311.20.2.3",lw="dns",hw="dn",uw="email",pw="ip",dw="url",fw="guid",gw="upn",yw="id";class mw extends Qm{constructor(...t){let e;if(2===t.length)switch(t[0]){case hw:{const r=new rw(t[1]).toArrayBuffer(),i=Au.parse(r,Ou);e=new Lu({directoryName:i});break}case lw:e=new Lu({dNSName:t[1]});break;case uw:e=new Lu({rfc822Name:t[1]});break;case fw:{const r=new RegExp(ow,"i").exec(t[1]);if(!r)throw new Error("Cannot parse GUID value. Value doesn't match to regular expression");const i=r.slice(1).map(((t,e)=>e<3?vc.ep.ToHex(new Uint8Array(vc.ep.FromHex(t)).reverse()):t)).join("");e=new Lu({otherName:new Pu({typeId:aw,value:Au.serialize(new Mh(vc.ep.FromHex(i)))})});break}case pw:e=new Lu({iPAddress:t[1]});break;case yw:e=new Lu({registeredID:t[1]});break;case gw:e=new Lu({otherName:new Pu({typeId:cw,value:Au.serialize(Yh.toASN(t[1]))})});break;case dw:e=new Lu({uniformResourceIdentifier:t[1]});break;default:throw new Error("Cannot create GeneralName. Unsupported type of the name")}else e=vc.vJ.isBufferSource(t[0])?Au.parse(t[0],Lu):t[0];super(e)}onInit(t){if(null!=t.dNSName)this.type=lw,this.value=t.dNSName;else if(null!=t.rfc822Name)this.type=uw,this.value=t.rfc822Name;else if(null!=t.iPAddress)this.type=pw,this.value=t.iPAddress;else if(null!=t.uniformResourceIdentifier)this.type=dw,this.value=t.uniformResourceIdentifier;else if(null!=t.registeredID)this.type=yw,this.value=t.registeredID;else if(null!=t.directoryName)this.type=hw,this.value=new rw(t.directoryName).toString();else{if(null==t.otherName)throw new Error(nw);if(t.otherName.typeId===aw){this.type=fw;const e=Au.parse(t.otherName.value,Mh),r=new RegExp(ow,"i").exec(vc.ep.ToHex(e));if(!r)throw new Error(sw);this.value=r.slice(1).map(((t,e)=>e<3?vc.ep.ToHex(new Uint8Array(vc.ep.FromHex(t)).reverse()):t)).join("-")}else{if(t.otherName.typeId!==cw)throw new Error(nw);this.type=gw,this.value=Au.parse(t.otherName.value,Cu).toString()}}}toJSON(){return{type:this.type,value:this.value}}toTextObject(){let t;switch(this.type){case hw:case lw:case fw:case pw:case yw:case gw:case dw:t=this.type.toUpperCase();break;case uw:t="Email";break;default:throw new Error("Unsupported GeneralName type")}let e=this.value;return this.type===yw&&(e=Gm.toString(e)),new zm(t,void 0,e)}}class ww extends Qm{constructor(t){let e;if(t instanceof Qu)e=t;else if(Array.isArray(t)){const r=[];for(const e of t)if(e instanceof Lu)r.push(e);else{const t=Au.parse(new mw(e.type,e.value).rawData,Lu);r.push(t)}e=new Qu(r)}else{if(!vc.vJ.isBufferSource(t))throw new Error("Cannot initialize GeneralNames. Incorrect incoming arguments");e=Au.parse(t,Qu)}super(e)}onInit(t){const e=[];for(const r of t){let t=null;try{t=new mw(r)}catch{continue}e.push(t)}this.items=e}toJSON(){return this.items.map((t=>t.toJSON()))}toTextObject(){const t=super.toTextObjectEmpty();for(const e of this.items){const r=e.toTextObject();let i=t[r[zm.NAME]];Array.isArray(i)||(i=[],t[r[zm.NAME]]=i),i.push(r)}return t}}ww.NAME="GeneralNames";const bw="-{5}BEGIN ([^\\n]+(?=-{5}))-{5}\\n(?:((?:[^:\\n]+: (?:[^\\n]+\\n(?: +[^\\n]+\\n)*))+))?\\n?((?:[a-zA-Z0-9=+/]+\\n)+)-{5}END \\1-{5}";class Aw{static isPem(t){return"string"==typeof t&&new RegExp(bw,"g").test(t)}static decodeWithHeaders(t){t=t.replace(/\r/g,"");const e=new RegExp(bw,"g"),r=[];let i=null;for(;i=e.exec(t);){const t=i[3].replace(new RegExp("[\\n]+","g"),""),e={type:i[1],headers:[],rawData:vc.ep.FromBase64(t)},n=i[2];if(n){const t=n.split(new RegExp("\\n","g"));let r=null;for(const i of t){const[t,n]=i.split(/:(.*)/);if(void 0===n){if(!r)throw new Error("Cannot parse PEM string. Incorrect header value");r.value+=t.trim()}else r&&e.headers.push(r),r={key:t,value:n.trim()}}r&&e.headers.push(r)}r.push(e)}return r}static decode(t){return this.decodeWithHeaders(t).map((t=>t.rawData))}static decodeFirst(t){const e=this.decode(t);if(!e.length)throw new RangeError("PEM string doesn't contain any objects");return e[0]}static encode(t,e){if(Array.isArray(t)){const r=new Array;return e?t.forEach((t=>{if(!vc.vJ.isBufferSource(t))throw new TypeError("Cannot encode array of BufferSource in PEM format. Not all items of the array are BufferSource");r.push(this.encodeStruct({type:e,rawData:vc.vJ.toArrayBuffer(t)}))})):t.forEach((t=>{if(!("type"in t))throw new TypeError("Cannot encode array of PemStruct in PEM format. Not all items of the array are PemStrut");r.push(this.encodeStruct(t))})),r.join("\n")}if(!e)throw new Error("Required argument 'tag' is missed");return this.encodeStruct({type:e,rawData:vc.vJ.toArrayBuffer(t)})}static encodeStruct(t){var e;const r=t.type.toLocaleUpperCase(),i=[];if(i.push(`-----BEGIN ${r}-----`),null===(e=t.headers)||void 0===e?void 0:e.length){for(const e of t.headers)i.push(`${e.key}: ${e.value}`);i.push("")}const n=vc.ep.ToBase64(t.rawData);let s,o=0;const a=Array();for(;o<n.length&&(n.length-o<64?s=n.substring(o):(s=n.substring(o,o+64),o+=64),0!==s.length)&&(a.push(s),!(s.length<64)););return i.push(...a),i.push(`-----END ${r}-----`),i.join("\n")}}Aw.CertificateTag="CERTIFICATE",Aw.CrlTag="CRL",Aw.CertificateRequestTag="CERTIFICATE REQUEST",Aw.PublicKeyTag="PUBLIC KEY",Aw.PrivateKeyTag="PRIVATE KEY";class vw extends Qm{static isAsnEncoded(t){return vc.vJ.isBufferSource(t)||"string"==typeof t}static toArrayBuffer(t){if("string"==typeof t){if(Aw.isPem(t))return Aw.decode(t)[0];if(vc.ep.isHex(t))return vc.ep.FromHex(t);if(vc.ep.isBase64(t))return vc.ep.FromBase64(t);if(vc.ep.isBase64Url(t))return vc.ep.FromBase64Url(t);throw new TypeError("Unsupported format of 'raw' argument. Must be one of DER, PEM, HEX, Base64, or Base4Url")}{const e=vc.ep.ToBinary(t);return Aw.isPem(e)?Aw.decode(e)[0]:vc.ep.isHex(e)?vc.ep.FromHex(e):vc.ep.isBase64(e)?vc.ep.FromBase64(e):vc.ep.isBase64Url(e)?vc.ep.FromBase64Url(e):vc.vJ.toArrayBuffer(t)}}constructor(...t){vw.isAsnEncoded(t[0])?super(vw.toArrayBuffer(t[0]),t[1]):super(t[0])}toString(t="pem"){return"pem"===t?Aw.encode(this.rawData,this.tag):super.toString(t)}}class _w extends vw{constructor(t){vw.isAsnEncoded(t)?super(t,id):super(t),this.tag=Aw.PublicKeyTag}async export(...t){let e,r=["verify"],i={hash:"SHA-256",...this.algorithm};return t.length>1?(i=t[0]||i,r=t[1]||r,e=t[2]||Xm.get()):e=t[0]||Xm.get(),e.subtle.importKey("spki",this.rawData,i,!0,r)}onInit(t){const e=sy.resolve(lm),r=this.algorithm=e.toWebAlgorithm(t.algorithm);switch(t.algorithm.algorithm){case sg:{const e=Au.parse(t.subjectPublicKey,Dg),i=vc.vJ.toUint8Array(e.modulus);r.publicExponent=vc.vJ.toUint8Array(e.publicExponent),r.modulusLength=(i[0]?i:i.slice(1)).byteLength<<3;break}}}async getThumbprint(...t){var e;let r,i="SHA-1";return t.length>=1&&!(null===(e=t[0])||void 0===e?void 0:e.subtle)?(i=t[0]||i,r=t[1]||Xm.get()):r=t[0]||Xm.get(),await r.subtle.digest(i,this.rawData)}async getKeyIdentifier(t){t||(t=Xm.get());const e=Au.parse(this.rawData,id);return await t.subtle.digest("SHA-1",e.subjectPublicKey)}toTextObject(){const t=this.toTextObjectEmpty(),e=Au.parse(this.rawData,id);return t.Algorithm=qm.serializeAlgorithm(e.algorithm),e.algorithm.algorithm===jf?t["EC Point"]=e.subjectPublicKey:t["Raw Data"]=e.subjectPublicKey,t}}class Ew{static register(t,e){this.items.set(t,e)}static create(t){const e=new Km(t),r=this.items.get(e.type);return r?new r(t):e}}Ew.items=new Map;const Sw="crypto.signatureFormatter";class Tw extends vw{constructor(t){vw.isAsnEncoded(t)?super(t,pd):super(t),this.tag=Aw.CertificateTag}onInit(t){const e=t.tbsCertificate;this.tbs=Au.serialize(e),this.serialNumber=vc.ep.ToHex(e.serialNumber),this.subjectName=new rw(e.subject),this.subject=new rw(e.subject).toString(),this.issuerName=new rw(e.issuer),this.issuer=this.issuerName.toString();const r=sy.resolve(lm);this.signatureAlgorithm=r.toWebAlgorithm(t.signatureAlgorithm),this.signature=t.signatureValue;const i=e.validity.notBefore.utcTime||e.validity.notBefore.generalTime;if(!i)throw new Error("Cannot get 'notBefore' value");this.notBefore=i;const n=e.validity.notAfter.utcTime||e.validity.notAfter.generalTime;if(!n)throw new Error("Cannot get 'notAfter' value");this.notAfter=n,this.extensions=[],e.extensions&&(this.extensions=e.extensions.map((t=>Ew.create(Au.serialize(t))))),this.publicKey=new _w(e.subjectPublicKeyInfo)}getExtension(t){for(const e of this.extensions)if("string"==typeof t){if(e.type===t)return e}else if(e instanceof t)return e;return null}getExtensions(t){return this.extensions.filter((e=>"string"==typeof t?e.type===t:e instanceof t))}async verify(t={},e=Xm.get()){let r,i;const n=t.publicKey;try{if(n)if("publicKey"in n)r={...n.publicKey.algorithm,...this.signatureAlgorithm},i=await n.publicKey.export(r,["verify"]);else if(n instanceof _w)r={...n.algorithm,...this.signatureAlgorithm},i=await n.export(r,["verify"]);else if(vc.vJ.isBufferSource(n)){const t=new _w(n);r={...t.algorithm,...this.signatureAlgorithm},i=await t.export(r,["verify"])}else r={...n.algorithm,...this.signatureAlgorithm},i=n;else r={...this.publicKey.algorithm,...this.signatureAlgorithm},i=await this.publicKey.export(r,["verify"],e)}catch(t){return!1}const s=sy.resolveAll(Sw).reverse();let o=null;for(const t of s)if(o=t.toWebSignature(r,this.signature),o)break;if(!o)throw Error("Cannot convert ASN.1 signature value to WebCrypto format");const a=await e.subtle.verify(this.signatureAlgorithm,i,o,this.tbs);if(t.signatureOnly)return a;{const e=(t.date||new Date).getTime();return a&&this.notBefore.getTime()<e&&e<this.notAfter.getTime()}}async getThumbprint(...t){let e,r="SHA-1";return t[0]&&(t[0].subtle?e=t[0]:(r=t[0]||r,e=t[1])),null!=e||(e=Xm.get()),await e.subtle.digest(r,this.rawData)}async isSelfSigned(t=Xm.get()){return this.subject===this.issuer&&await this.verify({signatureOnly:!0},t)}toTextObject(){const t=this.toTextObjectEmpty(),e=Au.parse(this.rawData,pd),r=e.tbsCertificate,i=new zm("",{Version:`${ld[r.version]} (${r.version})`,"Serial Number":r.serialNumber,"Signature Algorithm":qm.serializeAlgorithm(r.signature),Issuer:this.issuer,Validity:new zm("",{"Not Before":r.validity.notBefore.getTime(),"Not After":r.validity.notAfter.getTime()}),Subject:this.subject,"Subject Public Key Info":this.publicKey});if(r.issuerUniqueID&&(i["Issuer Unique ID"]=r.issuerUniqueID),r.subjectUniqueID&&(i["Subject Unique ID"]=r.subjectUniqueID),this.extensions.length){const t=new zm("");for(const e of this.extensions){const r=e.toTextObject();t[r[zm.NAME]]=r}i.Extensions=t}return t.Data=i,t.Signature=new zm("",{Algorithm:qm.serializeAlgorithm(e.signatureAlgorithm),"":e.signatureValue}),t}}Tw.NAME="Certificate";class xw extends Km{constructor(...t){if(vc.vJ.isBufferSource(t[0]))super(t[0]);else if("string"==typeof t[0]){const e=new Vu({keyIdentifier:new Wu(vc.ep.FromHex(t[0]))});super(ju,t[1],Au.serialize(e))}else{const e=t[0],r=e.name instanceof ww?Au.parse(e.name.rawData,Qu):e.name,i=new Vu({authorityCertIssuer:r,authorityCertSerialNumber:vc.ep.FromHex(e.serialNumber)});super(ju,t[1],Au.serialize(i))}}static async create(t,e=!1,r=Xm.get()){if(t instanceof Tw||Jm.isCryptoKey(t)){const i=t instanceof Tw?await t.publicKey.export(r):t,n=await r.subtle.exportKey("spki",i),s=new _w(n),o=await s.getKeyIdentifier(r);return new xw(vc.ep.ToHex(o),e)}return new xw(t,e)}onInit(t){super.onInit(t);const e=Au.parse(t.extnValue,Vu);e.keyIdentifier&&(this.keyId=vc.ep.ToHex(e.keyIdentifier)),e.authorityCertIssuer&&e.authorityCertSerialNumber&&(this.certId={name:e.authorityCertIssuer,serialNumber:vc.ep.ToHex(e.authorityCertSerialNumber)})}toTextObject(){const t=this.toTextObjectWithoutValue(),e=Au.parse(this.value,Vu);return e.authorityCertIssuer&&(t["Authority Issuer"]=new ww(e.authorityCertIssuer).toTextObject()),e.authorityCertSerialNumber&&(t["Authority Serial Number"]=e.authorityCertSerialNumber),e.keyIdentifier&&(t[""]=e.keyIdentifier),t}}xw.NAME="Authority Key Identifier";class Cw extends Km{constructor(...t){if(vc.vJ.isBufferSource(t[0])){super(t[0]);const e=Au.parse(this.value,Gu);this.ca=e.cA,this.pathLength=e.pathLenConstraint}else{const e=new Gu({cA:t[0],pathLenConstraint:t[1]});super(zu,t[2],Au.serialize(e)),this.ca=t[0],this.pathLength=t[1]}}toTextObject(){const t=this.toTextObjectWithoutValue();return this.ca&&(t.CA=this.ca),void 0!==this.pathLength&&(t["Path Length"]=this.pathLength),t}}var Iw,Rw;Cw.NAME="Basic Constraints",function(t){t.serverAuth="1.3.6.1.5.5.7.3.1",t.clientAuth="1.3.6.1.5.5.7.3.2",t.codeSigning="1.3.6.1.5.5.7.3.3",t.emailProtection="1.3.6.1.5.5.7.3.4",t.timeStamping="1.3.6.1.5.5.7.3.8",t.ocspSigning="1.3.6.1.5.5.7.3.9"}(Iw||(Iw={}));class kw extends Km{constructor(...t){if(vc.vJ.isBufferSource(t[0])){super(t[0]);const e=Au.parse(this.value,Ap);this.usages=e.map((t=>t))}else{const e=new Ap(t[0]);super(bp,t[1],Au.serialize(e)),this.usages=t[0]}}toTextObject(){const t=this.toTextObjectWithoutValue();return t[""]=this.usages.map((t=>Gm.toString(t))).join(", "),t}}kw.NAME="Extended Key Usages",function(t){t[t.digitalSignature=1]="digitalSignature",t[t.nonRepudiation=2]="nonRepudiation",t[t.keyEncipherment=4]="keyEncipherment",t[t.dataEncipherment=8]="dataEncipherment",t[t.keyAgreement=16]="keyAgreement",t[t.keyCertSign=32]="keyCertSign",t[t.cRLSign=64]="cRLSign",t[t.encipherOnly=128]="encipherOnly",t[t.decipherOnly=256]="decipherOnly"}(Rw||(Rw={}));class Nw extends Km{constructor(...t){if(vc.vJ.isBufferSource(t[0])){super(t[0]);const e=Au.parse(this.value,Pp);this.usages=e.toNumber()}else{const e=new Pp(t[0]);super(Np,t[1],Au.serialize(e)),this.usages=t[0]}}toTextObject(){const t=this.toTextObjectWithoutValue(),e=Au.parse(this.value,Pp);return t[""]=e.toJSON().join(", "),t}}Nw.NAME="Key Usages";class Ow extends Km{constructor(...t){if(vc.vJ.isBufferSource(t[0])){super(t[0]);const e=Au.parse(this.value,Yp);this.keyId=vc.ep.ToHex(e)}else{const e="string"==typeof t[0]?vc.ep.FromHex(t[0]):t[0],r=new Yp(e);super(Kp,t[1],Au.serialize(r)),this.keyId=vc.ep.ToHex(e)}}static async create(t,e=!1,r=Xm.get()){let i;i=t instanceof _w?t.rawData:"publicKey"in t?t.publicKey.rawData:vc.vJ.isBufferSource(t)?t:await r.subtle.exportKey("spki",t);const n=new _w(i),s=await n.getKeyIdentifier(r);return new Ow(vc.ep.ToHex(s),e)}toTextObject(){const t=this.toTextObjectWithoutValue(),e=Au.parse(this.value,Yp);return t[""]=e,t}}Ow.NAME="Subject Key Identifier";class Bw extends Km{constructor(...t){vc.vJ.isBufferSource(t[0])?super(t[0]):super(Vp,t[1],new ww(t[0]||[]).rawData)}onInit(t){super.onInit(t);const e=Au.parse(t.extnValue,zp);this.names=new ww(e)}toTextObject(){const t=this.toTextObjectWithoutValue(),e=this.names.toTextObject();for(const r in e)t[r]=e[r];return t}}Bw.NAME="Subject Alternative Name";class Pw extends Km{constructor(...t){var e;if(vc.vJ.isBufferSource(t[0])){super(t[0]);const e=Au.parse(this.value,np);this.policies=e.map((t=>t.policyIdentifier))}else{const r=t[0],i=null!==(e=t[1])&&void 0!==e&&e,n=new np(r.map((t=>new ip({policyIdentifier:t}))));super(Xu,i,Au.serialize(n)),this.policies=r}}toTextObject(){const t=this.toTextObjectWithoutValue();return t.Policy=this.policies.map((t=>new zm("",{},Gm.toString(t)))),t}}Pw.NAME="Certificate Policies",Ew.register(Xu,Pw);class Dw extends Qm{constructor(...t){let e;if(vc.vJ.isBufferSource(t[0]))e=vc.vJ.toArrayBuffer(t[0]);else{const r=t[0],i=Array.isArray(t[1])?t[1].map((t=>vc.vJ.toArrayBuffer(t))):[];e=Au.serialize(new Gp({type:r,values:i}))}super(e,Gp)}onInit(t){this.type=t.type,this.values=t.values}toTextObject(){const t=this.toTextObjectWithoutValue();return t.Value=this.values.map((t=>new zm("",{"":t}))),t}toTextObjectWithoutValue(){const t=this.toTextObjectEmpty();return t[zm.NAME]===Dw.NAME&&(t[zm.NAME]=Gm.toString(this.type)),t}}Dw.NAME="Attribute";class Lw extends Dw{constructor(...t){var e;if(vc.vJ.isBufferSource(t[0]))super(t[0]);else{const e=new Zy({printableString:t[0]});super(By,[Au.serialize(e)])}null!==(e=this.password)&&void 0!==e||(this.password="")}onInit(t){if(super.onInit(t),this.values[0]){const t=Au.parse(this.values[0],Zy);this.password=t.toString()}}toTextObject(){const t=this.toTextObjectWithoutValue();return t[zm.VALUE]=this.password,t}}Lw.NAME="Challenge Password";class Uw extends Dw{constructor(...t){var e;if(vc.vJ.isBufferSource(t[0]))super(t[0]);else{const e=t[0],r=new cd;for(const t of e)r.push(Au.parse(t.rawData,ad));super(Py,[Au.serialize(r)])}null!==(e=this.items)&&void 0!==e||(this.items=[])}onInit(t){if(super.onInit(t),this.values[0]){const t=Au.parse(this.values[0],cd);this.items=t.map((t=>Ew.create(Au.serialize(t))))}}toTextObject(){const t=this.toTextObjectWithoutValue(),e=this.items.map((t=>t.toTextObject()));for(const r of e)t[r[zm.NAME]]=r;return t}}Uw.NAME="Extensions";class Mw{static register(t,e){this.items.set(t,e)}static create(t){const e=new Dw(t),r=this.items.get(e.type);return r?new r(t):e}}Mw.items=new Map;let Fw=class{toAsnAlgorithm(t){if("rsassa-pkcs1-v1_5"===t.name.toLowerCase()){if(!t.hash)return new rd({algorithm:sg,parameters:null});switch(t.hash.name.toLowerCase()){case"sha-1":return new rd({algorithm:ug,parameters:null});case"sha-256":return new rd({algorithm:dg,parameters:null});case"sha-384":return new rd({algorithm:fg,parameters:null});case"sha-512":return new rd({algorithm:gg,parameters:null})}}return null}toWebAlgorithm(t){switch(t.algorithm){case sg:return{name:"RSASSA-PKCS1-v1_5"};case ug:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-1"}};case dg:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case fg:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-384"}};case gg:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-512"}}}return null}};Fw=Lg([oy()],Fw),sy.registerSingleton(cm,Fw);class Hw{addPadding(t,e){const r=vc.vJ.toUint8Array(e),i=new Uint8Array(t);return i.set(r,t-r.length),i}removePadding(t,e=!1){let r=vc.vJ.toUint8Array(t);for(let t=0;t<r.length;t++)if(r[t]){r=r.slice(t);break}if(e&&r[0]>127){const t=new Uint8Array(r.length+1);return t.set(r,1),t.buffer}return r.buffer}toAsnSignature(t,e){if("ECDSA"===t.name){const r=t.namedCurve,i=Hw.namedCurveSize.get(r)||Hw.defaultNamedCurveSize,n=new ig,s=vc.vJ.toUint8Array(e);return n.r=this.removePadding(s.slice(0,i),!0),n.s=this.removePadding(s.slice(i,i+i),!0),Au.serialize(n)}return null}toWebSignature(t,e){if("ECDSA"===t.name){const r=Au.parse(e,ig),i=t.namedCurve,n=Hw.namedCurveSize.get(i)||Hw.defaultNamedCurveSize,s=this.addPadding(n,this.removePadding(r.r)),o=this.addPadding(n,this.removePadding(r.s));return(0,vc.$e)(s,o)}return null}}Hw.namedCurveSize=new Map,Hw.defaultNamedCurveSize=32;const jw="1.3.101.110",Ww="1.3.101.111",Vw="1.3.101.112",zw="1.3.101.113";let Gw=class{toAsnAlgorithm(t){let e=null;switch(t.name.toLowerCase()){case"eddsa":switch(t.namedCurve.toLowerCase()){case"ed25519":e=Vw;break;case"ed448":e=zw}break;case"ecdh-es":switch(t.namedCurve.toLowerCase()){case"x25519":e=jw;break;case"x448":e=Ww}}return e?new rd({algorithm:e}):null}toWebAlgorithm(t){switch(t.algorithm){case Vw:return{name:"EdDSA",namedCurve:"Ed25519"};case zw:return{name:"EdDSA",namedCurve:"Ed448"};case jw:return{name:"ECDH-ES",namedCurve:"X25519"};case Ww:return{name:"ECDH-ES",namedCurve:"X448"}}return null}};Gw=Lg([oy()],Gw),sy.registerSingleton(cm,Gw);var qw;(class extends vw{constructor(t){vw.isAsnEncoded(t)?super(t,am):super(t),this.tag=Aw.CertificateRequestTag}onInit(t){this.tbs=Au.serialize(t.certificationRequestInfo),this.publicKey=new _w(t.certificationRequestInfo.subjectPKInfo);const e=sy.resolve(lm);this.signatureAlgorithm=e.toWebAlgorithm(t.signatureAlgorithm),this.signature=t.signature,this.attributes=t.certificationRequestInfo.attributes.map((t=>Mw.create(Au.serialize(t))));const r=this.getAttribute(Py);this.extensions=[],r instanceof Uw&&(this.extensions=r.items),this.subjectName=new rw(t.certificationRequestInfo.subject),this.subject=this.subjectName.toString()}getAttribute(t){for(const e of this.attributes)if(e.type===t)return e;return null}getAttributes(t){return this.attributes.filter((e=>e.type===t))}getExtension(t){for(const e of this.extensions)if(e.type===t)return e;return null}getExtensions(t){return this.extensions.filter((e=>e.type===t))}async verify(t=Xm.get()){const e={...this.publicKey.algorithm,...this.signatureAlgorithm},r=await this.publicKey.export(e,["verify"],t),i=sy.resolveAll(Sw).reverse();let n=null;for(const t of i)if(n=t.toWebSignature(e,this.signature),n)break;if(!n)throw Error("Cannot convert WebCrypto signature value to ASN.1 format");return await t.subtle.verify(this.signatureAlgorithm,r,n,this.tbs)}toTextObject(){const t=this.toTextObjectEmpty(),e=Au.parse(this.rawData,am),r=e.certificationRequestInfo,i=new zm("",{Version:`${ld[r.version]} (${r.version})`,Subject:this.subject,"Subject Public Key Info":this.publicKey});if(this.attributes.length){const t=new zm("");for(const e of this.attributes){const r=e.toTextObject();t[r[zm.NAME]]=r}i.Attributes=t}return t.Data=i,t.Signature=new zm("",{Algorithm:qm.serializeAlgorithm(e.signatureAlgorithm),"":e.signature}),t}}).NAME="PKCS#10 Certificate Request",function(t){t[t.unspecified=0]="unspecified",t[t.keyCompromise=1]="keyCompromise",t[t.cACompromise=2]="cACompromise",t[t.affiliationChanged=3]="affiliationChanged",t[t.superseded=4]="superseded",t[t.cessationOfOperation=5]="cessationOfOperation",t[t.certificateHold=6]="certificateHold",t[t.removeFromCRL=8]="removeFromCRL",t[t.privilegeWithdrawn=9]="privilegeWithdrawn",t[t.aACompromise=10]="aACompromise"}(qw||(qw={})),Ew.register(zu,Cw),Ew.register(bp,kw),Ew.register(Np,Nw),Ew.register(Kp,Ow),Ew.register(ju,xw),Ew.register(Vp,Bw),Mw.register(By,Lw),Mw.register(Py,Uw),sy.registerSingleton(Sw,class{toAsnSignature(t,e){return vc.vJ.toArrayBuffer(e)}toWebSignature(t,e){return vc.vJ.toArrayBuffer(e)}}),sy.registerSingleton(Sw,Hw),Hw.namedCurveSize.set("P-256",32),Hw.namedCurveSize.set("K-256",32),Hw.namedCurveSize.set("P-384",48),Hw.namedCurveSize.set("P-521",66);const Qw=/-{5}(BEGIN|END) .*-{5}/gm,Kw="pages/pages.jsonl",Yw="pages/extraPages.jsonl",Jw="datapackage.json",Xw="datapackage-digest.json",Zw="webarchive.yaml";class $w{store;file;isRoot;waczname;constructor(t,e,r=!0){this.file=e,this.waczname=e.waczname||"",this.store=t,this.isRoot=r}async loadFileFromWACZ(t,e){return this.store.loadFileFromWACZ?await this.store.loadFileFromWACZ(this.file,t,e):await this.file.loadFile(t,e)}async load(){let t,e=null;return this.file.containsFile(Xw)&&(e=await this.loadDigestData(Xw)),this.file.containsFile(Jw)?t=await this.loadPackage(Jw,e):this.file.containsFile(Zw)&&(t=await this.loadOldPackageYAML(Zw)),t||{}}async loadTextFileFromWACZ(t,e=""){const{reader:r,hasher:i}=await this.loadFileFromWACZ(t,{computeHash:!!e});if(!r)return"";const n=(new TextDecoder).decode(await r.readFully());return e&&i&&await this.store.addVerifyData(this.waczname,t,e,i.getHash()),n}async loadDigestData(t){try{const e=JSON.parse(await this.loadTextFileFromWACZ(t));let r;e.path===Jw&&e.hash&&(r=e.hash);const i=this.store,n=this.isRoot?"":this.waczname+":";if(!e.signedData||e.signedData.hash!==r)return void await i.addVerifyData(n,"signature","");await i.addVerifyData(n,"datapackageHash",r);const s=await async function({hash:t,signature:e,publicKey:r,domain:i,domainCert:n,created:s,software:o}){let a;const c=[],l=(0,Ac.toByteArray)(e);let h;if(n&&i&&!r){const t=n.split("\n\n"),e=(0,Ac.toByteArray)(t[0].replace(Qw,"").replace(/\s/gm,"")),r=u(await crypto.subtle.digest("SHA-256",e));c.push({id:"certFingerprint",expected:r,matched:null});const i=new Tw(e);h=await i.publicKey.export();const s=(0,Ac.fromByteArray)(new Uint8Array(i.publicKey.rawData));c.push({id:"publicKey",expected:s,matched:null}),i.subject&&i.subject.startsWith("CN=")&&(a=i.subject.substring(3))}else{const t={name:"ECDSA",namedCurve:"P-384"};c.push({id:"publicKey",expected:r,matched:null}),h=await crypto.subtle.importKey("spki",(0,Ac.toByteArray)(r),t,!0,["verify"])}const p=new TextEncoder,d=await crypto.subtle.verify({name:"ECDSA",hash:"SHA-256"},h,l,p.encode(t));return c.push({id:"signature",expected:!0,matched:d}),s&&c.push({id:"created",expected:s,matched:null}),o&&c.push({id:"software",expected:o,matched:null}),i&&c.push({id:"domain",expected:i,matched:a}),c}(e.signedData);return await i.addVerifyDataList(n,s),r}catch(t){console.warn(t)}}async loadPackage(t,e){const r=await this.loadTextFileFromWACZ(t,e),i=JSON.parse(r);switch(this.isRoot&&void 0!==i.config&&this.store.initConfig(i.config),i.profile){case"data-package":case"wacz-package":case void 0:case null:return await this.loadLeafWACZPackage(i);case"multi-wacz-package":return await this.loadMultiWACZPackage(i);default:throw new Error(`Unknown package profile: ${i.profile}`)}}async loadMultiWACZPackage(t){return this.file.markAsMultiWACZ(),await this.store.loadWACZFiles(t,this.file),t}async loadLeafWACZPackage(t){const e=t.metadata||{};let r=null;for(const e of t.resources)e.path===Kw?(r=e.hash,await this.store.addVerifyData(this.waczname,e.path,e.hash)):(e.path.endsWith(".idx")||e.path.endsWith(".cdx"))&&await this.store.addVerifyData(this.waczname,e.path,e.hash);return this.file.containsFile(Kw)&&(await this.loadPages(Kw,r)).hasText&&(this.store.textIndex=e.textIndex=Kw),this.file.containsFile(Yw)&&(this.store.textIndex=e.textIndex=Yw),e}async loadOldPackageYAML(t){const e=await this.loadTextFileFromWACZ(t),r=bc.load(e),i={desc:r.desc,title:r.title};r.textIndex&&(i.textIndex=r.textIndex,r.config||(r.config={}),r.config.textIndex=r.textIndex),this.isRoot&&void 0!==r.config&&this.store.initConfig(r.config),i.title||(i.title=this.store.config.sourceName);const n=r.pages||[];n?.length&&await this.store.addPages(n);const s=r.pageLists||[];return s?.length&&await this.store.addCuratedPageLists(s,"pages","show"),i}async loadPages(t=Kw,e=null){const{reader:r,hasher:i}=await this.loadFileFromWACZ(t,{unzip:!0,computeHash:!0});if(!r)return[];let n=null,s=[];for await(const t of r.iterLines()){const e=JSON.parse(t);this.waczname&&(e.wacz=this.waczname),n?(s.push(e),500===s.length&&(await this.store.addPages(s),s=[])):n=e}return s.length&&await this.store.addPages(s),i&&e&&await this.store.addVerifyData(this.waczname,t,e,i.getHash()),n}}class tb{loader;loadId=null;loadUrl;constructor(t,e,r=null){this.loader=t,this.loadId=r,this.loadUrl=e.loadUrl}async load(t){const e=this.loader;t.fullConfig&&e.arrayBuffer&&e.arrayBuffer.byteLength<=s&&(t.fullConfig.extra||(t.fullConfig.extra={}),t.fullConfig.extra.arrayBuffer=e.arrayBuffer);const r=this.loadUrl;return await t.addNewWACZ({name:"default",path:r,loader:e})}}class eb{loader;loadId=null;config;constructor(t,e,r=null){this.config=e,this.loadId=r,this.loader=t}async load(t,e=null,r=0){const i=new _o({loader:this.loader});await i.init();const n=i.zipreader,s=new $w(t,i),o=await s.load();let a=0;const c=(t,i,n)=>{n+=a,e&&r&&e(Math.round(100*n/r),null,n,r)};for(const e of i.iterContainedFiles()){const r=n.getCompressedSize(e);(e.endsWith(".warc.gz")||e.endsWith(".warc"))&&await this.loadWARC(t,n,e,c,r),a+=r}return o||{}}async loadWARC(t,e,r,i,n){const{reader:s}=await e.loadFile(r,{unzip:!0});if(!s)throw new Error("no WARC found");const o=new cs(s,null,r);return o.detectPages=!1,await o.load(t,i,n)}}class rb{response;constructor(t){this.response=t}async load(t){return await t.loadFromJSON(this.response)}}class ib{prefix;proxyPathOnly;isLive;archivePrefix;cloneResponse;allowBody;hostProxy;hostProxyOnly;messageOnProxyErrors;constructor(t,{cloneResponse:e=!1,allowBody:r=!1,hostProxyOnly:i=!1}={}){if(t=t||{},this.prefix=t.prefix||"",this.proxyPathOnly=t.proxyPathOnly||!1,this.isLive=void 0===t.isLive||t.isLive,this.archivePrefix=t.archivePrefix||"",this.cloneResponse=e,this.allowBody=r||this.isLive,this.messageOnProxyErrors=t.messageOnProxyErrors||!1,this.hostProxy=t.hostProxy,this.hostProxy instanceof Array){const t={};for(const e of this.hostProxy)t[e.host]=e;this.hostProxy=t}this.hostProxyOnly=i}async getAllPages(){return[]}getFetchUrl(t,e,r){let i;if(this.hostProxy){i=new URL(t);const e=this.hostProxy[i.host];if(e)return r.set("X-Proxy-Host",i.host),e.prefix+(e.pathOnly?i.pathname+i.search:t)}return this.hostProxyOnly?null:this.proxyPathOnly?(i||(i=new URL(t)),this.prefix+i.pathname+i.search):this.isLive||!e.timestamp?this.prefix+t:this.prefix+this.archivePrefix+e.timestamp+"id_/"+t}async getResource(t,e){const{headers:r,credentials:i,url:n}=t.prepareProxyRequest(e,!0),s=this.getFetchUrl(n,t,r);if(!s)return null;let o=null;const a="POST"===t.method||"PUT"===t.method||"DELETE"===t.method;a&&(this.allowBody?o=await t.getBody():this.sendProxyError("post-request-attempt",n,t.method));let c=await fetch(s,{method:t.method,body:o,headers:r,credentials:i,mode:"cors",redirect:"follow"}),l=!1;a&&c.status>=400?this.sendProxyError("post-request-failed",n,t.method,c.status):429===c.status&&this.sendProxyError("rate-limited",n,t.method,c.status),c.status>400&&404!==c.status&&["","document","iframe"].includes(t.destination)&&(c=function(t,e){return An(function(t,e){return`\n <!doctype html>\n <html>\n <head>\n <script>\n window.requestURL = "${t}";\n <\/script>\n </head>\n <body style="font-family: sans-serif">\n <h2>Live page could not be loaded</h2>\n <p>Sorry, this page was could not be loaded through the archiving proxy. Check the URL and try again.</p>\n <p><code id="url" style="word-break: break-all; font-size: larger">Status Code: ${e}</code></p>\n <p id="goback" style="display: none"><a href="#" onclick="window.history.back()">Go Back</a> to the previous page.</a></p>\n\n <script>\n let isTop = true;\n try {\n if (window.parent._WB_wombat_location) {\n isTop = false;\n }\n } catch (e) {\n\n }\n if (isTop) {\n document.querySelector("#goback").style.display = "";\n\n window.parent.postMessage({\n wb_type: "live-proxy-url-error",\n url: window.requestURL,\n status: ${e},\n }, "*");\n }\n <\/script>\n </body>\n </html>\n `}(t,e),"text/html",e)}(n,c.status),l=!0);let h=null;this.cloneResponse&&(h=c.clone());const u=ln.fromResponse({url:n,response:c,date:new Date,noRW:l,isLive:this.isLive,archivePrefix:this.archivePrefix});return h&&(u.clonedResponse=h),u}async sendProxyError(t,e,r,i){if(!this.messageOnProxyErrors)return;const n=await self.clients.matchAll({type:"window"});for(const s of n)if(new URL(s.url).searchParams.get("source")===this.prefix){s.postMessage({type:t,url:e,method:r,status:i});break}}}const nb=/^([\w-]+,)*[\w-]+(:\d+)?,?\)\//;class sb extends no{config;waczfiles;waczNameForHash;ziploadercache;updating;rootSourceType;sourceLoader;externalSource;textIndex;fuzzyUrlRules;pagesQueryUrl="";totalPages=void 0;preloadResources=[];seedPageWACZs=new Map;constructor(t,e,r="wacz"){super(t.dbname,t.noCache),this.config=t,this.waczfiles={},this.waczNameForHash={},this.ziploadercache={},this.updating=null,this.rootSourceType=r,this.sourceLoader=e,this.externalSource=null,this.fuzzyUrlRules=[],this.textIndex=t.metadata?.textIndex||Yw,t.extraConfig&&this.initConfig(t.extraConfig)}initConfig(t){if(void 0!==t.decodeResponses&&(this.config.decode=!!t.decodeResponses),t.hostProxy&&(this.externalSource=new ib(t,{hostProxyOnly:!0})),t.fuzzy)for(const[e,r]of t.fuzzy){const t=new RegExp(e);this.fuzzyUrlRules.push({match:t,replace:r})}t.textIndex&&(this.textIndex=t.textIndex)}updateHeaders(t){this.sourceLoader&&(this.sourceLoader.headers=t)}_initDB(t,e,r,i){super._initDB(t,e,r,i),e||(t.createObjectStore("ziplines",{keyPath:["waczname","prefix"]}),t.createObjectStore("waczfiles",{keyPath:"waczname"}),t.createObjectStore("verification",{keyPath:"id"})),2===e&&this.convertV2WACZDB(t,i),3===e&&t.createObjectStore("verification",{keyPath:"id"})}async convertV2WACZDB(t,e){try{const r=await e.objectStore("ziplines").getAll(),i=await e.objectStore("zipEntries").getAll();t.deleteObjectStore("ziplines"),t.deleteObjectStore("zipEntries"),t.createObjectStore("ziplines",{keyPath:["waczname","prefix"]}),t.createObjectStore("waczfiles",{keyPath:"waczname"}),t.createObjectStore("verification",{keyPath:"id"});const n=this.config.loadUrl;for(const t of r)t.waczname=n,e.objectStore("ziplines").put(t);const s=r.length>0?2:1,o=await this.computeFileHash(n,""),a=new _o({waczname:n,hash:o,path:n,entries:i,indexType:s});e.objectStore("waczfiles").put(a.serialize()),await e.done}catch(t){console.warn(t)}}addWACZFile(t){const e=new _o(t);return this.waczfiles[t.waczname]=e,this.waczNameForHash[t.hash]=t.waczname,e}async init(){await super.init();const t=await this.db.getAll("waczfiles")||[];for(const e of t)this.addWACZFile({...e,parent:this});for(const[t,e]of Object.entries(this.waczfiles)){e.path=e.path||t;const r=e.path.lastIndexOf("#!/");if(r>0){const t=e.path.slice(0,r),i=this.waczfiles[t];e.parent=i}else"json"!==this.rootSourceType&&(e.loader=this.sourceLoader)}await this.checkUpdates()}async close(){super.close(),caches.delete("cache:"+this.name.slice(3))}async clearZipData(){const t=["waczfiles","ziplines"];for(const e of t)await this.db.clear(e)}async addVerifyData(t="",e,r,i=null,n=!1){let s=!1;t&&(e=t+e),i&&(s=r===i,n&&console.log(`verify ${e}: ${s}`)),await this.db.put("verification",{id:e,expected:r,matched:s})}async addVerifyDataList(t,e){const r=this.db.transaction("verification","readwrite");for(const i of e)t&&(i.id=t+i.id),r.store.put(i);try{await r.done}catch(t){console.warn(t)}}async getVerifyInfo(){const t=await this.db.getAll("verification");let e=0,r=0;const i={},n=["domain","created","certFingerprint","software","datapackageHash","publicKey"];for(const s of t)n.includes(s.id)?i[s.id]=s.expected:"signature"===s.id||!0===s.matched?e++:!1===s.matched&&r++;return i.numInvalid=r,i.numValid=e,i}async getVerifyExpected(t){return(await this.db.get("verification",t))?.expected}async clearAll(){await super.clearAll(),await this.clearZipData()}async loadRecordFromSource(t){const{start:e,length:r,path:i,wacz:n}=t.source,s={offset:e,length:r,unzip:!0,computeHash:!0},o=n,{reader:a,hasher:c}=await this.loadFileFromNamedWACZ(o,"archive/"+i,s),l=new ls(a);await this.waczfiles[o].save(this.db);const h=await l.load();return t[po]&&h?.respHeaders&&(h.respHeaders["x-wabac-preset-cookie"]=t[po]),{remote:h,hasher:c}}async loadIndex(t){if(!this.waczfiles[t])throw new Error("unknown waczfile: "+t);if(this.waczfiles[t].entries||await this.waczfiles[t].init(),this.waczfiles[t].indexType)return{indexType:this.waczfiles[t].indexType,isNew:!1};let e=0;for(const r of this.waczfiles[t].iterContainedFiles())r.endsWith(".cdx")||r.endsWith(".cdxj")?(console.log(`Loading CDX for ${t}`),await this.loadCDX(r,t),e=1):r.endsWith(".idx")&&(console.log(`Loading IDX for ${t}`),await this.loadIDX(r,t),e=2);return this.waczfiles[t].indexType=e,await this.waczfiles[t].save(this.db,!0),{indexType:e,isNew:!0}}async loadCDX(t,e,r,i){const{reader:n,hasher:s}=await this.loadFileFromNamedWACZ(e,t,{computeHash:!0}),o=new go(n,null,e,{wacz:e}),a=await o.load(this,r,i);if(s){const r=await this.getVerifyExpected(t);r&&this.addVerifyData(e,t,r,s.getHash())}return a}async loadIDX(t,e,r,i){const{reader:n,hasher:s}=await this.loadFileFromNamedWACZ(e,t,{computeHash:!0}),o=[];let a="",c=!0,l=0;for await(const t of n.iterLines()){if(l+=t.length,l===t.length&&t.startsWith("!meta")){const e=t.indexOf(" {");if(e<0){console.warn("Invalid Meta Line: "+t);continue}const r=JSON.parse(t.slice(e));r.filename&&(a=r.filename),"cdxj-gzip-1.0"!==r.format&&console.log(`Unknown CDXJ format "${r.format}", archive may not parse correctly`);continue}let n;if(t.indexOf("\t")>0){const[r,i,s,o]=t.split("\t");n={waczname:e,prefix:r,filename:i,offset:Number(s),length:Number(o),loaded:!1},c=!1}else{const r=t.indexOf(" {");if(r<0){console.log("Invalid Index Line: "+t);continue}const i=t.slice(0,r);let{offset:s,length:o,filename:l,digest:h}=JSON.parse(t.slice(r));c=c&&!nb.test(i),l=l||a,n={waczname:e,prefix:i,filename:l,offset:s,length:o,digest:h,loaded:!1}}r&&i&&r(l/i,l,i),o.push(n)}if(s){const r=await this.getVerifyExpected(t);r&&this.addVerifyData(e,t,r,s.getHash())}const h=this.db.transaction("ziplines","readwrite");for(const t of o)h.store.put(t);try{await h.done}catch(t){console.log("Error loading ziplines index: ",t)}c&&c!==this.waczfiles[e].nonSurt&&(this.waczfiles[e].nonSurt=c,await this.waczfiles[e].save(this.db,!0))}async loadCDXFromIDX(t,e,r=0,i=!1){const n=this.waczfiles[t].nonSurt?e:tt(e),s=i?this.prefixUpperBound(n):n+" 9999",o=IDBKeyRange.upperBound([t,s],!0),a=this.db.transaction("ziplines","readonly"),c=[];for await(const e of a.store.iterate(o,"prev")){if(e.value.waczname!==t)break;if(c.unshift(e.value),!e.value.prefix.split(" ")[0].startsWith(n))break}await a.done;const l=[];c.length>3&&r&&c.sort(((t,e)=>{const i=t.prefix.split(" ")[1],n=e.prefix.split(" ")[1];if(!i||!n)return 0;const s=Math.abs(h(i).getTime()-r),o=Math.abs(h(n).getTime()-r);return s===o?0:s<o?-1:1}));let u=0;for(const e of c){if(e.loaded)continue;const r=t+":"+e.filename+":"+e.offset;let i=this.ziploadercache[r];if(i||(i=this.doCDXLoad(r,e,t),this.ziploadercache[r]=i),l.push(i),++u>3)break}return l.length&&await Promise.allSettled(l),await this.waczfiles[t].save(this.db),l.length>0}async doCDXLoad(t,e,r){try{const t="indexes/"+e.filename,i={offset:e.offset,length:e.length,unzip:!0,computeHash:!!e.digest},{reader:n,hasher:s}=await this.loadFileFromNamedWACZ(r,t,i),o=new go(n,null,"",{wacz:r});if(await o.load(this),s){const i=s.getHash(),n=`${t}:${e.offset}-${e.length}`;await this.addVerifyData(r,n,e.digest||"",i)}e.loaded=!0,await this.db.put("ziplines",e)}catch(t){await v(t,this.config)||console.warn(t)}finally{delete this.ziploadercache[t]}}async findPageAtUrl(t,e){const r=await this.db.getAllFromIndex("pages","url",t);let i=null,n=Number.MAX_SAFE_INTEGER;for(const t of r){const r=Math.abs(t.ts-e);if(r<1e3)return t;r<n&&(i=t,n=r)}return i}async lookupUrl(t,e,r={}){try{const{waczname:i}=r;let n;return i&&"local"!==i&&(n=await this.lookupUrlForWACZ(i,t,e,r)),!n||r.noRevisits&&"warc/revisit"===n.mime?(n=await super.lookupUrl(t,e,r),n):n}catch(t){return console.warn(t),null}}async lookupUrlForWACZ(t,e,r,i){const{indexType:n,isNew:s}=await this.loadIndex(t);switch(n){case 2:if(!await this.loadCDXFromIDX(t,e,r,!1))return null;break;case 1:if(!s)return null;break;default:return null}return await super.lookupUrl(e,r,i)}async resourcesByUrlAndMime(t,...e){let r=await super.resourcesByUrlAndMime(t,...e);if(r.length>0)return r;for(const i of Object.keys(this.waczfiles))if(i&&"local"!==i){const{indexType:n,isNew:s}=await this.loadIndex(i);switch(n){case 2:if(!await this.loadCDXFromIDX(i,t,0,!0))continue;break;case 1:if(!s)continue;break;default:continue}const o=await super.resourcesByUrlAndMime(t,...e);o&&o.length&&(r=r.concat(o))}return r}async loadFileFromWACZ(t,e,r){try{return await t.loadFile(e,r)}catch(i){if(await this.retryLoad(i))return await t.loadFile(e,r);throw i}}async loadFileFromNamedWACZ(t,e,r){const i=this.waczfiles[t];if(!i)throw new Error("No WACZ Found for: "+t);return await this.loadFileFromWACZ(i,e,r)}async computeFileHash(t,e){return e?e.indexOf(":")>0&&(e=e.split(":")[1]):e=await p(t,"sha-256",""),e}async addNewWACZ({name:t,hash:e,path:r,crawlId:i,parent:n,loader:s=null}){const o=t||r||"";e=await this.computeFileHash(o,e);const a=this.addWACZFile({waczname:o,hash:e,crawlId:i,path:r,parent:n,loader:s});if(this.pagesQueryUrl||await a.init(),await a.save(this.db,!0),this.pagesQueryUrl)return{};{const t=new $w(this,a,!n);return await t.load()}}async loadWACZFiles(t,e=this){const r=[],i=async(t,e)=>{const r=this.waczfiles[t];r&&(this.pagesQueryUrl?await r.init(e):r.path=e,await r.save(this.db,!0))},n=t.resources.map((t=>{const r=e.getLoadPath(t.path);return{name:e.getName(t.name),hash:t.hash,path:r,crawlId:t.crawlId}}));for(const{name:t,hash:s,path:o,crawlId:a}of n)this.waczfiles[t]?this.waczfiles[t].path!==o&&r.push(i(t,o)):r.push(this.addNewWACZ({name:t,hash:s,path:o,parent:e,crawlId:a}));if(r.length&&await Promise.allSettled(r),t.preloadResources)for(const{name:e}of t.preloadResources)this.preloadResources.push(e);t.initialPages&&await this.addInitialPages(t.initialPages),isNaN(t.totalPages)||(this.totalPages=t.totalPages)}async addInitialPages(t){const e=[];for(const{id:r,url:i,title:n,ts:s,mime:o,status:a,depth:c,favIconUrl:l,filename:h,isSeed:u,crawl_id:p}of t){const t=this.waczfiles[h],d=t?t.hash:"";if(e.push({id:r,url:i,title:n,ts:s,mime:o,status:a,depth:c,favIconUrl:l,wacz:h,waczhash:d,isSeed:u}),u){const t=this.seedPageWACZs.get(p)||new Set;t.add(h),this.seedPageWACZs.set(p,t)}}return await this.addPages(e)}async getTextIndex(){const t={"Content-Type":"application/ndjson"},e=Object.keys(this.waczfiles);if(this.pagesQueryUrl||!this.textIndex||!e.length)return new Response("",{headers:t});if(1===e.length){const r=e[0];let i;try{i=await this.loadFileFromNamedWACZ(r,this.textIndex,{unzip:!0})}catch(e){return new Response("",{headers:t})}const{reader:n}=i,s=this.waczfiles[r].getSizeOf(this.textIndex);return s>0&&(t["Content-Length"]=""+s),new Response(n.getReadableStream(),{headers:t})}{const r=[];for(const i of e)try{const{reader:t}=await this.loadFileFromNamedWACZ(i,this.textIndex,{unzip:!0});t&&r.push(t)}catch(t){continue}const i=new ReadableStream({async pull(t){for(const e of r)for await(const r of e)t.enqueue(r);t.close()}});return new Response(i,{headers:t})}}async getResource(t,e,r,{pageId:i,noRedirect:n}={}){if(await this.initing,this.externalSource){const r=await this.externalSource.getResource(t,e);if(r)return r}const s=i;let o=null,a=null;if(s){if(o=this.waczNameForHash[s],!o)return null;if(a=await super.getResource(t,e,r,{waczname:o}),a)return a}const c=await this.getWACZFilesToTry(t,o);if(!c.length)return null;const u=new Map;for(const i of c){const o=this.waczfiles[i];if(o&&"wacz"===o.fileType&&o.hash!==s&&(a=await super.getResource(t,e,r,{waczname:i,noFuzzyCheck:!0,loadFirst:!0}),a)){if(n)return a;u.set(a.date,{name:i,hash:o.hash})}}if(u.size>0){const r=h(t.timestamp);let i,n,s=-1;for(const t of u.keys()){const e=Math.abs(t.getTime()-r.getTime());if(s<0||e<s){const{name:r,hash:a}=u.get(t);o=r,n=a,i=l(t.toISOString()),s=e}}return Response.redirect(`${e}:${n}/${i}mp_/${t.url}`)}if(this.fuzzyUrlRules.length)for(const{match:i,replace:n}of this.fuzzyUrlRules){const s=decodeURIComponent(t.url.replace(i,n));if(s&&s!==t.url){t.url=s;const i=await super.getResource(t,e,r);if(i)return i}}return null}async retryLoad(t){return"json"===this.rootSourceType&&(t instanceof x?(this.updating||(this.updating=this.checkUpdates()),await this.updating,this.updating=null,!0):await v(t,this.config))}async queryPages(t="",e=1,r=25){const i=new URLSearchParams;t&&i.set("search",t),i.set("page",e+""),i.set("pageSize",r+"");const n=await fetch(this.pagesQueryUrl+"?"+i.toString(),{headers:this.sourceLoader?.headers});if(200!==n.status)return{pages:[],total:0};const s=await n.json();if(!s)return{pages:[],total:0};const o=s.total,a=s.items.map((t=>{t.wacz=t.filename;const e=this.waczfiles[t.filename];return e&&(t.waczhash=e.hash),"string"==typeof t.ts&&(t.ts=new Date(t.ts).getTime()),t}));return{pages:a,total:o}}async getWACZFilesToTry(t,e){let r=[];if(this.preloadResources.length&&(r=[...this.preloadResources]),this.pagesQueryUrl&&("document"===t.destination||"iframe"===t.destination)){const e=await this.getWACZFilesForPagesQuery(t.url);if(e)return r=[...r,...e],r}if(e){const t=this.waczfiles[e];if(t?.crawlId){const e=this.seedPageWACZs.get(t.crawlId);e&&(r=[...r,...e.values()])}}return!r.length&&Object.keys(this.waczfiles).length<=3&&(r=Object.keys(this.waczfiles)),r}async getWACZFilesForPagesQuery(t){const e=new URLSearchParams,r=new URL(t);r.search="",r.hash="",e.set("url",r.href),e.set("pageSize","10");const i=await fetch(this.pagesQueryUrl+"?"+e.toString(),{headers:this.sourceLoader?.headers});if(200!==i.status)return null;const n=await i.json();if(!n)return null;const s=n.items.map((t=>t.filename));return s}async checkUpdates(){"json"===this.rootSourceType&&await this.loadFromJSON()}async loadFromJSON(t=null){if(!t){const e=await this.sourceLoader.doInitialFetch(!1,!1);t=e&&e.response}if(!t||206!==t.status&&200!==t.status)return console.warn("WACZ update failed from: "+this.config.loadUrl),{};const e=await t.json();return e.pagesQueryUrl&&(this.pagesQueryUrl=e.pagesQueryUrl),e.profile,await this.loadWACZFiles(e),e}getLoadPath(t){return new URL(t,this.config.loadUrl).href}getName(t){return t}async createLoader(t){return await Ks(t)}}class ob{sourceUrl;type;notFoundPageUrl;constructor(t){const e=t.extraConfig||{};this.sourceUrl=e.prefix,this.type=e.sourceType||"kiwix",this.notFoundPageUrl=e.notFoundPageUrl}async getAllPages(){return[]}async getResource(t,e){const{url:r,headers:i}=t.prepareProxyRequest(e);let n=i;if("kiwix"===this.type){let e=await this.resolveHeaders(r);if(!e)for(const t of es.getFuzzyCanonsWithArgs(r))if(t!==r&&(e=await this.resolveHeaders(t),e))break;if(!e){if(this.notFoundPageUrl&&"navigate"===t.mode){const t=await fetch(this.notFoundPageUrl);if(200===t.status){const e={"Content-Type":"text/html"},i=await t.text();return new Response(i.replace("$URL",r),{status:404,headers:e})}}return null}let{headers:i,encodedUrl:s,date:o,status:a,statusText:c,hasPayload:l}=e;if(n.has("Range")){const t=n.get("Range");t&&(n={Range:t})}let h=null,u=null;if(i||(i=new Headers),l&&(u=await fetch(this.sourceUrl+"A/"+s,{headers:n}),u.body&&(h=new ft(u.body.getReader(),null,!1)),206===u.status)){const t=u.headers.get("Content-Length"),e=u.headers.get("Content-Range");t&&e&&(a=206,c="Partial Content",i.set("Content-Length",t),i.set("Content-Range",e),i.set("Accept-Ranges","bytes"))}return h||(h=new Uint8Array([])),o||(o=new Date),new ln({payload:h,status:a,statusText:c,headers:i,url:r,date:o,noRW:!1,isLive:!1})}return null}async resolveHeaders(t){const e=t.slice(t.indexOf("//")+2);let r=encodeURI(e);r=encodeURIComponent(e);const i=await fetch(this.sourceUrl+"H/"+r);if(200!==i.status)return null;let n=null,s=null,o=200,a="OK",c=!1;try{const e=await It.parse(i.body);if(!e)return null;if("revisit"===e.warcType){const r=e.warcHeaders.headers.get("WARC-Refers-To-Target-URI");if(r&&r!==t)return await this.resolveHeaders(r)}s=new Date(e.warcDate),e.httpHeaders?(n=e.httpHeaders.headers,o=Number(e.httpHeaders.statusCode),a=e.httpHeaders.statusText||"",c="0"!==e.httpHeaders.headers.get("Content-Length")):"resource"===e.warcType&&(n=new Headers,n.set("Content-Type",e.warcContentType||""),n.set("Content-Length",e.warcContentLength+""),o=200,a="OK",c=e.warcContentLength>0),o||(o=200)}catch(e){console.warn(e),console.warn("Ignoring headers, error parsing headers response for: "+t)}return{encodedUrl:r,headers:n,date:s,status:o,statusText:a,hasPayload:c}}}const ab=hb([80,75,3,4]),cb=hb([31,139,8]),lb=hb([87,65,82,67]);function hb(t){return e=>{for(const[r,i]of t.entries())if(i!==e[r])return!1;return!0}}globalThis.self||(globalThis.self=globalThis);const ub={};self.interruptLoads=ub;class pb extends class{root=null;colldb=null;checkIpfs=!0;_init_db;_fileHandles=null;constructor(){this._init_db=this._initDB()}async _initDB(){this.colldb=await Ln("collDB",1,{upgrade:t=>{t.createObjectStore("colls",{keyPath:"name"}).createIndex("type","type")}})}async loadAll(t){if(await this._init_db,t)for(const e of t.split(",")){const t=e.split(":");if(2===t.length){const e={dbname:t[1],sourceName:t[1],decode:!1,sourceUrl:""},r={name:t[0],type:"archive",config:e};console.log("Adding Coll: "+JSON.stringify(r)),await this.colldb.put("colls",r)}}try{const t=(await this.listAll()).map((async t=>this._initColl(t)));await Promise.all(t)}catch(t){console.warn(t.toString())}return!0}async listAll(){return await this._init_db,await this.colldb.getAll("colls")}async loadColl(t){await this._init_db;const e=await this.colldb.get("colls",t);return e?await this._initColl(e):null}async reload(t){return this.loadColl(t)}async deleteColl(t){await this._init_db;const e=await this.colldb.get("colls",t);if(!e)return!1;if(e.config.dbname)try{await Un(e.config.dbname,{blocked(t,r){console.log(`Unable to delete ${e.config.dbname}, blocked: ${r}`)}})}catch(t){return console.warn(t),!1}return await this.colldb.delete("colls",t),!0}async updateAuth(t,e){await this._init_db;const r=await this.colldb.get("colls",t);return!!r&&(r.config.headers=e,await this.colldb.put("colls",r),!0)}async updateMetadata(t,e){await this._init_db;const r=await this.colldb.get("colls",t);return!!r&&(r.config.metadata={...r.config.metadata,...e},await this.colldb.put("colls",r),r.config.metadata)}async updateSize(t,e,r,i){await this._init_db;const n=await this.colldb.get("colls",t);if(!n)return!1;const s=n.config.metadata||{};return s.fullSize=(s.fullSize||0)+e,s.size=(s.size||0)+r,s.mtime=(new Date).getTime(),void 0!==i&&(n.config.decode=i),await this.colldb.put("colls",n),s}async initNewColl(t,e={},r="archive"){await this._init_db;const i=g(),n="local://"+i,s={name:i,type:r,config:{dbname:"db:"+i,ctime:(new Date).getTime(),decode:!1,metadata:t,sourceUrl:n,extraConfig:e}},o=await this._initColl(s);return await this.colldb.put("colls",s),o}async _initColl(t){const e=await this._initStore(t.type||"",t.config),r=t.name,i=t.config;return t.config.root&&!this.root&&(this.root=r||null),this._createCollection({name:r,store:e,config:i})}async _initStore(t,e){let r,i=null;switch(t){case"archive":i=new ns(e.dbname);break;case"remotesource":r=await Ks({url:e.loadUrl,headers:e.headers,size:e.size,extra:e.extra}),i=new oo(e.dbname,r,e.noCache);break;case"remoteprefix":i=new ao(e.dbname,e.remotePrefix,e.headers,e.noCache);break;case"wacz":case"remotezip":case"multiwacz":r=await Ks({url:e.loadUrl||e.sourceUrl,headers:e.headers,extra:e.extra}),i=new sb(e,r,"multiwacz"===t?"json":"wacz");break;case"remotewarcproxy":i=new ob(e);break;case"live":i=new ib(e.extraConfig)}return i?(i.initing&&await i.initing,i):(console.log("no store found: "+t),null)}_createCollection(t){return t}}{constructor(t){super(),this.registerListener(t)}async hasCollection(t){return await this._init_db,null!=await this.colldb.getKey("colls",t)}registerListener(t){t.addEventListener("message",(t=>{t.waitUntil?t.waitUntil(this._handleMessage(t)):this._handleMessage(t)}))}async _handleMessage(t){await this._init_db;const e=t.source||self;switch(t.data.msg_type){case"addColl":{const r=t.data.name,i=(t,i,n,s,o=null,a=null)=>{e.postMessage({msg_type:"collProgress",name:r,percent:t,error:i,currentSize:n,totalSize:s,fileHandle:o,extraMsg:a})};let n;try{if(n=await this.colldb.get("colls",r),n?t.data.skipExisting||(await this.deleteColl(r),n=await this.addCollection(t.data,i)):n=await this.addCollection(t.data,i),!n){if(t.data.name)try{await Un("db:"+t.data.name,{blocked(e,r){console.log(`Load failed and unable to delete ${t.data.name}: ${r}`)}})}catch(t){console.warn(t)}return}}catch(t){if(t instanceof T)return console.warn(t),void i(0,"permission_needed",null,null,t.info?.fileHandle);if("ConstraintError"!==t.name)return console.warn(t),void i(0,"An unexpected error occured: "+t.toString(),null,null);console.log("already being added, just continue..."),n=await this.colldb.get("colls",r)}e.postMessage({msg_type:"collAdded",name:r,sourceUrl:n?.config.sourceUrl});break}case"cancelLoad":{const e=t.data.name,r=new Promise((t=>ub[e]=t));await r,await this.deleteColl(e),delete ub[e];break}case"removeColl":{const r=t.data.name;await this.hasCollection(r)&&(await this.deleteColl(r),this.doListAll(e));break}case"listAll":this.doListAll(e);break;case"reload":this.reload(t.data.name)}}async doListAll(t){const e=[],r=await this.listAll();for(const t of r)e.push({name:t.name,prefix:t.name,pageList:[],sourceName:t.config.sourceName});t.postMessage({msg_type:"listAll",colls:e})}async addCollection(t,e){let r=t.name,i="";const n={root:t.root||!1};let o=null,a=null;const c=t.file;if(!c?.sourceUrl)return e(0,"Invalid Load Request"),!1;if(n.dbname="db:"+r,c.sourceUrl.startsWith("proxy:"))n.sourceUrl=c.sourceUrl.slice(6),n.extraConfig=t.extraConfig,n.extraConfig.prefix||(n.extraConfig.prefix=n.sourceUrl),n.topTemplateUrl=t.topTemplateUrl,n.metadata={},i=t.type||n.extraConfig.type||"remotewarcproxy",o=await this._initStore(i,n);else{let l=null,h=null;if(c.newFullImport&&(r=g(),c.loadUrl=c.loadUrl||c.sourceUrl,c.name=c.name||c.sourceUrl,c.sourceUrl="local://"+r),i="archive",c.newFullImport&&c.importCollId){const t=await this.colldb.get("colls",c.importCollId);if(!t||"archive"!==t.type)return e(0,"Invalid Existing Collection: "+c.importCollId),!1;n.dbname=t.config.dbname,a=t.config,a&&(a.decode=!0)}let u=c.loadUrl||c.sourceUrl;u.match(/[\w]+:\/\//)||(u=new URL(u,self.location.href).href),n.decode=!0,n.onDemand=!1,n.loadUrl=u,n.sourceUrl=c.sourceUrl;let p=c.name||c.sourceUrl;try{if(p.match(/https?:\/\//)){const t=new URL(p);p=t.pathname+t.hash}}catch(t){}if(n.sourceName=p.slice(p.lastIndexOf("/")+1),n.size="number"==typeof c.size?c.size:null,n.extra=c.extra,n.loadUrl.startsWith("file://")&&!c.blob&&!n.extra){if(!this._fileHandles||!this._fileHandles[n.sourceUrl])return e(0,"missing_local_file"),!1;n.extra={fileHandle:this._fileHandles[n.sourceUrl]}}n.extraConfig=t.extraConfig,n.headers=c.headers||n.extraConfig?.headers,n.noCache=c.noCache;let d=await Ks({url:u,headers:n.headers,size:c.size,extra:n.extra,blob:c.blob});if(c.loadEager){const{response:t}=await d.doInitialFetch(!1,!0),e={arrayBuffer:new Uint8Array(await t.arrayBuffer())};c.newFullImport=!0,d=await Ks({url:u,headers:n.headers,size:c.size,extra:e})}let f=function(t){const e=[".warc",".warc.gz",".cdx",".cdxj",".har",".json",".wacz",".zip"];for(const r of e)if(t.endsWith(r))return r}(n.sourceName);const{abort:y,response:m}=await d.doInitialFetch(".wacz"===f,!1);f||(f=await async function(t){const e=t.body.getReader();let r="";const{value:i,done:n}=await e.read();var s;return!n&&i.length>=4&&(s=i.slice(0,4),r=ab(s)?".wacz":lb(s)?".warc":cb(s)?".warc.gz":void 0,r||(r=function(t){try{const e=(new TextDecoder).decode(t).split("\n");if(e.length>1&&e.indexOf(" {")>=0)return".cdxj"}catch(t){return""}}(i))),n||e.cancel(),r}(await m.clone()));const w=m.body;if(n.onDemand=d.canLoadOnDemand&&!c.newFullImport,!d.isValid){const t=d.length&&d.length<=1e3?await m.text():"";return e(0,`Sorry, this URL could not be loaded.\nMake sure this is a valid URL and you have access to this file.\nStatus: ${m.status} ${m.statusText}\nError Details:\n${t}`),y&&y.abort(),!1}if(!d.length)return e(0,"Sorry, this URL could not be loaded because the size of the file is not accessible.\nMake sure this is a valid URL and you have access to this file."),y&&y.abort(),!1;const b=d.length;if(".wacz"===f)if(n.onDemand)l=new tb(d,n,r),h=new sb(n,d,"wacz"),i="wacz";else{if(!d.canLoadOnDemand||!c.newFullImport)return e(0,"Sorry, can't load this WACZ file due to lack of range request support on the server"),y&&y.abort(),!1;l=new eb(d,n,r),h=null,delete n.extra}else!w||".warc"!==f&&".warc.gz"!==f?!w||".cdx"!==f&&".cdxj"!==f?".har"===f?(l=new uo(await m.json()),n.decode=!1):".json"===f&&(h=new sb(n,d,"json"),l=new rb(m),i="multiwacz"):(n.remotePrefix=t.remotePrefix||u.slice(0,u.lastIndexOf("/")+1),l=new go(w,y,r),i="remoteprefix",h=new ao(n.dbname,n.remotePrefix,n.headers,n.noCache)):n.noCache||!(b<s)&&n.onDemand?(l=new fo(w,y,r),i="remotesource",h=new oo(n.dbname,d,n.noCache)):l=new cs(w,y,r);if(!l)return e(0,`The ${n.sourceName} is not a known archive format that could be loaded.`),y&&y.abort(),!1;h||(h=new ns(n.dbname)),await h.initing;try{n.metadata=await l.load(h,e,b)}catch(t){return t instanceof C||(e(0,`Unexpected Loading Error: ${t.toString()}`),console.warn(t)),!1}if(a)return await this.updateSize(c.importCollId,b,b,a.decode),{config:a,type:"",name:""};n.metadata.size||(n.metadata.size=b),n.metadata.title||(n.metadata.title=n.sourceName),o=h}n.ctime=(new Date).getTime(),this._fileHandles&&n.extra?.fileHandle&&delete this._fileHandles[n.sourceUrl];const l={name:r,type:i,config:n};return await this.colldb.add("colls",l),l.store=o,l}}let db;class fb{timeRanges={};updateStats(t,e,r,i){const n=i.clientId||i.resultingClientId;if(!n||!t)return;if(!r.url||r.url.indexOf("mp_/")<0)return;if("document"===r.destination&&e>300&&e<400)return;let s;void 0===this.timeRanges[n]?(s={count:0,children:new Set},this.timeRanges[n]=s,r.referrer.indexOf("mp_/")>0&&db.clients.matchAll({type:"window"}).then((t=>this.updateStatsParent(n,r.referrer,t)))):s=this.timeRanges[n];const o=t.getTime();(!s.min||o<s.min)&&(s.min=o),(!s.max||o>s.max)&&(s.max=o),s.count++}updateStatsParent(t,e,r){for(const i of r)if(i.url===e){this.timeRanges[i.id]||(this.timeRanges[i.id]={count:0,children:new Set}),this.timeRanges[i.id].children.add(t);break}}async getStats(t){const e=new URL(t.request.url);let r="";const i=new URLSearchParams(e.search).get("url"),n=await db.clients.matchAll({type:"window"}),s={};for(const t of n)t.url===i&&(r=t.id),s[t.id]=1;const o=this.timeRanges[r]||{},a={count:o.count||0,min:o.min,max:o.max},c=this.timeRanges[r]&&this.timeRanges[r].children;for(const t of c.values()){const e=this.timeRanges[t];e&&(e.min&&(!a.min||e.min<a.min)&&(a.min=e.min),e.max&&(!a.max||e.max>a.max)&&(a.max=e.max),a.count+=e.count)}for(const t of Object.keys(this.timeRanges))s[t]||delete this.timeRanges[t];return new Response(JSON.stringify(a),{headers:{"Content-Type":"application/json"}})}}var gb=function(){return gb=Object.assign||function(t){for(var e,r=1,i=arguments.length;r<i;r++)for(var n in e=arguments[r])Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t},gb.apply(this,arguments)},yb=function(t){return void 0===t&&(t={}),{arrayFormat:t.arrayFormat||"none",booleanFormat:t.booleanFormat||"none",nullFormat:t.nullFormat||"default"}},mb=function(t){return encodeURIComponent(t)},wb=function(t){return decodeURIComponent(t)},bb=function(t,e){var r=yb(e);return function(t){var e=t.indexOf("?");return-1===e?t:t.slice(e+1)}(t).split("&").reduce((function(t,e){var i=e.split("="),n=i[0],s=i[1],o=function(t){var e=t.indexOf("["),r=-1!==e;return{hasBrackets:r,name:r?t.slice(0,e):t}}(n),a=o.hasBrackets,c=o.name,l=t[c],h=function(t,e){if(void 0===t)return"empty-true"===e.booleanFormat||null;if("string"===e.booleanFormat){if("true"===t)return!0;if("false"===t)return!1}if("unicode"===e.booleanFormat){if("✓"===wb(t))return!0;if("✗"===wb(t))return!1}return"string"===e.nullFormat&&"null"===t?null:wb(t)}(s,r);return t[c]=void 0===l?a?[h]:h:(Array.isArray(l)?l:[l]).concat(h),t}),{})},Ab=/[^!$'()*+,;|:]/g,vb=function(t){return t.replace(Ab,(function(t){return encodeURIComponent(t)}))},_b={default:vb,uri:encodeURI,uriComponent:encodeURIComponent,none:function(t){return t},legacy:encodeURI},Eb={default:decodeURIComponent,uri:decodeURI,uriComponent:decodeURIComponent,none:function(t){return t},legacy:decodeURIComponent},Sb=function(t,e,r){var i=_b[e]||vb;return r?String(t).split("/").map(i).join("/"):i(String(t))},Tb=function(t){return"("+(t?t.replace(/(^<|>$)/g,""):"[a-zA-Z0-9-_.~%':|=+\\*@$]+")+")"},xb=[{name:"url-parameter",pattern:/^:([a-zA-Z0-9-_]*[a-zA-Z0-9]{1})(<(.+?)>)?/,regex:function(t){return new RegExp(Tb(t[2]))}},{name:"url-parameter-splat",pattern:/^\*([a-zA-Z0-9-_]*[a-zA-Z0-9]{1})/,regex:/([^?]*)/},{name:"url-parameter-matrix",pattern:/^;([a-zA-Z0-9-_]*[a-zA-Z0-9]{1})(<(.+?)>)?/,regex:function(t){return new RegExp(";"+t[1]+"="+Tb(t[2]))}},{name:"query-parameter",pattern:/^(?:\?|&)(?::)?([a-zA-Z0-9-_]*[a-zA-Z0-9]{1})/},{name:"delimiter",pattern:/^(\/|\?)/,regex:function(t){return new RegExp("\\"+t[0])}},{name:"sub-delimiter",pattern:/^(!|&|-|_|\.|;)/,regex:function(t){return new RegExp(t[0])}},{name:"fragment",pattern:/^([0-9a-zA-Z]+)/,regex:function(t){return new RegExp(t[0])}}],Cb=function t(e,r){if(void 0===r&&(r=[]),!xb.some((function(i){var n=e.match(i.pattern);return!!n&&(r.push({type:i.name,match:n[0],val:n.slice(1,2),otherVal:n.slice(2),regex:i.regex instanceof Function?i.regex(n):i.regex}),n[0].length<e.length&&(r=t(e.substr(n[0].length),r)),!0)})))throw new Error("Could not parse path '"+e+"'");return r},Ib=function(t){return null!=t},Rb={urlParamsEncoding:"default"},kb=function(){function t(t,e){if(!t)throw new Error("Missing path in Path constructor");this.path=t,this.options=gb(gb({},Rb),e),this.tokens=Cb(t),this.hasUrlParams=this.tokens.filter((function(t){return/^url-parameter/.test(t.type)})).length>0,this.hasSpatParam=this.tokens.filter((function(t){return/splat$/.test(t.type)})).length>0,this.hasMatrixParams=this.tokens.filter((function(t){return/matrix$/.test(t.type)})).length>0,this.hasQueryParams=this.tokens.filter((function(t){return/^query-parameter/.test(t.type)})).length>0,this.spatParams=this.getParams("url-parameter-splat"),this.urlParams=this.getParams(/^url-parameter/),this.queryParams=this.getParams("query-parameter"),this.params=this.urlParams.concat(this.queryParams),this.source=this.tokens.filter((function(t){return void 0!==t.regex})).map((function(t){return t.regex.source})).join("")}return t.createPath=function(e,r){return new t(e,r)},t.prototype.isQueryParam=function(t){return-1!==this.queryParams.indexOf(t)},t.prototype.isSpatParam=function(t){return-1!==this.spatParams.indexOf(t)},t.prototype.test=function(t,e){var r=this,i=gb(gb({caseSensitive:!1,strictTrailingSlash:!1},this.options),e),n=function(t,e){return e||"\\/"===t?t:t.replace(/\\\/$/,"")+"(?:\\/)?"}(this.source,i.strictTrailingSlash),s=this.urlTest(t,n+(this.hasQueryParams?"(\\?.*$|$)":"$"),i.caseSensitive,i.urlParamsEncoding);if(!s||!this.hasQueryParams)return s;var o=bb(t,i.queryParams),a=Object.keys(o).filter((function(t){return!r.isQueryParam(t)}));return 0===a.length?(Object.keys(o).forEach((function(t){return s[t]=o[t]})),s):null},t.prototype.partialTest=function(t,e){var r=this,i=gb(gb({caseSensitive:!1,delimited:!0},this.options),e),n=function(t,e){return e?/(\/)$/.test(t)?t:t+"(\\/|\\?|\\.|;|$)":t}(this.source,i.delimited),s=this.urlTest(t,n,i.caseSensitive,i.urlParamsEncoding);if(!s)return s;if(!this.hasQueryParams)return s;var o=bb(t,i.queryParams);return Object.keys(o).filter((function(t){return r.isQueryParam(t)})).forEach((function(t){return function(t,e,r){void 0===r&&(r="");var i=t[e];return t[e]=void 0===i?r:Array.isArray(i)?i.concat(r):[i,r],t}(s,t,o[t])})),s},t.prototype.build=function(t,e){var r=this;void 0===t&&(t={});var i=gb(gb({ignoreConstraints:!1,ignoreSearch:!1,queryParams:{}},this.options),e),n=Object.keys(t).filter((function(t){return!r.isQueryParam(t)})).reduce((function(e,n){if(!Ib(t[n]))return e;var s=t[n],o=r.isSpatParam(n);return"boolean"==typeof s?e[n]=s:Array.isArray(s)?e[n]=s.map((function(t){return Sb(t,i.urlParamsEncoding,o)})):e[n]=Sb(s,i.urlParamsEncoding,o),e}),{});if(this.urlParams.some((function(e){return!Ib(t[e])}))){var s=this.urlParams.filter((function(e){return!Ib(t[e])}));throw new Error("Cannot build path: '"+this.path+"' requires missing parameters { "+s.join(", ")+" }")}if(!i.ignoreConstraints&&!this.tokens.filter((function(t){return/^url-parameter/.test(t.type)&&!/-splat$/.test(t.type)})).every((function(t){return new RegExp("^"+Tb(t.otherVal[0])+"$").test(n[t.val])})))throw new Error("Some parameters of '"+this.path+"' are of invalid format");var o=this.tokens.filter((function(t){return!1===/^query-parameter/.test(t.type)})).map((function(t){return"url-parameter-matrix"===t.type?";"+t.val+"="+n[t.val[0]]:/^url-parameter/.test(t.type)?n[t.val[0]]:t.match})).join("");if(i.ignoreSearch)return o;var a=this.queryParams.filter((function(e){return-1!==Object.keys(t).indexOf(e)})).reduce((function(e,r){return e[r]=t[r],e}),{}),c=function(t,e){var r=yb(e);return Object.keys(t).filter((function(e){return function(t){return void 0!==t}(t[e])})).map((function(e){return function(t,e,r){return null===e?function(t,e){return"hidden"===e.nullFormat?"":"string"===e.nullFormat?t+"=null":t}(t,r):"boolean"==typeof e?function(t,e,r){return"empty-true"===r.booleanFormat&&e?t:t+"="+("unicode"===r.booleanFormat?e?"✓":"✗":e.toString())}(t,e,r):Array.isArray(e)?function(t,e,r){var i=function(t){return"index"===t.arrayFormat?function(t,e){return t+"["+e+"]"}:"brackets"===t.arrayFormat?function(t){return t+"[]"}:function(t){return t}}(r);return e.map((function(e,r){return i(t,r)+"="+mb(e)})).join("&")}(t,e,r):t+"="+mb(e)}(e,t[e],r)})).filter(Boolean).join("&")}(a,i.queryParams);return c?o+"?"+c:o},t.prototype.getParams=function(t){var e=t instanceof RegExp?function(e){return t.test(e.type)}:function(e){return e.type===t};return this.tokens.filter(e).map((function(t){return t.val[0]}))},t.prototype.urlTest=function(t,e,r,i){var n=this,s=new RegExp("^"+e,r?"":"i"),o=t.match(s);return o?this.urlParams.length?o.slice(1,this.urlParams.length+1).reduce((function(t,e,r){return t[n.urlParams[r]]=(Eb[i]||decodeURIComponent)(e),t}),{}):{}:null},t}();class Nb{routes={};constructor(t){for(const[e,r]of Object.entries(t)){let t,i;r instanceof Array?(t=r[0],i=r[1]||"GET"):(t=r,i="GET"),this.routes[i]=this.routes[i]||{},this.routes[i][e]=new kb(t)}}match(t,e="GET"){for(const[r,i]of Object.entries(this.routes[e]||[])){const e=t.split("?",2),n=e[0],s=i.test(n);if(s)return s._route=r,s._query=new URLSearchParams(2===e.length?e[1]:""),s}return{_route:null}}}class Ob{router;collections;constructor(t){this.router=new Nb(this.routes),this.collections=t}get routes(){return{index:"coll-index",coll:"c/:coll",urls:"c/:coll/urls",urlsTs:"c/:coll/ts/",createColl:["c/create","POST"],deleteColl:["c/:coll","DELETE"],updateAuth:["c/:coll/updateAuth","POST"],updateMetadata:["c/:coll/metadata","POST"],curated:"c/:coll/curated/:list",pages:"c/:coll/pages",textIndex:"c/:coll/textIndex",deletePage:["c/:coll/page/:page","DELETE"]}}async apiResponse(t,e,r){const i=this.router.match(t,e.method),n=await this.handleApi(e,i,r);if(n instanceof Response)return n;const s=n.error?404:200;return this.makeResponse(n,s)}async handleApi(t,e,r){switch(e._route){case"index":return await this.listAll(e._query.get("filter"));case"createColl":{const e=await t.json();return E(await this.collections.initNewColl(e.metadata||{},e.extraConfig||{}))}case"coll":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};const r=E(t);return"1"===e._query.get("all")?(t.store.db?(r.pages=await t.store.getAllPages(),r.lists=await t.store.db.getAll("pageLists"),r.curatedPages=await t.store.db.getAll("curatedPages"),t.store instanceof sb&&(r.canQueryPages=!!t.store.pagesQueryUrl)):(r.pages=[],r.lists=[],r.curatedPages=[]),r.verify=await t.store.getVerifyInfo()):t.store.db?(r.numLists=await t.store.db.count("pageLists"),r.numPages=await t.store.db.count("pages")):(r.numLists=0,r.numPages=0),t.config.metadata.ipfsPins&&(r.ipfsPins=t.config.metadata.ipfsPins),r}case"deleteColl":{const t="1"===e._query.get("reload");return await this.collections.deleteColl(e.coll,t)?await this.listAll():{error:"collection_not_found"}}case"updateAuth":{const r=await t.json();return{success:await this.collections.updateAuth(e.coll,r.headers)}}case"updateMetadata":{const r=await t.json();return{metadata:await this.collections.updateMetadata(e.coll,r)}}case"urls":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};const r=e._query.get("url"),i=Number(e._query.get("count")||100),n=e._query.get("mime"),s="1"===e._query.get("prefix"),o=e._query.get("fromUrl"),a=e._query.get("fromTs"),c=e._query.get("fromMime"),l=Number(e._query.get("fromStatus")||0);if(!t.store.resourcesByMime)return{urls:[]};let h;return h=r?await t.store.resourcesByUrlAndMime(r,n,i,s,o,a):await t.store.resourcesByMime(n,i,c,o,l),h=h||[],{urls:h}}case"urlsTs":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};const r=e._query.get("url");return{timestamps:await t.store.getTimestampsByURL(r)}}case"pages":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};let r;if(t.store instanceof sb){const i=e._query.get("search"),n=Number(e._query.get("page"))||1,s=Number(e._query.get("pageSize"))||25;if(i||n>1){const{pages:e,total:r}=await t.store.queryPages(i,n,s);return{pages:e,total:r}}r=t.store.totalPages}return{pages:await t.store.getAllPages(),total:r}}case"textIndex":{const t=await this.collections.getColl(e.coll);return t?t.store.getTextIndex?await t.store.getTextIndex():{}:{error:"collection_not_found"}}case"curated":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};const r=Number(e.list);return t.store.db?{curated:await t.store.db.getAllFromIndex("curatedPages","listPages",IDBKeyRange.bound([r],[r+1]))}:{curated:[]}}case"deletePage":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};const{pageSize:r,dedupSize:i}=await t.store.deletePage(e.page);return this.collections.updateSize(e.coll,r,i),{pageSize:r,dedupSize:i}}default:return{error:"not_found"}}}async listAll(t){const e=await this.collections.listAll(),r=[];return e.forEach((e=>{"live"!==e.type&&"remoteproxy"!==e.type&&(t&&!e.type.startsWith(t)||r.push(E(e)))})),{colls:r}}makeResponse(t,e=200){return new Response(JSON.stringify(t),{status:e,headers:{"Content-Type":"application/json"}})}}const Bb=/^(?::([\w-]+)\/)?(\d*)([a-z]+_|[$][a-z0-9:.-]+)?(?:\/|\||%7C|%7c)(.+)/;class Pb{url="";timestamp="";mod="";pageId="";hash="";cookie="";isProxyOrigin=!1;request;method;mode;_postToGetConverted=!1;constructor(t,e,{isRoot:r=!1,mod:i="",ts:n="",proxyOrigin:s=null,localOrigin:o=null}={}){const a=Bb.exec(t);if(this.timestamp=n,this.mod=i,this.request=e,this.method=e.method,this.mode=e.mode,!a&&(t.startsWith("https:")||t.startsWith("http:")||t.startsWith("blob:")))this.url=t;else if(!a&&r)this.url="https://"+t;else{if(!a)return void(this.url="");this.pageId=a[1]||"",this.timestamp=a[2],this.mod=a[3],this.url=a[4]}if(s&&o){const t=new URL(this.url);t.origin===o&&(this.url=s+t.pathname+(t.search?t.search:"")),this.isProxyOrigin=!0}const c=this.url.indexOf("#");c>0&&(this.hash=this.url.slice(c),this.url=this.url.substring(0,c))}get headers(){return this.request.headers}get destination(){return this.request.destination}get referrer(){return this.request.referrer}async convertPostToGet(){if(this._postToGetConverted)return this.url;const t=this.request;if("POST"!==t.method&&"PUT"!==t.method)return this.url;const e={method:t.method,postData:await t.text(),headers:t.headers,url:this.url};return et(e)&&(this.url=e.url,this.method="GET",this.mode="navigate"===this.request.mode?"same-origin":this.request.mode,this._postToGetConverted=!0),this.url}prepareProxyRequest(t,e=!0){let r,i,n;if(e){r=new Headers(this.request.headers),i=this.request.referrer;const e=i.indexOf("/http",t.length-1);e>0&&(i=i.slice(e+1),r.set("X-Proxy-Referer",i)),n=this.request.credentials,this.cookie&&r.set("X-Proxy-Cookie",this.cookie)}else r=new Headers,n="omit";let s=this.url;if(s.startsWith("//")&&i)try{s=new URL(i).protocol+s}catch(t){s="https:"+s}return{referrer:i,headers:r,credentials:n,url:s}}async getBody(){const t=this.request.clone();return new Uint8Array(await t.arrayBuffer())}}const Db="x-wabac-is-ajax-req";class Lb extends pb{prefixes;colls;inited;root;defaultConfig;constructor(t,e=null,r={}){super(self),this.prefixes=t,this.colls={},this.inited=null,this.root=e,this.defaultConfig=r,this._fileHandles={}}_createCollection(t){return new _n(t,this.prefixes,this.defaultConfig)}async loadAll(t){return this.colls={},this.inited=super.loadAll(t),this.inited}async getColl(t){return this.colls[t]||(this.colls[t]=await this.loadColl(t)),this.colls[t]}async reload(t){delete this.colls[t],await this.getColl(t)}async addCollection(t,e){const r=await super.addCollection(t,e);return r&&r.name&&(this.colls[r.name]=this._createCollection(r)),r}async deleteColl(t,e=!1){return this.colls[t]&&(this.colls[t].store&&await this.colls[t].store.delete(),this._fileHandles&&e&&this.colls[t].config.extra?.fileHandle&&(this._fileHandles[this.colls[t].config.sourceUrl]=this.colls[t].config.extra.fileHandle)),!!await super.deleteColl(t)&&(delete this.colls[t],!0)}async initNewColl(t,e={},r="archive"){const i=await super.initNewColl(t,e,r);return i&&(this.colls[i.name]=i),i}async updateAuth(t,e){return this.colls[t]&&this.colls[t].store.updateHeaders&&this.colls[t].store.updateHeaders(e),await super.updateAuth(t,e)}async updateMetadata(t,e){const r=await super.updateMetadata(t,e);return this.colls[t]&&r&&(this.colls[t].config.metadata=r,this.colls[t].metadata=r),r}async updateSize(t,e,r,i){const n=await super.updateSize(t,e,r,i);return this.colls[t]&&n&&(this.colls[t].config.metadata=n,this.colls[t].metadata=n),void 0!==i&&this.colls[t]&&(this.colls[t].config.decode=i),n}}self.registration?(self.sw=new class{prefix;replayPrefix;staticPrefix;distPrefix;staticData;collections;proxyOriginMode;api;apiPrefix;allowRewrittenCache;stats;constructor({staticData:t=null,ApiClass:e=Ob,defaultConfig:r={},CollectionsClass:i=Lb}={}){this.prefix=self.registration?self.registration.scope:"",this.replayPrefix=this.prefix;const n=new URLSearchParams(self.location.search);let s="w";n.has("replayPrefix")&&(s=n.get("replayPrefix")),s&&(this.replayPrefix+=s+"/"),this.staticPrefix=this.prefix+"static/",this.distPrefix=this.prefix+"dist/";const o={static:this.staticPrefix,root:this.prefix,main:this.replayPrefix};if(this.staticData=t||new Map,this.staticData.set(this.staticPrefix+"wombat.js",{type:"application/javascript",content:'(()=>{"use strict";function t(){this._map=[]}function e(t,e){void 0!==self.Symbol&&void 0!==self.Symbol.toStringTag&&Object.defineProperty(t.prototype,self.Symbol.toStringTag,{value:e,enumerable:!1})}function r(t){for(var e,r,i=t.__proto__||t.constructor.prototype||t.prototype,o=Object.getOwnPropertyNames(i),n=o.length,s=0;s<n;s++)r=t[e=o[s]],"constructor"!==e&&"function"==typeof r&&(t[e]=r.bind(t))}t.prototype.set=function(t,e){this._map.push([t,e])},t.prototype.get=function(t){for(var e=0;e<this._map.length;e++)if(this._map[e][0]===t)return this._map[e][1];return null},t.prototype.find=function(t){for(var e=0;e<this._map.length;e++)if(this._map[e][0]===t)return e;return-1},t.prototype.add_or_get=function(t,e){var r=this.get(t);return r||(r=e(),this.set(t,r)),r},t.prototype.remove=function(t){var e=this.find(t);return e>=0?this._map.splice(e,1)[0][1]:null},t.prototype.map=function(t){for(var e=0;e<this._map.length;e++)this._map[e][1](t)};var i={yes:!1},o=Symbol("__wb__storage_WOMBAT"),n=Symbol("__wb__storage_TYPE");function s(t,e,r){if(i.yes)throw new TypeError("Illegal constructor");if(r&&r.length)for(var s=0;s<r.length;s++)this[r[s][0]]=r[s][1].toString();Object.defineProperty(this,o,{value:t,enumerable:!1}),Object.defineProperty(this,n,{value:e,enumerable:!1})}function a(t,e,r){var i=new s(t,e,r);return t.$wbwindow.Proxy&&(i=new t.$wbwindow.Proxy(i,{get:function(t,e){var r=t.__proto__;if("__proto__"===e)return r;if(r.hasOwnProperty(e)||r.__proto__&&r.__proto__.hasOwnProperty(e)){var i=t[e];return"function"==typeof i&&(i=i.bind(t)),i}return t.hasOwnProperty(e)?t.getItem(e):void 0},set:function(t,e,r){return t.__proto__.hasOwnProperty(e)?(t[e]=r,!0):(t.setItem(e,r),!0)}})),t.defGetterProp(t.$wbwindow,e,(function(){return i})),i}function w(t,e){for(var r in Object.defineProperties(this,{_orig_loc:{configurable:!0,enumerable:!1,value:t},wombat:{configurable:!0,enumerable:!1,value:e},orig_getter:{enumerable:!1,value:function(t){return this._orig_loc[t]}},orig_setter:{enumerable:!1,value:function(t,e){this._orig_loc[t]!=e&&(this._orig_loc[t]=e)}}}),e.initLocOverride(this,this.orig_setter,this.orig_getter),e.setLoc(this,t.href),t)this.hasOwnProperty(r)||"function"==typeof t[r]||(this[r]=t[r])}function h(t,e){if(!(this instanceof h))return new h(t,e);this.elemSelector="img[srcset], img[data-srcset], img[data-src], video[srcset], video[data-srcset], video[data-src], audio[srcset], audio[data-srcset], audio[data-src], picture > source[srcset], picture > source[data-srcset], picture > source[data-src], video > source[srcset], video > source[data-srcset], video > source[data-src], audio > source[srcset], audio > source[data-srcset], audio > source[data-src]",this.wombat=t,this.$wbwindow=t.$wbwindow,this.worker=null,r(this),this._initWorker(e)}function p(t,e){return function(r){if(window==e)return t(r)}}function c(t,e,r){var i;return i="function"==typeof t?t:"object"==typeof t?t.handleEvent.bind(t):function(){},function(t){var o;if(t.data&&t.data.from&&t.data.message){if("*"!==t.data.to_origin&&e.WB_wombat_location&&!r.startsWith(t.data.to_origin,e.WB_wombat_location.origin))return void console.warn("Skipping message event to "+t.data.to_origin+" doesn\'t start with origin "+e.WB_wombat_location.origin);var n=t.source;t.data.from_top?n=e.__WB_top_frame:t.data.src_id&&e.__WB_win_id&&e.__WB_win_id[t.data.src_id]&&(n=e.__WB_win_id[t.data.src_id]),(o=new MessageEvent("message",{bubbles:t.bubbles,cancelable:t.cancelable,data:t.data.message,origin:t.data.from,lastEventId:t.lastEventId,source:r.proxyToObj(n),ports:t.ports}))._target=t.target,o._srcElement=t.srcElement,o._currentTarget=t.currentTarget,o._eventPhase=t.eventPhase}else o=t;return i(o)}}function l(t){let e;e="string"==typeof t?t:t?.length?t.reduce(((t,e)=>t+=String.fromCharCode(e)),""):t?t.toString():"";try{return"__wb_post_data="+btoa(e)}catch{return"__wb_post_data="}}function u(t){let{method:e,headers:r,postData:i=""}=t;if("GET"===e)return!1;let o=(t=>{let e=t.get("content-type");if(e)return e;if(!(t instanceof Headers))for(let[e,r]of t.entries())if(e&&"content-type"===e.toLowerCase())return r;return""})(r);function n(t){return t instanceof Uint8Array&&(t=(new TextDecoder).decode(t)),t}let s="";switch(o.split(";")[0]){case"application/x-www-form-urlencoded":s=n(i);break;case"application/json":s=d(n(i));break;case"text/plain":try{s=d(n(i),!1)}catch{s=l(i)}break;case"multipart/form-data":if(!o)throw new Error("utils cannot call postToGetURL when missing content-type header");s=function(t,e){return function(t="",e){let r=new URLSearchParams;t instanceof Uint8Array&&(t=(new TextDecoder).decode(t));try{let i=e.split("boundary=")[1],o=t.split(new RegExp("-*"+i+"-*","mi"));for(let t of o){let e=t.trim().match(/name="([^"]+)"\\r\\n\\r\\n(.*)/im);e&&r.set(e[1],e[2])}}catch{}return r}(t,e).toString()}(n(i),o);break;default:s=l(i)}return null!=s&&(t.url=function(t,e,r){if(!r)return t;let i=t.indexOf("?")>0?"&":"?";return`${t}${i}__wb_method=${r}&${e}`}(t.url,decodeURI(s),t.method),t.method="GET",t.requestBody=s,!0)}function _(t,e=!0){if("string"==typeof t)try{t=JSON.parse(t)}catch{t={}}let r=new URLSearchParams,i={},o=(t,e="")=>{let n="";if("object"!=typeof t||t instanceof Array){if(t instanceof Array)for(let r=0;r<t.length;r++)o(t[r],e)}else try{for(let[e,r]of Object.entries(t))o(r,e)}catch{null===t&&(n="null")}["string","number","boolean"].includes(typeof t)&&(n=t.toString()),n&&r.set((t=>r.has(t)?(t in i||(i[t]=1),t+"."+ ++i[t]+"_"):t)(e),n)};try{o(t)}catch(t){if(!e)throw t}return r}function d(t="",e=!0){return _(t,e).toString()}s.prototype.getItem=function(t){return this.hasOwnProperty(t)?this[t]:null},s.prototype.setItem=function(t,e){var r=String(t),i=String(e),o=this.getItem(r);this[r]=e,this.fireEvent(r,o,i)},s.prototype._deleteItem=function(t){delete this[t]},s.prototype.removeItem=function(t){var e=this.getItem(t);this._deleteItem(t),this.fireEvent(t,e,null)},s.prototype.clear=function(){for(var t in this)delete this[t];this.fireEvent(null,null,null)},s.prototype.key=function(t){var e=function(t){try{switch(typeof t){case"number":case"bigint":return t}var e=Number(t);return isNaN(e)?null:e}catch(t){}return null}(t);if(null==e||e<0)return null;var r=Object.keys(this);return e<r.length?r[e]:null},s.prototype.fireEvent=function(t,e,r){var i=new StorageEvent("storage",{key:t,newValue:r,oldValue:e,url:this[o].$wbwindow.WB_wombat_location.href});Object.defineProperty(i,"storageArea",{value:this,writable:!1,configurable:!1}),i._storageArea=this,this[o].storage_listeners.map(i)},s.prototype.valueOf=function(){return this[o].$wbwindow[this[n]]},s.prototype.toString=function(){return"[object Storage]"},Object.defineProperty(s.prototype,"length",{enumerable:!1,get:function(){return Object.keys(this).length}}),e(s,"Storage"),w.prototype.replace=function(t){var e=this.wombat.rewriteUrl(t),r=this.wombat.extractOriginalURL(e);return r===this.href?r:this._orig_loc.replace(e)},w.prototype.assign=function(t){var e=this.wombat.rewriteUrl(t),r=this.wombat.extractOriginalURL(e);return r===this.href?r:this._orig_loc.assign(e)},w.prototype.reload=function(t){},w.prototype.toString=function(){return this.href},w.prototype.valueOf=function(){return this},e(w,"Location"),h.prototype._initWorker=function(t){var e=this.wombat;if(t.isTop)try{this.worker=new Worker(t.workerURL,{type:"classic",credentials:"include"})}catch(t){console.error("Failed to create auto fetch worker\\n",t)}else this.worker={postMessage:function(t){t.wb_type||(t={wb_type:"aaworker",msg:t}),e.$wbwindow.__WB_replay_top.__orig_postMessage(t,"*")},terminate:function(){}}},h.prototype.extractMediaRulesFromSheet=function(t){var e,r=[];try{e=t.cssRules||t.rules}catch(t){return r}for(var i=0;i<e.length;++i){var o=e[i];o.type===CSSRule.MEDIA_RULE&&r.push(o.cssText)}return r},h.prototype.deferredSheetExtraction=function(t){var e=this;Promise.resolve().then((function(){var r=e.extractMediaRulesFromSheet(t);r.length>0&&e.preserveMedia(r)}))},h.prototype.terminate=function(){this.worker.terminate()},h.prototype.justFetch=function(t){this.worker.postMessage({type:"fetch-all",values:t})},h.prototype.fetchAsPage=function(t,e,r){if(t){var i={"X-Wombat-History-Page":e};if(r){var o=encodeURIComponent(r.trim());r&&(i["X-Wombat-History-Title"]=o)}var n={url:t,options:{headers:i,cache:"no-store"}};this.justFetch([n])}},h.prototype.postMessage=function(t,e){if(e){var r=this;Promise.resolve().then((function(){r.worker.postMessage(t)}))}else this.worker.postMessage(t)},h.prototype.preserveSrcset=function(t,e){this.postMessage({type:"values",srcset:{value:t,mod:e,presplit:!0}},!0)},h.prototype.preserveDataSrcset=function(t){this.postMessage({type:"values",srcset:{value:t.dataset.srcset,mod:this.rwMod(t),presplit:!1}},!0)},h.prototype.preserveMedia=function(t){this.postMessage({type:"values",media:t},!0)},h.prototype.getSrcset=function(t){return this.wombat.wb_getAttribute?this.wombat.wb_getAttribute.call(t,"srcset"):t.getAttribute("srcset")},h.prototype.rwMod=function(t){switch(t.tagName){case"SOURCE":return t.parentElement&&"PICTURE"===t.parentElement.tagName?"im_":"oe_";case"IMG":return"im_"}return"oe_"},h.prototype.extractFromLocalDoc=function(){var t=this;Promise.resolve().then((function(){for(var e={type:"values",context:{docBaseURI:document.baseURI}},r=[],i=0,o=document.styleSheets;i<o.length;++i)r=r.concat(t.extractMediaRulesFromSheet(o[i]));var n,s,a,w=document.querySelectorAll(t.elemSelector),h={values:[],presplit:!1},p={values:[]};for(i=0;i<w.length;++i)s=(n=w[i]).src?n.src:null,a=t.rwMod(n),n.srcset&&h.values.push({srcset:t.getSrcset(n),mod:a,tagSrc:s}),n.dataset.srcset&&h.values.push({srcset:n.dataset.srcset,mod:a,tagSrc:s}),n.dataset.src&&p.values.push({src:n.dataset.src,mod:a}),"SOURCE"===n.tagName&&s&&p.values.push({src:s,mod:a});r.length&&(e.media=r),h.values.length&&(e.srcset=h),p.values.length&&(e.src=p),(e.media||e.srcset||e.src)&&t.postMessage(e)}))};var f=null,b=",,,";Map,Symbol.iterator;function y(e,i){if(!(this instanceof y))return new y(e,i);this.debug_rw=!1,this.$wbwindow=e,this.WBWindow=Window,this.URL=URL,this.origHost=e.location.host,this.origHostname=e.location.hostname,this.origProtocol=e.location.protocol,this.HTTP_PREFIX="http://",this.HTTPS_PREFIX="https://",this.REL_PREFIX="//",this.VALID_PREFIXES=[this.HTTP_PREFIX,this.HTTPS_PREFIX,this.REL_PREFIX],this.IGNORE_PREFIXES=["#","about:","data:","blob:","mailto:","javascript:","{","*"],"ignore_prefixes"in i&&(this.IGNORE_PREFIXES=this.IGNORE_PREFIXES.concat(i.ignore_prefixes)),this.WB_CHECK_THIS_FUNC="_____WB$wombat$check$this$function_____",this.WB_ASSIGN_FUNC="_____WB$wombat$assign$function_____",this.SKIP_OWN_FUNC_PROPS=["name","length","__WB_is_native_func__","arguments","caller","callee","prototype"],this.OVERRIDE_PROPS=["window","self","document","location","top","parent","frames","opener"],this.wb_setAttribute=e.Element.prototype.setAttribute,this.wb_getAttribute=e.Element.prototype.getAttribute,this.wb_funToString=Function.prototype.toString,this.WBAutoFetchWorker=null,this.wbUseAFWorker=i.enable_auto_fetch&&null!=e.Worker&&i.is_live,this.wb_rel_prefix="",this.wb_wombat_updating=!1,this.message_listeners=new t,this.storage_listeners=new t,this.linkAsTypes={script:"js_",worker:"js_",style:"cs_",image:"im_",document:"if_",fetch:"mp_",font:"oe_",audio:"oe_",video:"oe_",embed:"oe_",object:"oe_",track:"oe_","":"mp_",null:"mp_",undefined:"mp_"},this.linkTagMods={linkRelToAs:{import:this.linkAsTypes,preload:this.linkAsTypes},stylesheet:"cs_",null:"mp_",undefined:"mp_","":"mp_"},this.tagToMod={A:{href:"mp_"},AREA:{href:"mp_"},AUDIO:{src:"oe_",poster:"im_"},BASE:{href:"mp_"},EMBED:{src:"oe_"},FORM:{action:"mp_"},FRAME:{src:"fr_"},IFRAME:{src:"if_"},IMAGE:{href:"im_","xlink:href":"im_"},IMG:{src:"im_",srcset:"im_"},INPUT:{src:"oe_"},INS:{cite:"mp_"},META:{content:"mp_"},OBJECT:{data:"oe_",codebase:"oe_"},Q:{cite:"mp_"},SCRIPT:{src:"js_","xlink:href":"js_"},SOURCE:{src:"oe_",srcset:"oe_"},TRACK:{src:"oe_"},VIDEO:{src:"oe_",poster:"im_"},image:{href:"im_","xlink:href":"im_"}},this.URL_PROPS=["href","hash","pathname","host","hostname","protocol","origin","search","port"],this.wb_info=i,this.wb_opts=i.wombat_opts,this.wb_replay_prefix=i.prefix,this.wb_is_proxy=this.wb_info.proxy_magic||!this.wb_replay_prefix,this.wb_info.top_host=this.wb_info.top_host||"*",this.wb_curr_host=e.location.protocol+"//"+e.location.host,this.wb_info.wombat_opts=this.wb_info.wombat_opts||{},this.wb_orig_scheme=this.wb_info.wombat_scheme+"://",this.wb_orig_origin=this.wb_orig_scheme+this.wb_info.wombat_host,this.wb_abs_prefix=this.wb_replay_prefix,this.wb_capture_date_part="",!this.wb_info.is_live&&this.wb_info.wombat_ts&&(this.wb_capture_date_part="/"+this.wb_info.wombat_ts+"/"),this.BAD_PREFIXES=["http:"+this.wb_replay_prefix,"https:"+this.wb_replay_prefix,"http:/"+this.wb_replay_prefix,"https:/"+this.wb_replay_prefix],this.hostnamePortRe=/^[\\w-]+(\\.[\\w-_]+)+(:\\d+)(\\/|$)/,this.ipPortRe=/^\\d+\\.\\d+\\.\\d+\\.\\d+(:\\d+)?(\\/|$)/,this.workerBlobRe=/__WB_pmw\\(.*?\\)\\.(?=postMessage\\()/g,this.rmCheckThisInjectRe=/_____WB\\$wombat\\$check\\$this\\$function_____\\(.*?\\)/g,this.STYLE_REGEX=/(url\\s*\\(\\s*[\\\\"\']*)([^)\'"]+)([\\\\"\']*\\s*\\))/gi,this.IMPORT_REGEX=/(@import\\s*[\\\\"\']*)([^)\'";]+)([\\\\"\']*\\s*;?)/gi,this.IMPORT_JS_REGEX=/^(import\\s*\\([\'"]+)([^\'"]+)(["\'])/i,this.no_wombatRe=/WB_wombat_/g,this.srcsetRe=/\\s*(\\S*\\s+[\\d.]+[wx]),|(?:\\s*,(?:\\s+|(?=https?:)))/,this.cookie_path_regex=/\\bPath=\'?"?([^;\'"\\s]+)/i,this.cookie_domain_regex=/\\bDomain=([^;\'"\\s]+)/i,this.cookie_expires_regex=/\\bExpires=([^;\'"]+)/gi,this.SetCookieRe=/,(?![|])/,this.IP_RX=/^(\\d)+\\.(\\d)+\\.(\\d)+\\.(\\d)+$/,this.FullHTMLRegex=/^\\s*<(?:html|head|body|frameset|frame|!doctype html)/i,this.IsTagRegex=/^\\s*</,this.DotPostMessageRe=/(\\.postMessage\\s*\\()/,this.extractPageUnderModifierRE=/\\/(?:[0-9]{14})?([a-z]{2, 3}_)\\//,this.write_buff="";var o=(e.EventTarget||{}).prototype;this.utilFns={cspViolationListener:function(t){if(console.group("CSP Violation"),console.log("Replayed Page URL",window.WB_wombat_location.href),console.log("The documentURI",t.documentURI),console.log("The blocked URL",t.blockedURI),console.log("The directive violated",t.violatedDirective),console.log("Our policy",t.originalPolicy),t.sourceFile){var e="File: "+t.sourceFile;t.lineNumber&&t.columnNumber?e+=" @ "+t.lineNumber+":"+t.columnNumber:t.lineNumber&&(e+=" @ "+t.lineNumber),console.log(e)}console.groupEnd()},addEventListener:o.addEventListener,removeEventListener:o.removeEventListener,objToString:Object.prototype.toString,wbSheetMediaQChecker:null,XHRopen:null,XHRsend:null},this.showCSPViolations={yesNo:!1,added:!1},r(this)}y.prototype._internalInit=function(){this.initTopFrame(this.$wbwindow),this.initWombatLoc(this.$wbwindow),this.initWombatTop(this.$wbwindow);var t=this.$wbwindow.__WB_replay_top.location.origin,e=this.$wbwindow.__WB_replay_top.location.host,r=this.$wbwindow.__WB_replay_top.location.protocol;this.wb_replay_prefix&&0===this.wb_replay_prefix.indexOf(t)?this.wb_rel_prefix=this.wb_replay_prefix.substring(t.length):this.wb_rel_prefix=this.wb_replay_prefix,this.wb_prefixes=[this.wb_abs_prefix,this.wb_rel_prefix];var i="(("+r+")?//"+e+")?"+this.wb_rel_prefix+"[^/]+/";this.wb_unrewrite_rx=new RegExp(i,"g"),this.wb_info.is_framed&&"bn_"!==this.wb_info.mod&&this.initTopFrameNotify(this.wb_info),this.initAutoFetchWorker()},y.prototype._addRemoveCSPViolationListener=function(t){this.showCSPViolations.yesNo=t,this.showCSPViolations.yesNo&&!this.showCSPViolations.added?(this.showCSPViolations.added=!0,this._addEventListener(document,"securitypolicyviolation",this.utilFns.cspViolationListener)):(this.showCSPViolations.added=!1,this._removeEventListener(document,"securitypolicyviolation",this.utilFns.cspViolationListener))},y.prototype._addEventListener=function(t,e,r){if(this.utilFns.addEventListener)return this.utilFns.addEventListener.call(t,e,r);t.addEventListener(e,r)},y.prototype._removeEventListener=function(t,e,r){if(this.utilFns.removeEventListener)return this.utilFns.removeEventListener.call(t,e,r);t.removeEventListener(e,r)},y.prototype.getPageUnderModifier=function(){try{var t=this.extractPageUnderModifierRE.exec(location.pathname);if(t&&t[1])return t[1].trim()||"mp_"}catch(t){}return"mp_"},y.prototype.isNativeFunction=function(t){return!(!t||"function"!=typeof t)&&(-1!=this.wb_funToString.call(t).indexOf("[native code]")&&(void 0===t.__WB_is_native_func__||!!t.__WB_is_native_func__))},y.prototype.isString=function(t){return null!=t&&Object.getPrototypeOf(t)===String.prototype},y.prototype.blobUrlForIframe=function(t,e){var r=new Blob([e],{type:"text/html"}),i=this.URL.createObjectURL(r),o=this.URL;t.__wb_blobSrc=i,t.addEventListener("load",(function(){t.__wb_blobSrc&&(o.revokeObjectURL(t.__wb_blobSrc),t.__wb_blobSrc=null)}),{once:!0}),t.__wb_origSrc=t.src;var n=i.slice(i.lastIndexOf("/")+1)+"/"+this.wb_info.url;t.src=this.wb_info.prefix+this.wb_info.request_ts+"mp_/blob:"+n},y.prototype.isSavedSrcSrcset=function(t){switch(t.tagName){case"IMG":case"VIDEO":case"AUDIO":return!0;case"SOURCE":if(!t.parentElement)return!1;switch(t.parentElement.tagName){case"PICTURE":case"VIDEO":case"AUDIO":return!0;default:return!1}default:return!1}},y.prototype.isSavedDataSrcSrcset=function(t){return!(!t.dataset||null==t.dataset.srcset)&&this.isSavedSrcSrcset(t)},y.prototype.isHostUrl=function(t){if(0===t.indexOf("www."))return!0;var e=t.match(this.hostnamePortRe);return!!(e&&e[0].length<64)||!!(e=t.match(this.ipPortRe))&&e[0].length<64},y.prototype.isArgumentsObj=function(t){if(!t||"function"!=typeof t.toString)return!1;try{return"[object Arguments]"===this.utilFns.objToString.call(t)}catch(t){return!1}},y.prototype.deproxyArrayHandlingArgumentsObj=function(t){if(!t||t instanceof NodeList||!t.length)return t;for(var e=this.isArgumentsObj(t)?new Array(t.length):t,r=0;r<t.length;++r){const i=this.proxyToObj(t[r]);i!==e[r]&&(e[r]=i)}return e},y.prototype.startsWith=function(t,e){if(t)return 0===t.indexOf(e)?e:void 0},y.prototype.startsWithOneOf=function(t,e){if(t)for(var r=0;r<e.length;r++)if(0===t.indexOf(e[r]))return e[r]},y.prototype.endsWith=function(t,e){if(t)return-1!==t.indexOf(e,t.length-e.length)?e:void 0},y.prototype.shouldRewriteAttr=function(t,e){switch(e){case"href":case"src":case"xlink:href":return!0}return!(!t||!this.tagToMod[t]||void 0===this.tagToMod[t][e])||("VIDEO"===t&&"poster"===e||"META"===t&&"content"===e)},y.prototype.skipWrapScriptBasedOnType=function(t){return!!t&&(!(t.indexOf("javascript")>=0||t.indexOf("ecmascript")>=0)&&(t.indexOf("json")>=0||t.indexOf("text/")>=0))},y.prototype.skipWrapScriptTextBasedOnText=function(t,e){if(!t||t.indexOf(this.WB_ASSIGN_FUNC)>=0||0===t.indexOf("<"))return!0;let r=!1;for(const i of this.OVERRIDE_PROPS){t.indexOf(i)>=0&&(t.indexOf("var "+i)>=0&&e.push(i),r=!0)}return!r},y.prototype.nodeHasChildren=function(t){if(!t)return!1;if("function"==typeof t.hasChildNodes)return t.hasChildNodes();var e=t.children||t.childNodes;return!!e&&e.length>0},y.prototype.rwModForElement=function(t,e){if(t){var r="mp_";if("LINK"===t.tagName&&"href"===e){if(t.rel){var i=t.rel.trim().toLowerCase(),o=this.wb_getAttribute.call(t,"as");if(o&&null!=this.linkTagMods.linkRelToAs[i])r=this.linkTagMods.linkRelToAs[i][o.toLowerCase()];else null!=this.linkTagMods[i]&&(r=this.linkTagMods[i])}}else{if("SCRIPT"===t.tagName)return"module"===t.type?"esm_":"js_";var n=this.tagToMod[t.tagName];null!=n&&(r=n[e])}return r}},y.prototype.removeWBOSRC=function(t){"SCRIPT"!==t.tagName||t.__$removedWBOSRC$__||(t.hasAttribute("__wb_orig_src")&&t.removeAttribute("__wb_orig_src"),t.__$removedWBOSRC$__=!0)},y.prototype.retrieveWBOSRC=function(t){var e;if("SCRIPT"===t.tagName&&!t.__$removedWBOSRC$__)return null==(e=this.wb_getAttribute?this.wb_getAttribute.call(t,"__wb_orig_src"):t.getAttribute("__wb_orig_src"))&&(t.__$removedWBOSRC$__=!0),e},y.prototype.wrapScriptTextJsProxy=function(t,e=[]){let r="var _____WB$wombat$assign$function_____ = function(name) {return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name)) || self[name]; };\\nif (!self.__WB_pmw) { self.__WB_pmw = function(obj) { this.__WB_source = obj; return this; } }\\n{\\n";for(const t of this.OVERRIDE_PROPS)e.includes(t)||(r+=`let ${t} = _____WB$wombat$assign$function_____("${t}");\\n`);return r+="{\\n",r+t.replace(this.DotPostMessageRe,".__WB_pmw(self.window)$1")+"\\n\\n}}"},y.prototype.watchElem=function(t,e){if(!this.$wbwindow.MutationObserver)return!1;new this.$wbwindow.MutationObserver((function(t,r){for(var i=0;i<t.length;i++){var o=t[i];if("childList"===o.type)for(var n=0;n<o.addedNodes.length;n++)e(o.addedNodes[n])}})).observe(t,{childList:!0,subtree:!0})},y.prototype.reconstructDocType=function(t){return null==t?"":"<!doctype "+t.name+(t.publicId?\' PUBLIC "\'+t.publicId+\'"\':"")+(!t.publicId&&t.systemId?" SYSTEM":"")+(t.systemId?\' "\'+t.systemId+\'"\':"")+">"},y.prototype.getFinalUrl=function(t,e,r){var i=t?this.wb_rel_prefix:this.wb_abs_prefix;return null==e&&(e=this.wb_info.mod),this.wb_info.is_live||(i+=this.wb_info.wombat_ts),"/"!==(i+=e)[i.length-1]&&(i+="/"),i+r},y.prototype.resolveRelUrl=function(t,e){var r=this;function i(t){return!(!t||!t.baseURI)&&(t.baseURI.startsWith(r.HTTPS_PREFIX)||t.baseURI.startsWith(r.HTTP_PREFIX))}var o=null;return o=i(e)?e.baseURI:i(this.$wbwindow.document)?this.$wbwindow.document.baseURI:this.$wbwindow.__WB_replay_top.document.baseURI,new this.URL(t,o).href},y.prototype.extractOriginalURL=function(t){if(!t)return"";if(this.wb_is_proxy)return t;var e,r=t.toString(),i=r;if(this.startsWithOneOf(i,this.IGNORE_PREFIXES))return i;if(i.startsWith(this.wb_info.static_prefix))return i;e=this.startsWith(i,this.wb_abs_prefix)?this.wb_abs_prefix.length:this.wb_rel_prefix&&this.startsWith(i,this.wb_rel_prefix)?this.wb_rel_prefix.length:this.wb_rel_prefix?1:0;var o=i.indexOf("/http",e);return o<0&&(o=i.indexOf("///",e)),o<0&&(o=i.indexOf("/blob:",e)),o<0&&(o=i.indexOf("/about:blank",e)),o>=0?i=i.substr(o+1):((o=i.indexOf(this.wb_replay_prefix))>=0&&(i=i.substr(o+this.wb_replay_prefix.length)),i.length>4&&"_"===i.charAt(2)&&"/"===i.charAt(3)&&(i=i.substr(4)),i===r||this.startsWithOneOf(i,this.VALID_PREFIXES)||this.startsWith(i,"blob:")||(i=this.wb_orig_scheme+i)),"/"===r.charAt(0)&&"/"!==r.charAt(1)&&this.startsWith(i,this.wb_orig_origin)&&(i=i.substr(this.wb_orig_origin.length)),this.startsWith(i,this.REL_PREFIX)?this.wb_info.wombat_scheme+":"+i:i},y.prototype.makeParser=function(t,e){var r=this.extractOriginalURL(t),i=e;return e||(i="about:blank"===this.$wbwindow.location.href&&this.$wbwindow.opener?this.$wbwindow.opener.document:this.$wbwindow.document),this._makeURLParser(r,i)},y.prototype._makeURLParser=function(t,e){try{return new this.URL(t,e.baseURI)}catch(t){}var r=e.createElement("a");return r._no_rewrite=!0,r.href=t,r},y.prototype.defProp=function(t,e,r,i,o){var n=Object.getOwnPropertyDescriptor(t,e);if(n&&!n.configurable)return!1;if(!i)return!1;var s={configurable:!0,enumerable:o||!1,get:i};r&&(s.set=r);try{return Object.defineProperty(t,e,s),!0}catch(t){return console.warn("Failed to redefine property %s",e,t.message),!1}},y.prototype.defGetterProp=function(t,e,r,i){var o=Object.getOwnPropertyDescriptor(t,e);if(o&&!o.configurable)return!1;if(!r)return!1;try{return Object.defineProperty(t,e,{configurable:!0,enumerable:i||!1,get:r}),!0}catch(t){return console.warn("Failed to redefine property %s",e,t.message),!1}},y.prototype.getOrigGetter=function(t,e){var r;if(t.__lookupGetter__&&(r=t.__lookupGetter__(e)),!r&&Object.getOwnPropertyDescriptor){var i=Object.getOwnPropertyDescriptor(t,e);i&&(r=i.get)}return r},y.prototype.getOrigSetter=function(t,e){var r;if(t.__lookupSetter__&&(r=t.__lookupSetter__(e)),!r&&Object.getOwnPropertyDescriptor){var i=Object.getOwnPropertyDescriptor(t,e);i&&(r=i.set)}return r},y.prototype.getAllOwnProps=function(t){for(var e=[],r=Object.getOwnPropertyNames(t),i=0;i<r.length;i++){var o=r[i];try{t[o]&&!t[o].prototype&&e.push(o)}catch(t){}}for(var n=Object.getPrototypeOf(t);n;){for(r=Object.getOwnPropertyNames(n),i=0;i<r.length;i++)e.push(r[i]);n=Object.getPrototypeOf(n)}return e},y.prototype.sendTopMessage=function(t,e,r){(r=r||this.$wbwindow).__WB_top_frame&&(e||r==r.__WB_replay_top)&&r.__WB_top_frame.postMessage(t,this.wb_info.top_host)},y.prototype.sendHistoryUpdate=function(t,e,r){this.sendTopMessage({url:t,ts:this.wb_info.timestamp,request_ts:this.wb_info.request_ts,is_live:this.wb_info.is_live,title:e,wb_type:"replace-url"},!1,r)},y.prototype.updateLocation=function(t,e,r){if(t&&t!==e){var i=this.extractOriginalURL(e),o=this.extractOriginalURL(t);if(i&&i!==o){var n=this.rewriteUrl(t);console.log(r.href+" -> "+n),r.href=n}}},y.prototype.checkLocationChange=function(t,e){var r=typeof t,i=e?this.$wbwindow.__WB_replay_top.location:this.$wbwindow.location;"string"===r?this.updateLocation(t,i.href,i):"object"===r&&this.updateLocation(t.href,t._orig_href,i)},y.prototype.checkAllLocations=function(){if(this.wb_wombat_updating)return!1;this.wb_wombat_updating=!0,this.checkLocationChange(this.$wbwindow.WB_wombat_location,!1),this.$wbwindow.WB_wombat_location!=this.$wbwindow.__WB_replay_top.WB_wombat_location&&this.checkLocationChange(this.$wbwindow.__WB_replay_top.WB_wombat_location,!0),this.wb_wombat_updating=!1},y.prototype.proxyToObj=function(t){if(t)try{var e=t.__WBProxyRealObj__;if(e)return e}catch(t){}return t},y.prototype.objToProxy=function(t){if(t)try{var e=t._WB_wombat_obj_proxy;if(e)return e}catch(t){}return t},y.prototype.defaultProxyGet=function(t,e,r,i){switch(e){case"__WBProxyRealObj__":return t;case"location":case"WB_wombat_location":return t.WB_wombat_location;case"_WB_wombat_obj_proxy":return t._WB_wombat_obj_proxy;case"__WB_pmw":case this.WB_ASSIGN_FUNC:case this.WB_CHECK_THIS_FUNC:return t[e];case"origin":return t.WB_wombat_location.origin;case"constructor":return t.constructor}var o=Reflect.get(t,e),n=typeof o;if("string"===n&&o){var s=parseInt(e);if(o&&!isNaN(s))try{return this.initNewWindowWombat(o),o._WB_wombat_obj_proxy}catch(t){}}else{if("function"===n&&-1!==r.indexOf(e)){switch(e){case"requestAnimationFrame":case"cancelAnimationFrame":if(!this.isNativeFunction(o))return o;break;case"eval":if(this.isNativeFunction(o))return this.wrappedEval(o)}var a=i[e];if(!a||a.original!==o){const r=o.bind(t);for(const t of Object.getOwnPropertyNames(o))if(!this.SKIP_OWN_FUNC_PROPS.includes(t))try{r[t]=o[t]}catch(t){}return i[e]={original:o,boundFn:r},r}return a.boundFn}if("object"===n&&o&&o._WB_wombat_obj_proxy)return o instanceof this.WBWindow&&this.initNewWindowWombat(o),o._WB_wombat_obj_proxy}return o},y.prototype.setLoc=function(t,e){var r=this.makeParser(e,t.ownerDocument);t._orig_href=e,t._parser=r;var i=r.href;t._hash=r.hash,t._href=i,t._host=r.host,t._hostname=r.hostname,r.origin?t._origin=r.host?r.origin:"null":t._origin=r.protocol+"//"+r.hostname+(r.port?":"+r.port:""),t._pathname=r.pathname,t._port=r.port,t._protocol=r.protocol,t._search=r.search,Object.defineProperty||(t.href=i,t.hash=r.hash,t.host=t._host,t.hostname=t._hostname,t.origin=t._origin,t.pathname=t._pathname,t.port=t._port,t.protocol=t._protocol,t.search=t._search)},y.prototype.makeGetLocProp=function(t,e){var r=this;return function(){if(this._no_rewrite)return e.call(this,t);var i=e.call(this,"href");return"href"===t?r.extractOriginalURL(i):"ancestorOrigins"===t?[]:(this._orig_href!==i&&r.setLoc(this,i),this["_"+t])}},y.prototype.makeSetLocProp=function(t,e,r){var i=this;return function(o){if(this._no_rewrite)return e.call(this,t,o);if(this["_"+t]!==o){this["_"+t]=o;var n=r.call(this),s=i.makeParser(n,this.ownerDocument),a=!1;if("href"===t&&"string"==typeof o)if(o&&s instanceof i.URL)try{o=new i.URL(o,s).href}catch(t){console.warn("Error resolving URL",t)}else o&&("."===o[0]||"#"===o[0]?o=i.resolveRelUrl(o,this.ownerDocument):"/"===o[0]&&(o.length>1&&"/"===o[1]?o=s.protocol+o:(a=!0,o=WB_wombat_location.origin+o)));try{s[t]=o}catch(e){console.log("Error setting "+t+" = "+o)}"hash"===t?(o=s[t],e.call(this,"hash",o)):(a=a||o===s.pathname,o=i.rewriteUrl(s.href,a),e.call(this,"href",o))}}},y.prototype.styleReplacer=function(t,e,r,i,o,n){return e+this.rewriteUrl(r)+i},y.prototype.domConstructorErrorChecker=function(t,e,r,i){var o,n="number"==typeof i?i:1;if(t instanceof this.WBWindow?o="Failed to construct \'"+e+"\': Please use the \'new\' operator, this DOM object constructor cannot be called as a function.":r&&r.length<n&&(o="Failed to construct \'"+e+"\': "+n+" argument required, but only 0 present."),o)throw new TypeError(o)},y.prototype.rewriteNodeFuncArgs=function(t,e,r,i){if(r)switch(r.nodeType){case Node.ELEMENT_NODE:this.rewriteElemComplete(r);break;case Node.TEXT_NODE:("STYLE"===t.tagName||r.parentNode&&"STYLE"===r.parentNode.tagName)&&(r.textContent=this.rewriteStyle(r.textContent));break;case Node.DOCUMENT_FRAGMENT_NODE:this.recurseRewriteElem(r)}var o=e.call(t,r,i);if(o&&"IFRAME"===o.tagName){const t=o.allow?`; ${o.allow}`:"";o.allow=`autoplay \'self\'; fullscreen \'self\'${t}`,this.initIframeWombat(o)}return o},y.prototype.rewriteWSURL=function(t){if(!t)return t;var e=typeof t,r=t;if("object"===e)r=t.toString();else if("string"!==e)return t;if(!r)return r;var i="ws://",o="wss://";if(this.wb_is_proxy)return this.wb_orig_scheme===this.HTTP_PREFIX&&this.startsWith(r,o)?i+r.substr(o.length):this.wb_orig_scheme===this.HTTPS_PREFIX&&this.startsWith(r,i)?o+r.substr(i.length):r;var n=0===this.wb_abs_prefix.indexOf(this.HTTPS_PREFIX),s=this.wb_abs_prefix.replace(n?this.HTTPS_PREFIX:this.HTTP_PREFIX,n?o:i);return s+=this.wb_info.wombat_ts+"ws_","/"!==r[r.length-1]&&(s+="/"),s+r.replace("WB_wombat_","")},y.prototype.rewriteUrl_=function(t,e,r,i){if(!t)return t;var o,n,s=typeof t;if("object"===s)o=t.toString();else{if("string"!==s)return t;o=t}if(!o)return o;if(this.wb_is_proxy)return this.wb_orig_scheme===this.HTTP_PREFIX&&this.startsWith(o,this.HTTPS_PREFIX)?this.HTTP_PREFIX+o.substr(this.HTTPS_PREFIX.length):this.wb_orig_scheme===this.HTTPS_PREFIX&&this.startsWith(o,this.HTTP_PREFIX)?this.HTTPS_PREFIX+o.substr(this.HTTP_PREFIX.length):o;if(o=o.replace("WB_wombat_",""),"if_"===r&&this.wb_info.isSW&&this.startsWith(o,"blob:"))return this.wb_info.prefix+this.wb_info.request_ts+"if_/"+o;if(this.startsWithOneOf(o.toLowerCase(),this.IGNORE_PREFIXES))return o;if(this.wb_opts.no_rewrite_prefixes&&this.startsWithOneOf(o,this.wb_opts.no_rewrite_prefixes))return o;if(n=0===o.indexOf("//")?this.origProtocol+o:o,this.startsWith(n,this.wb_abs_prefix)||this.startsWith(n,this.wb_rel_prefix))return o;if(this.origHost!==this.origHostname&&this.startsWith(o,this.origProtocol+"//"+this.origHostname+"/"))return o.replace("/"+this.origHostname+"/","/"+this.origHost+"/");if("/"===o.charAt(0)&&!this.startsWith(o,this.REL_PREFIX)){if(this.wb_capture_date_part&&o.indexOf(this.wb_capture_date_part)>=0)return o;if(0===o.indexOf(this.wb_rel_prefix)&&o.indexOf("http")>1){var a=o.indexOf(":/");return a>0&&"/"!==o[a+2]?o.substring(0,a+2)+"/"+o.substring(a+2):o}return this.getFinalUrl(!0,r,this.wb_orig_origin+o)}"."===o.charAt(0)&&(o=this.resolveRelUrl(o,i));var w=this.startsWithOneOf(o.toLowerCase(),this.VALID_PREFIXES);if(w){var h=this.replayTopHost,p=this.replayTopProtocol,c=w+h+"/";if(this.startsWith(o,c)){if(this.startsWith(o,this.wb_replay_prefix))return o;var l=p+"//",u=o.substring(c.length),_=!1;return u.indexOf(this.wb_rel_prefix)<0&&o.indexOf("/static/")<0&&(u=this.getFinalUrl(!0,r,WB_wombat_location.origin+"/"+u),_=!0),w!==l&&w!==this.REL_PREFIX&&(_=!0),_&&(o=e?"":l+h,u&&"/"!==u[0]&&(o+="/"),o+=u),o}return this.getFinalUrl(e,r,o)}return(w=this.startsWithOneOf(o,this.BAD_PREFIXES))?this.getFinalUrl(e,r,this.extractOriginalURL(o)):o},y.prototype.rewriteUrl=function(t,e,r,i){var o;return o=this.wb_info.rewrite_function?this.wb_info.rewrite_function(t,e,r,i):this.rewriteUrl_(t,e,r,i),this.debug_rw&&(t!==o?console.log("REWRITE: "+t+" -> "+o):console.log("NOT REWRITTEN "+t)),o},y.prototype.performAttributeRewrite=function(t,e,r,i,o){switch(e){case"innerHTML":case"outerHTML":return this.rewriteHtml(r);case"filter":return this.rewriteInlineStyle(r);case"style":return this.rewriteStyle(r);case"srcset":return this.rewriteSrcset(r,t)}if(o&&!this.startsWithOneOf(r,this.VALID_PREFIXES))return r;var n=this.rwModForElement(t,e);t&&this.wbUseAFWorker&&this.WBAutoFetchWorker&&this.isSavedDataSrcSrcset(t)&&this.WBAutoFetchWorker.preserveDataSrcset(t);var s=this.rewriteUrl(r,!1,n,i);return"esm_"===n&&s&&s.indexOf("esm_/")<0&&(s=s.replace(/(\\/[\\d]*)([\\w]+_)(?=\\/)/,"$1esm_")),s},y.prototype.rewriteAttr=function(t,e,r){var i=!1;if(!t||!t.getAttribute||t._no_rewrite||t["_"+e]||t.tagName&&t.tagName.indexOf("-")>0)return i;var o=this.wb_getAttribute.call(this.proxyToObj(t),e);if(!o||this.startsWith(o,"javascript:"))return i;var n=this.performAttributeRewrite(t,e,o,t.ownerDocument,r);return n!==o&&(this.removeWBOSRC(t),this.wb_setAttribute.call(t,e,n),i=!0),i},y.prototype.noExceptRewriteStyle=function(t){try{return this.rewriteStyle(t)}catch(e){return t}},y.prototype.rewriteStyle=function(t){if(!t)return t;var e=t;return"object"==typeof t&&(e=t.toString()),"string"==typeof e?e.replace(this.STYLE_REGEX,this.styleReplacer).replace(this.IMPORT_REGEX,this.styleReplacer).replace(this.no_wombatRe,""):e},y.prototype.rewriteSrcset=function(t,e){if(!t)return"";for(var r=t.split(this.srcsetRe),i=[],o=this.rwModForElement(e,"srcset"),n=0;n<r.length;n++){var s=r[n];if(s){var a=s.trim().split(" ");a[0]=this.rewriteUrl(a[0],!0,o),i.push(a.join(" "))}}return this.wbUseAFWorker&&this.WBAutoFetchWorker&&this.isSavedSrcSrcset(e)&&this.WBAutoFetchWorker.preserveSrcset(i,this.WBAutoFetchWorker.rwMod(e)),i.join(", ")},y.prototype.rewriteFrameSrc=function(t,e){var r,i=this.wb_getAttribute.call(t,e);if(this.startsWith(i,"javascript:")&&i.indexOf("WB_wombat_")>=0){var o="javascript:";r=o+"window.parent._wb_wombat.initNewWindowWombat(window);"+i.substr(o.length)}return r||(r=this.rewriteUrl(i,!1,this.rwModForElement(t,e))),r!==i&&(this.wb_setAttribute.call(t,e,r),!0)},y.prototype.rewriteScript=function(t){if(t.hasAttribute("src")||!t.textContent||!this.$wbwindow.Proxy)return this.rewriteAttr(t,"src");if(this.skipWrapScriptBasedOnType(t.type))return!1;var e=t.textContent.trim(),r=[];return!this.skipWrapScriptTextBasedOnText(e,r)&&(t.textContent=this.wrapScriptTextJsProxy(e,r),this.wb_info.injectDocClose&&t.textContent.trim().length&&(t.textContent+=";document.close();"),!0)},y.prototype.rewriteSVGElem=function(t){var e=this.rewriteAttr(t,"filter");return e=this.rewriteAttr(t,"style")||e,e=this.rewriteAttr(t,"xlink:href")||e,e=this.rewriteAttr(t,"href")||e,e=this.rewriteAttr(t,"src")||e},y.prototype.rewriteElem=function(t){var e=!1;if(!t)return e;if(t instanceof SVGElement)e=this.rewriteSVGElem(t);else switch(t.tagName){case"META":var r=this.wb_getAttribute.call(t,"http-equiv");r&&"content-security-policy"===r.toLowerCase()&&(this.wb_setAttribute.call(t,"http-equiv","_"+r),e=!0);break;case"STYLE":var i=this.rewriteStyle(t.textContent);t.textContent!==i&&(t.textContent=i,e=!0,this.wbUseAFWorker&&this.WBAutoFetchWorker&&null!=t.sheet&&this.WBAutoFetchWorker.deferredSheetExtraction(t.sheet));break;case"LINK":e=this.rewriteAttr(t,"href"),this.wbUseAFWorker&&"stylesheet"===t.rel&&this._addEventListener(t,"load",this.utilFns.wbSheetMediaQChecker);break;case"IMG":e=this.rewriteAttr(t,"src"),e=this.rewriteAttr(t,"srcset")||e,e=this.rewriteAttr(t,"style")||e,this.wbUseAFWorker&&this.WBAutoFetchWorker&&t.dataset.srcset&&this.WBAutoFetchWorker.preserveDataSrcset(t);break;case"OBJECT":var o;if(this.wb_info.isSW&&t.parentElement)if("application/pdf"===t.getAttribute("type")?o="IFRAME":"image/svg+xml"===t.getAttribute("type")&&(o="IMG"),o){for(var n=this.$wbwindow.document.createElement(o),s=0;s<t.attributes.length;s++){var a=t.attributes[s],w=a.name;"data"===w&&(w="src"),this.wb_setAttribute.call(n,w,a.value)}t.parentElement.replaceChild(n,t),e=!0;break}e=this.rewriteAttr(t,"data",!0),e=this.rewriteAttr(t,"style")||e;break;case"FORM":e=this.rewriteAttr(t,"poster"),e=this.rewriteAttr(t,"action")||e,e=this.rewriteAttr(t,"style")||e;break;case"IFRAME":if(e=this.rewriteFrameSrc(t,"src"),this.wb_info.isSW&&!e){var h=t.getAttribute("srcdoc");if(t.hasAttribute("srcdoc")&&t.removeAttribute("srcdoc"),h)this.blobUrlForIframe(t,h);else{var p=t.getAttribute("src");p&&"about:blank"!==p||(p||(t.__WB_blank=!0),t.src=this.wb_info.prefix+this.wb_info.request_ts+"mp_/about:blank")}}e=this.rewriteAttr(t,"style")||e;break;case"FRAME":e=this.rewriteFrameSrc(t,"src"),e=this.rewriteAttr(t,"style")||e;break;case"SCRIPT":e=this.rewriteScript(t);break;case"A":if(e=this.rewriteAttr(t,"href")||e,e=this.rewriteAttr(t,"style")||e,t.hasAttribute("target")){var c=this.rewriteAttrTarget(t.target);c!==t.target&&(t.target=c,e=!0)}break;default:e=this.rewriteAttr(t,"src"),e=this.rewriteAttr(t,"srcset")||e,e=this.rewriteAttr(t,"href")||e,e=this.rewriteAttr(t,"style")||e,e=this.rewriteAttr(t,"poster")||e,e=this.rewriteAttr(t,"background")||e}return t.hasAttribute&&t.removeAttribute&&(t.hasAttribute("crossorigin")&&(t.removeAttribute("crossorigin"),e=!0),t.hasAttribute("integrity")&&(t.removeAttribute("integrity"),e=!0)),e},y.prototype.recurseRewriteElem=function(t){if(!this.nodeHasChildren(t))return!1;for(var e=!1,r=[t.children||t.childNodes];r.length>0;)for(var i=r.shift(),o=0;o<i.length;o++){var n=i[o];n.nodeType===Node.ELEMENT_NODE&&(e=this.rewriteElem(n)||e,this.nodeHasChildren(n)&&r.push(n.children||n.childNodes))}return e},y.prototype.rewriteElemComplete=function(t){if(!t)return!1;var e=this.rewriteElem(t),r=this.recurseRewriteElem(t);return e||r},y.prototype.rewriteElementsInArguments=function(t){for(var e=new Array(t.length),r=0;r<t.length;r++){var i=t[r];i instanceof Node?(this.rewriteElemComplete(i),e[r]=i):e[r]="string"==typeof i?this.rewriteHtml(i):i}return e},y.prototype.rewriteHtml=function(t,e){if(!t)return t;var r=t;if("string"!=typeof t&&(r=t.toString()),this.write_buff&&(r=this.write_buff+r,this.write_buff=""),r.indexOf("<script")<=0&&r.indexOf("WB_wombat_")>=0&&(r=r.replace(/((id|class)=".*)WB_wombat_([^"]+)/,"$1$3")),!this.$wbwindow.HTMLTemplateElement||this.FullHTMLRegex.test(r))return this.rewriteHtmlFull(r,e);var i=(new DOMParser).parseFromString("<template>"+r+"</template>","text/html");if(!i||!this.nodeHasChildren(i.head)||!i.head.children[0].content)return r;var o=i.head.children[0];if(o._no_rewrite=!0,this.recurseRewriteElem(o.content)){var n=o.innerHTML;if(e){var s=o.content.children&&o.content.children[0];if(s){var a="</"+s.tagName.toLowerCase()+">";if(this.endsWith(n,a)&&!this.endsWith(r.toLowerCase(),a))n=n.substring(0,n.length-a.length);else if(n.trimEnd().endsWith(a)&&!r.trimEnd().endsWith(a)){var w=r.lastIndexOf(a);w>0&&(n+=r.slice(w+a.length))}}else if("<"!==r[0]||">"!==r[r.length-1])return void(this.write_buff+=r)}return n}return r},y.prototype.rewriteHtmlFull=function(t,e){var r=(new DOMParser).parseFromString(t,"text/html");if(!r)return t;for(var i=!1,o=0;o<r.all.length;o++)i=this.rewriteElem(r.all[o])||i;if(i){var n;if(t&&t.indexOf("<html")>=0)r.documentElement._no_rewrite=!0,n=this.reconstructDocType(r.doctype)+r.documentElement.outerHTML;else{r.head._no_rewrite=!0,r.body._no_rewrite=!0;var s=this.nodeHasChildren(r.head),a=this.nodeHasChildren(r.body);if(n=(s?r.head.outerHTML:"")+(a?r.body.outerHTML:""),e)if(r.all.length>3){var w="</"+r.all[3].tagName.toLowerCase()+">";this.endsWith(n,w)&&!this.endsWith(t.toLowerCase(),w)&&(n=n.substring(0,n.length-w.length))}else if("<"!==t[0]||">"!==t[t.length-1])return void(this.write_buff+=t);n=this.reconstructDocType(r.doctype)+n}return n}return t},y.prototype.rewriteInlineStyle=function(t){var e;try{e=decodeURIComponent(t)}catch(r){e=t}if(e!==t){var r=this.rewriteStyle(e).split(",",2);return r[0]+","+encodeURIComponent(r[1])}return this.rewriteStyle(t)},y.prototype.rewriteCookie=function(t){var e=this,r=t.replace(this.wb_abs_prefix,"").replace(this.wb_rel_prefix,"");return r=r.replace(this.cookie_domain_regex,(function(t,i){var o={domain:i,cookie:r,wb_type:"cookie"};return e.sendTopMessage(o,!0),e.$wbwindow.location.hostname.indexOf(".")>=0&&!e.IP_RX.test(e.$wbwindow.location.hostname)?"Domain=."+e.$wbwindow.location.hostname:""})).replace(this.cookie_path_regex,(function(t,r){var i=e.rewriteUrl(r);return 0===i.indexOf(e.wb_curr_host)&&(i=i.substring(e.wb_curr_host.length)),"Path="+i})),"https:"!==e.$wbwindow.location.protocol&&(r=r.replace("secure","")),r.replace(",|",",")},y.prototype.rewriteWorker=function(t){if(!t)return t;var e=0===(t=t.toString()).indexOf("blob:"),r=0===t.indexOf("javascript:");if(!e&&!r){if(!this.startsWithOneOf(t,this.VALID_PREFIXES)&&!this.startsWith(t,"/")&&!this.startsWithOneOf(t,this.BAD_PREFIXES)){var i=this.resolveRelUrl(t,this.$wbwindow.document);return this.rewriteUrl(i,!1,"wkr_",this.$wbwindow.document)}return this.rewriteUrl(t,!1,"wkr_",this.$wbwindow.document)}var o=r?t.replace("javascript:",""):null;if(e){var n=new XMLHttpRequest;this.utilFns.XHRopen.call(n,"GET",t,!1),this.utilFns.XHRsend.call(n),o=n.responseText.replace(this.workerBlobRe,"").replace(this.rmCheckThisInjectRe,"this")}if(this.wb_info.static_prefix||this.wb_info.ww_rw_script){var s=this.$wbwindow.document.baseURI;o="(function() { self.importScripts(\'"+(this.wb_info.ww_rw_script||this.wb_info.static_prefix+"wombatWorkers.js")+"\'); new WBWombat({\'prefix\': \'"+this.wb_abs_prefix+"\', \'prefixMod\': \'"+this.wb_abs_prefix+"wkrf_/\', \'originalURL\': "+JSON.stringify(s)+"}); })();"+o}var a=new Blob([o],{type:"application/javascript"});return this.URL.createObjectURL(a)},y.prototype.rewriteTextNodeFn=function(t,e,r){var i,o=this.proxyToObj(t);if(r.length>0&&o.parentElement&&"STYLE"===o.parentElement.tagName){i=new Array(r.length);var n=r.length-1;2===n?(i[0]=r[0],i[1]=r[1]):1===n&&(i[0]=r[0]),i[n]=this.rewriteStyle(r[n])}else i=r;return e.__WB_orig_apply?e.__WB_orig_apply(o,i):e.apply(o,i)},y.prototype.rewriteChildNodeFn=function(t,e,r){var i=this.proxyToObj(t);if(0===r.length)return e.call(i);var o=this.rewriteElementsInArguments(r);return e.__WB_orig_apply?e.__WB_orig_apply(i,o):e.apply(i,o)},y.prototype.rewriteInsertAdjHTMLOrElemArgs=function(t,e,r,i,o){var n=this.proxyToObj(t);return n._no_rewrite?e.call(n,r,i):o?e.call(n,r,this.rewriteHtml(i)):(this.rewriteElemComplete(i),e.call(n,r,i))},y.prototype.rewriteSetTimeoutInterval=function(t,e,r){var i=this.isString(r[0]),o=i?new Array(r.length):r;if(i){this.$wbwindow.Proxy?o[0]=this.wrapScriptTextJsProxy(r[0]):o[0]=r[0].replace(/\\blocation\\b/g,"WB_wombat_$&");for(var n=1;n<r.length;++n)o[n]=this.proxyToObj(r[n])}var s=this.proxyToObj(t);return e.__WB_orig_apply?e.__WB_orig_apply(s,o):e.apply(s,o)},y.prototype.rewriteHTMLAssign=function(t,e,r){var i=r,o=t.tagName;if(!(t._no_rewrite||t instanceof this.$wbwindow.HTMLTemplateElement))if("STYLE"===o)i=this.rewriteStyle(r);else if("SCRIPT"===o){r&&this.IsTagRegex.test(r)&&(i=this.rewriteHtml(r));var n=[];i===r&&(this.skipWrapScriptBasedOnType(t.type)||this.skipWrapScriptTextBasedOnText(r,n)||(i=this.wrapScriptTextJsProxy(i,n)))}else i=this.rewriteHtml(r);e.call(t,i),this.wbUseAFWorker&&this.WBAutoFetchWorker&&"STYLE"===o&&null!=t.sheet&&this.WBAutoFetchWorker.deferredSheetExtraction(t.sheet)},y.prototype.rewriteEvalArg=function(t,e,r){this.$wbwindow.TrustedScript&&e instanceof this.$wbwindow.TrustedScript&&(e=e.toString());var i=[];return t(this.isString(e)&&!this.skipWrapScriptTextBasedOnText(e,i)?this.wrapScriptTextJsProxy(e,i):this.otherEvalRewrite(e),r)},y.prototype.otherEvalRewrite=function(t){return"string"!=typeof t?t:t.replace(this.IMPORT_JS_REGEX,this.styleReplacer)},y.prototype.addEventOverride=function(t,e){var r=e;e||(r=this.$wbwindow.MessageEvent.prototype);var i=this.getOrigGetter(r,t);i&&this.defGetterProp(r,t,(function(){return null!=this["_"+t]?this["_"+t]:i.call(this)}))},y.prototype.isAttrObjRewrite=function(t){if(!t)return!1;var e=t.ownerElement&&t.ownerElement.tagName;return this.shouldRewriteAttr(e,t.nodeName)},y.prototype.newAttrObjGetSet=function(t,e){var r=this,i=this.getOrigGetter(t,e),o=this.getOrigSetter(t,e);this.defProp(t,e,(function(t){var e=r.proxyToObj(this),i=t;return r.isAttrObjRewrite(e)&&(i=r.performAttributeRewrite(e.ownerElement,e.name,t,e.ownerDocument,!1)),o.call(e,i)}),(function(){var t=r.proxyToObj(this),e=i.call(t);return r.isAttrObjRewrite(t)?r.extractOriginalURL(e):e}))},y.prototype.overrideAttrProps=function(){var t=this.$wbwindow.Attr.prototype;this.newAttrObjGetSet(t,"value"),this.newAttrObjGetSet(t,"nodeValue"),this.newAttrObjGetSet(t,"textContent")},y.prototype.overrideAttr=function(t,e,r){var i=this.getOrigGetter(t,e),o=this.getOrigSetter(t,e),n=this;this.defProp(t,e,(function(t){"js_"===r&&(this.__$removedWBOSRC$__||n.removeWBOSRC(this),"module"===this.type&&(r="esm_"));var i=n.rewriteUrl(t,!1,r);return o?o.call(this,i):n.wb_setAttribute?n.wb_setAttribute.call(this,e,i):void 0}),(function(){var t;return i?t=i.call(this):n.wb_getAttribute&&(t=n.wb_getAttribute.call(this,e)),t=n.extractOriginalURL(t),this.__WB_blank&&"about:blank"===t?"":t}))},y.prototype.overridePropExtract=function(t,e){var r=this.getOrigGetter(t,e),i=this;if(r){this.defGetterProp(t,e,(function(){var t=i.proxyToObj(this),e=r.call(t);return t.__WB_no_unrewrite?e:i.extractOriginalURL(e)}))}},y.prototype.overrideDeProxyPropAssign=function(t,e){var r=this.getOrigSetter(t,e),i=this.getOrigGetter(t,e),o=this;if(r){this.defProp(t,e,(function(t){return r.call(o.proxyToObj(this),o.proxyToObj(t))}),i)}},y.prototype.overrideReferrer=function(t){var e=this.getOrigGetter(t,"referrer"),r=this;if(e){this.defGetterProp(t,"referrer",(function(){var t=r.proxyToObj(this),i=this.defaultView;if(i===i.__WB_replay_top)return"";var o=e.call(t);return r.extractOriginalURL(o)}))}},y.prototype.overridePropToProxy=function(t,e){var r=this.getOrigGetter(t,e);if(r){var i=this;this.defGetterProp(t,e,(function(){return i.objToProxy(r.call(this))}))}},y.prototype.overrideHistoryFunc=function(t){if(this.$wbwindow.history){var e=this.$wbwindow.history[t];if(e){this.$wbwindow.history["_orig_"+t]=e,this.$wbwindow.history.___wb_ownWindow=this.$wbwindow;var r=this,i=function(t,i,o){var n=this.___wb_ownWindow||r.$wbwindow;o=r.extractOriginalURL(o);var s,a,w=n.WB_wombat_location;if(o){var h=r._makeURLParser(o,n.document);if(a=h.href,s=r.rewriteUrl(a),a!==w.origin&&"about:blank"!==w.href&&!r.startsWith(a,w.origin+"/"))throw new DOMException("Invalid history change: "+a)}else a=w.href;e.call(this,t,i,s);var p=n.document.title;r.WBAutoFetchWorker&&n.setTimeout((function(){i||n.document.title===p||(i=n.document.title),r.WBAutoFetchWorker.fetchAsPage(s,a,i)}),100),r.sendHistoryUpdate(a,i,n)};return this.$wbwindow.history[t]=i,this.$wbwindow.History&&this.$wbwindow.History.prototype&&(this.$wbwindow.History.prototype[t]=i),i}}},y.prototype.overrideStyleAttr=function(t,e,r){var i=this.getOrigGetter(t,e),o=this.getOrigSetter(t,e),n=this,s=i,a=function(t,e,r,i,o){return e+(r||"")+n.extractOriginalURL(i)+o},w=/(url\\()([\'"])?(.*?)(\\2\\))/;i||(s=function(){var t=this.getPropertyValue(r);return t&&t.startsWith("url(")&&(t=t.replace(w,a)),t}),(o&&i||r)&&this.defProp(t,e,(function(t){var e=n.rewriteStyle(t);return o?o.call(this,e):this.setProperty(r,e),e}),s)},y.prototype.overrideStyleSetProp=function(t){var e=t.setProperty,r=this;t.setProperty=function(t,i,o){var n=r.rewriteStyle(i);return e.call(this,t,n,o)}},y.prototype.overrideAnchorAreaElem=function(t){if(t&&t.prototype){for(var e={},r=t.prototype,i=function(t,r){var i=e["set_"+t];return i?i.call(this,r):""},o=function(t){var r=e["get_"+t];return r?r.call(this):""},n=0;n<this.URL_PROPS.length;n++){var s=this.URL_PROPS[n];e["get_"+s]=this.getOrigGetter(r,s),e["set_"+s]=this.getOrigSetter(r,s),Object.defineProperty&&this.defProp(r,s,this.makeSetLocProp(s,i,o),this.makeGetLocProp(s,o),!0)}r.toString=function(){return this.href}}},y.prototype.overrideHtmlAssign=function(t,e,r){if(this.$wbwindow.DOMParser&&t&&t.prototype){var i=t.prototype,o=this.getOrigGetter(i,e),n=this.getOrigSetter(i,e);if(n){var s=this.rewriteHTMLAssign,a=this.wb_unrewrite_rx;this.defProp(i,e,(function(t){return s(this,n,t)}),r?function(){var t=o.call(this);return this._no_rewrite?t:t.replace(a,"")}:o)}}},y.prototype.overrideHtmlAssignSrcDoc=function(t,e){var r=t.prototype,i=(this.getOrigGetter(r,e),this.getOrigSetter(r,e)),o=this;this.defProp(r,e,(function(t){return this.__wb_srcdoc=t,o.wb_info.isSW?(o.blobUrlForIframe(this,t),t):o.rewriteHTMLAssign(this,i,t)}),(function(){return this.__wb_srcdoc}))},y.prototype.overrideDataSet=function(){var t=this.$wbwindow.HTMLElement.prototype,e=this.getOrigGetter(t,"dataset"),r=this;this.defProp(t,"dataset",null,(function(){var t=e.call(this);return new Proxy(t,{get(t,e,i){var o=t[e];return"string"==typeof o&&r.startsWithOneOf(o,r.wb_prefixes)?r.extractOriginalURL(o):o}})}))},y.prototype.overrideStyleProxy=function(t){var e=this.$wbwindow.HTMLElement.prototype,r=this.getOrigSetter(e,"style"),i=this.getOrigGetter(e,"style"),o=this;this.defProp(e,"style",r,(function(){var e=i.call(this),r={};return new Proxy(e,{set:(e,r,i)=>(t.includes(r)&&(i=o.rewriteStyle(i)),e[r]=i,!0),get(t,i,n){var s=t[i];return"function"!=typeof s||"setProperty"!==i&&!o.isNativeFunction(s)?s:(r[i]||(r[i]=s.bind(e)),r[i])}})}))},y.prototype.overrideIframeContentAccess=function(t){if(this.$wbwindow.HTMLIFrameElement&&this.$wbwindow.HTMLIFrameElement.prototype){var e=this.$wbwindow.HTMLIFrameElement.prototype,r=this.getOrigGetter(e,t);if(r){var i=this.getOrigSetter(e,t),o=this;this.defProp(e,t,i,(function(){return o.initIframeWombat(this),o.objToProxy(r.call(this))})),e["_get_"+t]=r}}},y.prototype.overrideSWAccess=function(t){if(t.navigator.serviceWorker&&t.navigator.serviceWorker.controller){t._WB_wombat_sw=t.navigator.serviceWorker;var e={controller:null,ready:Promise.resolve({unregister:function(){}}),register:function(){return Promise.reject()},addEventListener:function(){},removeEventListener:function(){},onmessage:null,oncontrollerchange:null,getRegistrations:function(){return Promise.resolve([])},getRegistration:function(){return Promise.resolve(void 0)},startMessages:function(){}};this.defGetterProp(t.navigator,"serviceWorker",(function(){return e}))}},y.prototype.overrideFuncThisProxyToObj=function(t,e,r){if(t){var i=r;if(!r&&t.prototype&&t.prototype[e]?i=t.prototype:!r&&t[e]&&(i=t),i){var o=this,n=i[e];i[e]=function(){return n.apply(o.proxyToObj(this),arguments)}}}},y.prototype.overrideFuncArgProxyToObj=function(t,e,r){if(t&&t.prototype){var i=r||0,o=t.prototype[e];if(o){var n=this;t.prototype[e]=function(){for(var t=new Array(arguments.length),e=0;e<t.length;e++)t[e]=e===i?n.proxyToObj(arguments[e]):arguments[e];var r=n.proxyToObj(this);return o.__WB_orig_apply?o.__WB_orig_apply(r,t):o.apply(r,t)}}}},y.prototype.overrideFunctionApply=function(t){if(!t.Function.prototype.__WB_orig_apply){var e=t.Function.prototype.apply;t.Function.prototype.__WB_orig_apply=e;var r=this;t.Function.prototype.apply=function(t,e){return r.isNativeFunction(this)&&(t=r.proxyToObj(t),e=r.deproxyArrayHandlingArgumentsObj(e)),this.__WB_orig_apply(t,e)},this.wb_funToString.apply=e}},y.prototype.overrideFunctionCall=function(t){if(!t.Function.prototype.__WB_orig_call){var e=t.Function.prototype.call;t.Function.prototype.__WB_orig_call=e;var r=this;t.Function.prototype.call=function(t,...e){return r.isNativeFunction(this)&&(t=r.proxyToObj(t),e=r.deproxyArrayHandlingArgumentsObj(e)),this.__WB_orig_call(t,...e)},this.wb_funToString.call=e}},y.prototype.overrideFunctionBind=function(t){if(!t.Function.prototype.__WB_orig_bind){var e=t.Function.prototype.bind;t.Function.prototype.__WB_orig_bind=e;var r=this;t.Function.prototype.bind=function(t){var e=r.isNativeFunction(this),i=e?this.__WB_orig_bind.apply(this,arguments):this.__WB_orig_bind.__WB_orig_apply(this,arguments);return i.__WB_is_native_func__=e,i}}},y.prototype.overrideSrcsetAttr=function(t,e){var r="srcset",i=this.getOrigGetter(t,r),o=this.getOrigSetter(t,r),n=this;this.defProp(t,r,(function(t){var e=n.rewriteSrcset(t,this);return o?o.call(this,e):n.wb_setAttribute?n.wb_setAttribute.call(this,r,e):void 0}),(function(){var t;return i?t=i.call(this):n.wb_getAttribute&&(t=n.wb_getAttribute.call(this,r)),t=n.extractOriginalURL(t)}))},y.prototype.overrideHrefAttr=function(t,e){var r=this.getOrigGetter(t,"href"),i=this.getOrigSetter(t,"href"),o=this;this.defProp(t,"href",(function(t){var r;return r="cs_"===e&&0===t.indexOf("data:text/css")?o.rewriteInlineStyle(t):"LINK"===this.tagName?o.rewriteUrl(t,!1,o.rwModForElement(this,"href")):o.rewriteUrl(t,!1,e,this.ownerDocument),i?i.call(this,r):o.wb_setAttribute?o.wb_setAttribute.call(this,"href",r):void 0}),(function(){var t;return r?t=r.call(this):o.wb_getAttribute&&(t=o.wb_getAttribute.call(this,"href")),this._no_rewrite?t:o.extractOriginalURL(t)}))},y.prototype.overrideTextProtoGetSet=function(t,e){var r,i=this.getOrigGetter(t,e),o=this;if("data"===e){var n=this.getOrigSetter(t,e);r=function(t){var e=t;return!this._no_rewrite&&this.parentElement&&"STYLE"===this.parentElement.tagName&&(e=o.rewriteStyle(t)),n.call(this,e)}}this.defProp(t,e,r,(function(){var t=i.call(this);return!this._no_rewrite&&this.parentElement&&"STYLE"===this.parentElement.tagName?t.replace(o.wb_unrewrite_rx,""):t}))},y.prototype.overrideAnUIEvent=function(t){var e="__wb_"+t+"_overridden",r=this.$wbwindow[t];if(r&&r.prototype&&!r.prototype[e]){var i=this;this.overridePropToProxy(r.prototype,"view");var o,n="init"+t;if(r.prototype[n]){var s=r.prototype[n];r.prototype[n]=function(){var t=i.proxyToObj(this);if(0===arguments.length||arguments.length<3)return s.__WB_orig_apply?s.__WB_orig_apply(t,arguments):s.apply(t,arguments);for(var e=new Array(arguments.length),r=0;r<arguments.length;r++)e[r]=3===r?i.proxyToObj(arguments[r]):arguments[r];return s.__WB_orig_apply?s.__WB_orig_apply(t,e):s.apply(t,e)}}this.$wbwindow[t]=(o=r,function(e,r){return i.domConstructorErrorChecker(this,t,arguments),r&&(null!=r.view&&(r.view=i.proxyToObj(r.view)),null!=r.relatedTarget&&(r.relatedTarget=i.proxyToObj(r.relatedTarget)),null!=r.target&&(r.target=i.proxyToObj(r.target))),new o(e,r)}),this.$wbwindow[t].prototype=r.prototype,Object.defineProperty(this.$wbwindow[t].prototype,"constructor",{value:this.$wbwindow[t]}),this.$wbwindow[t].prototype[e]=!0}},y.prototype.rewriteParentNodeFn=function(t,e,r){var i=this._no_rewrite?r:this.rewriteElementsInArguments(r),o=this.proxyToObj(t);return e.__WB_orig_apply?e.__WB_orig_apply(o,i):e.apply(o,i)},y.prototype.overrideParentNodeAppendPrepend=function(t){var e=this.rewriteParentNodeFn;if(t.prototype.append){var r=t.prototype.append;t.prototype.append=function(){return e(this,r,arguments)}}if(t.prototype.prepend){var i=t.prototype.prepend;t.prototype.prepend=function(){return e(this,i,arguments)}}},y.prototype.overrideShadowDom=function(){this.$wbwindow.ShadowRoot&&this.$wbwindow.ShadowRoot.prototype&&(this.overrideHtmlAssign(this.$wbwindow.ShadowRoot,"innerHTML",!0),this.overrideParentNodeAppendPrepend(this.$wbwindow.ShadowRoot))},y.prototype.overrideChildNodeInterface=function(t,e){if(t&&t.prototype){var r=e?this.rewriteTextNodeFn:this.rewriteChildNodeFn;if(t.prototype.before){var i=t.prototype.before;t.prototype.before=function(){return r(this,i,arguments)}}if(t.prototype.after){var o=t.prototype.after;t.prototype.after=function(){return r(this,o,arguments)}}if(t.prototype.replaceWith){var n=t.prototype.replaceWith;t.prototype.replaceWith=function(){return r(this,n,arguments)}}}},y.prototype.initTextNodeOverrides=function(){var t=this.$wbwindow.Text;if(t&&t.prototype){var e=t.prototype,r=this.rewriteTextNodeFn;if(e.appendData){var i=e.appendData;e.appendData=function(){return r(this,i,arguments)}}if(e.insertData){var o=e.insertData;e.insertData=function(){return r(this,o,arguments)}}if(e.replaceData){var n=e.replaceData;e.replaceData=function(){return r(this,n,arguments)}}this.overrideChildNodeInterface(t,!0),this.overrideTextProtoGetSet(e,"data"),this.overrideTextProtoGetSet(e,"wholeText")}},y.prototype.initAttrOverrides=function(){this.overrideHrefAttr(this.$wbwindow.HTMLLinkElement.prototype,"cs_"),this.overrideHrefAttr(this.$wbwindow.CSSStyleSheet.prototype,"cs_"),this.overrideHrefAttr(this.$wbwindow.HTMLBaseElement.prototype,"mp_"),this.overrideSrcsetAttr(this.$wbwindow.HTMLImageElement.prototype,"im_"),this.overrideSrcsetAttr(this.$wbwindow.HTMLSourceElement.prototype,"oe_"),this.overrideAttr(this.$wbwindow.HTMLVideoElement.prototype,"poster","im_"),this.overrideAttr(this.$wbwindow.HTMLAudioElement.prototype,"poster","im_"),this.overrideAttr(this.$wbwindow.HTMLImageElement.prototype,"src","im_"),this.overrideAttr(this.$wbwindow.HTMLInputElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLEmbedElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLMediaElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLVideoElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLAudioElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLSourceElement.prototype,"src","oe_"),window.HTMLTrackElement&&window.HTMLTrackElement.prototype&&this.overrideAttr(this.$wbwindow.HTMLTrackElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLIFrameElement.prototype,"src","if_"),this.$wbwindow.HTMLFrameElement&&this.$wbwindow.HTMLFrameElement.prototype&&this.overrideAttr(this.$wbwindow.HTMLFrameElement.prototype,"src","fr_"),this.overrideAttr(this.$wbwindow.HTMLScriptElement.prototype,"src","js_"),this.overrideAttr(this.$wbwindow.HTMLObjectElement.prototype,"data","oe_"),this.overrideAttr(this.$wbwindow.HTMLObjectElement.prototype,"codebase","oe_"),this.overrideAttr(this.$wbwindow.HTMLMetaElement.prototype,"content","mp_"),this.overrideAttr(this.$wbwindow.HTMLFormElement.prototype,"action","mp_"),this.overrideAttr(this.$wbwindow.HTMLQuoteElement.prototype,"cite","mp_"),this.overrideAttr(this.$wbwindow.HTMLModElement.prototype,"cite","mp_"),this.overrideAnchorAreaElem(this.$wbwindow.HTMLAnchorElement),this.overrideAnchorAreaElem(this.$wbwindow.HTMLAreaElement);var t=this.$wbwindow.CSSStyleDeclaration.prototype,e={background:"background",backgroundImage:"background-image",cursor:"cursor",listStyle:"list-style",listStyleImage:"list-style-image",border:"border",borderImage:"border-image",borderImageSource:"border-image-source",maskImage:"mask-image"};for(var[r,i]of(this.overrideStyleProxy(Object.values(e)),this.$wbwindow.CSS2Properties&&(t=this.$wbwindow.CSS2Properties.prototype),this.overrideStyleAttr(t,"cssText"),Object.entries(e)))this.overrideStyleAttr(t,r,i);if(this.overrideStyleSetProp(t),this.$wbwindow.CSSStyleSheet&&this.$wbwindow.CSSStyleSheet.prototype){var o=this,n=this.$wbwindow.CSSStyleSheet.prototype.insertRule;this.$wbwindow.CSSStyleSheet.prototype.insertRule=function(t,e){return n.call(this,o.rewriteStyle(t),e)}}this.$wbwindow.CSSRule&&this.$wbwindow.CSSRule.prototype&&this.overrideStyleAttr(this.$wbwindow.CSSRule.prototype,"cssText")},y.prototype.initCSSOMOverrides=function(){var t,r=this;if(this.$wbwindow.CSSStyleValue){var i=function(t,e){var i=t[e];t[e]=function(t,e){if(null==e)return i.call(this,t,e);var o=r.noExceptRewriteStyle(e);return i.call(this,t,o)}};this.$wbwindow.CSSStyleValue.parse&&this.$wbwindow.CSSStyleValue.parse.toString().indexOf("[native code]")>0&&i(this.$wbwindow.CSSStyleValue,"parse"),this.$wbwindow.CSSStyleValue.parseAll&&this.$wbwindow.CSSStyleValue.parseAll.toString().indexOf("[native code]")>0&&i(this.$wbwindow.CSSStyleValue,"parseAll")}if(this.$wbwindow.CSSKeywordValue&&this.$wbwindow.CSSKeywordValue.prototype){var o=this.$wbwindow.CSSKeywordValue;this.$wbwindow.CSSKeywordValue=(t=this.$wbwindow.CSSKeywordValue,function(e){return r.domConstructorErrorChecker(this,"CSSKeywordValue",arguments),new t(r.rewriteStyle(e))}),this.$wbwindow.CSSKeywordValue.prototype=o.prototype,Object.defineProperty(this.$wbwindow.CSSKeywordValue.prototype,"constructor",{value:this.$wbwindow.CSSKeywordValue}),e(this.$wbwindow.CSSKeywordValue,"CSSKeywordValue")}if(this.$wbwindow.StylePropertyMap&&this.$wbwindow.StylePropertyMap.prototype){var n=this.$wbwindow.StylePropertyMap.prototype.set;this.$wbwindow.StylePropertyMap.prototype.set=function(){if(arguments.length<=1)return n.__WB_orig_apply?n.__WB_orig_apply(this,arguments):n.apply(this,arguments);var t=new Array(arguments.length);t[0]=arguments[0];for(var e=1;e<arguments.length;e++)t[e]=r.noExceptRewriteStyle(arguments[e]);return n.__WB_orig_apply?n.__WB_orig_apply(this,t):n.apply(this,t)};var s=this.$wbwindow.StylePropertyMap.prototype.append;this.$wbwindow.StylePropertyMap.prototype.append=function(){if(arguments.length<=1)return n.__WB_orig_apply?s.__WB_orig_apply(this,arguments):s.apply(this,arguments);var t=new Array(arguments.length);t[0]=arguments[0];for(var e=1;e<arguments.length;e++)t[e]=r.noExceptRewriteStyle(arguments[e]);return s.__WB_orig_apply?s.__WB_orig_apply(this,t):s.apply(this,t)}}},y.prototype.initAudioOverride=function(){if(this.$wbwindow.Audio){var t,r=this.$wbwindow.Audio,i=this;this.$wbwindow.Audio=(t=this.$wbwindow.Audio,function(e){return i.domConstructorErrorChecker(this,"Audio"),new t(i.rewriteUrl(e,!0,"oe_"))}),this.$wbwindow.Audio.prototype=r.prototype,Object.defineProperty(this.$wbwindow.Audio.prototype,"constructor",{value:this.$wbwindow.Audio}),e(this.$wbwindow.Audio,"HTMLAudioElement")}},y.prototype.initBadPrefixes=function(t){this.BAD_PREFIXES=["http:"+t,"https:"+t,"http:/"+t,"https:/"+t]},y.prototype.initCryptoRandom=function(){if(this.$wbwindow.crypto&&this.$wbwindow.Crypto){var t=this,e=function(e){for(var r=0;r<e.length;r++)e[r]=parseInt(4294967296*t.$wbwindow.Math.random());return e};this.$wbwindow.Crypto.prototype.getRandomValues=e,this.$wbwindow.crypto.getRandomValues=e}},y.prototype.initDateOverride=function(t){if(!this.$wbwindow.__wb_Date_now){var e,r=1e3*parseInt(t),i=this.$wbwindow.Date.now()-(r-0),o=this.$wbwindow.Date,n=this.$wbwindow.Date.UTC,s=this.$wbwindow.Date.parse,a=this.$wbwindow.Date.now;this.$wbwindow.__wb_Date_now=a,this.$wbwindow.Date=(e=this.$wbwindow.Date,function(t,r,o,n,s,w,h){return void 0===t?new e(a()-i):void 0===r?new e(t):void 0===o?new e(t,r):void 0===n?new e(t,r,o):void 0===s?new e(t,r,o,n):void 0===w?new e(t,r,o,n,s):void 0===h?new e(t,r,o,n,s,w):new e(t,r,o,n,s,w,h)}),this.$wbwindow.Date.prototype=o.prototype,this.$wbwindow.Date.now=function(){return a()-i},this.$wbwindow.Date.UTC=n,this.$wbwindow.Date.parse=s,this.$wbwindow.Date.__WB_timediff=i,this.$wbwindow.Date.prototype.getTimezoneOffset=function(){return 0};var w=this.$wbwindow.Date.prototype.toString;this.$wbwindow.Date.prototype.toString=function(){return w.call(this).split(" GMT")[0]+" GMT+0000 (Coordinated Universal Time)"};var h=this.$wbwindow.Date.prototype.toTimeString;this.$wbwindow.Date.prototype.toTimeString=function(){return h.call(this).split(" GMT")[0]+" GMT+0000 (Coordinated Universal Time)"},Object.defineProperty(this.$wbwindow.Date.prototype,"constructor",{value:this.$wbwindow.Date})}},y.prototype.initBlobOverride=function(){if(this.$wbwindow.Blob&&!this.wb_info.isSW){var t,e=this.$wbwindow.Blob,r=this;this.$wbwindow.Blob=(t=this.$wbwindow.Blob,function(e,i){return!i||"application/xhtml+xml"!==i.type&&"text/html"!==i.type||1===e.length&&"string"==typeof e[0]&&r.startsWith(e[0],"<!DOCTYPE html>")&&(e[0]=r.rewriteHtml(e[0]),i.type="text/html"),new t(e,i)}),this.$wbwindow.Blob.prototype=e.prototype}},y.prototype.initIntersectionObsOverride=function(){var t,e=this.$wbwindow.IntersectionObserver,r=this;this.$wbwindow.IntersectionObserver=(t=this.$wbwindow.IntersectionObserver,function(e,i){return i&&i.root&&(i.root=r.proxyToObj(i.root)),new t(e,i)}),this.$wbwindow.IntersectionObserver.prototype=e.prototype,Object.defineProperty(this.$wbwindow.IntersectionObserver.prototype,"constructor",{value:this.$wbwindow.IntersectionObserver})},y.prototype.initWSOverride=function(){this.$wbwindow.WebSocket&&this.$wbwindow.WebSocket.prototype&&(this.$wbwindow.WebSocket=function(t){function e(t,r){this.openCallbacks=[],this.addEventListener=function(t,r){"open"===t&&e.openCallbacks.push(r)},this.removeEventListener=function(){},this.close=function(){},this.send=function(t){console.log("ws send",t)},this.protocol=r&&r.length?r[0]:"",this.url=t,this.readyState=1;var i=this;setTimeout((function(){var t=new CustomEvent("open");i.onopen&&i.onopen(t),i.openCallbacks.forEach((e=>e(t)))}),500)}return e.CONNECTING=0,e.OPEN=1,e.CLOSING=2,e.CLOSED=3,e}(this.$wbwindow.WebSocket),Object.defineProperty(this.$wbwindow.WebSocket.prototype,"constructor",{value:this.$wbwindow.WebSocket}),e(this.$wbwindow.WebSocket,"WebSocket"))},y.prototype.initDocTitleOverride=function(){var t=this.getOrigGetter(this.$wbwindow.document,"title"),e=this.getOrigSetter(this.$wbwindow.document,"title"),r=this;this.defProp(this.$wbwindow.document,"title",(function(t){var i=e.call(this,t),o={wb_type:"title",title:t};return r.sendTopMessage(o),i}),t)},y.prototype.initFontFaceOverride=function(){if(this.$wbwindow.FontFace){var t,r=this,i=this.$wbwindow.FontFace;this.$wbwindow.FontFace=(t=this.$wbwindow.FontFace,function(e,i,o){r.domConstructorErrorChecker(this,"FontFace",arguments,2);var n=i;return null!=i&&(n="string"!=typeof i?r.rewriteInlineStyle(i.toString()):r.rewriteInlineStyle(i)),new t(e,n,o)}),this.$wbwindow.FontFace.prototype=i.prototype,Object.defineProperty(this.$wbwindow.FontFace.prototype,"constructor",{value:this.$wbwindow.FontFace}),e(this.$wbwindow.FontFace,"FontFace")}},y.prototype.initFixedRatio=function(t){try{this.$wbwindow.devicePixelRatio=t}catch(t){}if(Object.defineProperty)try{Object.defineProperty(this.$wbwindow,"devicePixelRatio",{value:t,writable:!1})}catch(t){}},y.prototype.initPaths=function(t){t.wombat_opts=t.wombat_opts||{},Object.assign(this.wb_info,t),this.wb_opts=t.wombat_opts,this.wb_replay_prefix=t.prefix,this.wb_is_proxy=t.proxy_magic||!this.wb_replay_prefix,this.wb_info.top_host=this.wb_info.top_host||"*",this.wb_curr_host=this.$wbwindow.location.protocol+"//"+this.$wbwindow.location.host,this.wb_info.wombat_opts=this.wb_info.wombat_opts||{},this.wb_orig_scheme=t.wombat_scheme+"://",this.wb_orig_origin=this.wb_orig_scheme+t.wombat_host,this.wb_abs_prefix=this.wb_replay_prefix,!t.is_live&&t.wombat_ts?this.wb_capture_date_part="/"+t.wombat_ts+"/":this.wb_capture_date_part="",this.initBadPrefixes(this.wb_replay_prefix),this.initCookiePreset()},y.prototype.initSeededRandom=function(t){this.$wbwindow.Math.seed=parseInt(t);var e=this;this.$wbwindow.Math.random=function(){return e.$wbwindow.Math.seed=(9301*e.$wbwindow.Math.seed+49297)%233280,e.$wbwindow.Math.seed/233280}},y.prototype.initHistoryOverrides=function(){this.overrideHistoryFunc("pushState"),this.overrideHistoryFunc("replaceState");var t=this;this.$wbwindow.addEventListener("popstate",(function(e){t.sendHistoryUpdate(t.$wbwindow.WB_wombat_location.href,t.$wbwindow.document.title)}))},y.prototype.initCookiePreset=function(){if(this.wb_info.presetCookie)for(var t=this.wb_info.presetCookie.split(";"),e=0;e<t.length;e++)this.$wbwindow.document.cookie=t[e].trim()+"; Path="+this.rewriteUrl("./",!0)},y.prototype.initHTTPOverrides=function(){var t=this;this.overridePropExtract(this.$wbwindow.XMLHttpRequest.prototype,"responseURL");var r,i,o=!!this.wb_info.convert_post_to_get;if(this.wb_info.isSW||o){var n=this.$wbwindow.XMLHttpRequest.prototype.open,s=this.$wbwindow.XMLHttpRequest.prototype.setRequestHeader,a=this.$wbwindow.XMLHttpRequest.prototype.send;this.utilFns.XHRopen=n,this.utilFns.XHRsend=a,this.$wbwindow.XMLHttpRequest.prototype.open=function(){this.__WB_xhr_open_arguments=arguments,this.__WB_xhr_headers=new Headers},this.$wbwindow.XMLHttpRequest.prototype.setAttributionReporting=function(){},this.$wbwindow.XMLHttpRequest.prototype.setRequestHeader=function(t,e){this.__WB_xhr_headers.set(t,e)},this.$wbwindow.XMLHttpRequest.prototype.send=async function(e){if(o&&("POST"===this.__WB_xhr_open_arguments[0]||"PUT"===this.__WB_xhr_open_arguments[0])){var r={url:this.__WB_xhr_open_arguments[1],method:this.__WB_xhr_open_arguments[0],headers:this.__WB_xhr_headers,postData:e};u(r)&&(this.__WB_xhr_open_arguments[1]=r.url,this.__WB_xhr_open_arguments[0]="GET",e=null)}if(this.__WB_xhr_open_arguments.length>2&&!this.__WB_xhr_open_arguments[2]&&-1===navigator.userAgent.indexOf("Firefox")&&(this.__WB_xhr_open_arguments[2]=!0,console.warn("wombat.js: Sync XHR not supported in SW-based replay in this browser, converted to async")),this._no_rewrite||(this.__WB_xhr_open_arguments[1]=t.rewriteUrl(this.__WB_xhr_open_arguments[1])),n.apply(this,this.__WB_xhr_open_arguments),!t.startsWith(this.__WB_xhr_open_arguments[1],"data:")){for(const[t,e]of this.__WB_xhr_headers.entries())s.call(this,t,e);s.call(this,"X-Pywb-Requested-With","XMLHttpRequest")}return a.call(this,e)}}else if(this.$wbwindow.XMLHttpRequest.prototype.open){var w=this.$wbwindow.XMLHttpRequest.prototype.open;this.utilFns.XHRopen=w,this.utilFns.XHRsend=this.$wbwindow.XMLHttpRequest.prototype.send,this.$wbwindow.XMLHttpRequest.prototype.open=function(e,r,i,o,n){var s=this._no_rewrite?r:t.rewriteUrl(r),a=!0;null==i||i||(a=!1),w.call(this,e,s,a,o,n),t.startsWith(s,"data:")||this.setRequestHeader("X-Pywb-Requested-With","XMLHttpRequest")}}if(this.$wbwindow.fetch){var h=this.$wbwindow.fetch;this.$wbwindow.fetch=function(e,r){var i;if(e instanceof Request){var o=t.rewriteUrl(e.url);e.__WB_no_unrewrite=!0,i=o===e.url?e:new Request(o,e),delete e.__WB_no_unrewrite}else e=t.rewriteUrl(e.toString()),i=new Request(e,r);return h.call(t.proxyToObj(this),i)}}if(this.$wbwindow.Request&&this.$wbwindow.Request.prototype){var p=this.$wbwindow.Request;this.$wbwindow.Request=(r=this.$wbwindow.Request,function e(i,o){t.domConstructorErrorChecker(this,"Request",arguments);var n=o||{},s=i,a=typeof i;switch(a){case"string":s=t.rewriteUrl(i);break;case"object":if(s=i,i.url){var w=t.rewriteUrl(i.url);w!==i.url&&(s=new r(w,i))}else i.href&&(s=t.rewriteUrl(i.toString(),!0))}let h=!1;if(n&&n.referrer){var p=t.rewriteUrl(n.referrer);p!==n.referrer&&(n instanceof e?(n.__WB_no_unrewrite=!0,h=!0):n.referrer=p)}var c=new r(s,n);return h&&delete n.__WB_no_unrewrite,c}),this.$wbwindow.Request.prototype=p.prototype,Object.defineProperty(this.$wbwindow.Request.prototype,"constructor",{value:this.$wbwindow.Request}),this.overridePropExtract(this.$wbwindow.Request.prototype,"url"),this.overridePropExtract(this.$wbwindow.Request.prototype,"referrer")}if(this.$wbwindow.Response&&this.$wbwindow.Response.prototype){var c=this.$wbwindow.Response.prototype.redirect;this.$wbwindow.Response.prototype.redirect=function(e,r){var i=t.rewriteUrl(e,!0,null,t.$wbwindow.document);return c.call(this,i,r)},this.overridePropExtract(this.$wbwindow.Response.prototype,"url")}if(this.$wbwindow.EventSource&&this.$wbwindow.EventSource.prototype){var l=this.$wbwindow.EventSource;this.$wbwindow.EventSource=(i=this.$wbwindow.EventSource,function(e,r){t.domConstructorErrorChecker(this,"EventSource",arguments);var o=e;return null!=e&&(o=t.rewriteUrl(e)),new i(o,r)}),this.$wbwindow.EventSource.prototype=l.prototype,Object.defineProperty(this.$wbwindow.EventSource.prototype,"constructor",{value:this.$wbwindow.EventSource}),e(this.$wbwindow.EventSource,"EventSource")}},y.prototype.initElementGetSetAttributeOverride=function(){if(!this.wb_opts.skip_setAttribute&&this.$wbwindow.Element&&this.$wbwindow.Element.prototype){var t=this,e=this.$wbwindow.Element.prototype;if(e.setAttribute){var r=e.setAttribute;e._orig_setAttribute=r,e.setAttribute=function(e,i){var o=i;if(e&&"string"==typeof o){var n=e.toLowerCase();if("LINK"===this.tagName&&"href"===n&&0===o.indexOf("data:text/css"))o=t.rewriteInlineStyle(i);else if("style"===n)o=t.rewriteStyle(i);else if("srcset"===n||"imagesrcset"===n&&"LINK"===this.tagName)o=t.rewriteSrcset(i,this);else{t.shouldRewriteAttr(this.tagName,n)&&(t.removeWBOSRC(this),this._no_rewrite||(o=t.rewriteUrl(i,!1,t.rwModForElement(this,n))))}}return r.call(this,e,o)}}if(e.getAttribute){var i=e.getAttribute;this.wb_getAttribute=i,e.getAttribute=function(e){var r=i.call(this,e);if(null===r)return r;var o=e;if(e&&(o=e.toLowerCase()),t.shouldRewriteAttr(this.tagName,o)){var n=t.retrieveWBOSRC(this);return n||t.extractOriginalURL(r)}return t.startsWith(o,"data-")&&t.startsWithOneOf(r,t.wb_prefixes)?t.extractOriginalURL(r):r}}}},y.prototype.initSvgImageOverrides=function(){if(this.$wbwindow.SVGImageElement){var t=this.$wbwindow.SVGImageElement.prototype,e=t.getAttribute,r=t.getAttributeNS,i=t.setAttribute,o=t.setAttributeNS,n=this;t.getAttribute=function(t){var r=e.call(this,t);return t.indexOf("xlink:href")>=0||"href"===t?n.extractOriginalURL(r):r},t.getAttributeNS=function(t,e){var i=r.call(this,t,e);return e.indexOf("xlink:href")>=0||"href"===e?n.extractOriginalURL(i):i},t.setAttribute=function(t,e){var r=e;return(t.indexOf("xlink:href")>=0||"href"===t)&&(r=n.rewriteUrl(e)),i.call(this,t,r)},t.setAttributeNS=function(t,e,r){var i=r;return(e.indexOf("xlink:href")>=0||"href"===e)&&(i=n.rewriteUrl(r)),o.call(this,t,e,i)}}},y.prototype.initCreateElementNSFix=function(){if(this.$wbwindow.document.createElementNS&&this.$wbwindow.Document.prototype.createElementNS){var t=this.$wbwindow.document.createElementNS,e=this,r=function(r,i){return t.call(e.proxyToObj(this),e.extractOriginalURL(r),i)};this.$wbwindow.Document.prototype.createElementNS=r,this.$wbwindow.document.createElementNS=r}},y.prototype.initQuerySelectorOverride=function(){if(this.$wbwindow.document.querySelector&&this.$wbwindow.Document.prototype.querySelector){var t=this,e=this.$wbwindow.document.querySelector,r=function(r){return e.call(t.proxyToObj(this),n(r))},i=this.$wbwindow.document.querySelectorAll,o=function(e){return i.call(t.proxyToObj(this),n(e))};this.$wbwindow.Document.prototype.querySelector=r,this.$wbwindow.document.querySelector=r,this.$wbwindow.Document.prototype.querySelectorAll=o,this.$wbwindow.document.querySelectorAll=o}function n(t){if("string"==typeof t)try{t=t.replace(/((?:^|\\s)\\b\\w+\\[(?:src|href|data-href))[\\^]?(=[\'"]?(?:https?[:])?\\/\\/)/,"$1*$2")}catch(t){}return t}},y.prototype.initInsertAdjacentElementHTMLOverrides=function(){var t=this.$wbwindow.Element;if(t&&t.prototype){var e=t.prototype,r=this.rewriteInsertAdjHTMLOrElemArgs;if(e.insertAdjacentHTML){var i=e.insertAdjacentHTML;e.insertAdjacentHTML=function(t,e){return r(this,i,t,e,!0)}}if(e.insertAdjacentElement){var o=e.insertAdjacentElement;e.insertAdjacentElement=function(t,e){return r(this,o,t,e,!1)}}}},y.prototype.initDomOverride=function(){var t=this.$wbwindow.Node;if(t&&t.prototype){var e=this.rewriteNodeFuncArgs;if(t.prototype.appendChild){var r=t.prototype.appendChild;t.prototype.appendChild=function(t,i){return e(this,r,t,i)}}if(t.prototype.insertBefore){var i=t.prototype.insertBefore;t.prototype.insertBefore=function(t,r){return e(this,i,t,r)}}if(t.prototype.replaceChild){var o=t.prototype.replaceChild;t.prototype.replaceChild=function(t,r){return e(this,o,t,r)}}this.overridePropToProxy(t.prototype,"ownerDocument"),this.overridePropToProxy(this.$wbwindow.HTMLHtmlElement.prototype,"parentNode"),this.overridePropToProxy(this.$wbwindow.Event.prototype,"target");var n=t.prototype.getRootNode,s=this;t.prototype.getRootNode=function(){return s.objToProxy(n.call(this))}}this.$wbwindow.Element&&this.$wbwindow.Element.prototype&&(this.overrideParentNodeAppendPrepend(this.$wbwindow.Element),this.overrideChildNodeInterface(this.$wbwindow.Element,!1)),this.$wbwindow.DocumentFragment&&this.$wbwindow.DocumentFragment.prototype&&this.overrideParentNodeAppendPrepend(this.$wbwindow.DocumentFragment)},y.prototype.initDocOverrides=function(t){if(Object.defineProperty){this.overrideReferrer(t),this.defGetterProp(t,"origin",(function(){return this.WB_wombat_location.origin})),this.defGetterProp(this.$wbwindow,"origin",(function(){return this.WB_wombat_location.origin}));var e=this;this.defProp(t,"domain",(function(t){var r=this.WB_wombat_location;r&&e.endsWith(r.hostname,t)&&(this.__wb_domain=t)}),(function(){return this.__wb_domain||this.WB_wombat_location.hostname}))}},y.prototype.initDocWriteOpenCloseOverride=function(){if(this.$wbwindow.DOMParser){var t=this.$wbwindow.Document.prototype,e=this.$wbwindow.document;this._writeBuff="";var r=this,i=e.write,o=function(){return d(this,i,_(arguments))};e.write=o,t.write=o;var n=e.writeln,s=function(){return d(this,n,_(arguments))};e.writeln=s,t.writeln=s;var a=e.open,w=function(){var t,e=r.proxyToObj(this);if(3===arguments.length){var i=r.rewriteUrl(arguments[0],!1,"mp_");t=a.call(e,i,arguments[1],arguments[2]),r.initNewWindowWombat(t,arguments[0])}else t=a.call(e),u()?r._writeBuff="":r.initNewWindowWombat(e.defaultView);return t};e.open=w,t.open=w;var h=e.close,p=function(){if(!r._writeBuff){var t=r.proxyToObj(this);return r.initNewWindowWombat(t.defaultView),h.__WB_orig_apply?h.__WB_orig_apply(t,arguments):h.apply(t,arguments)}if("loading"===this.readyState&&i.call(e,r.rewriteHtml(r._writeBuff,!0)),u()){r.blobUrlForIframe(r.$wbwindow.frameElement,r._writeBuff);const t=this;try{if(t.documentElement){new r.$wbwindow.MutationObserver(((e,i)=>{r.blobUrlForIframe(r.$wbwindow.frameElement,t.documentElement.outerHTML)})).observe(t.documentElement,{childList:!0,subtree:!0})}}catch(t){}}r._writeBuff=""};e.close=p,t.close=p;var c=this.getOrigGetter(t,"body"),l=this.getOrigSetter(t,"body");c&&l&&this.defProp(t,"body",(function(t){return t&&(t instanceof HTMLBodyElement||t instanceof HTMLFrameSetElement)&&r.rewriteElemComplete(t),l.call(r.proxyToObj(this),t)}),c)}function u(){return r.wb_info.isSW&&r.$wbwindow.frameElement}function _(t){return 0===t.length?"":1===t.length?t[0]:Array.prototype.join.call(t,"")}function d(t,e,i){r.$wbwindow;var o=r.proxyToObj(t);if("loading"===t.readyState&&i&&-1!==i.startsWith("\\x3c!--")&&-1===i.indexOf("--\\x3e"))return e.call(o,i);if(!(u()||"loading"===t.readyState&&r.wb_info.injectDocClose)){i=r.rewriteHtml(i,!0);o=r.proxyToObj(t);var n=e.call(o,i);return r.initNewWindowWombat(o.defaultView),n}r._writeBuff+=i}},y.prototype.initIframeWombat=function(t){var e;e=t._get_contentWindow?t._get_contentWindow.call(t):t.contentWindow;try{if(!e||e===this.$wbwindow||e._skip_wombat||e._wb_wombat)return}catch(t){return}var r=t.src;this.initNewWindowWombat(e,r)},y.prototype.initNewWindowWombat=function(t,e){var r=!1;if(t&&!t._wb_wombat){if(e&&""!==e&&!this.startsWithOneOf(e,["about:blank","javascript:"])||(r=!0),!r&&this.wb_info.isSW){var i=this.extractOriginalURL(e);("about:blank"===i||i.startsWith("srcdoc:")||i.startsWith("blob:"))&&(r=!0)}if(r){var o={};Object.assign(o,this.wb_info);var n=new y(t,o);t._wb_wombat=n.wombatInit()}else this.initProtoPmOrigin(t),this.initPostMessageOverride(t),this.initMessageEventOverride(t),this.initCheckThisFunc(t),this.initImportWrapperFunc(t)}},y.prototype.initTimeoutIntervalOverrides=function(){var t=this.rewriteSetTimeoutInterval;if(this.$wbwindow.setTimeout&&!this.$wbwindow.setTimeout.__$wbpatched$__){var e=this.$wbwindow.setTimeout;this.$wbwindow.setTimeout=function(){return t(this,e,arguments)},this.$wbwindow.setTimeout.__$wbpatched$__=!0}if(this.$wbwindow.setInterval&&!this.$wbwindow.setInterval.__$wbpatched$__){var r=this.$wbwindow.setInterval;this.$wbwindow.setInterval=function(){return t(this,r,arguments)},this.$wbwindow.setInterval.__$wbpatched$__=!0}},y.prototype.initWorkerOverrides=function(){var t,e,r=this;if(this.$wbwindow.Worker&&!this.$wbwindow.Worker._wb_worker_overridden){var i=this.$wbwindow.Worker;this.$wbwindow.Worker=(t=i,function(e,i){return r.domConstructorErrorChecker(this,"Worker",arguments),new t(r.rewriteWorker(e),i)}),this.$wbwindow.Worker.prototype=i.prototype,Object.defineProperty(this.$wbwindow.Worker.prototype,"constructor",{value:this.$wbwindow.Worker}),this.$wbwindow.Worker._wb_worker_overridden=!0}if(this.$wbwindow.SharedWorker&&!this.$wbwindow.SharedWorker.__wb_sharedWorker_overridden){var o=this.$wbwindow.SharedWorker;this.$wbwindow.SharedWorker=(e=o,function(t,i){return r.domConstructorErrorChecker(this,"SharedWorker",arguments),new e(r.rewriteWorker(t),i)}),this.$wbwindow.SharedWorker.prototype=o.prototype,Object.defineProperty(this.$wbwindow.SharedWorker.prototype,"constructor",{value:this.$wbwindow.SharedWorker}),this.$wbwindow.SharedWorker.__wb_sharedWorker_overridden=!0}if(this.$wbwindow.ServiceWorkerContainer&&this.$wbwindow.ServiceWorkerContainer.prototype&&this.$wbwindow.ServiceWorkerContainer.prototype.register){var n=this.$wbwindow.ServiceWorkerContainer.prototype.register;this.$wbwindow.ServiceWorkerContainer.prototype.register=function(t,e){var i=new r.URL(t,r.$wbwindow.document.baseURI).href,o=r.getPageUnderModifier();return e&&e.scope?e.scope=r.rewriteUrl(e.scope,!1,o):e={scope:r.rewriteUrl("/",!1,o)},n.call(this,r.rewriteUrl(i,!1,"sw_"),e)}}if(this.$wbwindow.Worklet&&this.$wbwindow.Worklet.prototype&&this.$wbwindow.Worklet.prototype.addModule&&!this.$wbwindow.Worklet.__wb_workerlet_overridden){var s=this.$wbwindow.Worklet.prototype.addModule;this.$wbwindow.Worklet.prototype.addModule=function(t,e){var i=r.rewriteUrl(t,!1,"js_");return s.call(this,i,e)},this.$wbwindow.Worklet.__wb_workerlet_overridden=!0}},y.prototype.initLocOverride=function(t,e,r){if(Object.defineProperty)for(var i=0;i<this.URL_PROPS.length;i++){var o=this.URL_PROPS[i];this.defProp(t,o,this.makeSetLocProp(o,e,r),this.makeGetLocProp(o,r),!0)}},y.prototype.initWombatLoc=function(t){if(!(!t||t.WB_wombat_location&&t.document.WB_wombat_location)){var e=new w(t.location,this),r=this;if(Object.defineProperty){this.defProp(t.Object.prototype,"WB_wombat_location",(function(e){var i=this._WB_wombat_location||this.defaultView&&this.defaultView._WB_wombat_location;i&&(i.href=e),t.location=r.rewriteUrl(e)}),(function(){return this._WB_wombat_location||this.defaultView&&this.defaultView._WB_wombat_location||this.location})),this.initProtoPmOrigin(t),t._WB_wombat_location=e}else t.WB_wombat_location=e,setTimeout(this.checkAllLocations,500),setInterval(this.checkAllLocations,500)}},y.prototype.initProtoPmOrigin=function(t){if(!t.Object.prototype.__WB_pmw){var e=function(t){return this.__WB_source=t,this};try{t.Object.defineProperty(t.Object.prototype,"__WB_pmw",{get:function(){return e},set:function(){},configurable:!0,enumerable:!1})}catch(t){}t.__WB_check_loc=function(t,e){if(t instanceof Location||t instanceof w){if(e)for(var r=0;r<e.length;r++)if(t===e[r])return{};return this.WB_wombat_location}return{}}}},y.prototype.initCheckThisFunc=function(t){try{t.Object.prototype[this.WB_CHECK_THIS_FUNC]||t.Object.defineProperty(t.Object.prototype,this.WB_CHECK_THIS_FUNC,{configutable:!1,enumerable:!1,value:function(t){try{return t&&t._WB_wombat_obj_proxy?t._WB_wombat_obj_proxy:t}catch(e){return t}}})}catch(t){}},y.prototype.initImportWrapperFunc=function(t){var e=this;t.____wb_rewrite_import__=function(t,r){return t&&(r=new e.URL(r,t).href),import(e.rewriteUrl(r,!1,"esm_"))}},y.prototype.overrideGetOwnPropertyNames=function(t){var e=t.Object.getOwnPropertyNames,r=[this.WB_CHECK_THIS_FUNC,"WB_wombat_location","__WB_pmw","WB_wombat_top","WB_wombat_eval","WB_wombat_runEval"];try{t.Object.defineProperty(t.Object,"getOwnPropertyNames",{value:function(t){for(var i=e(t),o=0;o<r.length;o++){var n=i.indexOf(r[o]);n>=0&&i.splice(n,1)}return i}})}catch(t){console.log(t)}},y.prototype.initHashChange=function(){if(this.$wbwindow.__WB_top_frame){var t=this;this.$wbwindow.addEventListener("message",(function(e){if(e.data&&e.data.from_top){var r=e.data.message;r.wb_type&&"outer_hashchange"===r.wb_type&&t.$wbwindow.location.hash!=r.hash&&(t.$wbwindow.location.hash=r.hash)}})),this.$wbwindow.addEventListener("hashchange",(function(){var e={wb_type:"hashchange",hash:t.$wbwindow.location.hash};t.sendTopMessage(e)}))}},y.prototype.initPostMessageOverride=function(t){if(t.postMessage&&!t.__orig_postMessage){var e=t.postMessage,r=this;t.__orig_postMessage=e;var i=function(i,o,n,s){var a,w,h,p=r.proxyToObj(this);if(p||((p=t).__WB_source=t),p.__WB_source&&p.__WB_source.WB_wombat_location){var c=p.__WB_source;if(a=c.WB_wombat_location.origin,p.__WB_win_id||(p.__WB_win_id={},p.__WB_counter=0),!c.__WB_id){var l=p.__WB_counter;c.__WB_id=l+c.WB_wombat_location.href,p.__WB_counter+=1}p.__WB_win_id[c.__WB_id]=c,w=c.__WB_id,p.__WB_source=void 0}else a=window.WB_wombat_location.origin;"object"==typeof o?(h=o.targetOrigin,n=o.transfer):h=o;var u=h;u===p.location.origin&&(u=a);var _={from:a,to_origin:u,src_id:w,message:i,from_top:s};if("*"!==h){if("null"===p.location.origin||""===p.location.origin)return;h=p.location.origin}return e.call(p,_,h,n)};t.postMessage=i,t.Window.prototype.postMessage=i;var o=null,n=(o=t.EventTarget&&t.EventTarget.prototype?t.EventTarget.prototype:t).addEventListener;o.addEventListener=function(t,e,i){var o,s=r.proxyToObj(this);if("message"===t?o=r.message_listeners.add_or_get(e,(function(){return c(e,s,r)})):"storage"===t?r.storage_listeners.add_or_get(e,(function(){return p(e,s)})):"online"===t||"offline"===t||(o=e),o)return n.call(s,t,o,i)};var s=o.removeEventListener;o.removeEventListener=function(t,e,i){var o,n=r.proxyToObj(this);if("message"===t?o=r.message_listeners.remove(e):"storage"===t?r.storage_listeners.remove(e):o=e,o)return s.call(n,t,o,i)};var a=function(e,i){var o=r.getOrigSetter(t,e);r.defProp(t,e,(function(t){this["__orig_"+e]=t;var n=r.proxyToObj(this),s=t?i(t,n,r):t;return o.call(n,s)}),(function(){return this["__orig_"+e]}))};a("onmessage",c),a("onstorage",p)}},y.prototype.initMessageEventOverride=function(t){t.MessageEvent&&!t.MessageEvent.prototype.__extended&&(this.addEventOverride("target"),this.addEventOverride("srcElement"),this.addEventOverride("currentTarget"),this.addEventOverride("eventPhase"),this.addEventOverride("path"),this.overridePropToProxy(t.MessageEvent.prototype,"source"),t.MessageEvent.prototype.__extended=!0)},y.prototype.initUIEventsOverrides=function(){this.overrideAnUIEvent("UIEvent"),this.overrideAnUIEvent("MouseEvent"),this.overrideAnUIEvent("TouchEvent"),this.overrideAnUIEvent("FocusEvent"),this.overrideAnUIEvent("KeyboardEvent"),this.overrideAnUIEvent("WheelEvent"),this.overrideAnUIEvent("InputEvent"),this.overrideAnUIEvent("CompositionEvent")},y.prototype.initOpenOverride=function(){var t=this.$wbwindow.open;this.$wbwindow.Window.prototype.open&&(t=this.$wbwindow.Window.prototype.open);var e=this,r=function(r,i,o){i&&(i=e.rewriteAttrTarget(i));var n=e.rewriteUrl(r,!1),s=t.call(e.proxyToObj(this),n,i,o);return e.initNewWindowWombat(s,r),s};this.$wbwindow.open=r,this.$wbwindow.Window.prototype.open&&(this.$wbwindow.Window.prototype.open=r);for(var i=0;i<this.$wbwindow.frames.length;i++)try{this.$wbwindow.frames[i].open=r}catch(t){console.log(t)}},y.prototype.rewriteAttrTarget=function(t){return this.wb_info.target_frame&&("_blank"===t||"_parent"===t||"_top"===t||t&&this.$wbwindow===this.$wbwindow.__WB_replay_top)?this.wb_info.target_frame:t},y.prototype.initCookiesOverride=function(){var t=this.getOrigGetter(this.$wbwindow.document,"cookie"),e=this.getOrigSetter(this.$wbwindow.document,"cookie");t||(t=this.getOrigGetter(this.$wbwindow.Document.prototype,"cookie")),e||(e=this.getOrigSetter(this.$wbwindow.Document.prototype,"cookie"));var r=function(t,e){var r=new Date(e);return isNaN(r.getTime())?"Expires=Thu,| 01 Jan 1970 00:00:00 GMT":"Expires="+new Date(r.getTime()+Date.__WB_timediff).toUTCString().replace(",",",|")},i=this;this.defProp(this.$wbwindow.document,"cookie",(function(t){if(t){for(var o=t.replace(i.cookie_expires_regex,r).split(i.SetCookieRe),n=0;n<o.length;n++)o[n]=i.rewriteCookie(o[n]);return e.call(i.proxyToObj(this),o.join(","))}}),(function(){return t.call(i.proxyToObj(this))}))},y.prototype.initRegisterUnRegPHOverride=function(){var t=this,e=this.$wbwindow.navigator;if(e.registerProtocolHandler){var r=e.registerProtocolHandler;e.registerProtocolHandler=function(e,i,o){return r.call(this,e,t.rewriteUrl(i),o)}}if(e.unregisterProtocolHandler){var i=e.unregisterProtocolHandler;e.unregisterProtocolHandler=function(e,r){return i.call(this,e,t.rewriteUrl(r))}}},y.prototype.initMiscNavigatorOverrides=function(){this.$wbwindow.navigator.sendBeacon&&(this.$wbwindow.navigator.sendBeacon=function(){return!0}),Object.defineProperty(navigator,"onLine",{value:!0}),this.$wbwindow.navigator.mediaDevices&&(this.$wbwindow.navigator.mediaDevices.setCaptureHandleConfig=function(){}),this.$wbwindow.navigator.getInstalledRelatedApps&&(this.$wbwindow.navigator.getInstalledRelatedApps=function(){return Promise.resolve([])})},y.prototype.initPresentationRequestOverride=function(){if(this.$wbwindow.PresentationRequest&&this.$wbwindow.PresentationRequest.prototype){var t=this,e=this.$wbwindow.PresentationRequest;this.$wbwindow.PresentationRequest=(r=this.$wbwindow.PresentationRequest,function(e){t.domConstructorErrorChecker(this,"PresentationRequest",arguments);var i=e;if(null!=e)if(Array.isArray(i))for(var o=0;o<i.length;o++)i[o]=t.rewriteUrl(i[o],!0,"mp_");else i=t.rewriteUrl(e,!0,"mp_");return new r(i)}),this.$wbwindow.PresentationRequest.prototype=e.prototype,Object.defineProperty(this.$wbwindow.PresentationRequest.prototype,"constructor",{value:this.$wbwindow.PresentationRequest})}var r},y.prototype.initDisableNotificationsGeoLocation=function(){window.Notification&&(window.Notification.requestPermission=function(t){return t&&t("denied"),Promise.resolve("denied")});var t=function(t){t&&(t.getCurrentPosition&&(t.getCurrentPosition=function(t,e,r){e&&e({code:2,message:"not available"})}),t.watchPosition&&(t.watchPosition=function(t,e,r){e&&e({code:2,message:"not available"})}))};window.geolocation&&t(window.geolocation),window.navigator.geolocation&&t(window.navigator.geolocation)},y.prototype.initStorageOverride=function(){this.addEventOverride("storageArea",this.$wbwindow.StorageEvent.prototype),i.yes=!1;var t={};if(this.wb_info.storage)try{t=JSON.parse(this.wb_info.storage)}catch(t){console.warn("Error parsing storage, storages not loaded")}a(this,"localStorage",t.local),a(this,"sessionStorage",t.session),this.$wbwindow.Storage=s,i.yes=!0},y.prototype.initIndexedDBOverride=function(){if(this.$wbwindow.IDBFactory){var t=this.$wbwindow.IDBFactory.prototype,e="wb-"+this.wb_orig_origin+"-",r=t.open;t.open=function(t,i){return r.call(this,e+t,i)};var i=t.deleteDatabase;t.delete=function(t){return i.call(this,e+t,options)};var o=t.databases;t.databases=function(){var t=this;return new Promise((function(r,i){o.call(t).then((function(t){for(var i=[],o=0;o<t.length;o++)0===t[o].name.indexOf(e)&&i.push({name:t[o].name.substring(e.length),version:t[o].version});r(i)})).catch((function(t){i(t)}))}))}}},y.prototype.initCachesOverride=function(){if(this.$wbwindow.Cache){var t=this.$wbwindow.Cache.prototype;t.match=function(){return Promise.resolve(void 0)},t.matchAll=function(){return Promise.resolve([])},t.add=function(){return Promise.resolve(void 0)},t.put=function(){return Promise.resolve(void 0)},t.delete=function(){return Promise.resolve(!1)},t.keys=function(){return Promise.resolve([])}}},y.prototype.initCacheStorageOverride=function(){if(this.$wbwindow.CacheStorage){this.$wbwindow.chrome&&(this.$wbwindow.chrome={});var t=this.$wbwindow.CacheStorage.prototype,e="wb-"+this.wb_orig_origin+"-",r=t.open;t.open=function(t){return r.call(this,e+t)};var i=t.has;t.has=function(t){return i.call(this,e+t)};var o=t.delete;t.delete=function(t){return o.call(this,e+t)};var n=t.keys;t.keys=function(){var t=this;return new Promise((function(r,i){n.call(t).then((function(t){for(var i=[],o=0;o<t.length;o++)0===t[o].indexOf(e)&&i.push(t[o].substring(e.length));r(i)})).catch((function(t){i(t)}))}))};t.match;t.match=function(t,e){var r=this;return this.keys().then((function(i){var o;return i.reduce((function(i,n){return i.then((function(){return o||r.open(n).then((function(r){return r.match(t,e)})).then((function(t){return o=t}))}))}),Promise.resolve())}))}}},y.prototype.initWindowObjProxy=function(t){if(t.Proxy){var e=this.getAllOwnProps(t),r={},i=this,o=new t.Proxy({},{get:function(o,n){switch(n){case"top":return i.$wbwindow.WB_wombat_top._WB_wombat_obj_proxy;case"parent":if(i.$wbwindow===i.$wbwindow.WB_wombat_top)return i.$wbwindow.WB_wombat_top._WB_wombat_obj_proxy;try{var s=i.$wbwindow.parent._WB_wombat_obj_proxy;if(s)return s}catch(t){}return i.$wbwindow.WB_wombat_top._WB_wombat_obj_proxy}return i.defaultProxyGet(t,n,e,r)},set:function(e,r,i){switch(r){case"location":return t.WB_wombat_location=i,!0;case"postMessage":case"document":return!0}try{if(!Reflect.set(e,r,i))return!1}catch(t){}return Reflect.set(t,r,i)},has:function(e,r){return r in t},ownKeys:function(e){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))},getOwnPropertyDescriptor:function(e,r){var i=Object.getOwnPropertyDescriptor(e,r);return i||(i=Object.getOwnPropertyDescriptor(t,r))&&(i.configurable=!0),i},getPrototypeOf:function(e){return Object.getPrototypeOf(t)},setPrototypeOf:function(t,e){return!1},isExtensible:function(e){return Object.isExtensible(t)},preventExtensions:function(e){return Object.preventExtensions(t),!0},deleteProperty:function(e,r){var i=Object.getOwnPropertyDescriptor(t,r);return void 0===i||!1!==i.configurable&&(delete e[r],delete t[r],!0)},defineProperty:function(e,r,i){var o=i||{};return o.hasOwnProperty("value")||o.hasOwnProperty("get")||o.hasOwnProperty("set")||(o.value=t[r]),Reflect.defineProperty(t,r,o),Reflect.defineProperty(e,r,o)}});return t._WB_wombat_obj_proxy=o,o}},y.prototype.initDocumentObjProxy=function(t){if(this.initDocOverrides(t),this.$wbwindow.Proxy){var e={},r=this.getAllOwnProps(t),i=this,o=new this.$wbwindow.Proxy(t,{get:function(o,n){return i.defaultProxyGet(t,n,r,e)},set:function(e,r,i){return"location"===r?(t.WB_wombat_location=i,!0):Reflect.set(e,r,i)}});return t._WB_wombat_obj_proxy=o,o}},y.prototype.initAutoFetchWorker=function(){if(this.wbUseAFWorker){var t=new h(this,{isTop:this.$wbwindow===this.$wbwindow.__WB_replay_top,workerURL:(this.wb_info.auto_fetch_worker_prefix||this.wb_info.static_prefix)+"autoFetchWorker.js?init="+encodeURIComponent(JSON.stringify({mod:this.wb_info.mod,prefix:this.wb_abs_prefix,rwRe:this.wb_unrewrite_rx.source}))});this.WBAutoFetchWorker=t,this.$wbwindow.$WBAutoFetchWorker$=t;var e=this;this.utilFns.wbSheetMediaQChecker=function(){e._removeEventListener(this,"load",e.utilFns.wbSheetMediaQChecker),null!=this.sheet&&e.WBAutoFetchWorker&&e.WBAutoFetchWorker.deferredSheetExtraction(this.sheet)}}},y.prototype.initTopFrameNotify=function(t){var e=this,r=function(r){if(e.$wbwindow.__WB_top_frame){if(e.$wbwindow.WB_wombat_location){var i=e.$wbwindow.WB_wombat_location.href;if("string"==typeof i&&"about:blank"!==i&&0!==i.indexOf("javascript:")&&("complete"===e.$wbwindow.document.readyState&&e.wbUseAFWorker&&e.WBAutoFetchWorker&&e.WBAutoFetchWorker.extractFromLocalDoc(),e.$wbwindow===e.$wbwindow.__WB_replay_top)){for(var o=[],n=e.$wbwindow.document.querySelectorAll("link[rel*=\'icon\']"),s=0;s<n.length;s++){var a=n[s];o.push({rel:a.rel,href:e.wb_getAttribute.call(a,"href")})}o.push({rel:"icon",href:e.rewriteUrl("/favicon.ico")});var w={icons:o,url:e.$wbwindow.WB_wombat_location.href,ts:e.wb_info.timestamp,request_ts:e.wb_info.request_ts,is_live:e.wb_info.is_live,title:e.$wbwindow.document?e.$wbwindow.document.title:"",readyState:e.$wbwindow.document.readyState,wb_type:"load"};e.sendTopMessage(w)}}}else{var h=e.$wbwindow.location.hash;e.$wbwindow.location.replace(t.top_url+h)}};"complete"===this.$wbwindow.document.readyState?r():this.$wbwindow.addEventListener?this.$wbwindow.document.addEventListener("readystatechange",r):this.$wbwindow.attachEvent&&this.$wbwindow.document.attachEvent("onreadystatechange",r)},y.prototype.initTopFrame=function(t){if(this.wb_is_proxy)return t.__WB_replay_top=t.top,t.__WB_top_frame=void 0,this.replayTopHost=r.location.host,void(this.replayTopProtocol=r.location.protocol);for(var e=function(t){try{return!!t&&(t.wbinfo?t.wbinfo.is_framed:null!=t._wb_wombat)}catch(t){return!1}},r=t;r.parent!=r&&e(r.parent);)r=r.parent;t.__WB_replay_top=r,this.replayTopHost=r.location.host,this.replayTopProtocol=r.location.protocol;var i=r.parent;if(i!=t&&this.wb_info.is_framed||(i=void 0),i?(t.__WB_top_frame=i,this.initFrameElementOverride(t)):t.__WB_top_frame=void 0,!this.wb_opts.embedded&&r==t&&this.wbUseAFWorker){var o=this;this.$wbwindow.addEventListener("message",(function(t){t.data&&"aaworker"===t.data.wb_type&&o.WBAutoFetchWorker&&o.WBAutoFetchWorker.postMessage(t.data.msg)}),!1)}},y.prototype.initFrameElementOverride=function(t){if(Object.defineProperty&&this.proxyToObj(t.__WB_replay_top)==this.proxyToObj(t))try{Object.defineProperty(t,"frameElement",{value:null,configurable:!1})}catch(t){}},y.prototype.initWombatTop=function(t){if(Object.defineProperty){this.defProp(t.Object.prototype,"WB_wombat_top",(function(t){this.top=t}),(function(){return this.__WB_replay_top?this.__WB_replay_top:(t=this,(void 0===window.constructor?t instanceof window.constructor:t.window==t)?this:this.top);var t}))}},y.prototype.initEvalOverride=function(){var t=this.rewriteEvalArg,e=function(){};this.wrappedEval=function(e){return function(r){return t(e,r)}};var r=this,i=function(e){var r=this;return r&&r.eval&&r.eval!==eval?{eval:function(){return r.eval.__WB_orig_apply(r,arguments)}}:{eval:function(r){return t(e,r)}}},o=function(e){var i=this;return i&&i.eval&&i.eval!==eval?{eval:function(){return i.eval.__WB_orig_apply(i,[].slice.call(arguments,2))}}:{eval:function(i,o,n){var s=i===r.proxyToObj(r.$wbwindow);try{s=s&&!o.callee.caller}catch(t){s=!1}return t(e,n,s)}}};this.defProp(this.$wbwindow.Object.prototype,"WB_wombat_runEval",e,(function(){return i})),this.defProp(this.$wbwindow.Object.prototype,"WB_wombat_runEval2",e,(function(){return o}))},y.prototype.wombatInit=function(){this._internalInit(),this.initCookiePreset(),this.initHistoryOverrides(),this.overrideFunctionApply(this.$wbwindow),this.overrideFunctionCall(this.$wbwindow),this.overrideFunctionBind(this.$wbwindow),this.initDocTitleOverride(),this.initHashChange(),this.wb_opts.skip_postmessage||(this.initPostMessageOverride(this.$wbwindow),this.initMessageEventOverride(this.$wbwindow)),this.initCheckThisFunc(this.$wbwindow),this.initImportWrapperFunc(this.$wbwindow),this.overrideGetOwnPropertyNames(this.$wbwindow),this.initUIEventsOverrides(),this.initDocWriteOpenCloseOverride(),this.initEvalOverride(),this.initHTTPOverrides(),this.initAudioOverride(),this.initFontFaceOverride(this.$wbwindow),this.initWorkerOverrides(),this.initTextNodeOverrides(),this.initCSSOMOverrides(),this.overrideHtmlAssign(this.$wbwindow.Element,"innerHTML",!0),this.overrideHtmlAssign(this.$wbwindow.Element,"outerHTML",!0),this.overrideHtmlAssignSrcDoc(this.$wbwindow.HTMLIFrameElement,"srcdoc",!0),this.overrideHtmlAssign(this.$wbwindow.HTMLStyleElement,"textContent"),this.overrideShadowDom(),this.overridePropExtract(this.$wbwindow.Document.prototype,"URL"),this.overridePropExtract(this.$wbwindow.Document.prototype,"documentURI"),this.overridePropExtract(this.$wbwindow.Node.prototype,"baseURI"),this.overrideAttrProps(),this.overrideDataSet(),this.initInsertAdjacentElementHTMLOverrides(),this.overrideIframeContentAccess("contentWindow"),this.overrideIframeContentAccess("contentDocument"),this.initIntersectionObsOverride(),this.overrideFuncArgProxyToObj(this.$wbwindow.MutationObserver,"observe"),this.overrideFuncArgProxyToObj(this.$wbwindow.Node,"compareDocumentPosition"),this.overrideFuncArgProxyToObj(this.$wbwindow.Node,"contains"),this.overrideFuncArgProxyToObj(this.$wbwindow.Document,"createTreeWalker"),this.overrideFuncArgProxyToObj(this.$wbwindow.Document,"evaluate",1),this.overrideFuncArgProxyToObj(this.$wbwindow.XSLTProcessor,"transformToFragment",1),this.overrideFuncThisProxyToObj(this.$wbwindow,"getComputedStyle",this.$wbwindow),this.overrideFuncThisProxyToObj(this.$wbwindow,"clearTimeout"),this.overrideFuncThisProxyToObj(this.$wbwindow,"clearInterval"),this.overrideFuncThisProxyToObj(this.$wbwindow.EventTarget.prototype,"dispatchEvent"),this.overrideDeProxyPropAssign(this.$wbwindow.TreeWalker.prototype,"currentNode"),this.initTimeoutIntervalOverrides(),this.initQuerySelectorOverride(),this.overrideSWAccess(this.$wbwindow),this.initElementGetSetAttributeOverride(),this.initSvgImageOverrides(),this.initAttrOverrides(),this.initCookiesOverride(),this.initCreateElementNSFix(),this.wb_opts.skip_dom||this.initDomOverride(),this.initRegisterUnRegPHOverride(),this.initPresentationRequestOverride(),this.initMiscNavigatorOverrides(),this.initSeededRandom(this.wb_info.wombat_sec),this.initCryptoRandom(),this.initFixedRatio(this.wb_info.pixel_ratio||1),this.initDateOverride(this.wb_info.wombat_sec),this.initBlobOverride(),this.initWSOverride(),this.initOpenOverride(),this.initDisableNotificationsGeoLocation(),this.initStorageOverride(),this.initCacheStorageOverride(),this.initCachesOverride(),this.initIndexedDBOverride(),this.initWindowObjProxy(this.$wbwindow),this.initDocumentObjProxy(this.$wbwindow.document);var t=this;return{extract_orig:this.extractOriginalURL,rewrite_url:this.rewriteUrl,watch_elem:this.watchElem,init_new_window_wombat:this.initNewWindowWombat,init_paths:this.initPaths,local_init:function(e){var r=t.$wbwindow._WB_wombat_obj_proxy[e];return"document"===e&&r&&!r._WB_wombat_obj_proxy&&t.initDocumentObjProxy(r)||r},showCSPViolations:function(e){t._addRemoveCSPViolationListener(e)}}};const v=y;window._WBWombat=v,window._WBWombatInit=function(t){if(this._wb_wombat)this._wb_wombat.init_paths(t);else{var e=new v(this,t);this._wb_wombat=e.wombatInit()}}})();'}),this.staticData.set(this.staticPrefix+"wombatWorkers.js",{type:"application/javascript",content:'(()=>{function e(t){if(!(this instanceof e))return new e(t);this.info=t,this.initImportScriptsRewrite(),this.initHTTPOverrides(),this.initClientApisOverride(),this.initCacheApisOverride()}e.prototype.noRewrite=function(e){return!e||0===e.indexOf("blob:")||0===e.indexOf("javascript:")||0===e.indexOf("data:")||0===e.indexOf(this.info.prefix)},e.prototype.isRelURL=function(e){return 0===e.indexOf("/")||!e.startsWith("http:")&&!e.startsWith("https:")},e.prototype.maybeResolveURL=function(e,t){if(!t)return e;try{return new URL(e,t).href}catch(e){}return e},e.prototype.ensureURL=function(e,t){if(!e)return e;var r;switch(typeof e){case"string":r=e;break;case"object":r=e.toString();break;default:return null}return this.noRewrite(r)?null:this.isRelURL(r)?this.maybeResolveURL(r,t):0===r.indexOf(self.location.origin)?this.maybeResolveURL(r.slice(self.location.origin.length),t):r},e.prototype.rewriteURL=function(e){var t=this.ensureURL(e,this.info.originalURL);return t?this.info.prefixMod?this.info.prefixMod+t:t:e},e.prototype.rewriteClientWindowURL=function(e,t){var r=this.ensureURL(e,t?t.url:this.info.originalURL);return r?this.info.prefix?this.info.prefix+"mp_/"+r:r:e},e.prototype.rewriteWSURL=function(e){if(!e)return e;var t=typeof e,r=e;if("object"===t)r=e.toString();else if("string"!==t)return e;if(!r)return r;var i="https://",o=0===this.info.prefix.indexOf(i);return this.info.prefix.replace(o?i:"http://",o?"wss://":"ws://")+"ws_/"+r},e.prototype.rewriteArgs=function(e){for(var t=new Array(e.length),r=0;r<t.length;r++)t[r]=this.rewriteURL(e[r]);return t},e.prototype.rewriteFetchApi=function(e){var t=e;switch(typeof e){case"string":t=this.rewriteURL(e);break;case"object":if(e.url){var r=this.rewriteURL(e.url);r!==e.url&&(t=new Request(r,e))}else e.href&&(t=e.href)}return t},e.prototype.rewriteCacheApi=function(e){var t=e;return"string"==typeof e&&(t=this.rewriteURL(e)),t},e.prototype.initImportScriptsRewrite=function(){if(self.importScripts){var e=this,t=self.importScripts;self.importScripts=function(){var r=e.rewriteArgs(arguments);return t.apply(this,r)}}},e.prototype.initHTTPOverrides=function(){var e,t,r,i=this;if(self.XMLHttpRequest&&self.XMLHttpRequest.prototype&&self.XMLHttpRequest.prototype.open){var o=self.XMLHttpRequest.prototype.open;self.XMLHttpRequest.prototype.open=function(e,t,r,n,s){var p=i.rewriteURL(t),l=!0;null==r||r||(l=!1),o.call(this,e,p,l,n,s),-1===p.indexOf("data:")&&this.setRequestHeader("X-Pywb-Requested-With","XMLHttpRequest")}}if(null!=self.fetch){var n=self.fetch;self.fetch=function(e,t){var r=i.rewriteFetchApi(e),o=t||{};return o.credentials="include",n.call(this,r,o)}}if(self.Request&&self.Request.prototype){var s=self.Request;self.Request=(e=self.Request,function(t,r){var o=r||{},n=i.rewriteFetchApi(t);return o.credentials="include",new e(n,o)}),self.Request.prototype=s.prototype}if(self.Response&&self.Response.prototype){var p=self.Response.prototype.redirect;self.Response.prototype.redirect=function(e,t){var r=i.rewriteUrl(e);return p.call(this,r,t)}}if(self.EventSource&&self.EventSource.prototype){var l=self.EventSource;self.EventSource=(t=self.EventSource,function(e,r){var o=e;return null!=e&&(o=i.rewriteUrl(e)),new t(o,r)}),self.EventSource.prototype=l.prototype,Object.defineProperty(self.EventSource.prototype,"constructor",{value:self.EventSource})}if(self.WebSocket&&self.WebSocket.prototype){var f=self.WebSocket;self.WebSocket=(r=self.WebSocket,function(e,t){var o=e;return null!=e&&(o=i.rewriteWSURL(e)),new r(o,t)}),self.WebSocket.prototype=f.prototype,Object.defineProperty(self.WebSocket.prototype,"constructor",{value:self.WebSocket})}},e.prototype.initClientApisOverride=function(){var e=this;if(self.Clients&&self.Clients.prototype&&self.Clients.prototype.openWindow){var t=self.Clients.prototype.openWindow;self.Clients.prototype.openWindow=function(r){var i=e.rewriteClientWindowURL(r);return t.call(this,i)}}if(self.WindowClient&&self.WindowClient.prototype&&self.WindowClient.prototype.navigate){var r=self.WindowClient.prototype.navigate;self.WindowClient.prototype.navigate=function(t){var i=e.rewriteClientWindowURL(t,this);return r.call(this,i)}}},e.prototype.initCacheApisOverride=function(){var e=this;if(self.CacheStorage&&self.CacheStorage.prototype&&self.CacheStorage.prototype.match){var t=self.CacheStorage.prototype.match;self.CacheStorage.prototype.match=function(r,i){var o=e.rewriteCacheApi(r);return t.call(this,o,i)}}if(self.Cache&&self.Cache.prototype){if(self.Cache.prototype.match){var r=self.Cache.prototype.match;self.Cache.prototype.match=function(t,i){var o=e.rewriteCacheApi(t);return r.call(this,o,i)}}if(self.Cache.prototype.matchAll){var i=self.Cache.prototype.matchAll;self.Cache.prototype.matchAll=function(t,r){var o=e.rewriteCacheApi(t);return i.call(this,o,r)}}if(self.Cache.prototype.add){var o=self.Cache.prototype.add;self.Cache.prototype.add=function(t,r){var i=e.rewriteCacheApi(t);return o.call(this,i,r)}}if(self.Cache.prototype.addAll){var n=self.Cache.prototype.addAll;self.Cache.prototype.addAll=function(t){var r=t;if(Array.isArray(t)){r=new Array(t.length);for(var i=0;i<t.length;i++)r[i]=e.rewriteCacheApi(t[i])}return n.call(this,r)}}if(self.Cache.prototype.put){var s=self.Cache.prototype.put;self.Cache.prototype.put=function(t,r){var i=e.rewriteCacheApi(t);return s.call(this,i,r)}}if(self.Cache.prototype.delete){var p=self.Cache.prototype.delete;self.Cache.prototype.delete=function(t,r){var i=e.rewriteCacheApi(t);return p.call(this,i,r)}}if(self.Cache.prototype.keys){var l=self.Cache.prototype.keys;self.Cache.prototype.keys=function(t,r){var i=e.rewriteCacheApi(t);return l.call(this,i,r)}}}},self.WBWombat=e})();'}),n.has("serveIndex")){const t={type:"text/html",content:this.getIndexHtml(n)};this.staticData.set(this.prefix,t),this.staticData.set(this.prefix+"index.html",t)}if(n.has("injectScripts")){const t=n.get("injectScripts").split(",");r.injectScripts=r.injectScripts?[...t,...r.injectScripts]:t}r.injectScripts&&(r.injectScripts=r.injectScripts.map((t=>this.staticPrefix+"proxy/"+t))),n.has("adblockUrl")&&(r.adblockUrl=n.get("adblockUrl")),this.collections=new i(o,n.get("root"),r),this.collections.loadAll(n.get("dbColl")),this.proxyOriginMode=!!n.get("proxyOriginMode"),this.api=new e(this.collections),this.apiPrefix=this.replayPrefix+"api/",this.allowRewrittenCache=!!n.get("allowCache"),this.stats=n.get("stats")?new fb:null,self.addEventListener("install",(()=>{self.skipWaiting()})),self.addEventListener("activate",(t=>{t.waitUntil(self.clients.claim()),console.log("Activate!")})),self.addEventListener("fetch",(t=>{t.respondWith(this.handleFetch(t))})),self.addEventListener("message",(t=>{"reload_all"===t.data.msg_type&&t.waitUntil(this.collections.loadAll())}))}getIndexHtml(t){const e=t.get("indexScript")||"./ui.js",r=t.get("indexAppTag")||"replay-app-main";return`\n <!doctype html>\n <html>\n <head><script src="${e}"><\/script></head>\n <body>\n <${r}></${r}>\n </body></html>`}handleFetch(t){const e=t.request.url;if(this.proxyOriginMode)return this.getResponseFor(t.request,t);if(!e.startsWith(this.prefix))return"chrome-extension://invalid/"===e?_(t.request,"Invalid URL"):this.defaultFetch(t.request);if(this.collections.root&&e.slice(this.prefix.length).indexOf("/")<0)return this.defaultFetch(t.request);if(e.startsWith(this.staticPrefix+"proxy/"))return this.staticPathProxy(e,t.request);if(e.startsWith(this.replayPrefix)&&!e.startsWith(this.staticPrefix))return this.getResponseFor(t.request,t);const r=new URL(e);r.search="",r.hash="";const i=r.href;for(const t of this.staticData.keys())if(t===i){const{content:e,type:r}=this.staticData.get(t);return new Response(e,{headers:{"Content-Type":r}})}return("http:"==r.protocol||"https:"==r.protocol)&&r.pathname.indexOf("/",1)<0?this.handleOffline(t.request):this.defaultFetch(t.request)}async staticPathProxy(t,e){return t=t.slice((this.staticPrefix+"proxy/").length),t=new URL(t,self.location.href).href,e=new Request(t),this.defaultFetch(e)}async defaultFetch(t){const e={};return"only-if-cached"===t.cache&&"same-origin"!==t.mode&&(e.cache="default"),self.fetch(t,e)}async ensureCached(t){const e=await caches.open("wabac-offline");for(let r of t){r=new URL(r,self.location.href).href;let i=await e.match(r,{ignoreSearch:!0});if(!i)try{i=await this.defaultFetch(new Request(r)),await e.put(r,i)}catch(t){console.warn(`Failed to Auto Cache: ${r}`,t)}}}async handleOffline(t){let e=null;const r=await caches.open("wabac-offline");try{e=await this.defaultFetch(t)}catch(i){return e=await r.match(t,{ignoreSearch:!0}),e||(e=_(t,"Sorry, this url was not cached for offline use")),e}if(t.url.startsWith(this.prefix+"?"))return e;if(200===e.status){const i=e.clone();await r.put(t,i)}else console.warn(`Not Cacheing ${t.url} - Status ${e.status}`);return e}async getResponseFor(t,e){if(!this.proxyOriginMode&&t.url.startsWith(this.apiPrefix))return this.stats&&t.url.startsWith(this.apiPrefix+"stats.json")?await this.stats.getStats(e):await this.api.apiResponse(t.url.slice(this.apiPrefix.length),t,e);await this.collections.inited;const r=A(t),i=t.headers.get("range");try{if(this.allowRewrittenCache&&!i){const e=await self.caches.match(t);if(e&&!!e.headers.get(Db)===r)return e}}catch(t){}let n=this.collections.root;n||(n=t.url.slice(this.replayPrefix.length).split("/",1)[0]);const s=await this.collections.getColl(n);if(!s||!this.proxyOriginMode&&!t.url.startsWith(s.prefix))return _(t);const o=this.proxyOriginMode?t.url:t.url.substring(s.prefix.length),a={isRoot:!!this.collections.root};this.proxyOriginMode&&(a.mod="id_",a.proxyOrigin=s.config.extraConfig.proxyOrigin,a.localOrigin=self.location.origin);const c=new Pb(o,t,a);if(!c.url)return _(t,`Replay URL ${o} not found`);const l=await s.handleRequest(c,e);if(l){if(this.stats&&this.stats.updateStats(l,l.status,t,e),this.allowRewrittenCache&&200===l.status)try{const e=await self.caches.open("wabac-"+s.name);r&&l.headers.set(Db,"true");const i=l.clone();await e.put(t,i)}catch(t){console.warn(t)}return l}return i&&console.log("Not Found Range!: "+i),_(t)}},console.log("sw init")):self.postMessage&&(new pb(self),console.log("ww init"))})();
119
+ const cm="crypto.algorithm",lm="crypto.algorithmProvider";var hm;sy.registerSingleton(lm,class{getAlgorithms(){return sy.resolveAll(cm)}toAsnAlgorithm(t){for(const e of this.getAlgorithms()){const r=e.toAsnAlgorithm(t);if(r)return r}if(/[0-9.]+/.test(t.name)){const e=new rd({algorithm:t.name});if("parameters"in t){const r=t;e.parameters=r.parameters}return e}throw new Error("Cannot convert WebCrypto algorithm to ASN.1 algorithm")}toWebAlgorithm(t){for(const e of this.getAlgorithms()){const r=e.toWebAlgorithm(t);if(r)return r}return{name:t.algorithm,parameters:t.parameters}}});const um="1.3.36.3.3.2.8.1.1",pm=`${um}.1`,dm=`${um}.2`,fm=`${um}.3`,gm=`${um}.4`,ym=`${um}.5`,mm=`${um}.6`,wm=`${um}.7`,bm=`${um}.8`,Am=`${um}.9`,vm=`${um}.10`,_m=`${um}.11`,Em=`${um}.12`,Sm=`${um}.13`,Tm=`${um}.14`,xm="brainpoolP160r1",Cm="brainpoolP160t1",Im="brainpoolP192r1",Rm="brainpoolP192t1",km="brainpoolP224r1",Nm="brainpoolP224t1",Om="brainpoolP256r1",Bm="brainpoolP256t1",Pm="brainpoolP320r1",Dm="brainpoolP320t1",Lm="brainpoolP384r1",Um="brainpoolP384t1",Mm="brainpoolP512r1",Fm="brainpoolP512t1",Hm="ECDSA";let jm=hm=class{toAsnAlgorithm(t){if(t.name.toLowerCase()===Hm.toLowerCase())if("hash"in t)switch(("string"==typeof t.hash?t.hash:t.hash.name).toLowerCase()){case"sha-1":return Xf;case"sha-256":return Zf;case"sha-384":return $f;case"sha-512":return tg}else if("namedCurve"in t){let e="";switch(t.namedCurve){case"P-256":e=Qf;break;case"K-256":e=hm.SECP256K1;break;case"P-384":e=Kf;break;case"P-521":e=Yf;break;case xm:e=pm;break;case Cm:e=dm;break;case Im:e=fm;break;case Rm:e=gm;break;case km:e=ym;break;case Nm:e=mm;break;case Om:e=wm;break;case Bm:e=bm;break;case Pm:e=Am;break;case Dm:e=vm;break;case Lm:e=_m;break;case Um:e=Em;break;case Mm:e=Sm;break;case Fm:e=Tm}if(e)return new rd({algorithm:jf,parameters:Au.serialize(new eg({namedCurve:e}))})}return null}toWebAlgorithm(t){switch(t.algorithm){case Wf:return{name:Hm,hash:{name:"SHA-1"}};case zf:return{name:Hm,hash:{name:"SHA-256"}};case Gf:return{name:Hm,hash:{name:"SHA-384"}};case qf:return{name:Hm,hash:{name:"SHA-512"}};case jf:if(!t.parameters)throw new TypeError("Cannot get required parameters from EC algorithm");switch(Au.parse(t.parameters,eg).namedCurve){case Qf:return{name:Hm,namedCurve:"P-256"};case hm.SECP256K1:return{name:Hm,namedCurve:"K-256"};case Kf:return{name:Hm,namedCurve:"P-384"};case Yf:return{name:Hm,namedCurve:"P-521"};case pm:return{name:Hm,namedCurve:xm};case dm:return{name:Hm,namedCurve:Cm};case fm:return{name:Hm,namedCurve:Im};case gm:return{name:Hm,namedCurve:Rm};case ym:return{name:Hm,namedCurve:km};case mm:return{name:Hm,namedCurve:Nm};case wm:return{name:Hm,namedCurve:Om};case bm:return{name:Hm,namedCurve:Bm};case Am:return{name:Hm,namedCurve:Pm};case vm:return{name:Hm,namedCurve:Dm};case _m:return{name:Hm,namedCurve:Lm};case Em:return{name:Hm,namedCurve:Um};case Sm:return{name:Hm,namedCurve:Mm};case Tm:return{name:Hm,namedCurve:Fm}}}return null}};jm.SECP256K1="1.3.132.0.10",jm=hm=Lg([oy()],jm),sy.registerSingleton(cm,jm);const Wm=Symbol("name"),Vm=Symbol("value");class zm{constructor(t,e={},r=""){this[Wm]=t,this[Vm]=r;for(const t in e)this[t]=e[t]}}zm.NAME=Wm,zm.VALUE=Vm;class Gm{static toString(t){return this.items[t]||t}}Gm.items={[wg]:"sha1",[bg]:"sha224",[Ag]:"sha256",[vg]:"sha384",[_g]:"sha512",[sg]:"rsaEncryption",[ug]:"sha1WithRSAEncryption",[pg]:"sha224WithRSAEncryption",[dg]:"sha256WithRSAEncryption",[fg]:"sha384WithRSAEncryption",[gg]:"sha512WithRSAEncryption",[jf]:"ecPublicKey",[Wf]:"ecdsaWithSHA1",[Vf]:"ecdsaWithSHA224",[zf]:"ecdsaWithSHA256",[Gf]:"ecdsaWithSHA384",[qf]:"ecdsaWithSHA512",[vp]:"TLS WWW server authentication",[_p]:"TLS WWW client authentication",[Ep]:"Code Signing",[Sp]:"E-mail Protection",[Tp]:"Time Stamping",[xp]:"OCSP Signing","1.2.840.113549.1.7.2":"Signed Data"};class qm{static serialize(t){return this.serializeObj(t).join("\n")}static pad(t=0){return"".padStart(2*t," ")}static serializeObj(t,e=0){const r=[];let i=this.pad(e++),n="";const s=t[zm.VALUE];s&&(n=` ${s}`),r.push(`${i}${t[zm.NAME]}:${n}`),i=this.pad(e);for(const n in t){if("symbol"==typeof n)continue;const s=t[n],o=n?`${n}: `:"";if("string"==typeof s||"number"==typeof s||"boolean"==typeof s)r.push(`${i}${o}${s}`);else if(s instanceof Date)r.push(`${i}${o}${s.toUTCString()}`);else if(Array.isArray(s))for(const t of s)t[zm.NAME]=n,r.push(...this.serializeObj(t,e));else if(s instanceof zm)s[zm.NAME]=n,r.push(...this.serializeObj(s,e));else if(vc.vJ.isBufferSource(s))n?(r.push(`${i}${o}`),r.push(...this.serializeBufferSource(s,e+1))):r.push(...this.serializeBufferSource(s,e));else{if(!("toTextObject"in s))throw new TypeError("Cannot serialize data in text format. Unsupported type.");{const t=s.toTextObject();t[zm.NAME]=n,r.push(...this.serializeObj(t,e))}}}return r}static serializeBufferSource(t,e=0){const r=this.pad(e),i=vc.vJ.toUint8Array(t),n=[];for(let t=0;t<i.length;){const e=[];for(let r=0;r<16&&t<i.length;r++){8===r&&e.push("");const n=i[t++].toString(16).padStart(2,"0");e.push(n)}n.push(`${r}${e.join(" ")}`)}return n}static serializeAlgorithm(t){return this.algorithmSerializer.toTextObject(t)}}qm.oidSerializer=Gm,qm.algorithmSerializer=class{static toTextObject(t){const e=new zm("Algorithm Identifier",{},Gm.toString(t.algorithm));if(t.parameters)switch(t.algorithm){case jf:{const r=(new jm).toWebAlgorithm(t);r&&"namedCurve"in r?e["Named Curve"]=r.namedCurve:e.Parameters=t.parameters;break}default:e.Parameters=t.parameters}return e}};class Qm{constructor(...t){if(1===t.length){const e=t[0];this.rawData=Au.serialize(e),this.onInit(e)}else{const e=Au.parse(t[0],t[1]);this.rawData=vc.vJ.toArrayBuffer(t[0]),this.onInit(e)}}equal(t){return t instanceof Qm&&(0,vc.Xy)(t.rawData,this.rawData)}toString(t="text"){switch(t){case"asn":return Au.toString(this.rawData);case"text":return qm.serialize(this.toTextObject());case"hex":return vc.ep.ToHex(this.rawData);case"base64":return vc.ep.ToBase64(this.rawData);case"base64url":return vc.ep.ToBase64Url(this.rawData);default:throw TypeError("Argument 'format' is unsupported value")}}getTextName(){return this.constructor.NAME}toTextObject(){const t=this.toTextObjectEmpty();return t[""]=this.rawData,t}toTextObjectEmpty(t){return new zm(this.getTextName(),{},t)}}Qm.NAME="ASN";class Km extends Qm{constructor(...t){let e;e=vc.vJ.isBufferSource(t[0])?vc.vJ.toArrayBuffer(t[0]):Au.serialize(new ad({extnID:t[0],critical:t[1],extnValue:new Mh(vc.vJ.toArrayBuffer(t[2]))})),super(e,ad)}onInit(t){this.type=t.extnID,this.critical=t.critical,this.value=t.extnValue.buffer}toTextObject(){const t=this.toTextObjectWithoutValue();return t[""]=this.value,t}toTextObjectWithoutValue(){const t=this.toTextObjectEmpty(this.critical?"critical":void 0);return t[zm.NAME]===Km.NAME&&(t[zm.NAME]=Gm.toString(this.type)),t}}var Ym;class Jm{constructor(){this.items=new Map,this[Ym]="CryptoProvider","undefined"!=typeof self&&"undefined"!=typeof crypto&&this.set(Jm.DEFAULT,crypto)}static isCryptoKeyPair(t){return t&&t.privateKey&&t.publicKey}static isCryptoKey(t){return t&&t.usages&&t.type&&t.algorithm&&void 0!==t.extractable}clear(){this.items.clear()}delete(t){return this.items.delete(t)}forEach(t,e){return this.items.forEach(t,e)}has(t){return this.items.has(t)}get size(){return this.items.size}entries(){return this.items.entries()}keys(){return this.items.keys()}values(){return this.items.values()}[Symbol.iterator](){return this.items[Symbol.iterator]()}get(t=Jm.DEFAULT){const e=this.items.get(t.toLowerCase());if(!e)throw new Error(`Cannot get Crypto by name '${t}'`);return e}set(t,e){if("string"==typeof t){if(!e)throw new TypeError("Argument 'value' is required");this.items.set(t.toLowerCase(),e)}else this.items.set(Jm.DEFAULT,t);return this}}Ym=Symbol.toStringTag,Jm.DEFAULT="default";const Xm=new Jm,Zm=/^[0-2](?:\.[1-9][0-9]*)+$/;class $m{constructor(t={}){this.items={};for(const e in t)this.register(e,t[e])}get(t){return this.items[t]||null}findId(t){return e=t,new RegExp(Zm).test(e)?t:this.get(t);var e}register(t,e){this.items[t]=e,this.items[e]=t}}const tw=new $m;function ew(t,e){return`\\${vc.ep.ToHex(vc.ep.FromUtf8String(e)).toUpperCase()}`}tw.register("CN","2.5.4.3"),tw.register("L","2.5.4.7"),tw.register("ST","2.5.4.8"),tw.register("O","2.5.4.10"),tw.register("OU","2.5.4.11"),tw.register("C","2.5.4.6"),tw.register("DC","0.9.2342.19200300.100.1.25"),tw.register("E","1.2.840.113549.1.9.1"),tw.register("G","2.5.4.42"),tw.register("I","2.5.4.43"),tw.register("SN","2.5.4.4"),tw.register("T","2.5.4.12");class rw{constructor(t,e={}){this.extraNames=new $m,this.asn=new Ou;for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)){const r=e[t];this.extraNames.register(t,r)}"string"==typeof t?this.asn=this.fromString(t):t instanceof Ou?this.asn=t:vc.vJ.isBufferSource(t)?this.asn=Au.parse(t,Ou):this.asn=this.fromJSON(t)}static isASCII(t){for(let e=0;e<t.length;e++)if(t.charCodeAt(e)>255)return!1;return!0}getField(t){const e=this.extraNames.findId(t)||tw.findId(t),r=[];for(const t of this.asn)for(const i of t)i.type===e&&r.push(i.value.toString());return r}getName(t){return this.extraNames.get(t)||tw.get(t)}toString(){return this.asn.map((t=>t.map((t=>`${this.getName(t.type)||t.type}=${t.value.anyValue?`#${vc.ep.ToHex(t.value.anyValue)}`:function(t){return t.replace(/([,+"\\<>;])/g,"\\$1").replace(/^([ #])/,"\\$1").replace(/([ ]$)/,"\\$1").replace(/([\r\n\t])/,ew)}(t.value.toString())}`)).join("+"))).join(", ")}toJSON(){var t;const e=[];for(const r of this.asn){const i={};for(const e of r){const r=this.getName(e.type)||e.type;null!==(t=i[r])&&void 0!==t||(i[r]=[]),i[r].push(e.value.anyValue?`#${vc.ep.ToHex(e.value.anyValue)}`:e.value.toString())}e.push(i)}return e}fromString(t){const e=new Ou,r=/(\d\.[\d.]*\d|[A-Za-z]+)=((?:"")|(?:".*?[^\\]")|(?:[^,+].*?(?:[^\\][,+]))|(?:))([,+])?/g;let i=null,n=",";for(;i=r.exec(`${t},`);){let[,t,r]=i;const s=r[r.length-1];","!==s&&"+"!==s||(r=r.slice(0,r.length-1),i[3]=s);const o=i[3];if(/[\d.]+/.test(t)||(t=this.getName(t)||""),!t)throw new Error(`Cannot get OID for name type '${t}'`);const a=new Ru({type:t});if("#"===r.charAt(0))a.value.anyValue=vc.ep.FromHex(r.slice(1));else{const e=/"(.*?[^\\])?"/.exec(r);e&&(r=e[1]),r=r.replace(/\\0a/gi,"\n").replace(/\\0d/gi,"\r").replace(/\\0g/gi,"\t").replace(/\\(.)/g,"$1"),t===this.getName("E")||t===this.getName("DC")?a.value.ia5String=r:rw.isASCII(r)?a.value.printableString=r:a.value.utf8String=r}"+"===n?e[e.length-1].push(a):e.push(new ku([a])),n=o}return e}fromJSON(t){const e=new Ou;for(const r of t){const t=new ku;for(const e in r){let i=e;if(/[\d.]+/.test(e)||(i=this.getName(e)||""),!i)throw new Error(`Cannot get OID for name type '${e}'`);const n=r[e];for(const e of n){const r=new Ru({type:i});if("object"==typeof e)for(const t in e)switch(t){case"ia5String":r.value.ia5String=e[t];break;case"utf8String":r.value.utf8String=e[t];break;case"universalString":r.value.universalString=e[t];break;case"bmpString":r.value.bmpString=e[t];break;case"printableString":r.value.printableString=e[t]}else"#"===e[0]?r.value.anyValue=vc.ep.FromHex(e.slice(1)):i===this.getName("E")||i===this.getName("DC")?r.value.ia5String=e:r.value.printableString=e;t.push(r)}}e.push(t)}return e}toArrayBuffer(){return Au.serialize(this.asn)}async getThumbprint(...t){var e;let r,i="SHA-1";return t.length>=1&&!(null===(e=t[0])||void 0===e?void 0:e.subtle)?(i=t[0]||i,r=t[1]||Xm.get()):r=t[0]||Xm.get(),await r.subtle.digest(i,this.toArrayBuffer())}}const iw="Cannot initialize GeneralName from ASN.1 data.",nw=`${iw} Unsupported string format in use.`,sw=`${iw} Value doesn't match to GUID regular expression.`,ow=/^([0-9a-f]{8})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{12})$/i,aw="1.3.6.1.4.1.311.25.1",cw="1.3.6.1.4.1.311.20.2.3",lw="dns",hw="dn",uw="email",pw="ip",dw="url",fw="guid",gw="upn",yw="id";class mw extends Qm{constructor(...t){let e;if(2===t.length)switch(t[0]){case hw:{const r=new rw(t[1]).toArrayBuffer(),i=Au.parse(r,Ou);e=new Lu({directoryName:i});break}case lw:e=new Lu({dNSName:t[1]});break;case uw:e=new Lu({rfc822Name:t[1]});break;case fw:{const r=new RegExp(ow,"i").exec(t[1]);if(!r)throw new Error("Cannot parse GUID value. Value doesn't match to regular expression");const i=r.slice(1).map(((t,e)=>e<3?vc.ep.ToHex(new Uint8Array(vc.ep.FromHex(t)).reverse()):t)).join("");e=new Lu({otherName:new Pu({typeId:aw,value:Au.serialize(new Mh(vc.ep.FromHex(i)))})});break}case pw:e=new Lu({iPAddress:t[1]});break;case yw:e=new Lu({registeredID:t[1]});break;case gw:e=new Lu({otherName:new Pu({typeId:cw,value:Au.serialize(Yh.toASN(t[1]))})});break;case dw:e=new Lu({uniformResourceIdentifier:t[1]});break;default:throw new Error("Cannot create GeneralName. Unsupported type of the name")}else e=vc.vJ.isBufferSource(t[0])?Au.parse(t[0],Lu):t[0];super(e)}onInit(t){if(null!=t.dNSName)this.type=lw,this.value=t.dNSName;else if(null!=t.rfc822Name)this.type=uw,this.value=t.rfc822Name;else if(null!=t.iPAddress)this.type=pw,this.value=t.iPAddress;else if(null!=t.uniformResourceIdentifier)this.type=dw,this.value=t.uniformResourceIdentifier;else if(null!=t.registeredID)this.type=yw,this.value=t.registeredID;else if(null!=t.directoryName)this.type=hw,this.value=new rw(t.directoryName).toString();else{if(null==t.otherName)throw new Error(nw);if(t.otherName.typeId===aw){this.type=fw;const e=Au.parse(t.otherName.value,Mh),r=new RegExp(ow,"i").exec(vc.ep.ToHex(e));if(!r)throw new Error(sw);this.value=r.slice(1).map(((t,e)=>e<3?vc.ep.ToHex(new Uint8Array(vc.ep.FromHex(t)).reverse()):t)).join("-")}else{if(t.otherName.typeId!==cw)throw new Error(nw);this.type=gw,this.value=Au.parse(t.otherName.value,Cu).toString()}}}toJSON(){return{type:this.type,value:this.value}}toTextObject(){let t;switch(this.type){case hw:case lw:case fw:case pw:case yw:case gw:case dw:t=this.type.toUpperCase();break;case uw:t="Email";break;default:throw new Error("Unsupported GeneralName type")}let e=this.value;return this.type===yw&&(e=Gm.toString(e)),new zm(t,void 0,e)}}class ww extends Qm{constructor(t){let e;if(t instanceof Qu)e=t;else if(Array.isArray(t)){const r=[];for(const e of t)if(e instanceof Lu)r.push(e);else{const t=Au.parse(new mw(e.type,e.value).rawData,Lu);r.push(t)}e=new Qu(r)}else{if(!vc.vJ.isBufferSource(t))throw new Error("Cannot initialize GeneralNames. Incorrect incoming arguments");e=Au.parse(t,Qu)}super(e)}onInit(t){const e=[];for(const r of t){let t=null;try{t=new mw(r)}catch{continue}e.push(t)}this.items=e}toJSON(){return this.items.map((t=>t.toJSON()))}toTextObject(){const t=super.toTextObjectEmpty();for(const e of this.items){const r=e.toTextObject();let i=t[r[zm.NAME]];Array.isArray(i)||(i=[],t[r[zm.NAME]]=i),i.push(r)}return t}}ww.NAME="GeneralNames";const bw="-{5}BEGIN ([^\\n]+(?=-{5}))-{5}\\n(?:((?:[^:\\n]+: (?:[^\\n]+\\n(?: +[^\\n]+\\n)*))+))?\\n?((?:[a-zA-Z0-9=+/]+\\n)+)-{5}END \\1-{5}";class Aw{static isPem(t){return"string"==typeof t&&new RegExp(bw,"g").test(t)}static decodeWithHeaders(t){t=t.replace(/\r/g,"");const e=new RegExp(bw,"g"),r=[];let i=null;for(;i=e.exec(t);){const t=i[3].replace(new RegExp("[\\n]+","g"),""),e={type:i[1],headers:[],rawData:vc.ep.FromBase64(t)},n=i[2];if(n){const t=n.split(new RegExp("\\n","g"));let r=null;for(const i of t){const[t,n]=i.split(/:(.*)/);if(void 0===n){if(!r)throw new Error("Cannot parse PEM string. Incorrect header value");r.value+=t.trim()}else r&&e.headers.push(r),r={key:t,value:n.trim()}}r&&e.headers.push(r)}r.push(e)}return r}static decode(t){return this.decodeWithHeaders(t).map((t=>t.rawData))}static decodeFirst(t){const e=this.decode(t);if(!e.length)throw new RangeError("PEM string doesn't contain any objects");return e[0]}static encode(t,e){if(Array.isArray(t)){const r=new Array;return e?t.forEach((t=>{if(!vc.vJ.isBufferSource(t))throw new TypeError("Cannot encode array of BufferSource in PEM format. Not all items of the array are BufferSource");r.push(this.encodeStruct({type:e,rawData:vc.vJ.toArrayBuffer(t)}))})):t.forEach((t=>{if(!("type"in t))throw new TypeError("Cannot encode array of PemStruct in PEM format. Not all items of the array are PemStrut");r.push(this.encodeStruct(t))})),r.join("\n")}if(!e)throw new Error("Required argument 'tag' is missed");return this.encodeStruct({type:e,rawData:vc.vJ.toArrayBuffer(t)})}static encodeStruct(t){var e;const r=t.type.toLocaleUpperCase(),i=[];if(i.push(`-----BEGIN ${r}-----`),null===(e=t.headers)||void 0===e?void 0:e.length){for(const e of t.headers)i.push(`${e.key}: ${e.value}`);i.push("")}const n=vc.ep.ToBase64(t.rawData);let s,o=0;const a=Array();for(;o<n.length&&(n.length-o<64?s=n.substring(o):(s=n.substring(o,o+64),o+=64),0!==s.length)&&(a.push(s),!(s.length<64)););return i.push(...a),i.push(`-----END ${r}-----`),i.join("\n")}}Aw.CertificateTag="CERTIFICATE",Aw.CrlTag="CRL",Aw.CertificateRequestTag="CERTIFICATE REQUEST",Aw.PublicKeyTag="PUBLIC KEY",Aw.PrivateKeyTag="PRIVATE KEY";class vw extends Qm{static isAsnEncoded(t){return vc.vJ.isBufferSource(t)||"string"==typeof t}static toArrayBuffer(t){if("string"==typeof t){if(Aw.isPem(t))return Aw.decode(t)[0];if(vc.ep.isHex(t))return vc.ep.FromHex(t);if(vc.ep.isBase64(t))return vc.ep.FromBase64(t);if(vc.ep.isBase64Url(t))return vc.ep.FromBase64Url(t);throw new TypeError("Unsupported format of 'raw' argument. Must be one of DER, PEM, HEX, Base64, or Base4Url")}{const e=vc.ep.ToBinary(t);return Aw.isPem(e)?Aw.decode(e)[0]:vc.ep.isHex(e)?vc.ep.FromHex(e):vc.ep.isBase64(e)?vc.ep.FromBase64(e):vc.ep.isBase64Url(e)?vc.ep.FromBase64Url(e):vc.vJ.toArrayBuffer(t)}}constructor(...t){vw.isAsnEncoded(t[0])?super(vw.toArrayBuffer(t[0]),t[1]):super(t[0])}toString(t="pem"){return"pem"===t?Aw.encode(this.rawData,this.tag):super.toString(t)}}class _w extends vw{constructor(t){vw.isAsnEncoded(t)?super(t,id):super(t),this.tag=Aw.PublicKeyTag}async export(...t){let e,r=["verify"],i={hash:"SHA-256",...this.algorithm};return t.length>1?(i=t[0]||i,r=t[1]||r,e=t[2]||Xm.get()):e=t[0]||Xm.get(),e.subtle.importKey("spki",this.rawData,i,!0,r)}onInit(t){const e=sy.resolve(lm),r=this.algorithm=e.toWebAlgorithm(t.algorithm);switch(t.algorithm.algorithm){case sg:{const e=Au.parse(t.subjectPublicKey,Dg),i=vc.vJ.toUint8Array(e.modulus);r.publicExponent=vc.vJ.toUint8Array(e.publicExponent),r.modulusLength=(i[0]?i:i.slice(1)).byteLength<<3;break}}}async getThumbprint(...t){var e;let r,i="SHA-1";return t.length>=1&&!(null===(e=t[0])||void 0===e?void 0:e.subtle)?(i=t[0]||i,r=t[1]||Xm.get()):r=t[0]||Xm.get(),await r.subtle.digest(i,this.rawData)}async getKeyIdentifier(t){t||(t=Xm.get());const e=Au.parse(this.rawData,id);return await t.subtle.digest("SHA-1",e.subjectPublicKey)}toTextObject(){const t=this.toTextObjectEmpty(),e=Au.parse(this.rawData,id);return t.Algorithm=qm.serializeAlgorithm(e.algorithm),e.algorithm.algorithm===jf?t["EC Point"]=e.subjectPublicKey:t["Raw Data"]=e.subjectPublicKey,t}}class Ew{static register(t,e){this.items.set(t,e)}static create(t){const e=new Km(t),r=this.items.get(e.type);return r?new r(t):e}}Ew.items=new Map;const Sw="crypto.signatureFormatter";class Tw extends vw{constructor(t){vw.isAsnEncoded(t)?super(t,pd):super(t),this.tag=Aw.CertificateTag}onInit(t){const e=t.tbsCertificate;this.tbs=Au.serialize(e),this.serialNumber=vc.ep.ToHex(e.serialNumber),this.subjectName=new rw(e.subject),this.subject=new rw(e.subject).toString(),this.issuerName=new rw(e.issuer),this.issuer=this.issuerName.toString();const r=sy.resolve(lm);this.signatureAlgorithm=r.toWebAlgorithm(t.signatureAlgorithm),this.signature=t.signatureValue;const i=e.validity.notBefore.utcTime||e.validity.notBefore.generalTime;if(!i)throw new Error("Cannot get 'notBefore' value");this.notBefore=i;const n=e.validity.notAfter.utcTime||e.validity.notAfter.generalTime;if(!n)throw new Error("Cannot get 'notAfter' value");this.notAfter=n,this.extensions=[],e.extensions&&(this.extensions=e.extensions.map((t=>Ew.create(Au.serialize(t))))),this.publicKey=new _w(e.subjectPublicKeyInfo)}getExtension(t){for(const e of this.extensions)if("string"==typeof t){if(e.type===t)return e}else if(e instanceof t)return e;return null}getExtensions(t){return this.extensions.filter((e=>"string"==typeof t?e.type===t:e instanceof t))}async verify(t={},e=Xm.get()){let r,i;const n=t.publicKey;try{if(n)if("publicKey"in n)r={...n.publicKey.algorithm,...this.signatureAlgorithm},i=await n.publicKey.export(r,["verify"]);else if(n instanceof _w)r={...n.algorithm,...this.signatureAlgorithm},i=await n.export(r,["verify"]);else if(vc.vJ.isBufferSource(n)){const t=new _w(n);r={...t.algorithm,...this.signatureAlgorithm},i=await t.export(r,["verify"])}else r={...n.algorithm,...this.signatureAlgorithm},i=n;else r={...this.publicKey.algorithm,...this.signatureAlgorithm},i=await this.publicKey.export(r,["verify"],e)}catch(t){return!1}const s=sy.resolveAll(Sw).reverse();let o=null;for(const t of s)if(o=t.toWebSignature(r,this.signature),o)break;if(!o)throw Error("Cannot convert ASN.1 signature value to WebCrypto format");const a=await e.subtle.verify(this.signatureAlgorithm,i,o,this.tbs);if(t.signatureOnly)return a;{const e=(t.date||new Date).getTime();return a&&this.notBefore.getTime()<e&&e<this.notAfter.getTime()}}async getThumbprint(...t){let e,r="SHA-1";return t[0]&&(t[0].subtle?e=t[0]:(r=t[0]||r,e=t[1])),null!=e||(e=Xm.get()),await e.subtle.digest(r,this.rawData)}async isSelfSigned(t=Xm.get()){return this.subject===this.issuer&&await this.verify({signatureOnly:!0},t)}toTextObject(){const t=this.toTextObjectEmpty(),e=Au.parse(this.rawData,pd),r=e.tbsCertificate,i=new zm("",{Version:`${ld[r.version]} (${r.version})`,"Serial Number":r.serialNumber,"Signature Algorithm":qm.serializeAlgorithm(r.signature),Issuer:this.issuer,Validity:new zm("",{"Not Before":r.validity.notBefore.getTime(),"Not After":r.validity.notAfter.getTime()}),Subject:this.subject,"Subject Public Key Info":this.publicKey});if(r.issuerUniqueID&&(i["Issuer Unique ID"]=r.issuerUniqueID),r.subjectUniqueID&&(i["Subject Unique ID"]=r.subjectUniqueID),this.extensions.length){const t=new zm("");for(const e of this.extensions){const r=e.toTextObject();t[r[zm.NAME]]=r}i.Extensions=t}return t.Data=i,t.Signature=new zm("",{Algorithm:qm.serializeAlgorithm(e.signatureAlgorithm),"":e.signatureValue}),t}}Tw.NAME="Certificate";class xw extends Km{constructor(...t){if(vc.vJ.isBufferSource(t[0]))super(t[0]);else if("string"==typeof t[0]){const e=new Vu({keyIdentifier:new Wu(vc.ep.FromHex(t[0]))});super(ju,t[1],Au.serialize(e))}else{const e=t[0],r=e.name instanceof ww?Au.parse(e.name.rawData,Qu):e.name,i=new Vu({authorityCertIssuer:r,authorityCertSerialNumber:vc.ep.FromHex(e.serialNumber)});super(ju,t[1],Au.serialize(i))}}static async create(t,e=!1,r=Xm.get()){if(t instanceof Tw||Jm.isCryptoKey(t)){const i=t instanceof Tw?await t.publicKey.export(r):t,n=await r.subtle.exportKey("spki",i),s=new _w(n),o=await s.getKeyIdentifier(r);return new xw(vc.ep.ToHex(o),e)}return new xw(t,e)}onInit(t){super.onInit(t);const e=Au.parse(t.extnValue,Vu);e.keyIdentifier&&(this.keyId=vc.ep.ToHex(e.keyIdentifier)),e.authorityCertIssuer&&e.authorityCertSerialNumber&&(this.certId={name:e.authorityCertIssuer,serialNumber:vc.ep.ToHex(e.authorityCertSerialNumber)})}toTextObject(){const t=this.toTextObjectWithoutValue(),e=Au.parse(this.value,Vu);return e.authorityCertIssuer&&(t["Authority Issuer"]=new ww(e.authorityCertIssuer).toTextObject()),e.authorityCertSerialNumber&&(t["Authority Serial Number"]=e.authorityCertSerialNumber),e.keyIdentifier&&(t[""]=e.keyIdentifier),t}}xw.NAME="Authority Key Identifier";class Cw extends Km{constructor(...t){if(vc.vJ.isBufferSource(t[0])){super(t[0]);const e=Au.parse(this.value,Gu);this.ca=e.cA,this.pathLength=e.pathLenConstraint}else{const e=new Gu({cA:t[0],pathLenConstraint:t[1]});super(zu,t[2],Au.serialize(e)),this.ca=t[0],this.pathLength=t[1]}}toTextObject(){const t=this.toTextObjectWithoutValue();return this.ca&&(t.CA=this.ca),void 0!==this.pathLength&&(t["Path Length"]=this.pathLength),t}}var Iw,Rw;Cw.NAME="Basic Constraints",function(t){t.serverAuth="1.3.6.1.5.5.7.3.1",t.clientAuth="1.3.6.1.5.5.7.3.2",t.codeSigning="1.3.6.1.5.5.7.3.3",t.emailProtection="1.3.6.1.5.5.7.3.4",t.timeStamping="1.3.6.1.5.5.7.3.8",t.ocspSigning="1.3.6.1.5.5.7.3.9"}(Iw||(Iw={}));class kw extends Km{constructor(...t){if(vc.vJ.isBufferSource(t[0])){super(t[0]);const e=Au.parse(this.value,Ap);this.usages=e.map((t=>t))}else{const e=new Ap(t[0]);super(bp,t[1],Au.serialize(e)),this.usages=t[0]}}toTextObject(){const t=this.toTextObjectWithoutValue();return t[""]=this.usages.map((t=>Gm.toString(t))).join(", "),t}}kw.NAME="Extended Key Usages",function(t){t[t.digitalSignature=1]="digitalSignature",t[t.nonRepudiation=2]="nonRepudiation",t[t.keyEncipherment=4]="keyEncipherment",t[t.dataEncipherment=8]="dataEncipherment",t[t.keyAgreement=16]="keyAgreement",t[t.keyCertSign=32]="keyCertSign",t[t.cRLSign=64]="cRLSign",t[t.encipherOnly=128]="encipherOnly",t[t.decipherOnly=256]="decipherOnly"}(Rw||(Rw={}));class Nw extends Km{constructor(...t){if(vc.vJ.isBufferSource(t[0])){super(t[0]);const e=Au.parse(this.value,Pp);this.usages=e.toNumber()}else{const e=new Pp(t[0]);super(Np,t[1],Au.serialize(e)),this.usages=t[0]}}toTextObject(){const t=this.toTextObjectWithoutValue(),e=Au.parse(this.value,Pp);return t[""]=e.toJSON().join(", "),t}}Nw.NAME="Key Usages";class Ow extends Km{constructor(...t){if(vc.vJ.isBufferSource(t[0])){super(t[0]);const e=Au.parse(this.value,Yp);this.keyId=vc.ep.ToHex(e)}else{const e="string"==typeof t[0]?vc.ep.FromHex(t[0]):t[0],r=new Yp(e);super(Kp,t[1],Au.serialize(r)),this.keyId=vc.ep.ToHex(e)}}static async create(t,e=!1,r=Xm.get()){let i;i=t instanceof _w?t.rawData:"publicKey"in t?t.publicKey.rawData:vc.vJ.isBufferSource(t)?t:await r.subtle.exportKey("spki",t);const n=new _w(i),s=await n.getKeyIdentifier(r);return new Ow(vc.ep.ToHex(s),e)}toTextObject(){const t=this.toTextObjectWithoutValue(),e=Au.parse(this.value,Yp);return t[""]=e,t}}Ow.NAME="Subject Key Identifier";class Bw extends Km{constructor(...t){vc.vJ.isBufferSource(t[0])?super(t[0]):super(Vp,t[1],new ww(t[0]||[]).rawData)}onInit(t){super.onInit(t);const e=Au.parse(t.extnValue,zp);this.names=new ww(e)}toTextObject(){const t=this.toTextObjectWithoutValue(),e=this.names.toTextObject();for(const r in e)t[r]=e[r];return t}}Bw.NAME="Subject Alternative Name";class Pw extends Km{constructor(...t){var e;if(vc.vJ.isBufferSource(t[0])){super(t[0]);const e=Au.parse(this.value,np);this.policies=e.map((t=>t.policyIdentifier))}else{const r=t[0],i=null!==(e=t[1])&&void 0!==e&&e,n=new np(r.map((t=>new ip({policyIdentifier:t}))));super(Xu,i,Au.serialize(n)),this.policies=r}}toTextObject(){const t=this.toTextObjectWithoutValue();return t.Policy=this.policies.map((t=>new zm("",{},Gm.toString(t)))),t}}Pw.NAME="Certificate Policies",Ew.register(Xu,Pw);class Dw extends Qm{constructor(...t){let e;if(vc.vJ.isBufferSource(t[0]))e=vc.vJ.toArrayBuffer(t[0]);else{const r=t[0],i=Array.isArray(t[1])?t[1].map((t=>vc.vJ.toArrayBuffer(t))):[];e=Au.serialize(new Gp({type:r,values:i}))}super(e,Gp)}onInit(t){this.type=t.type,this.values=t.values}toTextObject(){const t=this.toTextObjectWithoutValue();return t.Value=this.values.map((t=>new zm("",{"":t}))),t}toTextObjectWithoutValue(){const t=this.toTextObjectEmpty();return t[zm.NAME]===Dw.NAME&&(t[zm.NAME]=Gm.toString(this.type)),t}}Dw.NAME="Attribute";class Lw extends Dw{constructor(...t){var e;if(vc.vJ.isBufferSource(t[0]))super(t[0]);else{const e=new Zy({printableString:t[0]});super(By,[Au.serialize(e)])}null!==(e=this.password)&&void 0!==e||(this.password="")}onInit(t){if(super.onInit(t),this.values[0]){const t=Au.parse(this.values[0],Zy);this.password=t.toString()}}toTextObject(){const t=this.toTextObjectWithoutValue();return t[zm.VALUE]=this.password,t}}Lw.NAME="Challenge Password";class Uw extends Dw{constructor(...t){var e;if(vc.vJ.isBufferSource(t[0]))super(t[0]);else{const e=t[0],r=new cd;for(const t of e)r.push(Au.parse(t.rawData,ad));super(Py,[Au.serialize(r)])}null!==(e=this.items)&&void 0!==e||(this.items=[])}onInit(t){if(super.onInit(t),this.values[0]){const t=Au.parse(this.values[0],cd);this.items=t.map((t=>Ew.create(Au.serialize(t))))}}toTextObject(){const t=this.toTextObjectWithoutValue(),e=this.items.map((t=>t.toTextObject()));for(const r of e)t[r[zm.NAME]]=r;return t}}Uw.NAME="Extensions";class Mw{static register(t,e){this.items.set(t,e)}static create(t){const e=new Dw(t),r=this.items.get(e.type);return r?new r(t):e}}Mw.items=new Map;let Fw=class{toAsnAlgorithm(t){if("rsassa-pkcs1-v1_5"===t.name.toLowerCase()){if(!t.hash)return new rd({algorithm:sg,parameters:null});switch(t.hash.name.toLowerCase()){case"sha-1":return new rd({algorithm:ug,parameters:null});case"sha-256":return new rd({algorithm:dg,parameters:null});case"sha-384":return new rd({algorithm:fg,parameters:null});case"sha-512":return new rd({algorithm:gg,parameters:null})}}return null}toWebAlgorithm(t){switch(t.algorithm){case sg:return{name:"RSASSA-PKCS1-v1_5"};case ug:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-1"}};case dg:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case fg:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-384"}};case gg:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-512"}}}return null}};Fw=Lg([oy()],Fw),sy.registerSingleton(cm,Fw);class Hw{addPadding(t,e){const r=vc.vJ.toUint8Array(e),i=new Uint8Array(t);return i.set(r,t-r.length),i}removePadding(t,e=!1){let r=vc.vJ.toUint8Array(t);for(let t=0;t<r.length;t++)if(r[t]){r=r.slice(t);break}if(e&&r[0]>127){const t=new Uint8Array(r.length+1);return t.set(r,1),t.buffer}return r.buffer}toAsnSignature(t,e){if("ECDSA"===t.name){const r=t.namedCurve,i=Hw.namedCurveSize.get(r)||Hw.defaultNamedCurveSize,n=new ig,s=vc.vJ.toUint8Array(e);return n.r=this.removePadding(s.slice(0,i),!0),n.s=this.removePadding(s.slice(i,i+i),!0),Au.serialize(n)}return null}toWebSignature(t,e){if("ECDSA"===t.name){const r=Au.parse(e,ig),i=t.namedCurve,n=Hw.namedCurveSize.get(i)||Hw.defaultNamedCurveSize,s=this.addPadding(n,this.removePadding(r.r)),o=this.addPadding(n,this.removePadding(r.s));return(0,vc.$e)(s,o)}return null}}Hw.namedCurveSize=new Map,Hw.defaultNamedCurveSize=32;const jw="1.3.101.110",Ww="1.3.101.111",Vw="1.3.101.112",zw="1.3.101.113";let Gw=class{toAsnAlgorithm(t){let e=null;switch(t.name.toLowerCase()){case"eddsa":switch(t.namedCurve.toLowerCase()){case"ed25519":e=Vw;break;case"ed448":e=zw}break;case"ecdh-es":switch(t.namedCurve.toLowerCase()){case"x25519":e=jw;break;case"x448":e=Ww}}return e?new rd({algorithm:e}):null}toWebAlgorithm(t){switch(t.algorithm){case Vw:return{name:"EdDSA",namedCurve:"Ed25519"};case zw:return{name:"EdDSA",namedCurve:"Ed448"};case jw:return{name:"ECDH-ES",namedCurve:"X25519"};case Ww:return{name:"ECDH-ES",namedCurve:"X448"}}return null}};Gw=Lg([oy()],Gw),sy.registerSingleton(cm,Gw);var qw;(class extends vw{constructor(t){vw.isAsnEncoded(t)?super(t,am):super(t),this.tag=Aw.CertificateRequestTag}onInit(t){this.tbs=Au.serialize(t.certificationRequestInfo),this.publicKey=new _w(t.certificationRequestInfo.subjectPKInfo);const e=sy.resolve(lm);this.signatureAlgorithm=e.toWebAlgorithm(t.signatureAlgorithm),this.signature=t.signature,this.attributes=t.certificationRequestInfo.attributes.map((t=>Mw.create(Au.serialize(t))));const r=this.getAttribute(Py);this.extensions=[],r instanceof Uw&&(this.extensions=r.items),this.subjectName=new rw(t.certificationRequestInfo.subject),this.subject=this.subjectName.toString()}getAttribute(t){for(const e of this.attributes)if(e.type===t)return e;return null}getAttributes(t){return this.attributes.filter((e=>e.type===t))}getExtension(t){for(const e of this.extensions)if(e.type===t)return e;return null}getExtensions(t){return this.extensions.filter((e=>e.type===t))}async verify(t=Xm.get()){const e={...this.publicKey.algorithm,...this.signatureAlgorithm},r=await this.publicKey.export(e,["verify"],t),i=sy.resolveAll(Sw).reverse();let n=null;for(const t of i)if(n=t.toWebSignature(e,this.signature),n)break;if(!n)throw Error("Cannot convert WebCrypto signature value to ASN.1 format");return await t.subtle.verify(this.signatureAlgorithm,r,n,this.tbs)}toTextObject(){const t=this.toTextObjectEmpty(),e=Au.parse(this.rawData,am),r=e.certificationRequestInfo,i=new zm("",{Version:`${ld[r.version]} (${r.version})`,Subject:this.subject,"Subject Public Key Info":this.publicKey});if(this.attributes.length){const t=new zm("");for(const e of this.attributes){const r=e.toTextObject();t[r[zm.NAME]]=r}i.Attributes=t}return t.Data=i,t.Signature=new zm("",{Algorithm:qm.serializeAlgorithm(e.signatureAlgorithm),"":e.signature}),t}}).NAME="PKCS#10 Certificate Request",function(t){t[t.unspecified=0]="unspecified",t[t.keyCompromise=1]="keyCompromise",t[t.cACompromise=2]="cACompromise",t[t.affiliationChanged=3]="affiliationChanged",t[t.superseded=4]="superseded",t[t.cessationOfOperation=5]="cessationOfOperation",t[t.certificateHold=6]="certificateHold",t[t.removeFromCRL=8]="removeFromCRL",t[t.privilegeWithdrawn=9]="privilegeWithdrawn",t[t.aACompromise=10]="aACompromise"}(qw||(qw={})),Ew.register(zu,Cw),Ew.register(bp,kw),Ew.register(Np,Nw),Ew.register(Kp,Ow),Ew.register(ju,xw),Ew.register(Vp,Bw),Mw.register(By,Lw),Mw.register(Py,Uw),sy.registerSingleton(Sw,class{toAsnSignature(t,e){return vc.vJ.toArrayBuffer(e)}toWebSignature(t,e){return vc.vJ.toArrayBuffer(e)}}),sy.registerSingleton(Sw,Hw),Hw.namedCurveSize.set("P-256",32),Hw.namedCurveSize.set("K-256",32),Hw.namedCurveSize.set("P-384",48),Hw.namedCurveSize.set("P-521",66);const Qw=/-{5}(BEGIN|END) .*-{5}/gm,Kw="pages/pages.jsonl",Yw="pages/extraPages.jsonl",Jw="datapackage.json",Xw="datapackage-digest.json",Zw="webarchive.yaml";class $w{store;file;isRoot;waczname;constructor(t,e,r=!0){this.file=e,this.waczname=e.waczname||"",this.store=t,this.isRoot=r}async loadFileFromWACZ(t,e){return this.store.loadFileFromWACZ?await this.store.loadFileFromWACZ(this.file,t,e):await this.file.loadFile(t,e)}async load(){let t,e=null;return this.file.containsFile(Xw)&&(e=await this.loadDigestData(Xw)),this.file.containsFile(Jw)?t=await this.loadPackage(Jw,e):this.file.containsFile(Zw)&&(t=await this.loadOldPackageYAML(Zw)),t||{}}async loadTextFileFromWACZ(t,e=""){const{reader:r,hasher:i}=await this.loadFileFromWACZ(t,{computeHash:!!e});if(!r)return"";const n=(new TextDecoder).decode(await r.readFully());return e&&i&&await this.store.addVerifyData(this.waczname,t,e,i.getHash()),n}async loadDigestData(t){try{const e=JSON.parse(await this.loadTextFileFromWACZ(t));let r;e.path===Jw&&e.hash&&(r=e.hash);const i=this.store,n=this.isRoot?"":this.waczname+":";if(!e.signedData||e.signedData.hash!==r)return void await i.addVerifyData(n,"signature","");await i.addVerifyData(n,"datapackageHash",r);const s=await async function({hash:t,signature:e,publicKey:r,domain:i,domainCert:n,created:s,software:o}){let a;const c=[],l=(0,Ac.toByteArray)(e);let h;if(n&&i&&!r){const t=n.split("\n\n"),e=(0,Ac.toByteArray)(t[0].replace(Qw,"").replace(/\s/gm,"")),r=u(await crypto.subtle.digest("SHA-256",e));c.push({id:"certFingerprint",expected:r,matched:null});const i=new Tw(e);h=await i.publicKey.export();const s=(0,Ac.fromByteArray)(new Uint8Array(i.publicKey.rawData));c.push({id:"publicKey",expected:s,matched:null}),i.subject&&i.subject.startsWith("CN=")&&(a=i.subject.substring(3))}else{const t={name:"ECDSA",namedCurve:"P-384"};c.push({id:"publicKey",expected:r,matched:null}),h=await crypto.subtle.importKey("spki",(0,Ac.toByteArray)(r),t,!0,["verify"])}const p=new TextEncoder,d=await crypto.subtle.verify({name:"ECDSA",hash:"SHA-256"},h,l,p.encode(t));return c.push({id:"signature",expected:!0,matched:d}),s&&c.push({id:"created",expected:s,matched:null}),o&&c.push({id:"software",expected:o,matched:null}),i&&c.push({id:"domain",expected:i,matched:a}),c}(e.signedData);return await i.addVerifyDataList(n,s),r}catch(t){console.warn(t)}}async loadPackage(t,e){const r=await this.loadTextFileFromWACZ(t,e),i=JSON.parse(r);switch(this.isRoot&&void 0!==i.config&&this.store.initConfig(i.config),i.profile){case"data-package":case"wacz-package":case void 0:case null:return await this.loadLeafWACZPackage(i);case"multi-wacz-package":return await this.loadMultiWACZPackage(i);default:throw new Error(`Unknown package profile: ${i.profile}`)}}async loadMultiWACZPackage(t){return this.file.markAsMultiWACZ(),await this.store.loadWACZFiles(t,this.file),t}async loadLeafWACZPackage(t){const e=t.metadata||{};let r=null;for(const e of t.resources)e.path===Kw?(r=e.hash,await this.store.addVerifyData(this.waczname,e.path,e.hash)):(e.path.endsWith(".idx")||e.path.endsWith(".cdx"))&&await this.store.addVerifyData(this.waczname,e.path,e.hash);return this.file.containsFile(Kw)&&(await this.loadPages(Kw,r)).hasText&&(this.store.textIndex=e.textIndex=Kw),this.file.containsFile(Yw)&&(this.store.textIndex=e.textIndex=Yw),e}async loadOldPackageYAML(t){const e=await this.loadTextFileFromWACZ(t),r=bc.load(e),i={desc:r.desc,title:r.title};r.textIndex&&(i.textIndex=r.textIndex,r.config||(r.config={}),r.config.textIndex=r.textIndex),this.isRoot&&void 0!==r.config&&this.store.initConfig(r.config),i.title||(i.title=this.store.config.sourceName);const n=r.pages||[];n?.length&&await this.store.addPages(n);const s=r.pageLists||[];return s?.length&&await this.store.addCuratedPageLists(s,"pages","show"),i}async loadPages(t=Kw,e=null){const{reader:r,hasher:i}=await this.loadFileFromWACZ(t,{unzip:!0,computeHash:!0});if(!r)return[];let n=null,s=[];for await(const t of r.iterLines()){const e=JSON.parse(t);this.waczname&&(e.wacz=this.waczname),n?(s.push(e),500===s.length&&(await this.store.addPages(s),s=[])):n=e}return s.length&&await this.store.addPages(s),i&&e&&await this.store.addVerifyData(this.waczname,t,e,i.getHash()),n}}class tb{loader;loadId=null;loadUrl;constructor(t,e,r=null){this.loader=t,this.loadId=r,this.loadUrl=e.loadUrl}async load(t){const e=this.loader;t.fullConfig&&e.arrayBuffer&&e.arrayBuffer.byteLength<=s&&(t.fullConfig.extra||(t.fullConfig.extra={}),t.fullConfig.extra.arrayBuffer=e.arrayBuffer);const r=this.loadUrl;return await t.addNewWACZ({name:"default",path:r,loader:e})}}class eb{loader;loadId=null;config;constructor(t,e,r=null){this.config=e,this.loadId=r,this.loader=t}async load(t,e=null,r=0){const i=new _o({loader:this.loader});await i.init();const n=i.zipreader,s=new $w(t,i),o=await s.load();let a=0;const c=(t,i,n)=>{n+=a,e&&r&&e(Math.round(100*n/r),null,n,r)};for(const e of i.iterContainedFiles()){const r=n.getCompressedSize(e);(e.endsWith(".warc.gz")||e.endsWith(".warc"))&&await this.loadWARC(t,n,e,c,r),a+=r}return o||{}}async loadWARC(t,e,r,i,n){const{reader:s}=await e.loadFile(r,{unzip:!0});if(!s)throw new Error("no WARC found");const o=new cs(s,null,r);return o.detectPages=!1,await o.load(t,i,n)}}class rb{response;constructor(t){this.response=t}async load(t){return await t.loadFromJSON(this.response)}}class ib{prefix;proxyPathOnly;isLive;archivePrefix;cloneResponse;allowBody;hostProxy;hostProxyOnly;messageOnProxyErrors;constructor(t,{cloneResponse:e=!1,allowBody:r=!1,hostProxyOnly:i=!1}={}){if(t=t||{},this.prefix=t.prefix||"",this.proxyPathOnly=t.proxyPathOnly||!1,this.isLive=void 0===t.isLive||t.isLive,this.archivePrefix=t.archivePrefix||"",this.cloneResponse=e,this.allowBody=r||this.isLive,this.messageOnProxyErrors=t.messageOnProxyErrors||!1,this.hostProxy=t.hostProxy,this.hostProxy instanceof Array){const t={};for(const e of this.hostProxy)t[e.host]=e;this.hostProxy=t}this.hostProxyOnly=i}async getAllPages(){return[]}getFetchUrl(t,e,r){let i;if(this.hostProxy){i=new URL(t);const e=this.hostProxy[i.host];if(e)return r.set("X-Proxy-Host",i.host),e.prefix+(e.pathOnly?i.pathname+i.search:t)}return this.hostProxyOnly?null:this.proxyPathOnly?(i||(i=new URL(t)),this.prefix+i.pathname+i.search):this.isLive||!e.timestamp?this.prefix+t:this.prefix+this.archivePrefix+e.timestamp+"id_/"+t}async getResource(t,e){const{headers:r,credentials:i,url:n}=t.prepareProxyRequest(e,!0),s=this.getFetchUrl(n,t,r);if(!s)return null;let o=null;const a="POST"===t.method||"PUT"===t.method||"DELETE"===t.method;a&&(this.allowBody?o=await t.getBody():this.sendProxyError("post-request-attempt",n,t.method));let c=await fetch(s,{method:t.method,body:o,headers:r,credentials:i,mode:"cors",redirect:"follow"}),l=!1;a&&c.status>=400?this.sendProxyError("post-request-failed",n,t.method,c.status):429===c.status&&this.sendProxyError("rate-limited",n,t.method,c.status),c.status>400&&404!==c.status&&["","document","iframe"].includes(t.destination)&&(c=function(t,e){return An(function(t,e){return`\n <!doctype html>\n <html>\n <head>\n <script>\n window.requestURL = "${t}";\n <\/script>\n </head>\n <body style="font-family: sans-serif">\n <h2>Live page could not be loaded</h2>\n <p>Sorry, this page was could not be loaded through the archiving proxy. Check the URL and try again.</p>\n <p><code id="url" style="word-break: break-all; font-size: larger">Status Code: ${e}</code></p>\n <p id="goback" style="display: none"><a href="#" onclick="window.history.back()">Go Back</a> to the previous page.</a></p>\n\n <script>\n let isTop = true;\n try {\n if (window.parent._WB_wombat_location) {\n isTop = false;\n }\n } catch (e) {\n\n }\n if (isTop) {\n document.querySelector("#goback").style.display = "";\n\n window.parent.postMessage({\n wb_type: "live-proxy-url-error",\n url: window.requestURL,\n status: ${e},\n }, "*");\n }\n <\/script>\n </body>\n </html>\n `}(t,e),"text/html",e)}(n,c.status),l=!0);let h=null;this.cloneResponse&&(h=c.clone());const u=ln.fromResponse({url:n,response:c,date:new Date,noRW:l,isLive:this.isLive,archivePrefix:this.archivePrefix});return h&&(u.clonedResponse=h),u}async sendProxyError(t,e,r,i){if(!this.messageOnProxyErrors)return;const n=await self.clients.matchAll({type:"window"});for(const s of n)if(new URL(s.url).searchParams.get("source")===this.prefix){s.postMessage({type:t,url:e,method:r,status:i});break}}}const nb=/^([\w-]+,)*[\w-]+(:\d+)?,?\)\//;class sb extends no{config;waczfiles;waczNameForHash;ziploadercache;updating;rootSourceType;sourceLoader;externalSource;textIndex;fuzzyUrlRules;pagesQueryUrl="";totalPages=void 0;preloadResources=[];seedPageWACZs=new Map;constructor(t,e,r="wacz"){super(t.dbname,t.noCache),this.config=t,this.waczfiles={},this.waczNameForHash={},this.ziploadercache={},this.updating=null,this.rootSourceType=r,this.sourceLoader=e,this.externalSource=null,this.fuzzyUrlRules=[],this.textIndex=t.metadata?.textIndex||Yw,t.extraConfig&&this.initConfig(t.extraConfig)}initConfig(t){if(void 0!==t.decodeResponses&&(this.config.decode=!!t.decodeResponses),t.hostProxy&&(this.externalSource=new ib(t,{hostProxyOnly:!0})),t.fuzzy)for(const[e,r]of t.fuzzy){const t=new RegExp(e);this.fuzzyUrlRules.push({match:t,replace:r})}t.textIndex&&(this.textIndex=t.textIndex)}updateHeaders(t){this.sourceLoader&&(this.sourceLoader.headers=t)}_initDB(t,e,r,i){super._initDB(t,e,r,i),e||(t.createObjectStore("ziplines",{keyPath:["waczname","prefix"]}),t.createObjectStore("waczfiles",{keyPath:"waczname"}),t.createObjectStore("verification",{keyPath:"id"})),2===e&&this.convertV2WACZDB(t,i),3===e&&t.createObjectStore("verification",{keyPath:"id"})}async convertV2WACZDB(t,e){try{const r=await e.objectStore("ziplines").getAll(),i=await e.objectStore("zipEntries").getAll();t.deleteObjectStore("ziplines"),t.deleteObjectStore("zipEntries"),t.createObjectStore("ziplines",{keyPath:["waczname","prefix"]}),t.createObjectStore("waczfiles",{keyPath:"waczname"}),t.createObjectStore("verification",{keyPath:"id"});const n=this.config.loadUrl;for(const t of r)t.waczname=n,e.objectStore("ziplines").put(t);const s=r.length>0?2:1,o=await this.computeFileHash(n,""),a=new _o({waczname:n,hash:o,path:n,entries:i,indexType:s});e.objectStore("waczfiles").put(a.serialize()),await e.done}catch(t){console.warn(t)}}addWACZFile(t){const e=new _o(t);return this.waczfiles[t.waczname]=e,this.waczNameForHash[t.hash]=t.waczname,e}async init(){await super.init();const t=await this.db.getAll("waczfiles")||[];for(const e of t)this.addWACZFile({...e,parent:this});for(const[t,e]of Object.entries(this.waczfiles)){e.path=e.path||t;const r=e.path.lastIndexOf("#!/");if(r>0){const t=e.path.slice(0,r),i=this.waczfiles[t];e.parent=i}else"json"!==this.rootSourceType&&(e.loader=this.sourceLoader)}await this.checkUpdates()}async close(){super.close(),caches.delete("cache:"+this.name.slice(3))}async clearZipData(){const t=["waczfiles","ziplines"];for(const e of t)await this.db.clear(e)}async addVerifyData(t="",e,r,i=null,n=!1){let s=!1;t&&(e=t+e),i&&(s=r===i,n&&console.log(`verify ${e}: ${s}`)),await this.db.put("verification",{id:e,expected:r,matched:s})}async addVerifyDataList(t,e){const r=this.db.transaction("verification","readwrite");for(const i of e)t&&(i.id=t+i.id),r.store.put(i);try{await r.done}catch(t){console.warn(t)}}async getVerifyInfo(){const t=await this.db.getAll("verification");let e=0,r=0;const i={},n=["domain","created","certFingerprint","software","datapackageHash","publicKey"];for(const s of t)n.includes(s.id)?i[s.id]=s.expected:"signature"===s.id||!0===s.matched?e++:!1===s.matched&&r++;return i.numInvalid=r,i.numValid=e,i}async getVerifyExpected(t){return(await this.db.get("verification",t))?.expected}async clearAll(){await super.clearAll(),await this.clearZipData()}async loadRecordFromSource(t){const{start:e,length:r,path:i,wacz:n}=t.source,s={offset:e,length:r,unzip:!0,computeHash:!0},o=n,{reader:a,hasher:c}=await this.loadFileFromNamedWACZ(o,"archive/"+i,s),l=new ls(a);await this.waczfiles[o].save(this.db);const h=await l.load();return t[po]&&h?.respHeaders&&(h.respHeaders["x-wabac-preset-cookie"]=t[po]),{remote:h,hasher:c}}async loadIndex(t){if(!this.waczfiles[t])throw new Error("unknown waczfile: "+t);if(this.waczfiles[t].entries||await this.waczfiles[t].init(),this.waczfiles[t].indexType)return{indexType:this.waczfiles[t].indexType,isNew:!1};let e=0;for(const r of this.waczfiles[t].iterContainedFiles())r.endsWith(".cdx")||r.endsWith(".cdxj")?(console.log(`Loading CDX for ${t}`),await this.loadCDX(r,t),e=1):r.endsWith(".idx")&&(console.log(`Loading IDX for ${t}`),await this.loadIDX(r,t),e=2);return this.waczfiles[t].indexType=e,await this.waczfiles[t].save(this.db,!0),{indexType:e,isNew:!0}}async loadCDX(t,e,r,i){const{reader:n,hasher:s}=await this.loadFileFromNamedWACZ(e,t,{computeHash:!0}),o=new go(n,null,e,{wacz:e}),a=await o.load(this,r,i);if(s){const r=await this.getVerifyExpected(t);r&&this.addVerifyData(e,t,r,s.getHash())}return a}async loadIDX(t,e,r,i){const{reader:n,hasher:s}=await this.loadFileFromNamedWACZ(e,t,{computeHash:!0}),o=[];let a="",c=!0,l=0;for await(const t of n.iterLines()){if(l+=t.length,l===t.length&&t.startsWith("!meta")){const e=t.indexOf(" {");if(e<0){console.warn("Invalid Meta Line: "+t);continue}const r=JSON.parse(t.slice(e));r.filename&&(a=r.filename),"cdxj-gzip-1.0"!==r.format&&console.log(`Unknown CDXJ format "${r.format}", archive may not parse correctly`);continue}let n;if(t.indexOf("\t")>0){const[r,i,s,o]=t.split("\t");n={waczname:e,prefix:r,filename:i,offset:Number(s),length:Number(o),loaded:!1},c=!1}else{const r=t.indexOf(" {");if(r<0){console.log("Invalid Index Line: "+t);continue}const i=t.slice(0,r);let{offset:s,length:o,filename:l,digest:h}=JSON.parse(t.slice(r));c=c&&!nb.test(i),l=l||a,n={waczname:e,prefix:i,filename:l,offset:s,length:o,digest:h,loaded:!1}}r&&i&&r(l/i,l,i),o.push(n)}if(s){const r=await this.getVerifyExpected(t);r&&this.addVerifyData(e,t,r,s.getHash())}const h=this.db.transaction("ziplines","readwrite");for(const t of o)h.store.put(t);try{await h.done}catch(t){console.log("Error loading ziplines index: ",t)}c&&c!==this.waczfiles[e].nonSurt&&(this.waczfiles[e].nonSurt=c,await this.waczfiles[e].save(this.db,!0))}async loadCDXFromIDX(t,e,r=0,i=!1){const n=this.waczfiles[t].nonSurt?e:tt(e),s=i?this.prefixUpperBound(n):n+" 9999",o=IDBKeyRange.upperBound([t,s],!0),a=this.db.transaction("ziplines","readonly"),c=[];for await(const e of a.store.iterate(o,"prev")){if(e.value.waczname!==t)break;if(c.unshift(e.value),!e.value.prefix.split(" ")[0].startsWith(n))break}await a.done;const l=[];c.length>3&&r&&c.sort(((t,e)=>{const i=t.prefix.split(" ")[1],n=e.prefix.split(" ")[1];if(!i||!n)return 0;const s=Math.abs(h(i).getTime()-r),o=Math.abs(h(n).getTime()-r);return s===o?0:s<o?-1:1}));let u=0;for(const e of c){if(e.loaded)continue;const r=t+":"+e.filename+":"+e.offset;let i=this.ziploadercache[r];if(i||(i=this.doCDXLoad(r,e,t),this.ziploadercache[r]=i),l.push(i),++u>3)break}return l.length&&await Promise.allSettled(l),await this.waczfiles[t].save(this.db),l.length>0}async doCDXLoad(t,e,r){try{const t="indexes/"+e.filename,i={offset:e.offset,length:e.length,unzip:!0,computeHash:!!e.digest},{reader:n,hasher:s}=await this.loadFileFromNamedWACZ(r,t,i),o=new go(n,null,"",{wacz:r});if(await o.load(this),s){const i=s.getHash(),n=`${t}:${e.offset}-${e.length}`;await this.addVerifyData(r,n,e.digest||"",i)}e.loaded=!0,await this.db.put("ziplines",e)}catch(t){await v(t,this.config)||console.warn(t)}finally{delete this.ziploadercache[t]}}async findPageAtUrl(t,e){const r=await this.db.getAllFromIndex("pages","url",t);let i=null,n=Number.MAX_SAFE_INTEGER;for(const t of r){const r=Math.abs(t.ts-e);if(r<1e3)return t;r<n&&(i=t,n=r)}return i}async lookupUrl(t,e,r={}){try{const{waczname:i}=r;let n;return i&&"local"!==i&&(n=await this.lookupUrlForWACZ(i,t,e,r)),!n||r.noRevisits&&"warc/revisit"===n.mime?(n=await super.lookupUrl(t,e,r),n):n}catch(t){return console.warn(t),null}}async lookupUrlForWACZ(t,e,r,i){const{indexType:n,isNew:s}=await this.loadIndex(t);switch(n){case 2:if(!await this.loadCDXFromIDX(t,e,r,!1))return null;break;case 1:if(!s)return null;break;default:return null}return await super.lookupUrl(e,r,i)}async resourcesByUrlAndMime(t,...e){let r=await super.resourcesByUrlAndMime(t,...e);if(r.length>0)return r;for(const i of Object.keys(this.waczfiles))if(i&&"local"!==i){const{indexType:n,isNew:s}=await this.loadIndex(i);switch(n){case 2:if(!await this.loadCDXFromIDX(i,t,0,!0))continue;break;case 1:if(!s)continue;break;default:continue}const o=await super.resourcesByUrlAndMime(t,...e);o&&o.length&&(r=r.concat(o))}return r}async loadFileFromWACZ(t,e,r){try{return await t.loadFile(e,r)}catch(i){if(await this.retryLoad(i))return await t.loadFile(e,r);throw i}}async loadFileFromNamedWACZ(t,e,r){const i=this.waczfiles[t];if(!i)throw new Error("No WACZ Found for: "+t);return await this.loadFileFromWACZ(i,e,r)}async computeFileHash(t,e){return e?e.indexOf(":")>0&&(e=e.split(":")[1]):e=await p(t,"sha-256",""),e}async addNewWACZ({name:t,hash:e,path:r,crawlId:i,parent:n,loader:s=null}){const o=t||r||"";e=await this.computeFileHash(o,e);const a=this.addWACZFile({waczname:o,hash:e,crawlId:i,path:r,parent:n,loader:s});if(this.pagesQueryUrl||await a.init(),await a.save(this.db,!0),this.pagesQueryUrl)return{};{const t=new $w(this,a,!n);return await t.load()}}async loadWACZFiles(t,e=this){const r=[],i=async(t,e)=>{const r=this.waczfiles[t];r&&(this.pagesQueryUrl?await r.init(e):r.path=e,await r.save(this.db,!0))},n=t.resources.map((t=>{const r=e.getLoadPath(t.path);return{name:e.getName(t.name),hash:t.hash,path:r,crawlId:t.crawlId}}));for(const{name:t,hash:s,path:o,crawlId:a}of n)this.waczfiles[t]?this.waczfiles[t].path!==o&&r.push(i(t,o)):r.push(this.addNewWACZ({name:t,hash:s,path:o,parent:e,crawlId:a}));if(r.length&&await Promise.allSettled(r),t.preloadResources)for(const{name:e}of t.preloadResources)this.preloadResources.push(e);t.initialPages&&await this.addInitialPages(t.initialPages),isNaN(t.totalPages)||(this.totalPages=t.totalPages)}async addInitialPages(t){const e=[];for(const{id:r,url:i,title:n,ts:s,mime:o,status:a,depth:c,favIconUrl:l,filename:h,isSeed:u,crawl_id:p}of t){const t=this.waczfiles[h],d=t?t.hash:"";if(e.push({id:r,url:i,title:n,ts:s,mime:o,status:a,depth:c,favIconUrl:l,wacz:h,waczhash:d,isSeed:u}),u){const t=this.seedPageWACZs.get(p)||new Set;t.add(h),this.seedPageWACZs.set(p,t)}}return await this.addPages(e)}async getTextIndex(){const t={"Content-Type":"application/ndjson"},e=Object.keys(this.waczfiles);if(this.pagesQueryUrl||!this.textIndex||!e.length)return new Response("",{headers:t});if(1===e.length){const r=e[0];let i;try{i=await this.loadFileFromNamedWACZ(r,this.textIndex,{unzip:!0})}catch(e){return new Response("",{headers:t})}const{reader:n}=i,s=this.waczfiles[r].getSizeOf(this.textIndex);return s>0&&(t["Content-Length"]=""+s),new Response(n.getReadableStream(),{headers:t})}{const r=[];for(const i of e)try{const{reader:t}=await this.loadFileFromNamedWACZ(i,this.textIndex,{unzip:!0});t&&r.push(t)}catch(t){continue}const i=new ReadableStream({async pull(t){for(const e of r)for await(const r of e)t.enqueue(r);t.close()}});return new Response(i,{headers:t})}}async getResource(t,e,r,{pageId:i,noRedirect:n}={}){if(await this.initing,this.externalSource){const r=await this.externalSource.getResource(t,e);if(r)return r}const s=i;let o=null,a=null;if(s){if(o=this.waczNameForHash[s],!o)return null;if(a=await super.getResource(t,e,r,{waczname:o}),a)return a}const c=await this.getWACZFilesToTry(t,o);if(!c.length)return null;const u=new Map;for(const i of c){const o=this.waczfiles[i];if(o&&"wacz"===o.fileType&&o.hash!==s&&(a=await super.getResource(t,e,r,{waczname:i,noFuzzyCheck:!0,loadFirst:!0}),a)){if(n)return a;u.set(a.date,{name:i,hash:o.hash})}}if(u.size>0){const r=h(t.timestamp);let i,n,s=-1;for(const t of u.keys()){const e=Math.abs(t.getTime()-r.getTime());if(s<0||e<s){const{name:r,hash:a}=u.get(t);o=r,n=a,i=l(t.toISOString()),s=e}}return Response.redirect(`${e}:${n}/${i}mp_/${t.url}`)}if(this.fuzzyUrlRules.length)for(const{match:i,replace:n}of this.fuzzyUrlRules){const s=decodeURIComponent(t.url.replace(i,n));if(s&&s!==t.url){t.url=s;const i=await super.getResource(t,e,r);if(i)return i}}return null}async retryLoad(t){return"json"===this.rootSourceType&&(t instanceof x?(this.updating||(this.updating=this.checkUpdates()),await this.updating,this.updating=null,!0):await v(t,this.config))}async queryPages(t="",e=1,r=25){const i=new URLSearchParams;t&&i.set("search",t),i.set("page",e+""),i.set("pageSize",r+"");const n=await fetch(this.pagesQueryUrl+"?"+i.toString(),{headers:this.sourceLoader?.headers});if(200!==n.status)return{pages:[],total:0};const s=await n.json();if(!s)return{pages:[],total:0};const o=s.total,a=s.items.map((t=>{t.wacz=t.filename;const e=this.waczfiles[t.filename];return e&&(t.waczhash=e.hash),"string"==typeof t.ts&&(t.ts=new Date(t.ts).getTime()),t}));return{pages:a,total:o}}async getWACZFilesToTry(t,e){let r,i=[];if(this.preloadResources.length&&(i=[...this.preloadResources]),!this.pagesQueryUrl||"document"!==t.destination&&"iframe"!==t.destination){if(this.pagesQueryUrl&&t.url.startsWith("urn:")){const e=t.url.indexOf("http");e>0&&(r=t.url.slice(e))}}else r=t.url;if(r){const t=await this.getWACZFilesForPagesQuery(r);if(t)return i=[...i,...t],i}if(e){const t=this.waczfiles[e];if(t?.crawlId){const e=this.seedPageWACZs.get(t.crawlId);e&&(i=[...i,...e.values()])}}return!i.length&&Object.keys(this.waczfiles).length<=3&&(i=Object.keys(this.waczfiles)),i}async getWACZFilesForPagesQuery(t){const e=new URLSearchParams,r=new URL(t);r.hash="",e.set("url",r.href),e.set("pageSize","25");let i=await fetch(this.pagesQueryUrl+"?"+e.toString(),{headers:this.sourceLoader?.headers});if(200!==i.status)return null;let n=await i.json();!n?.items.length&&r.search&&(r.search="",e.delete("url"),e.set("search",r.href),i=await fetch(this.pagesQueryUrl+"?"+e.toString(),{headers:this.sourceLoader?.headers}),n=await i.json());const s=n.items,o=[];for(const t of s){if(!t.url.startsWith(r.href))break;t.filename&&o.push(t.filename)}return o.length?o:null}async checkUpdates(){"json"===this.rootSourceType&&await this.loadFromJSON()}async loadFromJSON(t=null){if(!t){const e=await this.sourceLoader.doInitialFetch(!1,!1);t=e&&e.response}if(!t||206!==t.status&&200!==t.status)return console.warn("WACZ update failed from: "+this.config.loadUrl),{};const e=await t.json();return e.pagesQueryUrl&&(this.pagesQueryUrl=e.pagesQueryUrl),e.profile,await this.loadWACZFiles(e),e}getLoadPath(t){return new URL(t,this.config.loadUrl).href}getName(t){return t}async createLoader(t){return await Ks(t)}}class ob{sourceUrl;type;notFoundPageUrl;constructor(t){const e=t.extraConfig||{};this.sourceUrl=e.prefix,this.type=e.sourceType||"kiwix",this.notFoundPageUrl=e.notFoundPageUrl}async getAllPages(){return[]}async getResource(t,e){const{url:r,headers:i}=t.prepareProxyRequest(e);let n=i;if("kiwix"===this.type){let e=await this.resolveHeaders(r);if(!e)for(const t of es.getFuzzyCanonsWithArgs(r))if(t!==r&&(e=await this.resolveHeaders(t),e))break;if(!e){if(this.notFoundPageUrl&&"navigate"===t.mode){const t=await fetch(this.notFoundPageUrl);if(200===t.status){const e={"Content-Type":"text/html"},i=await t.text();return new Response(i.replace("$URL",r),{status:404,headers:e})}}return null}let{headers:i,encodedUrl:s,date:o,status:a,statusText:c,hasPayload:l}=e;if(n.has("Range")){const t=n.get("Range");t&&(n={Range:t})}let h=null,u=null;if(i||(i=new Headers),l&&(u=await fetch(this.sourceUrl+"A/"+s,{headers:n}),u.body&&(h=new ft(u.body.getReader(),null,!1)),206===u.status)){const t=u.headers.get("Content-Length"),e=u.headers.get("Content-Range");t&&e&&(a=206,c="Partial Content",i.set("Content-Length",t),i.set("Content-Range",e),i.set("Accept-Ranges","bytes"))}return h||(h=new Uint8Array([])),o||(o=new Date),new ln({payload:h,status:a,statusText:c,headers:i,url:r,date:o,noRW:!1,isLive:!1})}return null}async resolveHeaders(t){const e=t.slice(t.indexOf("//")+2);let r=encodeURI(e);r=encodeURIComponent(e);const i=await fetch(this.sourceUrl+"H/"+r);if(200!==i.status)return null;let n=null,s=null,o=200,a="OK",c=!1;try{const e=await It.parse(i.body);if(!e)return null;if("revisit"===e.warcType){const r=e.warcHeaders.headers.get("WARC-Refers-To-Target-URI");if(r&&r!==t)return await this.resolveHeaders(r)}s=new Date(e.warcDate),e.httpHeaders?(n=e.httpHeaders.headers,o=Number(e.httpHeaders.statusCode),a=e.httpHeaders.statusText||"",c="0"!==e.httpHeaders.headers.get("Content-Length")):"resource"===e.warcType&&(n=new Headers,n.set("Content-Type",e.warcContentType||""),n.set("Content-Length",e.warcContentLength+""),o=200,a="OK",c=e.warcContentLength>0),o||(o=200)}catch(e){console.warn(e),console.warn("Ignoring headers, error parsing headers response for: "+t)}return{encodedUrl:r,headers:n,date:s,status:o,statusText:a,hasPayload:c}}}const ab=hb([80,75,3,4]),cb=hb([31,139,8]),lb=hb([87,65,82,67]);function hb(t){return e=>{for(const[r,i]of t.entries())if(i!==e[r])return!1;return!0}}globalThis.self||(globalThis.self=globalThis);const ub={};self.interruptLoads=ub;class pb extends class{root=null;colldb=null;checkIpfs=!0;_init_db;_fileHandles=null;constructor(){this._init_db=this._initDB()}async _initDB(){this.colldb=await Ln("collDB",1,{upgrade:t=>{t.createObjectStore("colls",{keyPath:"name"}).createIndex("type","type")}})}async loadAll(t){if(await this._init_db,t)for(const e of t.split(",")){const t=e.split(":");if(2===t.length){const e={dbname:t[1],sourceName:t[1],decode:!1,sourceUrl:""},r={name:t[0],type:"archive",config:e};console.log("Adding Coll: "+JSON.stringify(r)),await this.colldb.put("colls",r)}}try{const t=(await this.listAll()).map((async t=>this._initColl(t)));await Promise.all(t)}catch(t){console.warn(t.toString())}return!0}async listAll(){return await this._init_db,await this.colldb.getAll("colls")}async loadColl(t){await this._init_db;const e=await this.colldb.get("colls",t);return e?await this._initColl(e):null}async reload(t){return this.loadColl(t)}async deleteColl(t){await this._init_db;const e=await this.colldb.get("colls",t);if(!e)return!1;if(e.config.dbname)try{await Un(e.config.dbname,{blocked(t,r){console.log(`Unable to delete ${e.config.dbname}, blocked: ${r}`)}})}catch(t){return console.warn(t),!1}return await this.colldb.delete("colls",t),!0}async updateAuth(t,e){await this._init_db;const r=await this.colldb.get("colls",t);return!!r&&(r.config.headers=e,await this.colldb.put("colls",r),!0)}async updateMetadata(t,e){await this._init_db;const r=await this.colldb.get("colls",t);return!!r&&(r.config.metadata={...r.config.metadata,...e},await this.colldb.put("colls",r),r.config.metadata)}async updateSize(t,e,r,i){await this._init_db;const n=await this.colldb.get("colls",t);if(!n)return!1;const s=n.config.metadata||{};return s.fullSize=(s.fullSize||0)+e,s.size=(s.size||0)+r,s.mtime=(new Date).getTime(),void 0!==i&&(n.config.decode=i),await this.colldb.put("colls",n),s}async initNewColl(t,e={},r="archive"){await this._init_db;const i=g(),n="local://"+i,s={name:i,type:r,config:{dbname:"db:"+i,ctime:(new Date).getTime(),decode:!1,metadata:t,sourceUrl:n,extraConfig:e}},o=await this._initColl(s);return await this.colldb.put("colls",s),o}async _initColl(t){const e=await this._initStore(t.type||"",t.config),r=t.name,i=t.config;return t.config.root&&!this.root&&(this.root=r||null),this._createCollection({name:r,store:e,config:i})}async _initStore(t,e){let r,i=null;switch(t){case"archive":i=new ns(e.dbname);break;case"remotesource":r=await Ks({url:e.loadUrl,headers:e.headers,size:e.size,extra:e.extra}),i=new oo(e.dbname,r,e.noCache);break;case"remoteprefix":i=new ao(e.dbname,e.remotePrefix,e.headers,e.noCache);break;case"wacz":case"remotezip":case"multiwacz":r=await Ks({url:e.loadUrl||e.sourceUrl,headers:e.headers,extra:e.extra}),i=new sb(e,r,"multiwacz"===t?"json":"wacz");break;case"remotewarcproxy":i=new ob(e);break;case"live":i=new ib(e.extraConfig)}return i?(i.initing&&await i.initing,i):(console.log("no store found: "+t),null)}_createCollection(t){return t}}{constructor(t){super(),this.registerListener(t)}async hasCollection(t){return await this._init_db,null!=await this.colldb.getKey("colls",t)}registerListener(t){t.addEventListener("message",(t=>{t.waitUntil?t.waitUntil(this._handleMessage(t)):this._handleMessage(t)}))}async _handleMessage(t){await this._init_db;const e=t.source||self;switch(t.data.msg_type){case"addColl":{const r=t.data.name,i=(t,i,n,s,o=null,a=null)=>{e.postMessage({msg_type:"collProgress",name:r,percent:t,error:i,currentSize:n,totalSize:s,fileHandle:o,extraMsg:a})};let n;try{if(n=await this.colldb.get("colls",r),n?t.data.skipExisting||(await this.deleteColl(r),n=await this.addCollection(t.data,i)):n=await this.addCollection(t.data,i),!n){if(t.data.name)try{await Un("db:"+t.data.name,{blocked(e,r){console.log(`Load failed and unable to delete ${t.data.name}: ${r}`)}})}catch(t){console.warn(t)}return}}catch(t){if(t instanceof T)return console.warn(t),void i(0,"permission_needed",null,null,t.info?.fileHandle);if("ConstraintError"!==t.name)return console.warn(t),void i(0,"An unexpected error occured: "+t.toString(),null,null);console.log("already being added, just continue..."),n=await this.colldb.get("colls",r)}e.postMessage({msg_type:"collAdded",name:r,sourceUrl:n?.config.sourceUrl});break}case"cancelLoad":{const e=t.data.name,r=new Promise((t=>ub[e]=t));await r,await this.deleteColl(e),delete ub[e];break}case"removeColl":{const r=t.data.name;await this.hasCollection(r)&&(await this.deleteColl(r),this.doListAll(e));break}case"listAll":this.doListAll(e);break;case"reload":this.reload(t.data.name)}}async doListAll(t){const e=[],r=await this.listAll();for(const t of r)e.push({name:t.name,prefix:t.name,pageList:[],sourceName:t.config.sourceName});t.postMessage({msg_type:"listAll",colls:e})}async addCollection(t,e){let r=t.name,i="";const n={root:t.root||!1};let o=null,a=null;const c=t.file;if(!c?.sourceUrl)return e(0,"Invalid Load Request"),!1;if(n.dbname="db:"+r,c.sourceUrl.startsWith("proxy:"))n.sourceUrl=c.sourceUrl.slice(6),n.extraConfig=t.extraConfig,n.extraConfig.prefix||(n.extraConfig.prefix=n.sourceUrl),n.topTemplateUrl=t.topTemplateUrl,n.metadata={},i=t.type||n.extraConfig.type||"remotewarcproxy",o=await this._initStore(i,n);else{let l=null,h=null;if(c.newFullImport&&(r=g(),c.loadUrl=c.loadUrl||c.sourceUrl,c.name=c.name||c.sourceUrl,c.sourceUrl="local://"+r),i="archive",c.newFullImport&&c.importCollId){const t=await this.colldb.get("colls",c.importCollId);if(!t||"archive"!==t.type)return e(0,"Invalid Existing Collection: "+c.importCollId),!1;n.dbname=t.config.dbname,a=t.config,a&&(a.decode=!0)}let u=c.loadUrl||c.sourceUrl;u.match(/[\w]+:\/\//)||(u=new URL(u,self.location.href).href),n.decode=!0,n.onDemand=!1,n.loadUrl=u,n.sourceUrl=c.sourceUrl;let p=c.name||c.sourceUrl;try{if(p.match(/https?:\/\//)){const t=new URL(p);p=t.pathname+t.hash}}catch(t){}if(n.sourceName=p.slice(p.lastIndexOf("/")+1),n.size="number"==typeof c.size?c.size:null,n.extra=c.extra,n.loadUrl.startsWith("file://")&&!c.blob&&!n.extra){if(!this._fileHandles||!this._fileHandles[n.sourceUrl])return e(0,"missing_local_file"),!1;n.extra={fileHandle:this._fileHandles[n.sourceUrl]}}n.extraConfig=t.extraConfig,n.headers=c.headers||n.extraConfig?.headers,n.noCache=c.noCache;let d=await Ks({url:u,headers:n.headers,size:c.size,extra:n.extra,blob:c.blob});if(c.loadEager){const{response:t}=await d.doInitialFetch(!1,!0),e={arrayBuffer:new Uint8Array(await t.arrayBuffer())};c.newFullImport=!0,d=await Ks({url:u,headers:n.headers,size:c.size,extra:e})}let f=function(t){const e=[".warc",".warc.gz",".cdx",".cdxj",".har",".json",".wacz",".zip"];for(const r of e)if(t.endsWith(r))return r}(n.sourceName);const{abort:y,response:m}=await d.doInitialFetch(".wacz"===f,!1);f||(f=await async function(t){const e=t.body.getReader();let r="";const{value:i,done:n}=await e.read();var s;return!n&&i.length>=4&&(s=i.slice(0,4),r=ab(s)?".wacz":lb(s)?".warc":cb(s)?".warc.gz":void 0,r||(r=function(t){try{const e=(new TextDecoder).decode(t).split("\n");if(e.length>1&&e.indexOf(" {")>=0)return".cdxj"}catch(t){return""}}(i))),n||e.cancel(),r}(await m.clone()));const w=m.body;if(n.onDemand=d.canLoadOnDemand&&!c.newFullImport,!d.isValid){const t=d.length&&d.length<=1e3?await m.text():"";return e(0,`Sorry, this URL could not be loaded.\nMake sure this is a valid URL and you have access to this file.\nStatus: ${m.status} ${m.statusText}\nError Details:\n${t}`),y&&y.abort(),!1}if(!d.length)return e(0,"Sorry, this URL could not be loaded because the size of the file is not accessible.\nMake sure this is a valid URL and you have access to this file."),y&&y.abort(),!1;const b=d.length;if(".wacz"===f)if(n.onDemand)l=new tb(d,n,r),h=new sb(n,d,"wacz"),i="wacz";else{if(!d.canLoadOnDemand||!c.newFullImport)return e(0,"Sorry, can't load this WACZ file due to lack of range request support on the server"),y&&y.abort(),!1;l=new eb(d,n,r),h=null,delete n.extra}else!w||".warc"!==f&&".warc.gz"!==f?!w||".cdx"!==f&&".cdxj"!==f?".har"===f?(l=new uo(await m.json()),n.decode=!1):".json"===f&&(h=new sb(n,d,"json"),l=new rb(m),i="multiwacz"):(n.remotePrefix=t.remotePrefix||u.slice(0,u.lastIndexOf("/")+1),l=new go(w,y,r),i="remoteprefix",h=new ao(n.dbname,n.remotePrefix,n.headers,n.noCache)):n.noCache||!(b<s)&&n.onDemand?(l=new fo(w,y,r),i="remotesource",h=new oo(n.dbname,d,n.noCache)):l=new cs(w,y,r);if(!l)return e(0,`The ${n.sourceName} is not a known archive format that could be loaded.`),y&&y.abort(),!1;h||(h=new ns(n.dbname)),await h.initing;try{n.metadata=await l.load(h,e,b)}catch(t){return t instanceof C||(e(0,`Unexpected Loading Error: ${t.toString()}`),console.warn(t)),!1}if(a)return await this.updateSize(c.importCollId,b,b,a.decode),{config:a,type:"",name:""};n.metadata.size||(n.metadata.size=b),n.metadata.title||(n.metadata.title=n.sourceName),o=h}n.ctime=(new Date).getTime(),this._fileHandles&&n.extra?.fileHandle&&delete this._fileHandles[n.sourceUrl];const l={name:r,type:i,config:n};return await this.colldb.add("colls",l),l.store=o,l}}let db;class fb{timeRanges={};updateStats(t,e,r,i){const n=i.clientId||i.resultingClientId;if(!n||!t)return;if(!r.url||r.url.indexOf("mp_/")<0)return;if("document"===r.destination&&e>300&&e<400)return;let s;void 0===this.timeRanges[n]?(s={count:0,children:new Set},this.timeRanges[n]=s,r.referrer.indexOf("mp_/")>0&&db.clients.matchAll({type:"window"}).then((t=>this.updateStatsParent(n,r.referrer,t)))):s=this.timeRanges[n];const o=t.getTime();(!s.min||o<s.min)&&(s.min=o),(!s.max||o>s.max)&&(s.max=o),s.count++}updateStatsParent(t,e,r){for(const i of r)if(i.url===e){this.timeRanges[i.id]||(this.timeRanges[i.id]={count:0,children:new Set}),this.timeRanges[i.id].children.add(t);break}}async getStats(t){const e=new URL(t.request.url);let r="";const i=new URLSearchParams(e.search).get("url"),n=await db.clients.matchAll({type:"window"}),s={};for(const t of n)t.url===i&&(r=t.id),s[t.id]=1;const o=this.timeRanges[r]||{},a={count:o.count||0,min:o.min,max:o.max},c=this.timeRanges[r]&&this.timeRanges[r].children;for(const t of c.values()){const e=this.timeRanges[t];e&&(e.min&&(!a.min||e.min<a.min)&&(a.min=e.min),e.max&&(!a.max||e.max>a.max)&&(a.max=e.max),a.count+=e.count)}for(const t of Object.keys(this.timeRanges))s[t]||delete this.timeRanges[t];return new Response(JSON.stringify(a),{headers:{"Content-Type":"application/json"}})}}var gb=function(){return gb=Object.assign||function(t){for(var e,r=1,i=arguments.length;r<i;r++)for(var n in e=arguments[r])Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t},gb.apply(this,arguments)},yb=function(t){return void 0===t&&(t={}),{arrayFormat:t.arrayFormat||"none",booleanFormat:t.booleanFormat||"none",nullFormat:t.nullFormat||"default"}},mb=function(t){return encodeURIComponent(t)},wb=function(t){return decodeURIComponent(t)},bb=function(t,e){var r=yb(e);return function(t){var e=t.indexOf("?");return-1===e?t:t.slice(e+1)}(t).split("&").reduce((function(t,e){var i=e.split("="),n=i[0],s=i[1],o=function(t){var e=t.indexOf("["),r=-1!==e;return{hasBrackets:r,name:r?t.slice(0,e):t}}(n),a=o.hasBrackets,c=o.name,l=t[c],h=function(t,e){if(void 0===t)return"empty-true"===e.booleanFormat||null;if("string"===e.booleanFormat){if("true"===t)return!0;if("false"===t)return!1}if("unicode"===e.booleanFormat){if("✓"===wb(t))return!0;if("✗"===wb(t))return!1}return"string"===e.nullFormat&&"null"===t?null:wb(t)}(s,r);return t[c]=void 0===l?a?[h]:h:(Array.isArray(l)?l:[l]).concat(h),t}),{})},Ab=/[^!$'()*+,;|:]/g,vb=function(t){return t.replace(Ab,(function(t){return encodeURIComponent(t)}))},_b={default:vb,uri:encodeURI,uriComponent:encodeURIComponent,none:function(t){return t},legacy:encodeURI},Eb={default:decodeURIComponent,uri:decodeURI,uriComponent:decodeURIComponent,none:function(t){return t},legacy:decodeURIComponent},Sb=function(t,e,r){var i=_b[e]||vb;return r?String(t).split("/").map(i).join("/"):i(String(t))},Tb=function(t){return"("+(t?t.replace(/(^<|>$)/g,""):"[a-zA-Z0-9-_.~%':|=+\\*@$]+")+")"},xb=[{name:"url-parameter",pattern:/^:([a-zA-Z0-9-_]*[a-zA-Z0-9]{1})(<(.+?)>)?/,regex:function(t){return new RegExp(Tb(t[2]))}},{name:"url-parameter-splat",pattern:/^\*([a-zA-Z0-9-_]*[a-zA-Z0-9]{1})/,regex:/([^?]*)/},{name:"url-parameter-matrix",pattern:/^;([a-zA-Z0-9-_]*[a-zA-Z0-9]{1})(<(.+?)>)?/,regex:function(t){return new RegExp(";"+t[1]+"="+Tb(t[2]))}},{name:"query-parameter",pattern:/^(?:\?|&)(?::)?([a-zA-Z0-9-_]*[a-zA-Z0-9]{1})/},{name:"delimiter",pattern:/^(\/|\?)/,regex:function(t){return new RegExp("\\"+t[0])}},{name:"sub-delimiter",pattern:/^(!|&|-|_|\.|;)/,regex:function(t){return new RegExp(t[0])}},{name:"fragment",pattern:/^([0-9a-zA-Z]+)/,regex:function(t){return new RegExp(t[0])}}],Cb=function t(e,r){if(void 0===r&&(r=[]),!xb.some((function(i){var n=e.match(i.pattern);return!!n&&(r.push({type:i.name,match:n[0],val:n.slice(1,2),otherVal:n.slice(2),regex:i.regex instanceof Function?i.regex(n):i.regex}),n[0].length<e.length&&(r=t(e.substr(n[0].length),r)),!0)})))throw new Error("Could not parse path '"+e+"'");return r},Ib=function(t){return null!=t},Rb={urlParamsEncoding:"default"},kb=function(){function t(t,e){if(!t)throw new Error("Missing path in Path constructor");this.path=t,this.options=gb(gb({},Rb),e),this.tokens=Cb(t),this.hasUrlParams=this.tokens.filter((function(t){return/^url-parameter/.test(t.type)})).length>0,this.hasSpatParam=this.tokens.filter((function(t){return/splat$/.test(t.type)})).length>0,this.hasMatrixParams=this.tokens.filter((function(t){return/matrix$/.test(t.type)})).length>0,this.hasQueryParams=this.tokens.filter((function(t){return/^query-parameter/.test(t.type)})).length>0,this.spatParams=this.getParams("url-parameter-splat"),this.urlParams=this.getParams(/^url-parameter/),this.queryParams=this.getParams("query-parameter"),this.params=this.urlParams.concat(this.queryParams),this.source=this.tokens.filter((function(t){return void 0!==t.regex})).map((function(t){return t.regex.source})).join("")}return t.createPath=function(e,r){return new t(e,r)},t.prototype.isQueryParam=function(t){return-1!==this.queryParams.indexOf(t)},t.prototype.isSpatParam=function(t){return-1!==this.spatParams.indexOf(t)},t.prototype.test=function(t,e){var r=this,i=gb(gb({caseSensitive:!1,strictTrailingSlash:!1},this.options),e),n=function(t,e){return e||"\\/"===t?t:t.replace(/\\\/$/,"")+"(?:\\/)?"}(this.source,i.strictTrailingSlash),s=this.urlTest(t,n+(this.hasQueryParams?"(\\?.*$|$)":"$"),i.caseSensitive,i.urlParamsEncoding);if(!s||!this.hasQueryParams)return s;var o=bb(t,i.queryParams),a=Object.keys(o).filter((function(t){return!r.isQueryParam(t)}));return 0===a.length?(Object.keys(o).forEach((function(t){return s[t]=o[t]})),s):null},t.prototype.partialTest=function(t,e){var r=this,i=gb(gb({caseSensitive:!1,delimited:!0},this.options),e),n=function(t,e){return e?/(\/)$/.test(t)?t:t+"(\\/|\\?|\\.|;|$)":t}(this.source,i.delimited),s=this.urlTest(t,n,i.caseSensitive,i.urlParamsEncoding);if(!s)return s;if(!this.hasQueryParams)return s;var o=bb(t,i.queryParams);return Object.keys(o).filter((function(t){return r.isQueryParam(t)})).forEach((function(t){return function(t,e,r){void 0===r&&(r="");var i=t[e];return t[e]=void 0===i?r:Array.isArray(i)?i.concat(r):[i,r],t}(s,t,o[t])})),s},t.prototype.build=function(t,e){var r=this;void 0===t&&(t={});var i=gb(gb({ignoreConstraints:!1,ignoreSearch:!1,queryParams:{}},this.options),e),n=Object.keys(t).filter((function(t){return!r.isQueryParam(t)})).reduce((function(e,n){if(!Ib(t[n]))return e;var s=t[n],o=r.isSpatParam(n);return"boolean"==typeof s?e[n]=s:Array.isArray(s)?e[n]=s.map((function(t){return Sb(t,i.urlParamsEncoding,o)})):e[n]=Sb(s,i.urlParamsEncoding,o),e}),{});if(this.urlParams.some((function(e){return!Ib(t[e])}))){var s=this.urlParams.filter((function(e){return!Ib(t[e])}));throw new Error("Cannot build path: '"+this.path+"' requires missing parameters { "+s.join(", ")+" }")}if(!i.ignoreConstraints&&!this.tokens.filter((function(t){return/^url-parameter/.test(t.type)&&!/-splat$/.test(t.type)})).every((function(t){return new RegExp("^"+Tb(t.otherVal[0])+"$").test(n[t.val])})))throw new Error("Some parameters of '"+this.path+"' are of invalid format");var o=this.tokens.filter((function(t){return!1===/^query-parameter/.test(t.type)})).map((function(t){return"url-parameter-matrix"===t.type?";"+t.val+"="+n[t.val[0]]:/^url-parameter/.test(t.type)?n[t.val[0]]:t.match})).join("");if(i.ignoreSearch)return o;var a=this.queryParams.filter((function(e){return-1!==Object.keys(t).indexOf(e)})).reduce((function(e,r){return e[r]=t[r],e}),{}),c=function(t,e){var r=yb(e);return Object.keys(t).filter((function(e){return function(t){return void 0!==t}(t[e])})).map((function(e){return function(t,e,r){return null===e?function(t,e){return"hidden"===e.nullFormat?"":"string"===e.nullFormat?t+"=null":t}(t,r):"boolean"==typeof e?function(t,e,r){return"empty-true"===r.booleanFormat&&e?t:t+"="+("unicode"===r.booleanFormat?e?"✓":"✗":e.toString())}(t,e,r):Array.isArray(e)?function(t,e,r){var i=function(t){return"index"===t.arrayFormat?function(t,e){return t+"["+e+"]"}:"brackets"===t.arrayFormat?function(t){return t+"[]"}:function(t){return t}}(r);return e.map((function(e,r){return i(t,r)+"="+mb(e)})).join("&")}(t,e,r):t+"="+mb(e)}(e,t[e],r)})).filter(Boolean).join("&")}(a,i.queryParams);return c?o+"?"+c:o},t.prototype.getParams=function(t){var e=t instanceof RegExp?function(e){return t.test(e.type)}:function(e){return e.type===t};return this.tokens.filter(e).map((function(t){return t.val[0]}))},t.prototype.urlTest=function(t,e,r,i){var n=this,s=new RegExp("^"+e,r?"":"i"),o=t.match(s);return o?this.urlParams.length?o.slice(1,this.urlParams.length+1).reduce((function(t,e,r){return t[n.urlParams[r]]=(Eb[i]||decodeURIComponent)(e),t}),{}):{}:null},t}();class Nb{routes={};constructor(t){for(const[e,r]of Object.entries(t)){let t,i;r instanceof Array?(t=r[0],i=r[1]||"GET"):(t=r,i="GET"),this.routes[i]=this.routes[i]||{},this.routes[i][e]=new kb(t)}}match(t,e="GET"){for(const[r,i]of Object.entries(this.routes[e]||[])){const e=t.split("?",2),n=e[0],s=i.test(n);if(s)return s._route=r,s._query=new URLSearchParams(2===e.length?e[1]:""),s}return{_route:null}}}class Ob{router;collections;constructor(t){this.router=new Nb(this.routes),this.collections=t}get routes(){return{index:"coll-index",coll:"c/:coll",urls:"c/:coll/urls",urlsTs:"c/:coll/ts/",createColl:["c/create","POST"],deleteColl:["c/:coll","DELETE"],updateAuth:["c/:coll/updateAuth","POST"],updateMetadata:["c/:coll/metadata","POST"],curated:"c/:coll/curated/:list",pages:"c/:coll/pages",textIndex:"c/:coll/textIndex",deletePage:["c/:coll/page/:page","DELETE"]}}async apiResponse(t,e,r){const i=this.router.match(t,e.method),n=await this.handleApi(e,i,r);if(n instanceof Response)return n;const s=n.error?404:200;return this.makeResponse(n,s)}async handleApi(t,e,r){switch(e._route){case"index":return await this.listAll(e._query.get("filter"));case"createColl":{const e=await t.json();return E(await this.collections.initNewColl(e.metadata||{},e.extraConfig||{}))}case"coll":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};const r=E(t);return"1"===e._query.get("all")?(t.store.db?(r.pages=await t.store.getAllPages(),r.lists=await t.store.db.getAll("pageLists"),r.curatedPages=await t.store.db.getAll("curatedPages"),t.store instanceof sb&&(r.canQueryPages=!!t.store.pagesQueryUrl)):(r.pages=[],r.lists=[],r.curatedPages=[]),r.verify=await t.store.getVerifyInfo()):t.store.db?(r.numLists=await t.store.db.count("pageLists"),r.numPages=await t.store.db.count("pages")):(r.numLists=0,r.numPages=0),t.config.metadata.ipfsPins&&(r.ipfsPins=t.config.metadata.ipfsPins),r}case"deleteColl":{const t="1"===e._query.get("reload");return await this.collections.deleteColl(e.coll,t)?await this.listAll():{error:"collection_not_found"}}case"updateAuth":{const r=await t.json();return{success:await this.collections.updateAuth(e.coll,r.headers)}}case"updateMetadata":{const r=await t.json();return{metadata:await this.collections.updateMetadata(e.coll,r)}}case"urls":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};const r=e._query.get("url"),i=Number(e._query.get("count")||100),n=e._query.get("mime"),s="1"===e._query.get("prefix"),o=e._query.get("fromUrl"),a=e._query.get("fromTs"),c=e._query.get("fromMime"),l=Number(e._query.get("fromStatus")||0);if(!t.store.resourcesByMime)return{urls:[]};let h;return h=r?await t.store.resourcesByUrlAndMime(r,n,i,s,o,a):await t.store.resourcesByMime(n,i,c,o,l),h=h||[],{urls:h}}case"urlsTs":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};const r=e._query.get("url");return{timestamps:await t.store.getTimestampsByURL(r)}}case"pages":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};let r;if(t.store instanceof sb){const i=e._query.get("search"),n=Number(e._query.get("page"))||1,s=Number(e._query.get("pageSize"))||25;if(i||n>1){const{pages:e,total:r}=await t.store.queryPages(i,n,s);return{pages:e,total:r}}r=t.store.totalPages}return{pages:await t.store.getAllPages(),total:r}}case"textIndex":{const t=await this.collections.getColl(e.coll);return t?t.store.getTextIndex?await t.store.getTextIndex():{}:{error:"collection_not_found"}}case"curated":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};const r=Number(e.list);return t.store.db?{curated:await t.store.db.getAllFromIndex("curatedPages","listPages",IDBKeyRange.bound([r],[r+1]))}:{curated:[]}}case"deletePage":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};const{pageSize:r,dedupSize:i}=await t.store.deletePage(e.page);return this.collections.updateSize(e.coll,r,i),{pageSize:r,dedupSize:i}}default:return{error:"not_found"}}}async listAll(t){const e=await this.collections.listAll(),r=[];return e.forEach((e=>{"live"!==e.type&&"remoteproxy"!==e.type&&(t&&!e.type.startsWith(t)||r.push(E(e)))})),{colls:r}}makeResponse(t,e=200){return new Response(JSON.stringify(t),{status:e,headers:{"Content-Type":"application/json"}})}}const Bb=/^(?::([\w-]+)\/)?(\d*)([a-z]+_|[$][a-z0-9:.-]+)?(?:\/|\||%7C|%7c)(.+)/;class Pb{url="";timestamp="";mod="";pageId="";hash="";cookie="";isProxyOrigin=!1;request;method;mode;_postToGetConverted=!1;constructor(t,e,{isRoot:r=!1,mod:i="",ts:n="",proxyOrigin:s=null,localOrigin:o=null}={}){const a=Bb.exec(t);if(this.timestamp=n,this.mod=i,this.request=e,this.method=e.method,this.mode=e.mode,!a&&(t.startsWith("https:")||t.startsWith("http:")||t.startsWith("blob:")))this.url=t;else if(!a&&r)this.url="https://"+t;else{if(!a)return void(this.url="");this.pageId=a[1]||"",this.timestamp=a[2],this.mod=a[3],this.url=a[4]}if(s&&o){const t=new URL(this.url);t.origin===o&&(this.url=s+t.pathname+(t.search?t.search:"")),this.isProxyOrigin=!0}const c=this.url.indexOf("#");c>0&&(this.hash=this.url.slice(c),this.url=this.url.substring(0,c))}get headers(){return this.request.headers}get destination(){return this.request.destination}get referrer(){return this.request.referrer}async convertPostToGet(){if(this._postToGetConverted)return this.url;const t=this.request;if("POST"!==t.method&&"PUT"!==t.method)return this.url;const e={method:t.method,postData:await t.text(),headers:t.headers,url:this.url};return et(e)&&(this.url=e.url,this.method="GET",this.mode="navigate"===this.request.mode?"same-origin":this.request.mode,this._postToGetConverted=!0),this.url}prepareProxyRequest(t,e=!0){let r,i,n;if(e){r=new Headers(this.request.headers),i=this.request.referrer;const e=i.indexOf("/http",t.length-1);e>0&&(i=i.slice(e+1),r.set("X-Proxy-Referer",i)),n=this.request.credentials,this.cookie&&r.set("X-Proxy-Cookie",this.cookie)}else r=new Headers,n="omit";let s=this.url;if(s.startsWith("//")&&i)try{s=new URL(i).protocol+s}catch(t){s="https:"+s}return{referrer:i,headers:r,credentials:n,url:s}}async getBody(){const t=this.request.clone();return new Uint8Array(await t.arrayBuffer())}}const Db="x-wabac-is-ajax-req";class Lb extends pb{prefixes;colls;inited;root;defaultConfig;constructor(t,e=null,r={}){super(self),this.prefixes=t,this.colls={},this.inited=null,this.root=e,this.defaultConfig=r,this._fileHandles={}}_createCollection(t){return new _n(t,this.prefixes,this.defaultConfig)}async loadAll(t){return this.colls={},this.inited=super.loadAll(t),this.inited}async getColl(t){return this.colls[t]||(this.colls[t]=await this.loadColl(t)),this.colls[t]}async reload(t){delete this.colls[t],await this.getColl(t)}async addCollection(t,e){const r=await super.addCollection(t,e);return r&&r.name&&(this.colls[r.name]=this._createCollection(r)),r}async deleteColl(t,e=!1){return this.colls[t]&&(this.colls[t].store&&await this.colls[t].store.delete(),this._fileHandles&&e&&this.colls[t].config.extra?.fileHandle&&(this._fileHandles[this.colls[t].config.sourceUrl]=this.colls[t].config.extra.fileHandle)),!!await super.deleteColl(t)&&(delete this.colls[t],!0)}async initNewColl(t,e={},r="archive"){const i=await super.initNewColl(t,e,r);return i&&(this.colls[i.name]=i),i}async updateAuth(t,e){return this.colls[t]&&this.colls[t].store.updateHeaders&&this.colls[t].store.updateHeaders(e),await super.updateAuth(t,e)}async updateMetadata(t,e){const r=await super.updateMetadata(t,e);return this.colls[t]&&r&&(this.colls[t].config.metadata=r,this.colls[t].metadata=r),r}async updateSize(t,e,r,i){const n=await super.updateSize(t,e,r,i);return this.colls[t]&&n&&(this.colls[t].config.metadata=n,this.colls[t].metadata=n),void 0!==i&&this.colls[t]&&(this.colls[t].config.decode=i),n}}self.registration?(self.sw=new class{prefix;replayPrefix;staticPrefix;distPrefix;staticData;collections;proxyOriginMode;api;apiPrefix;allowRewrittenCache;stats;constructor({staticData:t=null,ApiClass:e=Ob,defaultConfig:r={},CollectionsClass:i=Lb}={}){this.prefix=self.registration?self.registration.scope:"",this.replayPrefix=this.prefix;const n=new URLSearchParams(self.location.search);let s="w";n.has("replayPrefix")&&(s=n.get("replayPrefix")),s&&(this.replayPrefix+=s+"/"),this.staticPrefix=this.prefix+"static/",this.distPrefix=this.prefix+"dist/";const o={static:this.staticPrefix,root:this.prefix,main:this.replayPrefix};if(this.staticData=t||new Map,this.staticData.set(this.staticPrefix+"wombat.js",{type:"application/javascript",content:'(()=>{"use strict";function t(){this._map=[]}function e(t,e){void 0!==self.Symbol&&void 0!==self.Symbol.toStringTag&&Object.defineProperty(t.prototype,self.Symbol.toStringTag,{value:e,enumerable:!1})}function r(t){for(var e,r,i=t.__proto__||t.constructor.prototype||t.prototype,o=Object.getOwnPropertyNames(i),n=o.length,s=0;s<n;s++)r=t[e=o[s]],"constructor"!==e&&"function"==typeof r&&(t[e]=r.bind(t))}t.prototype.set=function(t,e){this._map.push([t,e])},t.prototype.get=function(t){for(var e=0;e<this._map.length;e++)if(this._map[e][0]===t)return this._map[e][1];return null},t.prototype.find=function(t){for(var e=0;e<this._map.length;e++)if(this._map[e][0]===t)return e;return-1},t.prototype.add_or_get=function(t,e){var r=this.get(t);return r||(r=e(),this.set(t,r)),r},t.prototype.remove=function(t){var e=this.find(t);return e>=0?this._map.splice(e,1)[0][1]:null},t.prototype.map=function(t){for(var e=0;e<this._map.length;e++)this._map[e][1](t)};var i={yes:!1},o=Symbol("__wb__storage_WOMBAT"),n=Symbol("__wb__storage_TYPE");function s(t,e,r){if(i.yes)throw new TypeError("Illegal constructor");if(r&&r.length)for(var s=0;s<r.length;s++)this[r[s][0]]=r[s][1].toString();Object.defineProperty(this,o,{value:t,enumerable:!1}),Object.defineProperty(this,n,{value:e,enumerable:!1})}function a(t,e,r){var i=new s(t,e,r);return t.$wbwindow.Proxy&&(i=new t.$wbwindow.Proxy(i,{get:function(t,e){var r=t.__proto__;if("__proto__"===e)return r;if(r.hasOwnProperty(e)||r.__proto__&&r.__proto__.hasOwnProperty(e)){var i=t[e];return"function"==typeof i&&(i=i.bind(t)),i}return t.hasOwnProperty(e)?t.getItem(e):void 0},set:function(t,e,r){return t.__proto__.hasOwnProperty(e)?(t[e]=r,!0):(t.setItem(e,r),!0)}})),t.defGetterProp(t.$wbwindow,e,(function(){return i})),i}function w(t,e){for(var r in Object.defineProperties(this,{_orig_loc:{configurable:!0,enumerable:!1,value:t},wombat:{configurable:!0,enumerable:!1,value:e},orig_getter:{enumerable:!1,value:function(t){return this._orig_loc[t]}},orig_setter:{enumerable:!1,value:function(t,e){this._orig_loc[t]!=e&&(this._orig_loc[t]=e)}}}),e.initLocOverride(this,this.orig_setter,this.orig_getter),e.setLoc(this,t.href),t)this.hasOwnProperty(r)||"function"==typeof t[r]||(this[r]=t[r])}function h(t,e){if(!(this instanceof h))return new h(t,e);this.elemSelector="img[srcset], img[data-srcset], img[data-src], video[srcset], video[data-srcset], video[data-src], audio[srcset], audio[data-srcset], audio[data-src], picture > source[srcset], picture > source[data-srcset], picture > source[data-src], video > source[srcset], video > source[data-srcset], video > source[data-src], audio > source[srcset], audio > source[data-srcset], audio > source[data-src]",this.wombat=t,this.$wbwindow=t.$wbwindow,this.worker=null,r(this),this._initWorker(e)}function p(t,e){return function(r){if(window==e)return t(r)}}function c(t,e,r){var i;return i="function"==typeof t?t:"object"==typeof t?t.handleEvent.bind(t):function(){},function(t){var o;if(t.data&&t.data.from&&t.data.message){if("*"!==t.data.to_origin&&e.WB_wombat_location&&!r.startsWith(t.data.to_origin,e.WB_wombat_location.origin))return void console.warn("Skipping message event to "+t.data.to_origin+" doesn\'t start with origin "+e.WB_wombat_location.origin);var n=t.source;t.data.from_top?n=e.__WB_top_frame:t.data.src_id&&e.__WB_win_id&&e.__WB_win_id[t.data.src_id]&&(n=e.__WB_win_id[t.data.src_id]),(o=new MessageEvent("message",{bubbles:t.bubbles,cancelable:t.cancelable,data:t.data.message,origin:t.data.from,lastEventId:t.lastEventId,source:r.proxyToObj(n),ports:t.ports}))._target=t.target,o._srcElement=t.srcElement,o._currentTarget=t.currentTarget,o._eventPhase=t.eventPhase}else o=t;return i(o)}}function l(t){let e;e="string"==typeof t?t:t?.length?t.reduce(((t,e)=>t+=String.fromCharCode(e)),""):t?t.toString():"";try{return"__wb_post_data="+btoa(e)}catch{return"__wb_post_data="}}function u(t){let{method:e,headers:r,postData:i=""}=t;if("GET"===e)return!1;let o=(t=>{let e=t.get("content-type");if(e)return e;if(!(t instanceof Headers))for(let[e,r]of t.entries())if(e&&"content-type"===e.toLowerCase())return r;return""})(r);function n(t){return t instanceof Uint8Array&&(t=(new TextDecoder).decode(t)),t}let s="";switch(o.split(";")[0]){case"application/x-www-form-urlencoded":s=n(i);break;case"application/json":s=d(n(i));break;case"text/plain":try{s=d(n(i),!1)}catch{s=l(i)}break;case"multipart/form-data":if(!o)throw new Error("utils cannot call postToGetURL when missing content-type header");s=function(t,e){return function(t="",e){let r=new URLSearchParams;t instanceof Uint8Array&&(t=(new TextDecoder).decode(t));try{let i=e.split("boundary=")[1],o=t.split(new RegExp("-*"+i+"-*","mi"));for(let t of o){let e=t.trim().match(/name="([^"]+)"\\r\\n\\r\\n(.*)/im);e&&r.set(e[1],e[2])}}catch{}return r}(t,e).toString()}(n(i),o);break;default:s=l(i)}return null!=s&&(t.url=function(t,e,r){if(!r)return t;let i=t.indexOf("?")>0?"&":"?";return`${t}${i}__wb_method=${r}&${e}`}(t.url,decodeURI(s),t.method),t.method="GET",t.requestBody=s,!0)}function _(t,e=!0){if("string"==typeof t)try{t=JSON.parse(t)}catch{t={}}let r=new URLSearchParams,i={},o=(t,e="")=>{let n="";if("object"!=typeof t||t instanceof Array){if(t instanceof Array)for(let r=0;r<t.length;r++)o(t[r],e)}else try{for(let[e,r]of Object.entries(t))o(r,e)}catch{null===t&&(n="null")}["string","number","boolean"].includes(typeof t)&&(n=t.toString()),n&&r.set((t=>r.has(t)?(t in i||(i[t]=1),t+"."+ ++i[t]+"_"):t)(e),n)};try{o(t)}catch(t){if(!e)throw t}return r}function d(t="",e=!0){return _(t,e).toString()}s.prototype.getItem=function(t){return this.hasOwnProperty(t)?this[t]:null},s.prototype.setItem=function(t,e){var r=String(t),i=String(e),o=this.getItem(r);this[r]=e,this.fireEvent(r,o,i)},s.prototype._deleteItem=function(t){delete this[t]},s.prototype.removeItem=function(t){var e=this.getItem(t);this._deleteItem(t),this.fireEvent(t,e,null)},s.prototype.clear=function(){for(var t in this)delete this[t];this.fireEvent(null,null,null)},s.prototype.key=function(t){var e=function(t){try{switch(typeof t){case"number":case"bigint":return t}var e=Number(t);return isNaN(e)?null:e}catch(t){}return null}(t);if(null==e||e<0)return null;var r=Object.keys(this);return e<r.length?r[e]:null},s.prototype.fireEvent=function(t,e,r){var i=new StorageEvent("storage",{key:t,newValue:r,oldValue:e,url:this[o].$wbwindow.WB_wombat_location.href});Object.defineProperty(i,"storageArea",{value:this,writable:!1,configurable:!1}),i._storageArea=this,this[o].storage_listeners.map(i)},s.prototype.valueOf=function(){return this[o].$wbwindow[this[n]]},s.prototype.toString=function(){return"[object Storage]"},Object.defineProperty(s.prototype,"length",{enumerable:!1,get:function(){return Object.keys(this).length}}),e(s,"Storage"),w.prototype.replace=function(t){var e=this.wombat.rewriteUrl(t),r=this.wombat.extractOriginalURL(e);return r===this.href?r:this._orig_loc.replace(e)},w.prototype.assign=function(t){var e=this.wombat.rewriteUrl(t),r=this.wombat.extractOriginalURL(e);return r===this.href?r:this._orig_loc.assign(e)},w.prototype.reload=function(t){},w.prototype.toString=function(){return this.href},w.prototype.valueOf=function(){return this},e(w,"Location"),h.prototype._initWorker=function(t){var e=this.wombat;if(t.isTop)try{this.worker=new Worker(t.workerURL,{type:"classic",credentials:"include"})}catch(t){console.error("Failed to create auto fetch worker\\n",t)}else this.worker={postMessage:function(t){t.wb_type||(t={wb_type:"aaworker",msg:t}),e.$wbwindow.__WB_replay_top.__orig_postMessage(t,"*")},terminate:function(){}}},h.prototype.extractMediaRulesFromSheet=function(t){var e,r=[];try{e=t.cssRules||t.rules}catch(t){return r}for(var i=0;i<e.length;++i){var o=e[i];o.type===CSSRule.MEDIA_RULE&&r.push(o.cssText)}return r},h.prototype.deferredSheetExtraction=function(t){var e=this;Promise.resolve().then((function(){var r=e.extractMediaRulesFromSheet(t);r.length>0&&e.preserveMedia(r)}))},h.prototype.terminate=function(){this.worker.terminate()},h.prototype.justFetch=function(t){this.worker.postMessage({type:"fetch-all",values:t})},h.prototype.fetchAsPage=function(t,e,r){if(t){var i={"X-Wombat-History-Page":e};if(r){var o=encodeURIComponent(r.trim());r&&(i["X-Wombat-History-Title"]=o)}var n={url:t,options:{headers:i,cache:"no-store"}};this.justFetch([n])}},h.prototype.postMessage=function(t,e){if(e){var r=this;Promise.resolve().then((function(){r.worker.postMessage(t)}))}else this.worker.postMessage(t)},h.prototype.preserveSrcset=function(t,e){this.postMessage({type:"values",srcset:{value:t,mod:e,presplit:!0}},!0)},h.prototype.preserveDataSrcset=function(t){this.postMessage({type:"values",srcset:{value:t.dataset.srcset,mod:this.rwMod(t),presplit:!1}},!0)},h.prototype.preserveMedia=function(t){this.postMessage({type:"values",media:t},!0)},h.prototype.getSrcset=function(t){return this.wombat.wb_getAttribute?this.wombat.wb_getAttribute.call(t,"srcset"):t.getAttribute("srcset")},h.prototype.rwMod=function(t){switch(t.tagName){case"SOURCE":return t.parentElement&&"PICTURE"===t.parentElement.tagName?"im_":"oe_";case"IMG":return"im_"}return"oe_"},h.prototype.extractFromLocalDoc=function(){var t=this;Promise.resolve().then((function(){for(var e={type:"values",context:{docBaseURI:document.baseURI}},r=[],i=0,o=document.styleSheets;i<o.length;++i)r=r.concat(t.extractMediaRulesFromSheet(o[i]));var n,s,a,w=document.querySelectorAll(t.elemSelector),h={values:[],presplit:!1},p={values:[]};for(i=0;i<w.length;++i)s=(n=w[i]).src?n.src:null,a=t.rwMod(n),n.srcset&&h.values.push({srcset:t.getSrcset(n),mod:a,tagSrc:s}),n.dataset.srcset&&h.values.push({srcset:n.dataset.srcset,mod:a,tagSrc:s}),n.dataset.src&&p.values.push({src:n.dataset.src,mod:a}),"SOURCE"===n.tagName&&s&&p.values.push({src:s,mod:a});r.length&&(e.media=r),h.values.length&&(e.srcset=h),p.values.length&&(e.src=p),(e.media||e.srcset||e.src)&&t.postMessage(e)}))};var f=null,b=",,,";Map,Symbol.iterator;function y(e,i){if(!(this instanceof y))return new y(e,i);this.debug_rw=!1,this.$wbwindow=e,this.WBWindow=Window,this.URL=URL,this.origHost=e.location.host,this.origHostname=e.location.hostname,this.origProtocol=e.location.protocol,this.HTTP_PREFIX="http://",this.HTTPS_PREFIX="https://",this.REL_PREFIX="//",this.VALID_PREFIXES=[this.HTTP_PREFIX,this.HTTPS_PREFIX,this.REL_PREFIX],this.IGNORE_PREFIXES=["#","about:","data:","blob:","mailto:","javascript:","{","*"],"ignore_prefixes"in i&&(this.IGNORE_PREFIXES=this.IGNORE_PREFIXES.concat(i.ignore_prefixes)),this.WB_CHECK_THIS_FUNC="_____WB$wombat$check$this$function_____",this.WB_ASSIGN_FUNC="_____WB$wombat$assign$function_____",this.SKIP_OWN_FUNC_PROPS=["name","length","__WB_is_native_func__","arguments","caller","callee","prototype"],this.OVERRIDE_PROPS=["window","self","document","location","top","parent","frames","opener"],this.wb_setAttribute=e.Element.prototype.setAttribute,this.wb_getAttribute=e.Element.prototype.getAttribute,this.wb_funToString=Function.prototype.toString,this.WBAutoFetchWorker=null,this.wbUseAFWorker=i.enable_auto_fetch&&null!=e.Worker&&i.is_live,this.wb_rel_prefix="",this.wb_wombat_updating=!1,this.message_listeners=new t,this.storage_listeners=new t,this.linkAsTypes={script:"js_",worker:"js_",style:"cs_",image:"im_",document:"if_",fetch:"mp_",font:"oe_",audio:"oe_",video:"oe_",embed:"oe_",object:"oe_",track:"oe_","":"mp_",null:"mp_",undefined:"mp_"},this.linkTagMods={linkRelToAs:{import:this.linkAsTypes,preload:this.linkAsTypes},stylesheet:"cs_",null:"mp_",undefined:"mp_","":"mp_"},this.tagToMod={A:{href:"mp_"},AREA:{href:"mp_"},AUDIO:{src:"oe_",poster:"im_"},BASE:{href:"mp_"},EMBED:{src:"oe_"},FORM:{action:"mp_"},FRAME:{src:"fr_"},IFRAME:{src:"if_"},IMAGE:{href:"im_","xlink:href":"im_"},IMG:{src:"im_",srcset:"im_"},INPUT:{src:"oe_"},INS:{cite:"mp_"},META:{content:"mp_"},OBJECT:{data:"oe_",codebase:"oe_"},Q:{cite:"mp_"},SCRIPT:{src:"js_","xlink:href":"js_"},SOURCE:{src:"oe_",srcset:"oe_"},TRACK:{src:"oe_"},VIDEO:{src:"oe_",poster:"im_"},image:{href:"im_","xlink:href":"im_"}},this.URL_PROPS=["href","hash","pathname","host","hostname","protocol","origin","search","port"],this.wb_info=i,this.wb_opts=i.wombat_opts,this.wb_replay_prefix=i.prefix,this.wb_is_proxy=this.wb_info.proxy_magic||!this.wb_replay_prefix,this.wb_info.top_host=this.wb_info.top_host||"*",this.wb_curr_host=e.location.protocol+"//"+e.location.host,this.wb_info.wombat_opts=this.wb_info.wombat_opts||{},this.wb_orig_scheme=this.wb_info.wombat_scheme+"://",this.wb_orig_origin=this.wb_orig_scheme+this.wb_info.wombat_host,this.wb_abs_prefix=this.wb_replay_prefix,this.wb_capture_date_part="",!this.wb_info.is_live&&this.wb_info.wombat_ts&&(this.wb_capture_date_part="/"+this.wb_info.wombat_ts+"/"),this.BAD_PREFIXES=["http:"+this.wb_replay_prefix,"https:"+this.wb_replay_prefix,"http:/"+this.wb_replay_prefix,"https:/"+this.wb_replay_prefix],this.hostnamePortRe=/^[\\w-]+(\\.[\\w-_]+)+(:\\d+)(\\/|$)/,this.ipPortRe=/^\\d+\\.\\d+\\.\\d+\\.\\d+(:\\d+)?(\\/|$)/,this.workerBlobRe=/__WB_pmw\\(.*?\\)\\.(?=postMessage\\()/g,this.rmCheckThisInjectRe=/_____WB\\$wombat\\$check\\$this\\$function_____\\(.*?\\)/g,this.STYLE_REGEX=/(url\\s*\\(\\s*[\\\\"\']*)([^)\'"]+)([\\\\"\']*\\s*\\))/gi,this.IMPORT_REGEX=/(@import\\s*[\\\\"\']*)([^)\'";]+)([\\\\"\']*\\s*;?)/gi,this.IMPORT_JS_REGEX=/^(import\\s*\\([\'"]+)([^\'"]+)(["\'])/i,this.no_wombatRe=/WB_wombat_/g,this.srcsetRe=/\\s*(\\S*\\s+[\\d.]+[wx]),|(?:\\s*,(?:\\s+|(?=https?:)))/,this.cookie_path_regex=/\\bPath=\'?"?([^;\'"\\s]+)/i,this.cookie_domain_regex=/\\bDomain=([^;\'"\\s]+)/i,this.cookie_expires_regex=/\\bExpires=([^;\'"]+)/gi,this.SetCookieRe=/,(?![|])/,this.IP_RX=/^(\\d)+\\.(\\d)+\\.(\\d)+\\.(\\d)+$/,this.FullHTMLRegex=/^\\s*<(?:html|head|body|frameset|frame|!doctype html)/i,this.IsTagRegex=/^\\s*</,this.DotPostMessageRe=/(\\.postMessage\\s*\\()/,this.extractPageUnderModifierRE=/\\/(?:[0-9]{14})?([a-z]{2, 3}_)\\//,this.write_buff="";var o=(e.EventTarget||{}).prototype;this.utilFns={cspViolationListener:function(t){if(console.group("CSP Violation"),console.log("Replayed Page URL",window.WB_wombat_location.href),console.log("The documentURI",t.documentURI),console.log("The blocked URL",t.blockedURI),console.log("The directive violated",t.violatedDirective),console.log("Our policy",t.originalPolicy),t.sourceFile){var e="File: "+t.sourceFile;t.lineNumber&&t.columnNumber?e+=" @ "+t.lineNumber+":"+t.columnNumber:t.lineNumber&&(e+=" @ "+t.lineNumber),console.log(e)}console.groupEnd()},addEventListener:o.addEventListener,removeEventListener:o.removeEventListener,objToString:Object.prototype.toString,wbSheetMediaQChecker:null,XHRopen:null,XHRsend:null},this.showCSPViolations={yesNo:!1,added:!1},r(this)}y.prototype._internalInit=function(){this.initTopFrame(this.$wbwindow),this.initWombatLoc(this.$wbwindow),this.initWombatTop(this.$wbwindow);var t=this.$wbwindow.__WB_replay_top.location.origin,e=this.$wbwindow.__WB_replay_top.location.host,r=this.$wbwindow.__WB_replay_top.location.protocol;this.wb_replay_prefix&&0===this.wb_replay_prefix.indexOf(t)?this.wb_rel_prefix=this.wb_replay_prefix.substring(t.length):this.wb_rel_prefix=this.wb_replay_prefix,this.wb_prefixes=[this.wb_abs_prefix,this.wb_rel_prefix];var i="(("+r+")?//"+e+")?"+this.wb_rel_prefix+"[^/]+/";this.wb_unrewrite_rx=new RegExp(i,"g"),this.wb_info.is_framed&&"bn_"!==this.wb_info.mod&&this.initTopFrameNotify(this.wb_info),this.initAutoFetchWorker()},y.prototype._addRemoveCSPViolationListener=function(t){this.showCSPViolations.yesNo=t,this.showCSPViolations.yesNo&&!this.showCSPViolations.added?(this.showCSPViolations.added=!0,this._addEventListener(document,"securitypolicyviolation",this.utilFns.cspViolationListener)):(this.showCSPViolations.added=!1,this._removeEventListener(document,"securitypolicyviolation",this.utilFns.cspViolationListener))},y.prototype._addEventListener=function(t,e,r){if(this.utilFns.addEventListener)return this.utilFns.addEventListener.call(t,e,r);t.addEventListener(e,r)},y.prototype._removeEventListener=function(t,e,r){if(this.utilFns.removeEventListener)return this.utilFns.removeEventListener.call(t,e,r);t.removeEventListener(e,r)},y.prototype.getPageUnderModifier=function(){try{var t=this.extractPageUnderModifierRE.exec(location.pathname);if(t&&t[1])return t[1].trim()||"mp_"}catch(t){}return"mp_"},y.prototype.isNativeFunction=function(t){return!(!t||"function"!=typeof t)&&(-1!=this.wb_funToString.call(t).indexOf("[native code]")&&(void 0===t.__WB_is_native_func__||!!t.__WB_is_native_func__))},y.prototype.isString=function(t){return null!=t&&Object.getPrototypeOf(t)===String.prototype},y.prototype.blobUrlForIframe=function(t,e){var r=new Blob([e],{type:"text/html"}),i=this.URL.createObjectURL(r),o=this.URL;t.__wb_blobSrc=i,t.addEventListener("load",(function(){t.__wb_blobSrc&&(o.revokeObjectURL(t.__wb_blobSrc),t.__wb_blobSrc=null)}),{once:!0}),t.__wb_origSrc=t.src;var n=i.slice(i.lastIndexOf("/")+1)+"/"+this.wb_info.url;t.src=this.wb_info.prefix+this.wb_info.request_ts+"mp_/blob:"+n},y.prototype.isSavedSrcSrcset=function(t){switch(t.tagName){case"IMG":case"VIDEO":case"AUDIO":return!0;case"SOURCE":if(!t.parentElement)return!1;switch(t.parentElement.tagName){case"PICTURE":case"VIDEO":case"AUDIO":return!0;default:return!1}default:return!1}},y.prototype.isSavedDataSrcSrcset=function(t){return!(!t.dataset||null==t.dataset.srcset)&&this.isSavedSrcSrcset(t)},y.prototype.isHostUrl=function(t){if(0===t.indexOf("www."))return!0;var e=t.match(this.hostnamePortRe);return!!(e&&e[0].length<64)||!!(e=t.match(this.ipPortRe))&&e[0].length<64},y.prototype.isArgumentsObj=function(t){if(!t||"function"!=typeof t.toString)return!1;try{return"[object Arguments]"===this.utilFns.objToString.call(t)}catch(t){return!1}},y.prototype.deproxyArrayHandlingArgumentsObj=function(t){if(!t||t instanceof NodeList||!t.length)return t;for(var e=this.isArgumentsObj(t)?new Array(t.length):t,r=0;r<t.length;++r){const i=this.proxyToObj(t[r]);i!==e[r]&&(e[r]=i)}return e},y.prototype.startsWith=function(t,e){if(t)return 0===t.indexOf(e)?e:void 0},y.prototype.startsWithOneOf=function(t,e){if(t)for(var r=0;r<e.length;r++)if(0===t.indexOf(e[r]))return e[r]},y.prototype.endsWith=function(t,e){if(t)return-1!==t.indexOf(e,t.length-e.length)?e:void 0},y.prototype.shouldRewriteAttr=function(t,e){switch(e){case"href":case"src":case"xlink:href":return!0}return!(!t||!this.tagToMod[t]||void 0===this.tagToMod[t][e])||("VIDEO"===t&&"poster"===e||"META"===t&&"content"===e)},y.prototype.skipWrapScriptBasedOnType=function(t){return!!t&&(!(t.indexOf("javascript")>=0||t.indexOf("ecmascript")>=0)&&(t.indexOf("json")>=0||t.indexOf("text/")>=0))},y.prototype.skipWrapScriptTextBasedOnText=function(t,e){if(!t||t.indexOf(this.WB_ASSIGN_FUNC)>=0||0===t.indexOf("<"))return!0;let r=!1;for(const i of this.OVERRIDE_PROPS){t.indexOf(i)>=0&&(t.indexOf("var "+i)>=0&&e.push(i),r=!0)}return!r},y.prototype.nodeHasChildren=function(t){if(!t)return!1;if("function"==typeof t.hasChildNodes)return t.hasChildNodes();var e=t.children||t.childNodes;return!!e&&e.length>0},y.prototype.rwModForElement=function(t,e){if(t){var r="mp_";if("LINK"===t.tagName&&"href"===e){if(t.rel){var i=t.rel.trim().toLowerCase(),o=this.wb_getAttribute.call(t,"as");if(o&&null!=this.linkTagMods.linkRelToAs[i])r=this.linkTagMods.linkRelToAs[i][o.toLowerCase()];else null!=this.linkTagMods[i]&&(r=this.linkTagMods[i])}}else{if("SCRIPT"===t.tagName)return"module"===t.type?"esm_":"js_";var n=this.tagToMod[t.tagName];null!=n&&(r=n[e])}return r}},y.prototype.removeWBOSRC=function(t){"SCRIPT"!==t.tagName||t.__$removedWBOSRC$__||(t.hasAttribute("__wb_orig_src")&&t.removeAttribute("__wb_orig_src"),t.__$removedWBOSRC$__=!0)},y.prototype.retrieveWBOSRC=function(t){var e;if("SCRIPT"===t.tagName&&!t.__$removedWBOSRC$__)return null==(e=this.wb_getAttribute?this.wb_getAttribute.call(t,"__wb_orig_src"):t.getAttribute("__wb_orig_src"))&&(t.__$removedWBOSRC$__=!0),e},y.prototype.wrapScriptTextJsProxy=function(t,e=[]){let r="var _____WB$wombat$assign$function_____ = function(name) {return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name)) || self[name]; };\\nif (!self.__WB_pmw) { self.__WB_pmw = function(obj) { this.__WB_source = obj; return this; } }\\n{\\n";for(const t of this.OVERRIDE_PROPS)e.includes(t)||(r+=`let ${t} = _____WB$wombat$assign$function_____("${t}");\\n`);return r+="{\\n",r+t.replace(this.DotPostMessageRe,".__WB_pmw(self.window)$1")+"\\n\\n}}"},y.prototype.watchElem=function(t,e){if(!this.$wbwindow.MutationObserver)return!1;new this.$wbwindow.MutationObserver((function(t,r){for(var i=0;i<t.length;i++){var o=t[i];if("childList"===o.type)for(var n=0;n<o.addedNodes.length;n++)e(o.addedNodes[n])}})).observe(t,{childList:!0,subtree:!0})},y.prototype.reconstructDocType=function(t){return null==t?"":"<!doctype "+t.name+(t.publicId?\' PUBLIC "\'+t.publicId+\'"\':"")+(!t.publicId&&t.systemId?" SYSTEM":"")+(t.systemId?\' "\'+t.systemId+\'"\':"")+">"},y.prototype.getFinalUrl=function(t,e,r){var i=t?this.wb_rel_prefix:this.wb_abs_prefix;return null==e&&(e=this.wb_info.mod),this.wb_info.is_live||(i+=this.wb_info.wombat_ts),"/"!==(i+=e)[i.length-1]&&(i+="/"),i+r},y.prototype.resolveRelUrl=function(t,e){var r=this;function i(t){return!(!t||!t.baseURI)&&(t.baseURI.startsWith(r.HTTPS_PREFIX)||t.baseURI.startsWith(r.HTTP_PREFIX))}var o=null;return o=i(e)?e.baseURI:i(this.$wbwindow.document)?this.$wbwindow.document.baseURI:this.$wbwindow.__WB_replay_top.document.baseURI,new this.URL(t,o).href},y.prototype.extractOriginalURL=function(t){if(!t)return"";if(this.wb_is_proxy)return t;var e,r=t.toString(),i=r;if(this.startsWithOneOf(i,this.IGNORE_PREFIXES))return i;if(i.startsWith(this.wb_info.static_prefix))return i;e=this.startsWith(i,this.wb_abs_prefix)?this.wb_abs_prefix.length:this.wb_rel_prefix&&this.startsWith(i,this.wb_rel_prefix)?this.wb_rel_prefix.length:this.wb_rel_prefix?1:0;var o=i.indexOf("/http",e);return o<0&&(o=i.indexOf("///",e)),o<0&&(o=i.indexOf("/blob:",e)),o<0&&(o=i.indexOf("/about:blank",e)),o>=0?i=i.substr(o+1):((o=i.indexOf(this.wb_replay_prefix))>=0&&(i=i.substr(o+this.wb_replay_prefix.length)),i.length>4&&"_"===i.charAt(2)&&"/"===i.charAt(3)&&(i=i.substr(4)),i===r||this.startsWithOneOf(i,this.VALID_PREFIXES)||this.startsWith(i,"blob:")||(i=this.wb_orig_scheme+i)),"/"===r.charAt(0)&&"/"!==r.charAt(1)&&this.startsWith(i,this.wb_orig_origin)&&(i=i.substr(this.wb_orig_origin.length)),this.startsWith(i,this.REL_PREFIX)?this.wb_info.wombat_scheme+":"+i:i},y.prototype.makeParser=function(t,e){var r=this.extractOriginalURL(t),i=e;return e||(i="about:blank"===this.$wbwindow.location.href&&this.$wbwindow.opener?this.$wbwindow.opener.document:this.$wbwindow.document),this._makeURLParser(r,i)},y.prototype._makeURLParser=function(t,e){try{return new this.URL(t,e.baseURI)}catch(t){}var r=e.createElement("a");return r._no_rewrite=!0,r.href=t,r},y.prototype.defProp=function(t,e,r,i,o){var n=Object.getOwnPropertyDescriptor(t,e);if(n&&!n.configurable)return!1;if(!i)return!1;var s={configurable:!0,enumerable:o||!1,get:i};r&&(s.set=r);try{return Object.defineProperty(t,e,s),!0}catch(t){return console.warn("Failed to redefine property %s",e,t.message),!1}},y.prototype.defGetterProp=function(t,e,r,i){var o=Object.getOwnPropertyDescriptor(t,e);if(o&&!o.configurable)return!1;if(!r)return!1;try{return Object.defineProperty(t,e,{configurable:!0,enumerable:i||!1,get:r}),!0}catch(t){return console.warn("Failed to redefine property %s",e,t.message),!1}},y.prototype.getOrigGetter=function(t,e){var r;if(t.__lookupGetter__&&(r=t.__lookupGetter__(e)),!r&&Object.getOwnPropertyDescriptor){var i=Object.getOwnPropertyDescriptor(t,e);i&&(r=i.get)}return r},y.prototype.getOrigSetter=function(t,e){var r;if(t.__lookupSetter__&&(r=t.__lookupSetter__(e)),!r&&Object.getOwnPropertyDescriptor){var i=Object.getOwnPropertyDescriptor(t,e);i&&(r=i.set)}return r},y.prototype.getAllOwnProps=function(t){for(var e=[],r=Object.getOwnPropertyNames(t),i=0;i<r.length;i++){var o=r[i];try{t[o]&&!t[o].prototype&&e.push(o)}catch(t){}}for(var n=Object.getPrototypeOf(t);n;){for(r=Object.getOwnPropertyNames(n),i=0;i<r.length;i++)e.push(r[i]);n=Object.getPrototypeOf(n)}return e},y.prototype.sendTopMessage=function(t,e,r){(r=r||this.$wbwindow).__WB_top_frame&&(e||r==r.__WB_replay_top)&&r.__WB_top_frame.postMessage(t,this.wb_info.top_host)},y.prototype.sendHistoryUpdate=function(t,e,r){this.sendTopMessage({url:t,ts:this.wb_info.timestamp,request_ts:this.wb_info.request_ts,is_live:this.wb_info.is_live,title:e,wb_type:"replace-url"},!1,r)},y.prototype.updateLocation=function(t,e,r){if(t&&t!==e){var i=this.extractOriginalURL(e),o=this.extractOriginalURL(t);if(i&&i!==o){var n=this.rewriteUrl(t);console.log(r.href+" -> "+n),r.href=n}}},y.prototype.checkLocationChange=function(t,e){var r=typeof t,i=e?this.$wbwindow.__WB_replay_top.location:this.$wbwindow.location;"string"===r?this.updateLocation(t,i.href,i):"object"===r&&this.updateLocation(t.href,t._orig_href,i)},y.prototype.checkAllLocations=function(){if(this.wb_wombat_updating)return!1;this.wb_wombat_updating=!0,this.checkLocationChange(this.$wbwindow.WB_wombat_location,!1),this.$wbwindow.WB_wombat_location!=this.$wbwindow.__WB_replay_top.WB_wombat_location&&this.checkLocationChange(this.$wbwindow.__WB_replay_top.WB_wombat_location,!0),this.wb_wombat_updating=!1},y.prototype.proxyToObj=function(t){if(t)try{var e=t.__WBProxyRealObj__;if(e)return e}catch(t){}return t},y.prototype.objToProxy=function(t){if(t)try{var e=t._WB_wombat_obj_proxy;if(e)return e}catch(t){}return t},y.prototype.defaultProxyGet=function(t,e,r,i){switch(e){case"__WBProxyRealObj__":return t;case"location":case"WB_wombat_location":return t.WB_wombat_location;case"_WB_wombat_obj_proxy":return t._WB_wombat_obj_proxy;case"__WB_pmw":case this.WB_ASSIGN_FUNC:case this.WB_CHECK_THIS_FUNC:return t[e];case"origin":return t.WB_wombat_location.origin;case"constructor":return t.constructor}var o=Reflect.get(t,e),n=typeof o;if("string"===n&&o){var s=parseInt(e);if(o&&!isNaN(s))try{return this.initNewWindowWombat(o),o._WB_wombat_obj_proxy}catch(t){}}else{if("function"===n&&-1!==r.indexOf(e)){switch(e){case"requestAnimationFrame":case"cancelAnimationFrame":if(!this.isNativeFunction(o))return o;break;case"eval":if(this.isNativeFunction(o))return this.wrappedEval(o)}var a=i[e];if(!a||a.original!==o){const r=o.bind(t);for(const t of Object.getOwnPropertyNames(o))if(!this.SKIP_OWN_FUNC_PROPS.includes(t))try{r[t]=o[t]}catch(t){}return i[e]={original:o,boundFn:r},r}return a.boundFn}if("object"===n&&o&&o._WB_wombat_obj_proxy)return o instanceof this.WBWindow&&this.initNewWindowWombat(o),o._WB_wombat_obj_proxy}return o},y.prototype.setLoc=function(t,e){var r=this.makeParser(e,t.ownerDocument);t._orig_href=e,t._parser=r;var i=r.href;t._hash=r.hash,t._href=i,t._host=r.host,t._hostname=r.hostname,r.origin?t._origin=r.host?r.origin:"null":t._origin=r.protocol+"//"+r.hostname+(r.port?":"+r.port:""),t._pathname=r.pathname,t._port=r.port,t._protocol=r.protocol,t._search=r.search,Object.defineProperty||(t.href=i,t.hash=r.hash,t.host=t._host,t.hostname=t._hostname,t.origin=t._origin,t.pathname=t._pathname,t.port=t._port,t.protocol=t._protocol,t.search=t._search)},y.prototype.makeGetLocProp=function(t,e){var r=this;return function(){if(this._no_rewrite)return e.call(this,t);var i=e.call(this,"href");return"href"===t?r.extractOriginalURL(i):"ancestorOrigins"===t?[]:(this._orig_href!==i&&r.setLoc(this,i),this["_"+t])}},y.prototype.makeSetLocProp=function(t,e,r){var i=this;return function(o){if(this._no_rewrite)return e.call(this,t,o);if(this["_"+t]!==o){this["_"+t]=o;var n=r.call(this),s=i.makeParser(n,this.ownerDocument),a=!1;if("href"===t&&"string"==typeof o)if(o&&s instanceof i.URL)try{o=new i.URL(o,s).href}catch(t){console.warn("Error resolving URL",t)}else o&&("."===o[0]||"#"===o[0]?o=i.resolveRelUrl(o,this.ownerDocument):"/"===o[0]&&(o.length>1&&"/"===o[1]?o=s.protocol+o:(a=!0,o=WB_wombat_location.origin+o)));try{s[t]=o}catch(e){console.log("Error setting "+t+" = "+o)}"hash"===t?(o=s[t],e.call(this,"hash",o)):(a=a||o===s.pathname,o=i.rewriteUrl(s.href,a),e.call(this,"href",o))}}},y.prototype.styleReplacer=function(t,e,r,i,o,n){return e+this.rewriteUrl(r)+i},y.prototype.domConstructorErrorChecker=function(t,e,r,i){var o,n="number"==typeof i?i:1;if(t instanceof this.WBWindow?o="Failed to construct \'"+e+"\': Please use the \'new\' operator, this DOM object constructor cannot be called as a function.":r&&r.length<n&&(o="Failed to construct \'"+e+"\': "+n+" argument required, but only 0 present."),o)throw new TypeError(o)},y.prototype.rewriteNodeFuncArgs=function(t,e,r,i){if(r)switch(r.nodeType){case Node.ELEMENT_NODE:this.rewriteElemComplete(r);break;case Node.TEXT_NODE:("STYLE"===t.tagName||r.parentNode&&"STYLE"===r.parentNode.tagName)&&(r.textContent=this.rewriteStyle(r.textContent));break;case Node.DOCUMENT_FRAGMENT_NODE:this.recurseRewriteElem(r)}var o=e.call(t,r,i);if(o&&"IFRAME"===o.tagName){const t=o.allow?`; ${o.allow}`:"";o.allow=`autoplay \'self\'; fullscreen \'self\'${t}`,this.initIframeWombat(o)}return o},y.prototype.rewriteWSURL=function(t){if(!t)return t;var e=typeof t,r=t;if("object"===e)r=t.toString();else if("string"!==e)return t;if(!r)return r;var i="ws://",o="wss://";if(this.wb_is_proxy)return this.wb_orig_scheme===this.HTTP_PREFIX&&this.startsWith(r,o)?i+r.substr(o.length):this.wb_orig_scheme===this.HTTPS_PREFIX&&this.startsWith(r,i)?o+r.substr(i.length):r;var n=0===this.wb_abs_prefix.indexOf(this.HTTPS_PREFIX),s=this.wb_abs_prefix.replace(n?this.HTTPS_PREFIX:this.HTTP_PREFIX,n?o:i);return s+=this.wb_info.wombat_ts+"ws_","/"!==r[r.length-1]&&(s+="/"),s+r.replace("WB_wombat_","")},y.prototype.rewriteUrl_=function(t,e,r,i){if(!t)return t;var o,n,s=typeof t;if("object"===s)o=t.toString();else{if("string"!==s)return t;o=t}if(!o)return o;if(this.wb_is_proxy)return this.wb_orig_scheme===this.HTTP_PREFIX&&this.startsWith(o,this.HTTPS_PREFIX)?this.HTTP_PREFIX+o.substr(this.HTTPS_PREFIX.length):this.wb_orig_scheme===this.HTTPS_PREFIX&&this.startsWith(o,this.HTTP_PREFIX)?this.HTTPS_PREFIX+o.substr(this.HTTP_PREFIX.length):o;if(o=o.replace("WB_wombat_",""),"if_"===r&&this.wb_info.isSW&&this.startsWith(o,"blob:"))return this.wb_info.prefix+this.wb_info.request_ts+"if_/"+o;if(this.startsWithOneOf(o.toLowerCase(),this.IGNORE_PREFIXES))return o;if(this.wb_opts.no_rewrite_prefixes&&this.startsWithOneOf(o,this.wb_opts.no_rewrite_prefixes))return o;if(n=0===o.indexOf("//")?this.origProtocol+o:o,this.startsWith(n,this.wb_abs_prefix)||this.startsWith(n,this.wb_rel_prefix))return o;if(this.origHost!==this.origHostname&&this.startsWith(o,this.origProtocol+"//"+this.origHostname+"/"))return o.replace("/"+this.origHostname+"/","/"+this.origHost+"/");if("/"===o.charAt(0)&&!this.startsWith(o,this.REL_PREFIX)){if(this.wb_capture_date_part&&o.indexOf(this.wb_capture_date_part)>=0)return o;if(0===o.indexOf(this.wb_rel_prefix)&&o.indexOf("http")>1){var a=o.indexOf(":/");return a>0&&"/"!==o[a+2]?o.substring(0,a+2)+"/"+o.substring(a+2):o}return this.getFinalUrl(!0,r,this.wb_orig_origin+o)}"."===o.charAt(0)&&(o=this.resolveRelUrl(o,i));var w=this.startsWithOneOf(o.toLowerCase(),this.VALID_PREFIXES);if(w){var h=this.replayTopHost,p=this.replayTopProtocol,c=w+h+"/";if(this.startsWith(o,c)){if(this.startsWith(o,this.wb_replay_prefix))return o;var l=p+"//",u=o.substring(c.length),_=!1;return u.indexOf(this.wb_rel_prefix)<0&&o.indexOf("/static/")<0&&(u=this.getFinalUrl(!0,r,WB_wombat_location.origin+"/"+u),_=!0),w!==l&&w!==this.REL_PREFIX&&(_=!0),_&&(o=e?"":l+h,u&&"/"!==u[0]&&(o+="/"),o+=u),o}return this.getFinalUrl(e,r,o)}return(w=this.startsWithOneOf(o,this.BAD_PREFIXES))?this.getFinalUrl(e,r,this.extractOriginalURL(o)):o},y.prototype.rewriteUrl=function(t,e,r,i){var o;return o=this.wb_info.rewrite_function?this.wb_info.rewrite_function(t,e,r,i):this.rewriteUrl_(t,e,r,i),this.debug_rw&&(t!==o?console.log("REWRITE: "+t+" -> "+o):console.log("NOT REWRITTEN "+t)),o},y.prototype.performAttributeRewrite=function(t,e,r,i,o){switch(e){case"innerHTML":case"outerHTML":return this.rewriteHtml(r);case"filter":return this.rewriteInlineStyle(r);case"style":return this.rewriteStyle(r);case"srcset":return this.rewriteSrcset(r,t)}if(o&&!this.startsWithOneOf(r,this.VALID_PREFIXES))return r;var n=this.rwModForElement(t,e);t&&this.wbUseAFWorker&&this.WBAutoFetchWorker&&this.isSavedDataSrcSrcset(t)&&this.WBAutoFetchWorker.preserveDataSrcset(t);var s=this.rewriteUrl(r,!1,n,i);return"esm_"===n&&s&&s.indexOf("esm_/")<0&&(s=s.replace(/(\\/[\\d]*)([\\w]+_)(?=\\/)/,"$1esm_")),s},y.prototype.rewriteAttr=function(t,e,r){var i=!1;if(!t||!t.getAttribute||t._no_rewrite||t["_"+e]||t.tagName&&t.tagName.indexOf("-")>0)return i;var o=this.wb_getAttribute.call(this.proxyToObj(t),e);if(!o||this.startsWith(o,"javascript:"))return i;var n=this.performAttributeRewrite(t,e,o,t.ownerDocument,r);return n!==o&&(this.removeWBOSRC(t),this.wb_setAttribute.call(t,e,n),i=!0),i},y.prototype.noExceptRewriteStyle=function(t){try{return this.rewriteStyle(t)}catch(e){return t}},y.prototype.rewriteStyle=function(t){if(!t)return t;var e=t;return"object"==typeof t&&(e=t.toString()),"string"==typeof e?e.replace(this.STYLE_REGEX,this.styleReplacer).replace(this.IMPORT_REGEX,this.styleReplacer).replace(this.no_wombatRe,""):e},y.prototype.rewriteSrcset=function(t,e){if(!t)return"";for(var r=t.split(this.srcsetRe),i=[],o=this.rwModForElement(e,"srcset"),n=0;n<r.length;n++){var s=r[n];if(s){var a=s.trim().split(" ");a[0]=this.rewriteUrl(a[0],!0,o),i.push(a.join(" "))}}return this.wbUseAFWorker&&this.WBAutoFetchWorker&&this.isSavedSrcSrcset(e)&&this.WBAutoFetchWorker.preserveSrcset(i,this.WBAutoFetchWorker.rwMod(e)),i.join(", ")},y.prototype.rewriteFrameSrc=function(t,e){var r,i=this.wb_getAttribute.call(t,e);if(this.startsWith(i,"javascript:")&&i.indexOf("WB_wombat_")>=0){var o="javascript:";r=o+"window.parent._wb_wombat.initNewWindowWombat(window);"+i.substr(o.length)}return r||(r=this.rewriteUrl(i,!1,this.rwModForElement(t,e))),r!==i&&(this.wb_setAttribute.call(t,e,r),!0)},y.prototype.rewriteScript=function(t){if(t.hasAttribute("src")||!t.textContent||!this.$wbwindow.Proxy)return this.rewriteAttr(t,"src");if(this.skipWrapScriptBasedOnType(t.type))return!1;var e=t.textContent.trim(),r=[];return!this.skipWrapScriptTextBasedOnText(e,r)&&(t.textContent=this.wrapScriptTextJsProxy(e,r),this.wb_info.injectDocClose&&t.textContent.trim().length&&(t.textContent+=";document.close();"),!0)},y.prototype.rewriteSVGElem=function(t){var e=this.rewriteAttr(t,"filter");return e=this.rewriteAttr(t,"style")||e,e=this.rewriteAttr(t,"xlink:href")||e,e=this.rewriteAttr(t,"href")||e,e=this.rewriteAttr(t,"src")||e},y.prototype.rewriteElem=function(t){var e=!1;if(!t)return e;if(t instanceof SVGElement)e=this.rewriteSVGElem(t);else switch(t.tagName){case"META":var r=this.wb_getAttribute.call(t,"http-equiv");r&&"content-security-policy"===r.toLowerCase()&&(this.wb_setAttribute.call(t,"http-equiv","_"+r),e=!0);break;case"STYLE":var i=this.rewriteStyle(t.textContent);t.textContent!==i&&(t.textContent=i,e=!0,this.wbUseAFWorker&&this.WBAutoFetchWorker&&null!=t.sheet&&this.WBAutoFetchWorker.deferredSheetExtraction(t.sheet));break;case"LINK":e=this.rewriteAttr(t,"href"),this.wbUseAFWorker&&"stylesheet"===t.rel&&this._addEventListener(t,"load",this.utilFns.wbSheetMediaQChecker);break;case"IMG":e=this.rewriteAttr(t,"src"),e=this.rewriteAttr(t,"srcset")||e,e=this.rewriteAttr(t,"style")||e,this.wbUseAFWorker&&this.WBAutoFetchWorker&&t.dataset.srcset&&this.WBAutoFetchWorker.preserveDataSrcset(t);break;case"OBJECT":var o;if(this.wb_info.isSW&&t.parentElement)if("application/pdf"===t.getAttribute("type")?o="IFRAME":"image/svg+xml"===t.getAttribute("type")&&(o="IMG"),o){for(var n=this.$wbwindow.document.createElement(o),s=0;s<t.attributes.length;s++){var a=t.attributes[s],w=a.name;"data"===w&&(w="src"),this.wb_setAttribute.call(n,w,a.value)}t.parentElement.replaceChild(n,t),e=!0;break}e=this.rewriteAttr(t,"data",!0),e=this.rewriteAttr(t,"style")||e;break;case"FORM":e=this.rewriteAttr(t,"poster"),e=this.rewriteAttr(t,"action")||e,e=this.rewriteAttr(t,"style")||e;break;case"IFRAME":if(e=this.rewriteFrameSrc(t,"src"),this.wb_info.isSW&&!e){var h=t.getAttribute("srcdoc");if(t.hasAttribute("srcdoc")&&t.removeAttribute("srcdoc"),h)this.blobUrlForIframe(t,h);else{var p=t.getAttribute("src");p&&"about:blank"!==p||(p||(t.__WB_blank=!0),t.src=this.wb_info.prefix+this.wb_info.request_ts+"mp_/about:blank")}}e=this.rewriteAttr(t,"style")||e;break;case"FRAME":e=this.rewriteFrameSrc(t,"src"),e=this.rewriteAttr(t,"style")||e;break;case"SCRIPT":e=this.rewriteScript(t);break;case"A":if(e=this.rewriteAttr(t,"href")||e,e=this.rewriteAttr(t,"style")||e,t.hasAttribute("target")){var c=this.rewriteAttrTarget(t.target);c!==t.target&&(t.target=c,e=!0)}break;default:e=this.rewriteAttr(t,"src"),e=this.rewriteAttr(t,"srcset")||e,e=this.rewriteAttr(t,"href")||e,e=this.rewriteAttr(t,"style")||e,e=this.rewriteAttr(t,"poster")||e,e=this.rewriteAttr(t,"background")||e}return t.hasAttribute&&t.removeAttribute&&(t.hasAttribute("crossorigin")&&(t.removeAttribute("crossorigin"),e=!0),t.hasAttribute("integrity")&&(t.removeAttribute("integrity"),e=!0)),e},y.prototype.recurseRewriteElem=function(t){if(!this.nodeHasChildren(t))return!1;for(var e=!1,r=[t.children||t.childNodes];r.length>0;)for(var i=r.shift(),o=0;o<i.length;o++){var n=i[o];n.nodeType===Node.ELEMENT_NODE&&(e=this.rewriteElem(n)||e,this.nodeHasChildren(n)&&r.push(n.children||n.childNodes))}return e},y.prototype.rewriteElemComplete=function(t){if(!t)return!1;var e=this.rewriteElem(t),r=this.recurseRewriteElem(t);return e||r},y.prototype.rewriteElementsInArguments=function(t){for(var e=new Array(t.length),r=0;r<t.length;r++){var i=t[r];i instanceof Node?(this.rewriteElemComplete(i),e[r]=i):e[r]="string"==typeof i?this.rewriteHtml(i):i}return e},y.prototype.rewriteHtml=function(t,e){if(!t)return t;var r=t;if("string"!=typeof t&&(r=t.toString()),this.write_buff&&(r=this.write_buff+r,this.write_buff=""),r.indexOf("<script")<=0&&r.indexOf("WB_wombat_")>=0&&(r=r.replace(/((id|class)=".*)WB_wombat_([^"]+)/,"$1$3")),!this.$wbwindow.HTMLTemplateElement||this.FullHTMLRegex.test(r))return this.rewriteHtmlFull(r,e);var i=(new DOMParser).parseFromString("<template>"+r+"</template>","text/html");if(!i||!this.nodeHasChildren(i.head)||!i.head.children[0].content)return r;var o=i.head.children[0];if(o._no_rewrite=!0,this.recurseRewriteElem(o.content)){var n=o.innerHTML;if(e){var s=o.content.children&&o.content.children[0];if(s){var a="</"+s.tagName.toLowerCase()+">";if(this.endsWith(n,a)&&!this.endsWith(r.toLowerCase(),a))n=n.substring(0,n.length-a.length);else if(n.trimEnd().endsWith(a)&&!r.trimEnd().endsWith(a)){var w=r.lastIndexOf(a);w>0&&(n+=r.slice(w+a.length))}}else if("<"!==r[0]||">"!==r[r.length-1])return void(this.write_buff+=r)}return n}return r},y.prototype.rewriteHtmlFull=function(t,e){var r=(new DOMParser).parseFromString(t,"text/html");if(!r)return t;for(var i=!1,o=0;o<r.all.length;o++)i=this.rewriteElem(r.all[o])||i;if(i){var n;if(t&&t.indexOf("<html")>=0)r.documentElement._no_rewrite=!0,n=this.reconstructDocType(r.doctype)+r.documentElement.outerHTML;else{r.head._no_rewrite=!0,r.body._no_rewrite=!0;var s=this.nodeHasChildren(r.head),a=this.nodeHasChildren(r.body);if(n=(s?r.head.outerHTML:"")+(a?r.body.outerHTML:""),e)if(r.all.length>3){var w="</"+r.all[3].tagName.toLowerCase()+">";this.endsWith(n,w)&&!this.endsWith(t.toLowerCase(),w)&&(n=n.substring(0,n.length-w.length))}else if("<"!==t[0]||">"!==t[t.length-1])return void(this.write_buff+=t);n=this.reconstructDocType(r.doctype)+n}return n}return t},y.prototype.rewriteInlineStyle=function(t){var e;try{e=decodeURIComponent(t)}catch(r){e=t}if(e!==t){var r=this.rewriteStyle(e).split(",",2);return r[0]+","+encodeURIComponent(r[1])}return this.rewriteStyle(t)},y.prototype.rewriteCookie=function(t){var e=this,r=t.replace(this.wb_abs_prefix,"").replace(this.wb_rel_prefix,"");return r=r.replace(this.cookie_domain_regex,(function(t,i){var o={domain:i,cookie:r,wb_type:"cookie"};return e.sendTopMessage(o,!0),e.$wbwindow.location.hostname.indexOf(".")>=0&&!e.IP_RX.test(e.$wbwindow.location.hostname)?"Domain=."+e.$wbwindow.location.hostname:""})).replace(this.cookie_path_regex,(function(t,r){var i=e.rewriteUrl(r);return 0===i.indexOf(e.wb_curr_host)&&(i=i.substring(e.wb_curr_host.length)),"Path="+i})),"https:"!==e.$wbwindow.location.protocol&&(r=r.replace("secure","")),r.replace(",|",",")},y.prototype.rewriteWorker=function(t){if(!t)return t;var e=0===(t=t.toString()).indexOf("blob:"),r=0===t.indexOf("javascript:");if(!e&&!r){if(!this.startsWithOneOf(t,this.VALID_PREFIXES)&&!this.startsWith(t,"/")&&!this.startsWithOneOf(t,this.BAD_PREFIXES)){var i=this.resolveRelUrl(t,this.$wbwindow.document);return this.rewriteUrl(i,!1,"wkr_",this.$wbwindow.document)}return this.rewriteUrl(t,!1,"wkr_",this.$wbwindow.document)}var o=r?t.replace("javascript:",""):null;if(e){var n=new XMLHttpRequest;this.utilFns.XHRopen.call(n,"GET",t,!1),this.utilFns.XHRsend.call(n),o=n.responseText.replace(this.workerBlobRe,"").replace(this.rmCheckThisInjectRe,"this")}if(this.wb_info.static_prefix||this.wb_info.ww_rw_script){var s=this.$wbwindow.document.baseURI;o="(function() { self.importScripts(\'"+(this.wb_info.ww_rw_script||this.wb_info.static_prefix+"wombatWorkers.js")+"\'); new WBWombat({\'prefix\': \'"+this.wb_abs_prefix+"\', \'prefixMod\': \'"+this.wb_abs_prefix+"wkrf_/\', \'originalURL\': "+JSON.stringify(s)+"}); })();"+o}var a=new Blob([o],{type:"application/javascript"});return this.URL.createObjectURL(a)},y.prototype.rewriteTextNodeFn=function(t,e,r){var i,o=this.proxyToObj(t);if(r.length>0&&o.parentElement&&"STYLE"===o.parentElement.tagName){i=new Array(r.length);var n=r.length-1;2===n?(i[0]=r[0],i[1]=r[1]):1===n&&(i[0]=r[0]),i[n]=this.rewriteStyle(r[n])}else i=r;return e.__WB_orig_apply?e.__WB_orig_apply(o,i):e.apply(o,i)},y.prototype.rewriteChildNodeFn=function(t,e,r){var i=this.proxyToObj(t);if(0===r.length)return e.call(i);var o=this.rewriteElementsInArguments(r);return e.__WB_orig_apply?e.__WB_orig_apply(i,o):e.apply(i,o)},y.prototype.rewriteInsertAdjHTMLOrElemArgs=function(t,e,r,i,o){var n=this.proxyToObj(t);return n._no_rewrite?e.call(n,r,i):o?e.call(n,r,this.rewriteHtml(i)):(this.rewriteElemComplete(i),e.call(n,r,i))},y.prototype.rewriteSetTimeoutInterval=function(t,e,r){var i=this.isString(r[0]),o=i?new Array(r.length):r;if(i){this.$wbwindow.Proxy?o[0]=this.wrapScriptTextJsProxy(r[0]):o[0]=r[0].replace(/\\blocation\\b/g,"WB_wombat_$&");for(var n=1;n<r.length;++n)o[n]=this.proxyToObj(r[n])}var s=this.proxyToObj(t);return e.__WB_orig_apply?e.__WB_orig_apply(s,o):e.apply(s,o)},y.prototype.rewriteHTMLAssign=function(t,e,r){var i=r,o=t.tagName;if(!(t._no_rewrite||t instanceof this.$wbwindow.HTMLTemplateElement))if("STYLE"===o)i=this.rewriteStyle(r);else if("SCRIPT"===o){r&&this.IsTagRegex.test(r)&&(i=this.rewriteHtml(r));var n=[];i===r&&(this.skipWrapScriptBasedOnType(t.type)||this.skipWrapScriptTextBasedOnText(r,n)||(i=this.wrapScriptTextJsProxy(i,n)))}else i=this.rewriteHtml(r);e.call(t,i),this.wbUseAFWorker&&this.WBAutoFetchWorker&&"STYLE"===o&&null!=t.sheet&&this.WBAutoFetchWorker.deferredSheetExtraction(t.sheet)},y.prototype.rewriteEvalArg=function(t,e,r){this.$wbwindow.TrustedScript&&e instanceof this.$wbwindow.TrustedScript&&(e=e.toString());var i=[];return t(this.isString(e)&&!this.skipWrapScriptTextBasedOnText(e,i)?this.wrapScriptTextJsProxy(e,i):this.otherEvalRewrite(e),r)},y.prototype.otherEvalRewrite=function(t){return"string"!=typeof t?t:t.replace(this.IMPORT_JS_REGEX,this.styleReplacer)},y.prototype.addEventOverride=function(t,e){var r=e;e||(r=this.$wbwindow.MessageEvent.prototype);var i=this.getOrigGetter(r,t);i&&this.defGetterProp(r,t,(function(){return null!=this["_"+t]?this["_"+t]:i.call(this)}))},y.prototype.isAttrObjRewrite=function(t){if(!t)return!1;var e=t.ownerElement&&t.ownerElement.tagName;return this.shouldRewriteAttr(e,t.nodeName)},y.prototype.newAttrObjGetSet=function(t,e){var r=this,i=this.getOrigGetter(t,e),o=this.getOrigSetter(t,e);this.defProp(t,e,(function(t){var e=r.proxyToObj(this),i=t;return r.isAttrObjRewrite(e)&&(i=r.performAttributeRewrite(e.ownerElement,e.name,t,e.ownerDocument,!1)),o.call(e,i)}),(function(){var t=r.proxyToObj(this),e=i.call(t);return r.isAttrObjRewrite(t)?r.extractOriginalURL(e):e}))},y.prototype.overrideAttrProps=function(){var t=this.$wbwindow.Attr.prototype;this.newAttrObjGetSet(t,"value"),this.newAttrObjGetSet(t,"nodeValue"),this.newAttrObjGetSet(t,"textContent")},y.prototype.overrideAttr=function(t,e,r){var i=this.getOrigGetter(t,e),o=this.getOrigSetter(t,e),n=this;this.defProp(t,e,(function(t){"js_"===r&&(this.__$removedWBOSRC$__||n.removeWBOSRC(this),"module"===this.type&&(r="esm_"));var i=n.rewriteUrl(t,!1,r);return o?o.call(this,i):n.wb_setAttribute?n.wb_setAttribute.call(this,e,i):void 0}),(function(){var t;return i?t=i.call(this):n.wb_getAttribute&&(t=n.wb_getAttribute.call(this,e)),t=n.extractOriginalURL(t),this.__WB_blank&&"about:blank"===t?"":t}))},y.prototype.overridePropExtract=function(t,e){var r=this.getOrigGetter(t,e),i=this;if(r){this.defGetterProp(t,e,(function(){var t=i.proxyToObj(this),e=r.call(t);return t.__WB_no_unrewrite?e:i.extractOriginalURL(e)}))}},y.prototype.overrideDeProxyPropAssign=function(t,e){var r=this.getOrigSetter(t,e),i=this.getOrigGetter(t,e),o=this;if(r){this.defProp(t,e,(function(t){return r.call(o.proxyToObj(this),o.proxyToObj(t))}),i)}},y.prototype.overrideReferrer=function(t){var e=this.getOrigGetter(t,"referrer"),r=this;if(e){this.defGetterProp(t,"referrer",(function(){var t=r.proxyToObj(this),i=this.defaultView;if(i===i.__WB_replay_top)return"";var o=e.call(t);return r.extractOriginalURL(o)}))}},y.prototype.overridePropToProxy=function(t,e){var r=this.getOrigGetter(t,e);if(r){var i=this;this.defGetterProp(t,e,(function(){return i.objToProxy(r.call(this))}))}},y.prototype.overrideHistoryFunc=function(t){if(this.$wbwindow.history){var e=this.$wbwindow.history[t];if(e){this.$wbwindow.history["_orig_"+t]=e,this.$wbwindow.history.___wb_ownWindow=this.$wbwindow;var r=this,i=function(t,i,o){var n=this.___wb_ownWindow||r.$wbwindow;o=r.extractOriginalURL(o);var s,a,w=n.WB_wombat_location;if(o){var h=r._makeURLParser(o,n.document);if(a=h.href,s=r.rewriteUrl(a),a!==w.origin&&"about:blank"!==w.href&&!r.startsWith(a,w.origin+"/"))throw new DOMException("Invalid history change: "+a)}else a=w.href;e.call(this,t,i,s);var p=n.document.title;r.WBAutoFetchWorker&&n.setTimeout((function(){i||n.document.title===p||(i=n.document.title),r.WBAutoFetchWorker.fetchAsPage(s,a,i)}),100),r.sendHistoryUpdate(a,i,n)};return this.$wbwindow.history[t]=i,this.$wbwindow.History&&this.$wbwindow.History.prototype&&(this.$wbwindow.History.prototype[t]=i),i}}},y.prototype.overrideStyleAttr=function(t,e,r){var i=this.getOrigGetter(t,e),o=this.getOrigSetter(t,e),n=this,s=i,a=function(t,e,r,i,o){return e+(r||"")+n.extractOriginalURL(i)+o},w=/(url\\()([\'"])?(.*?)(\\2\\))/;i||(s=function(){var t=this.getPropertyValue(r);return t&&t.startsWith("url(")&&(t=t.replace(w,a)),t}),(o&&i||r)&&this.defProp(t,e,(function(t){var e=n.rewriteStyle(t);return o?o.call(this,e):this.setProperty(r,e),e}),s)},y.prototype.overrideStyleSetProp=function(t){var e=t.setProperty,r=this;t.setProperty=function(t,i,o){var n=r.rewriteStyle(i);return e.call(this,t,n,o)}},y.prototype.overrideAnchorAreaElem=function(t){if(t&&t.prototype){for(var e={},r=t.prototype,i=function(t,r){var i=e["set_"+t];return i?i.call(this,r):""},o=function(t){var r=e["get_"+t];return r?r.call(this):""},n=0;n<this.URL_PROPS.length;n++){var s=this.URL_PROPS[n];e["get_"+s]=this.getOrigGetter(r,s),e["set_"+s]=this.getOrigSetter(r,s),Object.defineProperty&&this.defProp(r,s,this.makeSetLocProp(s,i,o),this.makeGetLocProp(s,o),!0)}r.toString=function(){return this.href}}},y.prototype.overrideHtmlAssign=function(t,e,r){if(this.$wbwindow.DOMParser&&t&&t.prototype){var i=t.prototype,o=this.getOrigGetter(i,e),n=this.getOrigSetter(i,e);if(n){var s=this.rewriteHTMLAssign,a=this.wb_unrewrite_rx;this.defProp(i,e,(function(t){return s(this,n,t)}),r?function(){var t=o.call(this);return this._no_rewrite?t:t.replace(a,"")}:o)}}},y.prototype.overrideHtmlAssignSrcDoc=function(t,e){var r=t.prototype,i=(this.getOrigGetter(r,e),this.getOrigSetter(r,e)),o=this;this.defProp(r,e,(function(t){return this.__wb_srcdoc=t,o.wb_info.isSW?(o.blobUrlForIframe(this,t),t):o.rewriteHTMLAssign(this,i,t)}),(function(){return this.__wb_srcdoc}))},y.prototype.overrideDataSet=function(){var t=this.$wbwindow.HTMLElement.prototype,e=this.getOrigGetter(t,"dataset"),r=this;this.defProp(t,"dataset",null,(function(){var t=e.call(this);return new Proxy(t,{get(t,e,i){var o=t[e];return"string"==typeof o&&r.startsWithOneOf(o,r.wb_prefixes)?r.extractOriginalURL(o):o}})}))},y.prototype.overrideStyleProxy=function(t){var e=this.$wbwindow.HTMLElement.prototype,r=this.getOrigSetter(e,"style"),i=this.getOrigGetter(e,"style"),o=this;this.defProp(e,"style",r,(function(){var e=i.call(this),r={};return new Proxy(e,{set:(e,r,i)=>(t.includes(r)&&(i=o.rewriteStyle(i)),e[r]=i,!0),get(t,i,n){var s=t[i];return"function"!=typeof s||"setProperty"!==i&&!o.isNativeFunction(s)?s:(r[i]||(r[i]=s.bind(e)),r[i])}})}))},y.prototype.overrideIframeContentAccess=function(t){if(this.$wbwindow.HTMLIFrameElement&&this.$wbwindow.HTMLIFrameElement.prototype){var e=this.$wbwindow.HTMLIFrameElement.prototype,r=this.getOrigGetter(e,t);if(r){var i=this.getOrigSetter(e,t),o=this;this.defProp(e,t,i,(function(){return o.initIframeWombat(this),o.objToProxy(r.call(this))})),e["_get_"+t]=r}}},y.prototype.overrideSWAccess=function(t){if(t.navigator.serviceWorker&&t.navigator.serviceWorker.controller){t._WB_wombat_sw=t.navigator.serviceWorker;var e={controller:null,ready:Promise.resolve({unregister:function(){}}),register:function(){return Promise.reject()},addEventListener:function(){},removeEventListener:function(){},onmessage:null,oncontrollerchange:null,getRegistrations:function(){return Promise.resolve([])},getRegistration:function(){return Promise.resolve(void 0)},startMessages:function(){}};this.defGetterProp(t.navigator,"serviceWorker",(function(){return e}))}},y.prototype.overrideFuncThisProxyToObj=function(t,e,r){if(t){var i=r;if(!r&&t.prototype&&t.prototype[e]?i=t.prototype:!r&&t[e]&&(i=t),i){var o=this,n=i[e];i[e]=function(){return n.apply(o.proxyToObj(this),arguments)}}}},y.prototype.overrideFuncArgProxyToObj=function(t,e,r){if(t&&t.prototype){var i=r||0,o=t.prototype[e];if(o){var n=this;t.prototype[e]=function(){for(var t=new Array(arguments.length),e=0;e<t.length;e++)t[e]=e===i?n.proxyToObj(arguments[e]):arguments[e];var r=n.proxyToObj(this);return o.__WB_orig_apply?o.__WB_orig_apply(r,t):o.apply(r,t)}}}},y.prototype.overrideFunctionApply=function(t){if(!t.Function.prototype.__WB_orig_apply){var e=t.Function.prototype.apply;t.Function.prototype.__WB_orig_apply=e;var r=this;t.Function.prototype.apply=function(t,e){return r.isNativeFunction(this)&&(t=r.proxyToObj(t),e=r.deproxyArrayHandlingArgumentsObj(e)),this.__WB_orig_apply(t,e)},this.wb_funToString.apply=e}},y.prototype.overrideFunctionCall=function(t){if(!t.Function.prototype.__WB_orig_call){var e=t.Function.prototype.call;t.Function.prototype.__WB_orig_call=e;var r=this;t.Function.prototype.call=function(t,...e){return r.isNativeFunction(this)&&(t=r.proxyToObj(t),e=r.deproxyArrayHandlingArgumentsObj(e)),this.__WB_orig_call(t,...e)},this.wb_funToString.call=e}},y.prototype.overrideFunctionBind=function(t){if(!t.Function.prototype.__WB_orig_bind){var e=t.Function.prototype.bind;t.Function.prototype.__WB_orig_bind=e;var r=this;t.Function.prototype.bind=function(t){var e=r.isNativeFunction(this),i=e?this.__WB_orig_bind.apply(this,arguments):this.__WB_orig_bind.__WB_orig_apply(this,arguments);return i.__WB_is_native_func__=e,i}}},y.prototype.overrideSrcsetAttr=function(t,e){var r="srcset",i=this.getOrigGetter(t,r),o=this.getOrigSetter(t,r),n=this;this.defProp(t,r,(function(t){var e=n.rewriteSrcset(t,this);return o?o.call(this,e):n.wb_setAttribute?n.wb_setAttribute.call(this,r,e):void 0}),(function(){var t;return i?t=i.call(this):n.wb_getAttribute&&(t=n.wb_getAttribute.call(this,r)),t=n.extractOriginalURL(t)}))},y.prototype.overrideHrefAttr=function(t,e){var r=this.getOrigGetter(t,"href"),i=this.getOrigSetter(t,"href"),o=this;this.defProp(t,"href",(function(t){var r;return r="cs_"===e&&0===t.indexOf("data:text/css")?o.rewriteInlineStyle(t):"LINK"===this.tagName?o.rewriteUrl(t,!1,o.rwModForElement(this,"href")):o.rewriteUrl(t,!1,e,this.ownerDocument),i?i.call(this,r):o.wb_setAttribute?o.wb_setAttribute.call(this,"href",r):void 0}),(function(){var t;return r?t=r.call(this):o.wb_getAttribute&&(t=o.wb_getAttribute.call(this,"href")),this._no_rewrite?t:o.extractOriginalURL(t)}))},y.prototype.overrideTextProtoGetSet=function(t,e){var r,i=this.getOrigGetter(t,e),o=this;if("data"===e){var n=this.getOrigSetter(t,e);r=function(t){var e=t;return!this._no_rewrite&&this.parentElement&&"STYLE"===this.parentElement.tagName&&(e=o.rewriteStyle(t)),n.call(this,e)}}this.defProp(t,e,r,(function(){var t=i.call(this);return!this._no_rewrite&&this.parentElement&&"STYLE"===this.parentElement.tagName?t.replace(o.wb_unrewrite_rx,""):t}))},y.prototype.overrideAnUIEvent=function(t){var e="__wb_"+t+"_overridden",r=this.$wbwindow[t];if(r&&r.prototype&&!r.prototype[e]){var i=this;this.overridePropToProxy(r.prototype,"view");var o,n="init"+t;if(r.prototype[n]){var s=r.prototype[n];r.prototype[n]=function(){var t=i.proxyToObj(this);if(0===arguments.length||arguments.length<3)return s.__WB_orig_apply?s.__WB_orig_apply(t,arguments):s.apply(t,arguments);for(var e=new Array(arguments.length),r=0;r<arguments.length;r++)e[r]=3===r?i.proxyToObj(arguments[r]):arguments[r];return s.__WB_orig_apply?s.__WB_orig_apply(t,e):s.apply(t,e)}}this.$wbwindow[t]=(o=r,function(e,r){return i.domConstructorErrorChecker(this,t,arguments),r&&(null!=r.view&&(r.view=i.proxyToObj(r.view)),null!=r.relatedTarget&&(r.relatedTarget=i.proxyToObj(r.relatedTarget)),null!=r.target&&(r.target=i.proxyToObj(r.target))),new o(e,r)}),this.$wbwindow[t].prototype=r.prototype,Object.defineProperty(this.$wbwindow[t].prototype,"constructor",{value:this.$wbwindow[t]}),this.$wbwindow[t].prototype[e]=!0}},y.prototype.rewriteParentNodeFn=function(t,e,r){var i=this._no_rewrite?r:this.rewriteElementsInArguments(r),o=this.proxyToObj(t);return e.__WB_orig_apply?e.__WB_orig_apply(o,i):e.apply(o,i)},y.prototype.overrideParentNodeAppendPrepend=function(t){var e=this.rewriteParentNodeFn;if(t.prototype.append){var r=t.prototype.append;t.prototype.append=function(){return e(this,r,arguments)}}if(t.prototype.prepend){var i=t.prototype.prepend;t.prototype.prepend=function(){return e(this,i,arguments)}}},y.prototype.overrideShadowDom=function(){this.$wbwindow.ShadowRoot&&this.$wbwindow.ShadowRoot.prototype&&(this.overrideHtmlAssign(this.$wbwindow.ShadowRoot,"innerHTML",!0),this.overrideParentNodeAppendPrepend(this.$wbwindow.ShadowRoot))},y.prototype.overrideChildNodeInterface=function(t,e){if(t&&t.prototype){var r=e?this.rewriteTextNodeFn:this.rewriteChildNodeFn;if(t.prototype.before){var i=t.prototype.before;t.prototype.before=function(){return r(this,i,arguments)}}if(t.prototype.after){var o=t.prototype.after;t.prototype.after=function(){return r(this,o,arguments)}}if(t.prototype.replaceWith){var n=t.prototype.replaceWith;t.prototype.replaceWith=function(){return r(this,n,arguments)}}}},y.prototype.initTextNodeOverrides=function(){var t=this.$wbwindow.Text;if(t&&t.prototype){var e=t.prototype,r=this.rewriteTextNodeFn;if(e.appendData){var i=e.appendData;e.appendData=function(){return r(this,i,arguments)}}if(e.insertData){var o=e.insertData;e.insertData=function(){return r(this,o,arguments)}}if(e.replaceData){var n=e.replaceData;e.replaceData=function(){return r(this,n,arguments)}}this.overrideChildNodeInterface(t,!0),this.overrideTextProtoGetSet(e,"data"),this.overrideTextProtoGetSet(e,"wholeText")}},y.prototype.initAttrOverrides=function(){this.overrideHrefAttr(this.$wbwindow.HTMLLinkElement.prototype,"cs_"),this.overrideHrefAttr(this.$wbwindow.CSSStyleSheet.prototype,"cs_"),this.overrideHrefAttr(this.$wbwindow.HTMLBaseElement.prototype,"mp_"),this.overrideSrcsetAttr(this.$wbwindow.HTMLImageElement.prototype,"im_"),this.overrideSrcsetAttr(this.$wbwindow.HTMLSourceElement.prototype,"oe_"),this.overrideAttr(this.$wbwindow.HTMLVideoElement.prototype,"poster","im_"),this.overrideAttr(this.$wbwindow.HTMLAudioElement.prototype,"poster","im_"),this.overrideAttr(this.$wbwindow.HTMLImageElement.prototype,"src","im_"),this.overrideAttr(this.$wbwindow.HTMLInputElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLEmbedElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLMediaElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLVideoElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLAudioElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLSourceElement.prototype,"src","oe_"),window.HTMLTrackElement&&window.HTMLTrackElement.prototype&&this.overrideAttr(this.$wbwindow.HTMLTrackElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLIFrameElement.prototype,"src","if_"),this.$wbwindow.HTMLFrameElement&&this.$wbwindow.HTMLFrameElement.prototype&&this.overrideAttr(this.$wbwindow.HTMLFrameElement.prototype,"src","fr_"),this.overrideAttr(this.$wbwindow.HTMLScriptElement.prototype,"src","js_"),this.overrideAttr(this.$wbwindow.HTMLObjectElement.prototype,"data","oe_"),this.overrideAttr(this.$wbwindow.HTMLObjectElement.prototype,"codebase","oe_"),this.overrideAttr(this.$wbwindow.HTMLMetaElement.prototype,"content","mp_"),this.overrideAttr(this.$wbwindow.HTMLFormElement.prototype,"action","mp_"),this.overrideAttr(this.$wbwindow.HTMLQuoteElement.prototype,"cite","mp_"),this.overrideAttr(this.$wbwindow.HTMLModElement.prototype,"cite","mp_"),this.overrideAnchorAreaElem(this.$wbwindow.HTMLAnchorElement),this.overrideAnchorAreaElem(this.$wbwindow.HTMLAreaElement);var t=this.$wbwindow.CSSStyleDeclaration.prototype,e={background:"background",backgroundImage:"background-image",cursor:"cursor",listStyle:"list-style",listStyleImage:"list-style-image",border:"border",borderImage:"border-image",borderImageSource:"border-image-source",maskImage:"mask-image"};for(var[r,i]of(this.overrideStyleProxy(Object.values(e)),this.$wbwindow.CSS2Properties&&(t=this.$wbwindow.CSS2Properties.prototype),this.overrideStyleAttr(t,"cssText"),Object.entries(e)))this.overrideStyleAttr(t,r,i);if(this.overrideStyleSetProp(t),this.$wbwindow.CSSStyleSheet&&this.$wbwindow.CSSStyleSheet.prototype){var o=this,n=this.$wbwindow.CSSStyleSheet.prototype.insertRule;this.$wbwindow.CSSStyleSheet.prototype.insertRule=function(t,e){return n.call(this,o.rewriteStyle(t),e)}}this.$wbwindow.CSSRule&&this.$wbwindow.CSSRule.prototype&&this.overrideStyleAttr(this.$wbwindow.CSSRule.prototype,"cssText")},y.prototype.initCSSOMOverrides=function(){var t,r=this;if(this.$wbwindow.CSSStyleValue){var i=function(t,e){var i=t[e];t[e]=function(t,e){if(null==e)return i.call(this,t,e);var o=r.noExceptRewriteStyle(e);return i.call(this,t,o)}};this.$wbwindow.CSSStyleValue.parse&&this.$wbwindow.CSSStyleValue.parse.toString().indexOf("[native code]")>0&&i(this.$wbwindow.CSSStyleValue,"parse"),this.$wbwindow.CSSStyleValue.parseAll&&this.$wbwindow.CSSStyleValue.parseAll.toString().indexOf("[native code]")>0&&i(this.$wbwindow.CSSStyleValue,"parseAll")}if(this.$wbwindow.CSSKeywordValue&&this.$wbwindow.CSSKeywordValue.prototype){var o=this.$wbwindow.CSSKeywordValue;this.$wbwindow.CSSKeywordValue=(t=this.$wbwindow.CSSKeywordValue,function(e){return r.domConstructorErrorChecker(this,"CSSKeywordValue",arguments),new t(r.rewriteStyle(e))}),this.$wbwindow.CSSKeywordValue.prototype=o.prototype,Object.defineProperty(this.$wbwindow.CSSKeywordValue.prototype,"constructor",{value:this.$wbwindow.CSSKeywordValue}),e(this.$wbwindow.CSSKeywordValue,"CSSKeywordValue")}if(this.$wbwindow.StylePropertyMap&&this.$wbwindow.StylePropertyMap.prototype){var n=this.$wbwindow.StylePropertyMap.prototype.set;this.$wbwindow.StylePropertyMap.prototype.set=function(){if(arguments.length<=1)return n.__WB_orig_apply?n.__WB_orig_apply(this,arguments):n.apply(this,arguments);var t=new Array(arguments.length);t[0]=arguments[0];for(var e=1;e<arguments.length;e++)t[e]=r.noExceptRewriteStyle(arguments[e]);return n.__WB_orig_apply?n.__WB_orig_apply(this,t):n.apply(this,t)};var s=this.$wbwindow.StylePropertyMap.prototype.append;this.$wbwindow.StylePropertyMap.prototype.append=function(){if(arguments.length<=1)return n.__WB_orig_apply?s.__WB_orig_apply(this,arguments):s.apply(this,arguments);var t=new Array(arguments.length);t[0]=arguments[0];for(var e=1;e<arguments.length;e++)t[e]=r.noExceptRewriteStyle(arguments[e]);return s.__WB_orig_apply?s.__WB_orig_apply(this,t):s.apply(this,t)}}},y.prototype.initAudioOverride=function(){if(this.$wbwindow.Audio){var t,r=this.$wbwindow.Audio,i=this;this.$wbwindow.Audio=(t=this.$wbwindow.Audio,function(e){return i.domConstructorErrorChecker(this,"Audio"),new t(i.rewriteUrl(e,!0,"oe_"))}),this.$wbwindow.Audio.prototype=r.prototype,Object.defineProperty(this.$wbwindow.Audio.prototype,"constructor",{value:this.$wbwindow.Audio}),e(this.$wbwindow.Audio,"HTMLAudioElement")}},y.prototype.initBadPrefixes=function(t){this.BAD_PREFIXES=["http:"+t,"https:"+t,"http:/"+t,"https:/"+t]},y.prototype.initCryptoRandom=function(){if(this.$wbwindow.crypto&&this.$wbwindow.Crypto){var t=this,e=function(e){for(var r=0;r<e.length;r++)e[r]=parseInt(4294967296*t.$wbwindow.Math.random());return e};this.$wbwindow.Crypto.prototype.getRandomValues=e,this.$wbwindow.crypto.getRandomValues=e}},y.prototype.initDateOverride=function(t){if(!this.$wbwindow.__wb_Date_now){var e,r=1e3*parseInt(t),i=this.$wbwindow.Date.now()-(r-0),o=this.$wbwindow.Date,n=this.$wbwindow.Date.UTC,s=this.$wbwindow.Date.parse,a=this.$wbwindow.Date.now;this.$wbwindow.__wb_Date_now=a,this.$wbwindow.Date=(e=this.$wbwindow.Date,function(t,r,o,n,s,w,h){return void 0===t?new e(a()-i):void 0===r?new e(t):void 0===o?new e(t,r):void 0===n?new e(t,r,o):void 0===s?new e(t,r,o,n):void 0===w?new e(t,r,o,n,s):void 0===h?new e(t,r,o,n,s,w):new e(t,r,o,n,s,w,h)}),this.$wbwindow.Date.prototype=o.prototype,this.$wbwindow.Date.now=function(){return a()-i},this.$wbwindow.Date.UTC=n,this.$wbwindow.Date.parse=s,this.$wbwindow.Date.__WB_timediff=i,this.$wbwindow.Date.prototype.getTimezoneOffset=function(){return 0};var w=this.$wbwindow.Date.prototype.toString;this.$wbwindow.Date.prototype.toString=function(){return w.call(this).split(" GMT")[0]+" GMT+0000 (Coordinated Universal Time)"};var h=this.$wbwindow.Date.prototype.toTimeString;this.$wbwindow.Date.prototype.toTimeString=function(){return h.call(this).split(" GMT")[0]+" GMT+0000 (Coordinated Universal Time)"},Object.defineProperty(this.$wbwindow.Date.prototype,"constructor",{value:this.$wbwindow.Date})}},y.prototype.initBlobOverride=function(){if(this.$wbwindow.Blob&&!this.wb_info.isSW){var t,e=this.$wbwindow.Blob,r=this;this.$wbwindow.Blob=(t=this.$wbwindow.Blob,function(e,i){return!i||"application/xhtml+xml"!==i.type&&"text/html"!==i.type||1===e.length&&"string"==typeof e[0]&&r.startsWith(e[0],"<!DOCTYPE html>")&&(e[0]=r.rewriteHtml(e[0]),i.type="text/html"),new t(e,i)}),this.$wbwindow.Blob.prototype=e.prototype}},y.prototype.initIntersectionObsOverride=function(){var t,e=this.$wbwindow.IntersectionObserver,r=this;this.$wbwindow.IntersectionObserver=(t=this.$wbwindow.IntersectionObserver,function(e,i){return i&&i.root&&(i.root=r.proxyToObj(i.root)),new t(e,i)}),this.$wbwindow.IntersectionObserver.prototype=e.prototype,Object.defineProperty(this.$wbwindow.IntersectionObserver.prototype,"constructor",{value:this.$wbwindow.IntersectionObserver})},y.prototype.initWSOverride=function(){this.$wbwindow.WebSocket&&this.$wbwindow.WebSocket.prototype&&(this.$wbwindow.WebSocket=function(t){function e(t,r){this.openCallbacks=[],this.addEventListener=function(t,r){"open"===t&&e.openCallbacks.push(r)},this.removeEventListener=function(){},this.close=function(){},this.send=function(t){console.log("ws send",t)},this.protocol=r&&r.length?r[0]:"",this.url=t,this.readyState=1;var i=this;setTimeout((function(){var t=new CustomEvent("open");i.onopen&&i.onopen(t),i.openCallbacks.forEach((e=>e(t)))}),500)}return e.CONNECTING=0,e.OPEN=1,e.CLOSING=2,e.CLOSED=3,e}(this.$wbwindow.WebSocket),Object.defineProperty(this.$wbwindow.WebSocket.prototype,"constructor",{value:this.$wbwindow.WebSocket}),e(this.$wbwindow.WebSocket,"WebSocket"))},y.prototype.initDocTitleOverride=function(){var t=this.getOrigGetter(this.$wbwindow.document,"title"),e=this.getOrigSetter(this.$wbwindow.document,"title"),r=this;this.defProp(this.$wbwindow.document,"title",(function(t){var i=e.call(this,t),o={wb_type:"title",title:t};return r.sendTopMessage(o),i}),t)},y.prototype.initFontFaceOverride=function(){if(this.$wbwindow.FontFace){var t,r=this,i=this.$wbwindow.FontFace;this.$wbwindow.FontFace=(t=this.$wbwindow.FontFace,function(e,i,o){r.domConstructorErrorChecker(this,"FontFace",arguments,2);var n=i;return null!=i&&(n="string"!=typeof i?r.rewriteInlineStyle(i.toString()):r.rewriteInlineStyle(i)),new t(e,n,o)}),this.$wbwindow.FontFace.prototype=i.prototype,Object.defineProperty(this.$wbwindow.FontFace.prototype,"constructor",{value:this.$wbwindow.FontFace}),e(this.$wbwindow.FontFace,"FontFace")}},y.prototype.initFixedRatio=function(t){try{this.$wbwindow.devicePixelRatio=t}catch(t){}if(Object.defineProperty)try{Object.defineProperty(this.$wbwindow,"devicePixelRatio",{value:t,writable:!1})}catch(t){}},y.prototype.initPaths=function(t){t.wombat_opts=t.wombat_opts||{},Object.assign(this.wb_info,t),this.wb_opts=t.wombat_opts,this.wb_replay_prefix=t.prefix,this.wb_is_proxy=t.proxy_magic||!this.wb_replay_prefix,this.wb_info.top_host=this.wb_info.top_host||"*",this.wb_curr_host=this.$wbwindow.location.protocol+"//"+this.$wbwindow.location.host,this.wb_info.wombat_opts=this.wb_info.wombat_opts||{},this.wb_orig_scheme=t.wombat_scheme+"://",this.wb_orig_origin=this.wb_orig_scheme+t.wombat_host,this.wb_abs_prefix=this.wb_replay_prefix,!t.is_live&&t.wombat_ts?this.wb_capture_date_part="/"+t.wombat_ts+"/":this.wb_capture_date_part="",this.initBadPrefixes(this.wb_replay_prefix),this.initCookiePreset()},y.prototype.initSeededRandom=function(t){this.$wbwindow.Math.seed=parseInt(t);var e=this;this.$wbwindow.Math.random=function(){return e.$wbwindow.Math.seed=(9301*e.$wbwindow.Math.seed+49297)%233280,e.$wbwindow.Math.seed/233280}},y.prototype.initHistoryOverrides=function(){this.overrideHistoryFunc("pushState"),this.overrideHistoryFunc("replaceState");var t=this;this.$wbwindow.addEventListener("popstate",(function(e){t.sendHistoryUpdate(t.$wbwindow.WB_wombat_location.href,t.$wbwindow.document.title)}))},y.prototype.initCookiePreset=function(){if(this.wb_info.presetCookie)for(var t=this.wb_info.presetCookie.split(";"),e=0;e<t.length;e++)this.$wbwindow.document.cookie=t[e].trim()+"; Path="+this.rewriteUrl("./",!0)},y.prototype.initHTTPOverrides=function(){var t=this;this.overridePropExtract(this.$wbwindow.XMLHttpRequest.prototype,"responseURL");var r,i,o=!!this.wb_info.convert_post_to_get;if(this.wb_info.isSW||o){var n=this.$wbwindow.XMLHttpRequest.prototype.open,s=this.$wbwindow.XMLHttpRequest.prototype.setRequestHeader,a=this.$wbwindow.XMLHttpRequest.prototype.send;this.utilFns.XHRopen=n,this.utilFns.XHRsend=a,this.$wbwindow.XMLHttpRequest.prototype.open=function(){this.__WB_xhr_open_arguments=arguments,this.__WB_xhr_headers=new Headers},this.$wbwindow.XMLHttpRequest.prototype.setAttributionReporting=function(){},this.$wbwindow.XMLHttpRequest.prototype.setRequestHeader=function(t,e){this.__WB_xhr_headers.set(t,e)},this.$wbwindow.XMLHttpRequest.prototype.send=async function(e){if(o&&("POST"===this.__WB_xhr_open_arguments[0]||"PUT"===this.__WB_xhr_open_arguments[0])){var r={url:this.__WB_xhr_open_arguments[1],method:this.__WB_xhr_open_arguments[0],headers:this.__WB_xhr_headers,postData:e};u(r)&&(this.__WB_xhr_open_arguments[1]=r.url,this.__WB_xhr_open_arguments[0]="GET",e=null)}if(this.__WB_xhr_open_arguments.length>2&&!this.__WB_xhr_open_arguments[2]&&-1===navigator.userAgent.indexOf("Firefox")&&(this.__WB_xhr_open_arguments[2]=!0,console.warn("wombat.js: Sync XHR not supported in SW-based replay in this browser, converted to async")),this._no_rewrite||(this.__WB_xhr_open_arguments[1]=t.rewriteUrl(this.__WB_xhr_open_arguments[1])),n.apply(this,this.__WB_xhr_open_arguments),!t.startsWith(this.__WB_xhr_open_arguments[1],"data:")){for(const[t,e]of this.__WB_xhr_headers.entries())s.call(this,t,e);s.call(this,"X-Pywb-Requested-With","XMLHttpRequest")}return a.call(this,e)}}else if(this.$wbwindow.XMLHttpRequest.prototype.open){var w=this.$wbwindow.XMLHttpRequest.prototype.open;this.utilFns.XHRopen=w,this.utilFns.XHRsend=this.$wbwindow.XMLHttpRequest.prototype.send,this.$wbwindow.XMLHttpRequest.prototype.open=function(e,r,i,o,n){var s=this._no_rewrite?r:t.rewriteUrl(r),a=!0;null==i||i||(a=!1),w.call(this,e,s,a,o,n),t.startsWith(s,"data:")||this.setRequestHeader("X-Pywb-Requested-With","XMLHttpRequest")}}if(this.$wbwindow.fetch){var h=this.$wbwindow.fetch;this.$wbwindow.fetch=function(e,r){var i;if(e instanceof Request){var o=t.rewriteUrl(e.url);e.__WB_no_unrewrite=!0,i=o===e.url?e:new Request(o,e),delete e.__WB_no_unrewrite}else e=t.rewriteUrl(e.toString()),i=new Request(e,r);return h.call(t.proxyToObj(this),i)}}if(this.$wbwindow.Request&&this.$wbwindow.Request.prototype){var p=this.$wbwindow.Request;this.$wbwindow.Request=(r=this.$wbwindow.Request,function e(i,o){t.domConstructorErrorChecker(this,"Request",arguments);var n=o||{},s=i,a=typeof i;switch(a){case"string":s=t.rewriteUrl(i);break;case"object":if(s=i,i.url){var w=t.rewriteUrl(i.url);w!==i.url&&(s=new r(w,i))}else i.href&&(s=t.rewriteUrl(i.toString(),!0))}let h=!1;if(n&&n.referrer){var p=t.rewriteUrl(n.referrer);p!==n.referrer&&(n instanceof e?(n.__WB_no_unrewrite=!0,h=!0):n.referrer=p)}var c=new r(s,n);return h&&delete n.__WB_no_unrewrite,c}),this.$wbwindow.Request.prototype=p.prototype,Object.defineProperty(this.$wbwindow.Request.prototype,"constructor",{value:this.$wbwindow.Request}),this.overridePropExtract(this.$wbwindow.Request.prototype,"url"),this.overridePropExtract(this.$wbwindow.Request.prototype,"referrer")}if(this.$wbwindow.Response&&this.$wbwindow.Response.prototype){var c=this.$wbwindow.Response.prototype.redirect;this.$wbwindow.Response.prototype.redirect=function(e,r){var i=t.rewriteUrl(e,!0,null,t.$wbwindow.document);return c.call(this,i,r)},this.overridePropExtract(this.$wbwindow.Response.prototype,"url")}if(this.$wbwindow.EventSource&&this.$wbwindow.EventSource.prototype){var l=this.$wbwindow.EventSource;this.$wbwindow.EventSource=(i=this.$wbwindow.EventSource,function(e,r){t.domConstructorErrorChecker(this,"EventSource",arguments);var o=e;return null!=e&&(o=t.rewriteUrl(e)),new i(o,r)}),this.$wbwindow.EventSource.prototype=l.prototype,Object.defineProperty(this.$wbwindow.EventSource.prototype,"constructor",{value:this.$wbwindow.EventSource}),e(this.$wbwindow.EventSource,"EventSource")}},y.prototype.initElementGetSetAttributeOverride=function(){if(!this.wb_opts.skip_setAttribute&&this.$wbwindow.Element&&this.$wbwindow.Element.prototype){var t=this,e=this.$wbwindow.Element.prototype;if(e.setAttribute){var r=e.setAttribute;e._orig_setAttribute=r,e.setAttribute=function(e,i){var o=i;if(e&&"string"==typeof o){var n=e.toLowerCase();if("LINK"===this.tagName&&"href"===n&&0===o.indexOf("data:text/css"))o=t.rewriteInlineStyle(i);else if("style"===n)o=t.rewriteStyle(i);else if("srcset"===n||"imagesrcset"===n&&"LINK"===this.tagName)o=t.rewriteSrcset(i,this);else{t.shouldRewriteAttr(this.tagName,n)&&(t.removeWBOSRC(this),this._no_rewrite||(o=t.rewriteUrl(i,!1,t.rwModForElement(this,n))))}}return r.call(this,e,o)}}if(e.getAttribute){var i=e.getAttribute;this.wb_getAttribute=i,e.getAttribute=function(e){var r=i.call(this,e);if(null===r)return r;var o=e;if(e&&(o=e.toLowerCase()),t.shouldRewriteAttr(this.tagName,o)){var n=t.retrieveWBOSRC(this);return n||t.extractOriginalURL(r)}return t.startsWith(o,"data-")&&t.startsWithOneOf(r,t.wb_prefixes)?t.extractOriginalURL(r):r}}}},y.prototype.initSvgImageOverrides=function(){if(this.$wbwindow.SVGImageElement){var t=this.$wbwindow.SVGImageElement.prototype,e=t.getAttribute,r=t.getAttributeNS,i=t.setAttribute,o=t.setAttributeNS,n=this;t.getAttribute=function(t){var r=e.call(this,t);return t.indexOf("xlink:href")>=0||"href"===t?n.extractOriginalURL(r):r},t.getAttributeNS=function(t,e){var i=r.call(this,t,e);return e.indexOf("xlink:href")>=0||"href"===e?n.extractOriginalURL(i):i},t.setAttribute=function(t,e){var r=e;return(t.indexOf("xlink:href")>=0||"href"===t)&&(r=n.rewriteUrl(e)),i.call(this,t,r)},t.setAttributeNS=function(t,e,r){var i=r;return(e.indexOf("xlink:href")>=0||"href"===e)&&(i=n.rewriteUrl(r)),o.call(this,t,e,i)}}},y.prototype.initCreateElementNSFix=function(){if(this.$wbwindow.document.createElementNS&&this.$wbwindow.Document.prototype.createElementNS){var t=this.$wbwindow.document.createElementNS,e=this,r=function(r,i){return t.call(e.proxyToObj(this),e.extractOriginalURL(r),i)};this.$wbwindow.Document.prototype.createElementNS=r,this.$wbwindow.document.createElementNS=r}},y.prototype.initQuerySelectorOverride=function(){if(this.$wbwindow.document.querySelector&&this.$wbwindow.Document.prototype.querySelector){var t=this,e=this.$wbwindow.document.querySelector,r=function(r){return e.call(t.proxyToObj(this),n(r))},i=this.$wbwindow.document.querySelectorAll,o=function(e){return i.call(t.proxyToObj(this),n(e))};this.$wbwindow.Document.prototype.querySelector=r,this.$wbwindow.document.querySelector=r,this.$wbwindow.Document.prototype.querySelectorAll=o,this.$wbwindow.document.querySelectorAll=o}function n(t){if("string"==typeof t)try{t=t.replace(/((?:^|\\s)\\b\\w+\\[(?:src|href|data-href))[\\^]?(=[\'"]?(?:https?[:])?\\/\\/)/,"$1*$2")}catch(t){}return t}},y.prototype.initInsertAdjacentElementHTMLOverrides=function(){var t=this.$wbwindow.Element;if(t&&t.prototype){var e=t.prototype,r=this.rewriteInsertAdjHTMLOrElemArgs;if(e.insertAdjacentHTML){var i=e.insertAdjacentHTML;e.insertAdjacentHTML=function(t,e){return r(this,i,t,e,!0)}}if(e.insertAdjacentElement){var o=e.insertAdjacentElement;e.insertAdjacentElement=function(t,e){return r(this,o,t,e,!1)}}}},y.prototype.initDomOverride=function(){var t=this.$wbwindow.Node;if(t&&t.prototype){var e=this.rewriteNodeFuncArgs;if(t.prototype.appendChild){var r=t.prototype.appendChild;t.prototype.appendChild=function(t,i){return e(this,r,t,i)}}if(t.prototype.insertBefore){var i=t.prototype.insertBefore;t.prototype.insertBefore=function(t,r){return e(this,i,t,r)}}if(t.prototype.replaceChild){var o=t.prototype.replaceChild;t.prototype.replaceChild=function(t,r){return e(this,o,t,r)}}this.overridePropToProxy(t.prototype,"ownerDocument"),this.overridePropToProxy(this.$wbwindow.HTMLHtmlElement.prototype,"parentNode"),this.overridePropToProxy(this.$wbwindow.Event.prototype,"target");var n=t.prototype.getRootNode,s=this;t.prototype.getRootNode=function(){return s.objToProxy(n.call(this))}}this.$wbwindow.Element&&this.$wbwindow.Element.prototype&&(this.overrideParentNodeAppendPrepend(this.$wbwindow.Element),this.overrideChildNodeInterface(this.$wbwindow.Element,!1)),this.$wbwindow.DocumentFragment&&this.$wbwindow.DocumentFragment.prototype&&this.overrideParentNodeAppendPrepend(this.$wbwindow.DocumentFragment)},y.prototype.initDocOverrides=function(t){if(Object.defineProperty){this.overrideReferrer(t),this.defGetterProp(t,"origin",(function(){return this.WB_wombat_location.origin})),this.defGetterProp(this.$wbwindow,"origin",(function(){return this.WB_wombat_location.origin}));var e=this;this.defProp(t,"domain",(function(t){var r=this.WB_wombat_location;r&&e.endsWith(r.hostname,t)&&(this.__wb_domain=t)}),(function(){return this.__wb_domain||this.WB_wombat_location.hostname}))}},y.prototype.initDocWriteOpenCloseOverride=function(){if(this.$wbwindow.DOMParser){var t=this.$wbwindow.Document.prototype,e=this.$wbwindow.document;this._writeBuff="";var r=this,i=e.write,o=function(){return d(this,i,_(arguments))};e.write=o,t.write=o;var n=e.writeln,s=function(){return d(this,n,_(arguments))};e.writeln=s,t.writeln=s;var a=e.open,w=function(){var t,e=r.proxyToObj(this);if(3===arguments.length){var i=r.rewriteUrl(arguments[0],!1,"mp_");t=a.call(e,i,arguments[1],arguments[2]),r.initNewWindowWombat(t,arguments[0])}else t=a.call(e),u()?r._writeBuff="":r.initNewWindowWombat(e.defaultView);return t};e.open=w,t.open=w;var h=e.close,p=function(){if(!r._writeBuff){var t=r.proxyToObj(this);return r.initNewWindowWombat(t.defaultView),h.__WB_orig_apply?h.__WB_orig_apply(t,arguments):h.apply(t,arguments)}if("loading"===this.readyState&&i.call(e,r.rewriteHtml(r._writeBuff,!0)),u()){r.blobUrlForIframe(r.$wbwindow.frameElement,r._writeBuff);const t=this;try{if(t.documentElement){new r.$wbwindow.MutationObserver(((e,i)=>{r.blobUrlForIframe(r.$wbwindow.frameElement,t.documentElement.outerHTML)})).observe(t.documentElement,{childList:!0,subtree:!0})}}catch(t){}}r._writeBuff=""};e.close=p,t.close=p;var c=this.getOrigGetter(t,"body"),l=this.getOrigSetter(t,"body");c&&l&&this.defProp(t,"body",(function(t){return t&&(t instanceof HTMLBodyElement||t instanceof HTMLFrameSetElement)&&r.rewriteElemComplete(t),l.call(r.proxyToObj(this),t)}),c)}function u(){return r.wb_info.isSW&&r.$wbwindow.frameElement}function _(t){return 0===t.length?"":1===t.length?t[0]:Array.prototype.join.call(t,"")}function d(t,e,i){r.$wbwindow;var o=r.proxyToObj(t);if("loading"===t.readyState&&i&&-1!==i.startsWith("\\x3c!--")&&-1===i.indexOf("--\\x3e"))return e.call(o,i);if(!(u()||"loading"===t.readyState&&r.wb_info.injectDocClose)){i=r.rewriteHtml(i,!0);o=r.proxyToObj(t);var n=e.call(o,i);return r.initNewWindowWombat(o.defaultView),n}r._writeBuff+=i}},y.prototype.initIframeWombat=function(t){var e;e=t._get_contentWindow?t._get_contentWindow.call(t):t.contentWindow;try{if(!e||e===this.$wbwindow||e._skip_wombat||e._wb_wombat)return}catch(t){return}var r=t.src;this.initNewWindowWombat(e,r)},y.prototype.initNewWindowWombat=function(t,e){var r=!1;if(t&&!t._wb_wombat){if(e&&""!==e&&!this.startsWithOneOf(e,["about:blank","javascript:"])||(r=!0),!r&&this.wb_info.isSW){var i=this.extractOriginalURL(e);("about:blank"===i||i.startsWith("srcdoc:")||i.startsWith("blob:"))&&(r=!0)}if(r){var o={};Object.assign(o,this.wb_info);var n=new y(t,o);t._wb_wombat=n.wombatInit()}else this.initProtoPmOrigin(t),this.initPostMessageOverride(t),this.initMessageEventOverride(t),this.initCheckThisFunc(t),this.initImportWrapperFunc(t)}},y.prototype.initTimeoutIntervalOverrides=function(){var t=this.rewriteSetTimeoutInterval;if(this.$wbwindow.setTimeout&&!this.$wbwindow.setTimeout.__$wbpatched$__){var e=this.$wbwindow.setTimeout;this.$wbwindow.setTimeout=function(){return t(this,e,arguments)},this.$wbwindow.setTimeout.__$wbpatched$__=!0}if(this.$wbwindow.setInterval&&!this.$wbwindow.setInterval.__$wbpatched$__){var r=this.$wbwindow.setInterval;this.$wbwindow.setInterval=function(){return t(this,r,arguments)},this.$wbwindow.setInterval.__$wbpatched$__=!0}},y.prototype.initWorkerOverrides=function(){var t,e,r=this;if(this.$wbwindow.Worker&&!this.$wbwindow.Worker._wb_worker_overridden){var i=this.$wbwindow.Worker;this.$wbwindow.Worker=(t=i,function(e,i){return r.domConstructorErrorChecker(this,"Worker",arguments),new t(r.rewriteWorker(e),i)}),this.$wbwindow.Worker.prototype=i.prototype,Object.defineProperty(this.$wbwindow.Worker.prototype,"constructor",{value:this.$wbwindow.Worker}),this.$wbwindow.Worker._wb_worker_overridden=!0}if(this.$wbwindow.SharedWorker&&!this.$wbwindow.SharedWorker.__wb_sharedWorker_overridden){var o=this.$wbwindow.SharedWorker;this.$wbwindow.SharedWorker=(e=o,function(t,i){return r.domConstructorErrorChecker(this,"SharedWorker",arguments),new e(r.rewriteWorker(t),i)}),this.$wbwindow.SharedWorker.prototype=o.prototype,Object.defineProperty(this.$wbwindow.SharedWorker.prototype,"constructor",{value:this.$wbwindow.SharedWorker}),this.$wbwindow.SharedWorker.__wb_sharedWorker_overridden=!0}if(this.$wbwindow.ServiceWorkerContainer&&this.$wbwindow.ServiceWorkerContainer.prototype&&this.$wbwindow.ServiceWorkerContainer.prototype.register){var n=this.$wbwindow.ServiceWorkerContainer.prototype.register;this.$wbwindow.ServiceWorkerContainer.prototype.register=function(t,e){var i=new r.URL(t,r.$wbwindow.document.baseURI).href,o=r.getPageUnderModifier();return e&&e.scope?e.scope=r.rewriteUrl(e.scope,!1,o):e={scope:r.rewriteUrl("/",!1,o)},n.call(this,r.rewriteUrl(i,!1,"sw_"),e)}}if(this.$wbwindow.Worklet&&this.$wbwindow.Worklet.prototype&&this.$wbwindow.Worklet.prototype.addModule&&!this.$wbwindow.Worklet.__wb_workerlet_overridden){var s=this.$wbwindow.Worklet.prototype.addModule;this.$wbwindow.Worklet.prototype.addModule=function(t,e){var i=r.rewriteUrl(t,!1,"js_");return s.call(this,i,e)},this.$wbwindow.Worklet.__wb_workerlet_overridden=!0}},y.prototype.initLocOverride=function(t,e,r){if(Object.defineProperty)for(var i=0;i<this.URL_PROPS.length;i++){var o=this.URL_PROPS[i];this.defProp(t,o,this.makeSetLocProp(o,e,r),this.makeGetLocProp(o,r),!0)}},y.prototype.initWombatLoc=function(t){if(!(!t||t.WB_wombat_location&&t.document.WB_wombat_location)){var e=new w(t.location,this),r=this;if(Object.defineProperty){this.defProp(t.Object.prototype,"WB_wombat_location",(function(e){var i=this._WB_wombat_location||this.defaultView&&this.defaultView._WB_wombat_location;i&&(i.href=e),t.location=r.rewriteUrl(e)}),(function(){return this._WB_wombat_location||this.defaultView&&this.defaultView._WB_wombat_location||this.location})),this.initProtoPmOrigin(t),t._WB_wombat_location=e}else t.WB_wombat_location=e,setTimeout(this.checkAllLocations,500),setInterval(this.checkAllLocations,500)}},y.prototype.initProtoPmOrigin=function(t){if(!t.Object.prototype.__WB_pmw){var e=function(t){return this.__WB_source=t,this};try{t.Object.defineProperty(t.Object.prototype,"__WB_pmw",{get:function(){return e},set:function(){},configurable:!0,enumerable:!1})}catch(t){}t.__WB_check_loc=function(t,e){if(t instanceof Location||t instanceof w){if(e)for(var r=0;r<e.length;r++)if(t===e[r])return{};return this.WB_wombat_location}return{}}}},y.prototype.initCheckThisFunc=function(t){try{t.Object.prototype[this.WB_CHECK_THIS_FUNC]||t.Object.defineProperty(t.Object.prototype,this.WB_CHECK_THIS_FUNC,{configutable:!1,enumerable:!1,value:function(t){try{return t&&t._WB_wombat_obj_proxy?t._WB_wombat_obj_proxy:t}catch(e){return t}}})}catch(t){}},y.prototype.initImportWrapperFunc=function(t){var e=this;t.____wb_rewrite_import__=function(t,r){return t&&(r=new e.URL(r,t).href),import(e.rewriteUrl(r,!1,"esm_"))}},y.prototype.overrideGetOwnPropertyNames=function(t){var e=t.Object.getOwnPropertyNames,r=[this.WB_CHECK_THIS_FUNC,"WB_wombat_location","__WB_pmw","WB_wombat_top","WB_wombat_eval","WB_wombat_runEval"];try{t.Object.defineProperty(t.Object,"getOwnPropertyNames",{value:function(t){for(var i=e(t),o=0;o<r.length;o++){var n=i.indexOf(r[o]);n>=0&&i.splice(n,1)}return i}})}catch(t){console.log(t)}},y.prototype.initHashChange=function(){if(this.$wbwindow.__WB_top_frame){var t=this;this.$wbwindow.addEventListener("message",(function(e){if(e.data&&e.data.from_top){var r=e.data.message;r.wb_type&&"outer_hashchange"===r.wb_type&&t.$wbwindow.location.hash!=r.hash&&(t.$wbwindow.location.hash=r.hash)}})),this.$wbwindow.addEventListener("hashchange",(function(){var e={wb_type:"hashchange",hash:t.$wbwindow.location.hash};t.sendTopMessage(e)}))}},y.prototype.initPostMessageOverride=function(t){if(t.postMessage&&!t.__orig_postMessage){var e=t.postMessage,r=this;t.__orig_postMessage=e;var i=function(i,o,n,s){var a,w,h,p=r.proxyToObj(this);if(p||((p=t).__WB_source=t),p.__WB_source&&p.__WB_source.WB_wombat_location){var c=p.__WB_source;if(a=c.WB_wombat_location.origin,p.__WB_win_id||(p.__WB_win_id={},p.__WB_counter=0),!c.__WB_id){var l=p.__WB_counter;c.__WB_id=l+c.WB_wombat_location.href,p.__WB_counter+=1}p.__WB_win_id[c.__WB_id]=c,w=c.__WB_id,p.__WB_source=void 0}else a=window.WB_wombat_location.origin;"object"==typeof o?(h=o.targetOrigin,n=o.transfer):h=o;var u=h;u===p.location.origin&&(u=a);var _={from:a,to_origin:u,src_id:w,message:i,from_top:s};if("*"!==h){if("null"===p.location.origin||""===p.location.origin)return;h=p.location.origin}return e.call(p,_,h,n)};t.postMessage=i,t.Window.prototype.postMessage=i;var o=null,n=(o=t.EventTarget&&t.EventTarget.prototype?t.EventTarget.prototype:t).addEventListener;o.addEventListener=function(t,e,i){var o,s=r.proxyToObj(this);if("message"===t?o=r.message_listeners.add_or_get(e,(function(){return c(e,s,r)})):"storage"===t?r.storage_listeners.add_or_get(e,(function(){return p(e,s)})):"online"===t||"offline"===t||(o=e),o)return n.call(s,t,o,i)};var s=o.removeEventListener;o.removeEventListener=function(t,e,i){var o,n=r.proxyToObj(this);if("message"===t?o=r.message_listeners.remove(e):"storage"===t?r.storage_listeners.remove(e):o=e,o)return s.call(n,t,o,i)};var a=function(e,i){var o=r.getOrigSetter(t,e);r.defProp(t,e,(function(t){this["__orig_"+e]=t;var n=r.proxyToObj(this),s=t?i(t,n,r):t;return o.call(n,s)}),(function(){return this["__orig_"+e]}))};a("onmessage",c),a("onstorage",p)}},y.prototype.initMessageEventOverride=function(t){t.MessageEvent&&!t.MessageEvent.prototype.__extended&&(this.addEventOverride("target"),this.addEventOverride("srcElement"),this.addEventOverride("currentTarget"),this.addEventOverride("eventPhase"),this.addEventOverride("path"),this.overridePropToProxy(t.MessageEvent.prototype,"source"),t.MessageEvent.prototype.__extended=!0)},y.prototype.initUIEventsOverrides=function(){this.overrideAnUIEvent("UIEvent"),this.overrideAnUIEvent("MouseEvent"),this.overrideAnUIEvent("TouchEvent"),this.overrideAnUIEvent("FocusEvent"),this.overrideAnUIEvent("KeyboardEvent"),this.overrideAnUIEvent("WheelEvent"),this.overrideAnUIEvent("InputEvent"),this.overrideAnUIEvent("CompositionEvent")},y.prototype.initOpenOverride=function(){var t=this.$wbwindow.open;this.$wbwindow.Window.prototype.open&&(t=this.$wbwindow.Window.prototype.open);var e=this,r=function(r,i,o){i&&(i=e.rewriteAttrTarget(i));var n=e.rewriteUrl(r,!1),s=t.call(e.proxyToObj(this),n,i,o);return e.initNewWindowWombat(s,r),s};this.$wbwindow.open=r,this.$wbwindow.Window.prototype.open&&(this.$wbwindow.Window.prototype.open=r);for(var i=0;i<this.$wbwindow.frames.length;i++)try{this.$wbwindow.frames[i].open=r}catch(t){console.log(t)}},y.prototype.rewriteAttrTarget=function(t){return this.wb_info.target_frame&&("_blank"===t||"_parent"===t||"_top"===t||t&&this.$wbwindow===this.$wbwindow.__WB_replay_top)?this.wb_info.target_frame:t},y.prototype.initCookiesOverride=function(){var t=this.getOrigGetter(this.$wbwindow.document,"cookie"),e=this.getOrigSetter(this.$wbwindow.document,"cookie");t||(t=this.getOrigGetter(this.$wbwindow.Document.prototype,"cookie")),e||(e=this.getOrigSetter(this.$wbwindow.Document.prototype,"cookie"));var r=function(t,e){var r=new Date(e);return isNaN(r.getTime())?"Expires=Thu,| 01 Jan 1970 00:00:00 GMT":"Expires="+new Date(r.getTime()+Date.__WB_timediff).toUTCString().replace(",",",|")},i=this;this.defProp(this.$wbwindow.document,"cookie",(function(t){if(t){for(var o=t.replace(i.cookie_expires_regex,r).split(i.SetCookieRe),n=0;n<o.length;n++)o[n]=i.rewriteCookie(o[n]);return e.call(i.proxyToObj(this),o.join(","))}}),(function(){return t.call(i.proxyToObj(this))}))},y.prototype.initRegisterUnRegPHOverride=function(){var t=this,e=this.$wbwindow.navigator;if(e.registerProtocolHandler){var r=e.registerProtocolHandler;e.registerProtocolHandler=function(e,i,o){return r.call(this,e,t.rewriteUrl(i),o)}}if(e.unregisterProtocolHandler){var i=e.unregisterProtocolHandler;e.unregisterProtocolHandler=function(e,r){return i.call(this,e,t.rewriteUrl(r))}}},y.prototype.initMiscNavigatorOverrides=function(){this.$wbwindow.navigator.sendBeacon&&(this.$wbwindow.navigator.sendBeacon=function(){return!0}),Object.defineProperty(navigator,"onLine",{value:!0}),this.$wbwindow.navigator.mediaDevices&&(this.$wbwindow.navigator.mediaDevices.setCaptureHandleConfig=function(){}),this.$wbwindow.navigator.getInstalledRelatedApps&&(this.$wbwindow.navigator.getInstalledRelatedApps=function(){return Promise.resolve([])})},y.prototype.initPresentationRequestOverride=function(){if(this.$wbwindow.PresentationRequest&&this.$wbwindow.PresentationRequest.prototype){var t=this,e=this.$wbwindow.PresentationRequest;this.$wbwindow.PresentationRequest=(r=this.$wbwindow.PresentationRequest,function(e){t.domConstructorErrorChecker(this,"PresentationRequest",arguments);var i=e;if(null!=e)if(Array.isArray(i))for(var o=0;o<i.length;o++)i[o]=t.rewriteUrl(i[o],!0,"mp_");else i=t.rewriteUrl(e,!0,"mp_");return new r(i)}),this.$wbwindow.PresentationRequest.prototype=e.prototype,Object.defineProperty(this.$wbwindow.PresentationRequest.prototype,"constructor",{value:this.$wbwindow.PresentationRequest})}var r},y.prototype.initDisableNotificationsGeoLocation=function(){window.Notification&&(window.Notification.requestPermission=function(t){return t&&t("denied"),Promise.resolve("denied")});var t=function(t){t&&(t.getCurrentPosition&&(t.getCurrentPosition=function(t,e,r){e&&e({code:2,message:"not available"})}),t.watchPosition&&(t.watchPosition=function(t,e,r){e&&e({code:2,message:"not available"})}))};window.geolocation&&t(window.geolocation),window.navigator.geolocation&&t(window.navigator.geolocation)},y.prototype.initStorageOverride=function(){this.addEventOverride("storageArea",this.$wbwindow.StorageEvent.prototype),i.yes=!1;var t={};if(this.wb_info.storage)try{t=JSON.parse(this.wb_info.storage)}catch(t){console.warn("Error parsing storage, storages not loaded")}a(this,"localStorage",t.local),a(this,"sessionStorage",t.session),this.$wbwindow.Storage=s,i.yes=!0},y.prototype.initIndexedDBOverride=function(){if(this.$wbwindow.IDBFactory){var t=this.$wbwindow.IDBFactory.prototype,e="wb-"+this.wb_orig_origin+"-",r=t.open;t.open=function(t,i){return r.call(this,e+t,i)};var i=t.deleteDatabase;t.delete=function(t){return i.call(this,e+t,options)};var o=t.databases;t.databases=function(){var t=this;return new Promise((function(r,i){o.call(t).then((function(t){for(var i=[],o=0;o<t.length;o++)0===t[o].name.indexOf(e)&&i.push({name:t[o].name.substring(e.length),version:t[o].version});r(i)})).catch((function(t){i(t)}))}))}}},y.prototype.initCachesOverride=function(){if(this.$wbwindow.Cache){var t=this.$wbwindow.Cache.prototype;t.match=function(){return Promise.resolve(void 0)},t.matchAll=function(){return Promise.resolve([])},t.add=function(){return Promise.resolve(void 0)},t.put=function(){return Promise.resolve(void 0)},t.delete=function(){return Promise.resolve(!1)},t.keys=function(){return Promise.resolve([])}}},y.prototype.initCacheStorageOverride=function(){if(this.$wbwindow.CacheStorage){this.$wbwindow.chrome&&(this.$wbwindow.chrome={});var t=this.$wbwindow.CacheStorage.prototype,e="wb-"+this.wb_orig_origin+"-",r=t.open;t.open=function(t){return r.call(this,e+t)};var i=t.has;t.has=function(t){return i.call(this,e+t)};var o=t.delete;t.delete=function(t){return o.call(this,e+t)};var n=t.keys;t.keys=function(){var t=this;return new Promise((function(r,i){n.call(t).then((function(t){for(var i=[],o=0;o<t.length;o++)0===t[o].indexOf(e)&&i.push(t[o].substring(e.length));r(i)})).catch((function(t){i(t)}))}))};t.match;t.match=function(t,e){var r=this;return this.keys().then((function(i){var o;return i.reduce((function(i,n){return i.then((function(){return o||r.open(n).then((function(r){return r.match(t,e)})).then((function(t){return o=t}))}))}),Promise.resolve())}))}}},y.prototype.initWindowObjProxy=function(t){if(t.Proxy){var e=this.getAllOwnProps(t),r={},i=this,o=new t.Proxy({},{get:function(o,n){switch(n){case"top":return i.$wbwindow.WB_wombat_top._WB_wombat_obj_proxy;case"parent":if(i.$wbwindow===i.$wbwindow.WB_wombat_top)return i.$wbwindow.WB_wombat_top._WB_wombat_obj_proxy;try{var s=i.$wbwindow.parent._WB_wombat_obj_proxy;if(s)return s}catch(t){}return i.$wbwindow.WB_wombat_top._WB_wombat_obj_proxy}return i.defaultProxyGet(t,n,e,r)},set:function(e,r,i){switch(r){case"location":return t.WB_wombat_location=i,!0;case"postMessage":case"document":return!0}try{if(!Reflect.set(e,r,i))return!1}catch(t){}return Reflect.set(t,r,i)},has:function(e,r){return r in t},ownKeys:function(e){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))},getOwnPropertyDescriptor:function(e,r){var i=Object.getOwnPropertyDescriptor(e,r);return i||(i=Object.getOwnPropertyDescriptor(t,r))&&(i.configurable=!0),i},getPrototypeOf:function(e){return Object.getPrototypeOf(t)},setPrototypeOf:function(t,e){return!1},isExtensible:function(e){return Object.isExtensible(t)},preventExtensions:function(e){return Object.preventExtensions(t),!0},deleteProperty:function(e,r){var i=Object.getOwnPropertyDescriptor(t,r);return void 0===i||!1!==i.configurable&&(delete e[r],delete t[r],!0)},defineProperty:function(e,r,i){var o=i||{};return o.hasOwnProperty("value")||o.hasOwnProperty("get")||o.hasOwnProperty("set")||(o.value=t[r]),Reflect.defineProperty(t,r,o),Reflect.defineProperty(e,r,o)}});return t._WB_wombat_obj_proxy=o,o}},y.prototype.initDocumentObjProxy=function(t){if(this.initDocOverrides(t),this.$wbwindow.Proxy){var e={},r=this.getAllOwnProps(t),i=this,o=new this.$wbwindow.Proxy(t,{get:function(o,n){return i.defaultProxyGet(t,n,r,e)},set:function(e,r,i){return"location"===r?(t.WB_wombat_location=i,!0):Reflect.set(e,r,i)}});return t._WB_wombat_obj_proxy=o,o}},y.prototype.initAutoFetchWorker=function(){if(this.wbUseAFWorker){var t=new h(this,{isTop:this.$wbwindow===this.$wbwindow.__WB_replay_top,workerURL:(this.wb_info.auto_fetch_worker_prefix||this.wb_info.static_prefix)+"autoFetchWorker.js?init="+encodeURIComponent(JSON.stringify({mod:this.wb_info.mod,prefix:this.wb_abs_prefix,rwRe:this.wb_unrewrite_rx.source}))});this.WBAutoFetchWorker=t,this.$wbwindow.$WBAutoFetchWorker$=t;var e=this;this.utilFns.wbSheetMediaQChecker=function(){e._removeEventListener(this,"load",e.utilFns.wbSheetMediaQChecker),null!=this.sheet&&e.WBAutoFetchWorker&&e.WBAutoFetchWorker.deferredSheetExtraction(this.sheet)}}},y.prototype.initTopFrameNotify=function(t){var e=this,r=function(r){if(e.$wbwindow.__WB_top_frame){if(e.$wbwindow.WB_wombat_location){var i=e.$wbwindow.WB_wombat_location.href;if("string"==typeof i&&"about:blank"!==i&&0!==i.indexOf("javascript:")&&("complete"===e.$wbwindow.document.readyState&&e.wbUseAFWorker&&e.WBAutoFetchWorker&&e.WBAutoFetchWorker.extractFromLocalDoc(),e.$wbwindow===e.$wbwindow.__WB_replay_top)){for(var o=[],n=e.$wbwindow.document.querySelectorAll("link[rel*=\'icon\']"),s=0;s<n.length;s++){var a=n[s];o.push({rel:a.rel,href:e.wb_getAttribute.call(a,"href")})}o.push({rel:"icon",href:e.rewriteUrl("/favicon.ico")});var w={icons:o,url:e.$wbwindow.WB_wombat_location.href,ts:e.wb_info.timestamp,request_ts:e.wb_info.request_ts,is_live:e.wb_info.is_live,title:e.$wbwindow.document?e.$wbwindow.document.title:"",readyState:e.$wbwindow.document.readyState,wb_type:"load"};e.sendTopMessage(w)}}}else{var h=e.$wbwindow.location.hash;e.$wbwindow.location.replace(t.top_url+h)}};"complete"===this.$wbwindow.document.readyState?r():this.$wbwindow.addEventListener?this.$wbwindow.document.addEventListener("readystatechange",r):this.$wbwindow.attachEvent&&this.$wbwindow.document.attachEvent("onreadystatechange",r)},y.prototype.initTopFrame=function(t){if(this.wb_is_proxy)return t.__WB_replay_top=t.top,t.__WB_top_frame=void 0,this.replayTopHost=r.location.host,void(this.replayTopProtocol=r.location.protocol);for(var e=function(t){try{return!!t&&(t.wbinfo?t.wbinfo.is_framed:null!=t._wb_wombat)}catch(t){return!1}},r=t;r.parent!=r&&e(r.parent);)r=r.parent;t.__WB_replay_top=r,this.replayTopHost=r.location.host,this.replayTopProtocol=r.location.protocol;var i=r.parent;if(i!=t&&this.wb_info.is_framed||(i=void 0),i?(t.__WB_top_frame=i,this.initFrameElementOverride(t)):t.__WB_top_frame=void 0,!this.wb_opts.embedded&&r==t&&this.wbUseAFWorker){var o=this;this.$wbwindow.addEventListener("message",(function(t){t.data&&"aaworker"===t.data.wb_type&&o.WBAutoFetchWorker&&o.WBAutoFetchWorker.postMessage(t.data.msg)}),!1)}},y.prototype.initFrameElementOverride=function(t){if(Object.defineProperty&&this.proxyToObj(t.__WB_replay_top)==this.proxyToObj(t))try{Object.defineProperty(t,"frameElement",{value:null,configurable:!1})}catch(t){}},y.prototype.initWombatTop=function(t){if(Object.defineProperty){this.defProp(t.Object.prototype,"WB_wombat_top",(function(t){this.top=t}),(function(){return this.__WB_replay_top?this.__WB_replay_top:(t=this,(void 0===window.constructor?t instanceof window.constructor:t.window==t)?this:this.top);var t}))}},y.prototype.initEvalOverride=function(){var t=this.rewriteEvalArg,e=function(){};this.wrappedEval=function(e){return function(r){return t(e,r)}};var r=this,i=function(e){var r=this;return r&&r.eval&&r.eval!==eval?{eval:function(){return r.eval.__WB_orig_apply(r,arguments)}}:{eval:function(r){return t(e,r)}}},o=function(e){var i=this;return i&&i.eval&&i.eval!==eval?{eval:function(){return i.eval.__WB_orig_apply(i,[].slice.call(arguments,2))}}:{eval:function(i,o,n){var s=i===r.proxyToObj(r.$wbwindow);try{s=s&&!o.callee.caller}catch(t){s=!1}return t(e,n,s)}}};this.defProp(this.$wbwindow.Object.prototype,"WB_wombat_runEval",e,(function(){return i})),this.defProp(this.$wbwindow.Object.prototype,"WB_wombat_runEval2",e,(function(){return o}))},y.prototype.wombatInit=function(){this._internalInit(),this.initCookiePreset(),this.initHistoryOverrides(),this.overrideFunctionApply(this.$wbwindow),this.overrideFunctionCall(this.$wbwindow),this.overrideFunctionBind(this.$wbwindow),this.initDocTitleOverride(),this.initHashChange(),this.wb_opts.skip_postmessage||(this.initPostMessageOverride(this.$wbwindow),this.initMessageEventOverride(this.$wbwindow)),this.initCheckThisFunc(this.$wbwindow),this.initImportWrapperFunc(this.$wbwindow),this.overrideGetOwnPropertyNames(this.$wbwindow),this.initUIEventsOverrides(),this.initDocWriteOpenCloseOverride(),this.initEvalOverride(),this.initHTTPOverrides(),this.initAudioOverride(),this.initFontFaceOverride(this.$wbwindow),this.initWorkerOverrides(),this.initTextNodeOverrides(),this.initCSSOMOverrides(),this.overrideHtmlAssign(this.$wbwindow.Element,"innerHTML",!0),this.overrideHtmlAssign(this.$wbwindow.Element,"outerHTML",!0),this.overrideHtmlAssignSrcDoc(this.$wbwindow.HTMLIFrameElement,"srcdoc",!0),this.overrideHtmlAssign(this.$wbwindow.HTMLStyleElement,"textContent"),this.overrideShadowDom(),this.overridePropExtract(this.$wbwindow.Document.prototype,"URL"),this.overridePropExtract(this.$wbwindow.Document.prototype,"documentURI"),this.overridePropExtract(this.$wbwindow.Node.prototype,"baseURI"),this.overrideAttrProps(),this.overrideDataSet(),this.initInsertAdjacentElementHTMLOverrides(),this.overrideIframeContentAccess("contentWindow"),this.overrideIframeContentAccess("contentDocument"),this.initIntersectionObsOverride(),this.overrideFuncArgProxyToObj(this.$wbwindow.MutationObserver,"observe"),this.overrideFuncArgProxyToObj(this.$wbwindow.Node,"compareDocumentPosition"),this.overrideFuncArgProxyToObj(this.$wbwindow.Node,"contains"),this.overrideFuncArgProxyToObj(this.$wbwindow.Document,"createTreeWalker"),this.overrideFuncArgProxyToObj(this.$wbwindow.Document,"evaluate",1),this.overrideFuncArgProxyToObj(this.$wbwindow.XSLTProcessor,"transformToFragment",1),this.overrideFuncThisProxyToObj(this.$wbwindow,"getComputedStyle",this.$wbwindow),this.overrideFuncThisProxyToObj(this.$wbwindow,"clearTimeout"),this.overrideFuncThisProxyToObj(this.$wbwindow,"clearInterval"),this.overrideFuncThisProxyToObj(this.$wbwindow.EventTarget.prototype,"dispatchEvent"),this.overrideDeProxyPropAssign(this.$wbwindow.TreeWalker.prototype,"currentNode"),this.initTimeoutIntervalOverrides(),this.initQuerySelectorOverride(),this.overrideSWAccess(this.$wbwindow),this.initElementGetSetAttributeOverride(),this.initSvgImageOverrides(),this.initAttrOverrides(),this.initCookiesOverride(),this.initCreateElementNSFix(),this.wb_opts.skip_dom||this.initDomOverride(),this.initRegisterUnRegPHOverride(),this.initPresentationRequestOverride(),this.initMiscNavigatorOverrides(),this.initSeededRandom(this.wb_info.wombat_sec),this.initCryptoRandom(),this.initFixedRatio(this.wb_info.pixel_ratio||1),this.initDateOverride(this.wb_info.wombat_sec),this.initBlobOverride(),this.initWSOverride(),this.initOpenOverride(),this.initDisableNotificationsGeoLocation(),this.initStorageOverride(),this.initCacheStorageOverride(),this.initCachesOverride(),this.initIndexedDBOverride(),this.initWindowObjProxy(this.$wbwindow),this.initDocumentObjProxy(this.$wbwindow.document);var t=this;return{extract_orig:this.extractOriginalURL,rewrite_url:this.rewriteUrl,watch_elem:this.watchElem,init_new_window_wombat:this.initNewWindowWombat,init_paths:this.initPaths,local_init:function(e){var r=t.$wbwindow._WB_wombat_obj_proxy[e];return"document"===e&&r&&!r._WB_wombat_obj_proxy&&t.initDocumentObjProxy(r)||r},showCSPViolations:function(e){t._addRemoveCSPViolationListener(e)}}};const v=y;window._WBWombat=v,window._WBWombatInit=function(t){if(this._wb_wombat)this._wb_wombat.init_paths(t);else{var e=new v(this,t);this._wb_wombat=e.wombatInit()}}})();'}),this.staticData.set(this.staticPrefix+"wombatWorkers.js",{type:"application/javascript",content:'(()=>{function e(t){if(!(this instanceof e))return new e(t);this.info=t,this.initImportScriptsRewrite(),this.initHTTPOverrides(),this.initClientApisOverride(),this.initCacheApisOverride()}e.prototype.noRewrite=function(e){return!e||0===e.indexOf("blob:")||0===e.indexOf("javascript:")||0===e.indexOf("data:")||0===e.indexOf(this.info.prefix)},e.prototype.isRelURL=function(e){return 0===e.indexOf("/")||!e.startsWith("http:")&&!e.startsWith("https:")},e.prototype.maybeResolveURL=function(e,t){if(!t)return e;try{return new URL(e,t).href}catch(e){}return e},e.prototype.ensureURL=function(e,t){if(!e)return e;var r;switch(typeof e){case"string":r=e;break;case"object":r=e.toString();break;default:return null}return this.noRewrite(r)?null:this.isRelURL(r)?this.maybeResolveURL(r,t):0===r.indexOf(self.location.origin)?this.maybeResolveURL(r.slice(self.location.origin.length),t):r},e.prototype.rewriteURL=function(e){var t=this.ensureURL(e,this.info.originalURL);return t?this.info.prefixMod?this.info.prefixMod+t:t:e},e.prototype.rewriteClientWindowURL=function(e,t){var r=this.ensureURL(e,t?t.url:this.info.originalURL);return r?this.info.prefix?this.info.prefix+"mp_/"+r:r:e},e.prototype.rewriteWSURL=function(e){if(!e)return e;var t=typeof e,r=e;if("object"===t)r=e.toString();else if("string"!==t)return e;if(!r)return r;var i="https://",o=0===this.info.prefix.indexOf(i);return this.info.prefix.replace(o?i:"http://",o?"wss://":"ws://")+"ws_/"+r},e.prototype.rewriteArgs=function(e){for(var t=new Array(e.length),r=0;r<t.length;r++)t[r]=this.rewriteURL(e[r]);return t},e.prototype.rewriteFetchApi=function(e){var t=e;switch(typeof e){case"string":t=this.rewriteURL(e);break;case"object":if(e.url){var r=this.rewriteURL(e.url);r!==e.url&&(t=new Request(r,e))}else e.href&&(t=e.href)}return t},e.prototype.rewriteCacheApi=function(e){var t=e;return"string"==typeof e&&(t=this.rewriteURL(e)),t},e.prototype.initImportScriptsRewrite=function(){if(self.importScripts){var e=this,t=self.importScripts;self.importScripts=function(){var r=e.rewriteArgs(arguments);return t.apply(this,r)}}},e.prototype.initHTTPOverrides=function(){var e,t,r,i=this;if(self.XMLHttpRequest&&self.XMLHttpRequest.prototype&&self.XMLHttpRequest.prototype.open){var o=self.XMLHttpRequest.prototype.open;self.XMLHttpRequest.prototype.open=function(e,t,r,n,s){var p=i.rewriteURL(t),l=!0;null==r||r||(l=!1),o.call(this,e,p,l,n,s),-1===p.indexOf("data:")&&this.setRequestHeader("X-Pywb-Requested-With","XMLHttpRequest")}}if(null!=self.fetch){var n=self.fetch;self.fetch=function(e,t){var r=i.rewriteFetchApi(e),o=t||{};return o.credentials="include",n.call(this,r,o)}}if(self.Request&&self.Request.prototype){var s=self.Request;self.Request=(e=self.Request,function(t,r){var o=r||{},n=i.rewriteFetchApi(t);return o.credentials="include",new e(n,o)}),self.Request.prototype=s.prototype}if(self.Response&&self.Response.prototype){var p=self.Response.prototype.redirect;self.Response.prototype.redirect=function(e,t){var r=i.rewriteUrl(e);return p.call(this,r,t)}}if(self.EventSource&&self.EventSource.prototype){var l=self.EventSource;self.EventSource=(t=self.EventSource,function(e,r){var o=e;return null!=e&&(o=i.rewriteUrl(e)),new t(o,r)}),self.EventSource.prototype=l.prototype,Object.defineProperty(self.EventSource.prototype,"constructor",{value:self.EventSource})}if(self.WebSocket&&self.WebSocket.prototype){var f=self.WebSocket;self.WebSocket=(r=self.WebSocket,function(e,t){var o=e;return null!=e&&(o=i.rewriteWSURL(e)),new r(o,t)}),self.WebSocket.prototype=f.prototype,Object.defineProperty(self.WebSocket.prototype,"constructor",{value:self.WebSocket})}},e.prototype.initClientApisOverride=function(){var e=this;if(self.Clients&&self.Clients.prototype&&self.Clients.prototype.openWindow){var t=self.Clients.prototype.openWindow;self.Clients.prototype.openWindow=function(r){var i=e.rewriteClientWindowURL(r);return t.call(this,i)}}if(self.WindowClient&&self.WindowClient.prototype&&self.WindowClient.prototype.navigate){var r=self.WindowClient.prototype.navigate;self.WindowClient.prototype.navigate=function(t){var i=e.rewriteClientWindowURL(t,this);return r.call(this,i)}}},e.prototype.initCacheApisOverride=function(){var e=this;if(self.CacheStorage&&self.CacheStorage.prototype&&self.CacheStorage.prototype.match){var t=self.CacheStorage.prototype.match;self.CacheStorage.prototype.match=function(r,i){var o=e.rewriteCacheApi(r);return t.call(this,o,i)}}if(self.Cache&&self.Cache.prototype){if(self.Cache.prototype.match){var r=self.Cache.prototype.match;self.Cache.prototype.match=function(t,i){var o=e.rewriteCacheApi(t);return r.call(this,o,i)}}if(self.Cache.prototype.matchAll){var i=self.Cache.prototype.matchAll;self.Cache.prototype.matchAll=function(t,r){var o=e.rewriteCacheApi(t);return i.call(this,o,r)}}if(self.Cache.prototype.add){var o=self.Cache.prototype.add;self.Cache.prototype.add=function(t,r){var i=e.rewriteCacheApi(t);return o.call(this,i,r)}}if(self.Cache.prototype.addAll){var n=self.Cache.prototype.addAll;self.Cache.prototype.addAll=function(t){var r=t;if(Array.isArray(t)){r=new Array(t.length);for(var i=0;i<t.length;i++)r[i]=e.rewriteCacheApi(t[i])}return n.call(this,r)}}if(self.Cache.prototype.put){var s=self.Cache.prototype.put;self.Cache.prototype.put=function(t,r){var i=e.rewriteCacheApi(t);return s.call(this,i,r)}}if(self.Cache.prototype.delete){var p=self.Cache.prototype.delete;self.Cache.prototype.delete=function(t,r){var i=e.rewriteCacheApi(t);return p.call(this,i,r)}}if(self.Cache.prototype.keys){var l=self.Cache.prototype.keys;self.Cache.prototype.keys=function(t,r){var i=e.rewriteCacheApi(t);return l.call(this,i,r)}}}},self.WBWombat=e})();'}),n.has("serveIndex")){const t={type:"text/html",content:this.getIndexHtml(n)};this.staticData.set(this.prefix,t),this.staticData.set(this.prefix+"index.html",t)}if(n.has("injectScripts")){const t=n.get("injectScripts").split(",");r.injectScripts=r.injectScripts?[...t,...r.injectScripts]:t}r.injectScripts&&(r.injectScripts=r.injectScripts.map((t=>this.staticPrefix+"proxy/"+t))),n.has("adblockUrl")&&(r.adblockUrl=n.get("adblockUrl")),this.collections=new i(o,n.get("root"),r),this.collections.loadAll(n.get("dbColl")),this.proxyOriginMode=!!n.get("proxyOriginMode"),this.api=new e(this.collections),this.apiPrefix=this.replayPrefix+"api/",this.allowRewrittenCache=!!n.get("allowCache"),this.stats=n.get("stats")?new fb:null,self.addEventListener("install",(()=>{self.skipWaiting()})),self.addEventListener("activate",(t=>{t.waitUntil(self.clients.claim()),console.log("Activate!")})),self.addEventListener("fetch",(t=>{t.respondWith(this.handleFetch(t))})),self.addEventListener("message",(t=>{"reload_all"===t.data.msg_type&&t.waitUntil(this.collections.loadAll())}))}getIndexHtml(t){const e=t.get("indexScript")||"./ui.js",r=t.get("indexAppTag")||"replay-app-main";return`\n <!doctype html>\n <html>\n <head><script src="${e}"><\/script></head>\n <body>\n <${r}></${r}>\n </body></html>`}handleFetch(t){const e=t.request.url;if(this.proxyOriginMode)return this.getResponseFor(t.request,t);if(!e.startsWith(this.prefix))return"chrome-extension://invalid/"===e?_(t.request,"Invalid URL"):this.defaultFetch(t.request);if(this.collections.root&&e.slice(this.prefix.length).indexOf("/")<0)return this.defaultFetch(t.request);if(e.startsWith(this.staticPrefix+"proxy/"))return this.staticPathProxy(e,t.request);if(e.startsWith(this.replayPrefix)&&!e.startsWith(this.staticPrefix))return this.getResponseFor(t.request,t);const r=new URL(e);r.search="",r.hash="";const i=r.href;for(const t of this.staticData.keys())if(t===i){const{content:e,type:r}=this.staticData.get(t);return new Response(e,{headers:{"Content-Type":r}})}return("http:"==r.protocol||"https:"==r.protocol)&&r.pathname.indexOf("/",1)<0?this.handleOffline(t.request):this.defaultFetch(t.request)}async staticPathProxy(t,e){return t=t.slice((this.staticPrefix+"proxy/").length),t=new URL(t,self.location.href).href,e=new Request(t),this.defaultFetch(e)}async defaultFetch(t){const e={};return"only-if-cached"===t.cache&&"same-origin"!==t.mode&&(e.cache="default"),self.fetch(t,e)}async ensureCached(t){const e=await caches.open("wabac-offline");for(let r of t){r=new URL(r,self.location.href).href;let i=await e.match(r,{ignoreSearch:!0});if(!i)try{i=await this.defaultFetch(new Request(r)),await e.put(r,i)}catch(t){console.warn(`Failed to Auto Cache: ${r}`,t)}}}async handleOffline(t){let e=null;const r=await caches.open("wabac-offline");try{e=await this.defaultFetch(t)}catch(i){return e=await r.match(t,{ignoreSearch:!0}),e||(e=_(t,"Sorry, this url was not cached for offline use")),e}if(t.url.startsWith(this.prefix+"?"))return e;if(200===e.status){const i=e.clone();await r.put(t,i)}else console.warn(`Not Cacheing ${t.url} - Status ${e.status}`);return e}async getResponseFor(t,e){if(!this.proxyOriginMode&&t.url.startsWith(this.apiPrefix))return this.stats&&t.url.startsWith(this.apiPrefix+"stats.json")?await this.stats.getStats(e):await this.api.apiResponse(t.url.slice(this.apiPrefix.length),t,e);await this.collections.inited;const r=A(t),i=t.headers.get("range");try{if(this.allowRewrittenCache&&!i){const e=await self.caches.match(t);if(e&&!!e.headers.get(Db)===r)return e}}catch(t){}let n=this.collections.root;n||(n=t.url.slice(this.replayPrefix.length).split("/",1)[0]);const s=await this.collections.getColl(n);if(!s||!this.proxyOriginMode&&!t.url.startsWith(s.prefix))return _(t);const o=this.proxyOriginMode?t.url:t.url.substring(s.prefix.length),a={isRoot:!!this.collections.root};this.proxyOriginMode&&(a.mod="id_",a.proxyOrigin=s.config.extraConfig.proxyOrigin,a.localOrigin=self.location.origin);const c=new Pb(o,t,a);if(!c.url)return _(t,`Replay URL ${o} not found`);const l=await s.handleRequest(c,e);if(l){if(this.stats&&this.stats.updateStats(l,l.status,t,e),this.allowRewrittenCache&&200===l.status)try{const e=await self.caches.open("wabac-"+s.name);r&&l.headers.set(Db,"true");const i=l.clone();await e.put(t,i)}catch(t){console.warn(t)}return l}return i&&console.log("Not Found Range!: "+i),_(t)}},console.log("sw init")):self.postMessage&&(new pb(self),console.log("ww init"))})();