-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path_worker.js
More file actions
3 lines (3 loc) · 254 KB
/
_worker.js
File metadata and controls
3 lines (3 loc) · 254 KB
1
2
3
// Build: 2026-02-19T12:23:43.292Z
// @ts-nocheck
let e=33079,t=21690,r=47976,n=77254,i=62347,o=58096,s=14327,a=73705,c=91649,u=20418,l=91880,d=84475,f=4064,w=81444,h=58370,A=1932,p=28298,E=71735,B=83177,H=19997,g=5772,m=15987,y=3467,T=27282,x=14681,v=69267,b=44827,R=6519,M=6174,k=61379,S=63205,C=54124,_=30957,O=75313,L=44644,P=91340,D=12267,I=99951,N=54238,U=64511,z=55690,X=83656,j=31019,W=56422,F=95939,J=57070,K=55440,Y=32863,Z=67949,G=62244,V=72522,Q=60382,q=28317,$=42428,ee=87709,te=15672,re=19542,ne=86491,ie=66049,oe=75855,se=3316,ae=26210,ce=53041,ue=34075,le=65652,de=41948,fe=52919,we=56511,he=52695,Ae=2140,pe=44180,Ee=851,Be=71602,He=79664,ge=12405,me=43726,ye=51780,Te=5165,xe=67755,ve=92270,be=3775,Re=86873,Me=79473,ke=70817,Se=18505,Ce=71496,_e=47115,Oe=39593,Le=7406,Pe=88633,De=98286,Ie=12273,Ne=5836,Ue=87831,ze=50542,Xe=36922,je=41817,We=44182,Fe=37761,Je=66394,Ke=15684,Ye=84551,Ze=35534,Ge=62308,Ve=17834,Qe=48482,qe=34864,$e=21302,et=45552;function tt(){return 872}function rt(){return 96}function nt(){return 666}function it(){return 105}function ot(){return 984}function st(){return 915}function at(){return 105}function ct(){return 182}function ut(){return 394}function lt(){return 492}function dt(){return 563}function ft(){return 982}function wt(){return 46}function ht(){return 434}function At(){return 750}function pt(){return 114}function Et(){return 838}function Bt(){return 166}function Ht(){return 412}function gt(){return 115}function mt(){return 568}function yt(){return 513}function Tt(){return 824}function xt(){return 464}function vt(){return 806}function bt(){return 290}function Rt(){return 77}function Mt(){return 921}function kt(){return 436}function St(){return 649}function Ct(){return 530}function _t(){return 18}function Ot(){return 406}function Lt(){return 691}function Pt(){return 483}function Dt(){return 766}function It(){return 173}function Nt(){return 450}function Ut(){return 564}function zt(){return 122}function Xt(){return 209}function jt(){return 240}function Wt(){return 322}function Ft(){return 528}function Jt(){return 891}function Kt(){return 768}function Yt(){return 214}function Zt(){return 207}function Gt(){return 859}function Vt(){return 561}function Qt(){return 667}function qt(){return 631}function $t(){return 907}function er(){return 376}function tr(){return 911}function rr(){return 173}function nr(){return 450}function ir(){return 967}function or(){return 71}function sr(){return 444}function ar(){return 141}function cr(){return 123}function ur(){return 177}function lr(){return 291}function dr(){return 677}function fr(){return 93}function wr(){return 920}function hr(){return 601}function Ar(){return 129}function pr(){return 180}function Er(){return 570}function Br(){return 960}function Hr(){return 682}function gr(){return 588}function mr(){return 980}function yr(){return 560}function Tr(){return 833}function xr(){return 66}function vr(){return 408}function br(){return 58}function Rr(){return 132}function Mr(){return 457}function kr(){return 944}function Sr(){return 706}function Cr(){return 304}function _r(){return 944}function Or(){return 371}function Lr(){return 949}function Pr(){return 684}function Dr(){return 52}function Ir(){return 355}function Nr(){return 194}function Ur(){return 509}function zr(){return 846}function Xr(){return 961}function jr(){return 616}function Wr(){return 526}function Fr(){return 155}function Jr(){return 438}function Kr(){return 178}function Yr(){return 36}function Zr(){return 123}function Gr(){return 910}function Vr(){return 548}function Qr(){return 783}function qr(){return 987}function $r(){return 728}function en(){return 947}function tn(){return 875}function rn(){return 329}function nn(){return 442}function on(){return 258}function sn(){return 188}function an(){return 936}function cn(){return 208}function un(){return 198}function ln(){return 85}function dn(){return 145}function fn(){return 603}function wn(){return 842}function hn(){return 970}function An(){return 63}function pn(){return 218}function En(){return 825}function Bn(){return 461}function Hn(){return 626}function gn(){return 814}function mn(){return 953}function yn(){return 708}function Tn(){return 18}function xn(){return 4}function vn(){return 361}function bn(){return 753}function Rn(){return 34}function Mn(){return 573}function kn(){return 88}function Sn(){return 979}function Cn(){return 31}function _n(){return 911}function On(){return 632}function Ln(){return 842}function Pn(){return 754}function Dn(){return 468}function In(){return 814}function Nn(){return 953}function Un(){return 86}function zn(){return 26}function Xn(){return 653}function jn(){return 734}function Wn(){return 452}function Fn(){return 32}function Jn(){return 61}function Kn(){return 447}function Yn(){return 196}function Zn(){return 6}function Gn(){return 660}function Vn(){return 168}function Qn(){return 56}function qn(){return 178}function $n(){return 924}function ei(){return 796}function ti(){return 792}function ri(){return 260}function ni(){return 804}function ii(){return 75}function oi(){return 715}function si(){return 202}function ai(){return 173}function ci(){return 894}function ui(){return 881}function li(){return 931}function di(){return 855}function fi(){return 380}function wi(){return 497}function hi(){return 944}function Ai(){return 964}function pi(){return 68}function Ei(){return 178}function Bi(){return 41}function Hi(){return 31}function gi(){return 928}function mi(){return 289}function yi(){return 359}function Ti(){return 950}function xi(){return 675}function vi(){return 997}function bi(){return 938}function Ri(){return 248}function Mi(){return 638}function ki(){return 910}function Si(){return 500}function Ci(){return 557}function _i(){return 426}function Oi(){return 147}function Li(){return 261}function Pi(){return 69}function Di(){return 157}function Ii(){return 463}function Ni(){return 505}function Ui(){return 402}function zi(){return 953}function Xi(){return 442}function ji(){return 951}function Wi(){return 940}function Fi(){return 792}function Ji(){return 442}function Ki(){return 876}function Yi(){return 963}function Zi(){return 722}function Gi(){return 607}function Vi(){return 251}function Qi(){return 559}function qi(){return 544}function $i(){return 820}function eo(){return 32}function to(){return 750}function ro(){return 994}function no(){return 530}function io(){return 216}function oo(){return 731}function so(){return 368}function ao(){return 783}function co(){return 998}function uo(){return 400}function lo(){return 505}function fo(){return 739}function wo(){return 141}function ho(){return 845}function Ao(){return 848}function po(){return 7}function Eo(){return 146}function Bo(){return 898}function Ho(){return 857}function go(){return 300}function mo(){return 311}function yo(){return 938}function To(){return 236}function xo(){return 871}function vo(){return 356}function bo(){return 900}function Ro(){return 35}function Mo(){return 547}function ko(){return 555}function So(){return 898}function Co(){return 431}function _o(){return 751}function Oo(){return 141}function Lo(){return 196}function Po(){return 450}function Do(){return 935}function Io(){return 629}function No(){return 370}function Uo(){return 626}function zo(){return 709}function Xo(){return 116}function jo(){return 16}function Wo(){return 82}function Fo(){return 516}function Jo(){return 696}function Ko(){return 512}function Yo(){return 266}function Zo(){return 391}function Go(){return 645}function Vo(){return 420}function Qo(){return 977}function qo(){return 85}function $o(){return 271}function es(){return 956}function ts(){return 339}function rs(){return 195}function ns(){return 449}function is(){return 348}function os(){return 226}function ss(){return 355}function as(){return 787}function cs(){return 524}function us(){return 873}function ls(){return 163}function ds(){return 440}function fs(){return 359}function ws(){return 273}function hs(){return 832}function As(){return 122}function ps(){return 367}function Es(){return 34}function Bs(){return 483}function Hs(){return 269}function gs(){return 761}function ms(){return 552}function ys(){return 100}function Ts(){return 795}function xs(){return 664}function vs(){return 328}function bs(){return 291}function Rs(){return 547}function Ms(){return 919}function ks(){return 4}function Ss(){return 245}function Cs(){return 759}function _s(){return 290}function Os(){return 165}function Ls(){return 14}function Ps(){return 357}function Ds(){return 911}function Is(){return 253}function Ns(){return 408}function Us(){return 170}function zs(){return 686}function Xs(){return 215}function js(){return 642}function Ws(){return 437}function Fs(){return 675}function Js(){return 104}function Ks(){return 692}function Ys(){return 506}function Zs(){return 111}function Gs(){return 336}function Vs(){return 232}function Qs(){return 929}function qs(){return 285}function $s(){return 964}function ea(){return 662}function ta(){return 818}function ra(){return 492}function na(){return 292}function ia(){return 641}function oa(){return 563}function sa(){return 940}function aa(){return 433}function ca(){return 705}function ua(){return 234}function la(){return 668}function da(){return 406}function fa(){return 574}function wa(){return 601}function ha(){return 328}function Aa(){return 304}function pa(){return 719}function Ea(){return 267}function Ba(){return 833}function Ha(){return 156}function ga(){return 234}function ma(){return 358}function ya(){return 232}function Ta(){return 461}function xa(){return 152}function va(){return 647}function ba(){return 530}function Ra(){return 815}function Ma(){return 616}function ka(){return 472}function Sa(){return 160}function Ca(){return 913}function _a(){return 833}function Oa(){return 801}function La(){return 374}function Pa(){return 651}function Da(){return 931}function Ia(){return 500}function Na(){return 168}function Ua(){return 932}function za(){return 768}function Xa(){return 445}function ja(){return 327}function Wa(){return 730}function Fa(){return 933}function Ja(){return 434}function Ka(){return 246}function Ya(){return 451}function Za(){return 296}function Ga(){return 745}function Va(){return 288}function Qa(){return 963}function qa(){return 926}function $a(){return 193}function ec(){return 91}function tc(){return 583}function rc(){return 992}function nc(){return 151}function ic(){return 530}function oc(){return 318}function sc(){return 739}function ac(){return 187}function cc(){return 630}function uc(){return 538}function lc(){return 3}function dc(){return 81}function fc(){return 13}function wc(){return 532}function hc(){return 671}function Ac(){return 860}function pc(){return 663}function Ec(){return 689}function Bc(){return 409}function Hc(){return 547}function gc(){return 970}function mc(){return 321}function yc(){return 485}function Tc(){return 169}function xc(){return 890}function vc(){return 341}function bc(){return 704}function Rc(){return 981}function Mc(){return 698}function kc(){return 38}function Sc(){return 507}function Cc(){return 868}function _c(){return 465}function Oc(){return 456}function Lc(){return 189}function Pc(){return 860}function Dc(){return 472}function Ic(){return 395}function Nc(){return 237}function Uc(){return 70}function zc(){return 612}function Xc(){return 318}function jc(){return 373}function Wc(){return 477}function Fc(){return 153}function Jc(){return 752}function Kc(){return 292}function Yc(){return 700}function Zc(){return 52}function Gc(){return 995}function Vc(){return 588}function Qc(){return 460}function qc(){return 288}function $c(){return 890}function eu(){return 787}function tu(){return 796}function ru(){return 680}function nu(){return 187}function iu(){return 975}function ou(){return 510}function su(){return 857}function au(){return 608}function cu(){return 291}function uu(){return 925}function lu(){return 346}function du(){return 163}function fu(){return 216}function wu(){return 509}function hu(){return 673}function Au(){return 560}function pu(){return 729}function Eu(){return 751}function Bu(){return 894}function Hu(){return 787}function gu(){return 928}function mu(){return 928}function yu(){return 308}function Tu(){return 209}function xu(){return 849}function vu(){return 576}function bu(){return 18}function Ru(){return 463}function Mu(){return 241}function ku(){return 34}function Su(){return 469}function Cu(){return 166}function _u(){return 169}function Ou(){return 993}function Lu(){return 3}function Pu(){return 262}function Du(){return 304}function Iu(){return 657}function Nu(){return 103}function Uu(){return 317}function zu(){return 78}function Xu(){return 683}var ju=Object.create,Wu=Object.defineProperty,Fu=Object.getOwnPropertyDescriptor,Ju=Object.getOwnPropertyNames,Ku=Object.getPrototypeOf,Yu=Object.prototype.hasOwnProperty,Zu=(e=>"undefined"!=typeof require?require:"undefined"!=typeof Proxy?new Proxy(e,{get:(e,t)=>("undefined"!=typeof require?require:e)[t]}):e)(function(e){if("undefined"!=typeof require)return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),Gu,Vu=(e,t,r,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let i of Ju(t))Yu.call(e,i)||i===r||Wu(e,i,{get:()=>t[i],enumerable:!(n=Fu(t,i))||n.enumerable});return e},Qu=(e,t,r)=>(r=null!=e?ju(Ku(e)):{},Vu(!t&&e&&e.__esModule?r:Wu(r,"default",{value:e,enumerable:!0}),e)),qu=((e,t)=>function r(){return t||(0,e[Ju(e)[0]])((t={exports:{}}).exports,t),t.exports})({"node_modules/jszip/dist/jszip.min.js"(e,t){!function(r){"object"==typeof e&&void 0!==t?t.exports=r():"function"==typeof define&&define.amd?define([],r):("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).JSZip=r()}(function(){return function e(t,r,n){function i(s,a){if(!r[s]){if(!t[s]){var c="function"==typeof Zu&&Zu;if(!a&&c)return c(s,!0);if(o)return o(s,!0);var u=new Error("Cannot find module '"+s+"'");throw u.code="MODULE_NOT_FOUND",u}var l=r[s]={exports:{}};t[s][0].call(l.exports,function(e){var r;return i(t[s][1][e]||e)},l,l.exports,e,t,r,n)}return r[s].exports}for(var o="function"==typeof Zu&&Zu,s=0;s<n.length;s++)i(n[s]);return i}({1:[function(e,t,r){var n=e("./utils"),i=e("./support"),o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";r.encode=function(e){for(var t,r,i,s,a,c,u,l=[],d=0,f=e.length,w=f,h="string"!==n.getTypeOf(e);d<e.length;)w=f-d,i=h?(t=e[d++],r=d<f?e[d++]:0,d<f?e[d++]:0):(t=e.charCodeAt(d++),r=d<f?e.charCodeAt(d++):0,d<f?e.charCodeAt(d++):0),s=t>>2,a=(3&t)<<4|r>>4,c=1<w?(15&r)<<2|i>>6:64,u=2<w?63&i:64,l.push(o.charAt(s)+o.charAt(a)+o.charAt(c)+o.charAt(u));return l.join("")},r.decode=function(e){var t,r,n,s,a,c,u=0,l=0,d="data:";if(e.substr(0,5)===d)throw new Error("Invalid base64 input, it looks like a data url.");var f,w=3*(e=e.replace(/[^A-Za-z0-9+/=]/g,"")).length/4;if(e.charAt(e.length-1)===o.charAt(64)&&w--,e.charAt(e.length-2)===o.charAt(64)&&w--,w%1!=0)throw new Error("Invalid base64 input, bad content length.");for(f=i.uint8array?new Uint8Array(0|w):new Array(0|w);u<e.length;)t=o.indexOf(e.charAt(u++))<<2|(s=o.indexOf(e.charAt(u++)))>>4,r=(15&s)<<4|(a=o.indexOf(e.charAt(u++)))>>2,n=(3&a)<<6|(c=o.indexOf(e.charAt(u++))),f[l++]=t,64!==a&&(f[l++]=r),64!==c&&(f[l++]=n);return f}},{"./support":30,"./utils":32}],2:[function(e,t,r){var n=e("./external"),i=e("./stream/DataWorker"),o=e("./stream/Crc32Probe"),s=e("./stream/DataLengthProbe");function a(e,t,r,n,i){this.compressedSize=e,this.uncompressedSize=t,this.crc32=r,this.compression=n,this.compressedContent=i}a.prototype={getContentWorker:function(){var e=new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new s("data_length")),t=this;return e.on("end",function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),e},getCompressedWorker:function(){return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},a.createWorkerFrom=function(e,t,r){return e.pipe(new o).pipe(new s("uncompressedSize")).pipe(t.compressWorker(r)).pipe(new s("compressedSize")).withStreamInfo("compression",t)},t.exports=a},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(e,t,r){var n=e("./stream/GenericWorker");r.STORE={magic:"\0\0",compressWorker:function(){return new n("STORE compression")},uncompressWorker:function(){return new n("STORE decompression")}},r.DEFLATE=e("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(e,t,r){var n=e("./utils"),i=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t){return void 0!==e&&e.length?"string"!==n.getTypeOf(e)?function(e,t,r,n){var o=i,s=0+r;e^=-1;for(var a=0;a<s;a++)e=e>>>8^o[255&(e^t[a])];return-1^e}(0|t,e,e.length,0):function(e,t,r,n){var o=i,s=0+r;e^=-1;for(var a=0;a<s;a++)e=e>>>8^o[255&(e^t.charCodeAt(a))];return-1^e}(0|t,e,e.length,0):0}},{"./utils":32}],5:[function(e,t,r){r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null},{}],6:[function(e,t,r){var n=null;n="undefined"!=typeof Promise?Promise:e("lie"),t.exports={Promise:n}},{lie:37}],7:[function(e,t,r){var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,i=e("pako"),o=e("./utils"),s=e("./stream/GenericWorker"),a=n?"uint8array":"array";function c(e,t){s.call(this,"FlateWorker/"+e),this._pako=null,this._pakoAction=e,this._pakoOptions=t,this.meta={}}r.magic="\b\0",o.inherits(c,s),c.prototype.processChunk=function(e){this.meta=e.meta,null===this._pako&&this._createPako(),this._pako.push(o.transformTo(a,e.data),!1)},c.prototype.flush=function(){s.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},c.prototype.cleanUp=function(){s.prototype.cleanUp.call(this),this._pako=null},c.prototype._createPako=function(){this._pako=new i[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var e=this;this._pako.onData=function(t){e.push({data:t,meta:e.meta})}},r.compressWorker=function(e){return new c("Deflate",e)},r.uncompressWorker=function(){return new c("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(e,t,r){function n(e,t){var r,n="";for(r=0;r<t;r++)n+=String.fromCharCode(255&e),e>>>=8;return n}function i(e,t,r,i,s,l){var d,f,w=e.file,h=e.compression,A=l!==a.utf8encode,p=o.transformTo("string",l(w.name)),E=o.transformTo("string",a.utf8encode(w.name)),B=w.comment,H=o.transformTo("string",l(B)),g=o.transformTo("string",a.utf8encode(B)),m=E.length!==w.name.length,y=g.length!==B.length,T="",x="",v="",b=w.dir,R=w.date,M={crc32:0,compressedSize:0,uncompressedSize:0};t&&!r||(M.crc32=e.crc32,M.compressedSize=e.compressedSize,M.uncompressedSize=e.uncompressedSize);var k=0;t&&(k|=8),A||!m&&!y||(k|=2048);var S=0,C=0,_,O,L;b&&(S|=16),"UNIX"===s?(C=798,S|=(_=w.unixPermissions,O=b,L=_,_||(L=O?16893:33204),(65535&L)<<16)):(C=20,S|=function(e){return 63&(e||0)}(w.dosPermissions)),d=R.getUTCHours(),d<<=6,d|=R.getUTCMinutes(),d<<=5,d|=R.getUTCSeconds()/2,f=R.getUTCFullYear()-1980,f<<=4,f|=R.getUTCMonth()+1,f<<=5,f|=R.getUTCDate(),m&&(x=n(1,1)+n(c(p),4)+E,T+="up"+n(x.length,2)+x),y&&(v=n(1,1)+n(c(H),4)+g,T+="uc"+n(v.length,2)+v);var P="";return P+="\n\0",P+=n(k,2),P+=h.magic,P+=n(d,2),P+=n(f,2),P+=n(M.crc32,4),P+=n(M.compressedSize,4),P+=n(M.uncompressedSize,4),P+=n(p.length,2),P+=n(T.length,2),{fileRecord:u.LOCAL_FILE_HEADER+P+p+T,dirRecord:u.CENTRAL_FILE_HEADER+n(C,2)+P+n(H.length,2)+"\0\0\0\0"+n(S,4)+n(i,4)+p+T+H}}var o=e("../utils"),s=e("../stream/GenericWorker"),a=e("../utf8"),c=e("../crc32"),u=e("../signature");function l(e,t,r,n){s.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=t,this.zipPlatform=r,this.encodeFileName=n,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}o.inherits(l,s),l.prototype.push=function(e){var t=e.meta.percent||0,r=this.entriesCount,n=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,s.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:r?(t+100*(r-n-1))/r:100}}))},l.prototype.openedSource=function(e){this.currentSourceOffset=this.bytesWritten,this.currentFile=e.file.name;var t=this.streamFiles&&!e.file.dir;if(t){var r=i(e,t,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:r.fileRecord,meta:{percent:0}})}else this.accumulate=!0},l.prototype.closedSource=function(e){this.accumulate=!1;var t=this.streamFiles&&!e.file.dir,r=i(e,t,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName),o;if(this.dirRecords.push(r.dirRecord),t)this.push({data:(o=e,u.DATA_DESCRIPTOR+n(o.crc32,4)+n(o.compressedSize,4)+n(o.uncompressedSize,4)),meta:{percent:100}});else for(this.push({data:r.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},l.prototype.flush=function(){for(var e=this.bytesWritten,t=0;t<this.dirRecords.length;t++)this.push({data:this.dirRecords[t],meta:{percent:100}});var r=this.bytesWritten-e,i=(s=this.dirRecords.length,a=r,c=e,l=this.zipComment,d=this.encodeFileName,f=o.transformTo("string",d(l)),u.CENTRAL_DIRECTORY_END+"\0\0\0\0"+n(s,2)+n(s,2)+n(a,4)+n(c,4)+n(f.length,2)+f),s,a,c,l,d,f;this.push({data:i,meta:{percent:100}})},l.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},l.prototype.registerPrevious=function(e){this._sources.push(e);var t=this;return e.on("data",function(e){t.processChunk(e)}),e.on("end",function(){t.closedSource(t.previous.streamInfo),t._sources.length?t.prepareNextSource():t.end()}),e.on("error",function(e){t.error(e)}),this},l.prototype.resume=function(){return!!s.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},l.prototype.error=function(e){var t=this._sources;if(!s.prototype.error.call(this,e))return!1;for(var r=0;r<t.length;r++)try{t[r].error(e)}catch(e){}return!0},l.prototype.lock=function(){s.prototype.lock.call(this);for(var e=this._sources,t=0;t<e.length;t++)e[t].lock()},t.exports=l},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(e,t,r){var n=e("../compressions"),i=e("./ZipFileWorker");r.generateWorker=function(e,t,r){var o=new i(t.streamFiles,r,t.platform,t.encodeFileName),s=0;try{e.forEach(function(e,r){s++;var i=function(e,t){var r=e||t,i=n[r];if(!i)throw new Error(r+" is not a valid compression method !");return i}(r.options.compression,t.compression),a=r.options.compressionOptions||t.compressionOptions||{},c=r.dir,u=r.date;r._compressWorker(i,a).withStreamInfo("file",{name:e,dir:c,date:u,comment:r.comment||"",unixPermissions:r.unixPermissions,dosPermissions:r.dosPermissions}).pipe(o)}),o.entriesCount=s}catch(e){o.error(e)}return o}},{"../compressions":3,"./ZipFileWorker":8}],10:[function(e,t,r){function n(){if(!(this instanceof n))return new n;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var e=new n;for(var t in this)"function"!=typeof this[t]&&(e[t]=this[t]);return e}}(n.prototype=e("./object")).loadAsync=e("./load"),n.support=e("./support"),n.defaults=e("./defaults"),n.version="3.10.1",n.loadAsync=function(e,t){return(new n).loadAsync(e,t)},n.external=e("./external"),t.exports=n},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(e,t,r){var n=e("./utils"),i=e("./external"),o=e("./utf8"),s=e("./zipEntries"),a=e("./stream/Crc32Probe"),c=e("./nodejsUtils");function u(e){return new i.Promise(function(t,r){var n=e.decompressed.getContentWorker().pipe(new a);n.on("error",function(e){r(e)}).on("end",function(){n.streamInfo.crc32!==e.decompressed.crc32?r(new Error("Corrupted zip : CRC32 mismatch")):t()}).resume()})}t.exports=function(e,t){var r=this;return t=n.extend(t||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:o.utf8decode}),c.isNode&&c.isStream(e)?i.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):n.prepareContent("the loaded zip file",e,!0,t.optimizedBinaryString,t.base64).then(function(e){var r=new s(t);return r.load(e),r}).then(function(e){var r=[i.Promise.resolve(e)],n=e.files;if(t.checkCRC32)for(var o=0;o<n.length;o++)r.push(u(n[o]));return i.Promise.all(r)}).then(function(e){for(var i=e.shift(),o=i.files,s=0;s<o.length;s++){var a=o[s],c=a.fileNameStr,u=n.resolve(a.fileNameStr);r.file(u,a.decompressed,{binary:!0,optimizedBinaryString:!0,date:a.date,dir:a.dir,comment:a.fileCommentStr.length?a.fileCommentStr:null,unixPermissions:a.unixPermissions,dosPermissions:a.dosPermissions,createFolders:t.createFolders}),a.dir||(r.file(u).unsafeOriginalName=c)}return i.zipComment.length&&(r.comment=i.zipComment),r})}},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(e,t,r){var n=e("../utils"),i=e("../stream/GenericWorker");function o(e,t){i.call(this,"Nodejs stream input adapter for "+e),this._upstreamEnded=!1,this._bindStream(t)}n.inherits(o,i),o.prototype._bindStream=function(e){var t=this;(this._stream=e).pause(),e.on("data",function(e){t.push({data:e,meta:{percent:0}})}).on("error",function(e){t.isPaused?this.generatedError=e:t.error(e)}).on("end",function(){t.isPaused?t._upstreamEnded=!0:t.end()})},o.prototype.pause=function(){return!!i.prototype.pause.call(this)&&(this._stream.pause(),!0)},o.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},t.exports=o},{"../stream/GenericWorker":28,"../utils":32}],13:[function(e,t,r){var n=e("readable-stream").Readable;function i(e,t,r){n.call(this,t),this._helper=e;var i=this;e.on("data",function(e,t){i.push(e)||i._helper.pause(),r&&r(t)}).on("error",function(e){i.emit("error",e)}).on("end",function(){i.push(null)})}e("../utils").inherits(i,n),i.prototype._read=function(){this._helper.resume()},t.exports=i},{"../utils":32,"readable-stream":16}],14:[function(e,t,r){t.exports={isNode:"undefined"!=typeof Buffer,newBufferFrom:function(e,t){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(e,t);if("number"==typeof e)throw new Error('The "data" argument must not be a number');return new Buffer(e,t)},allocBuffer:function(e){if(Buffer.alloc)return Buffer.alloc(e);var t=new Buffer(e);return t.fill(0),t},isBuffer:function(e){return Buffer.isBuffer(e)},isStream:function(e){return e&&"function"==typeof e.on&&"function"==typeof e.pause&&"function"==typeof e.resume}}},{}],15:[function(e,t,r){function n(e,t,r){var n,i=o.getTypeOf(t),a=o.extend(r||{},c);a.date=a.date||new Date,null!==a.compression&&(a.compression=a.compression.toUpperCase()),"string"==typeof a.unixPermissions&&(a.unixPermissions=parseInt(a.unixPermissions,8)),a.unixPermissions&&16384&a.unixPermissions&&(a.dir=!0),a.dosPermissions&&16&a.dosPermissions&&(a.dir=!0),a.dir&&(e=A(e)),a.createFolders&&(n=h(e))&&p.call(this,n,!0);var d="string"===i&&!1===a.binary&&!1===a.base64;r&&void 0!==r.binary||(a.binary=!d),(t instanceof u&&0===t.uncompressedSize||a.dir||!t||0===t.length)&&(a.base64=!1,a.binary=!0,t="",a.compression="STORE",i="string");var E=null;E=t instanceof u||t instanceof s?t:f.isNode&&f.isStream(t)?new w(e,t):o.prepareContent(e,t,a.binary,a.optimizedBinaryString,a.base64);var B=new l(e,E,a);this.files[e]=B}var i=e("./utf8"),o=e("./utils"),s=e("./stream/GenericWorker"),a=e("./stream/StreamHelper"),c=e("./defaults"),u=e("./compressedObject"),l=e("./zipObject"),d=e("./generate"),f=e("./nodejsUtils"),w=e("./nodejs/NodejsStreamInputAdapter"),h=function(e){"/"===e.slice(-1)&&(e=e.substring(0,e.length-1));var t=e.lastIndexOf("/");return 0<t?e.substring(0,t):""},A=function(e){return"/"!==e.slice(-1)&&(e+="/"),e},p=function(e,t){return t=void 0!==t?t:c.createFolders,e=A(e),this.files[e]||n.call(this,e,null,{dir:!0,createFolders:t}),this.files[e]};function E(e){return"[object RegExp]"===Object.prototype.toString.call(e)}var B={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(e){var t,r,n;for(t in this.files)n=this.files[t],(r=t.slice(this.root.length,t.length))&&t.slice(0,this.root.length)===this.root&&e(r,n)},filter:function(e){var t=[];return this.forEach(function(r,n){e(r,n)&&t.push(n)}),t},file:function(e,t,r){if(1!==arguments.length)return e=this.root+e,n.call(this,e,t,r),this;if(E(e)){var i=e;return this.filter(function(e,t){return!t.dir&&i.test(e)})}var o=this.files[this.root+e];return o&&!o.dir?o:null},folder:function(e){if(!e)return this;if(E(e))return this.filter(function(t,r){return r.dir&&e.test(t)});var t=this.root+e,r=p.call(this,t),n=this.clone();return n.root=r.name,n},remove:function(e){e=this.root+e;var t=this.files[e];if(t||("/"!==e.slice(-1)&&(e+="/"),t=this.files[e]),t&&!t.dir)delete this.files[e];else for(var r=this.filter(function(t,r){return r.name.slice(0,e.length)===e}),n=0;n<r.length;n++)delete this.files[r[n].name];return this},generate:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(e){var t,r={};try{if((r=o.extend(e||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:i.utf8encode})).type=r.type.toLowerCase(),r.compression=r.compression.toUpperCase(),"binarystring"===r.type&&(r.type="string"),!r.type)throw new Error("No output type specified.");o.checkSupport(r.type),"darwin"!==r.platform&&"freebsd"!==r.platform&&"linux"!==r.platform&&"sunos"!==r.platform||(r.platform="UNIX"),"win32"===r.platform&&(r.platform="DOS");var n=r.comment||this.comment||"";t=d.generateWorker(this,r,n)}catch(e){(t=new s("error")).error(e)}return new a(t,r.type||"string",r.mimeType)},generateAsync:function(e,t){return this.generateInternalStream(e).accumulate(t)},generateNodeStream:function(e,t){return(e=e||{}).type||(e.type="nodebuffer"),this.generateInternalStream(e).toNodejsStream(t)}};t.exports=B},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(e,t,r){t.exports=e("stream")},{stream:void 0}],17:[function(e,t,r){var n=e("./DataReader");function i(e){n.call(this,e);for(var t=0;t<this.data.length;t++)e[t]=255&e[t]}e("../utils").inherits(i,n),i.prototype.byteAt=function(e){return this.data[this.zero+e]},i.prototype.lastIndexOfSignature=function(e){for(var t=e.charCodeAt(0),r=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),o=this.length-4;0<=o;--o)if(this.data[o]===t&&this.data[o+1]===r&&this.data[o+2]===n&&this.data[o+3]===i)return o-this.zero;return-1},i.prototype.readAndCheckSignature=function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),o=this.readData(4);return t===o[0]&&r===o[1]&&n===o[2]&&i===o[3]},i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return[];var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./DataReader":18}],18:[function(e,t,r){var n=e("../utils");function i(e){this.data=e,this.length=e.length,this.index=0,this.zero=0}i.prototype={checkOffset:function(e){this.checkIndex(this.index+e)},checkIndex:function(e){if(this.length<this.zero+e||e<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+e+"). Corrupted zip ?")},setIndex:function(e){this.checkIndex(e),this.index=e},skip:function(e){this.setIndex(this.index+e)},byteAt:function(){},readInt:function(e){var t,r=0;for(this.checkOffset(e),t=this.index+e-1;t>=this.index;t--)r=(r<<8)+this.byteAt(t);return this.index+=e,r},readString:function(e){return n.transformTo("string",this.readData(e))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var e=this.readInt(4);return new Date(Date.UTC(1980+(e>>25&127),(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1))}},t.exports=i},{"../utils":32}],19:[function(e,t,r){var n=e("./Uint8ArrayReader");function i(e){n.call(this,e)}e("../utils").inherits(i,n),i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(e,t,r){var n=e("./DataReader");function i(e){n.call(this,e)}e("../utils").inherits(i,n),i.prototype.byteAt=function(e){return this.data.charCodeAt(this.zero+e)},i.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)-this.zero},i.prototype.readAndCheckSignature=function(e){return e===this.readData(4)},i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./DataReader":18}],21:[function(e,t,r){var n=e("./ArrayReader");function i(e){n.call(this,e)}e("../utils").inherits(i,n),i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return new Uint8Array(0);var t=this.data.subarray(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./ArrayReader":17}],22:[function(e,t,r){var n=e("../utils"),i=e("../support"),o=e("./ArrayReader"),s=e("./StringReader"),a=e("./NodeBufferReader"),c=e("./Uint8ArrayReader");t.exports=function(e){var t=n.getTypeOf(e);return n.checkSupport(t),"string"!==t||i.uint8array?"nodebuffer"===t?new a(e):i.uint8array?new c(n.transformTo("uint8array",e)):new o(n.transformTo("array",e)):new s(e)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(e,t,r){r.LOCAL_FILE_HEADER="PK",r.CENTRAL_FILE_HEADER="PK",r.CENTRAL_DIRECTORY_END="PK",r.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK",r.ZIP64_CENTRAL_DIRECTORY_END="PK",r.DATA_DESCRIPTOR="PK\b"},{}],24:[function(e,t,r){var n=e("./GenericWorker"),i=e("../utils");function o(e){n.call(this,"ConvertWorker to "+e),this.destType=e}i.inherits(o,n),o.prototype.processChunk=function(e){this.push({data:i.transformTo(this.destType,e.data),meta:e.meta})},t.exports=o},{"../utils":32,"./GenericWorker":28}],25:[function(e,t,r){var n=e("./GenericWorker"),i=e("../crc32");function o(){n.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}e("../utils").inherits(o,n),o.prototype.processChunk=function(e){this.streamInfo.crc32=i(e.data,this.streamInfo.crc32||0),this.push(e)},t.exports=o},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(e,t,r){var n=e("../utils"),i=e("./GenericWorker");function o(e){i.call(this,"DataLengthProbe for "+e),this.propName=e,this.withStreamInfo(e,0)}n.inherits(o,i),o.prototype.processChunk=function(e){if(e){var t=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=t+e.data.length}i.prototype.processChunk.call(this,e)},t.exports=o},{"../utils":32,"./GenericWorker":28}],27:[function(e,t,r){var n=e("../utils"),i=e("./GenericWorker");function o(e){i.call(this,"DataWorker");var t=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,e.then(function(e){t.dataIsReady=!0,t.data=e,t.max=e&&e.length||0,t.type=n.getTypeOf(e),t.isPaused||t._tickAndRepeat()},function(e){t.error(e)})}n.inherits(o,i),o.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this.data=null},o.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,n.delay(this._tickAndRepeat,[],this)),!0)},o.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(n.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},o.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var e=null,t=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":e=this.data.substring(this.index,t);break;case"uint8array":e=this.data.subarray(this.index,t);break;case"array":case"nodebuffer":e=this.data.slice(this.index,t)}return this.index=t,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},t.exports=o},{"../utils":32,"./GenericWorker":28}],28:[function(e,t,r){function n(e){this.name=e||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}n.prototype={push:function(e){this.emit("data",e)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(e){this.emit("error",e)}return!0},error:function(e){return!this.isFinished&&(this.isPaused?this.generatedError=e:(this.isFinished=!0,this.emit("error",e),this.previous&&this.previous.error(e),this.cleanUp()),!0)},on:function(e,t){return this._listeners[e].push(t),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(e,t){if(this._listeners[e])for(var r=0;r<this._listeners[e].length;r++)this._listeners[e][r].call(this,t)},pipe:function(e){return e.registerPrevious(this)},registerPrevious:function(e){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=e.streamInfo,this.mergeStreamInfo(),this.previous=e;var t=this;return e.on("data",function(e){t.processChunk(e)}),e.on("end",function(){t.end()}),e.on("error",function(e){t.error(e)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var e=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),e=!0),this.previous&&this.previous.resume(),!e},flush:function(){},processChunk:function(e){this.push(e)},withStreamInfo:function(e,t){return this.extraStreamInfo[e]=t,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var e in this.extraStreamInfo)Object.prototype.hasOwnProperty.call(this.extraStreamInfo,e)&&(this.streamInfo[e]=this.extraStreamInfo[e])},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var e="Worker "+this.name;return this.previous?this.previous+" -> "+e:e}},t.exports=n},{}],29:[function(e,t,r){var n=e("../utils"),i=e("./ConvertWorker"),o=e("./GenericWorker"),s=e("../base64"),a=e("../support"),c=e("../external"),u=null;if(a.nodestream)try{u=e("../nodejs/NodejsStreamOutputAdapter")}catch(e){}function l(e,t){return new c.Promise(function(r,i){var o=[],a=e._internalType,c=e._outputType,u=e._mimeType;e.on("data",function(e,r){o.push(e),t&&t(r)}).on("error",function(e){o=[],i(e)}).on("end",function(){try{var e=function(e,t,r){switch(e){case"blob":return n.newBlob(n.transformTo("arraybuffer",t),r);case"base64":return s.encode(t);default:return n.transformTo(e,t)}}(c,function(e,t){var r,n=0,i=null,o=0;for(r=0;r<t.length;r++)o+=t[r].length;switch(e){case"string":return t.join("");case"array":return Array.prototype.concat.apply([],t);case"uint8array":for(i=new Uint8Array(o),r=0;r<t.length;r++)i.set(t[r],n),n+=t[r].length;return i;case"nodebuffer":return Buffer.concat(t);default:throw new Error("concat : unsupported type '"+e+"'")}}(a,o),u);r(e)}catch(e){i(e)}o=[]}).resume()})}function d(e,t,r){var s=t;switch(t){case"blob":case"arraybuffer":s="uint8array";break;case"base64":s="string"}try{this._internalType=s,this._outputType=t,this._mimeType=r,n.checkSupport(s),this._worker=e.pipe(new i(s)),e.lock()}catch(e){this._worker=new o("error"),this._worker.error(e)}}d.prototype={accumulate:function(e){return l(this,e)},on:function(e,t){var r=this;return"data"===e?this._worker.on(e,function(e){t.call(r,e.data,e.meta)}):this._worker.on(e,function(){n.delay(t,arguments,r)}),this},resume:function(){return n.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(e){if(n.checkSupport("nodestream"),"nodebuffer"!==this._outputType)throw new Error(this._outputType+" is not supported by this method");return new u(this,{objectMode:"nodebuffer"!==this._outputType},e)}},t.exports=d},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(e,t,r){if(r.base64=!0,r.array=!0,r.string=!0,r.arraybuffer="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,r.nodebuffer="undefined"!=typeof Buffer,r.uint8array="undefined"!=typeof Uint8Array,"undefined"==typeof ArrayBuffer)r.blob=!1;else{var n=new ArrayBuffer(0);try{r.blob=0===new Blob([n],{type:"application/zip"}).size}catch(e){try{var i=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);i.append(n),r.blob=0===i.getBlob("application/zip").size}catch(e){r.blob=!1}}}try{r.nodestream=!!e("readable-stream").Readable}catch(e){r.nodestream=!1}},{"readable-stream":16}],31:[function(e,t,r){for(var n=e("./utils"),i=e("./support"),o=e("./nodejsUtils"),s=e("./stream/GenericWorker"),a=new Array(256),c=0;c<256;c++)a[c]=252<=c?6:248<=c?5:240<=c?4:224<=c?3:192<=c?2:1;function u(){s.call(this,"utf-8 decode"),this.leftOver=null}function l(){s.call(this,"utf-8 encode")}a[254]=a[254]=1,r.utf8encode=function(e){return i.nodebuffer?o.newBufferFrom(e,"utf-8"):function(e){var t,r,n,o,s,a=e.length,c=0;for(o=0;o<a;o++)55296==(64512&(r=e.charCodeAt(o)))&&o+1<a&&56320==(64512&(n=e.charCodeAt(o+1)))&&(r=65536+(r-55296<<10)+(n-56320),o++),c+=r<128?1:r<2048?2:r<65536?3:4;for(t=i.uint8array?new Uint8Array(c):new Array(c),o=s=0;s<c;o++)55296==(64512&(r=e.charCodeAt(o)))&&o+1<a&&56320==(64512&(n=e.charCodeAt(o+1)))&&(r=65536+(r-55296<<10)+(n-56320),o++),r<128?t[s++]=r:(r<2048?t[s++]=192|r>>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t}(e)},r.utf8decode=function(e){return i.nodebuffer?n.transformTo("nodebuffer",e).toString("utf-8"):function(e){var t,r,i,o,s=e.length,c=new Array(2*s);for(t=r=0;t<s;)if((i=e[t++])<128)c[r++]=i;else if(4<(o=a[i]))c[r++]=65533,t+=o-1;else{for(i&=2===o?31:3===o?15:7;1<o&&t<s;)i=i<<6|63&e[t++],o--;1<o?c[r++]=65533:i<65536?c[r++]=i:(i-=65536,c[r++]=55296|i>>10&1023,c[r++]=56320|1023&i)}return c.length!==r&&(c.subarray?c=c.subarray(0,r):c.length=r),n.applyFromCharCode(c)}(e=n.transformTo(i.uint8array?"uint8array":"array",e))},n.inherits(u,s),u.prototype.processChunk=function(e){var t=n.transformTo(i.uint8array?"uint8array":"array",e.data);if(this.leftOver&&this.leftOver.length){if(i.uint8array){var o=t;(t=new Uint8Array(o.length+this.leftOver.length)).set(this.leftOver,0),t.set(o,this.leftOver.length)}else t=this.leftOver.concat(t);this.leftOver=null}var s=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0||0===r?t:r+a[e[r]]>t?r:t}(t),c=t;s!==t.length&&(i.uint8array?(c=t.subarray(0,s),this.leftOver=t.subarray(s,t.length)):(c=t.slice(0,s),this.leftOver=t.slice(s,t.length))),this.push({data:r.utf8decode(c),meta:e.meta})},u.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:r.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},r.Utf8DecodeWorker=u,n.inherits(l,s),l.prototype.processChunk=function(e){this.push({data:r.utf8encode(e.data),meta:e.meta})},r.Utf8EncodeWorker=l},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(e,t,r){var n=e("./support"),i=e("./base64"),o=e("./nodejsUtils"),s=e("./external");function a(e){return e}function c(e,t){for(var r=0;r<e.length;++r)t[r]=255&e.charCodeAt(r);return t}e("setimmediate"),r.newBlob=function(e,t){r.checkSupport("blob");try{return new Blob([e],{type:t})}catch(r){try{var n=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return n.append(e),n.getBlob(t)}catch(e){throw new Error("Bug : can't construct the Blob.")}}};var u={stringifyByChunk:function(e,t,r){var n=[],i=0,o=e.length;if(o<=r)return String.fromCharCode.apply(null,e);for(;i<o;)"array"===t||"nodebuffer"===t?n.push(String.fromCharCode.apply(null,e.slice(i,Math.min(i+r,o)))):n.push(String.fromCharCode.apply(null,e.subarray(i,Math.min(i+r,o)))),i+=r;return n.join("")},stringifyByChar:function(e){for(var t="",r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},applyCanBeUsed:{uint8array:function(){try{return n.uint8array&&1===String.fromCharCode.apply(null,new Uint8Array(1)).length}catch(e){return!1}}(),nodebuffer:function(){try{return n.nodebuffer&&1===String.fromCharCode.apply(null,o.allocBuffer(1)).length}catch(e){return!1}}()}};function l(e){var t=65536,n=r.getTypeOf(e),i=!0;if("uint8array"===n?i=u.applyCanBeUsed.uint8array:"nodebuffer"===n&&(i=u.applyCanBeUsed.nodebuffer),i)for(;1<t;)try{return u.stringifyByChunk(e,n,t)}catch(e){t=Math.floor(t/2)}return u.stringifyByChar(e)}function d(e,t){for(var r=0;r<e.length;r++)t[r]=e[r];return t}r.applyFromCharCode=l;var f={};f.string={string:a,array:function(e){return c(e,new Array(e.length))},arraybuffer:function(e){return f.string.uint8array(e).buffer},uint8array:function(e){return c(e,new Uint8Array(e.length))},nodebuffer:function(e){return c(e,o.allocBuffer(e.length))}},f.array={string:l,array:a,arraybuffer:function(e){return new Uint8Array(e).buffer},uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return o.newBufferFrom(e)}},f.arraybuffer={string:function(e){return l(new Uint8Array(e))},array:function(e){return d(new Uint8Array(e),new Array(e.byteLength))},arraybuffer:a,uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return o.newBufferFrom(new Uint8Array(e))}},f.uint8array={string:l,array:function(e){return d(e,new Array(e.length))},arraybuffer:function(e){return e.buffer},uint8array:a,nodebuffer:function(e){return o.newBufferFrom(e)}},f.nodebuffer={string:l,array:function(e){return d(e,new Array(e.length))},arraybuffer:function(e){return f.nodebuffer.uint8array(e).buffer},uint8array:function(e){return d(e,new Uint8Array(e.length))},nodebuffer:a},r.transformTo=function(e,t){if(t=t||"",!e)return t;r.checkSupport(e);var n=r.getTypeOf(t);return f[n][e](t)},r.resolve=function(e){for(var t=e.split("/"),r=[],n=0;n<t.length;n++){var i=t[n];"."===i||""===i&&0!==n&&n!==t.length-1||(".."===i?r.pop():r.push(i))}return r.join("/")},r.getTypeOf=function(e){return"string"==typeof e?"string":"[object Array]"===Object.prototype.toString.call(e)?"array":n.nodebuffer&&o.isBuffer(e)?"nodebuffer":n.uint8array&&e instanceof Uint8Array?"uint8array":n.arraybuffer&&e instanceof ArrayBuffer?"arraybuffer":void 0},r.checkSupport=function(e){if(!n[e.toLowerCase()])throw new Error(e+" is not supported by this platform")},r.MAX_VALUE_16BITS=65535,r.MAX_VALUE_32BITS=-1,r.pretty=function(e){var t,r,n="";for(r=0;r<(e||"").length;r++)n+="\\x"+((t=e.charCodeAt(r))<16?"0":"")+t.toString(16).toUpperCase();return n},r.delay=function(e,t,r){setImmediate(function(){e.apply(r||null,t||[])})},r.inherits=function(e,t){function r(){}r.prototype=t.prototype,e.prototype=new r},r.extend=function(){var e,t,r={};for(e=0;e<arguments.length;e++)for(t in arguments[e])Object.prototype.hasOwnProperty.call(arguments[e],t)&&void 0===r[t]&&(r[t]=arguments[e][t]);return r},r.prepareContent=function(e,t,o,a,u){return s.Promise.resolve(t).then(function(e){return n.blob&&(e instanceof Blob||-1!==["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(e)))&&"undefined"!=typeof FileReader?new s.Promise(function(t,r){var n=new FileReader;n.onload=function(e){t(e.target.result)},n.onerror=function(e){r(e.target.error)},n.readAsArrayBuffer(e)}):e}).then(function(t){var l=r.getTypeOf(t),d;return l?("arraybuffer"===l?t=r.transformTo("uint8array",t):"string"===l&&(u?t=i.decode(t):o&&!0!==a&&(t=c(d=t,n.uint8array?new Uint8Array(d.length):new Array(d.length)))),t):s.Promise.reject(new Error("Can't read the data of '"+e+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})}},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,setimmediate:54}],33:[function(e,t,r){var n=e("./reader/readerFor"),i=e("./utils"),o=e("./signature"),s=e("./zipEntry"),a=e("./support");function c(e){this.files=[],this.loadOptions=e}c.prototype={checkSignature:function(e){if(!this.reader.readAndCheckSignature(e)){this.reader.index-=4;var t=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+i.pretty(t)+", expected "+i.pretty(e)+")")}},isSignature:function(e,t){var r=this.reader.index;this.reader.setIndex(e);var n=this.reader.readString(4)===t;return this.reader.setIndex(r),n},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var e=this.reader.readData(this.zipCommentLength),t=a.uint8array?"uint8array":"array",r=i.transformTo(t,e);this.zipComment=this.loadOptions.decodeFileName(r)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var e,t,r,n=this.zip64EndOfCentralSize-44;0<n;)e=this.reader.readInt(2),t=this.reader.readInt(4),r=this.reader.readData(t),this.zip64ExtensibleData[e]={id:e,length:t,value:r}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var e,t;for(e=0;e<this.files.length;e++)t=this.files[e],this.reader.setIndex(t.localHeaderOffset),this.checkSignature(o.LOCAL_FILE_HEADER),t.readLocalPart(this.reader),t.handleUTF8(),t.processAttributes()},readCentralDir:function(){var e;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(o.CENTRAL_FILE_HEADER);)(e=new s({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(e);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var e=this.reader.lastIndexOfSignature(o.CENTRAL_DIRECTORY_END);if(e<0)throw this.isSignature(0,o.LOCAL_FILE_HEADER)?new Error("Corrupted zip: can't find end of central directory"):new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html");this.reader.setIndex(e);var t=e;if(this.checkSignature(o.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===i.MAX_VALUE_16BITS||this.diskWithCentralDirStart===i.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===i.MAX_VALUE_16BITS||this.centralDirRecords===i.MAX_VALUE_16BITS||this.centralDirSize===i.MAX_VALUE_32BITS||this.centralDirOffset===i.MAX_VALUE_32BITS){if(this.zip64=!0,(e=this.reader.lastIndexOfSignature(o.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(e),this.checkSignature(o.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,o.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(o.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(o.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var r=this.centralDirOffset+this.centralDirSize;this.zip64&&(r+=20,r+=12+this.zip64EndOfCentralSize);var n=t-r;if(0<n)this.isSignature(t,o.CENTRAL_FILE_HEADER)||(this.reader.zero=n);else if(n<0)throw new Error("Corrupted zip: missing "+Math.abs(n)+" bytes.")},prepareReader:function(e){this.reader=n(e)},load:function(e){this.prepareReader(e),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},t.exports=c},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utils":32,"./zipEntry":34}],34:[function(e,t,r){var n=e("./reader/readerFor"),i=e("./utils"),o=e("./compressedObject"),s=e("./crc32"),a=e("./utf8"),c=e("./compressions"),u=e("./support");function l(e,t){this.options=e,this.loadOptions=t}l.prototype={isEncrypted:function(){return!(1&~this.bitFlag)},useUTF8:function(){return!(2048&~this.bitFlag)},readLocalPart:function(e){var t,r;if(e.skip(22),this.fileNameLength=e.readInt(2),r=e.readInt(2),this.fileName=e.readData(this.fileNameLength),e.skip(r),-1===this.compressedSize||-1===this.uncompressedSize)throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if(null===(t=function(e){for(var t in c)if(Object.prototype.hasOwnProperty.call(c,t)&&c[t].magic===e)return c[t];return null}(this.compressionMethod)))throw new Error("Corrupted zip : compression "+i.pretty(this.compressionMethod)+" unknown (inner file : "+i.transformTo("string",this.fileName)+")");this.decompressed=new o(this.compressedSize,this.uncompressedSize,this.crc32,t,e.readData(this.compressedSize))},readCentralPart:function(e){this.versionMadeBy=e.readInt(2),e.skip(2),this.bitFlag=e.readInt(2),this.compressionMethod=e.readString(2),this.date=e.readDate(),this.crc32=e.readInt(4),this.compressedSize=e.readInt(4),this.uncompressedSize=e.readInt(4);var t=e.readInt(2);if(this.extraFieldsLength=e.readInt(2),this.fileCommentLength=e.readInt(2),this.diskNumberStart=e.readInt(2),this.internalFileAttributes=e.readInt(2),this.externalFileAttributes=e.readInt(4),this.localHeaderOffset=e.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");e.skip(t),this.readExtraFields(e),this.parseZIP64ExtraField(e),this.fileComment=e.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var e=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),0==e&&(this.dosPermissions=63&this.externalFileAttributes),3==e&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var e=n(this.extraFields[1].value);this.uncompressedSize===i.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===i.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===i.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===i.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4))}},readExtraFields:function(e){var t,r,n,i=e.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});e.index+4<i;)t=e.readInt(2),r=e.readInt(2),n=e.readData(r),this.extraFields[t]={id:t,length:r,value:n};e.setIndex(i)},handleUTF8:function(){var e=u.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=a.utf8decode(this.fileName),this.fileCommentStr=a.utf8decode(this.fileComment);else{var t=this.findExtraFieldUnicodePath();if(null!==t)this.fileNameStr=t;else{var r=i.transformTo(e,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(r)}var n=this.findExtraFieldUnicodeComment();if(null!==n)this.fileCommentStr=n;else{var o=i.transformTo(e,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(o)}}},findExtraFieldUnicodePath:function(){var e=this.extraFields[28789];if(e){var t=n(e.value);return 1!==t.readInt(1)||s(this.fileName)!==t.readInt(4)?null:a.utf8decode(t.readData(e.length-5))}return null},findExtraFieldUnicodeComment:function(){var e=this.extraFields[25461];if(e){var t=n(e.value);return 1!==t.readInt(1)||s(this.fileComment)!==t.readInt(4)?null:a.utf8decode(t.readData(e.length-5))}return null}},t.exports=l},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(e,t,r){function n(e,t,r){this.name=e,this.dir=r.dir,this.date=r.date,this.comment=r.comment,this.unixPermissions=r.unixPermissions,this.dosPermissions=r.dosPermissions,this._data=t,this._dataBinary=r.binary,this.options={compression:r.compression,compressionOptions:r.compressionOptions}}var i=e("./stream/StreamHelper"),o=e("./stream/DataWorker"),s=e("./utf8"),a=e("./compressedObject"),c=e("./stream/GenericWorker");n.prototype={internalStream:function(e){var t=null,r="string";try{if(!e)throw new Error("No output type specified.");var n="string"===(r=e.toLowerCase())||"text"===r;"binarystring"!==r&&"text"!==r||(r="string"),t=this._decompressWorker();var o=!this._dataBinary;o&&!n&&(t=t.pipe(new s.Utf8EncodeWorker)),!o&&n&&(t=t.pipe(new s.Utf8DecodeWorker))}catch(e){(t=new c("error")).error(e)}return new i(t,r,"")},async:function(e,t){return this.internalStream(e).accumulate(t)},nodeStream:function(e,t){return this.internalStream(e||"nodebuffer").toNodejsStream(t)},_compressWorker:function(e,t){if(this._data instanceof a&&this._data.compression.magic===e.magic)return this._data.getCompressedWorker();var r=this._decompressWorker();return this._dataBinary||(r=r.pipe(new s.Utf8EncodeWorker)),a.createWorkerFrom(r,e,t)},_decompressWorker:function(){return this._data instanceof a?this._data.getContentWorker():this._data instanceof c?this._data:new o(this._data)}};for(var u=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],l=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},d=0;d<u.length;d++)n.prototype[u[d]]=l;t.exports=n},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(e,t,r){(function(e){var r,n,i=e.MutationObserver||e.WebKitMutationObserver;if(i){var o=0,s=new i(l),a=e.document.createTextNode("");s.observe(a,{characterData:!0}),r=function(){a.data=o=++o%2}}else if(e.setImmediate||void 0===e.MessageChannel)r="document"in e&&"onreadystatechange"in e.document.createElement("script")?function(){var t=e.document.createElement("script");t.onreadystatechange=function(){l(),t.onreadystatechange=null,t.parentNode.removeChild(t),t=null},e.document.documentElement.appendChild(t)}:function(){setTimeout(l,0)};else{var c=new e.MessageChannel;c.port1.onmessage=l,r=function(){c.port2.postMessage(0)}}var u=[];function l(){var e,t;n=!0;for(var r=u.length;r;){for(t=u,u=[],e=-1;++e<r;)t[e]();r=u.length}n=!1}t.exports=function(e){1!==u.push(e)||n||r()}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],37:[function(e,t,r){var n=e("immediate");function i(){}var o={},s=["REJECTED"],a=["FULFILLED"],c=["PENDING"];function u(e){if("function"!=typeof e)throw new TypeError("resolver must be a function");this.state=c,this.queue=[],this.outcome=void 0,e!==i&&w(this,e)}function l(e,t,r){this.promise=e,"function"==typeof t&&(this.onFulfilled=t,this.callFulfilled=this.otherCallFulfilled),"function"==typeof r&&(this.onRejected=r,this.callRejected=this.otherCallRejected)}function d(e,t,r){n(function(){var n;try{n=t(r)}catch(t){return o.reject(e,t)}n===e?o.reject(e,new TypeError("Cannot resolve promise with itself")):o.resolve(e,n)})}function f(e){var t=e&&e.then;if(e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof t)return function(){t.apply(e,arguments)}}function w(e,t){var r=!1;function n(t){r||(r=!0,o.reject(e,t))}function i(t){r||(r=!0,o.resolve(e,t))}var s=h(function(){t(i,n)});"error"===s.status&&n(s.value)}function h(e,t){var r={};try{r.value=e(t),r.status="success"}catch(e){r.status="error",r.value=e}return r}(t.exports=u).prototype.finally=function(e){if("function"!=typeof e)return this;var t=this.constructor;return this.then(function(r){return t.resolve(e()).then(function(){return r})},function(r){return t.resolve(e()).then(function(){throw r})})},u.prototype.catch=function(e){return this.then(null,e)},u.prototype.then=function(e,t){if("function"!=typeof e&&this.state===a||"function"!=typeof t&&this.state===s)return this;var r=new this.constructor(i);return this.state!==c?d(r,this.state===a?e:t,this.outcome):this.queue.push(new l(r,e,t)),r},l.prototype.callFulfilled=function(e){o.resolve(this.promise,e)},l.prototype.otherCallFulfilled=function(e){d(this.promise,this.onFulfilled,e)},l.prototype.callRejected=function(e){o.reject(this.promise,e)},l.prototype.otherCallRejected=function(e){d(this.promise,this.onRejected,e)},o.resolve=function(e,t){var r=h(f,t);if("error"===r.status)return o.reject(e,r.value);var n=r.value;if(n)w(e,n);else{e.state=a,e.outcome=t;for(var i=-1,s=e.queue.length;++i<s;)e.queue[i].callFulfilled(t)}return e},o.reject=function(e,t){e.state=s,e.outcome=t;for(var r=-1,n=e.queue.length;++r<n;)e.queue[r].callRejected(t);return e},u.resolve=function(e){return e instanceof this?e:o.resolve(new this(i),e)},u.reject=function(e){var t=new this(i);return o.reject(t,e)},u.all=function(e){var t=this;if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(new TypeError("must be an array"));var r=e.length,n=!1;if(!r)return this.resolve([]);for(var s=new Array(r),a=0,c=-1,u=new this(i);++c<r;)l(e[c],c);return u;function l(e,i){t.resolve(e).then(function(e){s[i]=e,++a!==r||n||(n=!0,o.resolve(u,s))},function(e){n||(n=!0,o.reject(u,e))})}},u.race=function(e){var t=this;if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(new TypeError("must be an array"));var r=e.length,n=!1;if(!r)return this.resolve([]);for(var s=-1,a=new this(i),c;++s<r;)c=e[s],t.resolve(c).then(function(e){n||(n=!0,o.resolve(a,e))},function(e){n||(n=!0,o.reject(a,e))});return a}},{immediate:36}],38:[function(e,t,r){var n={};(0,e("./lib/utils/common").assign)(n,e("./lib/deflate"),e("./lib/inflate"),e("./lib/zlib/constants")),t.exports=n},{"./lib/deflate":39,"./lib/inflate":40,"./lib/utils/common":41,"./lib/zlib/constants":44}],39:[function(e,t,r){var n=e("./zlib/deflate"),i=e("./utils/common"),o=e("./utils/strings"),s=e("./zlib/messages"),a=e("./zlib/zstream"),c=Object.prototype.toString,u=0,l=-1,d=0,f=8;function w(e){if(!(this instanceof w))return new w(e);this.options=i.assign({level:l,method:8,chunkSize:16384,windowBits:15,memLevel:8,strategy:0,to:""},e||{});var t=this.options;t.raw&&0<t.windowBits?t.windowBits=-t.windowBits:t.gzip&&0<t.windowBits&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new a,this.strm.avail_out=0;var r=n.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(0!==r)throw new Error(s[r]);if(t.header&&n.deflateSetHeader(this.strm,t.header),t.dictionary){var u;if(u="string"==typeof t.dictionary?o.string2buf(t.dictionary):"[object ArrayBuffer]"===c.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,0!==(r=n.deflateSetDictionary(this.strm,u)))throw new Error(s[r]);this._dict_set=!0}}function h(e,t){var r=new w(t);if(r.push(e,!0),r.err)throw r.msg||s[r.err];return r.result}w.prototype.push=function(e,t){var r,s,a=this.strm,u=this.options.chunkSize;if(this.ended)return!1;s=t===~~t?t:!0===t?4:0,"string"==typeof e?a.input=o.string2buf(e):"[object ArrayBuffer]"===c.call(e)?a.input=new Uint8Array(e):a.input=e,a.next_in=0,a.avail_in=a.input.length;do{if(0===a.avail_out&&(a.output=new i.Buf8(u),a.next_out=0,a.avail_out=u),1!==(r=n.deflate(a,s))&&0!==r)return this.onEnd(r),!(this.ended=!0);0!==a.avail_out&&(0!==a.avail_in||4!==s&&2!==s)||("string"===this.options.to?this.onData(o.buf2binstring(i.shrinkBuf(a.output,a.next_out))):this.onData(i.shrinkBuf(a.output,a.next_out)))}while((0<a.avail_in||0===a.avail_out)&&1!==r);return 4===s?(r=n.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,0===r):2!==s||(this.onEnd(0),!(a.avail_out=0))},w.prototype.onData=function(e){this.chunks.push(e)},w.prototype.onEnd=function(e){0===e&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=i.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},r.Deflate=w,r.deflate=h,r.deflateRaw=function(e,t){return(t=t||{}).raw=!0,h(e,t)},r.gzip=function(e,t){return(t=t||{}).gzip=!0,h(e,t)}},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(e,t,r){var n=e("./zlib/inflate"),i=e("./utils/common"),o=e("./utils/strings"),s=e("./zlib/constants"),a=e("./zlib/messages"),c=e("./zlib/zstream"),u=e("./zlib/gzheader"),l=Object.prototype.toString;function d(e){if(!(this instanceof d))return new d(e);this.options=i.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&0<=t.windowBits&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(0<=t.windowBits&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),15<t.windowBits&&t.windowBits<48&&!(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new c,this.strm.avail_out=0;var r=n.inflateInit2(this.strm,t.windowBits);if(r!==s.Z_OK)throw new Error(a[r]);this.header=new u,n.inflateGetHeader(this.strm,this.header)}function f(e,t){var r=new d(t);if(r.push(e,!0),r.err)throw r.msg||a[r.err];return r.result}d.prototype.push=function(e,t){var r,a,c,u,d,f,w=this.strm,h=this.options.chunkSize,A=this.options.dictionary,p=!1;if(this.ended)return!1;a=t===~~t?t:!0===t?s.Z_FINISH:s.Z_NO_FLUSH,"string"==typeof e?w.input=o.binstring2buf(e):"[object ArrayBuffer]"===l.call(e)?w.input=new Uint8Array(e):w.input=e,w.next_in=0,w.avail_in=w.input.length;do{if(0===w.avail_out&&(w.output=new i.Buf8(h),w.next_out=0,w.avail_out=h),(r=n.inflate(w,s.Z_NO_FLUSH))===s.Z_NEED_DICT&&A&&(f="string"==typeof A?o.string2buf(A):"[object ArrayBuffer]"===l.call(A)?new Uint8Array(A):A,r=n.inflateSetDictionary(this.strm,f)),r===s.Z_BUF_ERROR&&!0===p&&(r=s.Z_OK,p=!1),r!==s.Z_STREAM_END&&r!==s.Z_OK)return this.onEnd(r),!(this.ended=!0);w.next_out&&(0!==w.avail_out&&r!==s.Z_STREAM_END&&(0!==w.avail_in||a!==s.Z_FINISH&&a!==s.Z_SYNC_FLUSH)||("string"===this.options.to?(c=o.utf8border(w.output,w.next_out),u=w.next_out-c,d=o.buf2string(w.output,c),w.next_out=u,w.avail_out=h-u,u&&i.arraySet(w.output,w.output,c,u,0),this.onData(d)):this.onData(i.shrinkBuf(w.output,w.next_out)))),0===w.avail_in&&0===w.avail_out&&(p=!0)}while((0<w.avail_in||0===w.avail_out)&&r!==s.Z_STREAM_END);return r===s.Z_STREAM_END&&(a=s.Z_FINISH),a===s.Z_FINISH?(r=n.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===s.Z_OK):a!==s.Z_SYNC_FLUSH||(this.onEnd(s.Z_OK),!(w.avail_out=0))},d.prototype.onData=function(e){this.chunks.push(e)},d.prototype.onEnd=function(e){e===s.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=i.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},r.Inflate=d,r.inflate=f,r.inflateRaw=function(e,t){return(t=t||{}).raw=!0,f(e,t)},r.ungzip=f},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(e,t,r){var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;r.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var r=t.shift();if(r){if("object"!=typeof r)throw new TypeError(r+"must be non-object");for(var n in r)r.hasOwnProperty(n)&&(e[n]=r[n])}}return e},r.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var i={arraySet:function(e,t,r,n,i){if(t.subarray&&e.subarray)e.set(t.subarray(r,r+n),i);else for(var o=0;o<n;o++)e[i+o]=t[r+o]},flattenChunks:function(e){var t,r,n,i,o,s;for(t=n=0,r=e.length;t<r;t++)n+=e[t].length;for(s=new Uint8Array(n),t=i=0,r=e.length;t<r;t++)o=e[t],s.set(o,i),i+=o.length;return s}},o={arraySet:function(e,t,r,n,i){for(var o=0;o<n;o++)e[i+o]=t[r+o]},flattenChunks:function(e){return[].concat.apply([],e)}};r.setTyped=function(e){e?(r.Buf8=Uint8Array,r.Buf16=Uint16Array,r.Buf32=Int32Array,r.assign(r,i)):(r.Buf8=Array,r.Buf16=Array,r.Buf32=Array,r.assign(r,o))},r.setTyped(n)},{}],42:[function(e,t,r){var n=e("./common"),i=!0,o=!0;try{String.fromCharCode.apply(null,[0])}catch(e){i=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){o=!1}for(var s=new n.Buf8(256),a=0;a<256;a++)s[a]=252<=a?6:248<=a?5:240<=a?4:224<=a?3:192<=a?2:1;function c(e,t){if(t<65537&&(e.subarray&&o||!e.subarray&&i))return String.fromCharCode.apply(null,n.shrinkBuf(e,t));for(var r="",s=0;s<t;s++)r+=String.fromCharCode(e[s]);return r}s[254]=s[254]=1,r.string2buf=function(e){var t,r,i,o,s,a=e.length,c=0;for(o=0;o<a;o++)55296==(64512&(r=e.charCodeAt(o)))&&o+1<a&&56320==(64512&(i=e.charCodeAt(o+1)))&&(r=65536+(r-55296<<10)+(i-56320),o++),c+=r<128?1:r<2048?2:r<65536?3:4;for(t=new n.Buf8(c),o=s=0;s<c;o++)55296==(64512&(r=e.charCodeAt(o)))&&o+1<a&&56320==(64512&(i=e.charCodeAt(o+1)))&&(r=65536+(r-55296<<10)+(i-56320),o++),r<128?t[s++]=r:(r<2048?t[s++]=192|r>>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t},r.buf2binstring=function(e){return c(e,e.length)},r.binstring2buf=function(e){for(var t=new n.Buf8(e.length),r=0,i=t.length;r<i;r++)t[r]=e.charCodeAt(r);return t},r.buf2string=function(e,t){var r,n,i,o,a=t||e.length,u=new Array(2*a);for(r=n=0;r<a;)if((i=e[r++])<128)u[n++]=i;else if(4<(o=s[i]))u[n++]=65533,r+=o-1;else{for(i&=2===o?31:3===o?15:7;1<o&&r<a;)i=i<<6|63&e[r++],o--;1<o?u[n++]=65533:i<65536?u[n++]=i:(i-=65536,u[n++]=55296|i>>10&1023,u[n++]=56320|1023&i)}return c(u,n)},r.utf8border=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0||0===r?t:r+s[e[r]]>t?r:t}},{"./common":41}],43:[function(e,t,r){t.exports=function(e,t,r,n){for(var i=65535&e,o=e>>>16&65535,s=0;0!==r;){for(r-=s=2e3<r?2e3:r;o=o+(i=i+t[n++]|0)|0,--s;);i%=65521,o%=65521}return i|o<<16}},{}],44:[function(e,t,r){t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(e,t,r){var n=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t,r,i){var o=n,s=i+r;e^=-1;for(var a=i;a<s;a++)e=e>>>8^o[255&(e^t[a])];return-1^e}},{}],46:[function(e,t,r){var n,i=e("../utils/common"),o=e("./trees"),s=e("./adler32"),a=e("./crc32"),c=e("./messages"),u=0,l=4,d=0,f=-2,w=-1,h=4,A=2,p=8,E=9,B=286,H=30,g=19,m=573,y=15,T=3,x=258,v=262,b=42,R=113,M=1,k=2,S=3,C=4;function _(e,t){return e.msg=c[t],t}function O(e){return(e<<1)-(4<e?9:0)}function L(e){for(var t=e.length;0<=--t;)e[t]=0}function P(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),0!==r&&(i.arraySet(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0))}function D(e,t){o._tr_flush_block(e,0<=e.block_start?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,P(e.strm)}function I(e,t){e.pending_buf[e.pending++]=t}function N(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function U(e,t){var r,n,i=e.max_chain_length,o=e.strstart,s=e.prev_length,a=e.nice_match,c=e.strstart>e.w_size-v?e.strstart-(e.w_size-v):0,u=e.window,l=e.w_mask,d=e.prev,f=e.strstart+x,w=u[o+s-1],h=u[o+s];e.prev_length>=e.good_match&&(i>>=2),a>e.lookahead&&(a=e.lookahead);do{if(u[(r=t)+s]===h&&u[r+s-1]===w&&u[r]===u[o]&&u[++r]===u[o+1]){o+=2,r++;do{}while(u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&o<f);if(n=x-(f-o),o=f-x,s<n){if(e.match_start=t,a<=(s=n))break;w=u[o+s-1],h=u[o+s]}}}while((t=d[t&l])>c&&0!=--i);return s<=e.lookahead?s:e.lookahead}function z(e){var t,r,n,o,c,u,l,d,f,w,h=e.w_size;do{if(o=e.window_size-e.lookahead-e.strstart,e.strstart>=h+(h-v)){for(i.arraySet(e.window,e.window,h,h,0),e.match_start-=h,e.strstart-=h,e.block_start-=h,t=r=e.hash_size;n=e.head[--t],e.head[t]=h<=n?n-h:0,--r;);for(t=r=h;n=e.prev[--t],e.prev[t]=h<=n?n-h:0,--r;);o+=h}if(0===e.strm.avail_in)break;if(u=e.strm,l=e.window,d=e.strstart+e.lookahead,w=void 0,(f=o)<(w=u.avail_in)&&(w=f),r=0===w?0:(u.avail_in-=w,i.arraySet(l,u.input,u.next_in,w,d),1===u.state.wrap?u.adler=s(u.adler,l,w,d):2===u.state.wrap&&(u.adler=a(u.adler,l,w,d)),u.next_in+=w,u.total_in+=w,w),e.lookahead+=r,e.lookahead+e.insert>=3)for(c=e.strstart-e.insert,e.ins_h=e.window[c],e.ins_h=(e.ins_h<<e.hash_shift^e.window[c+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[c+3-1])&e.hash_mask,e.prev[c&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=c,c++,e.insert--,!(e.lookahead+e.insert<3)););}while(e.lookahead<v&&0!==e.strm.avail_in)}function X(e,t){for(var r,n;;){if(e.lookahead<v){if(z(e),e.lookahead<v&&0===t)return 1;if(0===e.lookahead)break}if(r=0,e.lookahead>=3&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==r&&e.strstart-r<=e.w_size-v&&(e.match_length=U(e,r)),e.match_length>=3)if(n=o._tr_tally(e,e.strstart-e.match_start,e.match_length-3),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=3){for(e.match_length--;e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart,0!=--e.match_length;);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else n=o._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(D(e,!1),0===e.strm.avail_out))return 1}return e.insert=e.strstart<2?e.strstart:2,4===t?(D(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(D(e,!1),0===e.strm.avail_out)?1:2}function j(e,t){for(var r,n,i;;){if(e.lookahead<v){if(z(e),e.lookahead<v&&0===t)return 1;if(0===e.lookahead)break}if(r=0,e.lookahead>=3&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=2,0!==r&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-v&&(e.match_length=U(e,r),e.match_length<=5&&(1===e.strategy||3===e.match_length&&4096<e.strstart-e.match_start)&&(e.match_length=2)),e.prev_length>=3&&e.match_length<=e.prev_length){for(i=e.strstart+e.lookahead-3,n=o._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-3),e.lookahead-=e.prev_length-1,e.prev_length-=2;++e.strstart<=i&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!=--e.prev_length;);if(e.match_available=0,e.match_length=2,e.strstart++,n&&(D(e,!1),0===e.strm.avail_out))return 1}else if(e.match_available){if((n=o._tr_tally(e,0,e.window[e.strstart-1]))&&D(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return 1}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(n=o._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<2?e.strstart:2,4===t?(D(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(D(e,!1),0===e.strm.avail_out)?1:2}function W(e,t,r,n,i){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=n,this.func=i}function F(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=8,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new i.Buf16(2*m),this.dyn_dtree=new i.Buf16(122),this.bl_tree=new i.Buf16(78),L(this.dyn_ltree),L(this.dyn_dtree),L(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new i.Buf16(16),this.heap=new i.Buf16(573),L(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new i.Buf16(573),L(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function J(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=2,(t=e.state).pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?b:R,e.adler=2===t.wrap?0:1,t.last_flush=0,o._tr_init(t),0):_(e,f)}function K(e){var t=J(e),r;return 0===t&&((r=e.state).window_size=2*r.w_size,L(r.head),r.max_lazy_match=n[r.level].max_lazy,r.good_match=n[r.level].good_length,r.nice_match=n[r.level].nice_length,r.max_chain_length=n[r.level].max_chain,r.strstart=0,r.block_start=0,r.lookahead=0,r.insert=0,r.match_length=r.prev_length=2,r.match_available=0,r.ins_h=0),t}function Y(e,t,r,n,o,s){if(!e)return f;var a=1;if(t===w&&(t=6),n<0?(a=0,n=-n):15<n&&(a=2,n-=16),o<1||9<o||8!==r||n<8||15<n||t<0||9<t||s<0||4<s)return _(e,f);8===n&&(n=9);var c=new F;return(e.state=c).strm=e,c.wrap=a,c.gzhead=null,c.w_bits=n,c.w_size=1<<c.w_bits,c.w_mask=c.w_size-1,c.hash_bits=o+7,c.hash_size=1<<c.hash_bits,c.hash_mask=c.hash_size-1,c.hash_shift=~~((c.hash_bits+3-1)/3),c.window=new i.Buf8(2*c.w_size),c.head=new i.Buf16(c.hash_size),c.prev=new i.Buf16(c.w_size),c.lit_bufsize=1<<o+6,c.pending_buf_size=4*c.lit_bufsize,c.pending_buf=new i.Buf8(c.pending_buf_size),c.d_buf=1*c.lit_bufsize,c.l_buf=3*c.lit_bufsize,c.level=t,c.strategy=s,c.method=r,K(e)}n=[new W(0,0,0,0,function(e,t){var r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(z(e),0===e.lookahead&&0===t)return 1;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,D(e,!1),0===e.strm.avail_out))return 1;if(e.strstart-e.block_start>=e.w_size-v&&(D(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(D(e,!0),0===e.strm.avail_out?3:4):(e.strstart>e.block_start&&(D(e,!1),e.strm.avail_out),1)}),new W(4,4,8,4,X),new W(4,5,16,8,X),new W(4,6,32,32,X),new W(4,4,16,16,j),new W(8,16,32,32,j),new W(8,16,128,128,j),new W(8,32,128,256,j),new W(32,128,258,1024,j),new W(32,258,258,4096,j)],r.deflateInit=function(e,t){return Y(e,t,8,15,8,0)},r.deflateInit2=Y,r.deflateReset=K,r.deflateResetKeep=J,r.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?f:(e.state.gzhead=t,0):f},r.deflate=function(e,t){var r,i,s,c;if(!e||!e.state||5<t||t<0)return e?_(e,f):f;if(i=e.state,!e.output||!e.input&&0!==e.avail_in||666===i.status&&4!==t)return _(e,0===e.avail_out?-5:f);if(i.strm=e,r=i.last_flush,i.last_flush=t,i.status===b)if(2===i.wrap)e.adler=0,I(i,31),I(i,139),I(i,8),i.gzhead?(I(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),I(i,255&i.gzhead.time),I(i,i.gzhead.time>>8&255),I(i,i.gzhead.time>>16&255),I(i,i.gzhead.time>>24&255),I(i,9===i.level?2:2<=i.strategy||i.level<2?4:0),I(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(I(i,255&i.gzhead.extra.length),I(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(e.adler=a(e.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=69):(I(i,0),I(i,0),I(i,0),I(i,0),I(i,0),I(i,9===i.level?2:2<=i.strategy||i.level<2?4:0),I(i,3),i.status=R);else{var u=8+(i.w_bits-8<<4)<<8;u|=(2<=i.strategy||i.level<2?0:i.level<6?1:6===i.level?2:3)<<6,0!==i.strstart&&(u|=32),u+=31-u%31,i.status=R,N(i,u),0!==i.strstart&&(N(i,e.adler>>>16),N(i,65535&e.adler)),e.adler=1}if(69===i.status)if(i.gzhead.extra){for(s=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>s&&(e.adler=a(e.adler,i.pending_buf,i.pending-s,s)),P(e),s=i.pending,i.pending!==i.pending_buf_size));)I(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>s&&(e.adler=a(e.adler,i.pending_buf,i.pending-s,s)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=73)}else i.status=73;if(73===i.status)if(i.gzhead.name){s=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>s&&(e.adler=a(e.adler,i.pending_buf,i.pending-s,s)),P(e),s=i.pending,i.pending===i.pending_buf_size)){c=1;break}c=i.gzindex<i.gzhead.name.length?255&i.gzhead.name.charCodeAt(i.gzindex++):0,I(i,c)}while(0!==c);i.gzhead.hcrc&&i.pending>s&&(e.adler=a(e.adler,i.pending_buf,i.pending-s,s)),0===c&&(i.gzindex=0,i.status=91)}else i.status=91;if(91===i.status)if(i.gzhead.comment){s=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>s&&(e.adler=a(e.adler,i.pending_buf,i.pending-s,s)),P(e),s=i.pending,i.pending===i.pending_buf_size)){c=1;break}c=i.gzindex<i.gzhead.comment.length?255&i.gzhead.comment.charCodeAt(i.gzindex++):0,I(i,c)}while(0!==c);i.gzhead.hcrc&&i.pending>s&&(e.adler=a(e.adler,i.pending_buf,i.pending-s,s)),0===c&&(i.status=103)}else i.status=103;if(103===i.status&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&P(e),i.pending+2<=i.pending_buf_size&&(I(i,255&e.adler),I(i,e.adler>>8&255),e.adler=0,i.status=R)):i.status=R),0!==i.pending){if(P(e),0===e.avail_out)return i.last_flush=-1,0}else if(0===e.avail_in&&O(t)<=O(r)&&4!==t)return _(e,-5);if(666===i.status&&0!==e.avail_in)return _(e,-5);if(0!==e.avail_in||0!==i.lookahead||0!==t&&666!==i.status){var l=2===i.strategy?function(e,t){for(var r;;){if(0===e.lookahead&&(z(e),0===e.lookahead)){if(0===t)return 1;break}if(e.match_length=0,r=o._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(D(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(D(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(D(e,!1),0===e.strm.avail_out)?1:2}(i,t):3===i.strategy?function(e,t){for(var r,n,i,s,a=e.window;;){if(e.lookahead<=x){if(z(e),e.lookahead<=x&&0===t)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=3&&0<e.strstart&&(n=a[i=e.strstart-1])===a[++i]&&n===a[++i]&&n===a[++i]){s=e.strstart+x;do{}while(n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&i<s);e.match_length=x-(s-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=3?(r=o._tr_tally(e,1,e.match_length-3),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=o._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(D(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(D(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(D(e,!1),0===e.strm.avail_out)?1:2}(i,t):n[i.level].func(i,t);if(3!==l&&4!==l||(i.status=666),1===l||3===l)return 0===e.avail_out&&(i.last_flush=-1),0;if(2===l&&(1===t?o._tr_align(i):5!==t&&(o._tr_stored_block(i,0,0,!1),3===t&&(L(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),P(e),0===e.avail_out))return i.last_flush=-1,0}return 4!==t?0:i.wrap<=0?1:(2===i.wrap?(I(i,255&e.adler),I(i,e.adler>>8&255),I(i,e.adler>>16&255),I(i,e.adler>>24&255),I(i,255&e.total_in),I(i,e.total_in>>8&255),I(i,e.total_in>>16&255),I(i,e.total_in>>24&255)):(N(i,e.adler>>>16),N(i,65535&e.adler)),P(e),0<i.wrap&&(i.wrap=-i.wrap),0!==i.pending?0:1)},r.deflateEnd=function(e){var t;return e&&e.state?(t=e.state.status)!==b&&69!==t&&73!==t&&91!==t&&103!==t&&t!==R&&666!==t?_(e,f):(e.state=null,t===R?_(e,-3):0):f},r.deflateSetDictionary=function(e,t){var r,n,o,a,c,u,l,d,w=t.length;if(!e||!e.state)return f;if(2===(a=(r=e.state).wrap)||1===a&&r.status!==b||r.lookahead)return f;for(1===a&&(e.adler=s(e.adler,t,w,0)),r.wrap=0,w>=r.w_size&&(0===a&&(L(r.head),r.strstart=0,r.block_start=0,r.insert=0),d=new i.Buf8(r.w_size),i.arraySet(d,t,w-r.w_size,r.w_size,0),t=d,w=r.w_size),c=e.avail_in,u=e.next_in,l=e.input,e.avail_in=w,e.next_in=0,e.input=t,z(r);r.lookahead>=3;){for(n=r.strstart,o=r.lookahead-2;r.ins_h=(r.ins_h<<r.hash_shift^r.window[n+3-1])&r.hash_mask,r.prev[n&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=n,n++,--o;);r.strstart=n,r.lookahead=2,z(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=2,r.match_available=0,e.next_in=u,e.input=l,e.avail_in=c,r.wrap=a,0},r.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(e,t,r){t.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},{}],48:[function(e,t,r){t.exports=function(e,t){var r,n,i,o,s,a,c,u,l,d,f,w,h,A,p,E,B,H,g,m,y,T,x,v,b;r=e.state,n=e.next_in,v=e.input,i=n+(e.avail_in-5),o=e.next_out,b=e.output,s=o-(t-e.avail_out),a=o+(e.avail_out-257),c=r.dmax,u=r.wsize,l=r.whave,d=r.wnext,f=r.window,w=r.hold,h=r.bits,A=r.lencode,p=r.distcode,E=(1<<r.lenbits)-1,B=(1<<r.distbits)-1;e:do{h<15&&(w+=v[n++]<<h,h+=8,w+=v[n++]<<h,h+=8),H=A[w&E];t:for(;;){if(w>>>=g=H>>>24,h-=g,0==(g=H>>>16&255))b[o++]=65535&H;else{if(!(16&g)){if(!(64&g)){H=A[(65535&H)+(w&(1<<g)-1)];continue t}if(32&g){r.mode=12;break e}e.msg="invalid literal/length code",r.mode=30;break e}m=65535&H,(g&=15)&&(h<g&&(w+=v[n++]<<h,h+=8),m+=w&(1<<g)-1,w>>>=g,h-=g),h<15&&(w+=v[n++]<<h,h+=8,w+=v[n++]<<h,h+=8),H=p[w&B];r:for(;;){if(w>>>=g=H>>>24,h-=g,!(16&(g=H>>>16&255))){if(!(64&g)){H=p[(65535&H)+(w&(1<<g)-1)];continue r}e.msg="invalid distance code",r.mode=30;break e}if(y=65535&H,h<(g&=15)&&(w+=v[n++]<<h,(h+=8)<g&&(w+=v[n++]<<h,h+=8)),c<(y+=w&(1<<g)-1)){e.msg="invalid distance too far back",r.mode=30;break e}if(w>>>=g,h-=g,(g=o-s)<y){if(l<(g=y-g)&&r.sane){e.msg="invalid distance too far back",r.mode=30;break e}if(x=f,(T=0)===d){if(T+=u-g,g<m){for(m-=g;b[o++]=f[T++],--g;);T=o-y,x=b}}else if(d<g){if(T+=u+d-g,(g-=d)<m){for(m-=g;b[o++]=f[T++],--g;);if(T=0,d<m){for(m-=g=d;b[o++]=f[T++],--g;);T=o-y,x=b}}}else if(T+=d-g,g<m){for(m-=g;b[o++]=f[T++],--g;);T=o-y,x=b}for(;2<m;)b[o++]=x[T++],b[o++]=x[T++],b[o++]=x[T++],m-=3;m&&(b[o++]=x[T++],1<m&&(b[o++]=x[T++]))}else{for(T=o-y;b[o++]=b[T++],b[o++]=b[T++],b[o++]=b[T++],2<(m-=3););m&&(b[o++]=b[T++],1<m&&(b[o++]=b[T++]))}break}}break}}while(n<i&&o<a);n-=m=h>>3,w&=(1<<(h-=m<<3))-1,e.next_in=n,e.next_out=o,e.avail_in=n<i?i-n+5:5-(n-i),e.avail_out=o<a?a-o+257:257-(o-a),r.hold=w,r.bits=h}},{}],49:[function(e,t,r){var n=e("../utils/common"),i=e("./adler32"),o=e("./crc32"),s=e("./inffast"),a=e("./inftrees"),c=1,u=2,l=0,d=-2,f=1,w=852,h=592;function A(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function p(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new n.Buf16(320),this.work=new n.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function E(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=1,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new n.Buf32(w),t.distcode=t.distdyn=new n.Buf32(h),t.sane=1,t.back=-1,0):d}function B(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,E(e)):d}function H(e,t){var r,n;return e&&e.state?(n=e.state,t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15<t)?d:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,B(e))):d}function g(e,t){var r,n;return e?(n=new p,(e.state=n).window=null,0!==(r=H(e,t))&&(e.state=null),r):d}var m,y,T=!0;function x(e){if(T){var t;for(m=new n.Buf32(512),y=new n.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(a(1,e.lens,0,288,m,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;a(2,e.lens,0,32,y,0,e.work,{bits:5}),T=!1}e.lencode=m,e.lenbits=9,e.distcode=y,e.distbits=5}function v(e,t,r,i){var o,s=e.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new n.Buf8(s.wsize)),i>=s.wsize?(n.arraySet(s.window,t,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(i<(o=s.wsize-s.wnext)&&(o=i),n.arraySet(s.window,t,r-i,o,s.wnext),(i-=o)?(n.arraySet(s.window,t,r-i,i,0),s.wnext=i,s.whave=s.wsize):(s.wnext+=o,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=o))),0}r.inflateReset=B,r.inflateReset2=H,r.inflateResetKeep=E,r.inflateInit=function(e){return g(e,15)},r.inflateInit2=g,r.inflate=function(e,t){var r,c,u,l,f,w,h,p,E,B,H,g,m,y,T,b,R,M,k,S,C,_,O,L,P=0,D=new n.Buf8(4),I=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return d;12===(r=e.state).mode&&(r.mode=13),f=e.next_out,u=e.output,h=e.avail_out,l=e.next_in,c=e.input,w=e.avail_in,p=r.hold,E=r.bits,B=w,H=h,_=0;e:for(;;)switch(r.mode){case 1:if(0===r.wrap){r.mode=13;break}for(;E<16;){if(0===w)break e;w--,p+=c[l++]<<E,E+=8}if(2&r.wrap&&35615===p){D[r.check=0]=255&p,D[1]=p>>>8&255,r.check=o(r.check,D,2,0),E=p=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&p)<<8)+(p>>8))%31){e.msg="incorrect header check",r.mode=30;break}if(8!=(15&p)){e.msg="unknown compression method",r.mode=30;break}if(E-=4,C=8+(15&(p>>>=4)),0===r.wbits)r.wbits=C;else if(C>r.wbits){e.msg="invalid window size",r.mode=30;break}r.dmax=1<<C,e.adler=r.check=1,r.mode=512&p?10:12,E=p=0;break;case 2:for(;E<16;){if(0===w)break e;w--,p+=c[l++]<<E,E+=8}if(r.flags=p,8!=(255&r.flags)){e.msg="unknown compression method",r.mode=30;break}if(57344&r.flags){e.msg="unknown header flags set",r.mode=30;break}r.head&&(r.head.text=p>>8&1),512&r.flags&&(D[0]=255&p,D[1]=p>>>8&255,r.check=o(r.check,D,2,0)),E=p=0,r.mode=3;case 3:for(;E<32;){if(0===w)break e;w--,p+=c[l++]<<E,E+=8}r.head&&(r.head.time=p),512&r.flags&&(D[0]=255&p,D[1]=p>>>8&255,D[2]=p>>>16&255,D[3]=p>>>24&255,r.check=o(r.check,D,4,0)),E=p=0,r.mode=4;case 4:for(;E<16;){if(0===w)break e;w--,p+=c[l++]<<E,E+=8}r.head&&(r.head.xflags=255&p,r.head.os=p>>8),512&r.flags&&(D[0]=255&p,D[1]=p>>>8&255,r.check=o(r.check,D,2,0)),E=p=0,r.mode=5;case 5:if(1024&r.flags){for(;E<16;){if(0===w)break e;w--,p+=c[l++]<<E,E+=8}r.length=p,r.head&&(r.head.extra_len=p),512&r.flags&&(D[0]=255&p,D[1]=p>>>8&255,r.check=o(r.check,D,2,0)),E=p=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(w<(g=r.length)&&(g=w),g&&(r.head&&(C=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),n.arraySet(r.head.extra,c,l,g,C)),512&r.flags&&(r.check=o(r.check,c,g,l)),w-=g,l+=g,r.length-=g),r.length))break e;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===w)break e;for(g=0;C=c[l+g++],r.head&&C&&r.length<65536&&(r.head.name+=String.fromCharCode(C)),C&&g<w;);if(512&r.flags&&(r.check=o(r.check,c,g,l)),w-=g,l+=g,C)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=8;case 8:if(4096&r.flags){if(0===w)break e;for(g=0;C=c[l+g++],r.head&&C&&r.length<65536&&(r.head.comment+=String.fromCharCode(C)),C&&g<w;);if(512&r.flags&&(r.check=o(r.check,c,g,l)),w-=g,l+=g,C)break e}else r.head&&(r.head.comment=null);r.mode=9;case 9:if(512&r.flags){for(;E<16;){if(0===w)break e;w--,p+=c[l++]<<E,E+=8}if(p!==(65535&r.check)){e.msg="header crc mismatch",r.mode=30;break}E=p=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=12;break;case 10:for(;E<32;){if(0===w)break e;w--,p+=c[l++]<<E,E+=8}e.adler=r.check=A(p),E=p=0,r.mode=11;case 11:if(0===r.havedict)return e.next_out=f,e.avail_out=h,e.next_in=l,e.avail_in=w,r.hold=p,r.bits=E,2;e.adler=r.check=1,r.mode=12;case 12:if(5===t||6===t)break e;case 13:if(r.last){p>>>=7&E,E-=7&E,r.mode=27;break}for(;E<3;){if(0===w)break e;w--,p+=c[l++]<<E,E+=8}switch(r.last=1&p,E-=1,3&(p>>>=1)){case 0:r.mode=14;break;case 1:if(x(r),r.mode=20,6!==t)break;p>>>=2,E-=2;break e;case 2:r.mode=17;break;case 3:e.msg="invalid block type",r.mode=30}p>>>=2,E-=2;break;case 14:for(p>>>=7&E,E-=7&E;E<32;){if(0===w)break e;w--,p+=c[l++]<<E,E+=8}if((65535&p)!=(p>>>16^65535)){e.msg="invalid stored block lengths",r.mode=30;break}if(r.length=65535&p,E=p=0,r.mode=15,6===t)break e;case 15:r.mode=16;case 16:if(g=r.length){if(w<g&&(g=w),h<g&&(g=h),0===g)break e;n.arraySet(u,c,l,g,f),w-=g,l+=g,h-=g,f+=g,r.length-=g;break}r.mode=12;break;case 17:for(;E<14;){if(0===w)break e;w--,p+=c[l++]<<E,E+=8}if(r.nlen=257+(31&p),p>>>=5,E-=5,r.ndist=1+(31&p),p>>>=5,E-=5,r.ncode=4+(15&p),p>>>=4,E-=4,286<r.nlen||30<r.ndist){e.msg="too many length or distance symbols",r.mode=30;break}r.have=0,r.mode=18;case 18:for(;r.have<r.ncode;){for(;E<3;){if(0===w)break e;w--,p+=c[l++]<<E,E+=8}r.lens[I[r.have++]]=7&p,p>>>=3,E-=3}for(;r.have<19;)r.lens[I[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,O={bits:r.lenbits},_=a(0,r.lens,0,19,r.lencode,0,r.work,O),r.lenbits=O.bits,_){e.msg="invalid code lengths set",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have<r.nlen+r.ndist;){for(;b=(P=r.lencode[p&(1<<r.lenbits)-1])>>>16&255,R=65535&P,!((T=P>>>24)<=E);){if(0===w)break e;w--,p+=c[l++]<<E,E+=8}if(R<16)p>>>=T,E-=T,r.lens[r.have++]=R;else{if(16===R){for(L=T+2;E<L;){if(0===w)break e;w--,p+=c[l++]<<E,E+=8}if(p>>>=T,E-=T,0===r.have){e.msg="invalid bit length repeat",r.mode=30;break}C=r.lens[r.have-1],g=3+(3&p),p>>>=2,E-=2}else if(17===R){for(L=T+3;E<L;){if(0===w)break e;w--,p+=c[l++]<<E,E+=8}E-=T,C=0,g=3+(7&(p>>>=T)),p>>>=3,E-=3}else{for(L=T+7;E<L;){if(0===w)break e;w--,p+=c[l++]<<E,E+=8}E-=T,C=0,g=11+(127&(p>>>=T)),p>>>=7,E-=7}if(r.have+g>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=30;break}for(;g--;)r.lens[r.have++]=C}}if(30===r.mode)break;if(0===r.lens[256]){e.msg="invalid code -- missing end-of-block",r.mode=30;break}if(r.lenbits=9,O={bits:r.lenbits},_=a(1,r.lens,0,r.nlen,r.lencode,0,r.work,O),r.lenbits=O.bits,_){e.msg="invalid literal/lengths set",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,O={bits:r.distbits},_=a(2,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,O),r.distbits=O.bits,_){e.msg="invalid distances set",r.mode=30;break}if(r.mode=20,6===t)break e;case 20:r.mode=21;case 21:if(6<=w&&258<=h){e.next_out=f,e.avail_out=h,e.next_in=l,e.avail_in=w,r.hold=p,r.bits=E,s(e,H),f=e.next_out,u=e.output,h=e.avail_out,l=e.next_in,c=e.input,w=e.avail_in,p=r.hold,E=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;b=(P=r.lencode[p&(1<<r.lenbits)-1])>>>16&255,R=65535&P,!((T=P>>>24)<=E);){if(0===w)break e;w--,p+=c[l++]<<E,E+=8}if(b&&!(240&b)){for(M=T,k=b,S=R;b=(P=r.lencode[S+((p&(1<<M+k)-1)>>M)])>>>16&255,R=65535&P,!(M+(T=P>>>24)<=E);){if(0===w)break e;w--,p+=c[l++]<<E,E+=8}p>>>=M,E-=M,r.back+=M}if(p>>>=T,E-=T,r.back+=T,r.length=R,0===b){r.mode=26;break}if(32&b){r.back=-1,r.mode=12;break}if(64&b){e.msg="invalid literal/length code",r.mode=30;break}r.extra=15&b,r.mode=22;case 22:if(r.extra){for(L=r.extra;E<L;){if(0===w)break e;w--,p+=c[l++]<<E,E+=8}r.length+=p&(1<<r.extra)-1,p>>>=r.extra,E-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=23;case 23:for(;b=(P=r.distcode[p&(1<<r.distbits)-1])>>>16&255,R=65535&P,!((T=P>>>24)<=E);){if(0===w)break e;w--,p+=c[l++]<<E,E+=8}if(!(240&b)){for(M=T,k=b,S=R;b=(P=r.distcode[S+((p&(1<<M+k)-1)>>M)])>>>16&255,R=65535&P,!(M+(T=P>>>24)<=E);){if(0===w)break e;w--,p+=c[l++]<<E,E+=8}p>>>=M,E-=M,r.back+=M}if(p>>>=T,E-=T,r.back+=T,64&b){e.msg="invalid distance code",r.mode=30;break}r.offset=R,r.extra=15&b,r.mode=24;case 24:if(r.extra){for(L=r.extra;E<L;){if(0===w)break e;w--,p+=c[l++]<<E,E+=8}r.offset+=p&(1<<r.extra)-1,p>>>=r.extra,E-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=30;break}r.mode=25;case 25:if(0===h)break e;if(g=H-h,r.offset>g){if((g=r.offset-g)>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=30;break}m=g>r.wnext?(g-=r.wnext,r.wsize-g):r.wnext-g,g>r.length&&(g=r.length),y=r.window}else y=u,m=f-r.offset,g=r.length;for(h<g&&(g=h),h-=g,r.length-=g;u[f++]=y[m++],--g;);0===r.length&&(r.mode=21);break;case 26:if(0===h)break e;u[f++]=r.length,h--,r.mode=21;break;case 27:if(r.wrap){for(;E<32;){if(0===w)break e;w--,p|=c[l++]<<E,E+=8}if(H-=h,e.total_out+=H,r.total+=H,H&&(e.adler=r.check=r.flags?o(r.check,u,H,f-H):i(r.check,u,H,f-H)),H=h,(r.flags?p:A(p))!==r.check){e.msg="incorrect data check",r.mode=30;break}E=p=0}r.mode=28;case 28:if(r.wrap&&r.flags){for(;E<32;){if(0===w)break e;w--,p+=c[l++]<<E,E+=8}if(p!==(4294967295&r.total)){e.msg="incorrect length check",r.mode=30;break}E=p=0}r.mode=29;case 29:_=1;break e;case 30:_=-3;break e;case 31:return-4;case 32:default:return d}return e.next_out=f,e.avail_out=h,e.next_in=l,e.avail_in=w,r.hold=p,r.bits=E,(r.wsize||H!==e.avail_out&&r.mode<30&&(r.mode<27||4!==t))&&v(e,e.output,e.next_out,H-e.avail_out)?(r.mode=31,-4):(B-=e.avail_in,H-=e.avail_out,e.total_in+=B,e.total_out+=H,r.total+=H,r.wrap&&H&&(e.adler=r.check=r.flags?o(r.check,u,H,e.next_out-H):i(r.check,u,H,e.next_out-H)),e.data_type=r.bits+(r.last?64:0)+(12===r.mode?128:0)+(20===r.mode||15===r.mode?256:0),(0==B&&0===H||4===t)&&0===_&&(_=-5),_)},r.inflateEnd=function(e){if(!e||!e.state)return d;var t=e.state;return t.window&&(t.window=null),e.state=null,0},r.inflateGetHeader=function(e,t){var r;return e&&e.state&&2&(r=e.state).wrap?((r.head=t).done=!1,0):d},r.inflateSetDictionary=function(e,t){var r,n=t.length;return e&&e.state?0!==(r=e.state).wrap&&11!==r.mode?d:11===r.mode&&i(1,t,n,0)!==r.check?-3:v(e,t,n,n)?(r.mode=31,-4):(r.havedict=1,0):d},r.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(e,t,r){var n=e("../utils/common"),i=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],o=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],s=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],a=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];t.exports=function(e,t,r,c,u,l,d,f){var w,h,A,p,E,B,H,g,m,y=f.bits,T=0,x=0,v=0,b=0,R=0,M=0,k=0,S=0,C=0,_=0,O=null,L=0,P=new n.Buf16(16),D=new n.Buf16(16),I=null,N=0;for(T=0;T<=15;T++)P[T]=0;for(x=0;x<c;x++)P[t[r+x]]++;for(R=y,b=15;1<=b&&0===P[b];b--);if(b<R&&(R=b),0===b)return u[l++]=20971520,u[l++]=20971520,f.bits=1,0;for(v=1;v<b&&0===P[v];v++);for(R<v&&(R=v),T=S=1;T<=15;T++)if(S<<=1,(S-=P[T])<0)return-1;if(0<S&&(0===e||1!==b))return-1;for(D[1]=0,T=1;T<15;T++)D[T+1]=D[T]+P[T];for(x=0;x<c;x++)0!==t[r+x]&&(d[D[t[r+x]]++]=x);if(B=0===e?(O=I=d,19):1===e?(O=i,L-=257,I=o,N-=257,256):(O=s,I=a,-1),T=v,E=l,k=x=_=0,A=-1,p=(C=1<<(M=R))-1,1===e&&852<C||2===e&&592<C)return 1;for(;;){for(H=T-k,m=d[x]<B?(g=0,d[x]):d[x]>B?(g=I[N+d[x]],O[L+d[x]]):(g=96,0),w=1<<T-k,v=h=1<<M;u[E+(_>>k)+(h-=w)]=H<<24|g<<16|m,0!==h;);for(w=1<<T-1;_&w;)w>>=1;if(0!==w?(_&=w-1,_+=w):_=0,x++,0==--P[T]){if(T===b)break;T=t[r+d[x]]}if(R<T&&(_&p)!==A){for(0===k&&(k=R),E+=v,S=1<<(M=T-k);M+k<b&&!((S-=P[M+k])<=0);)M++,S<<=1;if(C+=1<<M,1===e&&852<C||2===e&&592<C)return 1;u[A=_&p]=R<<24|M<<16|E-l}}return 0!==_&&(u[E+_]=T-k<<24|64<<16),f.bits=R,0}},{"../utils/common":41}],51:[function(e,t,r){t.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],52:[function(e,t,r){var n=e("../utils/common"),i=0,o=1;function s(e){for(var t=e.length;0<=--t;)e[t]=0}var a=0,c=29,u=256,l=286,d=30,f=19,w=573,h=15,A=16,p=7,E=256,B=16,H=17,g=18,m=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],y=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],T=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],x=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],v=new Array(576);s(v);var b=new Array(60);s(b);var R=new Array(512);s(R);var M=new Array(256);s(M);var k=new Array(c);s(k);var S,C,_,O=new Array(d);function L(e,t,r,n,i){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=e&&e.length}function P(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function D(e){return e<256?R[e]:R[256+(e>>>7)]}function I(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function N(e,t,r){e.bi_valid>A-r?(e.bi_buf|=t<<e.bi_valid&65535,I(e,e.bi_buf),e.bi_buf=t>>A-e.bi_valid,e.bi_valid+=r-A):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r)}function U(e,t,r){N(e,r[2*t],r[2*t+1])}function z(e,t){for(var r=0;r|=1&e,e>>>=1,r<<=1,0<--t;);return r>>>1}function X(e,t,r){var n,i,o=new Array(16),s=0;for(n=1;n<=h;n++)o[n]=s=s+r[n-1]<<1;for(i=0;i<=t;i++){var a=e[2*i+1];0!==a&&(e[2*i]=z(o[a]++,a))}}function j(e){var t;for(t=0;t<l;t++)e.dyn_ltree[2*t]=0;for(t=0;t<d;t++)e.dyn_dtree[2*t]=0;for(t=0;t<f;t++)e.bl_tree[2*t]=0;e.dyn_ltree[512]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function W(e){8<e.bi_valid?I(e,e.bi_buf):0<e.bi_valid&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function F(e,t,r,n){var i=2*t,o=2*r;return e[i]<e[o]||e[i]===e[o]&&n[t]<=n[r]}function J(e,t,r){for(var n=e.heap[r],i=r<<1;i<=e.heap_len&&(i<e.heap_len&&F(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!F(t,n,e.heap[i],e.depth));)e.heap[r]=e.heap[i],r=i,i<<=1;e.heap[r]=n}function K(e,t,r){var n,i,o,s,a=0;if(0!==e.last_lit)for(;n=e.pending_buf[e.d_buf+2*a]<<8|e.pending_buf[e.d_buf+2*a+1],i=e.pending_buf[e.l_buf+a],a++,0===n?U(e,i,t):(U(e,(o=M[i])+u+1,t),0!==(s=m[o])&&N(e,i-=k[o],s),U(e,o=D(--n),r),0!==(s=y[o])&&N(e,n-=O[o],s)),a<e.last_lit;);U(e,E,t)}function Y(e,t){var r,n,i,o=t.dyn_tree,s=t.stat_desc.static_tree,a=t.stat_desc.has_stree,c=t.stat_desc.elems,u=-1;for(e.heap_len=0,e.heap_max=w,r=0;r<c;r++)0!==o[2*r]?(e.heap[++e.heap_len]=u=r,e.depth[r]=0):o[2*r+1]=0;for(;e.heap_len<2;)o[2*(i=e.heap[++e.heap_len]=u<2?++u:0)]=1,e.depth[i]=0,e.opt_len--,a&&(e.static_len-=s[2*i+1]);for(t.max_code=u,r=e.heap_len>>1;1<=r;r--)J(e,o,r);for(i=c;r=e.heap[1],e.heap[1]=e.heap[e.heap_len--],J(e,o,1),n=e.heap[1],e.heap[--e.heap_max]=r,e.heap[--e.heap_max]=n,o[2*i]=o[2*r]+o[2*n],e.depth[i]=(e.depth[r]>=e.depth[n]?e.depth[r]:e.depth[n])+1,o[2*r+1]=o[2*n+1]=i,e.heap[1]=i++,J(e,o,1),2<=e.heap_len;);e.heap[--e.heap_max]=e.heap[1],function(e,t){var r,n,i,o,s,a,c=t.dyn_tree,u=t.max_code,l=t.stat_desc.static_tree,d=t.stat_desc.has_stree,f=t.stat_desc.extra_bits,A=t.stat_desc.extra_base,p=t.stat_desc.max_length,E=0;for(o=0;o<=h;o++)e.bl_count[o]=0;for(c[2*e.heap[e.heap_max]+1]=0,r=e.heap_max+1;r<w;r++)p<(o=c[2*c[2*(n=e.heap[r])+1]+1]+1)&&(o=p,E++),c[2*n+1]=o,u<n||(e.bl_count[o]++,s=0,A<=n&&(s=f[n-A]),a=c[2*n],e.opt_len+=a*(o+s),d&&(e.static_len+=a*(l[2*n+1]+s)));if(0!==E){do{for(o=p-1;0===e.bl_count[o];)o--;e.bl_count[o]--,e.bl_count[o+1]+=2,e.bl_count[p]--,E-=2}while(0<E);for(o=p;0!==o;o--)for(n=e.bl_count[o];0!==n;)u<(i=e.heap[--r])||(c[2*i+1]!==o&&(e.opt_len+=(o-c[2*i+1])*c[2*i],c[2*i+1]=o),n--)}}(e,t),X(o,u,e.bl_count)}function Z(e,t,r){var n,i,o=-1,s=t[1],a=0,c=7,u=4;for(0===s&&(c=138,u=3),t[2*(r+1)+1]=65535,n=0;n<=r;n++)i=s,s=t[2*(n+1)+1],++a<c&&i===s||(a<u?e.bl_tree[2*i]+=a:0!==i?(i!==o&&e.bl_tree[2*i]++,e.bl_tree[32]++):a<=10?e.bl_tree[34]++:e.bl_tree[36]++,o=i,u=(a=0)===s?(c=138,3):i===s?(c=6,3):(c=7,4))}function G(e,t,r){var n,i,o=-1,s=t[1],a=0,c=7,u=4;for(0===s&&(c=138,u=3),n=0;n<=r;n++)if(i=s,s=t[2*(n+1)+1],!(++a<c&&i===s)){if(a<u)for(;U(e,i,e.bl_tree),0!=--a;);else 0!==i?(i!==o&&(U(e,i,e.bl_tree),a--),U(e,B,e.bl_tree),N(e,a-3,2)):a<=10?(U(e,H,e.bl_tree),N(e,a-3,3)):(U(e,g,e.bl_tree),N(e,a-11,7));o=i,u=(a=0)===s?(c=138,3):i===s?(c=6,3):(c=7,4)}}s(O);var V=!1;function Q(e,t,r,i){var o,s,a,c;N(e,0+(i?1:0),3),s=t,a=r,c=!0,W(o=e),I(o,a),I(o,~a),n.arraySet(o.pending_buf,o.window,s,a,o.pending),o.pending+=a}r._tr_init=function(e){V||(function(){var e,t,r,n,i,o=new Array(16);for(n=r=0;n<28;n++)for(k[n]=r,e=0;e<1<<m[n];e++)M[r++]=n;for(M[r-1]=n,n=i=0;n<16;n++)for(O[n]=i,e=0;e<1<<y[n];e++)R[i++]=n;for(i>>=7;n<d;n++)for(O[n]=i<<7,e=0;e<1<<y[n]-7;e++)R[256+i++]=n;for(t=0;t<=h;t++)o[t]=0;for(e=0;e<=143;)v[2*e+1]=8,e++,o[8]++;for(;e<=255;)v[2*e+1]=9,e++,o[9]++;for(;e<=279;)v[2*e+1]=7,e++,o[7]++;for(;e<=287;)v[2*e+1]=8,e++,o[8]++;for(X(v,287,o),e=0;e<d;e++)b[2*e+1]=5,b[2*e]=z(e,5);S=new L(v,m,257,l,h),C=new L(b,y,0,d,h),_=new L(new Array(0),T,0,f,7)}(),V=!0),e.l_desc=new P(e.dyn_ltree,S),e.d_desc=new P(e.dyn_dtree,C),e.bl_desc=new P(e.bl_tree,_),e.bi_buf=0,e.bi_valid=0,j(e)},r._tr_stored_block=Q,r._tr_flush_block=function(e,t,r,n){var i,o,s=0;0<e.level?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,r=4093624447;for(t=0;t<=31;t++,r>>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t<u;t++)if(0!==e.dyn_ltree[2*t])return 1;return 0}(e)),Y(e,e.l_desc),Y(e,e.d_desc),s=function(e){var t;for(Z(e,e.dyn_ltree,e.l_desc.max_code),Z(e,e.dyn_dtree,e.d_desc.max_code),Y(e,e.bl_desc),t=18;3<=t&&0===e.bl_tree[2*x[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),i=e.opt_len+3+7>>>3,(o=e.static_len+3+7>>>3)<=i&&(i=o)):i=o=r+5,r+4<=i&&-1!==t?Q(e,t,r,n):4===e.strategy||o===i?(N(e,2+(n?1:0),3),K(e,v,b)):(N(e,4+(n?1:0),3),function(e,t,r,n){var i;for(N(e,t-257,5),N(e,r-1,5),N(e,n-4,4),i=0;i<n;i++)N(e,e.bl_tree[2*x[i]+1],3);G(e,e.dyn_ltree,t-1),G(e,e.dyn_dtree,r-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,s+1),K(e,e.dyn_ltree,e.dyn_dtree)),j(e),n&&W(e)},r._tr_tally=function(e,t,r){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(M[r]+u+1)]++,e.dyn_dtree[2*D(t)]++),e.last_lit===e.lit_bufsize-1},r._tr_align=function(e){var t;N(e,2,3),U(e,E,v),16===(t=e).bi_valid?(I(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):8<=t.bi_valid&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}},{"../utils/common":41}],53:[function(e,t,r){t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(e,t,r){(function(e){!function(e,t){if(!e.setImmediate){var r,n,i,o,s=1,a={},c=!1,u=e.document,l=Object.getPrototypeOf&&Object.getPrototypeOf(e);l=l&&l.setTimeout?l:e,r="[object process]"==={}.toString.call(e.process)?function(e){process.nextTick(function(){f(e)})}:function(){if(e.postMessage&&!e.importScripts){var t=!0,r=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=r,t}}()?(o="setImmediate$"+Math.random()+"$",e.addEventListener?e.addEventListener("message",w,!1):e.attachEvent("onmessage",w),function(t){e.postMessage(o+t,"*")}):e.MessageChannel?((i=new MessageChannel).port1.onmessage=function(e){f(e.data)},function(e){i.port2.postMessage(e)}):u&&"onreadystatechange"in u.createElement("script")?(n=u.documentElement,function(e){var t=u.createElement("script");t.onreadystatechange=function(){f(e),t.onreadystatechange=null,n.removeChild(t),t=null},n.appendChild(t)}):function(e){setTimeout(f,0,e)},l.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n<t.length;n++)t[n]=arguments[n+1];var i={callback:e,args:t};return a[s]=i,r(s),s++},l.clearImmediate=d}function d(e){delete a[e]}function f(e){if(c)setTimeout(f,0,e);else{var r=a[e];if(r){c=!0;try{!function(e){var r=e.callback,n=e.args;switch(n.length){case 0:r();break;case 1:r(n[0]);break;case 2:r(n[0],n[1]);break;case 3:r(n[0],n[1],n[2]);break;default:r.apply(t,n)}}(r)}finally{d(e),c=!1}}}}function w(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(o)&&f(+t.data.slice(o.length))}}("undefined"==typeof self?void 0===e?this:e:self)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[10])(10)})}});async function $u(e){const t=[],r="https://api.cloudflareclient.com/v0a4005/reg",n=[await el(),await el()],i=async e=>{try{const t=await fetch(r,{method:"POST",headers:{"User-Agent":"insomnia/8.6.1","Content-Type":"application/json"},body:JSON.stringify({install_id:"",fcm_token:"",tos:(new Date).toISOString(),type:"Android",model:"PC",locale:"en_US",warp_enabled:!0,key:e.publicKey})});return await t.json()}catch(e){const t=e instanceof Error?e.message:String(e);throw new Error(`Failed to get warp configs: ${t}`)}};for(const e of n){const{config:r}=await i(e);t.push({privateKey:e.privateKey,warpIPv6:`${r.interface.addresses.v6}/128`,reserved:r.client_id,publicKey:r.peers[0].public_key})}return await e.kv.put("warpAccounts",JSON.stringify(t)),t}async function el(){const e=await crypto.subtle.generateKey({name:"X25519",namedCurve:"X25519"},!0,["deriveBits"]),t=await crypto.subtle.exportKey("pkcs8",e.privateKey),r=new Uint8Array(t).slice(-32),n=void 0,i=e=>btoa(String.fromCharCode(...e));return{publicKey:i(new Uint8Array(await crypto.subtle.exportKey("raw",e.publicKey))),privateKey:i(r)}}function tl(e){if(!e)return!1;const t=void 0;return/^(?!-)(?:[A-Za-z0-9-]{1,63}.)+[A-Za-z]{2,}$/.test(e)}async function rl(e,t=!1){const r=`https://cloudflare-dns.com/dns-query?name=${encodeURIComponent(e)}`,n={ipv4:`${r}&type=A`,ipv6:`${r}&type=AAAA`};try{const e=await nl(n.ipv4,1),r=void 0;return{ipv4:e,ipv6:t?[]:await nl(n.ipv6,28)}}catch(t){const r=t instanceof Error?t.message:String(t);throw new Error(`Error resolving DNS for ${e}: ${r}`)}}async function nl(e,t){try{const r=await fetch(e,{headers:{accept:"application/dns-json"}}),n=await r.json();return n.Answer?n.Answer.filter(e=>e.type===t).map(e=>e.data):[]}catch(t){const r=t instanceof Error?t.message:String(t);throw new Error(`Failed to fetch DNS records from ${e}: ${r}`)}}function il(){const{settings:{VLConfigs:e,TRConfigs:t},dict:{_VL_:r,_TR_:n}}=globalThis;return[].concatIf(e,r).concatIf(t,n)}async function ol(e){const{httpConfig:{hostName:t},settings:{enableIPv6:r,customCdnAddrs:n,cleanIPs:i}}=globalThis,{ipv4:o,ipv6:s}=await rl(t,!r),a=void 0;return[t,"www.speedtest.net",...o,...s.map(e=>`[${e}]`),...i].concatIf(!e,n)}function sl(e,t,r,n,i,o){const{settings:{cleanIPs:s,customCdnAddrs:a},dict:{_VL_:c,_VL_CAP_:u,_TR_CAP_:l}}=globalThis,d=void 0,f=a.includes(r)?" C":i?" F":"",w=o?"🔗 ":"",h=n===c?u:l;let A;return A=s.includes(r)?"Clean IP":tl(r)?"Domain":dl(r)?"IPv4":fl(r)?"IPv6":"",`💦 ${e} - ${w}${h}${f} - ${A} : ${t}`}function al(e){let t="";for(let r=0;r<e.length;r++)t+=Math.random()<.5?e[r].toUpperCase():e[r];return t}function cl(e,t){let r="";const n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",i=Math.floor(Math.random()*(t-e+1))+e;for(let e=0;e<i;e++)r+=n.charAt(Math.floor(62*Math.random()));return r}function ul(e){const{settings:{proxyIPMode:t,proxyIPs:r,prefixes:n},dict:{_VL_:i}}=globalThis,o={junk:cl(8,16),protocol:e===i?"vl":"tr",mode:t,panelIPs:"proxyip"===t?r:n};return`/${btoa(JSON.stringify(o))}`}function ll(e){const t=atob(e),r=void 0,n=void 0;return Array.from(t).map(e=>e.charCodeAt(0).toString(16).padStart(2,"0")).join("").match(/.{2}/g).map(e=>parseInt(e,16))}function dl(e){const t=void 0;return/^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(?:\/([0-9]|[1-2][0-9]|3[0-2]))?$/.test(e)}function fl(e){const t=void 0;return/^\[(?:(?:[a-fA-F0-9]{1,4}:){7}[a-fA-F0-9]{1,4}|(?:[a-fA-F0-9]{1,4}:){1,7}:|::(?:[a-fA-F0-9]{1,4}:){0,7}|(?:[a-fA-F0-9]{1,4}:){1,6}:[a-fA-F0-9]{1,4}|(?:[a-fA-F0-9]{1,4}:){1,5}(?::[a-fA-F0-9]{1,4}){1,2}|(?:[a-fA-F0-9]{1,4}:){1,4}(?::[a-fA-F0-9]{1,4}){1,3}|(?:[a-fA-F0-9]{1,4}:){1,3}(?::[a-fA-F0-9]{1,4}){1,4}|(?:[a-fA-F0-9]{1,4}:){1,2}(?::[a-fA-F0-9]{1,4}){1,5}|[a-fA-F0-9]{1,4}:(?::[a-fA-F0-9]{1,4}){1,6})\](?:\/(1[0-1][0-9]|12[0-8]|[0-9]?[0-9]))?$/.test(e)}function wl(e){try{const t=void 0,r=new URL(e).hostname,n=void 0;return{host:r,isHostDomain:tl(r)}}catch{return{host:"",isHostDomain:!1}}}function hl(e){const{httpConfig:{hostName:t},settings:{customCdnAddrs:r,customCdnHost:n,customCdnSni:i}}=globalThis,o=r.includes(e),s=void 0,a=void 0;return{host:o?n:t,sni:o?i:al(t),allowInsecure:o}}function Al(e,t){const r=/^(?:\[(?<ipv6>.+?)\]|(?<host>[^:]+))(:(?<port>\d+))?$/,n=e.match(r);if(!n||!n.groups)return{host:"",port:0};const{ipv6:i,host:o,port:s}=n.groups;let a=i??o??"";t&&i&&(a=`[${i}]`);const c=void 0;return{host:a,port:s?Number(s):0}}function pl(e){const{defaultHttpsPorts:t}=globalThis.httpConfig;return t.includes(e)}var El=e=>"direct"===e,Bl=e=>"block"===e;function Hl(e){const{customBypassRules:t,customBypassSanctionRules:r,customBlockRules:n}=globalThis.settings;return{bypass:{geosites:e.filter(e=>El(e.type)).map(e=>e.geosite),geoips:e.filter(e=>El(e.type)&&e.geoip).map(e=>e.geoip),domains:[...t.filter(tl),...r.filter(tl)],ips:t.filter(e=>!tl(e))},block:{geosites:e.filter(e=>Bl(e.type)).map(e=>e.geosite),geoips:e.filter(e=>Bl(e.type)&&e.geoip).map(e=>e.geoip),domains:n.filter(tl),ips:n.filter(e=>!tl(e))}}}function gl(e){const{localDNS:t,antiSanctionDNS:r,customBypassRules:n,customBypassSanctionRules:i,customBlockRules:o}=globalThis.settings;return{bypass:{localDNS:{geositeGeoips:e.filter(({type:e,geoip:r,dns:n})=>El(e)&&r&&n===t).map(({geosite:e,geoip:t})=>({geosite:e,geoip:t})),geosites:e.filter(({type:e,geoip:r,dns:n})=>El(e)&&!r&&n===t).map(e=>e.geosite),domains:n.filter(tl)},antiSanctionDNS:{geosites:e.filter(e=>El(e.type)&&e.dns===r).map(e=>e.geosite),domains:i.filter(tl)}},block:{geosites:e.filter(e=>Bl(e.type)).map(e=>e.geosite),domains:o.filter(tl)}}}function ml(e,t){if(e&&t)return e===t?String(e):`${e}-${t}`}function yl(e){return btoa(String.fromCharCode(...(new TextEncoder).encode(e)))}function Tl(e){return(new TextDecoder).decode(Uint8Array.from(atob(e),e=>e.charCodeAt(0)))}function xl(e){const t=void 0;return/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(e)}function vl(e,t,r,n,i){const o={"Content-Type":"application/json",...i},s={success:e,status:t,message:r??null,body:n??null};return new Response(JSON.stringify(s),{status:t,headers:o})}async function bl(e,t){const{httpConfig:{panelVersion:r},settings:n}=globalThis;let i,o;try{return i=await t.kv.get("proxySettings",{type:"json"}),o=await t.kv.get("warpAccounts",{type:"json"}),i||(await t.kv.put("proxySettings",JSON.stringify(n)),i=n),o||(o=await $u(t)),r!==i.panelVersion&&(i=await Rl(e,t)),{settings:i,warpAccounts:o}}catch(e){console.log(e);const t=e instanceof Error?e.message:String(e);throw new Error(`An error occurred while getting KV: ${t}`)}}async function Rl(e,t){const{settings:r,httpConfig:{panelVersion:n}}=globalThis,i="PUT"===e.method?await e.json():null;let o;try{o=await t.kv.get("proxySettings",{type:"json"})}catch(e){const t=e instanceof Error?e.message:String(e);throw console.log(t),new Error(`An error occurred while getting current KV settings: ${t}`)}const s=async(e,t)=>{const n=i?.[e]??o?.[e]??r[e];return t?await t(n):n},a=[["remoteDNS"],["remoteDnsHost","remoteDNS",Ml],["localDNS"],["antiSanctionDNS"],["enableIPv6"],["fakeDNS"],["logLevel"],["allowLANConnection"],["proxyIPMode"],["proxyIPs"],["prefixes"],["outProxy"],["outProxyParams","outProxy",kl],["cleanIPs"],["customCdnAddrs"],["customCdnHost"],["customCdnSni"],["bestVLTRInterval"],["VLConfigs"],["TRConfigs"],["ports"],["fingerprint"],["enableTFO"],["fragmentMode"],["fragmentLengthMin"],["fragmentLengthMax"],["fragmentIntervalMin"],["fragmentIntervalMax"],["fragmentMaxSplitMin"],["fragmentMaxSplitMax"],["fragmentPackets"],["enableECH"],["echServerName"],["bypassIran"],["bypassChina"],["bypassRussia"],["bypassOpenAi"],["bypassGoogleAi"],["bypassMicrosoft"],["bypassOracle"],["bypassDocker"],["bypassAdobe"],["bypassEpicGames"],["bypassIntel"],["bypassAmd"],["bypassNvidia"],["bypassAsus"],["bypassHp"],["bypassLenovo"],["blockAds"],["blockPorn"],["blockUDP443"],["blockMalware"],["blockPhishing"],["blockCryptominers"],["customBypassRules"],["customBlockRules"],["customBypassSanctionRules"],["warpRemoteDNS"],["warpEndpoints"],["bestWarpInterval"],["xrayUdpNoises"],["knockerNoiseMode"],["noiseCountMin"],["noiseCountMax"],["noiseSizeMin"],["noiseSizeMax"],["noiseDelayMin"],["noiseDelayMax"],["amneziaNoiseCount"],["amneziaNoiseSizeMin"],["amneziaNoiseSizeMax"]],c=await Promise.all(a.map(async([e,t,r])=>[e,await s(t??e,r)])),u={...Object.fromEntries(c),panelVersion:n};try{return await t.kv.put("proxySettings",JSON.stringify(u)),u}catch(e){const t=e instanceof Error?e.message:String(e);throw console.log(e),new Error(`An error occurred while updating KV: ${t}`)}}async function Ml(e){const{host:t,isHostDomain:r}=wl(e),n={host:t,isDomain:r,ipv4:[],ipv6:[]};if(r){const{ipv4:e,ipv6:r}=await rl(t);n.ipv4=e,n.ipv6=r}return n}function kl(e){if(!e)return{};const{_SS_:t,_TR_:r,_VL_:n,_VM_:i}=globalThis.dict;let o=new URL(e);const s=o.protocol.slice(0,-1),a="ss"===s?t:s.replace("socks5","socks");if(a===i){const e=JSON.parse(Tl(o.host));return{protocol:a,uuid:e.id,server:e.add,port:+e.port,aid:+e.aid,type:e.net,headerType:e.type,serviceName:e.path,authority:e.authority,path:e.path||void 0,host:e.host||void 0,security:e.tls,sni:e.sni,fp:e.fp,alpn:e.alpn||void 0}}const c={protocol:a,server:o.hostname,port:+o.port},u=(e,t)=>{if(e)for(const[e,t]of o.searchParams)c[e]=t||void 0;return{...c,...t}};switch(a){case n:return u(!0,{uuid:o.username});case r:return u(!0,{password:o.username});case t:const e=Tl(o.username),[i,...s]=e.split(":");return u(!0,{method:i,password:s.join(":")});case"socks":case"http":let a,c;try{const e=Tl(o.username);e.includes(":")&&([a,c]=e.split(":"))}catch(e){a=o.username,c=o.password}return u(!1,{user:a||void 0,pass:c||void 0});default:return{}}}async function Sl(e,t){const r=await bl(e,t);globalThis.settings=r.settings}function Cl(e,t){const{pathname:r}=new URL(e.url),{UUID:n,TR_PASS:i,FALLBACK:o,DOH_URL:s}=t;globalThis.globalConfig={userID:n,TrPass:i,pathName:decodeURIComponent(r),fallbackDomain:o||"speed.cloudflare.com",dohURL:s||"https://cloudflare-dns.com/dns-query"}}function _l(e){const{_public_proxy_ip_:t}=globalThis.dict;globalThis.wsConfig={envProxyIPs:e.PROXY_IP,envPrefixes:e.PREFIX,defaultProxyIPs:[t],defaultPrefixes:["[2a02:898:146:64::]","[2602:fc59:b0:64::]","[2602:fc59:11:64::]"]}}function Ol(e,t){const{_VL_CAP_:r,_TR_CAP_:n,_website_:i}=globalThis.dict,{UUID:o,TR_PASS:s,SUB_PATH:a,kv:c}=t,{pathname:u,origin:l,searchParams:d,hostname:f}=new URL(e.url);if(!["/secrets","/favicon.ico"].includes(decodeURIComponent(u))){if(!o||!s)throw new Error(`Please set ${r} UUID and ${n} password first. Visit <a href="${l}/secrets" target="_blank">here</a> to generate them.`,{cause:"init"});if(!xl(o))throw new Error(`Invalid UUID: ${o}`,{cause:"init"});if("object"!=typeof c)throw new Error(`KV Dataset is not properly set! Please refer to <a href="${i}" target="_blank">tutorials</a>.`,{cause:"init"})}globalThis.httpConfig={panelVersion:"4.1.3",defaultHttpPorts:[80,8080,2052,2082,2086,2095,8880],defaultHttpsPorts:[443,8443,2053,2083,2087,2096],hostName:f,client:decodeURIComponent(d.get("app")??""),urlOrigin:l,subPath:a||o}}Array.prototype.concatIf=function(e,t){return e?Array.isArray(t)?[...this,...t]:[...this,t]:this},Object.prototype.omitEmpty=function(){if(0!==Object.keys(this).length)return this},globalThis.dict={_VL_:atob("dmxlc3M="),_VL_CAP_:atob("VkxFU1M="),_VM_:atob("dm1lc3M="),_TR_:atob("dHJvamFu"),_TR_CAP_:atob("VHJvamFu"),_SS_:atob("c2hhZG93c29ja3M="),_V2_:atob("djJyYXk="),_project_:atob("QlBC"),_website_:atob("aHR0cHM6Ly9iaWEtcGFpbi1iYWNoZS5naXRodWIuaW8vQlBCLVdvcmtlci1QYW5lbC8="),_public_proxy_ip_:atob("YnBiLnlvdXNlZi5pc2VnYXJvLmNvbQ==")},globalThis.settings={localDNS:"8.8.8.8",antiSanctionDNS:"178.22.122.100",fakeDNS:!1,enableIPv6:!0,allowLANConnection:!1,logLevel:"warning",remoteDNS:"https://8.8.8.8/dns-query",remoteDnsHost:{host:"8.8.8.8",isDomain:!1,ipv4:[],ipv6:[]},proxyIPMode:"proxyip",proxyIPs:[],prefixes:[],outProxy:"",outProxyParams:{},cleanIPs:[],customCdnAddrs:[],customCdnHost:"",customCdnSni:"",bestVLTRInterval:30,VLConfigs:!0,TRConfigs:!0,ports:[443],fingerprint:"chrome",enableTFO:!1,fragmentMode:"custom",fragmentLengthMin:100,fragmentLengthMax:200,fragmentIntervalMin:1,fragmentIntervalMax:1,fragmentMaxSplitMin:void 0,fragmentMaxSplitMax:void 0,fragmentPackets:"tlshello",enableECH:!1,echServerName:"",bypassIran:!1,bypassChina:!1,bypassRussia:!1,bypassOpenAi:!1,bypassGoogleAi:!1,bypassMicrosoft:!1,bypassOracle:!1,bypassDocker:!1,bypassAdobe:!1,bypassEpicGames:!1,bypassIntel:!1,bypassAmd:!1,bypassNvidia:!1,bypassAsus:!1,bypassHp:!1,bypassLenovo:!1,blockAds:!1,blockPorn:!1,blockUDP443:!1,blockMalware:!1,blockPhishing:!1,blockCryptominers:!1,customBypassRules:[],customBlockRules:[],customBypassSanctionRules:[],warpRemoteDNS:"1.1.1.1",warpEndpoints:["engage.cloudflareclient.com:2408"],bestWarpInterval:30,xrayUdpNoises:[{type:"rand",packet:"50-100",delay:"1-1",applyTo:"ip",count:5}],knockerNoiseMode:"quic",noiseCountMin:10,noiseCountMax:15,noiseSizeMin:5,noiseSizeMax:10,noiseDelayMin:1,noiseDelayMax:1,amneziaNoiseCount:5,amneziaNoiseSizeMin:50,amneziaNoiseSizeMax:100,panelVersion:"4.1.3"};var Ll=new TextEncoder,Pl=new TextDecoder,Dl=2**32;function Il(...e){const t=e.reduce((e,{length:t})=>e+t,0),r=new Uint8Array(t);let n=0;for(const t of e)r.set(t,n),n+=t.length;return r}function Nl(e){const t=new Uint8Array(e.length);for(let r=0;r<e.length;r++){const n=e.charCodeAt(r);if(n>127)throw new TypeError("non-ASCII string encountered in encode()");t[r]=n}return t}function Ul(e){if(Uint8Array.prototype.toBase64)return e.toBase64();const t=32768,r=[];for(let n=0;n<e.length;n+=t)r.push(String.fromCharCode.apply(null,e.subarray(n,n+t)));return btoa(r.join(""))}function zl(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64(e);const t=atob(e),r=new Uint8Array(t.length);for(let e=0;e<t.length;e++)r[e]=t.charCodeAt(e);return r}function Xl(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64("string"==typeof e?e:Pl.decode(e),{alphabet:"base64url"});let t=e;t instanceof Uint8Array&&(t=Pl.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/");try{return zl(t)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}}function jl(e){let t=e;return"string"==typeof t&&(t=Ll.encode(t)),Uint8Array.prototype.toBase64?t.toBase64({alphabet:"base64url",omitPadding:!0}):Ul(t).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}var Wl=class extends Error{static code="ERR_JOSE_GENERIC";code="ERR_JOSE_GENERIC";constructor(e,t){super(e,t),this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}},Fl=class extends Wl{static code="ERR_JWT_CLAIM_VALIDATION_FAILED";code="ERR_JWT_CLAIM_VALIDATION_FAILED";claim;reason;payload;constructor(e,t,r="unspecified",n="unspecified"){super(e,{cause:{claim:r,reason:n,payload:t}}),this.claim=r,this.reason=n,this.payload=t}},Jl=class extends Wl{static code="ERR_JWT_EXPIRED";code="ERR_JWT_EXPIRED";claim;reason;payload;constructor(e,t,r="unspecified",n="unspecified"){super(e,{cause:{claim:r,reason:n,payload:t}}),this.claim=r,this.reason=n,this.payload=t}},Kl=class extends Wl{static code="ERR_JOSE_ALG_NOT_ALLOWED";code="ERR_JOSE_ALG_NOT_ALLOWED"},Yl=class extends Wl{static code="ERR_JOSE_NOT_SUPPORTED";code="ERR_JOSE_NOT_SUPPORTED"},Zl=class extends Wl{static code="ERR_JWS_INVALID";code="ERR_JWS_INVALID"},Gl=class extends Wl{static code="ERR_JWT_INVALID";code="ERR_JWT_INVALID"},Vl=class extends Wl{static code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";constructor(e="signature verification failed",t){super(e,t)}},Ql=(e,t="algorithm.name")=>new TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`),ql=(e,t)=>e.name===t;function $l(e){return parseInt(e.name.slice(4),10)}function ed(e){switch(e){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}function td(e,t){if(t&&!e.usages.includes(t))throw new TypeError(`CryptoKey does not support this operation, its usages must include ${t}.`)}function rd(e,t,r){switch(t){case"HS256":case"HS384":case"HS512":{if(!ql(e.algorithm,"HMAC"))throw Ql("HMAC");const r=parseInt(t.slice(2),10),n=void 0;if($l(e.algorithm.hash)!==r)throw Ql(`SHA-${r}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!ql(e.algorithm,"RSASSA-PKCS1-v1_5"))throw Ql("RSASSA-PKCS1-v1_5");const r=parseInt(t.slice(2),10),n=void 0;if($l(e.algorithm.hash)!==r)throw Ql(`SHA-${r}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!ql(e.algorithm,"RSA-PSS"))throw Ql("RSA-PSS");const r=parseInt(t.slice(2),10),n=void 0;if($l(e.algorithm.hash)!==r)throw Ql(`SHA-${r}`,"algorithm.hash");break}case"Ed25519":case"EdDSA":if(!ql(e.algorithm,"Ed25519"))throw Ql("Ed25519");break;case"ML-DSA-44":case"ML-DSA-65":case"ML-DSA-87":if(!ql(e.algorithm,t))throw Ql(t);break;case"ES256":case"ES384":case"ES512":{if(!ql(e.algorithm,"ECDSA"))throw Ql("ECDSA");const r=ed(t),n=void 0;if(e.algorithm.namedCurve!==r)throw Ql(r,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}td(e,r)}function nd(e,t,...r){if((r=r.filter(Boolean)).length>2){const t=r.pop();e+=`one of type ${r.join(", ")}, or ${t}.`}else 2===r.length?e+=`one of type ${r[0]} or ${r[1]}.`:e+=`of type ${r[0]}.`;return null==t?e+=` Received ${t}`:"function"==typeof t&&t.name?e+=` Received function ${t.name}`:"object"==typeof t&&null!=t&&t.constructor?.name&&(e+=` Received an instance of ${t.constructor.name}`),e}var id=(e,...t)=>nd("Key must be ",e,...t),od=(e,t,...r)=>nd(`Key for the ${e} algorithm must be `,t,...r),sd=e=>{if("CryptoKey"===e?.[Symbol.toStringTag])return!0;try{return e instanceof CryptoKey}catch{return!1}},ad=e=>"KeyObject"===e?.[Symbol.toStringTag],cd=e=>sd(e)||ad(e);function ud(...e){const t=e.filter(Boolean);if(0===t.length||1===t.length)return!0;let r;for(const e of t){const t=Object.keys(e);if(r&&0!==r.size)for(const e of t){if(r.has(e))return!1;r.add(e)}else r=new Set(t)}return!0}var ld=e=>"object"==typeof e&&null!==e;function dd(e){if(!ld(e)||"[object Object]"!==Object.prototype.toString.call(e))return!1;if(null===Object.getPrototypeOf(e))return!0;let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function fd(e,t){if(e.startsWith("RS")||e.startsWith("PS")){const{modulusLength:r}=t.algorithm;if("number"!=typeof r||r<2048)throw new TypeError(`${e} requires key modulusLength to be 2048 bits or larger`)}}function wd(e){let t,r;switch(e.kty){case"AKP":switch(e.alg){case"ML-DSA-44":case"ML-DSA-65":case"ML-DSA-87":t={name:e.alg},r=e.priv?["sign"]:["verify"];break;default:throw new Yl('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;case"RSA":switch(e.alg){case"PS256":case"PS384":case"PS512":t={name:"RSA-PSS",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RS256":case"RS384":case"RS512":t={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":t={name:"RSA-OAEP",hash:`SHA-${parseInt(e.alg.slice(-3),10)||1}`},r=e.d?["decrypt","unwrapKey"]:["encrypt","wrapKey"];break;default:throw new Yl('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;case"EC":switch(e.alg){case"ES256":t={name:"ECDSA",namedCurve:"P-256"},r=e.d?["sign"]:["verify"];break;case"ES384":t={name:"ECDSA",namedCurve:"P-384"},r=e.d?["sign"]:["verify"];break;case"ES512":t={name:"ECDSA",namedCurve:"P-521"},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:"ECDH",namedCurve:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new Yl('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;case"OKP":switch(e.alg){case"Ed25519":case"EdDSA":t={name:"Ed25519"},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new Yl('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;default:throw new Yl('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:t,keyUsages:r}}async function hd(e){if(!e.alg)throw new TypeError('"alg" argument is required when "jwk.alg" is not present');const{algorithm:t,keyUsages:r}=wd(e),n={...e};return"AKP"!==n.kty&&delete n.alg,delete n.use,crypto.subtle.importKey("jwk",n,t,e.ext??(!e.d&&!e.priv),e.key_ops??r)}function Ad(e,t,r,n,i){if(void 0!==i.crit&&void 0===n?.crit)throw new e('"crit" (Critical) Header Parameter MUST be integrity protected');if(!n||void 0===n.crit)return new Set;if(!Array.isArray(n.crit)||0===n.crit.length||n.crit.some(e=>"string"!=typeof e||0===e.length))throw new e('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');let o;o=void 0!==r?new Map([...Object.entries(r),...t.entries()]):t;for(const t of n.crit){if(!o.has(t))throw new Yl(`Extension Header Parameter "${t}" is not recognized`);if(void 0===i[t])throw new e(`Extension Header Parameter "${t}" is missing`);if(o.get(t)&&void 0===n[t])throw new e(`Extension Header Parameter "${t}" MUST be integrity protected`)}return new Set(n.crit)}function pd(e,t){if(void 0!==t&&(!Array.isArray(t)||t.some(e=>"string"!=typeof e)))throw new TypeError(`"${e}" option must be an array of strings`);if(t)return new Set(t)}var Ed=e=>dd(e)&&"string"==typeof e.kty,Bd=e=>"oct"!==e.kty&&("AKP"===e.kty&&"string"==typeof e.priv||"string"==typeof e.d),Hd=e=>"oct"!==e.kty&&void 0===e.d&&void 0===e.priv,gd=e=>"oct"===e.kty&&"string"==typeof e.k,md,yd=async(e,t,r,n=!1)=>{md||=new WeakMap;let i=md.get(e);if(i?.[r])return i[r];const o=await hd({...t,alg:r});return n&&Object.freeze(e),i?i[r]=o:md.set(e,{[r]:o}),o},Td=(e,t)=>{md||=new WeakMap;let r=md.get(e);if(r?.[t])return r[t];const n="public"===e.type,i=!!n;let o;if("x25519"===e.asymmetricKeyType){switch(t){case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":break;default:throw new TypeError("given KeyObject instance cannot be used for this algorithm")}o=e.toCryptoKey(e.asymmetricKeyType,i,n?[]:["deriveBits"])}if("ed25519"===e.asymmetricKeyType){if("EdDSA"!==t&&"Ed25519"!==t)throw new TypeError("given KeyObject instance cannot be used for this algorithm");o=e.toCryptoKey(e.asymmetricKeyType,i,[n?"verify":"sign"])}switch(e.asymmetricKeyType){case"ml-dsa-44":case"ml-dsa-65":case"ml-dsa-87":if(t!==e.asymmetricKeyType.toUpperCase())throw new TypeError("given KeyObject instance cannot be used for this algorithm");o=e.toCryptoKey(e.asymmetricKeyType,i,[n?"verify":"sign"])}if("rsa"===e.asymmetricKeyType){let r;switch(t){case"RSA-OAEP":r="SHA-1";break;case"RS256":case"PS256":case"RSA-OAEP-256":r="SHA-256";break;case"RS384":case"PS384":case"RSA-OAEP-384":r="SHA-384";break;case"RS512":case"PS512":case"RSA-OAEP-512":r="SHA-512";break;default:throw new TypeError("given KeyObject instance cannot be used for this algorithm")}if(t.startsWith("RSA-OAEP"))return e.toCryptoKey({name:"RSA-OAEP",hash:r},i,n?["encrypt"]:["decrypt"]);o=e.toCryptoKey({name:t.startsWith("PS")?"RSA-PSS":"RSASSA-PKCS1-v1_5",hash:r},i,[n?"verify":"sign"])}if("ec"===e.asymmetricKeyType){const r=void 0,s=new Map([["prime256v1","P-256"],["secp384r1","P-384"],["secp521r1","P-521"]]).get(e.asymmetricKeyDetails?.namedCurve);if(!s)throw new TypeError("given KeyObject instance cannot be used for this algorithm");"ES256"===t&&"P-256"===s&&(o=e.toCryptoKey({name:"ECDSA",namedCurve:s},i,[n?"verify":"sign"])),"ES384"===t&&"P-384"===s&&(o=e.toCryptoKey({name:"ECDSA",namedCurve:s},i,[n?"verify":"sign"])),"ES512"===t&&"P-521"===s&&(o=e.toCryptoKey({name:"ECDSA",namedCurve:s},i,[n?"verify":"sign"])),t.startsWith("ECDH-ES")&&(o=e.toCryptoKey({name:"ECDH",namedCurve:s},i,n?[]:["deriveBits"]))}if(!o)throw new TypeError("given KeyObject instance cannot be used for this algorithm");return r?r[t]=o:md.set(e,{[t]:o}),o};async function xd(e,t){if(e instanceof Uint8Array)return e;if(sd(e))return e;if(ad(e)){if("secret"===e.type)return e.export();if("toCryptoKey"in e&&"function"==typeof e.toCryptoKey)try{return Td(e,t)}catch(e){if(e instanceof TypeError)throw e}let r=e.export({format:"jwk"});return yd(e,r,t)}if(Ed(e))return e.k?Xl(e.k):yd(e,e,t,!0);throw new Error("unreachable")}var vd=e=>e?.[Symbol.toStringTag],bd=(e,t,r)=>{if(void 0!==t.use){let e;switch(r){case"sign":case"verify":e="sig";break;case"encrypt":case"decrypt":e="enc";break}if(t.use!==e)throw new TypeError(`Invalid key for this operation, its "use" must be "${e}" when present`)}if(void 0!==t.alg&&t.alg!==e)throw new TypeError(`Invalid key for this operation, its "alg" must be "${e}" when present`);if(Array.isArray(t.key_ops)){let n;switch(!0){case"sign"===r||"verify"===r:case"dir"===e:case e.includes("CBC-HS"):n=r;break;case e.startsWith("PBES2"):n="deriveBits";break;case/^A\d{3}(?:GCM)?(?:KW)?$/.test(e):n=!e.includes("GCM")&&e.endsWith("KW")?"encrypt"===r?"wrapKey":"unwrapKey":r;break;case"encrypt"===r&&e.startsWith("RSA"):n="wrapKey";break;case"decrypt"===r:n=e.startsWith("RSA")?"unwrapKey":"deriveBits";break}if(n&&!1===t.key_ops?.includes?.(n))throw new TypeError(`Invalid key for this operation, its "key_ops" must include "${n}" when present`)}return!0},Rd=(e,t,r)=>{if(!(t instanceof Uint8Array)){if(Ed(t)){if(gd(t)&&bd(e,t,r))return;throw new TypeError('JSON Web Key for symmetric algorithms must have JWK "kty" (Key Type) equal to "oct" and the JWK "k" (Key Value) present')}if(!cd(t))throw new TypeError(od(e,t,"CryptoKey","KeyObject","JSON Web Key","Uint8Array"));if("secret"!==t.type)throw new TypeError(`${vd(t)} instances for symmetric algorithms must be of type "secret"`)}},Md=(e,t,r)=>{if(Ed(t))switch(r){case"decrypt":case"sign":if(Bd(t)&&bd(e,t,r))return;throw new TypeError("JSON Web Key for this operation must be a private JWK");case"encrypt":case"verify":if(Hd(t)&&bd(e,t,r))return;throw new TypeError("JSON Web Key for this operation must be a public JWK")}if(!cd(t))throw new TypeError(od(e,t,"CryptoKey","KeyObject","JSON Web Key"));if("secret"===t.type)throw new TypeError(`${vd(t)} instances for asymmetric algorithms must not be of type "secret"`);if("public"===t.type)switch(r){case"sign":throw new TypeError(`${vd(t)} instances for asymmetric algorithm signing must be of type "private"`);case"decrypt":throw new TypeError(`${vd(t)} instances for asymmetric algorithm decryption must be of type "private"`)}if("private"===t.type)switch(r){case"verify":throw new TypeError(`${vd(t)} instances for asymmetric algorithm verifying must be of type "public"`);case"encrypt":throw new TypeError(`${vd(t)} instances for asymmetric algorithm encryption must be of type "public"`)}};function kd(e,t,r){switch(e.substring(0,2)){case"A1":case"A2":case"di":case"HS":case"PB":Rd(e,t,r);break;default:Md(e,t,r)}}function Sd(e,t){const r=`SHA-${e.slice(-3)}`;switch(e){case"HS256":case"HS384":case"HS512":return{hash:r,name:"HMAC"};case"PS256":case"PS384":case"PS512":return{hash:r,name:"RSA-PSS",saltLength:parseInt(e.slice(-3),10)>>3};case"RS256":case"RS384":case"RS512":return{hash:r,name:"RSASSA-PKCS1-v1_5"};case"ES256":case"ES384":case"ES512":return{hash:r,name:"ECDSA",namedCurve:t.namedCurve};case"Ed25519":case"EdDSA":return{name:"Ed25519"};case"ML-DSA-44":case"ML-DSA-65":case"ML-DSA-87":return{name:e};default:throw new Yl(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}async function Cd(e,t,r){if(t instanceof Uint8Array){if(!e.startsWith("HS"))throw new TypeError(id(t,"CryptoKey","KeyObject","JSON Web Key"));return crypto.subtle.importKey("raw",t,{hash:`SHA-${e.slice(-3)}`,name:"HMAC"},!1,[r])}return rd(t,e,r),t}async function _d(e,t,r,n){const i=await Cd(e,t,"verify");fd(e,i);const o=Sd(e,i.algorithm);try{return await crypto.subtle.verify(o,i,r,n)}catch{return!1}}async function Od(e,t,r){if(!dd(e))throw new Zl("Flattened JWS must be an object");if(void 0===e.protected&&void 0===e.header)throw new Zl('Flattened JWS must have either of the "protected" or "header" members');if(void 0!==e.protected&&"string"!=typeof e.protected)throw new Zl("JWS Protected Header incorrect type");if(void 0===e.payload)throw new Zl("JWS Payload missing");if("string"!=typeof e.signature)throw new Zl("JWS Signature missing or incorrect type");if(void 0!==e.header&&!dd(e.header))throw new Zl("JWS Unprotected Header incorrect type");let n={};if(e.protected)try{const t=Xl(e.protected);n=JSON.parse(Pl.decode(t))}catch{throw new Zl("JWS Protected Header is invalid")}if(!ud(n,e.header))throw new Zl("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");const i={...n,...e.header},o=void 0;let s=!0;if(Ad(Zl,new Map([["b64",!0]]),r?.crit,n,i).has("b64")&&(s=n.b64,"boolean"!=typeof s))throw new Zl('The "b64" (base64url-encode payload) Header Parameter must be a boolean');const{alg:a}=i;if("string"!=typeof a||!a)throw new Zl('JWS "alg" (Algorithm) Header Parameter missing or invalid');const c=r&&pd("algorithms",r.algorithms);if(c&&!c.has(a))throw new Kl('"alg" (Algorithm) Header Parameter value not allowed');if(s){if("string"!=typeof e.payload)throw new Zl("JWS Payload must be a string")}else if("string"!=typeof e.payload&&!(e.payload instanceof Uint8Array))throw new Zl("JWS Payload must be a string or an Uint8Array instance");let u=!1;"function"==typeof t&&(t=await t(n,e),u=!0),kd(a,t,"verify");const l=Il(void 0!==e.protected?Nl(e.protected):new Uint8Array,Nl("."),"string"==typeof e.payload?s?Nl(e.payload):Ll.encode(e.payload):e.payload);let d;try{d=Xl(e.signature)}catch{throw new Zl("Failed to base64url decode the signature")}const f=await xd(t,a),w=void 0;if(!await _d(a,f,d,l))throw new Vl;let h;if(s)try{h=Xl(e.payload)}catch{throw new Zl("Failed to base64url decode the payload")}else h="string"==typeof e.payload?Ll.encode(e.payload):e.payload;const A={payload:h};return void 0!==e.protected&&(A.protectedHeader=n),void 0!==e.header&&(A.unprotectedHeader=e.header),u?{...A,key:f}:A}async function Ld(e,t,r){if(e instanceof Uint8Array&&(e=Pl.decode(e)),"string"!=typeof e)throw new Zl("Compact JWS must be a string or Uint8Array");const{0:n,1:i,2:o,length:s}=e.split(".");if(3!==s)throw new Zl("Invalid Compact JWS");const a=await Od({payload:i,protected:n,signature:o},t,r),c={payload:a.payload,protectedHeader:a.protectedHeader};return"function"==typeof t?{...c,key:a.key}:c}var Pd=e=>Math.floor(e.getTime()/1e3),Dd=60,Id=3600,Nd=86400,Ud=7*Nd,zd=31557600,Xd=/^(\+|\-)? ?(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i;function jd(e){const t=Xd.exec(e);if(!t||t[4]&&t[1])throw new TypeError("Invalid time period format");const r=parseFloat(t[2]),n=void 0;let i;switch(t[3].toLowerCase()){case"sec":case"secs":case"second":case"seconds":case"s":i=Math.round(r);break;case"minute":case"minutes":case"min":case"mins":case"m":i=Math.round(r*Dd);break;case"hour":case"hours":case"hr":case"hrs":case"h":i=Math.round(r*Id);break;case"day":case"days":case"d":i=Math.round(r*Nd);break;case"week":case"weeks":case"w":i=Math.round(r*Ud);break;default:i=Math.round(r*zd);break}return"-"===t[1]||"ago"===t[4]?-i:i}function Wd(e,t){if(!Number.isFinite(t))throw new TypeError(`Invalid ${e} input`);return t}var Fd=e=>e.includes("/")?e.toLowerCase():`application/${e.toLowerCase()}`,Jd=(e,t)=>"string"==typeof e?t.includes(e):!!Array.isArray(e)&&t.some(Set.prototype.has.bind(new Set(e)));function Kd(e,t,r={}){let n;try{n=JSON.parse(Pl.decode(t))}catch{}if(!dd(n))throw new Gl("JWT Claims Set must be a top-level JSON object");const{typ:i}=r;if(i&&("string"!=typeof e.typ||Fd(e.typ)!==Fd(i)))throw new Fl('unexpected "typ" JWT header value',n,"typ","check_failed");const{requiredClaims:o=[],issuer:s,subject:a,audience:c,maxTokenAge:u}=r,l=[...o];void 0!==u&&l.push("iat"),void 0!==c&&l.push("aud"),void 0!==a&&l.push("sub"),void 0!==s&&l.push("iss");for(const e of new Set(l.reverse()))if(!(e in n))throw new Fl(`missing required "${e}" claim`,n,e,"missing");if(s&&!(Array.isArray(s)?s:[s]).includes(n.iss))throw new Fl('unexpected "iss" claim value',n,"iss","check_failed");if(a&&n.sub!==a)throw new Fl('unexpected "sub" claim value',n,"sub","check_failed");if(c&&!Jd(n.aud,"string"==typeof c?[c]:c))throw new Fl('unexpected "aud" claim value',n,"aud","check_failed");let d;switch(typeof r.clockTolerance){case"string":d=jd(r.clockTolerance);break;case"number":d=r.clockTolerance;break;case"undefined":d=0;break;default:throw new TypeError("Invalid clockTolerance option type")}const{currentDate:f}=r,w=Pd(f||new Date);if((void 0!==n.iat||u)&&"number"!=typeof n.iat)throw new Fl('"iat" claim must be a number',n,"iat","invalid");if(void 0!==n.nbf){if("number"!=typeof n.nbf)throw new Fl('"nbf" claim must be a number',n,"nbf","invalid");if(n.nbf>w+d)throw new Fl('"nbf" claim timestamp check failed',n,"nbf","check_failed")}if(void 0!==n.exp){if("number"!=typeof n.exp)throw new Fl('"exp" claim must be a number',n,"exp","invalid");if(n.exp<=w-d)throw new Jl('"exp" claim timestamp check failed',n,"exp","check_failed")}if(u){const e=w-n.iat,t=void 0;if(e-d>("number"==typeof u?u:jd(u)))throw new Jl('"iat" claim timestamp check failed (too far in the past)',n,"iat","check_failed");if(e<0-d)throw new Fl('"iat" claim timestamp check failed (it should be in the past)',n,"iat","check_failed")}return n}var Yd=class{#e;constructor(e){if(!dd(e))throw new TypeError("JWT Claims Set MUST be an object");this.#e=structuredClone(e)}data(){return Ll.encode(JSON.stringify(this.#e))}get iss(){return this.#e.iss}set iss(e){this.#e.iss=e}get sub(){return this.#e.sub}set sub(e){this.#e.sub=e}get aud(){return this.#e.aud}set aud(e){this.#e.aud=e}set jti(e){this.#e.jti=e}set nbf(e){"number"==typeof e?this.#e.nbf=Wd("setNotBefore",e):e instanceof Date?this.#e.nbf=Wd("setNotBefore",Pd(e)):this.#e.nbf=Pd(new Date)+jd(e)}set exp(e){"number"==typeof e?this.#e.exp=Wd("setExpirationTime",e):e instanceof Date?this.#e.exp=Wd("setExpirationTime",Pd(e)):this.#e.exp=Pd(new Date)+jd(e)}set iat(e){void 0===e?this.#e.iat=Pd(new Date):e instanceof Date?this.#e.iat=Wd("setIssuedAt",Pd(e)):this.#e.iat=Wd("setIssuedAt","string"==typeof e?Pd(new Date)+jd(e):e)}};async function Zd(e,t,r){const n=await Ld(e,t,r);if(n.protectedHeader.crit?.includes("b64")&&!1===n.protectedHeader.b64)throw new Gl("JWTs MUST NOT use unencoded payload");const i=void 0,o={payload:Kd(n.protectedHeader,n.payload,r),protectedHeader:n.protectedHeader};return"function"==typeof t?{...o,key:n.key}:o}async function Gd(e,t,r){const n=await Cd(e,t,"sign");fd(e,n);const i=await crypto.subtle.sign(Sd(e,n.algorithm),n,r);return new Uint8Array(i)}var Vd=class{#e;#t;#r;constructor(e){if(!(e instanceof Uint8Array))throw new TypeError("payload must be an instance of Uint8Array");this.#e=e}setProtectedHeader(e){if(this.#t)throw new TypeError("setProtectedHeader can only be called once");return this.#t=e,this}setUnprotectedHeader(e){if(this.#r)throw new TypeError("setUnprotectedHeader can only be called once");return this.#r=e,this}async sign(e,t){if(!this.#t&&!this.#r)throw new Zl("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");if(!ud(this.#t,this.#r))throw new Zl("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");const r={...this.#t,...this.#r},n=void 0;let i=!0;if(Ad(Zl,new Map([["b64",!0]]),t?.crit,this.#t,r).has("b64")&&(i=this.#t.b64,"boolean"!=typeof i))throw new Zl('The "b64" (base64url-encode payload) Header Parameter must be a boolean');const{alg:o}=r;if("string"!=typeof o||!o)throw new Zl('JWS "alg" (Algorithm) Header Parameter missing or invalid');let s,a,c,u;kd(o,e,"sign"),i?(s=jl(this.#e),a=Nl(s)):(a=this.#e,s=""),this.#t?(c=jl(JSON.stringify(this.#t)),u=Nl(c)):(c="",u=new Uint8Array);const l=Il(u,Nl("."),a),d=await xd(e,o),f=void 0,w={signature:jl(await Gd(o,d,l)),payload:s};return this.#r&&(w.header=this.#r),this.#t&&(w.protected=c),w}},Qd=class{#n;constructor(e){this.#n=new Vd(e)}setProtectedHeader(e){return this.#n.setProtectedHeader(e),this}async sign(e,t){const r=await this.#n.sign(e,t);if(void 0===r.payload)throw new TypeError("use the flattened module for creating JWS with b64: false");return`${r.protected}.${r.payload}.${r.signature}`}},qd=class{#t;#i;constructor(e={}){this.#i=new Yd(e)}setIssuer(e){return this.#i.iss=e,this}setSubject(e){return this.#i.sub=e,this}setAudience(e){return this.#i.aud=e,this}setJti(e){return this.#i.jti=e,this}setNotBefore(e){return this.#i.nbf=e,this}setExpirationTime(e){return this.#i.exp=e,this}setIssuedAt(e){return this.#i.iat=e,this}setProtectedHeader(e){return this.#t=e,this}async sign(e,t){const r=new Qd(this.#i.data());if(r.setProtectedHeader(this.#t),Array.isArray(this.#t?.crit)&&this.#t.crit.includes("b64")&&!1===this.#t.b64)throw new Gl("JWTs MUST NOT use unencoded payload");return r.sign(e,t)}};async function $d(e,t){if("POST"!==e.method)return vl(!1,405,"Method not allowed.");const r=void 0,n=void 0;if(await e.text()!==await t.kv.get("pwd"))return vl(!1,401,"Wrong password.");let i=await t.kv.get("secretKey");i||(i=ef(),await t.kv.put("secretKey",i));const o=(new TextEncoder).encode(i),{userID:s}=globalThis.globalConfig,a=void 0;return vl(!0,200,"Successfully generated Auth token",null,{"Set-Cookie":`jwtToken=${await new qd({userID:s}).setProtectedHeader({alg:"HS256"}).setIssuedAt().setExpirationTime("24h").sign(o)}; HttpOnly; Secure; Max-Age=604800; Path=/; SameSite=Strict`,"Content-Type":"text/plain"})}function ef(){const e=new Uint8Array(32);return crypto.getRandomValues(e),Array.from(e,e=>e.toString(16).padStart(2,"0")).join("")}async function tf(e,t){try{const r=await t.kv.get("secretKey");if(null===r)return console.log("Secret key not found in KV."),!1;const n=(new TextEncoder).encode(r),i=e.headers.get("Cookie")?.match(/(^|;\s*)jwtToken=([^;]*)/),o=i?i[2]:null;if(!o)return console.log("Unauthorized: Token not available!"),!1;const{payload:s}=await Zd(o,n);return console.log(`Successfully authenticated, User ID: ${s.userID}`),!0}catch(e){const t=e instanceof Error?e.message:String(e);return console.log(t),!1}}async function rf(e,t){let r=await tf(e,t);const n=await t.kv.get("pwd");if(n&&!r)return vl(!1,401,"Unauthorized.");const i=await e.text();return i===n?vl(!1,400,"Please enter a new Password."):(await t.kv.put("pwd",i),vl(!0,200,"Successfully logged in!",null,{"Set-Cookie":"jwtToken=; Path=/; Secure; SameSite=None; Expires=Thu, 01 Jan 1970 00:00:00 GMT","Content-Type":"text/plain"}))}function nf(){const{localDNS:e,antiSanctionDNS:t,blockMalware:r,blockPhishing:n,blockCryptominers:i,blockAds:o,blockPorn:s,bypassIran:a,bypassChina:c,bypassRussia:u,bypassOpenAi:l,bypassGoogleAi:d,bypassMicrosoft:f,bypassOracle:w,bypassDocker:h,bypassAdobe:A,bypassEpicGames:p,bypassIntel:E,bypassAmd:B,bypassNvidia:H,bypassAsus:g,bypassHp:m,bypassLenovo:y}=globalThis.settings;return[{rule:r,type:"block",format:"text",geosite:"malware",geositeURL:"https://raw.githubusercontent.com/Chocolate4U/Iran-clash-rules/release/malware.txt",geoip:"malware-cidr",geoipURL:"https://raw.githubusercontent.com/Chocolate4U/Iran-clash-rules/release/malware-ip.txt"},{rule:n,type:"block",format:"text",geosite:"phishing",geositeURL:"https://raw.githubusercontent.com/Chocolate4U/Iran-clash-rules/release/phishing.txt",geoip:"phishing-cidr",geoipURL:"https://raw.githubusercontent.com/Chocolate4U/Iran-clash-rules/release/phishing-ip.txt"},{rule:i,type:"block",format:"text",geosite:"cryptominers",geositeURL:"https://raw.githubusercontent.com/Chocolate4U/Iran-clash-rules/release/cryptominers.txt"},{rule:o,type:"block",format:"text",geosite:"category-ads-all",geositeURL:"https://raw.githubusercontent.com/Chocolate4U/Iran-clash-rules/release/category-ads-all.txt"},{rule:s,type:"block",format:"text",geosite:"nsfw",geositeURL:"https://raw.githubusercontent.com/Chocolate4U/Iran-clash-rules/release/nsfw.txt"},{rule:a,type:"direct",dns:e,format:"text",geosite:"ir",geoip:"ir-cidr",geositeURL:"https://raw.githubusercontent.com/Chocolate4U/Iran-clash-rules/release/ir.txt",geoipURL:"https://raw.githubusercontent.com/Chocolate4U/Iran-clash-rules/release/ircidr.txt"},{rule:c,type:"direct",dns:e,format:"yaml",geosite:"cn",geoip:"cn-cidr",geositeURL:"https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/cn.yaml",geoipURL:"https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geoip/cn.yaml"},{rule:u,type:"direct",dns:e,format:"yaml",geosite:"ru",geoip:"ru-cidr",geositeURL:"https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/category-ru.yaml",geoipURL:"https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geoip/ru.yaml"},{rule:l,type:"direct",dns:t,format:"yaml",geosite:"openai",geositeURL:"https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/openai.yaml"},{rule:d,type:"direct",dns:t,format:"yaml",geosite:"googleai",geositeURL:"https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/google-deepmind.yaml"},{rule:f,type:"direct",dns:t,format:"yaml",geosite:"microsoft",geositeURL:"https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/microsoft.yaml"},{rule:w,type:"direct",dns:t,format:"yaml",geosite:"oracle",geositeURL:"https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/oracle.yaml"},{rule:h,type:"direct",dns:t,format:"yaml",geosite:"docker",geositeURL:"https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/docker.yaml"},{rule:A,type:"direct",dns:t,format:"yaml",geosite:"adobe",geositeURL:"https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/adobe.yaml"},{rule:p,type:"direct",dns:t,format:"yaml",geosite:"epicgames",geositeURL:"https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/epicgames.yaml"},{rule:E,type:"direct",dns:t,format:"yaml",geosite:"intel",geositeURL:"https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/intel.yaml"},{rule:B,type:"direct",dns:t,format:"yaml",geosite:"amd",geositeURL:"https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/amd.yaml"},{rule:H,type:"direct",dns:t,format:"yaml",geosite:"nvidia",geositeURL:"https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/nvidia.yaml"},{rule:g,type:"direct",dns:t,format:"yaml",geosite:"asus",geositeURL:"https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/asus.yaml"},{rule:m,type:"direct",dns:t,format:"yaml",geosite:"hp",geositeURL:"https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/hp.yaml"},{rule:y,type:"direct",dns:t,format:"yaml",geosite:"lenovo",geositeURL:"https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/lenovo.yaml"}].filter(({rule:e})=>e)}async function of(e,t,r){const{localDNS:n,remoteDNS:i,warpRemoteDNS:o,antiSanctionDNS:s,outProxyParams:a,remoteDnsHost:c,enableIPv6:u,fakeDNS:l,allowLANConnection:d}=globalThis.settings,f="localhost"===n?"system":`${n}#DIRECT`,w=void 0,h=void 0,A=`${t?o:i}#${t?`💦 Warp ${r?"Pro ":""}- Best Ping 🚀`:e?"💦 Best Ping 🚀":"✅ Selector"}`,p={},E={};if(e&&!t){const{server:e}=a;tl(e)&&(E[e]=A)}if(c.isDomain&&!t){const{ipv4:e,ipv6:t,host:r}=c;p[r]=e.concatIf(u,t)}const B=void 0,H=gl(nf()),g=void 0;[...H.block.geosites.map(e=>`rule-set:${e}`),...H.block.domains.map(e=>`+.${e}`)].forEach(e=>p[e]="rcode://refused");const m=[...H.bypass.antiSanctionDNS.geosites.map(e=>`rule-set:${e}`),...H.bypass.antiSanctionDNS.domains.map(e=>`+.${e}`)],y=[...H.bypass.localDNS.geositeGeoips.map(({geosite:e})=>`rule-set:${e}`),...H.bypass.localDNS.geosites.map(e=>`rule-set:${e}`),...H.bypass.localDNS.domains.map(e=>`+.${e}`)];if(m.length){m.forEach(e=>E[e]=`${s}#DIRECT`);const{host:e,isHostDomain:t}=wl(s);t&&y.push(e)}y.forEach(e=>E[e]=f);const T=void 0;let x="redir-host",v={};l&&(x="fake-ip",v={"fake-ip-range":"198.18.0.1/16","fake-ip-filter-mode":"blacklist","fake-ip-filter":["+.lan","+.local"]});const b=void 0;return{enable:!0,"respect-rules":!0,"use-system-hosts":!1,listen:(d?"0.0.0.0":"127.0.0.1")+":1053",ipv6:u,hosts:p.omitEmpty(),nameserver:[A],"proxy-server-nameserver":[f],"direct-nameserver":[f],"direct-nameserver-follow-policy":!0,"nameserver-policy":E.omitEmpty(),"enhanced-mode":x,...v}}function sf(e){const{blockUDP443:t}=globalThis.settings,r=void 0,n=Hl(nf()),i=["GEOIP,lan,DIRECT,no-resolve"];return e?t&&i.push("AND,((NETWORK,udp),(DST-PORT,443)),REJECT"):i.push("NETWORK,udp,REJECT"),[...i,...n.block.geosites.map(e=>`RULE-SET,${e},REJECT`),...n.block.domains.map(e=>`DOMAIN-SUFFIX,${e},REJECT`),...n.block.geoips.map(e=>`RULE-SET,${e},REJECT`),...n.block.ips.map(e=>uf(e,"REJECT")),...n.bypass.geosites.map(e=>`RULE-SET,${e},DIRECT`),...n.bypass.domains.map(e=>`DOMAIN-SUFFIX,${e},DIRECT`),...n.bypass.geoips.map(e=>`RULE-SET,${e},DIRECT`),...n.bypass.ips.map(e=>uf(e,"DIRECT")),"MATCH,✅ Selector"]}function af(){const e=void 0;return nf().reduce((e,t)=>(cf(e,t),e),{}).omitEmpty()}function cf(e,t){const{geosite:r,geoip:n,geositeURL:i,geoipURL:o,format:s}=t,a="text"===s?"txt":s,c=(t,r,n)=>{e[t]={type:"http",format:s,behavior:r,path:`./ruleset/${t}.${a}`,interval:86400,url:n}};r&&i&&c(r,"domain",i),n&&o&&c(n,"ipcidr",o)}function uf(e,t){const r=(e=fl(e)?e.replace(/\[|\]/g,""):e).includes("/")?"":dl(e)?"/32":"/128";return`IP-CIDR,${e}${r},${t}`}function lf(e,t,r,n,i,o,s,a,c){return{name:e,type:t,server:r.replace(/\[|\]/g,""),port:n,"ip-version":i?"ipv4-prefer":"ipv4",tfo:o,udp:!1,...c,...s,...a}}function df(e,t,r,n){const{dict:{_VL_:i,_TR_:o},globalConfig:{userID:s,TrPass:a},settings:{fingerprint:c,enableTFO:u,enableIPv6:l,enableECH:d,echServerName:f}}=globalThis,w=pl(n);if(e===o&&!w)return null;const{host:h,sni:A,allowInsecure:p}=hl(r),E=w?Af(e,"tls",p,A,d,f||void 0,"http/1.1",c):{},B=pf("ws",void 0,ul(e),h,void 0,2560);return lf(t,e,r,n,l,u,E,B,e===i?{uuid:s,"packet-encoding":""}:{password:a})}function ff(e,t,r,n,i){const{amneziaNoiseCount:o,amneziaNoiseSizeMin:s,amneziaNoiseSizeMax:a,enableIPv6:c}=globalThis.settings,{host:u,port:l}=Al(r,!1),d=c?"ipv4-prefer":"ipv4",{warpIPv6:f,reserved:w,publicKey:h,privateKey:A}=e;return{name:t,type:"wireguard",ip:"172.16.0.2/32",ipv6:f,"ip-version":d,"private-key":A,server:n?"162.159.192.1":u,port:n?2408:l,"public-key":h,"allowed-ips":["0.0.0.0/0","::/0"],reserved:w,udp:!0,mtu:1280,"dialer-proxy":n||void 0,"amnezia-wg-option":i?{jc:o,jmin:s,jmax:a}:void 0}}function wf(){const{dict:{_SS_:e,_VL_:t,_TR_:r,_VM_:n},settings:{outProxy:i,outProxyParams:{protocol:o,server:s,port:a,user:c,pass:u,password:l,method:d,uuid:f,flow:w,security:h,type:A,sni:p,fp:E,host:B,path:H,alpn:g,pbk:m,sid:y,headerType:T,serviceName:x,aid:v}}}=globalThis,{searchParams:b}=new URL(i),R=b.get("ed"),M=R?+R:void 0,k=Af(o,h,!1,p||s,!1,void 0,g,E,m,y),S=pf(A,T,H,B,x,M);switch(o){case"http":return lf("","http",s,a,!1,!1,{},{},{username:c,password:u});case"socks":return lf("","socks5",s,a,!1,!1,{},{},{username:c,password:u});case e:return lf("","ss",s,a,!1,!1,{},{},{cipher:d,password:l});case t:return lf("",t,s,a,!1,!1,k,S,{uuid:f,flow:w});case n:return lf("",n,s,a,!1,!1,k,S,{uuid:f,cipher:"auto",alterId:v});case r:if("none"===h)return;return lf("",r,s,a,!1,!1,k,S,{password:l});default:return}}function hf(e,t,r){const{bestWarpInterval:n,bestVLTRInterval:i}=globalThis.settings;return{name:e,type:"url-test",proxies:t,url:"https://www.gstatic.com/generate_204",interval:r?n:i,tolerance:50}}function Af(e,t,r,n,i,o,s,a,c,u){if(!["tls","reality"].includes(t))return{};const{_TR_:l}=globalThis.dict,d={tls:!0,[e===l?"sni":"servername"]:n,"client-fingerprint":"randomized"===a?"random":a,"skip-cert-verify":r};return"tls"===t?{...d,alpn:s?.split(","),"ech-opts":i?{enable:!0,"query-server-name":o}:void 0}:"reality"===t&&c&&u?{...d,"reality-opts":{"public-key":c,"short-id":u}}:{}}function pf(e,t,r="/",n,i,o){switch(r=r?.split("?")[0],e){case"tcp":return"http"===t?{network:"http","http-opts":{method:"GET",path:r.split(","),headers:{Host:n?.split(","),Connection:["keep-alive"],"Content-Type":["application/octet-stream"]}}}:{network:"tcp"};case"ws":return{network:"ws","ws-opts":{path:r,"max-early-data":o,"early-data-header-name":o?"Sec-WebSocket-Protocol":void 0,headers:{Host:n}}};case"httpupgrade":const{_V2_:e}=globalThis.dict;return{network:"ws","ws-opts":{[`${e}-http-upgrade`]:!0,[`${e}-http-upgrade-fast-open`]:!0,path:r,headers:{Host:n}}};case"grpc":return{network:"grpc","grpc-opts":{"grpc-service-name":i}};default:return{}}}var Ef={enable:!0,stack:"mixed","auto-route":!0,"strict-route":!0,"auto-detect-interface":!0,"dns-hijack":["any:53","tcp://any:53"],mtu:9e3},Bf={enable:!0,"force-dns-mapping":!0,"parse-pure-ip":!0,"override-destination":!0,sniff:{HTTP:{ports:[80,8080,8880,2052,2082,2086,2095]},TLS:{ports:[443,8443,2053,2083,2087,2096]}}};async function Hf(e,t,r,n,i,o,s){const{logLevel:a,allowLANConnection:c}=globalThis.settings,u=o?{}:{"disable-keep-alive":!1,"keep-alive-idle":10,"keep-alive-interval":15,"tcp-concurrent":!0},l={"mixed-port":7890,ipv6:!0,"allow-lan":c,"unified-delay":!1,"log-level":a.replace("none","silent"),mode:"rule",...u,"geo-auto-update":!0,"geo-update-interval":168,"external-controller":"127.0.0.1:9090","external-controller-cors":{"allow-origins":["*"],"allow-private-network":!0},"external-ui":"ui","external-ui-url":"https://github.com/MetaCubeX/metacubexd/archive/refs/heads/gh-pages.zip",profile:{"store-selected":!0,"store-fake-ip":!0},dns:await of(i,o,s),tun:Ef,sniffer:Bf,proxies:e,"proxy-groups":[{name:"✅ Selector",type:"select",proxies:t}],"rule-providers":af(),rules:sf(o),ntp:{enable:!0,server:"time.cloudflare.com",port:123,interval:30}},d=void 0,f=hf(o?`💦 Warp ${s?"Pro ":""}- Best Ping 🚀`:"💦 Best Ping 🚀",r,o);return l["proxy-groups"].push(f),o&&l["proxy-groups"].push(hf(`💦 WoW ${s?"Pro ":""}- Best Ping 🚀`,n,o)),i&&l["proxy-groups"].push(hf("💦 🔗 Best Ping 🚀",n,o)),l}async function gf(){const{outProxy:e,ports:t}=globalThis.settings,r=e?wf():void 0,n=!!r,i=[],o=[],s=[],a=await ol(!1),c=il(),u=["💦 Best Ping 🚀"].concatIf(n,"💦 🔗 Best Ping 🚀");c.forEach(e=>{let c=1;t.forEach(t=>{a.forEach(a=>{const l=sl(c,t,a,e,!1,!1),d=df(e,l,a,t);if(d){if(i.push(l),u.push(l),s.push(d),n){const n=sl(c,t,a,e,!1,!0);let i=structuredClone(r);i.name=n,i["dialer-proxy"]=l,s.push(i),o.push(n),u.push(n)}c++}})})});const l=await Hf(s,u,i,o,n,!1,!1);return new Response(JSON.stringify(l,null,4),{status:200,headers:{"Content-Type":"text/plain;charset=utf-8","Cache-Control":"no-store","CDN-Cache-Control":"no-store"}})}async function mf(e,t,r){const{warpEndpoints:n}=globalThis.settings,{warpAccounts:i}=await bl(e,t),o=[],s=[],a=[],c=r?"Pro ":"",u=[`💦 Warp ${c}- Best Ping 🚀`,`💦 WoW ${c}- Best Ping 🚀`];n.forEach((e,t)=>{const n=`💦 ${t+1} - Warp ${c}🇮🇷`;o.push(n);const l=`💦 ${t+1} - WoW ${c}🌍`;s.push(l),u.push(n,l);const d=ff(i[0],n,e,"",r),f=ff(i[1],l,e,n,!1);a.push(d,f)});const l=await Hf(a,u,o,s,!1,!0,r);return new Response(JSON.stringify(l,null,4),{status:200,headers:{"Content-Type":"text/plain;charset=utf-8","Cache-Control":"no-store","CDN-Cache-Control":"no-store"}})}function yf(){const{localDNS:e,antiSanctionDNS:t,blockMalware:r,blockPhishing:n,blockCryptominers:i,blockAds:o,blockPorn:s,bypassIran:a,bypassChina:c,bypassRussia:u,bypassOpenAi:l,bypassGoogleAi:d,bypassMicrosoft:f,bypassOracle:w,bypassDocker:h,bypassAdobe:A,bypassEpicGames:p,bypassIntel:E,bypassAmd:B,bypassNvidia:H,bypassAsus:g,bypassHp:m,bypassLenovo:y}=globalThis.settings;return[{rule:r,type:"block",geosite:"geosite-malware",geoip:"geoip-malware",geositeURL:"https://raw.githubusercontent.com/Chocolate4U/Iran-sing-box-rules/rule-set/geosite-malware.srs",geoipURL:"https://raw.githubusercontent.com/Chocolate4U/Iran-sing-box-rules/rule-set/geoip-malware.srs"},{rule:n,type:"block",geosite:"geosite-phishing",geoip:"geoip-phishing",geositeURL:"https://raw.githubusercontent.com/Chocolate4U/Iran-sing-box-rules/rule-set/geosite-phishing.srs",geoipURL:"https://raw.githubusercontent.com/Chocolate4U/Iran-sing-box-rules/rule-set/geoip-phishing.srs"},{rule:i,type:"block",geosite:"geosite-cryptominers",geositeURL:"https://raw.githubusercontent.com/Chocolate4U/Iran-sing-box-rules/rule-set/geosite-cryptominers.srs"},{rule:o,type:"block",geosite:"geosite-category-ads-all",geositeURL:"https://raw.githubusercontent.com/Chocolate4U/Iran-sing-box-rules/rule-set/geosite-category-ads-all.srs"},{rule:s,type:"block",geosite:"geosite-nsfw",geositeURL:"https://raw.githubusercontent.com/Chocolate4U/Iran-sing-box-rules/rule-set/geosite-nsfw.srs"},{rule:a,type:"direct",dns:e,geosite:"geosite-ir",geoip:"geoip-ir",geositeURL:"https://raw.githubusercontent.com/Chocolate4U/Iran-sing-box-rules/rule-set/geosite-ir.srs",geoipURL:"https://raw.githubusercontent.com/Chocolate4U/Iran-sing-box-rules/rule-set/geoip-ir.srs"},{rule:c,type:"direct",dns:e,geosite:"geosite-cn",geoip:"geoip-cn",geositeURL:"https://raw.githubusercontent.com/Chocolate4U/Iran-sing-box-rules/rule-set/geosite-cn.srs",geoipURL:"https://raw.githubusercontent.com/Chocolate4U/Iran-sing-box-rules/rule-set/geoip-cn.srs"},{rule:u,type:"direct",dns:e,geosite:"geosite-category-ru",geoip:"geoip-ru",geositeURL:"https://raw.githubusercontent.com/Chocolate4U/Iran-sing-box-rules/rule-set/geosite-category-ru.srs",geoipURL:"https://raw.githubusercontent.com/Chocolate4U/Iran-sing-box-rules/rule-set/geoip-ru.srs"},{rule:l,type:"direct",dns:t,geosite:"geosite-openai",geositeURL:"https://raw.githubusercontent.com/Chocolate4U/Iran-sing-box-rules/rule-set/geosite-openai.srs"},{rule:d,type:"direct",dns:t,geosite:"geosite-google-deepmind",geositeURL:"https://raw.githubusercontent.com/Chocolate4U/Iran-sing-box-rules/rule-set/geosite-google-deepmind.srs"},{rule:f,type:"direct",dns:t,geosite:"geosite-microsoft",geositeURL:"https://raw.githubusercontent.com/Chocolate4U/Iran-sing-box-rules/rule-set/geosite-microsoft.srs"},{rule:w,type:"direct",dns:t,geosite:"geosite-oracle",geositeURL:"https://raw.githubusercontent.com/Chocolate4U/Iran-sing-box-rules/rule-set/geosite-oracle.srs"},{rule:h,type:"direct",dns:t,geosite:"geosite-docker",geositeURL:"https://raw.githubusercontent.com/Chocolate4U/Iran-sing-box-rules/rule-set/geosite-docker.srs"},{rule:A,type:"direct",dns:t,geosite:"geosite-adobe",geositeURL:"https://raw.githubusercontent.com/Chocolate4U/Iran-sing-box-rules/rule-set/geosite-adobe.srs"},{rule:p,type:"direct",dns:t,geosite:"geosite-epicgames",geositeURL:"https://raw.githubusercontent.com/Chocolate4U/Iran-sing-box-rules/rule-set/geosite-epicgames.srs"},{rule:E,type:"direct",dns:t,geosite:"geosite-intel",geositeURL:"https://raw.githubusercontent.com/Chocolate4U/Iran-sing-box-rules/rule-set/geosite-intel.srs"},{rule:B,type:"direct",dns:t,geosite:"geosite-amd",geositeURL:"https://raw.githubusercontent.com/Chocolate4U/Iran-sing-box-rules/rule-set/geosite-amd.srs"},{rule:H,type:"direct",dns:t,geosite:"geosite-nvidia",geositeURL:"https://raw.githubusercontent.com/Chocolate4U/Iran-sing-box-rules/rule-set/geosite-nvidia.srs"},{rule:g,type:"direct",dns:t,geosite:"geosite-asus",geositeURL:"https://raw.githubusercontent.com/Chocolate4U/Iran-sing-box-rules/rule-set/geosite-asus.srs"},{rule:m,type:"direct",dns:t,geosite:"geosite-hp",geositeURL:"https://raw.githubusercontent.com/Chocolate4U/Iran-sing-box-rules/rule-set/geosite-hp.srs"},{rule:y,type:"direct",dns:t,geosite:"geosite-lenovo",geositeURL:"https://raw.githubusercontent.com/Chocolate4U/Iran-sing-box-rules/rule-set/geosite-lenovo.srs"}].filter(({rule:e})=>e)}async function Tf(e,t){const{localDNS:r,remoteDNS:n,warpRemoteDNS:i,antiSanctionDNS:o,outProxyParams:s,remoteDnsHost:a,enableIPv6:c,fakeDNS:u,enableECH:l,echServerName:d}=globalThis.settings,f=void 0,w=new URL(n).protocol.replace(":",""),h=[{type:e?"udp":w,server:e?i:a.host,detour:e?"💦 Warp - Best Ping 🚀":t?"💦 Best Ping 🚀":"✅ Selector",tag:"dns-remote"}];"localhost"===r?xf(h,"local","dns-direct",void 0,void 0,void 0):xf(h,"udp","dns-direct",r,void 0,void 0);const A=[{clash_mode:"Direct",server:"dns-direct"},{clash_mode:"Global",server:"dns-remote"}];if(l){const{hostName:e}=globalThis.httpConfig;vf(A,"dns-direct",void 0,void 0,void 0,[d||e],["HTTPS"])}if(t&&!e){const{server:e}=s;tl(e)&&A.push({domain:e,server:"dns-remote"})}if(a.isDomain&&!e){const{ipv4:e,ipv6:t,host:r}=a,n=void 0;xf(h,"hosts","hosts",void 0,void 0,void 0,r,e.concatIf(c,t)),A.unshift({ip_accept_any:!0,server:"hosts"})}const p=void 0,E=gl(yf()),B=void 0;[...E.block.geosites,...E.block.domains].length&&vf(A,"reject",void 0,E.block.geosites,void 0,E.block.domains),E.bypass.localDNS.geositeGeoips.forEach(({geosite:e,geoip:t})=>{vf(A,"dns-direct",void 0,[e],t,void 0)});const H=void 0;[...E.bypass.localDNS.geosites,...E.bypass.localDNS.domains].length&&vf(A,"dns-direct",void 0,E.bypass.localDNS.geosites,void 0,E.bypass.localDNS.domains);const g=void 0;if([...E.bypass.antiSanctionDNS.geosites,...E.bypass.antiSanctionDNS.domains].length){const e=wl(o);vf(A,"dns-anti-sanction",void 0,E.bypass.antiSanctionDNS.geosites,void 0,E.bypass.antiSanctionDNS.domains),e.isHostDomain?xf(h,"https","dns-anti-sanction",e.host,void 0,"dns-direct"):xf(h,"udp","dns-anti-sanction",o,void 0,void 0)}return u&&(xf(h,"fakeip","dns-fake",void 0,void 0,void 0,void 0,void 0,"198.18.0.0/15",c?"fc00::/18":void 0),vf(A,"dns-fake","tun-in",void 0,void 0,void 0,["A","AAAA"])),{servers:h,rules:A,strategy:c?"prefer_ipv4":"ipv4_only",independent_cache:!0}}function xf(e,t,r,n,i,o,s,a,c,u){e.push({type:t,server:n,detour:i,domain_resolver:o?{server:o,strategy:"ipv4_only"}:void 0,predefined:s?{[s]:a}:void 0,inet4_range:c,inet6_range:u,tag:r})}function vf(e,t,r,n,i,o,s){const a=n&&i;e.push({inbound:r,type:a?"logical":void 0,mode:a?"and":void 0,rules:a?[{rule_set:n},{rule_set:i}]:void 0,rule_set:n?.length&&!i?n:void 0,domain_suffix:o?.omitEmpty(),query_type:s,action:"reject"===t?"reject":"route",server:"reject"===t?void 0:t})}function bf(e,t){const{blockUDP443:r,enableIPv6:n}=globalThis.settings,i=[{ip_cidr:"172.19.0.2",action:"hijack-dns"},{clash_mode:"Direct",outbound:"direct"},{clash_mode:"Global",outbound:"✅ Selector"},{action:"sniff"},{protocol:"dns",action:"hijack-dns"},{ip_is_private:!0,outbound:"direct"}];e?r&&Rf(i,"reject",void 0,void 0,void 0,void 0,"udp","quic",443):Rf(i,"reject",void 0,void 0,void 0,void 0,"udp");const o=yf(),s=Hl(o),a=void 0;[...s.block.geosites,...s.block.domains].length&&Rf(i,"reject",s.block.domains,void 0,s.block.geosites);const c=void 0;[...s.block.geoips,...s.block.ips].length&&Rf(i,"reject",void 0,s.block.ips,void 0,s.block.geoips);const u=void 0;[...s.bypass.geosites,...s.bypass.domains].length&&Rf(i,"direct",s.bypass.domains,void 0,s.bypass.geosites);const l=void 0;[...s.bypass.geoips,...s.bypass.ips].length&&Rf(i,"direct",void 0,s.bypass.ips,void 0,s.bypass.geoips);const d=n?"prefer_ipv4":"ipv4_only",f=void 0;return{rules:i,rule_set:o.reduce((e,t)=>(Mf(e,t),e),[]).omitEmpty(),auto_detect_interface:!0,default_domain_resolver:{server:"dns-direct",strategy:d,rewrite_ttl:60},final:"✅ Selector"}}function Rf(e,t,r,n,i,o,s,a,c){e.push({rule_set:i||o,domain_suffix:r?.length?r:void 0,ip_cidr:n?.length?n:void 0,network:s,protocol:a,port:c,action:"reject"===t?"reject":"route",outbound:"direct"===t?"direct":void 0})}function Mf(e,t){const{geosite:r,geositeURL:n,geoip:i,geoipURL:o}=t,s=(t,r)=>e.push({type:"remote",tag:t,format:"binary",url:r,download_detour:"direct"});r&&n&&s(r,n),i&&o&&s(i,o)}function kf(e,t,r,n,i,o,s,a){return{tag:e,type:t,server:r,server_port:n,tcp_fast_open:i,...o,tls:s,transport:a}}function Sf(e,t,r,n,i){const{dict:{_VL_:o},globalConfig:{userID:s,TrPass:a},settings:{fingerprint:c,enableTFO:u,enableECH:l,echServerName:d}}=globalThis,{host:f,sni:w,allowInsecure:h}=hl(r),A=Pf("ws","none",ul(e),f,void 0,2560),p=pl(n)?Lf("tls",i,h,w,l&&!i,d||void 0,"http/1.1",c):void 0;return kf(t,e,r,n,u,e===o?{uuid:s,packet_encoding:"",network:"tcp"}:{password:a,network:"tcp"},p,A)}function Cf(e,t,r,n){const{host:i,port:o}=Al(r,!1),{warpIPv6:s,reserved:a,publicKey:c,privateKey:u}=e;return{tag:t,detour:n||void 0,type:"wireguard",address:["172.16.0.2/32",s],mtu:1280,peers:[{address:n?"162.159.192.1":i,port:n?2408:o,public_key:c,reserved:ll(a),allowed_ips:["0.0.0.0/0","::/0"],persistent_keepalive_interval:5}],private_key:u}}function _f(){const{dict:{_VL_:e,_TR_:t,_SS_:r,_VM_:n},settings:{outProxy:i,outProxyParams:{protocol:o,server:s,port:a,user:c,pass:u,password:l,method:d,uuid:f,flow:w,security:h,type:A,sni:p,fp:E,host:B,path:H,alpn:g,pbk:m,sid:y,headerType:T,serviceName:x,aid:v}}}=globalThis,{searchParams:b}=new URL(i),R=b.get("ed"),M=R?+R:void 0,k=Lf(h,!1,!1,p||s,!1,void 0,g,E,m,y),S=Pf(A,T,H,B,x,M);switch(o){case"http":return kf("",o,s,a,!1,{username:c,password:u});case"socks":return kf("",o,s,a,!1,{username:c,password:u,version:"5",network:"tcp"});case r:return kf("",o,s,a,!1,{method:d,password:l,network:"tcp"});case e:return kf("",o,s,a,!1,{uuid:f,flow:w,network:"tcp"},k,S);case n:return kf("",o,s,a,!1,{uuid:f,security:"auto",alter_id:v,network:"tcp"},k,S);case t:return kf("",o,s,a,!1,{password:l,network:"tcp"},k,S);default:return}}function Of(e,t,r){const{bestWarpInterval:n,bestVLTRInterval:i}=globalThis.settings;return{type:"urltest",tag:e,outbounds:t,url:"https://www.gstatic.com/generate_204",interrupt_exist_connections:!1,interval:r?`${n}s`:`${i}s`}}function Lf(e,t,r,n,i,o,s,a,c,u){if(!["tls","reality"].includes(e))return;const l=s?.split(",").filter(e=>"h2"!==e),d={enabled:!0,server_name:n,record_fragment:t,insecure:r,alpn:l,utls:{enabled:!!a,fingerprint:a},ech:i?{enabled:!0,query_server_name:o}:void 0};return"tls"===e?d:"reality"===e&&c&&u?{...d,reality:{enabled:!0,public_key:c,short_id:u}}:void 0}function Pf(e,t,r="/",n,i,o){switch(r=r?.split("?")[0],e){case"tcp":return"http"===t?{type:"http",host:n?.split(","),path:r,method:"GET",headers:{Connection:["keep-alive"],"Content-Type":["application/octet-stream"]}}:void 0;case"ws":return{type:"ws",path:r?.split("?ed=")[0],max_early_data:o,early_data_header_name:o?"Sec-WebSocket-Protocol":void 0,headers:{Host:n}};case"httpupgrade":return{type:"httpupgrade",host:n,path:r?.split("?ed=")[0]};case"grpc":return{type:"grpc",service_name:i};default:return}}var Df={type:"tun",tag:"tun-in",address:["172.19.0.1/28"],mtu:9e3,auto_route:!0,strict_route:!0,stack:"mixed"};function If(){const{allowLANConnection:e}=globalThis.settings;return{type:"mixed",tag:"mixed-in",listen:e?"0.0.0.0":"127.0.0.1",listen_port:2080}}async function Nf(e,t,r,n,i,o,s){const{logLevel:a}=globalThis.settings,c={log:{disabled:"none"===a,level:"none"===a?void 0:"warning"===a?"warn":a,timestamp:!0},dns:await Tf(o,s),inbounds:[Df,If()],outbounds:[...e,{type:"selector",tag:"✅ Selector",outbounds:r,interrupt_exist_connections:!1},{type:"direct",tag:"direct"}],endpoints:t.omitEmpty(),route:bf(o,s),ntp:{enabled:!0,server:"time.cloudflare.com",server_port:123,domain_resolver:"dns-direct",interval:"30m",write_to_system:!1},experimental:{cache_file:{enabled:!0,store_fakeip:!0},clash_api:{external_controller:"127.0.0.1:9090",external_ui:"ui",default_mode:"Rule",external_ui_download_url:"https://github.com/MetaCubeX/metacubexd/archive/refs/heads/gh-pages.zip",external_ui_download_detour:"direct"}}},u=void 0,l=Of(o?"💦 Warp - Best Ping 🚀":"💦 Best Ping 🚀",n,o);return c.outbounds.push(l),o&&c.outbounds.push(Of("💦 WoW - Best Ping 🚀",i,o)),s&&c.outbounds.push(Of("💦 🔗 Best Ping 🚀",i,o)),c}async function Uf(e){const{outProxy:t,ports:r}=globalThis.settings,n=t?_f():void 0,i=!!n,o=[],s=[],a=[],c=il(),u=await ol(e),l=r.filter(t=>!e||pl(t)),d=["💦 Best Ping 🚀"].concatIf(i,"💦 🔗 Best Ping 🚀");c.forEach(t=>{let r=1;l.forEach(c=>{u.forEach(u=>{const l=sl(r,c,u,t,e,!1),f=Sf(t,l,u,c,e);if(a.push(f),o.push(l),d.push(l),i){const i=sl(r,c,u,t,e,!0),o=structuredClone(n);o.tag=i,o.detour=l,a.push(o),s.push(i),d.push(i)}r++})})});const f=await Nf(a,[],d,o,s,!1,i);return new Response(JSON.stringify(f,null,4),{status:200,headers:{"Content-Type":"text/plain;charset=utf-8","Cache-Control":"no-store","CDN-Cache-Control":"no-store"}})}async function zf(e,t){const{warpEndpoints:r}=globalThis.settings,{warpAccounts:n}=await bl(e,t),i=[],o=[],s=[],a=["💦 Warp - Best Ping 🚀","💦 WoW - Best Ping 🚀"];r.forEach((e,t)=>{const r=`💦 ${t+1} - Warp 🇮🇷`;i.push(r);const c=`💦 ${t+1} - WoW 🌍`;o.push(c),a.push(r,c);const u=Cf(n[0],r,e),l=Cf(n[1],c,e,r);s.push(u,l)});const c=await Nf([],s,a,i,o,!0,!1);return new Response(JSON.stringify(c,null,4),{status:200,headers:{"Content-Type":"text/plain;charset=utf-8","Cache-Control":"no-store","CDN-Cache-Control":"no-store"}})}function Xf(){const{localDNS:e,antiSanctionDNS:t,blockMalware:r,blockPhishing:n,blockCryptominers:i,blockAds:o,blockPorn:s,bypassIran:a,bypassChina:c,bypassRussia:u,bypassOpenAi:l,bypassGoogleAi:d,bypassMicrosoft:f,bypassOracle:w,bypassDocker:h,bypassAdobe:A,bypassEpicGames:p,bypassIntel:E,bypassAmd:B,bypassNvidia:H,bypassAsus:g,bypassHp:m,bypassLenovo:y}=globalThis.settings;return[{rule:o,type:"block",geosite:"geosite:category-ads-all"},{rule:o,type:"block",geosite:"geosite:category-ads-ir"},{rule:s,type:"block",geosite:"geosite:category-porn"},{rule:r,type:"block",geosite:"geosite:malware",geoip:"geoip:malware"},{rule:n,type:"block",geosite:"geosite:phishing",geoip:"geoip:phishing"},{rule:i,type:"block",geosite:"geosite:cryptominers"},{rule:a,type:"direct",geosite:"geosite:category-ir",geoip:"geoip:ir",dns:e},{rule:c,type:"direct",geosite:"geosite:cn",geoip:"geoip:cn",dns:e},{rule:u,type:"direct",geosite:"geosite:category-ru",geoip:"geoip:ru",dns:e},{rule:l,type:"direct",geosite:"geosite:openai",dns:t},{rule:d,type:"direct",geosite:"geosite:google-deepmind",dns:t},{rule:f,type:"direct",geosite:"geosite:microsoft",dns:t},{rule:w,type:"direct",geosite:"geosite:oracle",dns:t},{rule:h,type:"direct",geosite:"geosite:docker",dns:t},{rule:A,type:"direct",geosite:"geosite:adobe",dns:t},{rule:p,type:"direct",geosite:"geosite:epicgames",dns:t},{rule:E,type:"direct",geosite:"geosite:intel",dns:t},{rule:B,type:"direct",geosite:"geosite:amd",dns:t},{rule:H,type:"direct",geosite:"geosite:nvidia",dns:t},{rule:g,type:"direct",geosite:"geosite:asus",dns:t},{rule:m,type:"direct",geosite:"geosite:hp",dns:t},{rule:y,type:"direct",geosite:"geosite:lenovo",dns:t}].filter(({rule:e})=>e)}async function jf(e,t,r,n,i,o){const{localDNS:s,remoteDNS:a,warpRemoteDNS:c,antiSanctionDNS:u,remoteDnsHost:l,enableIPv6:d,fakeDNS:f}=globalThis.settings,w={},h=[],A=[];if(l.isDomain&&!t&&!r){const{ipv4:e,ipv6:t,host:r}=l;w[r]=e.concatIf(d,t)}if(n){const{ipv4:e,ipv6:t}=await rl(n,d);w[n]=[...e,...t]}let p=!0,E=r?c:a;t&&(E=`https://${i}/dns-query`,i&&o&&(w[i]=o),p=!1);const B=Wf(E,void 0,void 0,void 0,void 0,"remote-dns");h.push(B);const H=void 0,g=gl(Xf()),m=void 0;[...g.block.geosites,...g.block.domains.map(e=>`domain:${e}`)].forEach(e=>w[e]="#3"),g.bypass.localDNS.geositeGeoips.forEach(({geosite:e,geoip:t})=>{const r=Wf(s,[e],[t],p);h.push(r),A.push(e)});const y=[...g.bypass.antiSanctionDNS.geosites,...g.bypass.antiSanctionDNS.domains.map(e=>`domain:${e}`)],T=[...g.bypass.localDNS.geosites,...g.bypass.localDNS.domains.map(e=>`domain:${e}`),...e.filter(tl).map(e=>`full:${e}`)];if(y.length){const e=Wf(u,y,void 0,p,!0);h.push(e);const{host:t,isHostDomain:r}=wl(u);r&&T.push(`full:${t}`)}if(o?.filter(tl).forEach(e=>T.push(`full:${e}`)),T.length){const e=Wf(s,T,void 0,p);h.push(e),A.push(...T)}if(f){const e=A.length?Wf("fakedns",A,void 0,!1,void 0):"fakedns";h.unshift(e)}return{hosts:w.omitEmpty(),servers:h,queryStrategy:r&&!d?"UseIPv4":"UseIP",tag:"dns"}}function Wf(e,t,r,n,i,o){return{address:e,domains:t,expectIPs:r,skipFallback:n,finalQuery:i,tag:o}}function Ff(e,t,r,n){const{blockUDP443:i}=globalThis.settings,o=[{inboundTag:["mixed-in"],port:53,outboundTag:"dns-out",type:"field"},{inboundTag:["dns-in"],outboundTag:"dns-out",type:"field"}],s=void 0,a=t?e?"all-chains":"all-proxies":e?"chain":r?"direct":"proxy",c=void 0;Jf(o,["remote-dns"],void 0,void 0,void 0,void 0,void 0,t?"all-proxies":"proxy",t),Jf(o,["dns"],void 0,void 0,void 0,void 0,void 0,"direct",!1),Jf(o,void 0,["geosite:private"],void 0,void 0,void 0,void 0,"direct",!1),Jf(o,void 0,void 0,["geoip:private"],void 0,void 0,void 0,"direct",!1),n||r?i&&Jf(o,void 0,void 0,void 0,443,"udp",void 0,"block",!1):Jf(o,void 0,void 0,void 0,void 0,"udp",void 0,"block",!1);const u=void 0,l=Hl(Xf()),d=[...l.block.geosites,...l.block.domains.map(e=>`domain:${e}`)];d.length&&Jf(o,void 0,d,void 0,void 0,void 0,void 0,"block");const f=[...l.block.geoips,...l.block.ips];f.length&&Jf(o,void 0,void 0,f,void 0,void 0,void 0,"block");const w=[...l.bypass.geosites,...l.bypass.domains.map(e=>`domain:${e}`)];w.length&&Jf(o,void 0,w,void 0,void 0,void 0,void 0,"direct");const h=[...l.bypass.geoips,...l.bypass.ips];h.length&&Jf(o,void 0,void 0,h,void 0,void 0,void 0,"direct"),r&&(Jf(o,void 0,void 0,void 0,void 0,"tcp",["tls"],"proxy",!1),Jf(o,void 0,void 0,void 0,void 0,"tcp",["http"],"http-fragment",!1),Jf(o,void 0,void 0,void 0,void 0,"udp",["quic"],"udp-noise",!1),Jf(o,void 0,void 0,void 0,"443,2053,2083,2087,2096,8443","udp",void 0,"udp-noise",!1));const A=void 0;return Jf(o,void 0,void 0,void 0,void 0,n||r?"tcp,udp":"tcp",void 0,a,t),o}var Jf=(e,t,r,n,i,o,s,a,c)=>e.push({inboundTag:t,domain:r,ip:n,port:i,network:o,protocol:s,balancerTag:c?a:void 0,outboundTag:c?void 0:a,type:"field"});function Kf(e,t,r){const n=void 0;return{listen:e?"0.0.0.0":"127.0.0.1",port:10808,protocol:"socks",settings:{auth:"noauth",udp:!0},sniffing:{destOverride:["http","tls"].concatIf(t,"quic").concatIf(r,"fakedns"),enabled:!0,routeOnly:!0},tag:"mixed-in"}}function Yf(e){return{listen:e?"0.0.0.0":"127.0.0.1",port:10853,protocol:"dokodemo-door",settings:{address:"1.1.1.1",network:"tcp,udp",port:53},tag:"dns-in"}}function Zf(e,t,r,n,i){return{protocol:e,mux:r?{enabled:!0,concurrency:8,xudpConcurrency:16,xudpProxyUDP443:"reject"}:void 0,settings:n,streamSettings:i,tag:t}}function Gf(e,t,r,n,i,o){const{fragmentPackets:s,fragmentLengthMin:a,fragmentLengthMax:c,fragmentIntervalMin:u,fragmentIntervalMax:l,fragmentMaxSplitMin:d,fragmentMaxSplitMax:f,enableTFO:w,xrayUdpNoises:h,enableIPv6:A}=globalThis.settings;let p={},E;if(e&&(p={fragment:{packets:o||s,length:n||ml(a,c),interval:i||ml(u,l),maxSplit:ml(d,f)}},E={sockopt:ew(!0,w,"UseIP")}),t){const t=[];h.forEach(e=>{const{count:r,...n}=e;t.push(...Array.from({length:r},()=>n))}),p={...p,noises:t,domainStrategy:e?void 0:A?"UseIPv4v6":"UseIPv4"}}return{protocol:"freedom",settings:p,streamSettings:E,tag:r}}function Vf(e,t,r,n){const{settings:{fingerprint:i,enableTFO:o,enableECH:s,echServerName:a},globalConfig:{userID:c,TrPass:u},dict:{_VL_:l}}=globalThis,d=pl(r),{host:f,sni:w,allowInsecure:h}=hl(t),A=d?tw(w,i,"http/1.1",h,s&&!n,a||void 0):void 0,p={network:"ws",...$f("ws","none",`${ul(e)}?ed=2560`,f),security:d?"tls":"none",tlsSettings:A,sockopt:n?ew(!1,!1,void 0,"fragment"):ew(!0,o,"UseIP")};return Zf(e,"proxy",!1,e===l?{vnext:[{address:t,port:r,users:[{id:c,encryption:"none"}]}]}:{servers:[{address:t,port:r,password:u}]},p)}function Qf(e,t,r,n){const{warpIPv6:i,reserved:o,publicKey:s,privateKey:a}=e,{client:c}=globalThis.httpConfig;let u={address:["172.16.0.2/32",i],mtu:1280,peers:[{endpoint:r?"162.159.192.1:2408":t,publicKey:s,keepAlive:5}],reserved:ll(o),secretKey:a};const l=r?"proxy":n&&"xray"===c?"udp-noise":"",d=l?{sockopt:ew(!1,!1,void 0,l)}:void 0;if("xray-knocker"===c&&!r){const{knockerNoiseMode:e,noiseCountMin:t,noiseCountMax:r,noiseSizeMin:n,noiseSizeMax:i,noiseDelayMin:o,noiseDelayMax:s}=globalThis.settings;u={...u,wnoise:e,wnoisecount:ml(t,r),wpayloadsize:ml(n,i),wnoisedelay:ml(o,s)}}return{protocol:"wireguard",settings:u,streamSettings:d,tag:r?"chain":"proxy"}}function qf(){const{dict:{_VL_:e,_TR_:t,_SS_:r,_VM_:n},settings:{outProxyParams:{protocol:i,server:o,port:s,user:a,pass:c,password:u,method:l,uuid:d,flow:f,security:w,type:h,sni:A,fp:p,host:E,path:B,alpn:H,pbk:g,sid:m,spx:y,headerType:T,serviceName:x,mode:v,authority:b}}}=globalThis,R={network:h||"raw",...$f(h,T,B,E,x,v,b),security:w,tlsSettings:"tls"===w?tw(A||o,p,H,!1,!1,void 0):void 0,realitySettings:"reality"===w?rw(A,p,g,m,y):void 0,sockopt:ew(!1,!1,"UseIPv4","proxy")},M=!("reality"===w||"grpc"===h);switch(i){case"http":case"socks":return Zf(i,"chain",M,{servers:[{address:o,port:s,users:[{user:a,pass:c}]}]},R);case r:return Zf(i,"chain",M,{servers:[{address:o,port:s,method:l,password:u}]},R);case e:return Zf(i,"chain",M,{vnext:[{address:o,port:s,users:[{id:d,flow:f,encryption:"none"}]}]},R);case n:return Zf(i,"chain",M,{vnext:[{address:o,port:s,users:[{id:d,security:"auto"}]}]},R);case t:return Zf(i,"chain",M,{servers:[{address:o,port:s,password:u}]},R);default:return}}function $f(e,t,r="/",n,i,o,s){switch(e){case"tcp":case"raw":return{rawSettings:{header:"http"===t?{type:"http",request:{headers:{Host:n?.split(","),"Accept-Encoding":["gzip, deflate"],Connection:["keep-alive"],Pragma:"no-cache"},path:r.split(","),method:"GET",version:"1.1"}}:{type:"none"}}};case"ws":return{wsSettings:{host:n,path:r}};case"httpupgrade":return{httpupgradeSettings:{host:n,path:r}};case"grpc":return{grpcSettings:{authority:s,multiMode:"multi"===o,serviceName:i}};default:return{}}}function ew(e,t,r,n){return{domainStrategy:r,dialerProxy:n,tcpFastOpen:t||void 0,happyEyeballs:e?{tryDelayMs:250,prioritizeIPv6:!1,interleave:2,maxConcurrentTry:4}:void 0}}function tw(e,t,r,n,i,o){const{localDNS:s}=globalThis.settings,a="localhost"===s?"8.8.8.8":s;return{serverName:e,fingerprint:t,alpn:r?.split(","),allowInsecure:n,echConfigList:i?o?`${o}+udp://${a}`:`udp://${a}`:void 0}}function rw(e,t,r,n,i){return{serverName:e,fingerprint:t,publicKey:r,shortId:n,spiderX:i,show:!1,allowInsecure:!1}}function nw(e,t,r){return{tag:e,selector:[t],strategy:{type:"leastPing"},fallbackTag:r?"proxy-2":void 0}}async function iw(e,t,r,n,i,o,s,a,c,u,l){const{fakeDNS:d,bestWarpInterval:f,bestVLTRInterval:w,logLevel:h,allowLANConnection:A}=globalThis.settings;let p,E;r&&(p=[nw("all-proxies","proxy",i)].concatIf(n,nw("all-chains","chain",!1)),E={subjectSelector:n?["chain","proxy"]:["proxy"],probeUrl:"https://www.gstatic.com/generate_204",probeInterval:`${o?f:w}s`,enableConcurrency:!0});const B=void 0;return{remarks:e,version:{min:"25.10.15"},log:{loglevel:h},dns:await jf(a,s,o,c,u,l),inbounds:[Kf(A,s,d),Yf(A)],outbounds:[...t,{protocol:"dns",settings:{nonIPQuery:"reject"},tag:"dns-out"},{protocol:"freedom",settings:{domainStrategy:"UseIP"},tag:"direct"},{protocol:"blackhole",settings:{response:{type:"http"}},tag:"block"}],routing:{domainStrategy:"IPIfNonMatch",rules:Ff(n,r,s,o),balancers:p},observatory:E,policy:{levels:{0:{connIdle:300,handshake:4,uplinkOnly:1,downlinkOnly:1}},system:{statsOutboundUplink:!0,statsOutboundDownlink:!0}},stats:{}}}async function ow(e,t,r,n,i){const o=!!n.length,s=void 0,a=void 0,c=`💦 ${o?"🔗 ":""}Best Ping${i?" F":""} 🚀`,u=[...n,...r];if(i){const e=Gf(!0,!1,"fragment");u.push(e)}const l=await iw(c,u,!0,o,!0,!1,!1,t);o&&await ow(e,t,r,[],i),e.push(l)}async function sw(e,t,r){const{httpConfig:{hostName:n},settings:{fragmentIntervalMin:i,fragmentIntervalMax:o}}=globalThis,s=!!r,a=[],c=void 0;["1-5","1-10","10-20","20-30","30-40","40-50","50-60","60-70","70-80","80-90","90-100","10-30","20-40","30-50","40-60","50-70","60-80","70-90","80-100","100-200"].forEach((e,n)=>{if(s){const e=lw(r,`chain-${n+1}`,`proxy-${n+1}`);a.push(e)}const c=lw(t,`proxy-${n+1}`,`fragment-${n+1}`),u=void 0,l=Gf(!0,!1,`fragment-${n+1}`,e,ml(i,o));a.push(c,l)});const u=s?"🔗 ":"",l=await iw(`💦 ${u}Best Fragment 😎`,a,!0,s,!1,!1,!1,[],n);r&&await sw(e,t),e.push(l)}async function aw(e){const t=Gf(!0,!1,"proxy"),r=Gf(!1,!0,"udp-noise"),n=void 0,i=[t,Gf(!0,!1,"http-fragment",void 0,void 0,"1-1"),r],o=await iw("💦 1 - Workerless ⭐",i,!1,!1,!1,!1,!0,[],void 0,"cloudflare-dns.com",["cloudflare.com"]),s=await iw("💦 2 - Workerless ⭐",i,!1,!1,!1,!1,!0,[],void 0,"dns.google",["8.8.8.8","8.8.4.4"]);e.push(o,s)}async function cw(e){const{outProxy:t,ports:r}=globalThis.settings,n=t?qf():void 0,i=await ol(e),o=r.filter(t=>!e||pl(t)),s=il(),a=[],c=[],u=[],l=e?[Gf(!0,!1,"fragment")]:[];let d=1;for(const t of s){let r=1;for(const s of o)for(const o of i){const i=Vf(t,o,s,e),f=[i,...l],w=lw(i,`proxy-${d}`);c.push(w);const h=sl(r,s,o,t,e,!1),A=await iw(h,f,!1,!1,!1,!1,!1,[o]);if(a.push(A),n){const i=sl(r,s,o,t,e,!0),c=await iw(i,[n,...f],!1,!0,!1,!1,!1,[o]);a.push(c);const l=lw(n,`chain-${d}`,`proxy-${d}`);u.push(l)}r++,d++}}return await ow(a,i,c,u,e),e&&(await sw(a,c[0],n),await aw(a)),new Response(JSON.stringify(a,null,4),{status:200,headers:{"Content-Type":"text/plain;charset=utf-8","Cache-Control":"no-store","CDN-Cache-Control":"no-store"}})}async function uw(e,t,r,n){const{warpEndpoints:i}=globalThis.settings,{warpAccounts:o}=await bl(e,t),s=r?" Pro ":" ",a=[],c=[],u=[],l=[],d=r&&!n?[Gf(!1,!0,"udp-noise")]:[];for(const[e,t]of i.entries()){const{host:n}=Al(t);tl(n)&&l.push(n);const i=Qf(o[0],t,!1,r),f=Qf(o[1],t,!0,r),w=await iw(`💦 ${e+1} - Warp${s}🇮🇷`,[i,...d],!1,!1,!1,!0,!1,[n]),h=await iw(`💦 ${e+1} - WoW${s}🌍`,[f,i,...d],!1,!0,!1,!0,!1,[n]);a.push(w,h);const A=lw(i,`proxy-${e+1}`);c.push(A);const p=lw(f,`chain-${e+1}`,`proxy-${e+1}`);u.push(p)}const f=await iw(`💦 Warp${s}- Best Ping 🚀`,[...c,...d],!0,!1,!1,!0,!1,l),w=await iw(`💦 WoW${s}- Best Ping 🚀`,[...u,...c,...d],!0,!0,!1,!0,!1,l);return a.push(f,w),new Response(JSON.stringify(a,null,4),{status:200,headers:{"Content-Type":"text/plain;charset=utf-8","Cache-Control":"no-store","CDN-Cache-Control":"no-store"}})}function lw(e,t,r){const n=structuredClone(e);return n.tag=t,r&&n.streamSettings&&(n.streamSettings.sockopt.dialerProxy=r),n}import{connect as dw}from"cloudflare:sockets";var fw=1,ww=2;async function hw(e,t,r,n,i,o,s){async function a(t,r){const i=dw({hostname:t,port:r});e.value=i,s(`connected to ${t}:${r}`);const o=i.writable.getWriter();return await o.write(n),o.releaseLock(),i}async function c(){const{proxyMode:e,panelIPs:n,envProxyIPs:c,defaultProxyIPs:u,envPrefixes:l,defaultPrefixes:d}=globalThis.wsConfig,f=e=>e[Math.floor(Math.random()*e.length)],w=e=>e?e.split(",").map(e=>e.trim()).filter(Boolean):void 0;if("proxyip"===e){s(`direct connection failed, trying to use Proxy IP for ${t}`);const e=void 0,i=f(n?.length?n:w(c)??u),{host:o,port:a}=Al(i,!0);t=o||t,r=a||r}else if("prefix"===e){s(`direct connection failed, trying to generate dynamic prefix for ${t}`);const e=void 0,r=f(n?.length?n:w(l)??d),o=await gw(t,r);o?t=o:i.close(1011,"Retry connection failed: Invalid Prefix")}try{const e=await a(t,r);e.closed.catch(e=>console.log("retry TCP socket closed error",e)).finally(()=>Hw(i)),Aw(e,i,o,null,s)}catch(e){const t=e instanceof Error?e.message:String(e);console.error("Retry connection failed:",e),i.close(1011,`Retry connection failed: ${t}`)}}try{const e=void 0;Aw(await a(t,r),i,o,c,s)}catch(e){const t=e instanceof Error?e.message:String(e);console.error(`Connection failed: ${e}`),i.close(1011,`Connection failed: ${t}`)}}async function Aw(e,t,r,n,i){let o=r,s=!1;const a=new WritableStream({start(){},async write(e,r){s=!0,1!==t.readyState&&r.error("webSocket.readyState is not open, maybe close"),o?(t.send(await new Blob([o,e]).arrayBuffer()),o=null):t.send(e)},close(){i(`remoteConnection.readable is close with hasIncomingData is ${s}`)},abort(t){console.error("remoteConnection.readable abort",t),Bw(e)}});try{await e.readable.pipeTo(a)}catch(r){console.error("VLRemoteSocketToWS has exception.",r),Bw(e),Hw(t)}!1===s&&n&&(i("retry"),n())}function pw(e,t,r){let n=!1;const i=void 0;return new ReadableStream({start(i){e.addEventListener("message",e=>{if(n)return;const t=e.data;i.enqueue(t)}),e.addEventListener("close",()=>{Hw(e),n||i.close()}),e.addEventListener("error",e=>{r("webSocketServer has error"),i.error(e)});const{earlyData:o,error:s}=Ew(t);s?i.error(s):o&&i.enqueue(o)},pull(e){},cancel(t){n||(r(`ReadableStream was canceled, due to ${t}`),n=!0,Hw(e))}})}function Ew(e){if(!e)return{earlyData:null,error:null};try{e=e.replace(/-/g,"+").replace(/_/g,"/");const t=atob(e),r=void 0;return{earlyData:Uint8Array.from(t,e=>e.charCodeAt(0)).buffer,error:null}}catch(e){return{earlyData:null,error:e}}}function Bw(e){if(e)try{e.close()}catch(e){console.error("Failed to close TCP socket:",e)}}function Hw(e){try{1!==e.readyState&&2!==e.readyState||e.close()}catch(e){console.error("safeCloseWebSocket error",e)}}async function gw(e,t){let r=e;if(!dl(e)){const{ipv4:t}=await rl(e,!0);if(!t.length)throw new Error("Unable to find IPv4 in DNS records");r=t[0]}return mw(r,t)}function mw(e,t){const r=e.split(".");if(4!==r.length)throw new Error("Invalid IPv4 address");const n=r.map(e=>{const t=parseInt(e,10);if(t<0||t>255)throw new Error("Invalid IPv4 address");return t.toString(16).padStart(2,"0")}),i=t.match(/^\[([0-9A-Fa-f:]+)\]$/);if(i)return`[${i[1]}${n[0]}${n[1]}:${n[2]}${n[3]}]`}async function yw(e){const t=new WebSocketPair,[r,n]=Object.values(t);n.accept();let i="",o="";const s=(e,t)=>{console.log(`[${i}:${o}] ${e}`,t||"")},a=e.headers.get("sec-websocket-protocol")||"",c=pw(n,a,s);let u={value:null},l=null,d=!1;const f=new WritableStream({async write(e){if(d&&l)return l(e);if(u.value){const t=u.value.writable.getWriter();return await t.write(e),void t.releaseLock()}const{userID:t}=globalThis.globalConfig,{hasError:r,message:a,portRemote:c=443,addressRemote:f="",rawDataIndex:w,VLVersion:h=new Uint8Array([0,0]),isUDP:A}=Tw(e,t);if(i=f,o=`${c}--${Math.random()} ${A?"udp ":"tcp "} `,r)throw new Error(a);const p=new Uint8Array([h[0],0]),E=e.slice(w);if(A){if(53===c){d=!0;const{write:e}=await bw(n,p,s);return l=e,void l(E)}throw new Error("UDP proxy only enable for DNS which is port 53")}hw(u,f,c,E,n,p,s)},close(){Bw(u.value)},abort(e){s("readableWebSocketStream is abort",JSON.stringify(e))}});return c.pipeTo(f).catch(e=>{s("readableWebSocketStream pipeTo error",e),Bw(u.value)}),new Response(null,{status:101,webSocket:r})}function Tw(e,t){if(e.byteLength<24)return{hasError:!0,message:"invalid data"};const r=new Uint8Array(e.slice(0,1)),n=void 0,i=void 0,o=void 0;if(!(vw(new Uint8Array(e.slice(1,17)))===t))return{hasError:!0,message:"invalid user"};const s=new Uint8Array(e.slice(17,18))[0],a=new Uint8Array(e.slice(18+s,18+s+1))[0];let c=!1;if(1===a);else{if(2!==a)return{hasError:!0,message:`command ${a} is not supported, command 01-tcp,02-udp,03-mux`};c=!0}const u=18+s+1,l=e.slice(u,u+2),d=new DataView(l).getUint16(0);let f=u+2;const w=void 0,h=new Uint8Array(e.slice(f,f+1))[0];let A=0,p=f+1,E="";switch(h){case 1:A=4,E=new Uint8Array(e.slice(p,p+A)).join(".");break;case 2:A=new Uint8Array(e.slice(p,p+1))[0],p+=1,E=(new TextDecoder).decode(e.slice(p,p+A));break;case 3:{A=16;const t=new DataView(e.slice(p,p+A)),r=[];for(let e=0;e<8;e++)r.push(t.getUint16(2*e).toString(16));E=r.join(":");break}default:return{hasError:!0,message:`invalid addressType is ${h}`}}return E?{hasError:!1,addressRemote:E,addressType:h,portRemote:d,rawDataIndex:p+A,VLVersion:r,isUDP:c}:{hasError:!0,message:`addressValue is empty, addressType is ${h}`}}function xw(e,t=0){const r=[];for(let e=0;e<256;++e)r.push((e+256).toString(16).slice(1));return(r[e[t+0]]+r[e[t+1]]+r[e[t+2]]+r[e[t+3]]+"-"+r[e[t+4]]+r[e[t+5]]+"-"+r[e[t+6]]+r[e[t+7]]+"-"+r[e[t+8]]+r[e[t+9]]+"-"+r[e[t+10]]+r[e[t+11]]+r[e[t+12]]+r[e[t+13]]+r[e[t+14]]+r[e[t+15]]).toLowerCase()}function vw(e,t=0){const r=xw(e,t);if(!xl(r))throw TypeError("Stringified UUID is invalid");return r}async function bw(e,t,r){let n=!1;const i=new TransformStream({start(e){},transform(e,t){for(let r=0;r<e.byteLength;){const n=e.slice(r,r+2),i=new DataView(n).getUint16(0),o=new Uint8Array(e.slice(r+2,r+2+i));r=r+2+i,t.enqueue(o)}},flush(e){}});i.readable.pipeTo(new WritableStream({async write(i){const o=await fetch("https://cloudflare-dns.com/dns-query",{method:"POST",headers:{"content-type":"application/dns-message"},body:i}),s=await o.arrayBuffer(),a=s.byteLength,c=new Uint8Array([a>>8&255,255&a]);1===e.readyState&&(r(`doh success and dns message length is ${a}`),n?e.send(await new Blob([c,s]).arrayBuffer()):(e.send(await new Blob([t,c,s]).arrayBuffer()),n=!0))}})).catch(e=>{r("dns udp has error"+e)});const o=i.writable.getWriter();return{write(e){o.write(e)}}}async function Rw(e){const t=new WebSocketPair,[r,n]=Object.values(t);n.accept();let i="",o="";const s=(e,t)=>{console.log(`[${i}:${o}] ${e}`,t||"")},a=e.headers.get("sec-websocket-protocol")||"",c=pw(n,a,s);let u={value:null},l=null;const d=new WritableStream({async write(e,t){if(null)return l(e);if(u.value){const t=u.value.writable.getWriter();return await t.write(e),void t.releaseLock()}const{hasError:r,message:a,portRemote:c=443,addressRemote:d="",rawClientData:f}=Mw(e);if(i=d,o=`${c}--${Math.random()} tcp`,r)throw new Error(a);hw(u,d,c,f,n,null,s)},close(){Bw(u.value)},abort(e){s("readableWebSocketStream is aborted",JSON.stringify(e))}});return c.pipeTo(d).catch(e=>{s("readableWebSocketStream pipeTo error",e),Bw(u.value)}),new Response(null,{status:101,webSocket:r})}function Mw(e){if(e.byteLength<56)return{hasError:!0,message:"invalid data"};let t=56;const r=new Uint8Array(e.slice(t,57))[0],n=new Uint8Array(e.slice(57,58))[0];if(13!==r||10!==n)return{hasError:!0,message:"invalid header format (missing CR LF)"};const i=(new TextDecoder).decode(e.slice(0,t)),{TrPass:o}=globalThis.globalConfig;if(i!==kw(o))return{hasError:!0,message:"invalid password"};const s=e.slice(58);if(s.byteLength<6)return{hasError:!0,message:"invalid SOCKS5 request data"};const a=new DataView(s),c=void 0;if(1!==a.getUint8(0))return{hasError:!0,message:"unsupported command, only TCP (CONNECT) is allowed"};const u=a.getUint8(1);let l=0,d=2,f="";switch(u){case 1:l=4,f=new Uint8Array(s.slice(d,d+l)).join(".");break;case 3:l=new Uint8Array(s.slice(d,d+1))[0],d+=1,f=(new TextDecoder).decode(s.slice(d,d+l));break;case 4:{l=16;const e=new DataView(s.slice(d,d+l)),t=[];for(let r=0;r<8;r++)t.push(e.getUint16(2*r).toString(16));f=t.join(":");break}default:return{hasError:!0,message:`invalid addressType is ${u}`}}if(!f)return{hasError:!0,message:`address is empty, addressType is ${u}`};const w=d+l,h=s.slice(w,w+2),A=void 0;return{hasError:!1,addressRemote:f,portRemote:new DataView(h).getUint16(0),rawClientData:s.slice(w+4)}}function kw(e){const t=(e,t)=>e>>>t|e<<32-t,r=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428],n=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],i=void 0,o=(e=>{const t=[];for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);n<128?t.push(n):n<2048?t.push(192|n>>6,128|63&n):n<55296||n>=57344?t.push(224|n>>12,128|n>>6&63,128|63&n):(r++,n=65536+((1023&n)<<10|1023&e.charCodeAt(r)),t.push(240|n>>18,128|n>>12&63,128|n>>6&63,128|63&n))}return t})(e),s=8*o.length;for(o.push(128);o.length%64!=56;)o.push(0);const a=Math.floor(s/4294967296),c=4294967295&s;for(let e=3;e>=0;e--)o.push(a>>8*e&255);for(let e=3;e>=0;e--)o.push(c>>8*e&255);for(let e=0;e<o.length;e+=64){const i=new Array(64).fill(0);for(let t=0;t<16;t++)i[t]=o[e+4*t]<<24|o[e+4*t+1]<<16|o[e+4*t+2]<<8|o[e+4*t+3];for(let e=16;e<64;e++){const r=t(i[e-15],7)^t(i[e-15],18)^i[e-15]>>>3,n=t(i[e-2],17)^t(i[e-2],19)^i[e-2]>>>10;i[e]=i[e-16]+r+i[e-7]+n|0}let[s,a,c,u,l,d,f,w]=r;for(let e=0;e<64;e++){const r=void 0,o=void 0,h=w+(t(l,6)^t(l,11)^t(l,25))+(l&d^~l&f)+n[e]+i[e]|0,A=void 0,p=s&a^s&c^a&c,E=void 0;w=f,f=d,d=l,l=u+h|0,u=c,c=a,a=s,s=h+((t(s,2)^t(s,13)^t(s,22))+p|0)|0}r[0]=r[0]+s|0,r[1]=r[1]+a|0,r[2]=r[2]+c|0,r[3]=r[3]+u|0,r[4]=r[4]+l|0,r[5]=r[5]+d|0,r[6]=r[6]+f|0,r[7]=r[7]+w|0}return r.slice(0,7).map(e=>("00000000"+(e>>>0).toString(16)).slice(-8)).join("")}var Sw=Qu(qu(),1);async function Cw(e){const{pathName:t}=globalThis.globalConfig,r=t.replace("/","");try{const{protocol:t,mode:n,panelIPs:i}=JSON.parse(atob(r));switch(globalThis.wsConfig={...globalThis.wsConfig,wsProtocol:t,proxyMode:n,panelIPs:i},t){case"vl":return await yw(e);case"tr":return await Rw(e);default:return await jw(e)}}catch(e){return new Response("Failed to parse WebSocket path config",{status:400})}}async function _w(e,t){const{pathName:r}=globalThis.globalConfig;switch(r){case"/panel":return await Yw(e,t);case"/panel/settings":return await Xw(e,t);case"/panel/update-settings":return await Uw(e,t);case"/panel/reset-settings":return await zw(e,t);case"/panel/reset-password":return await rf(e,t);case"/panel/my-ip":return await Ww(e);case"/panel/update-warp":return await Vw(e,t);case"/panel/get-warp-configs":return await Fw(e,t);default:return await jw(e)}}async function Ow(e,t){const r=void 0;if(!await tf(e,t)){const{urlOrigin:e}=globalThis.httpConfig;return Response.redirect(`${e}/login`,302)}const{pathName:n}=globalThis.globalConfig;switch(n){case"/proxy-ip":return await Pw();case"/proxy-ip/get":return await Jw();default:return await jw(e)}}async function Lw(e){const t=e instanceof Error?e.message:String(e),r=void 0,n=(await Qw("H4sIAAAAAAAAA4VU7W7TMBR9Fa+IdZWapB8b2hLHEoOCkDZtWscPflWufZOYOnZku2lL1TfgFXg5ngQ5ydjGQCiJFZ8b33vu8Ynx0fubd/dfbmeocKUk2I9IUpWnoAgugHKCS3AUsYIaCy79fP8hOO8wRUtIawGbShuHmFYOlEt7G8FdkXKoBYOgmQyFEk5QGVhGJaTjHsFOOAnk8vYS3VIFEtWn4Tic4qjFsRRqhQzIVDCtUGEgS6OM1n4WCqYJtm4ngcRGa7cPAqalNvFSUrZKgsDTBtOBr0YXb6YXWRIES8pWudFrxR9CWdbg2jz5nHP+mMIWlOtNPKm2yD+n1RaZfElPRkPU3eHkbHBYar4beun2BYi8cPF4NHqdNK23ryU1uVDxKOHCVpLu4kzCNvm6tk5ku6BTLmagHJiESpGrQDgo7QOUaeWCjJZC7mK7sw7KYC2SlnFNzUmnwCB50WMb/RMeJA62LmgqdTWaJkJOzSooNYffom4K4eCFqNPTi/P3l38VdTzx1/81nJydDdHj0CpZjPdPeT8t2nHu0j2Lt9jgQP+9+OBto/Y1GCcYlV3rpeBcQtLt2tRAecBRay0cte73shDMRY0ET8EYbZr9okKBIbgYEyzKHDFJrW3Nag175lVEpUt73ulXOtc9gh5Nj21Flc9b+WlQg7HCZ/AE0mbPrfgGsS2plGDIwz/iV3l+44YXwcWE/PzxHc11Ca4QKkcbUA5tjFb5EY6KCcEVwUuyWMzu7m7uFtez+fztx9ligaMlwVFFcNSkaUfLjKgckZpROXfa0BzCHNwnB+VJ39vjWnPoD1CapqgPii4l8D46PkZcs3UJyoWNkRpBroR1IeW8Xdj4qj9IcNTVwFErbtScPb8A2I1+uIsEAAA=",!0)).replace("__ERROR_MESSAGE__",t);return new Response(n,{status:200,headers:{"Content-Type":"text/html; charset=utf-8"}})}async function Pw(){const e=await Qw("H4sIAAAAAAAAA41X23LcNhJ9369AaJdFrknMxZIvnCGTWLazrpJrVbH2YWu9FWGAJokIBLhAz80TPuYv8nX7JVsgOaORZTk7lKhBo7vRON19AM2/e/P386t/Xr4lFdYqn/s3UUyXGeh8XgET+bwGZIRXzDrA7B9X75KXg0yzGrKVhHVjLBJuNILGLFhLgVUmYCU5JN0gllqiZCpxnCnIJkE+R4kK8teXr8kl06DI6pRO6LP5qJfPldQ3xILKJDeaVBaKbFSwlR9Ryc2RgsOtAlcBYK8WVIiNS0ejwmh0tDSmVMAa6Sg39Yg7N/2+YLVU2+wDQ7CSqacft/XCKPf0Z7PUAkRqGvc5XpcVxu/eX1zEP/3845sfpmNKT1/Gk/GY0hfjcTymdBInZ2NKp+PxEx/XLx4Olw0w/MJNs30ipGsU22YLZfhNkM+7YPPUGoO7JOFGGZsuFOM3syTxYIMdhI/Gr54/e1XMkmTB+E1pfWT7qaLwcmQLBQnjKFdwmJn6xxsZe+RLCOFlS0Sj7/kflnUVE2adTpsN8b+nzYbYcsHCcUyGHzo9i9qFEdudRzbpQUyv1lCbXyU5N0uNdkveKVa62G0dQp0s5exe+Ctmw/u7imbHs4MIYYMJU7LUKQeNYNu/xmnKCgQbp+kCCmNhtzCbxMnPUpfpsOuF2XRxUsHsTVIbAQes15VEuIf1s9NXL9+8/irWk6l/HoB7euafe3A/O/PPPcQPq/wJ4tOzs5jcvnrcq8nuGKDj+AecBnd35ntZ1PqW0bsVWJScqQHSWgqhYFaBLCtMn1mo226Tu65l00JiMtTyrGa2lDpRUGDKlmj2AtuZdpIegnTSbIgzSgoy5PkImWh2O1KscZA6aJhlCPsJ1zDuEzneCywTcunSyWmz2a+5MIimTqfjZjMzK7CFMuu0kkKAblHEWO2OysZH3MOztqxJtfF/Zg0Twi8z8T4ORdO5/Wb8LYq0kNZhwiupurUeKO/71RLNuq5Z92i/GI+/cLa7X+woUo1VPx1Oo91AJmmhYDPrNBOJULtBf1ayJn3ebFpaD8SWuJ7YEtsT250SOi7OaMaX1hmbNkZ2rrpYV8xKhtLoxAGi1KVLTzwhnpBxfOLp8YScjsfxiefHTuZ584RMT9v5qCe6+ag/QXw35vNqks9lXRKumHM9sTvL7/A6YQqzwJ8KF6Y0QU5uD4i5a5gmUmSNHyYrsE56D36hrIvXyc+QupopBTbfnyfeyscxyeddUryHEkyfoXyOfYBo/df80XyEVfft0prNlry/PAgGfrsdS7wdvP84KI68o9Heab/tzrcg3CgfS3aWXxjmy49SOh+hOBj12qMhMMetbJDgtoGsNmKpgAgowGbdO5d1d+buSGPUtpBKDfF5+n3rCdmRlhTW1ORwHnKhqbvZNozfUAGrEe8tkkKxMulIPNk7C2Z/IcPnQf9hNJuP+ij30ebMbTUnxVJzXzZEGSZ+AvOGIQujHTfaIcFMGL6sQSP9zxLs9iMo4GhsGDw6pIV0WATRDO12MDMZWzOJpADkVRiMGp+fRDajEjCI4p1bcg7OpRB701THNTjHSkhtO1ga+qszOoxmsgi/gwgra9ZEw5q8tdbY8Pqd9yx1Sfapd6RgUoEgDMnjnaFLq1qSkMc72173XjRVoEusIgu4tJqsjBQhUqk12L9dfbjIgi+Tf3J2kr/rvaIhJeDtare14Dd+7CSINS2Mfct4FYYmhijLB1T0LZjcAkN4q8CPwgBtEMU2M3TI8rkR8P1HtL7ufFn48aVv9pBS+i9K6R3Nf9OaNSFm+WT64vT59ClSf/3zMz9iOI6S52dRlAbBTB+Fef1Jk6985ijyxzt4Omm7DT6s9PWZbrbr/J41goe4LSBGcyX5TRb4m9eVOVeyWRhmRXjisyeb9iQKvrGK/xzf3b4RT08qDyv06/32W5AE7QMb/jYWvsY6L0NOeld/amQol/j/K0vXfFP3OkbKmga0OO+OIB21UcuZb0AT7Y5L9Pprdd71VdptY2jG9rbGr2NfwUYBha79TNS2B974MoEY7TRbyZKhsZTvxXRtJcIVbDDEiGIFOgyjLGcKLIbBf//4nZybRvaddjBKP+lPOniKUUT7nWCW340kuO1PH0caxBhFbQDaM5MIsixThjP1EY1lJdAS8D1CHQb+svnBCAiiJ08OXdldQ7vKvZAOKROiV+xupUEU32HIIz4dDYdB90/Z/wDD1oG6pA0AAA==",!1);return new Response(e,{headers:{"Content-Type":"text/html; charset=utf-8"}})}async function Dw(e,t){const{pathName:r}=globalThis.globalConfig;return"/login"===r?await Zw(e,t):"/login/authenticate"===r?await $d(e,t):await jw(e)}function Iw(){return vl(!0,200,"Successfully logged out!",null,{"Set-Cookie":"jwtToken=; Secure; SameSite=None; Expires=Thu, 01 Jan 1970 00:00:00 GMT","Content-Type":"text/plain"})}async function Nw(e,t){await Sl(e,t);const{globalConfig:{pathName:r},httpConfig:{client:n,subPath:i}}=globalThis;switch(r){case`/sub/normal/${i}`:switch(n){case"xray":return await cw(!1);case"sing-box":return await Uf(!1);case"clash":return await gf();default:break}case`/sub/raw/${i}`:switch(n){case"xray":case"sing-box":return await th();default:break}case`/sub/fragment/${i}`:switch(n){case"xray":return await cw(!0);case"sing-box":return await Uf(!0);default:break}case`/sub/warp/${i}`:switch(n){case"xray":return await uw(e,t,!1,!1);case"sing-box":return await zf(e,t);case"clash":return await mf(e,t,!1);default:break}case`/sub/warp-pro/${i}`:switch(n){case"xray":return await uw(e,t,!0,!1);case"xray-knocker":return await uw(e,t,!0,!0);case"clash":return await mf(e,t,!0);default:break}default:return await jw(e)}}async function Uw(e,t){if("PUT"!==e.method)return vl(!1,405,"Method not allowed.");const r=void 0;if(!await tf(e,t))return vl(!1,401,"Unauthorized or expired session.");const n=void 0;return vl(!0,200,"",await Rl(e,t))}async function zw(e,t){if("POST"!==e.method)return vl(!1,405,"Method not allowed!");const r=void 0;if(!await tf(e,t))return vl(!1,401,"Unauthorized or expired session.");try{const{settings:e}=globalThis;return await t.kv.put("proxySettings",JSON.stringify(e)),vl(!0,200,"",e)}catch(e){const t=e instanceof Error?e.message:String(e);throw console.log(e),new Error(`An error occurred while updating KV: ${t}`)}}async function Xw(e,t){const r=Boolean(await t.kv.get("pwd")),n=void 0;if(!await tf(e,t))return vl(!1,401,"Unauthorized or expired session.",{isPassSet:r});const i=await bl(e,t),{subPath:o}=globalThis.httpConfig,s=void 0;return vl(!0,200,void 0,{proxySettings:i.settings,isPassSet:r,subPath:o})}async function jw(e){const{fallbackDomain:t}=globalThis.globalConfig,{url:r,method:n,headers:i,body:o}=e,s=new URL(r);s.hostname=t,s.protocol="https:";const a=new Request(s.toString(),{method:n,headers:i,body:o,redirect:"manual"});return await fetch(a)}async function Ww(e){const t=await e.text();try{const e=await fetch(`http://ip-api.com/json/${t}?nocache=${Date.now()}`),r=void 0;return vl(!0,200,"",await e.json())}catch(e){const t=e instanceof Error?e.message:String(e);return console.error("Error fetching IP address:",e),vl(!1,500,`Error fetching IP address: ${t}`)}}async function Fw(e,t){const{httpConfig:{client:r},dict:{_project_:n}}=globalThis,i="amnezia"===r,o=void 0;if(!await tf(e,t))return new Response("Unauthorized or expired session.",{status:401});const{warpAccounts:s,settings:a}=await bl(e,t),{warpIPv6:c,publicKey:u,privateKey:l}=s[0],{warpEndpoints:d,warpRemoteDNS:f,amneziaNoiseCount:w,amneziaNoiseSizeMin:h,amneziaNoiseSizeMax:A}=a,p=new Sw.default,E=e=>e.split("\n").map(e=>e.trim()).join("\n");try{d?.forEach((e,t)=>{const r=`[Interface]\n PrivateKey = ${l}\n Address = 172.16.0.2/32, ${c}\n DNS = ${f}\n MTU = 1280\n ${i?`Jc = ${w}\n Jmin = ${h}\n Jmax = ${A}\n S1 = 0\n S2 = 0\n H1 = 0\n H2 = 0\n H3 = 0\n H4 = 0`:""}\n [Peer]\n PublicKey = ${u}\n AllowedIPs = 0.0.0.0/0, ::/0\n Endpoint = ${e}\n PersistentKeepalive = 25`;p.file(`${n}-Warp-${t+1}.conf`,E(r))});const e=await p.generateAsync({type:"blob"}),t=await e.arrayBuffer();return new Response(t,{headers:{"Content-Type":"application/zip","Content-Disposition":`attachment; filename="${n}-Warp-${i?"Pro-":""}configs.zip"`}})}catch(e){const t=e instanceof Error?e.message:String(e);return new Response(`Error generating ZIP file: ${t}`,{status:500})}}async function Jw(){const e=await rl(globalThis.dict._public_proxy_ip_,!0),t=void 0;return vl(!0,200,void 0,await eh(e.ipv4))}async function Kw(){const e="AAABAAEAQEAAAAEAIAAoQgAAFgAAACgAAABAAAAAgAAAAAEAIAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAABMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcASGtEBSs/KFsRGRCyAwQC5wAAAPoBAgHtDxYOvyU2InFEZD8QTHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcAOVQ1LgcLB9UAAAD/AQEA/ykjGP9ANyb/MCod/wUEA/8AAAD/AgQC6yo/J1dMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcAOVU2KwIDAu4AAAD/Wk01/9W3f//105L/9dOS//XTkv/jxIf/emlI/wYFA/8AAAD/JjgjZkxwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAEptRQE2UDM3IjMgehQdEqsNFAzHBwsHzw4VDcUWIRWmJTcjcTpVNilMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcASGpDBgcKBtcAAAD/lYBY//XTkv/105L/9dOS//XTkv/105L/9dOS//TSkf+xjE7/DQoF/wABAPg6VTYsTHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcAS25GAC1DKlQHCwfXAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/DBILwzVPMjhMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHACo/J1sAAAD/VUkz//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/xzIj/5LJh/5t5Qv8AAAD/EhoRrUxwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcAPls5IA4VDbwAAAD/BAMC/0k+K/+VgFn/y695/+rKi//00pH/6MiK/8aqdv+JdlH/Ny8h/wAAAP8AAAD9FyIVmkVlQA1McEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwARGRC0AAAA/8Gmc//105L/9dOS//XTkv/105L/9dOS//XTkv/105L/6r90/+SyYf/jsWD/MiYV/wAAAPlCYj4STHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcANlAyNQIEAuoAAAD/S0As/9O2fv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv+/pHH/Lykc/wAAAP8JDQjSQF88GUxwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBIakMFAAEA9R4aEv/00pH/9dOS//XTkv/105L/9dOS//XTkv/105L/8s2K/+SyYf/ksmH/5LJh/3pfM/8AAAD/LkQrUExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcAO1g3JQIDAu0CAQH/iXZR//TSkf/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS/+7Njv9bTjb/AAAA/wkNCM9GZ0EKTHBHAExwRwBMcEcATHBHAExwRwBMcEcAOFQ0LwAAAP9bTjb/9dOS//XTkv/105L/9dOS//XTkv/105L/9NKR/+i6bv/ksmH/5LJh/+SyYf+XdkD/AAAA/yo+J21McEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcARWZBDAcLBtgAAAD/lH9Y//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9NKR/15PM/8AAAD/ExwRp0tuRgBMcEcATHBHAExwRwBMcEcATHBHAC1EKlYAAAD/iXZR//XTkv/105L/9dOS//XTkv/105L/9dOS/+3Ffv/ksmH/5LJh/+SyYf/ksmH/kXE9/wAAAP8qPidmTHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHABspGYwAAAD/ZVc8//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/lunH/MSYU/wAAAP8sQSlUTHBHAExwRwBMcEcATHBHAExwRwAjNCB3AAAA/66WZ//105L/9dOS//XTkv/105L/9dOS//DKhf/ksmL/5LJh/+SyYf/ksmH/5LJh/2ROKv8AAAD/NE4xPExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAEJhPRMAAQD2ExAL/+fHiv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/6bxw/7WNTP8AAAD/CAwH0ktuRgBMcEcATHBHAExwRwBMcEcAHSobjwAAAP/JrXf/9dOS//XTkv/105L/9dOS//HMiP/ks2P/5LJh/+SyYf/ksmH/5LJh/92tXv8WEQn/AgMC60lrRARMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwAlNyNuAAAA/4RyTv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS/+e4av/ksmH/QzQc/wAAAP82UDI2THBHAExwRwBMcEcATHBHABYhFaEAAAD/3b6D//XTkv/105L/9dOS//LNif/ltWX/5LJh/+SyYf/ksmH/5LJh/+OxYP9iTCn/AAAA/x4tHIRMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcADhYOuwQDAv/kxIf/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//TRkP/ksmL/5LJh/6J+RP8AAAD/HiwchkxwRwBMcEcATHBHAExwRwASGxGxAAAA/+7Njv/105L/9dOS//DLhv/ltGX/5LJh/+SyYf/ksmH/5LJh/9WmWv9bRyb/AAAA/wgMB9dFZkELTHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAAIDAucqJBn/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/wyoX/5LJh/+SyYf/drF3/BQMC/w4WDr5McEcATHBHAExwRwBMcEcADxYOvgYGA//105L/9dOS/+/Igv/ksmL/5LJh/+SyYf/gr1//rohK/19KKP8LCQT/AAAA/wUIBd88WTgkTHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAEptRQAAAAD8QTgm//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/6r91/+SyYf/ksmH/5LJh/yMcD/8EBgTiTHBHAExwRwBMcEcATHBHAAsQCsoPDQn/zK95/7CUYf+Pbz3/dFsx/1ZDJP8xJhT/CAcD/wAAAP8AAAD/AgMC7B4sHIRFZUANTHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBJbEQAAAAA/EM5J//105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9NKQ/+W0ZP/ksmH/5LJh/+SyYf81KRb/AAAA8kxwRwBMcEcATHBHAExwRwAHCwfYAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAEA8wsRC8ccKhqQMUguSUdpQwZMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAAABAO0yKx7/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS/+/Igv/ksmH/5LJh/+SyYf/ksmH/MicV/wAAAO9McEcATHBHAExwRwBMcEcAHiwcghAXDroZJReeIDAegik8JmQzTDBEPlw6IElsRAFMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwAJDgnRFRIM//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/ou27/5LJh/+SyYf/ksmH/5LJh/xoUCv8HCwfYTHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcAFB4TpwAAAP/cvYL/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/yzYr/5LJh/+SyYf/ksmH/5LJh/8yfVv8AAAD/FB0Sq0xwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHACQ1IXUAAAD/o4xh//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/6r50/+SyYf/ksmH/5LJh/+SyYf+AZDb/AAAA/yY5I2tMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwA0TjE7AAAA/2FUOv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/8s6L/+SyYv/ksmH/5LJh/+SyYf/ZqVz/GRMK/wABAPhBXzwYTHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcASGpDBQECAfAXEw3/8tGQ//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS/+m8cP/ksmH/5LJh/+SyYf/ksmH/XEcn/wAAAP8aJxmOTHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHADhTNC4fLh2FDhUNwAUIBeAAAADpBwsH2RIbEbMlNiJ0P147G0xwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwASHBGuAAAA/8Clcv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//DLhv/ksmH/5LJh/+SyYf/ksmH/kXE9/wAAAP8FCAXeRWVADUxwRwBMcEcATHBHAExwRwBMcEcARWVADhQdEqUAAAD/AAAA/wAAAP8PDQn/GhYP/wgHBf8AAAD/AAAA/wAAAPkaJhiQRWVADExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcAKT0mYAAAAP9yYkT/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//TSkf/nuWz/5LJh/+SyYf/ksmH/mXhB/wYEAv8CAwLtOVU2LExwRwBMcEcATHBHAExwRwBMcEcAO1g3JggMB9cAAAD/KCIX/5aBWf/dvoT/9dOS//XTkv/z0ZD/zbF6/4NxTv8bFxD/AAAA/wcLB9k6VTYsTHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAEJiPRAAAQD3HhoR//PRkf/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/ux4D/5LJh/+SyYf/jsWD/el8z/wEBAP8CAwLwNlAyOExwRwBMcEcATHBHAExwRwBMcEcANlAyNQIDAu4BAAD/eWhI//HQkP/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/68qM/3JiQ/8CAQH/AgMC8TdRMzZMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcAExwRqQAAAP+7oW//9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/00Y//5bVm/+SyYf/gr1//XUgn/wAAAP8CBALuNE4xOExwRwBMcEcATHBHAExwRwBMcEcAP106HQMEA+kAAAD/i3dS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/k35X/wAAAP8EBwThRWVADExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHADFJLkQAAAD/Y1U6//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/6r91/+SyYf/AllH/MCUU/wAAAP8JDQjRPFk4JUxwRwBMcEcATHBHAExwRwBMcEcARmhCCQsQCsoAAAD/gnBN//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv9tXkH/AAAA/x4sHIhMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBKbUUABwsH2Q0LB//oyIr/9dOS//XTkv/105L/9dOS//XTkv/105L/8MmE/+KxYP+DZjf/CQcD/wAAAP8VHxOgRmhBCkxwRwBMcEcATHBHAExwRwBMcEcAS25GABMdEqgAAAD/aFk+//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/786O/yIeFP8BAgH0QmI+EUxwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHACIyH3kAAAD/jnpU//XTkv/105L/9dOS//XTkv/105L/9NGQ/8adWv82Khb/AAAA/wIDAvApPSdZTHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHACg7JWIAAAD/Licb/+/Ojv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv+GdFD/AAAA/yc6JWZMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwA/XTsbAAAA+iYgFv/z0ZH/9dOS//XTkv/105L/8M6O/4JtSP8JBwT/AAAA/w8WDrs9WjkgTHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAD9dOxoCAwLuCAcE/8queP/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/zrF6/wAAAP8THRKqTHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHABMcEqwAAAD/sJhp//XTkv/105L/qpJl/yMeFf8AAAD/BQcE4yo/KFhLbkYATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAEtuRgARGRCyAAAA/5R/WP/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//PRkf8HBgT/CAwH1UxwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwAwRy1JAAAA/1JHMf/WuH//SD0q/wAAAP8AAAD/FiEVnUVlQA5McEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwArQChXAAAA/0I4J//00pH/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/FBEM/wECAeJMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcASGtDAwQHBOAGBQP/CgkG/wAAAP8LEArJNU4xOkxwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBCYj4UAwQC6QcGBP/Psnv/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9NKR/wgHBf8IDAfWTHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwAiMyBzAAAA/wUHBOMqPidcSm1FAkxwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcAFiEVngAAAP97akn/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS/9K0fP8AAAD/EhwRrkxwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcAR2lCBitAKV9FZUAOTHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcANU8xOAAAAP4hHBP/7cyN//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv+MeVP/AAAA/yY4I2tMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcASWxEAgoPCc0AAAD/qJBj//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/y0JD/KSMY/wABAPdAXzwVTHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAEZnQQ0AAQD0AAAA/wgHBP9lVjz/1bd+//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9dOS//XTkv/105L/9NKR//HMiP/tw3v/f2c+/wAAAP8YIxaZTHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcAPls6HR8tHIUDBAPoAAAA/wMDAv9IPiv/p49h/+zGgf/wyYT/8MqE//DJhP/wyYP/78iC/+7HgP/txX3/7MN6/+vAdf/pvHD/57hq/+SzYv/ksmH/on5E/wQDAf8CBALrQWA8GExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcASGpDBSxBKVUNFAzCAAAA/wAAAP8VEQn/ZE4q/7KLS//jsWD/5LJh/+SyYf/ksmH/5LJh/+SyYf/ksmH/5LJh/+SyYf/hsF//gGQ2/wYEAv8AAQD4MUkuQ0xwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHADlUNSwZJReXAAEA9AAAAP8AAAD/HBYM/2NNKv+hfkT/1qdb/+SyYf/ksmH/5LJh/+GvX/+jf0X/LyQT/wAAAP8CAwLwMUguQ0xwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAERkPw8qPyheEhsRsAABAPUAAAD/AAAA/wAAAP8WEQn/KB8R/yYeEP8KCAT/AAAA/wAAAP8PFw61PFk4JUxwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBFZkEKMkovRCExH38THBGwCQ0I0gMFA+QFBwTiCxELyB0rG484UjQwTHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcATHBHAExwRwBMcEcA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gD////////8AH////////gAP///+AH/8AAf///wAH/wAB///8AAH/AAD///gAAP4AAP//8AAAfgAA///gAAB+AAD//+AAAD4AAP//wAAAPgAA///AAAAeAAH//8AAAB4AAf//wAAAHgAD///AAAAeAAf//8AAAB4AH///wAAAHgH////AAAAf/////8AAAB//////wAAAH//////AAAAf/////8AAAD+AP///4AAAPgAP///gAAB8AAf//+AAAPgAA///8AAB8AAB///wAAPgAAH///gAB+AAAP//+AAfwAAA///4AD+AAAD///wA/4AAAP///AH/AAAA///8B/4AAAD///4P/gAAAP///j/8AAAA//////gAAAD/////+AAAAf/////8AAAB//////8AAAP//////+AAB///////+AAP////////AD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8=",t=Uint8Array.from(atob(e),e=>e.charCodeAt(0));return new Response(t,{headers:{"Content-Type":"image/x-icon","Cache-Control":"public, max-age=86400"}})}async function Yw(e,t){const r=void 0;if(await t.kv.get("pwd")){const r=void 0;if(!await tf(e,t)){const{urlOrigin:e}=globalThis.httpConfig;return Response.redirect(`${e}/login`,302)}}const n=await Qw("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",!1);return new Response(n,{headers:{"Content-Type":"text/html; charset=utf-8"}})}async function Zw(e,t){const r=void 0;if(await tf(e,t)){const{urlOrigin:e}=globalThis.httpConfig;return Response.redirect(`${e}/panel`,302)}const n=await Qw("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",!1);return new Response(n,{headers:{"Content-Type":"text/html; charset=utf-8"}})}async function Gw(){const e=await Qw("H4sIAAAAAAAAA7VY63bbuBF+FYSJY3ItUpRk2TJvSWzHu26TruvLtml264XIkYgYBLgAqEtU/exb9On6JD0gKVs3e9M9yYHNQ1wGM998M6M5DJ6d/nhy/eHiLUpVRqNAPxHFbBgCi4IUcBIFGSiM4hQLCSq8uT6ze/UawxmEIwLjnAuFYs4UMBUaY5KoNExgRGKwy0mDMKIIpraMMYWwZUSBIopCdHxxjC4wA4pG+07L6QTNaj2ghN0hATQkMWcoFTAImwM80jOHxLw+UK4bqVK59JrNAWdKOkPOhxRwTqQT86wZS9l+NcAZodPwPVYgCKZ7V9Osz6ncu+QFSyDxeC4/N8bDVDXOzt+9a3x/+eb0ddt1nP1eo+W6jnPoug3XcVoNu+s6Ttt1X2pDbjV+Gda4b2OeTxsCBgJk+jIhMqd4GvYpj++MEolUUwoyBVBRUL5HnuBczWw75pQLr09xfOfbdi5IhsW0Xn3uHh10jga+bWsyQGws93F8NxQayGJrMNDrAy6ybZtHevi2TXGfgq1gohZbnU5Hq2nfz/t6aBVcLGlOkkSvFUpxtmENYXmhNtWOU6LgAYNMccLHXjufIP2/n0+QGPax6TZQ/ee0u9a8z5PpTLNqVwR6cioVZHZB/A0NIyzMTWdY/vLuOmTLL98xJUPmxcAUiFKnk2BxZ2c8gXtyFgC2kXO2QU5n/6h3eryVnFZbj8f5ud/f5Of0TI8Vik67emxQ1Onq8Tgdz9tdPX6fkHa320APj4oWR0c8JgzELOeSKMKZh/uS00KBr3judd0dn8JAlS9KYCY1WK98o1iBaXfdHZ1LO5Zf1gfvyN3xc5wkhA29tptP5mlrtszcsntr1mqTV/arNWuuSwSbjUAoEmNaE5yRJKHgp0CGqfI6ArJ52l7VUvvVmqed2ZOBM3dK+h4cUee7N6Aw8fXDToiAuPRNzGmRMX+I8xLbUuzW128NBcuvOPVa+QRJTkmC6hhfonpxyBY4IYX02j19P58svOOu55ceTstadbYzwrSAJTRPJ81TWAUf+58KqchgateFsc4sv2TBJgoyuVjSLultMQA5WV2qbVmValtUpXrFtOUaZM0dXigd7Q8wqthquUvBpf2zkfSPVZPt2fN7NeUP0NbSLFRoZtoner7q5i/36RbQrXY+8cs6Ksln8FpOS0BWLYyrbDhw3YXdjDPYYp6/9OPyiLtWaqPlx4WQXHg5J6VdZfZXxWJdHjkdiQBLmDuVE7wBjwvZWMxSPgIx21LFjnpu/2g13nv5BLW6awHfsbaVoQ+m3c4n1r1SHCsygtnWk618Yq0q6uQTdLih5ytf9ngarDq35HKEBcHawbYEpQgbSm9X9zO7yG3s6u5mF+27bmNXtzflmm57dlF7f+7UbYs9BG5THpe3LDncc5HrZ1gMCfNWA2XVjvnrDBKCEWd0imQsABjCLEFmRljVCXrdw4N8Ys2c9Sw9dHfmXyB+eNDbKt79MvGjo/ZW8X0tHjSrtixoVn2vbgWiICEjFFMsq0avFIqCtBUFJBvWG2WPKkW80qIiTFVo6Ab3HR9yI0IPvW4gc8wQScJcT+0RCEn0DVp7+JCnMsOUgogWrbGW0sa1lo1a/R1a3lmrqVGQtqMriAUoiYbAQGDFRdBM21FlTyX1WMQhzmJK4ruwFoUTAQkw3dVL04rqALo3MiGj0pYoSDvRJWYJz9DNzflp0Ew7Txr5sLVezqN7txUFSVYORat6/x84hm7br/kJJXmfY5GYu/r2XcuIlvv61fu3orsW/BNm6AJLOeYi+SpAlbDz+r5vh3dJyR+AfVX0ZSxIrisGurk8RzlW6VcBL4u+rS/7dsgXGr4EdlXWa13bJgs161qs6ITnU4TpIu+fNne7IZWOVYsqt0cUFNIh21iQ2CgEucAq9QcFK5uyRbaDTkDTmglQhWAoFtNccUeUPFZb8w2RKyU4Gy6C2rRmMWdSIRUab45PTt+eff/D+Z/+/O79X368+Ovl1fXNT3/7+4d/4H6cwGCYkk93NGM8/01IVYzGk+lnt9Xu7HcPDntHz14/f7Hzz5ffmdbt3sdfZvN/+d5uwwmiV4avAUFoGH6lioUMxuiGMNV7IwSemq0Dy69tH4KqwvAnHWDSZJY/4MLUN/DQ9XnQOvD53p4Fe6H6yD7yX3Z6h7/4NX7Ygrbo31yea+d9TaS3t1cnl+cX17e3393ae77XcL4xyMP9p0CuFO6ZDp1wNUDuIyl8LAoWIRZuc1wj4XGRAVPa8rcU9Ovx9DwxDa3LsBzdLJ/UH4vKyH1UYKk0rcndB/ujsovkXldYWT43gOnOPTHCMNQdD71SXOAh6HvOFWSmoT8CvOcJGNbLl/days8DZQa/I1I5OEmqg+XXAsNqbHVyY0xYwsfOWmkIF9SYahFtEKpXjyFSK0C8XzVZ4YuSwPnP7Pry9uLN1VX4YrZwzfxndnVzfHvx5voHfazG/avP8IgM9W+/Ey8sccaCKLiGiTLBclQKzDStMMIUhDKN//7n3+iE5wQSpDi6F3pmWJYTYxWnpgp12ZKcggNCcGEaZ5jQ+ryuftpwz2goy5r7QbOuXEGz6rCa5afH/wEKkS2hihQAAA==",!1);return new Response(e,{headers:{"Content-Type":"text/html; charset=utf-8"}})}async function Vw(e,t){if("POST"===e.method){const r=void 0;if(!await tf(e,t))return vl(!1,401,"Unauthorized.");try{return await $u(t),vl(!0,200,"Warp configs updated successfully!")}catch(e){const t=e instanceof Error?e.message:String(e);return console.log(e),vl(!1,500,`An error occurred while updating Warp configs: ${t}`)}}return vl(!1,405,"Method not allowed.")}async function Qw(e,t){const r=Uint8Array.from(atob(e),e=>e.charCodeAt(0)),n=new Blob([r]).stream().pipeThrough(new DecompressionStream("gzip"));if(t){const e=await new Response(n).arrayBuffer(),t=void 0;return(new TextDecoder).decode(e)}return n}async function qw(e){const t=new URL(e.url),{subPath:r}=globalThis.httpConfig,{dohURL:n}=globalThis.globalConfig;if(t.pathname!==`/dns-query/${r}`)return jw(e);const i=new URL(n);t.searchParams.forEach((e,t)=>{i.searchParams.set(t,e)});const o=new Request(i.toString(),e);return fetch(o)}function $w(e,t){const r=[];for(let n=0;n<e.length;n+=t)r.push(e.slice(n,n+t));return r}async function eh(e){const t=$w(e,100),r=[];for(const e of t){const t=await fetch("http://ip-api.com/batch?fields=query,city,country,countryCode,isp,status",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw new Error(`ip-api request failed: ${t.status}`);const n=await t.json();for(const e of n)"success"===e.status&&r.push({ip:e.query,city:e.city,country:e.country,countryCode:e.countryCode,isp:e.isp})}return r}async function th(){const{globalConfig:{userID:e,TrPass:t},httpConfig:{defaultHttpsPorts:r,client:n,hostName:i},dict:{_VL_:o,_TR_:s,_project_:a},settings:{fingerprint:c,ports:u,customCdnAddrs:l,customCdnHost:d,customCdnSni:f,VLConfigs:w,TRConfigs:h,outProxy:A,remoteDNS:p}}=globalThis,E=(i,s,a,u,l,d)=>{const f=r.includes(a),w=f?"tls":"none",h=new URL(`${i}://config`);i===o?(h.username=e,h.searchParams.append("encryption","none")):h.username=t;const A=ul(i);return h.hostname=s,h.port=a.toString(),h.searchParams.append("host",u),h.searchParams.append("type","ws"),h.searchParams.append("security",w),h.hash=d,"sing-box"===n?(h.searchParams.append("eh","Sec-WebSocket-Protocol"),h.searchParams.append("ed","2560"),h.searchParams.append("path",A)):h.searchParams.append("path",`${A}?ed=2560`),f&&(h.searchParams.append("sni",l),h.searchParams.append("fp",c),h.searchParams.append("alpn","http/1.1")),h.href};let B="",H="",g="",m=1;const y=await ol(!1);if(u.forEach(e=>{y.forEach(t=>{const r=l.includes(t),n=r?f:al(i),a=r?d:i;if(w){const r=sl(m,e,t,o,!1,!1),i=E(atob("dmxlc3M="),t,e,a,n,r);B+=`${i}\n`}if(h){const r=sl(m,e,t,s,!1,!1),i=E(atob("dHJvamFu"),t,e,a,n,r);H+=`${i}\n`}m++})}),A){let e=`#${encodeURIComponent("💦 Chain proxy 🔗")}`;if(A.startsWith("socks")||A.startsWith("http")){const t=/^(?:socks|http):\/\/([^@]+)@/,r=A.match(t),n=!!r&&r[1];g=n?A.replace(n,btoa(n))+e:A+e}else g=A.split("#")[0]+e}const T=btoa(B+H+g);return new Response(T,{status:200,headers:{"Content-Type":"text/plain;charset=utf-8","Cache-Control":"no-store, no-cache, must-revalidate, proxy-revalidate","CDN-Cache-Control":"no-store","Profile-Title":`base64:${yl(`💦 ${a} Raw`)}`,DNS:p}})}var rh={async fetch(e,t){try{const r=e.headers.get("Upgrade");if(Cl(e,t),"websocket"===r)return _l(t),await Cw(e);{Ol(e,t);const{pathName:r}=globalThis.globalConfig,n=void 0;switch(r.split("/")[1]){case"panel":return await _w(e,t);case"sub":return await Nw(e,t);case"login":return await Dw(e,t);case"logout":return Iw();case"secrets":return await Gw();case"favicon.ico":return await Kw();case"dns-query":return await qw(e);case"proxy-ip":return await Ow(e,t);default:return await jw(e)}}}catch(e){return await Lw(e)}}};export{rh as default};