@shumai-one/shumai 0.2.2 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/{chunk-fd5a3pdd.js → chunk-2a9n3dhx.js} +1 -1
- package/bin/{chunk-4e3jbp84.js → chunk-3hzj13pj.js} +1 -1
- package/bin/{chunk-fa2g2wge.js → chunk-3n1rezd0.js} +1 -1
- package/bin/{chunk-ry33f2qk.js → chunk-3qks722n.js} +1 -1
- package/bin/{chunk-sd86v1e6.js → chunk-5vkf99sk.js} +1 -1
- package/bin/{chunk-qqk51620.js → chunk-6xg65n5y.js} +1 -1
- package/bin/{chunk-h0ytx8zc.js → chunk-6zascpcz.js} +1 -1
- package/bin/{chunk-jf3vn5c3.js → chunk-898q6x3q.js} +1 -1
- package/bin/chunk-8dqq1fk0.js +2 -0
- package/bin/{chunk-xyjw8w3r.js → chunk-b73ktdmd.js} +1 -1
- package/bin/{chunk-szzff7gd.js → chunk-carknytp.js} +1 -1
- package/bin/chunk-chkx04mw.js +1 -0
- package/bin/{chunk-pq18zenh.js → chunk-crt1e1w1.js} +1 -1
- package/bin/{chunk-5m9be8an.js → chunk-dgat7wqv.js} +1 -1
- package/bin/{chunk-wg98cacx.js → chunk-dm2w12rc.js} +1 -1
- package/bin/{chunk-de99643r.js → chunk-g21jxrt9.js} +1 -1
- package/bin/{chunk-4jk0y1w1.js → chunk-hnhq0dh9.js} +1 -1
- package/bin/{chunk-y2qp11v9.js → chunk-j0c7d9y1.js} +1 -1
- package/bin/chunk-jqh8kavv.js +2 -0
- package/bin/{chunk-5r8858hx.js → chunk-js9yf457.js} +1 -1
- package/bin/{chunk-f14sqw1d.js → chunk-jyzegph4.js} +1 -1
- package/bin/{chunk-fepymbka.js → chunk-mnfqdxms.js} +1 -1
- package/bin/{chunk-7e06b2zb.js → chunk-nhsqp8jc.js} +1 -1
- package/bin/chunk-nnkkem25.js +3 -0
- package/bin/{chunk-92xxys10.js → chunk-qwg2e3wr.js} +2 -2
- package/bin/{chunk-tspps87j.js → chunk-se8rgwp8.js} +1 -1
- package/bin/{chunk-pmswtfe3.css → chunk-tm6z4hkd.css} +1 -1
- package/bin/chunk-wckjyvtb.js +5 -0
- package/bin/{chunk-q24epdh8.js → chunk-wfx81mfv.js} +1 -1
- package/bin/chunk-wtjc4565.js +1 -0
- package/bin/{chunk-r0w920zb.js → chunk-y79r28gd.js} +1 -1
- package/bin/{chunk-8mkfgcvb.js → chunk-yj4x7tpw.js} +1 -1
- package/bin/shumai-app.html +1 -1
- package/bin/shumai-app.js +2 -2
- package/package.json +8 -8
- package/bin/chunk-2g12s6mc.js +0 -2
- package/bin/chunk-54tr7y2x.js +0 -3
- package/bin/chunk-byqc8tzq.js +0 -1
- package/bin/chunk-ccw7mjgq.js +0 -5
- package/bin/chunk-f7sbkfmk.js +0 -2
- package/bin/chunk-g6zzg6v2.js +0 -1
package/bin/shumai-app.js
CHANGED
|
@@ -160,7 +160,7 @@ ${$.comment}`:$.comment}this.doc.range[2]=$.offset;break}default:this.errors.pus
|
|
|
160
160
|
`)+1;while($!==0)this.onNewLine(this.offset+$),$=this.source.indexOf(`
|
|
161
161
|
`,$)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(W){let $=W.items[W.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,$.value){let w="end"in $.value?$.value.end:void 0;if((Array.isArray(w)?w[w.length-1]:void 0)?.type==="comment")w?.push(this.sourceToken);else W.items.push({start:[this.sourceToken]})}else if($.sep)$.sep.push(this.sourceToken);else $.start.push(this.sourceToken);return;case"space":case"comment":if($.value)W.items.push({start:[this.sourceToken]});else if($.sep)$.sep.push(this.sourceToken);else{if(this.atIndentedComment($.start,W.indent)){let Q=W.items[W.items.length-2]?.value?.end;if(Array.isArray(Q)){zN(Q,$.start),Q.push(this.sourceToken),W.items.pop();return}}$.start.push(this.sourceToken)}return}if(this.indent>=W.indent){let w=!this.onKeyLine&&this.indent===W.indent,Q=w&&($.sep||$.explicitKey)&&this.type!=="seq-item-ind",J=[];if(Q&&$.sep&&!$.value){let X=[];for(let Y=0;Y<$.sep.length;++Y){let G=$.sep[Y];switch(G.type){case"newline":X.push(Y);break;case"space":break;case"comment":if(G.indent>W.indent)X.length=0;break;default:X.length=0}}if(X.length>=2)J=$.sep.splice(X[1])}switch(this.type){case"anchor":case"tag":if(Q||$.value)J.push(this.sourceToken),W.items.push({start:J}),this.onKeyLine=!0;else if($.sep)$.sep.push(this.sourceToken);else $.start.push(this.sourceToken);return;case"explicit-key-ind":if(!$.sep&&!$.explicitKey)$.start.push(this.sourceToken),$.explicitKey=!0;else if(Q||$.value)J.push(this.sourceToken),W.items.push({start:J,explicitKey:!0});else this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]});this.onKeyLine=!0;return;case"map-value-ind":if($.explicitKey)if(!$.sep)if(rw($.start,"newline"))Object.assign($,{key:null,sep:[this.sourceToken]});else{let X=uX($.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:X,key:null,sep:[this.sourceToken]}]})}else if($.value)W.items.push({start:[],key:null,sep:[this.sourceToken]});else if(rw($.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:J,key:null,sep:[this.sourceToken]}]});else if(bd($.key)&&!rw($.sep,"newline")){let X=uX($.start),Y=$.key,G=$.sep;G.push(this.sourceToken),delete $.key,delete $.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:X,key:Y,sep:G}]})}else if(J.length>0)$.sep=$.sep.concat(J,this.sourceToken);else $.sep.push(this.sourceToken);else if(!$.sep)Object.assign($,{key:null,sep:[this.sourceToken]});else if($.value||Q)W.items.push({start:J,key:null,sep:[this.sourceToken]});else if(rw($.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]});else $.sep.push(this.sourceToken);this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let X=this.flowScalar(this.type);if(Q||$.value)W.items.push({start:J,key:X,sep:[]}),this.onKeyLine=!0;else if($.sep)this.stack.push(X);else Object.assign($,{key:X,sep:[]}),this.onKeyLine=!0;return}default:{let X=this.startBlockValue(W);if(X){if(X.type==="block-seq"){if(!$.explicitKey&&$.sep&&!rw($.sep,"newline")){yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source});return}}else if(w)W.items.push({start:J});this.stack.push(X);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(W){let $=W.items[W.items.length-1];switch(this.type){case"newline":if($.value){let w="end"in $.value?$.value.end:void 0;if((Array.isArray(w)?w[w.length-1]:void 0)?.type==="comment")w?.push(this.sourceToken);else W.items.push({start:[this.sourceToken]})}else $.start.push(this.sourceToken);return;case"space":case"comment":if($.value)W.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment($.start,W.indent)){let Q=W.items[W.items.length-2]?.value?.end;if(Array.isArray(Q)){zN(Q,$.start),Q.push(this.sourceToken),W.items.pop();return}}$.start.push(this.sourceToken)}return;case"anchor":case"tag":if($.value||this.indent<=W.indent)break;$.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==W.indent)break;if($.value||rw($.start,"seq-item-ind"))W.items.push({start:[this.sourceToken]});else $.start.push(this.sourceToken);return}if(this.indent>W.indent){let w=this.startBlockValue(W);if(w){this.stack.push(w);return}}yield*this.pop(),yield*this.step()}*flowCollection(W){let $=W.items[W.items.length-1];if(this.type==="flow-error-end"){let w;do yield*this.pop(),w=this.peek(1);while(w?.type==="flow-collection")}else if(W.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":if(!$||$.sep)W.items.push({start:[this.sourceToken]});else $.start.push(this.sourceToken);return;case"map-value-ind":if(!$||$.value)W.items.push({start:[],key:null,sep:[this.sourceToken]});else if($.sep)$.sep.push(this.sourceToken);else Object.assign($,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":if(!$||$.value)W.items.push({start:[this.sourceToken]});else if($.sep)$.sep.push(this.sourceToken);else $.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let Q=this.flowScalar(this.type);if(!$||$.value)W.items.push({start:[],key:Q,sep:[]});else if($.sep)this.stack.push(Q);else Object.assign($,{key:Q,sep:[]});return}case"flow-map-end":case"flow-seq-end":W.end.push(this.sourceToken);return}let w=this.startBlockValue(W);if(w)this.stack.push(w);else yield*this.pop(),yield*this.step()}else{let w=this.peek(2);if(w.type==="block-map"&&(this.type==="map-value-ind"&&w.indent===W.indent||this.type==="newline"&&!w.items[w.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&w.type!=="flow-collection"){let Q=NN(w),J=uX(Q);jd(W);let X=W.end.splice(1,W.end.length);X.push(this.sourceToken);let Y={type:"block-map",offset:W.offset,indent:W.indent,items:[{start:J,key:W,sep:X}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=Y}else yield*this.lineEnd(W)}}flowScalar(W){if(this.onNewLine){let $=this.source.indexOf(`
|
|
162
162
|
`)+1;while($!==0)this.onNewLine(this.offset+$),$=this.source.indexOf(`
|
|
163
|
-
`,$)+1}return{type:W,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(W){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let $=NN(W),w=uX($);return w.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:w,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let $=NN(W),w=uX($);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:w,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(W,$){if(this.type!=="comment")return!1;if(this.indent<=$)return!1;return W.every((w)=>w.type==="newline"||w.type==="space")}*documentEnd(W){if(this.type!=="doc-mode"){if(W.end)W.end.push(this.sourceToken);else W.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}*lineEnd(W){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:if(W.end)W.end.push(this.sourceToken);else W.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}}AD0.Parser=_d});var vd=X0((_D0)=>{var xd=xL(),CD0=sK(),QH=tK(),ED0=pB(),PD0=c1(),ID0=pL(),gd=nL();function kd(W){let $=W.prettyErrors!==!1;return{lineCounter:W.lineCounter||$&&new ID0.LineCounter||null,prettyErrors:$}}function fD0(W,$={}){let{lineCounter:w,prettyErrors:Q}=kd($),J=new gd.Parser(w?.addNewLine),X=new xd.Composer($),Y=Array.from(X.compose(J.parse(W)));if(Q&&w)for(let G of Y)G.errors.forEach(QH.prettifyError(W,w)),G.warnings.forEach(QH.prettifyError(W,w));if(Y.length>0)return Y;return Object.assign([],{empty:!0},X.streamInfo())}function md(W,$={}){let{lineCounter:w,prettyErrors:Q}=kd($),J=new gd.Parser(w?.addNewLine),X=new xd.Composer($),Y=null;for(let G of X.compose(J.parse(W),!0,W.length))if(!Y)Y=G;else if(Y.options.logLevel!=="silent"){Y.errors.push(new QH.YAMLParseError(G.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}if(Q&&w)Y.errors.forEach(QH.prettifyError(W,w)),Y.warnings.forEach(QH.prettifyError(W,w));return Y}function jD0(W,$,w){let Q=void 0;if(typeof $==="function")Q=$;else if(w===void 0&&$&&typeof $==="object")w=$;let J=md(W,w);if(!J)return null;if(J.warnings.forEach((X)=>ED0.warn(J.options.logLevel,X)),J.errors.length>0)if(J.options.logLevel!=="silent")throw J.errors[0];else J.errors=[];return J.toJS(Object.assign({reviver:Q},w))}function bD0(W,$,w){let Q=null;if(typeof $==="function"||Array.isArray($))Q=$;else if(w===void 0&&$)w=$;if(typeof w==="string")w=w.length;if(typeof w==="number"){let J=Math.round(w);w=J<1?void 0:J>8?{indent:8}:{indent:J}}if(W===void 0){let{keepUndefined:J}=w??$??{};if(!J)return}if(PD0.isDocument(W)&&!Q)return W.toString(w);return new CD0.Document(W,Q,w).toString(w)}_D0.parse=jD0;_D0.parseAllDocuments=fD0;_D0.parseDocument=md;_D0.stringify=bD0});var td=X0((yb5,RN)=>{function cd(W){return Array.isArray(W)?W:[W]}var TR0=void 0,oL="",yd=" ",iL="\\",AR0=/^\s+$/,SR0=/(?:[^\\]|^)\\$/,CR0=/^\\!/,ER0=/^\\#/,PR0=/\r?\n/g,IR0=/^\.{0,2}\/|^\.{1,2}$/,fR0=/\/$/,yX="/",pd="node-ignore";if(typeof Symbol<"u")pd=Symbol.for("node-ignore");var nd=pd,dX=(W,$,w)=>{return Object.defineProperty(W,$,{value:w}),w},jR0=/([0-z])-([0-z])/g,ld=()=>!1,bR0=(W)=>W.replace(jR0,($,w,Q)=>w.charCodeAt(0)<=Q.charCodeAt(0)?$:oL),_R0=(W)=>{let{length:$}=W;return W.slice(0,$-$%2)},xR0=[[/^\uFEFF/,()=>oL],[/((?:\\\\)*?)(\\?\s+)$/,(W,$,w)=>$+(w.indexOf("\\")===0?yd:oL)],[/(\\+?)\s/g,(W,$)=>{let{length:w}=$;return $.slice(0,w-w%2)+yd}],[/[\\$.|*+(){^]/g,(W)=>`\\${W}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return!/\/(?!$)/.test(this)?"(?:^|\\/)":"^"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(W,$,w)=>$+6<w.length?"(?:\\/[^\\/]+)*":"\\/.+"],[/(^|[^\\]+)(\\\*)+(?=.+)/g,(W,$,w)=>{let Q=w.replace(/\\\*/g,"[^\\/]*");return $+Q}],[/\\\\\\(?=[$.|*+(){^])/g,()=>iL],[/\\\\/g,()=>iL],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(W,$,w,Q,J)=>$===iL?`\\[${w}${_R0(Q)}${J}`:J==="]"?Q.length%2===0?`[${bR0(w)}${Q}]`:"[]":"[]"],[/(?:[^*])$/,(W)=>/\/$/.test(W)?`${W}$`:`${W}(?=$|\\/$)`]],gR0=/(^|\\\/)?\\\*$/,XH="regex",ON="checkRegex",dd="_",kR0={[XH](W,$){return`${$?`${$}[^/]+`:"[^/]*"}(?=$|\\/$)`},[ON](W,$){return`${$?`${$}[^/]*`:"[^/]*"}(?=$|\\/$)`}},mR0=(W)=>xR0.reduce(($,[w,Q])=>$.replace(w,Q.bind(W)),W),DN=(W)=>typeof W==="string",vR0=(W)=>W&&DN(W)&&!AR0.test(W)&&!SR0.test(W)&&W.indexOf("#")!==0,hR0=(W)=>W.split(PR0).filter(Boolean);class id{constructor(W,$,w,Q,J,X){this.pattern=W,this.mark=$,this.negative=J,dX(this,"body",w),dX(this,"ignoreCase",Q),dX(this,"regexPrefix",X)}get regex(){let W=dd+XH;if(this[W])return this[W];return this._make(XH,W)}get checkRegex(){let W=dd+ON;if(this[W])return this[W];return this._make(ON,W)}_make(W,$){let w=this.regexPrefix.replace(gR0,kR0[W]),Q=this.ignoreCase?new RegExp(w,"i"):new RegExp(w);return dX(this,$,Q)}}var uR0=({pattern:W,mark:$},w)=>{let Q=!1,J=W;if(J.indexOf("!")===0)Q=!0,J=J.substr(1);J=J.replace(CR0,"!").replace(ER0,"#");let X=mR0(J);return new id(W,$,J,w,Q,X)};class od{constructor(W){this._ignoreCase=W,this._rules=[]}_add(W){if(W&&W[nd]){this._rules=this._rules.concat(W._rules._rules),this._added=!0;return}if(DN(W))W={pattern:W};if(vR0(W.pattern)){let $=uR0(W,this._ignoreCase);this._added=!0,this._rules.push($)}}add(W){return this._added=!1,cd(DN(W)?hR0(W):W).forEach(this._add,this),this._added}test(W,$,w){let Q=!1,J=!1,X;this._rules.forEach((G)=>{let{negative:K}=G;if(J===K&&Q!==J||K&&!Q&&!J&&!$)return;if(!G[w].test(W))return;Q=!K,J=K,X=K?TR0:G});let Y={ignored:Q,unignored:J};if(X)Y.rule=X;return Y}}var yR0=(W,$)=>{throw new $(W)},I7=(W,$,w)=>{if(!DN(W))return w(`path must be a string, but got \`${$}\``,TypeError);if(!W)return w("path must not be empty",TypeError);if(I7.isNotRelative(W))return w(`path should be a \`path.relative()\`d string, but got "${$}"`,RangeError);return!0},ad=(W)=>IR0.test(W);I7.isNotRelative=ad;I7.convert=(W)=>W;class rd{constructor({ignorecase:W=!0,ignoreCase:$=W,allowRelativePaths:w=!1}={}){dX(this,nd,!0),this._rules=new od($),this._strictPathCheck=!w,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}add(W){if(this._rules.add(W))this._initCache();return this}addPattern(W){return this.add(W)}_test(W,$,w,Q){let J=W&&I7.convert(W);return I7(J,W,this._strictPathCheck?yR0:ld),this._t(J,$,w,Q)}checkIgnore(W){if(!fR0.test(W))return this.test(W);let $=W.split(yX).filter(Boolean);if($.pop(),$.length){let w=this._t($.join(yX)+yX,this._testCache,!0,$);if(w.ignored)return w}return this._rules.test(W,!1,ON)}_t(W,$,w,Q){if(W in $)return $[W];if(!Q)Q=W.split(yX).filter(Boolean);if(Q.pop(),!Q.length)return $[W]=this._rules.test(W,w,XH);let J=this._t(Q.join(yX)+yX,$,w,Q);return $[W]=J.ignored?J:this._rules.test(W,w,XH)}ignores(W){return this._test(W,this._ignoreCache,!1).ignored}createFilter(){return(W)=>!this.ignores(W)}filter(W){return cd(W).filter(this.createFilter())}test(W){return this._test(W,this._testCache,!0)}}var aL=(W)=>new rd(W),dR0=(W)=>I7(W&&I7.convert(W),W,ld),sd=()=>{let W=(w)=>/^\\\\\?\\/.test(w)||/["<>|\u0000-\u001F]+/u.test(w)?w:w.replace(/\\/g,"/");I7.convert=W;let $=/^[a-z]:\//i;I7.isNotRelative=(w)=>$.test(w)||ad(w)};if(typeof process<"u"&&process.platform==="win32")sd();RN.exports=aL;aL.default=aL;RN.exports.isPathValid=dR0;dX(RN.exports,Symbol.for("setupWindows"),sd)});var VT=X0((qy5,Dp)=>{Dp.exports={LOCHDR:30,LOCSIG:67324752,LOCVER:4,LOCFLG:6,LOCHOW:8,LOCTIM:10,LOCCRC:14,LOCSIZ:18,LOCLEN:22,LOCNAM:26,LOCEXT:28,EXTSIG:134695760,EXTHDR:16,EXTCRC:4,EXTSIZ:8,EXTLEN:12,CENHDR:46,CENSIG:33639248,CENVEM:4,CENVER:6,CENFLG:8,CENHOW:10,CENTIM:12,CENCRC:16,CENSIZ:20,CENLEN:24,CENNAM:28,CENEXT:30,CENCOM:32,CENDSK:34,CENATT:36,CENATX:38,CENOFF:42,ENDHDR:22,ENDSIG:101010256,ENDSUB:8,ENDTOT:10,ENDSIZ:12,ENDOFF:16,ENDCOM:20,END64HDR:20,END64SIG:117853008,END64START:4,END64OFF:8,END64NUMDISKS:16,ZIP64SIG:101075792,ZIP64HDR:56,ZIP64LEAD:12,ZIP64SIZE:4,ZIP64VEM:12,ZIP64VER:14,ZIP64DSK:16,ZIP64DSKDIR:20,ZIP64SUB:24,ZIP64TOT:32,ZIP64SIZB:40,ZIP64OFF:48,ZIP64EXTRA:56,STORED:0,SHRUNK:1,REDUCED1:2,REDUCED2:3,REDUCED3:4,REDUCED4:5,IMPLODED:6,DEFLATED:8,ENHANCED_DEFLATED:9,PKWARE:10,BZIP2:12,LZMA:14,IBM_TERSE:18,IBM_LZ77:19,AES_ENCRYPT:99,FLG_ENC:1,FLG_COMP1:2,FLG_COMP2:4,FLG_DESC:8,FLG_ENH:16,FLG_PATCH:32,FLG_STR:64,FLG_EFS:2048,FLG_MSK:4096,FILE:2,BUFFER:1,NONE:0,EF_ID:0,EF_SIZE:2,ID_ZIP64:1,ID_AVINFO:7,ID_PFS:8,ID_OS2:9,ID_NTFS:10,ID_OPENVMS:12,ID_UNIX:13,ID_FORK:14,ID_PATCH:15,ID_X509_PKCS7:20,ID_X509_CERTID_F:21,ID_X509_CERTID_C:22,ID_STRONGENC:23,ID_RECORD_MGT:24,ID_X509_PKCS7_RL:25,ID_IBM1:101,ID_IBM2:102,ID_POSZIP:18064,EF_ZIP64_OR_32:4294967295,EF_ZIP64_OR_16:65535,EF_ZIP64_SUNCOMP:0,EF_ZIP64_SCOMP:8,EF_ZIP64_RHO:16,EF_ZIP64_DSN:24}});var Uz=X0((Fp)=>{var Rp={INVALID_LOC:"Invalid LOC header (bad signature)",INVALID_CEN:"Invalid CEN header (bad signature)",INVALID_END:"Invalid END header (bad signature)",DESCRIPTOR_NOT_EXIST:"No descriptor present",DESCRIPTOR_UNKNOWN:"Unknown descriptor format",DESCRIPTOR_FAULTY:"Descriptor data is malformed",NO_DATA:"Nothing to decompress",BAD_CRC:"CRC32 checksum failed {0}",FILE_IN_THE_WAY:"There is a file in the way: {0}",UNKNOWN_METHOD:"Invalid/unsupported compression method",AVAIL_DATA:"inflate::Available inflate data did not terminate",INVALID_DISTANCE:"inflate::Invalid literal/length or distance code in fixed or dynamic block",TO_MANY_CODES:"inflate::Dynamic block code description: too many length or distance codes",INVALID_REPEAT_LEN:"inflate::Dynamic block code description: repeat more than specified lengths",INVALID_REPEAT_FIRST:"inflate::Dynamic block code description: repeat lengths with no first length",INCOMPLETE_CODES:"inflate::Dynamic block code description: code lengths codes incomplete",INVALID_DYN_DISTANCE:"inflate::Dynamic block code description: invalid distance code lengths",INVALID_CODES_LEN:"inflate::Dynamic block code description: invalid literal/length code lengths",INVALID_STORE_BLOCK:"inflate::Stored block length did not match one's complement",INVALID_BLOCK_TYPE:"inflate::Invalid block type (type == 3)",CANT_EXTRACT_FILE:"Could not extract the file",CANT_OVERRIDE:"Target file already exists",DISK_ENTRY_TOO_LARGE:"Number of disk entries is too large",NO_ZIP:"No zip file was loaded",NO_ENTRY:"Entry doesn't exist",DIRECTORY_CONTENT_ERROR:"A directory cannot have content",FILE_NOT_FOUND:'File not found: "{0}"',NOT_IMPLEMENTED:"Not implemented",INVALID_FILENAME:"Invalid filename",INVALID_FORMAT:"Invalid or unsupported zip format. No END header found",INVALID_PASS_PARAM:"Incompatible password parameter",WRONG_PASSWORD:"Wrong Password",COMMENT_TOO_LONG:"Comment is too long",EXTRA_FIELD_PARSE_ERROR:"Extra field parsing error"};function GL0(W){return function(...$){if($.length)W=W.replace(/\{(\d)\}/g,(w,Q)=>$[Q]||"");return Error("ADM-ZIP: "+W)}}for(let W of Object.keys(Rp))Fp[W]=GL0(Rp[W])});var Sp=X0((Ny5,Ap)=>{var KL0=R5("fs"),Z$=R5("path"),Bp=VT(),HL0=Uz(),VL0=typeof process==="object"&&process.platform==="win32",Lp=(W)=>typeof W==="object"&&W!==null,Tp=new Uint32Array(256).map((W,$)=>{for(let w=0;w<8;w++)if(($&1)!==0)$=3988292384^$>>>1;else $>>>=1;return $>>>0});function F4(W){if(this.sep=Z$.sep,this.fs=KL0,Lp(W)){if(Lp(W.fs)&&typeof W.fs.statSync==="function")this.fs=W.fs}}Ap.exports=F4;F4.prototype.makeDir=function(W){let $=this;function w(Q){let J=Q.split($.sep)[0];Q.split($.sep).forEach(function(X){if(!X||X.substr(-1,1)===":")return;J+=$.sep+X;var Y;try{Y=$.fs.statSync(J)}catch(G){if(G.message&&G.message.startsWith("ENOENT"))$.fs.mkdirSync(J);else throw G}if(Y&&Y.isFile())throw HL0.FILE_IN_THE_WAY(`"${J}"`)})}w(W)};F4.prototype.writeFileTo=function(W,$,w,Q){let J=this;if(J.fs.existsSync(W)){if(!w)return!1;var X=J.fs.statSync(W);if(X.isDirectory())return!1}var Y=Z$.dirname(W);if(!J.fs.existsSync(Y))J.makeDir(Y);var G;try{G=J.fs.openSync(W,"w",438)}catch(K){J.fs.chmodSync(W,438),G=J.fs.openSync(W,"w",438)}if(G)try{J.fs.writeSync(G,$,0,$.length,0)}finally{J.fs.closeSync(G)}return J.fs.chmodSync(W,Q||438),!0};F4.prototype.writeFileToAsync=function(W,$,w,Q,J){if(typeof Q==="function")J=Q,Q=void 0;let X=this;X.fs.exists(W,function(Y){if(Y&&!w)return J(!1);X.fs.stat(W,function(G,K){if(Y&&K.isDirectory())return J(!1);var H=Z$.dirname(W);X.fs.exists(H,function(V){if(!V)X.makeDir(H);X.fs.open(W,"w",438,function(Z,q){if(Z)X.fs.chmod(W,438,function(){X.fs.open(W,"w",438,function(N,U){X.fs.write(U,$,0,$.length,0,function(){X.fs.close(U,function(){X.fs.chmod(W,Q||438,function(){J(!0)})})})})});else if(q)X.fs.write(q,$,0,$.length,0,function(){X.fs.close(q,function(){X.fs.chmod(W,Q||438,function(){J(!0)})})});else X.fs.chmod(W,Q||438,function(){J(!0)})})})})})};F4.prototype.findFiles=function(W){let $=this;function w(Q,J,X){if(typeof J==="boolean")X=J,J=void 0;let Y=[];return $.fs.readdirSync(Q).forEach(function(G){let K=Z$.join(Q,G),H=$.fs.statSync(K);if(!J||J.test(K))Y.push(Z$.normalize(K)+(H.isDirectory()?$.sep:""));if(H.isDirectory()&&X)Y=Y.concat(w(K,J,X))}),Y}return w(W,void 0,!0)};F4.prototype.findFilesAsync=function(W,$){let w=this,Q=[];w.fs.readdir(W,function(J,X){if(J)return $(J);let Y=X.length;if(!Y)return $(null,Q);X.forEach(function(G){G=Z$.join(W,G),w.fs.stat(G,function(K,H){if(K)return $(K);if(H){if(Q.push(Z$.normalize(G)+(H.isDirectory()?w.sep:"")),H.isDirectory())w.findFilesAsync(G,function(V,Z){if(V)return $(V);if(Q=Q.concat(Z),!--Y)$(null,Q)});else if(!--Y)$(null,Q)}})})})};F4.prototype.getAttributes=function(){};F4.prototype.setAttributes=function(){};F4.crc32update=function(W,$){return Tp[(W^$)&255]^W>>>8};F4.crc32=function(W){if(typeof W==="string")W=Buffer.from(W,"utf8");let $=W.length,w=-1;for(let Q=0;Q<$;)w=F4.crc32update(w,W[Q++]);return~w>>>0};F4.methodToString=function(W){switch(W){case Bp.STORED:return"STORED ("+W+")";case Bp.DEFLATED:return"DEFLATED ("+W+")";default:return"UNSUPPORTED ("+W+")"}};F4.canonical=function(W){if(!W)return"";let $=Z$.posix.normalize("/"+W.split("\\").join("/"));return Z$.join(".",$)};F4.zipnamefix=function(W){if(!W)return"";let $=Z$.posix.normalize("/"+W.split("\\").join("/"));return Z$.posix.join(".",$)};F4.findLast=function(W,$){if(!Array.isArray(W))throw TypeError("arr is not array");let w=W.length>>>0;for(let Q=w-1;Q>=0;Q--)if($(W[Q],Q,W))return W[Q];return};F4.sanitize=function(W,$){W=Z$.resolve(Z$.normalize(W));var w=$.split("/");for(var Q=0,J=w.length;Q<J;Q++){var X=Z$.normalize(Z$.join(W,w.slice(Q,J).join(Z$.sep)));if(X.indexOf(W)===0)return X}return Z$.normalize(Z$.join(W,Z$.basename($)))};F4.toBuffer=function($,w){if(Buffer.isBuffer($))return $;else if($ instanceof Uint8Array)return Buffer.from($);else return typeof $==="string"?w($):Buffer.alloc(0)};F4.readBigUInt64LE=function(W,$){let w=W.readUInt32LE($);return W.readUInt32LE($+4)*4294967296+w};F4.fromDOS2Date=function(W){return new Date((W>>25&127)+1980,Math.max((W>>21&15)-1,0),Math.max(W>>16&31,1),W>>11&31,W>>5&63,(W&31)<<1)};F4.fromDate2DOS=function(W){let $=0,w=0;if(W.getFullYear()>1979)$=(W.getFullYear()-1980&127)<<9|W.getMonth()+1<<5|W.getDate(),w=W.getHours()<<11|W.getMinutes()<<5|W.getSeconds()>>1;return $<<16|w};F4.isWin=VL0;F4.crcTable=Tp});var Ep=X0((zy5,Cp)=>{var ZL0=R5("path");Cp.exports=function(W,{fs:$}){var w=W||"",Q=X(),J=null;function X(){return{directory:!1,readonly:!1,hidden:!1,executable:!1,mtime:0,atime:0}}if(w&&$.existsSync(w))J=$.statSync(w),Q.directory=J.isDirectory(),Q.mtime=J.mtime,Q.atime=J.atime,Q.executable=(73&J.mode)!==0,Q.readonly=(128&J.mode)===0,Q.hidden=ZL0.basename(w)[0]===".";else console.warn("Invalid path: "+w);return{get directory(){return Q.directory},get readOnly(){return Q.readonly},get hidden(){return Q.hidden},get mtime(){return Q.mtime},get atime(){return Q.atime},get executable(){return Q.executable},decodeAttributes:function(){},encodeAttributes:function(){},toJSON:function(){return{path:w,isDirectory:Q.directory,isReadOnly:Q.readonly,isHidden:Q.hidden,isExecutable:Q.executable,mTime:Q.mtime,aTime:Q.atime}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}});var Ip=X0((Uy5,Pp)=>{Pp.exports={efs:!0,encode:(W)=>Buffer.from(W,"utf8"),decode:(W)=>W.toString("utf8")}});var iX=X0((Oy5,lX)=>{lX.exports=Sp();lX.exports.Constants=VT();lX.exports.Errors=Uz();lX.exports.FileAttr=Ep();lX.exports.decoder=Ip()});var jp=X0((Dy5,fp)=>{var tw=iX(),l0=tw.Constants;fp.exports=function(){var W=20,$=10,w=0,Q=0,J=0,X=0,Y=0,G=0,K=0,H=0,V=0,Z=0,q=0,N=0,U=0;W|=tw.isWin?2560:768,w|=l0.FLG_EFS;let z={extraLen:0},O=(D)=>Math.max(0,D)>>>0,R=(D)=>Math.max(0,D)&65535,F=(D)=>Math.max(0,D)&255;return J=tw.fromDate2DOS(new Date),{get made(){return W},set made(D){W=D},get version(){return $},set version(D){$=D},get flags(){return w},set flags(D){w=D},get flags_efs(){return(w&l0.FLG_EFS)>0},set flags_efs(D){if(D)w|=l0.FLG_EFS;else w&=~l0.FLG_EFS},get flags_desc(){return(w&l0.FLG_DESC)>0},set flags_desc(D){if(D)w|=l0.FLG_DESC;else w&=~l0.FLG_DESC},get method(){return Q},set method(D){switch(D){case l0.STORED:this.version=10;case l0.DEFLATED:default:this.version=20}Q=D},get time(){return tw.fromDOS2Date(this.timeval)},set time(D){D=new Date(D),this.timeval=tw.fromDate2DOS(D)},get timeval(){return J},set timeval(D){J=O(D)},get timeHighByte(){return F(J>>>8)},get crc(){return X},set crc(D){X=O(D)},get compressedSize(){return Y},set compressedSize(D){Y=O(D)},get size(){return G},set size(D){G=O(D)},get fileNameLength(){return K},set fileNameLength(D){K=D},get extraLength(){return H},set extraLength(D){H=D},get extraLocalLength(){return z.extraLen},set extraLocalLength(D){z.extraLen=D},get commentLength(){return V},set commentLength(D){V=D},get diskNumStart(){return Z},set diskNumStart(D){Z=O(D)},get inAttr(){return q},set inAttr(D){q=O(D)},get attr(){return N},set attr(D){N=O(D)},get fileAttr(){return(N||0)>>16&4095},get offset(){return U},set offset(D){U=O(D)},get encrypted(){return(w&l0.FLG_ENC)===l0.FLG_ENC},get centralHeaderSize(){return l0.CENHDR+K+H+V},get realDataOffset(){return U+l0.LOCHDR+z.fnameLen+z.extraLen},get localHeader(){return z},loadLocalHeaderFromBinary:function(D){var T=D.slice(U,U+l0.LOCHDR);if(T.readUInt32LE(0)!==l0.LOCSIG)throw tw.Errors.INVALID_LOC();z.version=T.readUInt16LE(l0.LOCVER),z.flags=T.readUInt16LE(l0.LOCFLG),z.flags_desc=(z.flags&l0.FLG_DESC)>0,z.method=T.readUInt16LE(l0.LOCHOW),z.time=T.readUInt32LE(l0.LOCTIM),z.crc=T.readUInt32LE(l0.LOCCRC),z.compressedSize=T.readUInt32LE(l0.LOCSIZ),z.size=T.readUInt32LE(l0.LOCLEN),z.fnameLen=T.readUInt16LE(l0.LOCNAM),z.extraLen=T.readUInt16LE(l0.LOCEXT);let A=U+l0.LOCHDR+z.fnameLen,S=A+z.extraLen;return D.slice(A,S)},loadFromBinary:function(D){if(D.length!==l0.CENHDR||D.readUInt32LE(0)!==l0.CENSIG)throw tw.Errors.INVALID_CEN();W=D.readUInt16LE(l0.CENVEM),$=D.readUInt16LE(l0.CENVER),w=D.readUInt16LE(l0.CENFLG),Q=D.readUInt16LE(l0.CENHOW),J=D.readUInt32LE(l0.CENTIM),X=D.readUInt32LE(l0.CENCRC),Y=D.readUInt32LE(l0.CENSIZ),G=D.readUInt32LE(l0.CENLEN),K=D.readUInt16LE(l0.CENNAM),H=D.readUInt16LE(l0.CENEXT),V=D.readUInt16LE(l0.CENCOM),Z=D.readUInt16LE(l0.CENDSK),q=D.readUInt16LE(l0.CENATT),N=D.readUInt32LE(l0.CENATX),U=D.readUInt32LE(l0.CENOFF)},localHeaderToBinary:function(){var D=Buffer.alloc(l0.LOCHDR);return D.writeUInt32LE(l0.LOCSIG,0),D.writeUInt16LE($,l0.LOCVER),D.writeUInt16LE(w,l0.LOCFLG),D.writeUInt16LE(Q,l0.LOCHOW),D.writeUInt32LE(J,l0.LOCTIM),D.writeUInt32LE(X,l0.LOCCRC),D.writeUInt32LE(Y,l0.LOCSIZ),D.writeUInt32LE(G,l0.LOCLEN),D.writeUInt16LE(K,l0.LOCNAM),D.writeUInt16LE(z.extraLen,l0.LOCEXT),D},centralHeaderToBinary:function(){var D=Buffer.alloc(l0.CENHDR+K+H+V);return D.writeUInt32LE(l0.CENSIG,0),D.writeUInt16LE(W,l0.CENVEM),D.writeUInt16LE($,l0.CENVER),D.writeUInt16LE(w,l0.CENFLG),D.writeUInt16LE(Q,l0.CENHOW),D.writeUInt32LE(J,l0.CENTIM),D.writeUInt32LE(X,l0.CENCRC),D.writeUInt32LE(Y,l0.CENSIZ),D.writeUInt32LE(G,l0.CENLEN),D.writeUInt16LE(K,l0.CENNAM),D.writeUInt16LE(H,l0.CENEXT),D.writeUInt16LE(V,l0.CENCOM),D.writeUInt16LE(Z,l0.CENDSK),D.writeUInt16LE(q,l0.CENATT),D.writeUInt32LE(N,l0.CENATX),D.writeUInt32LE(U,l0.CENOFF),D},toJSON:function(){let D=function(T){return T+" bytes"};return{made:W,version:$,flags:w,method:tw.methodToString(Q),time:this.time,crc:"0x"+X.toString(16).toUpperCase(),compressedSize:D(Y),size:D(G),fileNameLength:D(K),extraLength:D(H),commentLength:D(V),diskNumStart:Z,inAttr:q,attr:N,offset:U,centralHeaderSize:D(l0.CENHDR+K+H+V)}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}});var _p=X0((Ry5,bp)=>{var oX=iX(),Q4=oX.Constants;bp.exports=function(){var W=0,$=0,w=0,Q=0,J=0;return{get diskEntries(){return W},set diskEntries(X){W=$=X},get totalEntries(){return $},set totalEntries(X){$=W=X},get size(){return w},set size(X){w=X},get offset(){return Q},set offset(X){Q=X},get commentLength(){return J},set commentLength(X){J=X},get mainHeaderSize(){return Q4.ENDHDR+J},loadFromBinary:function(X){if((X.length!==Q4.ENDHDR||X.readUInt32LE(0)!==Q4.ENDSIG)&&(X.length<Q4.ZIP64HDR||X.readUInt32LE(0)!==Q4.ZIP64SIG))throw oX.Errors.INVALID_END();if(X.readUInt32LE(0)===Q4.ENDSIG)W=X.readUInt16LE(Q4.ENDSUB),$=X.readUInt16LE(Q4.ENDTOT),w=X.readUInt32LE(Q4.ENDSIZ),Q=X.readUInt32LE(Q4.ENDOFF),J=X.readUInt16LE(Q4.ENDCOM);else W=oX.readBigUInt64LE(X,Q4.ZIP64SUB),$=oX.readBigUInt64LE(X,Q4.ZIP64TOT),w=oX.readBigUInt64LE(X,Q4.ZIP64SIZE),Q=oX.readBigUInt64LE(X,Q4.ZIP64OFF),J=0},toBinary:function(){var X=Buffer.alloc(Q4.ENDHDR+J);return X.writeUInt32LE(Q4.ENDSIG,0),X.writeUInt32LE(0,4),X.writeUInt16LE(W,Q4.ENDSUB),X.writeUInt16LE($,Q4.ENDTOT),X.writeUInt32LE(w,Q4.ENDSIZ),X.writeUInt32LE(Q,Q4.ENDOFF),X.writeUInt16LE(J,Q4.ENDCOM),X.fill(" ",Q4.ENDHDR),X},toJSON:function(){let X=function(Y,G){let K=Y.toString(16).toUpperCase();while(K.length<G)K="0"+K;return"0x"+K};return{diskEntries:W,totalEntries:$,size:w+" bytes",offset:X(Q,4),commentLength:J}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}});var ZT=X0((qL0)=>{qL0.EntryHeader=jp();qL0.MainHeader=_p()});var gp=X0((By5,xp)=>{xp.exports=function(W){var $=R5("zlib"),w={chunkSize:(parseInt(W.length/1024)+1)*1024};return{deflate:function(){return $.deflateRawSync(W,w)},deflateAsync:function(Q){var J=$.createDeflateRaw(w),X=[],Y=0;J.on("data",function(G){X.push(G),Y+=G.length}),J.on("end",function(){var G=Buffer.alloc(Y),K=0;G.fill(0);for(var H=0;H<X.length;H++){var V=X[H];V.copy(G,K),K+=V.length}Q&&Q(G)}),J.end(W)}}}});var mp=X0((Ly5,kp)=>{var zL0=+(process.versions?process.versions.node:"").split(".")[0]||0;kp.exports=function(W,$){var w=R5("zlib");let Q=zL0>=15&&$>0?{maxOutputLength:$}:{};return{inflate:function(){return w.inflateRawSync(W,Q)},inflateAsync:function(J){var X=w.createInflateRaw(Q),Y=[],G=0;X.on("data",function(K){Y.push(K),G+=K.length}),X.on("end",function(){var K=Buffer.alloc(G),H=0;K.fill(0);for(var V=0;V<Y.length;V++){var Z=Y[V];Z.copy(K,H),H+=Z.length}J&&J(K)}),X.end(W)}}}});var dp=X0((Ty5,yp)=>{var{randomFillSync:vp}=R5("crypto"),UL0=Uz(),OL0=new Uint32Array(256).map((W,$)=>{for(let w=0;w<8;w++)if(($&1)!==0)$=$>>>1^3988292384;else $>>>=1;return $>>>0}),up=(W,$)=>Math.imul(W,$)>>>0,hp=(W,$)=>{return OL0[(W^$)&255]^W>>>8},YH=()=>{if(typeof vp==="function")return vp(Buffer.alloc(12));else return YH.node()};YH.node=()=>{let W=Buffer.alloc(12),$=W.length;for(let w=0;w<$;w++)W[w]=Math.random()*256&255;return W};var Oz={genSalt:YH};function Dz(W){let $=Buffer.isBuffer(W)?W:Buffer.from(W);this.keys=new Uint32Array([305419896,591751049,878082192]);for(let w=0;w<$.length;w++)this.updateKeys($[w])}Dz.prototype.updateKeys=function(W){let $=this.keys;return $[0]=hp($[0],W),$[1]+=$[0]&255,$[1]=up($[1],134775813)+1,$[2]=hp($[2],$[1]>>>24),W};Dz.prototype.next=function(){let W=(this.keys[2]|2)>>>0;return up(W,W^1)>>8&255};function DL0(W){let $=new Dz(W);return function(w){let Q=Buffer.alloc(w.length),J=0;for(let X of w)Q[J++]=$.updateKeys(X^$.next());return Q}}function RL0(W){let $=new Dz(W);return function(w,Q,J=0){if(!Q)Q=Buffer.alloc(w.length);for(let X of w){let Y=$.next();Q[J++]=X^Y,$.updateKeys(X)}return Q}}function FL0(W,$,w){if(!W||!Buffer.isBuffer(W)||W.length<12)return Buffer.alloc(0);let Q=DL0(w),J=Q(W.slice(0,12)),X=($.flags&8)===8?$.timeHighByte:$.crc>>>24;if(J[11]!==X)throw UL0.WRONG_PASSWORD();return Q(W.slice(12))}function BL0(W){if(Buffer.isBuffer(W)&&W.length>=12)Oz.genSalt=function(){return W.slice(0,12)};else if(W==="node")Oz.genSalt=YH.node;else Oz.genSalt=YH}function LL0(W,$,w,Q=!1){if(W==null)W=Buffer.alloc(0);if(!Buffer.isBuffer(W))W=Buffer.from(W.toString());let J=RL0(w),X=Oz.genSalt();if(X[11]=$.crc>>>24&255,Q)X[10]=$.crc>>>16&255;let Y=Buffer.alloc(W.length+12);return J(X,Y),J(W,Y,12)}yp.exports={decrypt:FL0,encrypt:LL0,_salter:BL0}});var cp=X0((TL0)=>{TL0.Deflater=gp();TL0.Inflater=mp();TL0.ZipCrypto=dp()});var MT=X0((Sy5,pp)=>{var JW=iX(),EL0=ZT(),B4=JW.Constants,qT=cp();pp.exports=function(W,$){var w=new EL0.EntryHeader,Q=Buffer.alloc(0),J=Buffer.alloc(0),X=!1,Y=null,G=Buffer.alloc(0),K=Buffer.alloc(0),H=!0;let V=W,Z=typeof V.decoder==="object"?V.decoder:JW.decoder;H=Z.hasOwnProperty("efs")?Z.efs:!1;function q(){if(!$||!($ instanceof Uint8Array))return Buffer.alloc(0);return K=w.loadLocalHeaderFromBinary($),$.slice(w.realDataOffset,w.realDataOffset+w.compressedSize)}function N(D){if(!w.flags_desc&&!w.localHeader.flags_desc){if(JW.crc32(D)!==w.localHeader.crc)return!1}else{let T={},A=w.realDataOffset+w.compressedSize;if($.readUInt32LE(A)==B4.LOCSIG||$.readUInt32LE(A)==B4.CENSIG)throw JW.Errors.DESCRIPTOR_NOT_EXIST();if($.readUInt32LE(A)==B4.EXTSIG)T.crc=$.readUInt32LE(A+B4.EXTCRC),T.compressedSize=$.readUInt32LE(A+B4.EXTSIZ),T.size=$.readUInt32LE(A+B4.EXTLEN);else if($.readUInt16LE(A+12)===19280)T.crc=$.readUInt32LE(A+B4.EXTCRC-4),T.compressedSize=$.readUInt32LE(A+B4.EXTSIZ-4),T.size=$.readUInt32LE(A+B4.EXTLEN-4);else throw JW.Errors.DESCRIPTOR_UNKNOWN();if(T.compressedSize!==w.compressedSize||T.size!==w.size||T.crc!==w.crc)throw JW.Errors.DESCRIPTOR_FAULTY();if(JW.crc32(D)!==T.crc)return!1}return!0}function U(D,T,A){if(typeof T>"u"&&typeof D==="string")A=D,D=void 0;if(X){if(D&&T)T(Buffer.alloc(0),JW.Errors.DIRECTORY_CONTENT_ERROR());return Buffer.alloc(0)}var S=q();if(S.length===0){if(D&&T)T(S);return S}if(w.encrypted){if(typeof A!=="string"&&!Buffer.isBuffer(A))throw JW.Errors.INVALID_PASS_PARAM();S=qT.ZipCrypto.decrypt(S,w,A)}var f=Buffer.alloc(w.size);switch(w.method){case JW.Constants.STORED:if(S.copy(f),!N(f)){if(D&&T)T(f,JW.Errors.BAD_CRC());throw JW.Errors.BAD_CRC()}else{if(D&&T)T(f);return f}case JW.Constants.DEFLATED:var _=new qT.Inflater(S,w.size);if(!D){if(_.inflate(f).copy(f,0),!N(f))throw JW.Errors.BAD_CRC(`"${Z.decode(Q)}"`);return f}else _.inflateAsync(function(m){if(m.copy(m,0),T)if(!N(m))T(m,JW.Errors.BAD_CRC());else T(m)});break;default:if(D&&T)T(Buffer.alloc(0),JW.Errors.UNKNOWN_METHOD());throw JW.Errors.UNKNOWN_METHOD()}}function z(D,T){if((!Y||!Y.length)&&Buffer.isBuffer($)){if(D&&T)T(q());return q()}if(Y.length&&!X){var A;switch(w.method){case JW.Constants.STORED:if(w.compressedSize=w.size,A=Buffer.alloc(Y.length),Y.copy(A),D&&T)T(A);return A;default:case JW.Constants.DEFLATED:var S=new qT.Deflater(Y);if(!D){var f=S.deflate();return w.compressedSize=f.length,f}else S.deflateAsync(function(_){A=Buffer.alloc(_.length),w.compressedSize=_.length,_.copy(A),T&&T(A)});S=null;break}}else if(D&&T)T(Buffer.alloc(0));else return Buffer.alloc(0)}function O(D,T){return JW.readBigUInt64LE(D,T)}function R(D){try{var T=0,A,S,f;while(T+4<D.length)if(A=D.readUInt16LE(T),T+=2,S=D.readUInt16LE(T),T+=2,f=D.slice(T,T+S),T+=S,B4.ID_ZIP64===A)F(f)}catch(_){throw JW.Errors.EXTRA_FIELD_PARSE_ERROR()}}function F(D){var T,A,S,f;if(D.length>=B4.EF_ZIP64_SCOMP){if(T=O(D,B4.EF_ZIP64_SUNCOMP),w.size===B4.EF_ZIP64_OR_32)w.size=T}if(D.length>=B4.EF_ZIP64_RHO){if(A=O(D,B4.EF_ZIP64_SCOMP),w.compressedSize===B4.EF_ZIP64_OR_32)w.compressedSize=A}if(D.length>=B4.EF_ZIP64_DSN){if(S=O(D,B4.EF_ZIP64_RHO),w.offset===B4.EF_ZIP64_OR_32)w.offset=S}if(D.length>=B4.EF_ZIP64_DSN+4){if(f=D.readUInt32LE(B4.EF_ZIP64_DSN),w.diskNumStart===B4.EF_ZIP64_OR_16)w.diskNumStart=f}}return{get entryName(){return Z.decode(Q)},get rawEntryName(){return Q},set entryName(D){Q=JW.toBuffer(D,Z.encode);var T=Q[Q.length-1];X=T===47||T===92,w.fileNameLength=Q.length},get efs(){if(typeof H==="function")return H(this.entryName);else return H},get extra(){return G},set extra(D){G=D,w.extraLength=D.length,R(D)},get comment(){return Z.decode(J)},set comment(D){if(J=JW.toBuffer(D,Z.encode),w.commentLength=J.length,J.length>65535)throw JW.Errors.COMMENT_TOO_LONG()},get name(){var D=Z.decode(Q);return X?D.substr(D.length-1).split("/").pop():D.split("/").pop()},get isDirectory(){return X},getCompressedData:function(){return z(!1,null)},getCompressedDataAsync:function(D){z(!0,D)},setData:function(D){if(Y=JW.toBuffer(D,JW.decoder.encode),!X&&Y.length)w.size=Y.length,w.method=JW.Constants.DEFLATED,w.crc=JW.crc32(D),w.changed=!0;else w.method=JW.Constants.STORED},getData:function(D){if(w.changed)return Y;else return U(!1,null,D)},getDataAsync:function(D,T){if(w.changed)D(Y);else U(!0,D,T)},set attr(D){w.attr=D},get attr(){return w.attr},set header(D){w.loadFromBinary(D)},get header(){return w},packCentralHeader:function(){w.flags_efs=this.efs,w.extraLength=G.length;var D=w.centralHeaderToBinary(),T=JW.Constants.CENHDR;return Q.copy(D,T),T+=Q.length,G.copy(D,T),T+=w.extraLength,J.copy(D,T),D},packLocalHeader:function(){let D=0;w.flags_efs=this.efs,w.extraLocalLength=K.length;let T=w.localHeaderToBinary(),A=Buffer.alloc(T.length+Q.length+w.extraLocalLength);return T.copy(A,D),D+=T.length,Q.copy(A,D),D+=Q.length,K.copy(A,D),D+=K.length,A},toJSON:function(){let D=function(T){return"<"+(T&&T.length+" bytes buffer"||"null")+">"};return{entryName:this.entryName,name:this.name,comment:this.comment,isDirectory:this.isDirectory,header:w.toJSON(),compressedData:D($),data:D(Y)}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}});var ip=X0((Cy5,lp)=>{var np=MT(),PL0=ZT(),n$=iX();lp.exports=function(W,$){var w=[],Q={},J=Buffer.alloc(0),X=new PL0.MainHeader,Y=!1,G=null;let K=new Set,H=$,{noSort:V,decoder:Z}=H;if(W)U(H.readEntries);else Y=!0;function q(){let O=new Set;for(let R of Object.keys(Q)){let F=R.split("/");if(F.pop(),!F.length)continue;for(let D=0;D<F.length;D++){let T=F.slice(0,D+1).join("/")+"/";O.add(T)}}for(let R of O)if(!(R in Q)){let F=new np(H);F.entryName=R,F.attr=16,F.temporary=!0,w.push(F),Q[F.entryName]=F,K.add(F)}}function N(){if(Y=!0,Q={},X.diskEntries>(W.length-X.offset)/n$.Constants.CENHDR)throw n$.Errors.DISK_ENTRY_TOO_LARGE();w=Array(X.diskEntries);var O=X.offset;for(var R=0;R<w.length;R++){var F=O,D=new np(H,W);if(D.header=W.slice(F,F+=n$.Constants.CENHDR),D.entryName=W.slice(F,F+=D.header.fileNameLength),D.header.extraLength)D.extra=W.slice(F,F+=D.header.extraLength);if(D.header.commentLength)D.comment=W.slice(F,F+D.header.commentLength);O+=D.header.centralHeaderSize,w[R]=D,Q[D.entryName]=D}K.clear(),q()}function U(O){var R=W.length-n$.Constants.ENDHDR,F=Math.max(0,R-65535),D=F,T=W.length,A=-1,S=0;if(typeof H.trailingSpace==="boolean"?H.trailingSpace:!1)F=0;for(R;R>=D;R--){if(W[R]!==80)continue;if(W.readUInt32LE(R)===n$.Constants.ENDSIG){A=R,S=R,T=R+n$.Constants.ENDHDR,D=R-n$.Constants.END64HDR;continue}if(W.readUInt32LE(R)===n$.Constants.END64SIG){D=F;continue}if(W.readUInt32LE(R)===n$.Constants.ZIP64SIG){A=R,T=R+n$.readBigUInt64LE(W,R+n$.Constants.ZIP64SIZE)+n$.Constants.ZIP64LEAD;break}}if(A==-1)throw n$.Errors.INVALID_FORMAT();if(X.loadFromBinary(W.slice(A,T)),X.commentLength)J=W.slice(S+n$.Constants.ENDHDR);if(O)N()}function z(){if(w.length>1&&!V)w.sort((O,R)=>O.entryName.toLowerCase().localeCompare(R.entryName.toLowerCase()))}return{get entries(){if(!Y)N();return w.filter((O)=>!K.has(O))},get comment(){return Z.decode(J)},set comment(O){J=n$.toBuffer(O,Z.encode),X.commentLength=J.length},getEntryCount:function(){if(!Y)return X.diskEntries;return w.length},forEach:function(O){this.entries.forEach(O)},getEntry:function(O){if(!Y)N();return Q[O]||null},setEntry:function(O){if(!Y)N();w.push(O),Q[O.entryName]=O,X.totalEntries=w.length},deleteFile:function(O,R=!0){if(!Y)N();let F=Q[O];this.getEntryChildren(F,R).map((T)=>T.entryName).forEach(this.deleteEntry)},deleteEntry:function(O){if(!Y)N();let R=Q[O],F=w.indexOf(R);if(F>=0)w.splice(F,1),delete Q[O],X.totalEntries=w.length},getEntryChildren:function(O,R=!0){if(!Y)N();if(typeof O==="object")if(O.isDirectory&&R){let F=[],D=O.entryName;for(let T of w)if(T.entryName.startsWith(D))F.push(T);return F}else return[O];return[]},getChildCount:function(O){if(O&&O.isDirectory){let R=this.getEntryChildren(O);return R.includes(O)?R.length-1:R.length}return 0},compressToBuffer:function(){if(!Y)N();z();let O=[],R=[],F=0,D=0;X.size=0,X.offset=0;let T=0;for(let f of this.entries){let _=f.getCompressedData();f.header.offset=D;let m=f.packLocalHeader(),v=m.length+_.length;D+=v,O.push(m),O.push(_);let u=f.packCentralHeader();R.push(u),X.size+=u.length,F+=v+u.length,T++}F+=X.mainHeaderSize,X.offset=D,X.totalEntries=T,D=0;let A=Buffer.alloc(F);for(let f of O)f.copy(A,D),D+=f.length;for(let f of R)f.copy(A,D),D+=f.length;let S=X.toBinary();if(J)J.copy(S,n$.Constants.ENDHDR);return S.copy(A,D),W=A,Y=!1,A},toAsyncBuffer:function(O,R,F,D){try{if(!Y)N();z();let T=[],A=[],S=0,f=0,_=0;X.size=0,X.offset=0;let m=function(v){if(v.length>0){let u=v.shift(),i=u.entryName+u.extra.toString();if(F)F(i);u.getCompressedDataAsync(function($0){if(D)D(i);u.header.offset=f;let a=u.packLocalHeader(),W0=a.length+$0.length;f+=W0,T.push(a),T.push($0);let t=u.packCentralHeader();A.push(t),X.size+=t.length,S+=W0+t.length,_++,m(v)})}else{S+=X.mainHeaderSize,X.offset=f,X.totalEntries=_,f=0;let u=Buffer.alloc(S);T.forEach(function($0){$0.copy(u,f),f+=$0.length}),A.forEach(function($0){$0.copy(u,f),f+=$0.length});let i=X.toBinary();if(J)J.copy(i,n$.Constants.ENDHDR);i.copy(u,f),W=u,Y=!1,O(u)}};m(Array.from(this.entries))}catch(T){R(T)}}}}});var NT=X0((Ey5,ap)=>{var X4=iX(),J4=R5("path"),IL0=MT(),fL0=ip(),pQ=(...W)=>X4.findLast(W,($)=>typeof $==="boolean"),op=(...W)=>X4.findLast(W,($)=>typeof $==="string"),jL0=(...W)=>X4.findLast(W,($)=>typeof $==="function"),bL0={noSort:!1,readEntries:!1,method:X4.Constants.NONE,fs:null};ap.exports=function(W,$){let w=null,Q=Object.assign(Object.create(null),bL0);if(W&&typeof W==="object"){if(!(W instanceof Uint8Array)){if(Object.assign(Q,W),W=Q.input?Q.input:void 0,Q.input)delete Q.input}if(Buffer.isBuffer(W))w=W,Q.method=X4.Constants.BUFFER,W=void 0}Object.assign(Q,$);let J=new X4(Q);if(typeof Q.decoder!=="object"||typeof Q.decoder.encode!=="function"||typeof Q.decoder.decode!=="function")Q.decoder=X4.decoder;if(W&&typeof W==="string")if(J.fs.existsSync(W))Q.method=X4.Constants.FILE,Q.filename=W,w=J.fs.readFileSync(W);else throw X4.Errors.INVALID_FILENAME();let X=new fL0(w,Q),{canonical:Y,sanitize:G,zipnamefix:K}=X4;function H(N){if(N&&X){var U;if(typeof N==="string")U=X.getEntry(J4.posix.normalize(N));if(typeof N==="object"&&typeof N.entryName<"u"&&typeof N.header<"u")U=X.getEntry(N.entryName);if(U)return U}return null}function V(N){let{join:U,normalize:z,sep:O}=J4.posix;return U(J4.isAbsolute(N)?"/":".",z(O+N.split("\\").join(O)+O))}function Z(N){if(N instanceof RegExp)return function(U){return function(z){return U.test(z)}}(N);else if(typeof N!=="function")return()=>!0;return N}let q=(N,U)=>{let z=U.slice(-1);return z=z===J.sep?J.sep:"",J4.relative(N,U)+z};return{readFile:function(N,U){var z=H(N);return z&&z.getData(U)||null},childCount:function(N){let U=H(N);if(U)return X.getChildCount(U)},readFileAsync:function(N,U){var z=H(N);if(z)z.getDataAsync(U);else U(null,"getEntry failed for:"+N)},readAsText:function(N,U){var z=H(N);if(z){var O=z.getData();if(O&&O.length)return O.toString(U||"utf8")}return""},readAsTextAsync:function(N,U,z){var O=H(N);if(O)O.getDataAsync(function(R,F){if(F){U(R,F);return}if(R&&R.length)U(R.toString(z||"utf8"));else U("")});else U("")},deleteFile:function(N,U=!0){var z=H(N);if(z)X.deleteFile(z.entryName,U)},deleteEntry:function(N){var U=H(N);if(U)X.deleteEntry(U.entryName)},addZipComment:function(N){X.comment=N},getZipComment:function(){return X.comment||""},addZipEntryComment:function(N,U){var z=H(N);if(z)z.comment=U},getZipEntryComment:function(N){var U=H(N);if(U)return U.comment||"";return""},updateFile:function(N,U){var z=H(N);if(z)z.setData(U)},addLocalFile:function(N,U,z,O){if(J.fs.existsSync(N)){U=U?V(U):"";let R=J4.win32.basename(J4.win32.normalize(N));U+=z?z:R;let F=J.fs.statSync(N),D=F.isFile()?J.fs.readFileSync(N):Buffer.alloc(0);if(F.isDirectory())U+=J.sep;this.addFile(U,D,O,F)}else throw X4.Errors.FILE_NOT_FOUND(N)},addLocalFileAsync:function(N,U){N=typeof N==="object"?N:{localPath:N};let z=J4.resolve(N.localPath),{comment:O}=N,{zipPath:R,zipName:F}=N,D=this;J.fs.stat(z,function(T,A){if(T)return U(T,!1);R=R?V(R):"";let S=J4.win32.basename(J4.win32.normalize(z));if(R+=F?F:S,A.isFile())J.fs.readFile(z,function(f,_){if(f)return U(f,!1);return D.addFile(R,_,O,A),setImmediate(U,void 0,!0)});else if(A.isDirectory())return R+=J.sep,D.addFile(R,Buffer.alloc(0),O,A),setImmediate(U,void 0,!0)})},addLocalFolder:function(N,U,z){if(z=Z(z),U=U?V(U):"",N=J4.normalize(N),J.fs.existsSync(N)){let O=J.findFiles(N),R=this;if(O.length)for(let F of O){let D=J4.join(U,q(N,F));if(z(D))R.addLocalFile(F,J4.dirname(D))}}else throw X4.Errors.FILE_NOT_FOUND(N)},addLocalFolderAsync:function(N,U,z,O){O=Z(O),z=z?V(z):"",N=J4.normalize(N);var R=this;J.fs.open(N,"r",function(F){if(F&&F.code==="ENOENT")U(void 0,X4.Errors.FILE_NOT_FOUND(N));else if(F)U(void 0,F);else{var D=J.findFiles(N),T=-1,A=function(){if(T+=1,T<D.length){var S=D[T],f=q(N,S).split("\\").join("/");if(f=f.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,""),O(f))J.fs.stat(S,function(_,m){if(_)U(void 0,_);if(m.isFile())J.fs.readFile(S,function(v,u){if(v)U(void 0,v);else R.addFile(z+f,u,"",m),A()});else R.addFile(z+f+"/",Buffer.alloc(0),"",m),A()});else process.nextTick(()=>{A()})}else U(!0,void 0)};A()}})},addLocalFolderAsync2:function(N,U){let z=this;N=typeof N==="object"?N:{localPath:N},localPath=J4.resolve(V(N.localPath));let{zipPath:O,filter:R,namefix:F}=N;if(R instanceof RegExp)R=function(A){return function(S){return A.test(S)}}(R);else if(typeof R!=="function")R=function(){return!0};if(O=O?V(O):"",F=="latin1")F=(A)=>A.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,"");if(typeof F!=="function")F=(A)=>A;let D=(A)=>J4.join(O,F(q(localPath,A))),T=(A)=>J4.win32.basename(J4.win32.normalize(F(A)));J.fs.open(localPath,"r",function(A){if(A&&A.code==="ENOENT")U(void 0,X4.Errors.FILE_NOT_FOUND(localPath));else if(A)U(void 0,A);else J.findFilesAsync(localPath,function(S,f){if(S)return U(S);if(f=f.filter((_)=>R(D(_))),!f.length)U(void 0,!1);setImmediate(f.reverse().reduce(function(_,m){return function(v,u){if(v||u===!1)return setImmediate(_,v,!1);z.addLocalFileAsync({localPath:m,zipPath:J4.dirname(D(m)),zipName:T(m)},_)}},U))})})},addLocalFolderPromise:function(N,U){return new Promise((z,O)=>{this.addLocalFolderAsync2(Object.assign({localPath:N},U),(R,F)=>{if(R)O(R);if(F)z(this)})})},addFile:function(N,U,z,O){N=K(N);let R=H(N),F=R!=null;if(!F)R=new IL0(Q),R.entryName=N;R.comment=z||"";let D=typeof O==="object"&&O instanceof J.fs.Stats;if(D)R.header.time=O.mtime;var T=R.isDirectory?16:0;let A=R.isDirectory?16384:32768;if(D)A|=4095&O.mode;else if(typeof O==="number")A|=4095&O;else A|=R.isDirectory?493:420;if(T=(T|A<<16)>>>0,R.attr=T,R.setData(U),!F)X.setEntry(R);return R},getEntries:function(N){return X.password=N,X?X.entries:[]},getEntry:function(N){return H(N)},getEntryCount:function(){return X.getEntryCount()},forEach:function(N){return X.forEach(N)},extractEntryTo:function(N,U,z,O,R,F){O=pQ(!1,O),R=pQ(!1,R),z=pQ(!0,z),F=op(R,F);var D=H(N);if(!D)throw X4.Errors.NO_ENTRY();var T=Y(D.entryName),A=G(U,F&&!D.isDirectory?F:z?T:J4.basename(T));if(D.isDirectory){var S=X.getEntryChildren(D);return S.forEach(function(m){if(m.isDirectory)return;var v=m.getData();if(!v)throw X4.Errors.CANT_EXTRACT_FILE();var u=Y(m.entryName),i=G(U,z?u:J4.basename(u));let $0=R?m.header.fileAttr:void 0;J.writeFileTo(i,v,O,$0)}),!0}var f=D.getData(X.password);if(!f)throw X4.Errors.CANT_EXTRACT_FILE();if(J.fs.existsSync(A)&&!O)throw X4.Errors.CANT_OVERRIDE();let _=R?N.header.fileAttr:void 0;return J.writeFileTo(A,f,O,_),!0},test:function(N){if(!X)return!1;for(var U in X.entries)try{if(U.isDirectory)continue;var z=X.entries[U].getData(N);if(!z)return!1}catch(O){return!1}return!0},extractAllTo:function(N,U,z,O){if(z=pQ(!1,z),O=op(z,O),U=pQ(!1,U),!X)throw X4.Errors.NO_ZIP();X.entries.forEach(function(R){var F=G(N,Y(R.entryName));if(R.isDirectory){J.makeDir(F);return}var D=R.getData(O);if(!D)throw X4.Errors.CANT_EXTRACT_FILE();let T=z?R.header.fileAttr:void 0;J.writeFileTo(F,D,U,T);try{J.fs.utimesSync(F,R.header.time,R.header.time)}catch(A){throw X4.Errors.CANT_EXTRACT_FILE()}})},extractAllToAsync:function(N,U,z,O){if(O=jL0(U,z,O),z=pQ(!1,z),U=pQ(!1,U),!O)return new Promise((A,S)=>{this.extractAllToAsync(N,U,z,function(f){if(f)S(f);else A(this)})});if(!X){O(X4.Errors.NO_ZIP());return}N=J4.resolve(N);let R=(A)=>G(N,J4.normalize(Y(A.entryName))),F=(A,S)=>Error(A+': "'+S+'"'),D=[],T=[];X.entries.forEach((A)=>{if(A.isDirectory)D.push(A);else T.push(A)});for(let A of D){let S=R(A),f=z?A.header.fileAttr:void 0;try{if(J.makeDir(S),f)J.fs.chmodSync(S,f);J.fs.utimesSync(S,A.header.time,A.header.time)}catch(_){O(F("Unable to create folder",S))}}T.reverse().reduce(function(A,S){return function(f){if(f)A(f);else{let _=J4.normalize(Y(S.entryName)),m=G(N,_);S.getDataAsync(function(v,u){if(u)A(u);else if(!v)A(X4.Errors.CANT_EXTRACT_FILE());else{let i=z?S.header.fileAttr:void 0;J.writeFileToAsync(m,v,U,i,function($0){if(!$0)A(F("Unable to write file",m));J.fs.utimes(m,S.header.time,S.header.time,function(a){if(a)A(F("Unable to set times",m));else A()})})}})}}},O)()},writeZip:function(N,U){if(arguments.length===1){if(typeof N==="function")U=N,N=""}if(!N&&Q.filename)N=Q.filename;if(!N)return;var z=X.compressToBuffer();if(z){var O=J.writeFileTo(N,z,!0);if(typeof U==="function")U(!O?Error("failed"):null,"")}},writeZipPromise:function(N,U){let{overwrite:z,perm:O}=Object.assign({overwrite:!0},U);return new Promise((R,F)=>{if(!N&&Q.filename)N=Q.filename;if(!N)F("ADM-ZIP: ZIP File Name Missing");this.toBufferPromise().then((D)=>{let T=(A)=>A?R(A):F("ADM-ZIP: Wasn't able to write zip file");J.writeFileToAsync(N,D,z,O,T)},F)})},toBufferPromise:function(){return new Promise((N,U)=>{X.toAsyncBuffer(N,U)})},toBuffer:function(N,U,z,O){if(typeof N==="function")return X.toAsyncBuffer(N,U,z,O),null;return X.compressToBuffer()}}}});var ii=X0((te5,nz)=>{(function(W){var $=function(C){var x,b=new Float64Array(16);if(C)for(x=0;x<C.length;x++)b[x]=C[x];return b},w=function(){throw Error("no PRNG")},Q=new Uint8Array(16),J=new Uint8Array(32);J[0]=9;var X=$(),Y=$([1]),G=$([56129,1]),K=$([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),H=$([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),V=$([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),Z=$([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),q=$([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function N(C,x,b,L){C[x]=b>>24&255,C[x+1]=b>>16&255,C[x+2]=b>>8&255,C[x+3]=b&255,C[x+4]=L>>24&255,C[x+5]=L>>16&255,C[x+6]=L>>8&255,C[x+7]=L&255}function U(C,x,b,L,g){var o,s=0;for(o=0;o<g;o++)s|=C[x+o]^b[L+o];return(1&s-1>>>8)-1}function z(C,x,b,L){return U(C,x,b,L,16)}function O(C,x,b,L){return U(C,x,b,L,32)}function R(C,x,b,L){var g=L[0]&255|(L[1]&255)<<8|(L[2]&255)<<16|(L[3]&255)<<24,o=b[0]&255|(b[1]&255)<<8|(b[2]&255)<<16|(b[3]&255)<<24,s=b[4]&255|(b[5]&255)<<8|(b[6]&255)<<16|(b[7]&255)<<24,M0=b[8]&255|(b[9]&255)<<8|(b[10]&255)<<16|(b[11]&255)<<24,E0=b[12]&255|(b[13]&255)<<8|(b[14]&255)<<16|(b[15]&255)<<24,G5=L[4]&255|(L[5]&255)<<8|(L[6]&255)<<16|(L[7]&255)<<24,n0=x[0]&255|(x[1]&255)<<8|(x[2]&255)<<16|(x[3]&255)<<24,l1=x[4]&255|(x[5]&255)<<8|(x[6]&255)<<16|(x[7]&255)<<24,t0=x[8]&255|(x[9]&255)<<8|(x[10]&255)<<16|(x[11]&255)<<24,g5=x[12]&255|(x[13]&255)<<8|(x[14]&255)<<16|(x[15]&255)<<24,m5=L[8]&255|(L[9]&255)<<8|(L[10]&255)<<16|(L[11]&255)<<24,a5=b[16]&255|(b[17]&255)<<8|(b[18]&255)<<16|(b[19]&255)<<24,n5=b[20]&255|(b[21]&255)<<8|(b[22]&255)<<16|(b[23]&255)<<24,v5=b[24]&255|(b[25]&255)<<8|(b[26]&255)<<16|(b[27]&255)<<24,u5=b[28]&255|(b[29]&255)<<8|(b[30]&255)<<16|(b[31]&255)<<24,h5=L[12]&255|(L[13]&255)<<8|(L[14]&255)<<16|(L[15]&255)<<24,e0=g,M5=o,o0=s,Q5=M0,X5=E0,d0=G5,w0=n0,Q0=l1,R0=t0,q0=g5,N0=m5,L0=a5,F5=n5,r5=v5,Q1=u5,s5=h5,h;for(var H1=0;H1<20;H1+=2)h=e0+F5|0,X5^=h<<7|h>>>25,h=X5+e0|0,R0^=h<<9|h>>>23,h=R0+X5|0,F5^=h<<13|h>>>19,h=F5+R0|0,e0^=h<<18|h>>>14,h=d0+M5|0,q0^=h<<7|h>>>25,h=q0+d0|0,r5^=h<<9|h>>>23,h=r5+q0|0,M5^=h<<13|h>>>19,h=M5+r5|0,d0^=h<<18|h>>>14,h=N0+w0|0,Q1^=h<<7|h>>>25,h=Q1+N0|0,o0^=h<<9|h>>>23,h=o0+Q1|0,w0^=h<<13|h>>>19,h=w0+o0|0,N0^=h<<18|h>>>14,h=s5+L0|0,Q5^=h<<7|h>>>25,h=Q5+s5|0,Q0^=h<<9|h>>>23,h=Q0+Q5|0,L0^=h<<13|h>>>19,h=L0+Q0|0,s5^=h<<18|h>>>14,h=e0+Q5|0,M5^=h<<7|h>>>25,h=M5+e0|0,o0^=h<<9|h>>>23,h=o0+M5|0,Q5^=h<<13|h>>>19,h=Q5+o0|0,e0^=h<<18|h>>>14,h=d0+X5|0,w0^=h<<7|h>>>25,h=w0+d0|0,Q0^=h<<9|h>>>23,h=Q0+w0|0,X5^=h<<13|h>>>19,h=X5+Q0|0,d0^=h<<18|h>>>14,h=N0+q0|0,L0^=h<<7|h>>>25,h=L0+N0|0,R0^=h<<9|h>>>23,h=R0+L0|0,q0^=h<<13|h>>>19,h=q0+R0|0,N0^=h<<18|h>>>14,h=s5+Q1|0,F5^=h<<7|h>>>25,h=F5+s5|0,r5^=h<<9|h>>>23,h=r5+F5|0,Q1^=h<<13|h>>>19,h=Q1+r5|0,s5^=h<<18|h>>>14;e0=e0+g|0,M5=M5+o|0,o0=o0+s|0,Q5=Q5+M0|0,X5=X5+E0|0,d0=d0+G5|0,w0=w0+n0|0,Q0=Q0+l1|0,R0=R0+t0|0,q0=q0+g5|0,N0=N0+m5|0,L0=L0+a5|0,F5=F5+n5|0,r5=r5+v5|0,Q1=Q1+u5|0,s5=s5+h5|0,C[0]=e0>>>0&255,C[1]=e0>>>8&255,C[2]=e0>>>16&255,C[3]=e0>>>24&255,C[4]=M5>>>0&255,C[5]=M5>>>8&255,C[6]=M5>>>16&255,C[7]=M5>>>24&255,C[8]=o0>>>0&255,C[9]=o0>>>8&255,C[10]=o0>>>16&255,C[11]=o0>>>24&255,C[12]=Q5>>>0&255,C[13]=Q5>>>8&255,C[14]=Q5>>>16&255,C[15]=Q5>>>24&255,C[16]=X5>>>0&255,C[17]=X5>>>8&255,C[18]=X5>>>16&255,C[19]=X5>>>24&255,C[20]=d0>>>0&255,C[21]=d0>>>8&255,C[22]=d0>>>16&255,C[23]=d0>>>24&255,C[24]=w0>>>0&255,C[25]=w0>>>8&255,C[26]=w0>>>16&255,C[27]=w0>>>24&255,C[28]=Q0>>>0&255,C[29]=Q0>>>8&255,C[30]=Q0>>>16&255,C[31]=Q0>>>24&255,C[32]=R0>>>0&255,C[33]=R0>>>8&255,C[34]=R0>>>16&255,C[35]=R0>>>24&255,C[36]=q0>>>0&255,C[37]=q0>>>8&255,C[38]=q0>>>16&255,C[39]=q0>>>24&255,C[40]=N0>>>0&255,C[41]=N0>>>8&255,C[42]=N0>>>16&255,C[43]=N0>>>24&255,C[44]=L0>>>0&255,C[45]=L0>>>8&255,C[46]=L0>>>16&255,C[47]=L0>>>24&255,C[48]=F5>>>0&255,C[49]=F5>>>8&255,C[50]=F5>>>16&255,C[51]=F5>>>24&255,C[52]=r5>>>0&255,C[53]=r5>>>8&255,C[54]=r5>>>16&255,C[55]=r5>>>24&255,C[56]=Q1>>>0&255,C[57]=Q1>>>8&255,C[58]=Q1>>>16&255,C[59]=Q1>>>24&255,C[60]=s5>>>0&255,C[61]=s5>>>8&255,C[62]=s5>>>16&255,C[63]=s5>>>24&255}function F(C,x,b,L){var g=L[0]&255|(L[1]&255)<<8|(L[2]&255)<<16|(L[3]&255)<<24,o=b[0]&255|(b[1]&255)<<8|(b[2]&255)<<16|(b[3]&255)<<24,s=b[4]&255|(b[5]&255)<<8|(b[6]&255)<<16|(b[7]&255)<<24,M0=b[8]&255|(b[9]&255)<<8|(b[10]&255)<<16|(b[11]&255)<<24,E0=b[12]&255|(b[13]&255)<<8|(b[14]&255)<<16|(b[15]&255)<<24,G5=L[4]&255|(L[5]&255)<<8|(L[6]&255)<<16|(L[7]&255)<<24,n0=x[0]&255|(x[1]&255)<<8|(x[2]&255)<<16|(x[3]&255)<<24,l1=x[4]&255|(x[5]&255)<<8|(x[6]&255)<<16|(x[7]&255)<<24,t0=x[8]&255|(x[9]&255)<<8|(x[10]&255)<<16|(x[11]&255)<<24,g5=x[12]&255|(x[13]&255)<<8|(x[14]&255)<<16|(x[15]&255)<<24,m5=L[8]&255|(L[9]&255)<<8|(L[10]&255)<<16|(L[11]&255)<<24,a5=b[16]&255|(b[17]&255)<<8|(b[18]&255)<<16|(b[19]&255)<<24,n5=b[20]&255|(b[21]&255)<<8|(b[22]&255)<<16|(b[23]&255)<<24,v5=b[24]&255|(b[25]&255)<<8|(b[26]&255)<<16|(b[27]&255)<<24,u5=b[28]&255|(b[29]&255)<<8|(b[30]&255)<<16|(b[31]&255)<<24,h5=L[12]&255|(L[13]&255)<<8|(L[14]&255)<<16|(L[15]&255)<<24,e0=g,M5=o,o0=s,Q5=M0,X5=E0,d0=G5,w0=n0,Q0=l1,R0=t0,q0=g5,N0=m5,L0=a5,F5=n5,r5=v5,Q1=u5,s5=h5,h;for(var H1=0;H1<20;H1+=2)h=e0+F5|0,X5^=h<<7|h>>>25,h=X5+e0|0,R0^=h<<9|h>>>23,h=R0+X5|0,F5^=h<<13|h>>>19,h=F5+R0|0,e0^=h<<18|h>>>14,h=d0+M5|0,q0^=h<<7|h>>>25,h=q0+d0|0,r5^=h<<9|h>>>23,h=r5+q0|0,M5^=h<<13|h>>>19,h=M5+r5|0,d0^=h<<18|h>>>14,h=N0+w0|0,Q1^=h<<7|h>>>25,h=Q1+N0|0,o0^=h<<9|h>>>23,h=o0+Q1|0,w0^=h<<13|h>>>19,h=w0+o0|0,N0^=h<<18|h>>>14,h=s5+L0|0,Q5^=h<<7|h>>>25,h=Q5+s5|0,Q0^=h<<9|h>>>23,h=Q0+Q5|0,L0^=h<<13|h>>>19,h=L0+Q0|0,s5^=h<<18|h>>>14,h=e0+Q5|0,M5^=h<<7|h>>>25,h=M5+e0|0,o0^=h<<9|h>>>23,h=o0+M5|0,Q5^=h<<13|h>>>19,h=Q5+o0|0,e0^=h<<18|h>>>14,h=d0+X5|0,w0^=h<<7|h>>>25,h=w0+d0|0,Q0^=h<<9|h>>>23,h=Q0+w0|0,X5^=h<<13|h>>>19,h=X5+Q0|0,d0^=h<<18|h>>>14,h=N0+q0|0,L0^=h<<7|h>>>25,h=L0+N0|0,R0^=h<<9|h>>>23,h=R0+L0|0,q0^=h<<13|h>>>19,h=q0+R0|0,N0^=h<<18|h>>>14,h=s5+Q1|0,F5^=h<<7|h>>>25,h=F5+s5|0,r5^=h<<9|h>>>23,h=r5+F5|0,Q1^=h<<13|h>>>19,h=Q1+r5|0,s5^=h<<18|h>>>14;C[0]=e0>>>0&255,C[1]=e0>>>8&255,C[2]=e0>>>16&255,C[3]=e0>>>24&255,C[4]=d0>>>0&255,C[5]=d0>>>8&255,C[6]=d0>>>16&255,C[7]=d0>>>24&255,C[8]=N0>>>0&255,C[9]=N0>>>8&255,C[10]=N0>>>16&255,C[11]=N0>>>24&255,C[12]=s5>>>0&255,C[13]=s5>>>8&255,C[14]=s5>>>16&255,C[15]=s5>>>24&255,C[16]=w0>>>0&255,C[17]=w0>>>8&255,C[18]=w0>>>16&255,C[19]=w0>>>24&255,C[20]=Q0>>>0&255,C[21]=Q0>>>8&255,C[22]=Q0>>>16&255,C[23]=Q0>>>24&255,C[24]=R0>>>0&255,C[25]=R0>>>8&255,C[26]=R0>>>16&255,C[27]=R0>>>24&255,C[28]=q0>>>0&255,C[29]=q0>>>8&255,C[30]=q0>>>16&255,C[31]=q0>>>24&255}function D(C,x,b,L){R(C,x,b,L)}function T(C,x,b,L){F(C,x,b,L)}var A=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function S(C,x,b,L,g,o,s){var M0=new Uint8Array(16),E0=new Uint8Array(64),G5,n0;for(n0=0;n0<16;n0++)M0[n0]=0;for(n0=0;n0<8;n0++)M0[n0]=o[n0];while(g>=64){D(E0,M0,s,A);for(n0=0;n0<64;n0++)C[x+n0]=b[L+n0]^E0[n0];G5=1;for(n0=8;n0<16;n0++)G5=G5+(M0[n0]&255)|0,M0[n0]=G5&255,G5>>>=8;g-=64,x+=64,L+=64}if(g>0){D(E0,M0,s,A);for(n0=0;n0<g;n0++)C[x+n0]=b[L+n0]^E0[n0]}return 0}function f(C,x,b,L,g){var o=new Uint8Array(16),s=new Uint8Array(64),M0,E0;for(E0=0;E0<16;E0++)o[E0]=0;for(E0=0;E0<8;E0++)o[E0]=L[E0];while(b>=64){D(s,o,g,A);for(E0=0;E0<64;E0++)C[x+E0]=s[E0];M0=1;for(E0=8;E0<16;E0++)M0=M0+(o[E0]&255)|0,o[E0]=M0&255,M0>>>=8;b-=64,x+=64}if(b>0){D(s,o,g,A);for(E0=0;E0<b;E0++)C[x+E0]=s[E0]}return 0}function _(C,x,b,L,g){var o=new Uint8Array(32);T(o,L,g,A);var s=new Uint8Array(8);for(var M0=0;M0<8;M0++)s[M0]=L[M0+16];return f(C,x,b,s,o)}function m(C,x,b,L,g,o,s){var M0=new Uint8Array(32);T(M0,o,s,A);var E0=new Uint8Array(8);for(var G5=0;G5<8;G5++)E0[G5]=o[G5+16];return S(C,x,b,L,g,E0,M0)}var v=function(C){this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.leftover=0,this.fin=0;var x,b,L,g,o,s,M0,E0;x=C[0]&255|(C[1]&255)<<8,this.r[0]=x&8191,b=C[2]&255|(C[3]&255)<<8,this.r[1]=(x>>>13|b<<3)&8191,L=C[4]&255|(C[5]&255)<<8,this.r[2]=(b>>>10|L<<6)&7939,g=C[6]&255|(C[7]&255)<<8,this.r[3]=(L>>>7|g<<9)&8191,o=C[8]&255|(C[9]&255)<<8,this.r[4]=(g>>>4|o<<12)&255,this.r[5]=o>>>1&8190,s=C[10]&255|(C[11]&255)<<8,this.r[6]=(o>>>14|s<<2)&8191,M0=C[12]&255|(C[13]&255)<<8,this.r[7]=(s>>>11|M0<<5)&8065,E0=C[14]&255|(C[15]&255)<<8,this.r[8]=(M0>>>8|E0<<8)&8191,this.r[9]=E0>>>5&127,this.pad[0]=C[16]&255|(C[17]&255)<<8,this.pad[1]=C[18]&255|(C[19]&255)<<8,this.pad[2]=C[20]&255|(C[21]&255)<<8,this.pad[3]=C[22]&255|(C[23]&255)<<8,this.pad[4]=C[24]&255|(C[25]&255)<<8,this.pad[5]=C[26]&255|(C[27]&255)<<8,this.pad[6]=C[28]&255|(C[29]&255)<<8,this.pad[7]=C[30]&255|(C[31]&255)<<8};v.prototype.blocks=function(C,x,b){var L=this.fin?0:2048,g,o,s,M0,E0,G5,n0,l1,t0,g5,m5,a5,n5,v5,u5,h5,e0,M5,o0,Q5=this.h[0],X5=this.h[1],d0=this.h[2],w0=this.h[3],Q0=this.h[4],R0=this.h[5],q0=this.h[6],N0=this.h[7],L0=this.h[8],F5=this.h[9],r5=this.r[0],Q1=this.r[1],s5=this.r[2],h=this.r[3],H1=this.r[4],i1=this.r[5],o1=this.r[6],Y1=this.r[7],m1=this.r[8],v1=this.r[9];while(b>=16)g=C[x+0]&255|(C[x+1]&255)<<8,Q5+=g&8191,o=C[x+2]&255|(C[x+3]&255)<<8,X5+=(g>>>13|o<<3)&8191,s=C[x+4]&255|(C[x+5]&255)<<8,d0+=(o>>>10|s<<6)&8191,M0=C[x+6]&255|(C[x+7]&255)<<8,w0+=(s>>>7|M0<<9)&8191,E0=C[x+8]&255|(C[x+9]&255)<<8,Q0+=(M0>>>4|E0<<12)&8191,R0+=E0>>>1&8191,G5=C[x+10]&255|(C[x+11]&255)<<8,q0+=(E0>>>14|G5<<2)&8191,n0=C[x+12]&255|(C[x+13]&255)<<8,N0+=(G5>>>11|n0<<5)&8191,l1=C[x+14]&255|(C[x+15]&255)<<8,L0+=(n0>>>8|l1<<8)&8191,F5+=l1>>>5|L,t0=0,g5=t0,g5+=Q5*r5,g5+=X5*(5*v1),g5+=d0*(5*m1),g5+=w0*(5*Y1),g5+=Q0*(5*o1),t0=g5>>>13,g5&=8191,g5+=R0*(5*i1),g5+=q0*(5*H1),g5+=N0*(5*h),g5+=L0*(5*s5),g5+=F5*(5*Q1),t0+=g5>>>13,g5&=8191,m5=t0,m5+=Q5*Q1,m5+=X5*r5,m5+=d0*(5*v1),m5+=w0*(5*m1),m5+=Q0*(5*Y1),t0=m5>>>13,m5&=8191,m5+=R0*(5*o1),m5+=q0*(5*i1),m5+=N0*(5*H1),m5+=L0*(5*h),m5+=F5*(5*s5),t0+=m5>>>13,m5&=8191,a5=t0,a5+=Q5*s5,a5+=X5*Q1,a5+=d0*r5,a5+=w0*(5*v1),a5+=Q0*(5*m1),t0=a5>>>13,a5&=8191,a5+=R0*(5*Y1),a5+=q0*(5*o1),a5+=N0*(5*i1),a5+=L0*(5*H1),a5+=F5*(5*h),t0+=a5>>>13,a5&=8191,n5=t0,n5+=Q5*h,n5+=X5*s5,n5+=d0*Q1,n5+=w0*r5,n5+=Q0*(5*v1),t0=n5>>>13,n5&=8191,n5+=R0*(5*m1),n5+=q0*(5*Y1),n5+=N0*(5*o1),n5+=L0*(5*i1),n5+=F5*(5*H1),t0+=n5>>>13,n5&=8191,v5=t0,v5+=Q5*H1,v5+=X5*h,v5+=d0*s5,v5+=w0*Q1,v5+=Q0*r5,t0=v5>>>13,v5&=8191,v5+=R0*(5*v1),v5+=q0*(5*m1),v5+=N0*(5*Y1),v5+=L0*(5*o1),v5+=F5*(5*i1),t0+=v5>>>13,v5&=8191,u5=t0,u5+=Q5*i1,u5+=X5*H1,u5+=d0*h,u5+=w0*s5,u5+=Q0*Q1,t0=u5>>>13,u5&=8191,u5+=R0*r5,u5+=q0*(5*v1),u5+=N0*(5*m1),u5+=L0*(5*Y1),u5+=F5*(5*o1),t0+=u5>>>13,u5&=8191,h5=t0,h5+=Q5*o1,h5+=X5*i1,h5+=d0*H1,h5+=w0*h,h5+=Q0*s5,t0=h5>>>13,h5&=8191,h5+=R0*Q1,h5+=q0*r5,h5+=N0*(5*v1),h5+=L0*(5*m1),h5+=F5*(5*Y1),t0+=h5>>>13,h5&=8191,e0=t0,e0+=Q5*Y1,e0+=X5*o1,e0+=d0*i1,e0+=w0*H1,e0+=Q0*h,t0=e0>>>13,e0&=8191,e0+=R0*s5,e0+=q0*Q1,e0+=N0*r5,e0+=L0*(5*v1),e0+=F5*(5*m1),t0+=e0>>>13,e0&=8191,M5=t0,M5+=Q5*m1,M5+=X5*Y1,M5+=d0*o1,M5+=w0*i1,M5+=Q0*H1,t0=M5>>>13,M5&=8191,M5+=R0*h,M5+=q0*s5,M5+=N0*Q1,M5+=L0*r5,M5+=F5*(5*v1),t0+=M5>>>13,M5&=8191,o0=t0,o0+=Q5*v1,o0+=X5*m1,o0+=d0*Y1,o0+=w0*o1,o0+=Q0*i1,t0=o0>>>13,o0&=8191,o0+=R0*H1,o0+=q0*h,o0+=N0*s5,o0+=L0*Q1,o0+=F5*r5,t0+=o0>>>13,o0&=8191,t0=(t0<<2)+t0|0,t0=t0+g5|0,g5=t0&8191,t0=t0>>>13,m5+=t0,Q5=g5,X5=m5,d0=a5,w0=n5,Q0=v5,R0=u5,q0=h5,N0=e0,L0=M5,F5=o0,x+=16,b-=16;this.h[0]=Q5,this.h[1]=X5,this.h[2]=d0,this.h[3]=w0,this.h[4]=Q0,this.h[5]=R0,this.h[6]=q0,this.h[7]=N0,this.h[8]=L0,this.h[9]=F5},v.prototype.finish=function(C,x){var b=new Uint16Array(10),L,g,o,s;if(this.leftover){s=this.leftover,this.buffer[s++]=1;for(;s<16;s++)this.buffer[s]=0;this.fin=1,this.blocks(this.buffer,0,16)}L=this.h[1]>>>13,this.h[1]&=8191;for(s=2;s<10;s++)this.h[s]+=L,L=this.h[s]>>>13,this.h[s]&=8191;this.h[0]+=L*5,L=this.h[0]>>>13,this.h[0]&=8191,this.h[1]+=L,L=this.h[1]>>>13,this.h[1]&=8191,this.h[2]+=L,b[0]=this.h[0]+5,L=b[0]>>>13,b[0]&=8191;for(s=1;s<10;s++)b[s]=this.h[s]+L,L=b[s]>>>13,b[s]&=8191;b[9]-=8192,g=(L^1)-1;for(s=0;s<10;s++)b[s]&=g;g=~g;for(s=0;s<10;s++)this.h[s]=this.h[s]&g|b[s];this.h[0]=(this.h[0]|this.h[1]<<13)&65535,this.h[1]=(this.h[1]>>>3|this.h[2]<<10)&65535,this.h[2]=(this.h[2]>>>6|this.h[3]<<7)&65535,this.h[3]=(this.h[3]>>>9|this.h[4]<<4)&65535,this.h[4]=(this.h[4]>>>12|this.h[5]<<1|this.h[6]<<14)&65535,this.h[5]=(this.h[6]>>>2|this.h[7]<<11)&65535,this.h[6]=(this.h[7]>>>5|this.h[8]<<8)&65535,this.h[7]=(this.h[8]>>>8|this.h[9]<<5)&65535,o=this.h[0]+this.pad[0],this.h[0]=o&65535;for(s=1;s<8;s++)o=(this.h[s]+this.pad[s]|0)+(o>>>16)|0,this.h[s]=o&65535;C[x+0]=this.h[0]>>>0&255,C[x+1]=this.h[0]>>>8&255,C[x+2]=this.h[1]>>>0&255,C[x+3]=this.h[1]>>>8&255,C[x+4]=this.h[2]>>>0&255,C[x+5]=this.h[2]>>>8&255,C[x+6]=this.h[3]>>>0&255,C[x+7]=this.h[3]>>>8&255,C[x+8]=this.h[4]>>>0&255,C[x+9]=this.h[4]>>>8&255,C[x+10]=this.h[5]>>>0&255,C[x+11]=this.h[5]>>>8&255,C[x+12]=this.h[6]>>>0&255,C[x+13]=this.h[6]>>>8&255,C[x+14]=this.h[7]>>>0&255,C[x+15]=this.h[7]>>>8&255},v.prototype.update=function(C,x,b){var L,g;if(this.leftover){if(g=16-this.leftover,g>b)g=b;for(L=0;L<g;L++)this.buffer[this.leftover+L]=C[x+L];if(b-=g,x+=g,this.leftover+=g,this.leftover<16)return;this.blocks(this.buffer,0,16),this.leftover=0}if(b>=16)g=b-b%16,this.blocks(C,x,g),x+=g,b-=g;if(b){for(L=0;L<b;L++)this.buffer[this.leftover+L]=C[x+L];this.leftover+=b}};function u(C,x,b,L,g,o){var s=new v(o);return s.update(b,L,g),s.finish(C,x),0}function i(C,x,b,L,g,o){var s=new Uint8Array(16);return u(s,0,b,L,g,o),z(C,x,s,0)}function $0(C,x,b,L,g){var o;if(b<32)return-1;m(C,0,x,0,b,L,g),u(C,16,C,32,b-32,C);for(o=0;o<16;o++)C[o]=0;return 0}function a(C,x,b,L,g){var o,s=new Uint8Array(32);if(b<32)return-1;if(_(s,0,32,L,g),i(x,16,x,32,b-32,s)!==0)return-1;m(C,0,x,0,b,L,g);for(o=0;o<32;o++)C[o]=0;return 0}function W0(C,x){var b;for(b=0;b<16;b++)C[b]=x[b]|0}function t(C){var x,b,L=1;for(x=0;x<16;x++)b=C[x]+L+65535,L=Math.floor(b/65536),C[x]=b-L*65536;C[0]+=L-1+37*(L-1)}function l(C,x,b){var L,g=~(b-1);for(var o=0;o<16;o++)L=g&(C[o]^x[o]),C[o]^=L,x[o]^=L}function z0(C,x){var b,L,g,o=$(),s=$();for(b=0;b<16;b++)s[b]=x[b];t(s),t(s),t(s);for(L=0;L<2;L++){o[0]=s[0]-65517;for(b=1;b<15;b++)o[b]=s[b]-65535-(o[b-1]>>16&1),o[b-1]&=65535;o[15]=s[15]-32767-(o[14]>>16&1),g=o[15]>>16&1,o[14]&=65535,l(s,o,1-g)}for(b=0;b<16;b++)C[2*b]=s[b]&255,C[2*b+1]=s[b]>>8}function _0(C,x){var b=new Uint8Array(32),L=new Uint8Array(32);return z0(b,C),z0(L,x),O(b,0,L,0)}function T0(C){var x=new Uint8Array(32);return z0(x,C),x[0]&1}function g0(C,x){var b;for(b=0;b<16;b++)C[b]=x[2*b]+(x[2*b+1]<<8);C[15]&=32767}function A0(C,x,b){for(var L=0;L<16;L++)C[L]=x[L]+b[L]}function i0(C,x,b){for(var L=0;L<16;L++)C[L]=x[L]-b[L]}function k0(C,x,b){var L,g,o=0,s=0,M0=0,E0=0,G5=0,n0=0,l1=0,t0=0,g5=0,m5=0,a5=0,n5=0,v5=0,u5=0,h5=0,e0=0,M5=0,o0=0,Q5=0,X5=0,d0=0,w0=0,Q0=0,R0=0,q0=0,N0=0,L0=0,F5=0,r5=0,Q1=0,s5=0,h=b[0],H1=b[1],i1=b[2],o1=b[3],Y1=b[4],m1=b[5],v1=b[6],P4=b[7],YW=b[8],q4=b[9],M4=b[10],N4=b[11],w$=b[12],W6=b[13],$6=b[14],w6=b[15];L=x[0],o+=L*h,s+=L*H1,M0+=L*i1,E0+=L*o1,G5+=L*Y1,n0+=L*m1,l1+=L*v1,t0+=L*P4,g5+=L*YW,m5+=L*q4,a5+=L*M4,n5+=L*N4,v5+=L*w$,u5+=L*W6,h5+=L*$6,e0+=L*w6,L=x[1],s+=L*h,M0+=L*H1,E0+=L*i1,G5+=L*o1,n0+=L*Y1,l1+=L*m1,t0+=L*v1,g5+=L*P4,m5+=L*YW,a5+=L*q4,n5+=L*M4,v5+=L*N4,u5+=L*w$,h5+=L*W6,e0+=L*$6,M5+=L*w6,L=x[2],M0+=L*h,E0+=L*H1,G5+=L*i1,n0+=L*o1,l1+=L*Y1,t0+=L*m1,g5+=L*v1,m5+=L*P4,a5+=L*YW,n5+=L*q4,v5+=L*M4,u5+=L*N4,h5+=L*w$,e0+=L*W6,M5+=L*$6,o0+=L*w6,L=x[3],E0+=L*h,G5+=L*H1,n0+=L*i1,l1+=L*o1,t0+=L*Y1,g5+=L*m1,m5+=L*v1,a5+=L*P4,n5+=L*YW,v5+=L*q4,u5+=L*M4,h5+=L*N4,e0+=L*w$,M5+=L*W6,o0+=L*$6,Q5+=L*w6,L=x[4],G5+=L*h,n0+=L*H1,l1+=L*i1,t0+=L*o1,g5+=L*Y1,m5+=L*m1,a5+=L*v1,n5+=L*P4,v5+=L*YW,u5+=L*q4,h5+=L*M4,e0+=L*N4,M5+=L*w$,o0+=L*W6,Q5+=L*$6,X5+=L*w6,L=x[5],n0+=L*h,l1+=L*H1,t0+=L*i1,g5+=L*o1,m5+=L*Y1,a5+=L*m1,n5+=L*v1,v5+=L*P4,u5+=L*YW,h5+=L*q4,e0+=L*M4,M5+=L*N4,o0+=L*w$,Q5+=L*W6,X5+=L*$6,d0+=L*w6,L=x[6],l1+=L*h,t0+=L*H1,g5+=L*i1,m5+=L*o1,a5+=L*Y1,n5+=L*m1,v5+=L*v1,u5+=L*P4,h5+=L*YW,e0+=L*q4,M5+=L*M4,o0+=L*N4,Q5+=L*w$,X5+=L*W6,d0+=L*$6,w0+=L*w6,L=x[7],t0+=L*h,g5+=L*H1,m5+=L*i1,a5+=L*o1,n5+=L*Y1,v5+=L*m1,u5+=L*v1,h5+=L*P4,e0+=L*YW,M5+=L*q4,o0+=L*M4,Q5+=L*N4,X5+=L*w$,d0+=L*W6,w0+=L*$6,Q0+=L*w6,L=x[8],g5+=L*h,m5+=L*H1,a5+=L*i1,n5+=L*o1,v5+=L*Y1,u5+=L*m1,h5+=L*v1,e0+=L*P4,M5+=L*YW,o0+=L*q4,Q5+=L*M4,X5+=L*N4,d0+=L*w$,w0+=L*W6,Q0+=L*$6,R0+=L*w6,L=x[9],m5+=L*h,a5+=L*H1,n5+=L*i1,v5+=L*o1,u5+=L*Y1,h5+=L*m1,e0+=L*v1,M5+=L*P4,o0+=L*YW,Q5+=L*q4,X5+=L*M4,d0+=L*N4,w0+=L*w$,Q0+=L*W6,R0+=L*$6,q0+=L*w6,L=x[10],a5+=L*h,n5+=L*H1,v5+=L*i1,u5+=L*o1,h5+=L*Y1,e0+=L*m1,M5+=L*v1,o0+=L*P4,Q5+=L*YW,X5+=L*q4,d0+=L*M4,w0+=L*N4,Q0+=L*w$,R0+=L*W6,q0+=L*$6,N0+=L*w6,L=x[11],n5+=L*h,v5+=L*H1,u5+=L*i1,h5+=L*o1,e0+=L*Y1,M5+=L*m1,o0+=L*v1,Q5+=L*P4,X5+=L*YW,d0+=L*q4,w0+=L*M4,Q0+=L*N4,R0+=L*w$,q0+=L*W6,N0+=L*$6,L0+=L*w6,L=x[12],v5+=L*h,u5+=L*H1,h5+=L*i1,e0+=L*o1,M5+=L*Y1,o0+=L*m1,Q5+=L*v1,X5+=L*P4,d0+=L*YW,w0+=L*q4,Q0+=L*M4,R0+=L*N4,q0+=L*w$,N0+=L*W6,L0+=L*$6,F5+=L*w6,L=x[13],u5+=L*h,h5+=L*H1,e0+=L*i1,M5+=L*o1,o0+=L*Y1,Q5+=L*m1,X5+=L*v1,d0+=L*P4,w0+=L*YW,Q0+=L*q4,R0+=L*M4,q0+=L*N4,N0+=L*w$,L0+=L*W6,F5+=L*$6,r5+=L*w6,L=x[14],h5+=L*h,e0+=L*H1,M5+=L*i1,o0+=L*o1,Q5+=L*Y1,X5+=L*m1,d0+=L*v1,w0+=L*P4,Q0+=L*YW,R0+=L*q4,q0+=L*M4,N0+=L*N4,L0+=L*w$,F5+=L*W6,r5+=L*$6,Q1+=L*w6,L=x[15],e0+=L*h,M5+=L*H1,o0+=L*i1,Q5+=L*o1,X5+=L*Y1,d0+=L*m1,w0+=L*v1,Q0+=L*P4,R0+=L*YW,q0+=L*q4,N0+=L*M4,L0+=L*N4,F5+=L*w$,r5+=L*W6,Q1+=L*$6,s5+=L*w6,o+=38*M5,s+=38*o0,M0+=38*Q5,E0+=38*X5,G5+=38*d0,n0+=38*w0,l1+=38*Q0,t0+=38*R0,g5+=38*q0,m5+=38*N0,a5+=38*L0,n5+=38*F5,v5+=38*r5,u5+=38*Q1,h5+=38*s5,g=1,L=o+g+65535,g=Math.floor(L/65536),o=L-g*65536,L=s+g+65535,g=Math.floor(L/65536),s=L-g*65536,L=M0+g+65535,g=Math.floor(L/65536),M0=L-g*65536,L=E0+g+65535,g=Math.floor(L/65536),E0=L-g*65536,L=G5+g+65535,g=Math.floor(L/65536),G5=L-g*65536,L=n0+g+65535,g=Math.floor(L/65536),n0=L-g*65536,L=l1+g+65535,g=Math.floor(L/65536),l1=L-g*65536,L=t0+g+65535,g=Math.floor(L/65536),t0=L-g*65536,L=g5+g+65535,g=Math.floor(L/65536),g5=L-g*65536,L=m5+g+65535,g=Math.floor(L/65536),m5=L-g*65536,L=a5+g+65535,g=Math.floor(L/65536),a5=L-g*65536,L=n5+g+65535,g=Math.floor(L/65536),n5=L-g*65536,L=v5+g+65535,g=Math.floor(L/65536),v5=L-g*65536,L=u5+g+65535,g=Math.floor(L/65536),u5=L-g*65536,L=h5+g+65535,g=Math.floor(L/65536),h5=L-g*65536,L=e0+g+65535,g=Math.floor(L/65536),e0=L-g*65536,o+=g-1+37*(g-1),g=1,L=o+g+65535,g=Math.floor(L/65536),o=L-g*65536,L=s+g+65535,g=Math.floor(L/65536),s=L-g*65536,L=M0+g+65535,g=Math.floor(L/65536),M0=L-g*65536,L=E0+g+65535,g=Math.floor(L/65536),E0=L-g*65536,L=G5+g+65535,g=Math.floor(L/65536),G5=L-g*65536,L=n0+g+65535,g=Math.floor(L/65536),n0=L-g*65536,L=l1+g+65535,g=Math.floor(L/65536),l1=L-g*65536,L=t0+g+65535,g=Math.floor(L/65536),t0=L-g*65536,L=g5+g+65535,g=Math.floor(L/65536),g5=L-g*65536,L=m5+g+65535,g=Math.floor(L/65536),m5=L-g*65536,L=a5+g+65535,g=Math.floor(L/65536),a5=L-g*65536,L=n5+g+65535,g=Math.floor(L/65536),n5=L-g*65536,L=v5+g+65535,g=Math.floor(L/65536),v5=L-g*65536,L=u5+g+65535,g=Math.floor(L/65536),u5=L-g*65536,L=h5+g+65535,g=Math.floor(L/65536),h5=L-g*65536,L=e0+g+65535,g=Math.floor(L/65536),e0=L-g*65536,o+=g-1+37*(g-1),C[0]=o,C[1]=s,C[2]=M0,C[3]=E0,C[4]=G5,C[5]=n0,C[6]=l1,C[7]=t0,C[8]=g5,C[9]=m5,C[10]=a5,C[11]=n5,C[12]=v5,C[13]=u5,C[14]=h5,C[15]=e0}function b5(C,x){k0(C,x,x)}function XW(C,x){var b=$(),L;for(L=0;L<16;L++)b[L]=x[L];for(L=253;L>=0;L--)if(b5(b,b),L!==2&&L!==4)k0(b,b,x);for(L=0;L<16;L++)C[L]=b[L]}function t1(C,x){var b=$(),L;for(L=0;L<16;L++)b[L]=x[L];for(L=250;L>=0;L--)if(b5(b,b),L!==1)k0(b,b,x);for(L=0;L<16;L++)C[L]=b[L]}function K1(C,x,b){var L=new Uint8Array(32),g=new Float64Array(80),o,s,M0=$(),E0=$(),G5=$(),n0=$(),l1=$(),t0=$();for(s=0;s<31;s++)L[s]=x[s];L[31]=x[31]&127|64,L[0]&=248,g0(g,b);for(s=0;s<16;s++)E0[s]=g[s],n0[s]=M0[s]=G5[s]=0;M0[0]=n0[0]=1;for(s=254;s>=0;--s)o=L[s>>>3]>>>(s&7)&1,l(M0,E0,o),l(G5,n0,o),A0(l1,M0,G5),i0(M0,M0,G5),A0(G5,E0,n0),i0(E0,E0,n0),b5(n0,l1),b5(t0,M0),k0(M0,G5,M0),k0(G5,E0,l1),A0(l1,M0,G5),i0(M0,M0,G5),b5(E0,M0),i0(G5,n0,t0),k0(M0,G5,G),A0(M0,M0,n0),k0(G5,G5,M0),k0(M0,n0,t0),k0(n0,E0,g),b5(E0,l1),l(M0,E0,o),l(G5,n0,o);for(s=0;s<16;s++)g[s+16]=M0[s],g[s+32]=G5[s],g[s+48]=E0[s],g[s+64]=n0[s];var g5=g.subarray(32),m5=g.subarray(16);return XW(g5,g5),k0(m5,m5,g5),z0(C,m5),0}function rW(C,x){return K1(C,x,J)}function Z4(C,x){return w(x,32),rW(C,x)}function p5(C,x,b){var L=new Uint8Array(32);return K1(L,b,x),T(C,Q,L,A)}var NW=$0,U$=a;function O$(C,x,b,L,g,o){var s=new Uint8Array(32);return p5(s,g,o),NW(C,x,b,L,s)}function D$(C,x,b,L,g,o){var s=new Uint8Array(32);return p5(s,g,o),U$(C,x,b,L,s)}var zC=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function UC(C,x,b,L){var g=new Int32Array(16),o=new Int32Array(16),s,M0,E0,G5,n0,l1,t0,g5,m5,a5,n5,v5,u5,h5,e0,M5,o0,Q5,X5,d0,w0,Q0,R0,q0,N0,L0,F5=C[0],r5=C[1],Q1=C[2],s5=C[3],h=C[4],H1=C[5],i1=C[6],o1=C[7],Y1=x[0],m1=x[1],v1=x[2],P4=x[3],YW=x[4],q4=x[5],M4=x[6],N4=x[7],w$=0;while(L>=128){for(X5=0;X5<16;X5++)d0=8*X5+w$,g[X5]=b[d0+0]<<24|b[d0+1]<<16|b[d0+2]<<8|b[d0+3],o[X5]=b[d0+4]<<24|b[d0+5]<<16|b[d0+6]<<8|b[d0+7];for(X5=0;X5<80;X5++)if(s=F5,M0=r5,E0=Q1,G5=s5,n0=h,l1=H1,t0=i1,g5=o1,m5=Y1,a5=m1,n5=v1,v5=P4,u5=YW,h5=q4,e0=M4,M5=N4,w0=o1,Q0=N4,R0=Q0&65535,q0=Q0>>>16,N0=w0&65535,L0=w0>>>16,w0=(h>>>14|YW<<18)^(h>>>18|YW<<14)^(YW>>>9|h<<23),Q0=(YW>>>14|h<<18)^(YW>>>18|h<<14)^(h>>>9|YW<<23),R0+=Q0&65535,q0+=Q0>>>16,N0+=w0&65535,L0+=w0>>>16,w0=h&H1^~h&i1,Q0=YW&q4^~YW&M4,R0+=Q0&65535,q0+=Q0>>>16,N0+=w0&65535,L0+=w0>>>16,w0=zC[X5*2],Q0=zC[X5*2+1],R0+=Q0&65535,q0+=Q0>>>16,N0+=w0&65535,L0+=w0>>>16,w0=g[X5%16],Q0=o[X5%16],R0+=Q0&65535,q0+=Q0>>>16,N0+=w0&65535,L0+=w0>>>16,q0+=R0>>>16,N0+=q0>>>16,L0+=N0>>>16,o0=N0&65535|L0<<16,Q5=R0&65535|q0<<16,w0=o0,Q0=Q5,R0=Q0&65535,q0=Q0>>>16,N0=w0&65535,L0=w0>>>16,w0=(F5>>>28|Y1<<4)^(Y1>>>2|F5<<30)^(Y1>>>7|F5<<25),Q0=(Y1>>>28|F5<<4)^(F5>>>2|Y1<<30)^(F5>>>7|Y1<<25),R0+=Q0&65535,q0+=Q0>>>16,N0+=w0&65535,L0+=w0>>>16,w0=F5&r5^F5&Q1^r5&Q1,Q0=Y1&m1^Y1&v1^m1&v1,R0+=Q0&65535,q0+=Q0>>>16,N0+=w0&65535,L0+=w0>>>16,q0+=R0>>>16,N0+=q0>>>16,L0+=N0>>>16,g5=N0&65535|L0<<16,M5=R0&65535|q0<<16,w0=G5,Q0=v5,R0=Q0&65535,q0=Q0>>>16,N0=w0&65535,L0=w0>>>16,w0=o0,Q0=Q5,R0+=Q0&65535,q0+=Q0>>>16,N0+=w0&65535,L0+=w0>>>16,q0+=R0>>>16,N0+=q0>>>16,L0+=N0>>>16,G5=N0&65535|L0<<16,v5=R0&65535|q0<<16,r5=s,Q1=M0,s5=E0,h=G5,H1=n0,i1=l1,o1=t0,F5=g5,m1=m5,v1=a5,P4=n5,YW=v5,q4=u5,M4=h5,N4=e0,Y1=M5,X5%16===15)for(d0=0;d0<16;d0++)w0=g[d0],Q0=o[d0],R0=Q0&65535,q0=Q0>>>16,N0=w0&65535,L0=w0>>>16,w0=g[(d0+9)%16],Q0=o[(d0+9)%16],R0+=Q0&65535,q0+=Q0>>>16,N0+=w0&65535,L0+=w0>>>16,o0=g[(d0+1)%16],Q5=o[(d0+1)%16],w0=(o0>>>1|Q5<<31)^(o0>>>8|Q5<<24)^o0>>>7,Q0=(Q5>>>1|o0<<31)^(Q5>>>8|o0<<24)^(Q5>>>7|o0<<25),R0+=Q0&65535,q0+=Q0>>>16,N0+=w0&65535,L0+=w0>>>16,o0=g[(d0+14)%16],Q5=o[(d0+14)%16],w0=(o0>>>19|Q5<<13)^(Q5>>>29|o0<<3)^o0>>>6,Q0=(Q5>>>19|o0<<13)^(o0>>>29|Q5<<3)^(Q5>>>6|o0<<26),R0+=Q0&65535,q0+=Q0>>>16,N0+=w0&65535,L0+=w0>>>16,q0+=R0>>>16,N0+=q0>>>16,L0+=N0>>>16,g[d0]=N0&65535|L0<<16,o[d0]=R0&65535|q0<<16;w0=F5,Q0=Y1,R0=Q0&65535,q0=Q0>>>16,N0=w0&65535,L0=w0>>>16,w0=C[0],Q0=x[0],R0+=Q0&65535,q0+=Q0>>>16,N0+=w0&65535,L0+=w0>>>16,q0+=R0>>>16,N0+=q0>>>16,L0+=N0>>>16,C[0]=F5=N0&65535|L0<<16,x[0]=Y1=R0&65535|q0<<16,w0=r5,Q0=m1,R0=Q0&65535,q0=Q0>>>16,N0=w0&65535,L0=w0>>>16,w0=C[1],Q0=x[1],R0+=Q0&65535,q0+=Q0>>>16,N0+=w0&65535,L0+=w0>>>16,q0+=R0>>>16,N0+=q0>>>16,L0+=N0>>>16,C[1]=r5=N0&65535|L0<<16,x[1]=m1=R0&65535|q0<<16,w0=Q1,Q0=v1,R0=Q0&65535,q0=Q0>>>16,N0=w0&65535,L0=w0>>>16,w0=C[2],Q0=x[2],R0+=Q0&65535,q0+=Q0>>>16,N0+=w0&65535,L0+=w0>>>16,q0+=R0>>>16,N0+=q0>>>16,L0+=N0>>>16,C[2]=Q1=N0&65535|L0<<16,x[2]=v1=R0&65535|q0<<16,w0=s5,Q0=P4,R0=Q0&65535,q0=Q0>>>16,N0=w0&65535,L0=w0>>>16,w0=C[3],Q0=x[3],R0+=Q0&65535,q0+=Q0>>>16,N0+=w0&65535,L0+=w0>>>16,q0+=R0>>>16,N0+=q0>>>16,L0+=N0>>>16,C[3]=s5=N0&65535|L0<<16,x[3]=P4=R0&65535|q0<<16,w0=h,Q0=YW,R0=Q0&65535,q0=Q0>>>16,N0=w0&65535,L0=w0>>>16,w0=C[4],Q0=x[4],R0+=Q0&65535,q0+=Q0>>>16,N0+=w0&65535,L0+=w0>>>16,q0+=R0>>>16,N0+=q0>>>16,L0+=N0>>>16,C[4]=h=N0&65535|L0<<16,x[4]=YW=R0&65535|q0<<16,w0=H1,Q0=q4,R0=Q0&65535,q0=Q0>>>16,N0=w0&65535,L0=w0>>>16,w0=C[5],Q0=x[5],R0+=Q0&65535,q0+=Q0>>>16,N0+=w0&65535,L0+=w0>>>16,q0+=R0>>>16,N0+=q0>>>16,L0+=N0>>>16,C[5]=H1=N0&65535|L0<<16,x[5]=q4=R0&65535|q0<<16,w0=i1,Q0=M4,R0=Q0&65535,q0=Q0>>>16,N0=w0&65535,L0=w0>>>16,w0=C[6],Q0=x[6],R0+=Q0&65535,q0+=Q0>>>16,N0+=w0&65535,L0+=w0>>>16,q0+=R0>>>16,N0+=q0>>>16,L0+=N0>>>16,C[6]=i1=N0&65535|L0<<16,x[6]=M4=R0&65535|q0<<16,w0=o1,Q0=N4,R0=Q0&65535,q0=Q0>>>16,N0=w0&65535,L0=w0>>>16,w0=C[7],Q0=x[7],R0+=Q0&65535,q0+=Q0>>>16,N0+=w0&65535,L0+=w0>>>16,q0+=R0>>>16,N0+=q0>>>16,L0+=N0>>>16,C[7]=o1=N0&65535|L0<<16,x[7]=N4=R0&65535|q0<<16,w$+=128,L-=128}return L}function u9(C,x,b){var L=new Int32Array(8),g=new Int32Array(8),o=new Uint8Array(256),s,M0=b;L[0]=1779033703,L[1]=3144134277,L[2]=1013904242,L[3]=2773480762,L[4]=1359893119,L[5]=2600822924,L[6]=528734635,L[7]=1541459225,g[0]=4089235720,g[1]=2227873595,g[2]=4271175723,g[3]=1595750129,g[4]=2917565137,g[5]=725511199,g[6]=4215389547,g[7]=327033209,UC(L,g,x,b),b%=128;for(s=0;s<b;s++)o[s]=x[M0-b+s];o[b]=128,b=256-128*(b<112?1:0),o[b-9]=0,N(o,b-8,M0/536870912|0,M0<<3),UC(L,g,o,b);for(s=0;s<8;s++)N(C,8*s,L[s],g[s]);return 0}function EV(C,x){var b=$(),L=$(),g=$(),o=$(),s=$(),M0=$(),E0=$(),G5=$(),n0=$();i0(b,C[1],C[0]),i0(n0,x[1],x[0]),k0(b,b,n0),A0(L,C[0],C[1]),A0(n0,x[0],x[1]),k0(L,L,n0),k0(g,C[3],x[3]),k0(g,g,H),k0(o,C[2],x[2]),A0(o,o,o),i0(s,L,b),i0(M0,o,g),A0(E0,o,g),A0(G5,L,b),k0(C[0],s,M0),k0(C[1],G5,E0),k0(C[2],E0,M0),k0(C[3],s,G5)}function OC(C,x,b){var L;for(L=0;L<4;L++)l(C[L],x[L],b)}function _O(C,x){var b=$(),L=$(),g=$();XW(g,x[2]),k0(b,x[0],g),k0(L,x[1],g),z0(C,L),C[31]^=T0(b)<<7}function xO(C,x,b){var L,g;W0(C[0],X),W0(C[1],Y),W0(C[2],Y),W0(C[3],X);for(g=255;g>=0;--g)L=b[g/8|0]>>(g&7)&1,OC(C,x,L),EV(x,C),EV(C,C),OC(C,x,L)}function PV(C,x){var b=[$(),$(),$(),$()];W0(b[0],V),W0(b[1],Z),W0(b[2],Y),k0(b[3],V,Z),xO(C,b,x)}function gO(C,x,b){var L=new Uint8Array(64),g=[$(),$(),$(),$()],o;if(!b)w(x,32);u9(L,x,32),L[0]&=248,L[31]&=127,L[31]|=64,PV(g,L),_O(C,g);for(o=0;o<32;o++)x[o+32]=C[o];return 0}var IV=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function kO(C,x){var b,L,g,o;for(L=63;L>=32;--L){b=0;for(g=L-32,o=L-12;g<o;++g)x[g]+=b-16*x[L]*IV[g-(L-32)],b=Math.floor((x[g]+128)/256),x[g]-=b*256;x[g]+=b,x[L]=0}b=0;for(g=0;g<32;g++)x[g]+=b-(x[31]>>4)*IV[g],b=x[g]>>8,x[g]&=255;for(g=0;g<32;g++)x[g]-=b*IV[g];for(L=0;L<32;L++)x[L+1]+=x[L]>>8,C[L]=x[L]&255}function mO(C){var x=new Float64Array(64),b;for(b=0;b<64;b++)x[b]=C[b];for(b=0;b<64;b++)C[b]=0;kO(C,x)}function DC(C,x,b,L){var g=new Uint8Array(64),o=new Uint8Array(64),s=new Uint8Array(64),M0,E0,G5=new Float64Array(64),n0=[$(),$(),$(),$()];u9(g,L,32),g[0]&=248,g[31]&=127,g[31]|=64;var l1=b+64;for(M0=0;M0<b;M0++)C[64+M0]=x[M0];for(M0=0;M0<32;M0++)C[32+M0]=g[32+M0];u9(s,C.subarray(32),b+32),mO(s),PV(n0,s),_O(C,n0);for(M0=32;M0<64;M0++)C[M0]=L[M0];u9(o,C,b+64),mO(o);for(M0=0;M0<64;M0++)G5[M0]=0;for(M0=0;M0<32;M0++)G5[M0]=s[M0];for(M0=0;M0<32;M0++)for(E0=0;E0<32;E0++)G5[M0+E0]+=o[M0]*g[E0];return kO(C.subarray(32),G5),l1}function r10(C,x){var b=$(),L=$(),g=$(),o=$(),s=$(),M0=$(),E0=$();if(W0(C[2],Y),g0(C[1],x),b5(g,C[1]),k0(o,g,K),i0(g,g,C[2]),A0(o,C[2],o),b5(s,o),b5(M0,s),k0(E0,M0,s),k0(b,E0,g),k0(b,b,o),t1(b,b),k0(b,b,g),k0(b,b,o),k0(b,b,o),k0(C[0],b,o),b5(L,C[0]),k0(L,L,o),_0(L,g))k0(C[0],C[0],q);if(b5(L,C[0]),k0(L,L,o),_0(L,g))return-1;if(T0(C[0])===x[31]>>7)i0(C[0],X,C[0]);return k0(C[3],C[0],C[1]),0}function vO(C,x,b,L){var g,o=new Uint8Array(32),s=new Uint8Array(64),M0=[$(),$(),$(),$()],E0=[$(),$(),$(),$()];if(b<64)return-1;if(r10(E0,L))return-1;for(g=0;g<b;g++)C[g]=x[g];for(g=0;g<32;g++)C[g+32]=L[g];if(u9(s,C,b),mO(s),xO(M0,E0,s),PV(E0,x.subarray(32)),EV(M0,E0),_O(o,M0),b-=64,O(x,0,o,0)){for(g=0;g<b;g++)C[g]=0;return-1}for(g=0;g<b;g++)C[g]=x[g+64];return b}var hO=32,fV=24,GG=32,BJ=16,KG=32,jV=32,HG=32,VG=32,uO=32,RC=fV,s10=GG,t10=BJ,w7=64,y9=32,LJ=64,yO=32,dO=64;W.lowlevel={crypto_core_hsalsa20:T,crypto_stream_xor:m,crypto_stream:_,crypto_stream_salsa20_xor:S,crypto_stream_salsa20:f,crypto_onetimeauth:u,crypto_onetimeauth_verify:i,crypto_verify_16:z,crypto_verify_32:O,crypto_secretbox:$0,crypto_secretbox_open:a,crypto_scalarmult:K1,crypto_scalarmult_base:rW,crypto_box_beforenm:p5,crypto_box_afternm:NW,crypto_box:O$,crypto_box_open:D$,crypto_box_keypair:Z4,crypto_hash:u9,crypto_sign:DC,crypto_sign_keypair:gO,crypto_sign_open:vO,crypto_secretbox_KEYBYTES:hO,crypto_secretbox_NONCEBYTES:fV,crypto_secretbox_ZEROBYTES:GG,crypto_secretbox_BOXZEROBYTES:BJ,crypto_scalarmult_BYTES:KG,crypto_scalarmult_SCALARBYTES:jV,crypto_box_PUBLICKEYBYTES:HG,crypto_box_SECRETKEYBYTES:VG,crypto_box_BEFORENMBYTES:uO,crypto_box_NONCEBYTES:RC,crypto_box_ZEROBYTES:s10,crypto_box_BOXZEROBYTES:t10,crypto_sign_BYTES:w7,crypto_sign_PUBLICKEYBYTES:y9,crypto_sign_SECRETKEYBYTES:LJ,crypto_sign_SEEDBYTES:yO,crypto_hash_BYTES:dO,gf:$,D:K,L:IV,pack25519:z0,unpack25519:g0,M:k0,A:A0,S:b5,Z:i0,pow2523:t1,add:EV,set25519:W0,modL:kO,scalarmult:xO,scalarbase:PV};function FC(C,x){if(C.length!==hO)throw Error("bad key size");if(x.length!==fV)throw Error("bad nonce size")}function e10(C,x){if(C.length!==HG)throw Error("bad public key size");if(x.length!==VG)throw Error("bad secret key size")}function t6(){for(var C=0;C<arguments.length;C++)if(!(arguments[C]instanceof Uint8Array))throw TypeError("unexpected type, use Uint8Array")}function BC(C){for(var x=0;x<C.length;x++)C[x]=0}W.randomBytes=function(C){var x=new Uint8Array(C);return w(x,C),x},W.secretbox=function(C,x,b){t6(C,x,b),FC(b,x);var L=new Uint8Array(GG+C.length),g=new Uint8Array(L.length);for(var o=0;o<C.length;o++)L[o+GG]=C[o];return $0(g,L,L.length,x,b),g.subarray(BJ)},W.secretbox.open=function(C,x,b){t6(C,x,b),FC(b,x);var L=new Uint8Array(BJ+C.length),g=new Uint8Array(L.length);for(var o=0;o<C.length;o++)L[o+BJ]=C[o];if(L.length<32)return null;if(a(g,L,L.length,x,b)!==0)return null;return g.subarray(GG)},W.secretbox.keyLength=hO,W.secretbox.nonceLength=fV,W.secretbox.overheadLength=BJ,W.scalarMult=function(C,x){if(t6(C,x),C.length!==jV)throw Error("bad n size");if(x.length!==KG)throw Error("bad p size");var b=new Uint8Array(KG);return K1(b,C,x),b},W.scalarMult.base=function(C){if(t6(C),C.length!==jV)throw Error("bad n size");var x=new Uint8Array(KG);return rW(x,C),x},W.scalarMult.scalarLength=jV,W.scalarMult.groupElementLength=KG,W.box=function(C,x,b,L){var g=W.box.before(b,L);return W.secretbox(C,x,g)},W.box.before=function(C,x){t6(C,x),e10(C,x);var b=new Uint8Array(uO);return p5(b,C,x),b},W.box.after=W.secretbox,W.box.open=function(C,x,b,L){var g=W.box.before(b,L);return W.secretbox.open(C,x,g)},W.box.open.after=W.secretbox.open,W.box.keyPair=function(){var C=new Uint8Array(HG),x=new Uint8Array(VG);return Z4(C,x),{publicKey:C,secretKey:x}},W.box.keyPair.fromSecretKey=function(C){if(t6(C),C.length!==VG)throw Error("bad secret key size");var x=new Uint8Array(HG);return rW(x,C),{publicKey:x,secretKey:new Uint8Array(C)}},W.box.publicKeyLength=HG,W.box.secretKeyLength=VG,W.box.sharedKeyLength=uO,W.box.nonceLength=RC,W.box.overheadLength=W.secretbox.overheadLength,W.sign=function(C,x){if(t6(C,x),x.length!==LJ)throw Error("bad secret key size");var b=new Uint8Array(w7+C.length);return DC(b,C,C.length,x),b},W.sign.open=function(C,x){if(t6(C,x),x.length!==y9)throw Error("bad public key size");var b=new Uint8Array(C.length),L=vO(b,C,C.length,x);if(L<0)return null;var g=new Uint8Array(L);for(var o=0;o<g.length;o++)g[o]=b[o];return g},W.sign.detached=function(C,x){var b=W.sign(C,x),L=new Uint8Array(w7);for(var g=0;g<L.length;g++)L[g]=b[g];return L},W.sign.detached.verify=function(C,x,b){if(t6(C,x,b),x.length!==w7)throw Error("bad signature size");if(b.length!==y9)throw Error("bad public key size");var L=new Uint8Array(w7+C.length),g=new Uint8Array(w7+C.length),o;for(o=0;o<w7;o++)L[o]=x[o];for(o=0;o<C.length;o++)L[o+w7]=C[o];return vO(g,L,L.length,b)>=0},W.sign.keyPair=function(){var C=new Uint8Array(y9),x=new Uint8Array(LJ);return gO(C,x),{publicKey:C,secretKey:x}},W.sign.keyPair.fromSecretKey=function(C){if(t6(C),C.length!==LJ)throw Error("bad secret key size");var x=new Uint8Array(y9);for(var b=0;b<x.length;b++)x[b]=C[32+b];return{publicKey:x,secretKey:new Uint8Array(C)}},W.sign.keyPair.fromSeed=function(C){if(t6(C),C.length!==yO)throw Error("bad seed size");var x=new Uint8Array(y9),b=new Uint8Array(LJ);for(var L=0;L<32;L++)b[L]=C[L];return gO(x,b,!0),{publicKey:x,secretKey:b}},W.sign.publicKeyLength=y9,W.sign.secretKeyLength=LJ,W.sign.seedLength=yO,W.sign.signatureLength=w7,W.hash=function(C){t6(C);var x=new Uint8Array(dO);return u9(x,C,C.length),x},W.hash.hashLength=dO,W.verify=function(C,x){if(t6(C,x),C.length===0||x.length===0)return!1;if(C.length!==x.length)return!1;return U(C,0,x,0,C.length)===0?!0:!1},W.setPRNG=function(C){w=C},function(){var C=typeof self<"u"?self.crypto||self.msCrypto:null;if(C&&C.getRandomValues){var x=65536;W.setPRNG(function(b,L){var g,o=new Uint8Array(L);for(g=0;g<L;g+=x)C.getRandomValues(o.subarray(g,g+Math.min(L-g,x)));for(g=0;g<L;g++)b[g]=o[g];BC(o)})}else if(C=R5("crypto"),C&&C.randomBytes)W.setPRNG(function(b,L){var g,o=C.randomBytes(L);for(g=0;g<L;g++)b[g]=o[g];BC(o)})}()})(typeof nz<"u"&&te5?te5:self.nacl=self.nacl||{})});var IC=J7(EC(),1);import*as xV from"fs";import*as lO from"path";function PC(W){return W.replace(/\\\$/g,"$")}function BW0(W,$,w){let Q={...w,...$},J=/(?<!\\)\${([^{}]+)}|(?<!\\)\$([A-Za-z_][A-Za-z0-9_]*)/g,X=W,Y,G=new Set;while((Y=J.exec(X))!==null){G.add(X);let[K,H,V]=Y,Z=H||V,q=/(:\+|\+|:-|-)/,N=Z.match(q),U=N?N[0]:null,z=Z.split(U),O,R,F=z.shift();if([":+","+"].includes(U))O=Q[F]?z.join(U):"",R=null;else O=z.join(U),R=Q[F];if(R)if(G.has(R))X=X.replace(K,O);else X=X.replace(K,R);else X=X.replace(K,O);if(X===w[F])break;J.lastIndex=0}return X}function LW0(W){let $={},w=process.env;if(W&&W.processEnv!=null)w=W.processEnv;for(let Q in W.parsed){let J=W.parsed[Q];if(w[Q]&&w[Q]!==J)J=w[Q];else J=BW0(J,w,$);W.parsed[Q]=PC(J),$[Q]=PC(J)}for(let Q in W.parsed)w[Q]=W.parsed[Q];return W}var nO=LW0;var TJ=void 0,_V=void 0,qG=[];function AW0(W){Object.keys(process.env).forEach(($)=>{if(W[$]===void 0||W[$]==="")delete process.env[$]}),Object.entries(W).forEach(([$,w])=>{process.env[$]=w})}function SW0(W,$,w=console){if(!TJ)TJ=Object.assign({},process.env);let Q=Object.assign({},TJ),J={};for(let X of W)try{let Y={};Y.parsed=IC.parse(X.contents);let K=nO(Y).parsed;if(K){for(let H of Object.keys(K))if(typeof J[H]>"u"&&typeof Q[H]>"u")J[H]=K[H]}X.env=Y.parsed||{}}catch(Y){w.error(`Failed to load env from ${lO.join($||"",X.path)}`,Y)}return Object.assign(process.env,J)}function fC(W,$,w=console){if(!TJ)TJ=Object.assign({},process.env);if(_V)return{combinedEnv:_V,loadedEnvFiles:qG};AW0(TJ),qG=[];let J=$?"development":"production",X=[`.env.${J}.local`,J!=="test"&&".env.local",`.env.${J}`,".env"].filter(Boolean);for(let Y of X){let G=lO.join(W,Y);try{let K=xV.statSync(G);if(!K.isFile()&&!K.isFIFO())continue;let H=xV.readFileSync(G,"utf8");qG.push({path:Y,contents:H,env:{}})}catch(K){if(K&&typeof K==="object"&&"code"in K&&K.code!=="ENOENT")w.error(`Failed to load env from ${Y}`,K)}}return _V=SW0(qG,W,w),{combinedEnv:_V,loadedEnvFiles:qG}}import{readdirSync as a_0}from"fs";import{dirname as r_0,join as CV}from"path";var gV=jC("{\"index\":\"./shumai-app.html\",\"files\":[{\"path\":\"./chunk-wc8sc9r9.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"XEzoOUwJ2Ak\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-qqk51620.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"d5fT5QHGgkA\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-h0ytx8zc.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"scBeur0oX-w\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-2g12s6mc.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"IrDhAtkGVMw\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-f7sbkfmk.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"r6c5i9NvVJM\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-fepymbka.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"7252PnSLU4o\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-xyjw8w3r.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"XT6SnEhcY5g\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-ccw7mjgq.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"LOzcB3SSkLc\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-pq18zenh.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"9jdBCN-OVZE\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-wsyg4rwg.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"HFkekITYvBA\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-7e06b2zb.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"5w6ARutif8s\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-srn8t0v7.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"-TiVyHoAGwc\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-kfhtk3eh.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"c4_xOlNjLtE\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-kr06nrbx.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"Uzjg5jW4630\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-b8js74jk.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"q8gyWYeEUnM\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-0xbf8bcg.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"AJ3L74hLrFA\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-jf3vn5c3.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"Mm9DexWFzMM\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-262hkppb.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"gqbi0ZNWNis\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-8mkfgcvb.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"KNQTT1CMu0s\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-q24epdh8.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"F-Lkjjbtscg\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-de99643r.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"bU5JyUakA7g\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-5m9be8an.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"5VRJS07oSvU\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-wg98cacx.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"HBBJiCzKTF0\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-15sefy5t.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"oSVZLs--hVo\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-5r8858hx.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"Bdgo6KWI0V0\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-88fg1sw7.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"KGiP0OG5HKc\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-ry33f2qk.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"2H6DY28iN_M\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-77r8w95d.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"xyd4CFwpRY0\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-t3t6021k.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"2gM65sDCoRM\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-54tr7y2x.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"5cR6GGfeYh0\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-1xpec5r8.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"4b2WzkylGAg\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-0rxhc7ka.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"wLj9keyHEwo\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-fa2g2wge.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"zypCEOK8sK4\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-fz88kkk1.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"j79oiFPzU4E\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-dghtwyq1.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"7bBx2px-F8E\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-gswbc6y9.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"EFm8a0zm_sk\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-nyhqy6q2.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"lf5xN_7m10I\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-0qkj838r.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"gFfzsshjyDg\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"input\":\"packages/webui/routes/projects/$projectId/folders/$folderId.lazy.tsx\",\"path\":\"./chunk-tspps87j.js\",\"loader\":\"js\",\"isEntry\":true,\"headers\":{\"etag\":\"Grm2llnIh7I\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"input\":\"packages/webui/routes/projects/$projectId/files/$fileId.lazy.tsx\",\"path\":\"./chunk-4e3jbp84.js\",\"loader\":\"js\",\"isEntry\":true,\"headers\":{\"etag\":\"xI6D8kt2KMQ\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"input\":\"packages/webui/routes/projects/$projectId/collections/$collectionId.lazy.tsx\",\"path\":\"./chunk-r0w920zb.js\",\"loader\":\"js\",\"isEntry\":true,\"headers\":{\"etag\":\"GEDciYIA30s\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"input\":\"packages/webui/routes/teams/$teamId/settings.lazy.tsx\",\"path\":\"./chunk-6z65xd0w.js\",\"loader\":\"js\",\"isEntry\":true,\"headers\":{\"etag\":\"Bv-mRZ2twLw\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"input\":\"packages/webui/routes/teams/$teamId/dashboard.lazy.tsx\",\"path\":\"./chunk-s8t74q9m.js\",\"loader\":\"js\",\"isEntry\":true,\"headers\":{\"etag\":\"eUjaRwS3KXQ\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"input\":\"packages/webui/routes/projects/$projectId/recently-deleted.lazy.tsx\",\"path\":\"./chunk-4jk0y1w1.js\",\"loader\":\"js\",\"isEntry\":true,\"headers\":{\"etag\":\"BLLzAB4h_AE\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"input\":\"packages/webui/routes/projects/$projectId/shares/index.lazy.tsx\",\"path\":\"./chunk-sd86v1e6.js\",\"loader\":\"js\",\"isEntry\":true,\"headers\":{\"etag\":\"me0oRvtB7sY\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"input\":\"packages/webui/routes/projects/$projectId/collections/index.lazy.tsx\",\"path\":\"./chunk-f14sqw1d.js\",\"loader\":\"js\",\"isEntry\":true,\"headers\":{\"etag\":\"D-FkGZdcYU0\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"input\":\"packages/webui/routes/share/$shareId/folders/$folderId.lazy.tsx\",\"path\":\"./chunk-fd5a3pdd.js\",\"loader\":\"js\",\"isEntry\":true,\"headers\":{\"etag\":\"zy2l6oN2DY0\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"input\":\"packages/webui/routes/share/$shareId/files/$fileId.lazy.tsx\",\"path\":\"./chunk-y2qp11v9.js\",\"loader\":\"js\",\"isEntry\":true,\"headers\":{\"etag\":\"HuLXNgFhWyk\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"input\":\"packages/webui/routes/projects/$projectId/shares/$shareId.lazy.tsx\",\"path\":\"./chunk-byqc8tzq.js\",\"loader\":\"js\",\"isEntry\":true,\"headers\":{\"etag\":\"K94XDGga33c\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"input\":\"packages/webui/routes/teams/$teamId/index.lazy.tsx\",\"path\":\"./chunk-av71yjaa.js\",\"loader\":\"js\",\"isEntry\":true,\"headers\":{\"etag\":\"ilvHAb5Syqo\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"input\":\"packages/webui/routes/share/$shareId/index.lazy.tsx\",\"path\":\"./chunk-g6zzg6v2.js\",\"loader\":\"js\",\"isEntry\":true,\"headers\":{\"etag\":\"MEZfn_DG-0I\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"input\":\"packages/webui/routes/projects/$projectId/index.lazy.tsx\",\"path\":\"./chunk-szzff7gd.js\",\"loader\":\"js\",\"isEntry\":true,\"headers\":{\"etag\":\"mf-_T2-HcM0\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"input\":\"packages/webui/index.html\",\"path\":\"./chunk-92xxys10.js\",\"loader\":\"js\",\"isEntry\":true,\"headers\":{\"etag\":\"6eI9vT754SA\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"input\":\"packages/webui/index.html\",\"path\":\"./shumai-app.html\",\"loader\":\"html\",\"isEntry\":true,\"headers\":{\"etag\":\"GkgKtUcVAMo\",\"content-type\":\"text/html;charset=utf-8\"}},{\"input\":\"packages/webui/index.html\",\"path\":\"./chunk-pmswtfe3.css\",\"loader\":\"css\",\"isEntry\":true,\"headers\":{\"etag\":\"9jSZPPoPrmM\",\"content-type\":\"text/css;charset=utf-8\"}},{\"input\":\"packages/webui/public/favicon-57x57.png\",\"path\":\"./favicon-57x57-mn6s3v7e.png\",\"loader\":\"file\",\"isEntry\":false,\"headers\":{\"etag\":\"VHVm-YNbB64\",\"content-type\":\"image/png\"}},{\"input\":\"packages/webui/public/favicon-60x60.png\",\"path\":\"./favicon-60x60-c5sfsxzw.png\",\"loader\":\"file\",\"isEntry\":false,\"headers\":{\"etag\":\"rCU5Dzn9v7w\",\"content-type\":\"image/png\"}},{\"input\":\"packages/webui/public/favicon-72x72.png\",\"path\":\"./favicon-72x72-w16wshnn.png\",\"loader\":\"file\",\"isEntry\":false,\"headers\":{\"etag\":\"HMFGnNkRtXU\",\"content-type\":\"image/png\"}},{\"input\":\"packages/webui/public/favicon-76x76.png\",\"path\":\"./favicon-76x76-kzf3htmh.png\",\"loader\":\"file\",\"isEntry\":false,\"headers\":{\"etag\":\"U39PAxGa9HE\",\"content-type\":\"image/png\"}},{\"input\":\"packages/webui/public/favicon-114x114.png\",\"path\":\"./favicon-114x114-nfz030rt.png\",\"loader\":\"file\",\"isEntry\":false,\"headers\":{\"etag\":\"da9fYMOg2Bo\",\"content-type\":\"image/png\"}},{\"input\":\"packages/webui/public/favicon-120x120.png\",\"path\":\"./favicon-120x120-wkpcsbxg.png\",\"loader\":\"file\",\"isEntry\":false,\"headers\":{\"etag\":\"3HOWLDkrnZA\",\"content-type\":\"image/png\"}},{\"input\":\"packages/webui/public/favicon-144x144.png\",\"path\":\"./favicon-144x144-05nsfzbf.png\",\"loader\":\"file\",\"isEntry\":false,\"headers\":{\"etag\":\"wGWVee_fay8\",\"content-type\":\"image/png\"}},{\"input\":\"packages/webui/public/favicon-152x152.png\",\"path\":\"./favicon-152x152-8nka92nd.png\",\"loader\":\"file\",\"isEntry\":false,\"headers\":{\"etag\":\"CPUzSulCdU0\",\"content-type\":\"image/png\"}},{\"input\":\"packages/webui/public/favicon-180x180.png\",\"path\":\"./favicon-180x180-aypbsxyq.png\",\"loader\":\"file\",\"isEntry\":false,\"headers\":{\"etag\":\"Cl72Czk9_tc\",\"content-type\":\"image/png\"}},{\"input\":\"packages/webui/public/favicon-16x16.png\",\"path\":\"./favicon-16x16-b0xc5vjm.png\",\"loader\":\"file\",\"isEntry\":false,\"headers\":{\"etag\":\"S6AdLEU7MhQ\",\"content-type\":\"image/png\"}},{\"input\":\"packages/webui/public/favicon-32x32.png\",\"path\":\"./favicon-32x32-pszr0qfr.png\",\"loader\":\"file\",\"isEntry\":false,\"headers\":{\"etag\":\"lvm_WOC3Tzg\",\"content-type\":\"image/png\"}},{\"input\":\"packages/webui/public/favicon-96x96.png\",\"path\":\"./favicon-96x96-ja5djp2p.png\",\"loader\":\"file\",\"isEntry\":false,\"headers\":{\"etag\":\"ckplDZK2QjY\",\"content-type\":\"image/png\"}},{\"input\":\"packages/webui/public/favicon-192x192.png\",\"path\":\"./favicon-192x192-x1mftae9.png\",\"loader\":\"file\",\"isEntry\":false,\"headers\":{\"etag\":\"XQG0T9rqLsk\",\"content-type\":\"image/png\"}},{\"input\":\"packages/webui/public/favicon.ico\",\"path\":\"./favicon-sk28f4p7.ico\",\"loader\":\"file\",\"isEntry\":false,\"headers\":{\"etag\":\"WTOiiA8klkc\",\"content-type\":\"image/x-icon\"}},{\"input\":\"packages/webui/public/manifest.json\",\"path\":\"./manifest-f4wahvsd.json\",\"loader\":\"file\",\"isEntry\":false,\"headers\":{\"etag\":\"7-Q8qrEb2Q0\",\"content-type\":\"application/json;charset=utf-8\"}}]}");import{Agent as h20,createServer as u20}from"http";import{request as QR}from"http";import{request as $I}from"https";import{connect as y20}from"net";import{URL as d20}from"url";function H0(W,$){if(!process.env.SRT_DEBUG)return;let w=$?.level||"info",Q="[SandboxDebug]";switch(w){case"error":console.error(`${Q} ${W}`);break;case"warn":console.warn(`${Q} ${W}`);break;default:console.error(`${Q} ${W}`)}}import{Readable as bC}from"stream";var EW0=new Set(["GET","HEAD","OPTIONS"]);async function kV(W,$,w,Q,J){let X,Y=$;if(!EW0.has($.method??"GET")){let H=bC.toWeb($),[V,Z]=H.tee();X=V,Y=bC.fromWeb(Z)}let G;try{G=new Request(Q,{method:$.method,headers:PW0($),signal:J,...X?{body:X,duplex:"half"}:{}})}catch(H){return _C(w,{action:"deny",reason:`malformed request: ${H.message}`}),X?.cancel(),Y.destroy(),null}let K;try{K=await W(G)}catch(H){K={action:"deny",reason:`filterRequest threw: ${H.message}`}}if(X&&!G.bodyUsed)X.cancel();if(K.action==="allow")return H0(`[request-filter] allow ${$.method} ${Q}`),Y;return _C(w,K),Y.destroy(),null}function _C(W,$){let w=$.reason??"denied by filterRequest";if(H0(`[request-filter] deny: ${w}`),W.headersSent){W.destroy();return}W.writeHead(403,{"Content-Type":"text/plain","X-Proxy-Error":"blocked-by-sandbox-runtime"}),W.end(w+`
|
|
163
|
+
`,$)+1}return{type:W,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(W){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let $=NN(W),w=uX($);return w.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:w,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let $=NN(W),w=uX($);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:w,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(W,$){if(this.type!=="comment")return!1;if(this.indent<=$)return!1;return W.every((w)=>w.type==="newline"||w.type==="space")}*documentEnd(W){if(this.type!=="doc-mode"){if(W.end)W.end.push(this.sourceToken);else W.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}*lineEnd(W){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:if(W.end)W.end.push(this.sourceToken);else W.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}}AD0.Parser=_d});var vd=X0((_D0)=>{var xd=xL(),CD0=sK(),QH=tK(),ED0=pB(),PD0=c1(),ID0=pL(),gd=nL();function kd(W){let $=W.prettyErrors!==!1;return{lineCounter:W.lineCounter||$&&new ID0.LineCounter||null,prettyErrors:$}}function fD0(W,$={}){let{lineCounter:w,prettyErrors:Q}=kd($),J=new gd.Parser(w?.addNewLine),X=new xd.Composer($),Y=Array.from(X.compose(J.parse(W)));if(Q&&w)for(let G of Y)G.errors.forEach(QH.prettifyError(W,w)),G.warnings.forEach(QH.prettifyError(W,w));if(Y.length>0)return Y;return Object.assign([],{empty:!0},X.streamInfo())}function md(W,$={}){let{lineCounter:w,prettyErrors:Q}=kd($),J=new gd.Parser(w?.addNewLine),X=new xd.Composer($),Y=null;for(let G of X.compose(J.parse(W),!0,W.length))if(!Y)Y=G;else if(Y.options.logLevel!=="silent"){Y.errors.push(new QH.YAMLParseError(G.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}if(Q&&w)Y.errors.forEach(QH.prettifyError(W,w)),Y.warnings.forEach(QH.prettifyError(W,w));return Y}function jD0(W,$,w){let Q=void 0;if(typeof $==="function")Q=$;else if(w===void 0&&$&&typeof $==="object")w=$;let J=md(W,w);if(!J)return null;if(J.warnings.forEach((X)=>ED0.warn(J.options.logLevel,X)),J.errors.length>0)if(J.options.logLevel!=="silent")throw J.errors[0];else J.errors=[];return J.toJS(Object.assign({reviver:Q},w))}function bD0(W,$,w){let Q=null;if(typeof $==="function"||Array.isArray($))Q=$;else if(w===void 0&&$)w=$;if(typeof w==="string")w=w.length;if(typeof w==="number"){let J=Math.round(w);w=J<1?void 0:J>8?{indent:8}:{indent:J}}if(W===void 0){let{keepUndefined:J}=w??$??{};if(!J)return}if(PD0.isDocument(W)&&!Q)return W.toString(w);return new CD0.Document(W,Q,w).toString(w)}_D0.parse=jD0;_D0.parseAllDocuments=fD0;_D0.parseDocument=md;_D0.stringify=bD0});var td=X0((yb5,RN)=>{function cd(W){return Array.isArray(W)?W:[W]}var TR0=void 0,oL="",yd=" ",iL="\\",AR0=/^\s+$/,SR0=/(?:[^\\]|^)\\$/,CR0=/^\\!/,ER0=/^\\#/,PR0=/\r?\n/g,IR0=/^\.{0,2}\/|^\.{1,2}$/,fR0=/\/$/,yX="/",pd="node-ignore";if(typeof Symbol<"u")pd=Symbol.for("node-ignore");var nd=pd,dX=(W,$,w)=>{return Object.defineProperty(W,$,{value:w}),w},jR0=/([0-z])-([0-z])/g,ld=()=>!1,bR0=(W)=>W.replace(jR0,($,w,Q)=>w.charCodeAt(0)<=Q.charCodeAt(0)?$:oL),_R0=(W)=>{let{length:$}=W;return W.slice(0,$-$%2)},xR0=[[/^\uFEFF/,()=>oL],[/((?:\\\\)*?)(\\?\s+)$/,(W,$,w)=>$+(w.indexOf("\\")===0?yd:oL)],[/(\\+?)\s/g,(W,$)=>{let{length:w}=$;return $.slice(0,w-w%2)+yd}],[/[\\$.|*+(){^]/g,(W)=>`\\${W}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return!/\/(?!$)/.test(this)?"(?:^|\\/)":"^"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(W,$,w)=>$+6<w.length?"(?:\\/[^\\/]+)*":"\\/.+"],[/(^|[^\\]+)(\\\*)+(?=.+)/g,(W,$,w)=>{let Q=w.replace(/\\\*/g,"[^\\/]*");return $+Q}],[/\\\\\\(?=[$.|*+(){^])/g,()=>iL],[/\\\\/g,()=>iL],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(W,$,w,Q,J)=>$===iL?`\\[${w}${_R0(Q)}${J}`:J==="]"?Q.length%2===0?`[${bR0(w)}${Q}]`:"[]":"[]"],[/(?:[^*])$/,(W)=>/\/$/.test(W)?`${W}$`:`${W}(?=$|\\/$)`]],gR0=/(^|\\\/)?\\\*$/,XH="regex",ON="checkRegex",dd="_",kR0={[XH](W,$){return`${$?`${$}[^/]+`:"[^/]*"}(?=$|\\/$)`},[ON](W,$){return`${$?`${$}[^/]*`:"[^/]*"}(?=$|\\/$)`}},mR0=(W)=>xR0.reduce(($,[w,Q])=>$.replace(w,Q.bind(W)),W),DN=(W)=>typeof W==="string",vR0=(W)=>W&&DN(W)&&!AR0.test(W)&&!SR0.test(W)&&W.indexOf("#")!==0,hR0=(W)=>W.split(PR0).filter(Boolean);class id{constructor(W,$,w,Q,J,X){this.pattern=W,this.mark=$,this.negative=J,dX(this,"body",w),dX(this,"ignoreCase",Q),dX(this,"regexPrefix",X)}get regex(){let W=dd+XH;if(this[W])return this[W];return this._make(XH,W)}get checkRegex(){let W=dd+ON;if(this[W])return this[W];return this._make(ON,W)}_make(W,$){let w=this.regexPrefix.replace(gR0,kR0[W]),Q=this.ignoreCase?new RegExp(w,"i"):new RegExp(w);return dX(this,$,Q)}}var uR0=({pattern:W,mark:$},w)=>{let Q=!1,J=W;if(J.indexOf("!")===0)Q=!0,J=J.substr(1);J=J.replace(CR0,"!").replace(ER0,"#");let X=mR0(J);return new id(W,$,J,w,Q,X)};class od{constructor(W){this._ignoreCase=W,this._rules=[]}_add(W){if(W&&W[nd]){this._rules=this._rules.concat(W._rules._rules),this._added=!0;return}if(DN(W))W={pattern:W};if(vR0(W.pattern)){let $=uR0(W,this._ignoreCase);this._added=!0,this._rules.push($)}}add(W){return this._added=!1,cd(DN(W)?hR0(W):W).forEach(this._add,this),this._added}test(W,$,w){let Q=!1,J=!1,X;this._rules.forEach((G)=>{let{negative:K}=G;if(J===K&&Q!==J||K&&!Q&&!J&&!$)return;if(!G[w].test(W))return;Q=!K,J=K,X=K?TR0:G});let Y={ignored:Q,unignored:J};if(X)Y.rule=X;return Y}}var yR0=(W,$)=>{throw new $(W)},I7=(W,$,w)=>{if(!DN(W))return w(`path must be a string, but got \`${$}\``,TypeError);if(!W)return w("path must not be empty",TypeError);if(I7.isNotRelative(W))return w(`path should be a \`path.relative()\`d string, but got "${$}"`,RangeError);return!0},ad=(W)=>IR0.test(W);I7.isNotRelative=ad;I7.convert=(W)=>W;class rd{constructor({ignorecase:W=!0,ignoreCase:$=W,allowRelativePaths:w=!1}={}){dX(this,nd,!0),this._rules=new od($),this._strictPathCheck=!w,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}add(W){if(this._rules.add(W))this._initCache();return this}addPattern(W){return this.add(W)}_test(W,$,w,Q){let J=W&&I7.convert(W);return I7(J,W,this._strictPathCheck?yR0:ld),this._t(J,$,w,Q)}checkIgnore(W){if(!fR0.test(W))return this.test(W);let $=W.split(yX).filter(Boolean);if($.pop(),$.length){let w=this._t($.join(yX)+yX,this._testCache,!0,$);if(w.ignored)return w}return this._rules.test(W,!1,ON)}_t(W,$,w,Q){if(W in $)return $[W];if(!Q)Q=W.split(yX).filter(Boolean);if(Q.pop(),!Q.length)return $[W]=this._rules.test(W,w,XH);let J=this._t(Q.join(yX)+yX,$,w,Q);return $[W]=J.ignored?J:this._rules.test(W,w,XH)}ignores(W){return this._test(W,this._ignoreCache,!1).ignored}createFilter(){return(W)=>!this.ignores(W)}filter(W){return cd(W).filter(this.createFilter())}test(W){return this._test(W,this._testCache,!0)}}var aL=(W)=>new rd(W),dR0=(W)=>I7(W&&I7.convert(W),W,ld),sd=()=>{let W=(w)=>/^\\\\\?\\/.test(w)||/["<>|\u0000-\u001F]+/u.test(w)?w:w.replace(/\\/g,"/");I7.convert=W;let $=/^[a-z]:\//i;I7.isNotRelative=(w)=>$.test(w)||ad(w)};if(typeof process<"u"&&process.platform==="win32")sd();RN.exports=aL;aL.default=aL;RN.exports.isPathValid=dR0;dX(RN.exports,Symbol.for("setupWindows"),sd)});var VT=X0((qy5,Dp)=>{Dp.exports={LOCHDR:30,LOCSIG:67324752,LOCVER:4,LOCFLG:6,LOCHOW:8,LOCTIM:10,LOCCRC:14,LOCSIZ:18,LOCLEN:22,LOCNAM:26,LOCEXT:28,EXTSIG:134695760,EXTHDR:16,EXTCRC:4,EXTSIZ:8,EXTLEN:12,CENHDR:46,CENSIG:33639248,CENVEM:4,CENVER:6,CENFLG:8,CENHOW:10,CENTIM:12,CENCRC:16,CENSIZ:20,CENLEN:24,CENNAM:28,CENEXT:30,CENCOM:32,CENDSK:34,CENATT:36,CENATX:38,CENOFF:42,ENDHDR:22,ENDSIG:101010256,ENDSUB:8,ENDTOT:10,ENDSIZ:12,ENDOFF:16,ENDCOM:20,END64HDR:20,END64SIG:117853008,END64START:4,END64OFF:8,END64NUMDISKS:16,ZIP64SIG:101075792,ZIP64HDR:56,ZIP64LEAD:12,ZIP64SIZE:4,ZIP64VEM:12,ZIP64VER:14,ZIP64DSK:16,ZIP64DSKDIR:20,ZIP64SUB:24,ZIP64TOT:32,ZIP64SIZB:40,ZIP64OFF:48,ZIP64EXTRA:56,STORED:0,SHRUNK:1,REDUCED1:2,REDUCED2:3,REDUCED3:4,REDUCED4:5,IMPLODED:6,DEFLATED:8,ENHANCED_DEFLATED:9,PKWARE:10,BZIP2:12,LZMA:14,IBM_TERSE:18,IBM_LZ77:19,AES_ENCRYPT:99,FLG_ENC:1,FLG_COMP1:2,FLG_COMP2:4,FLG_DESC:8,FLG_ENH:16,FLG_PATCH:32,FLG_STR:64,FLG_EFS:2048,FLG_MSK:4096,FILE:2,BUFFER:1,NONE:0,EF_ID:0,EF_SIZE:2,ID_ZIP64:1,ID_AVINFO:7,ID_PFS:8,ID_OS2:9,ID_NTFS:10,ID_OPENVMS:12,ID_UNIX:13,ID_FORK:14,ID_PATCH:15,ID_X509_PKCS7:20,ID_X509_CERTID_F:21,ID_X509_CERTID_C:22,ID_STRONGENC:23,ID_RECORD_MGT:24,ID_X509_PKCS7_RL:25,ID_IBM1:101,ID_IBM2:102,ID_POSZIP:18064,EF_ZIP64_OR_32:4294967295,EF_ZIP64_OR_16:65535,EF_ZIP64_SUNCOMP:0,EF_ZIP64_SCOMP:8,EF_ZIP64_RHO:16,EF_ZIP64_DSN:24}});var Uz=X0((Fp)=>{var Rp={INVALID_LOC:"Invalid LOC header (bad signature)",INVALID_CEN:"Invalid CEN header (bad signature)",INVALID_END:"Invalid END header (bad signature)",DESCRIPTOR_NOT_EXIST:"No descriptor present",DESCRIPTOR_UNKNOWN:"Unknown descriptor format",DESCRIPTOR_FAULTY:"Descriptor data is malformed",NO_DATA:"Nothing to decompress",BAD_CRC:"CRC32 checksum failed {0}",FILE_IN_THE_WAY:"There is a file in the way: {0}",UNKNOWN_METHOD:"Invalid/unsupported compression method",AVAIL_DATA:"inflate::Available inflate data did not terminate",INVALID_DISTANCE:"inflate::Invalid literal/length or distance code in fixed or dynamic block",TO_MANY_CODES:"inflate::Dynamic block code description: too many length or distance codes",INVALID_REPEAT_LEN:"inflate::Dynamic block code description: repeat more than specified lengths",INVALID_REPEAT_FIRST:"inflate::Dynamic block code description: repeat lengths with no first length",INCOMPLETE_CODES:"inflate::Dynamic block code description: code lengths codes incomplete",INVALID_DYN_DISTANCE:"inflate::Dynamic block code description: invalid distance code lengths",INVALID_CODES_LEN:"inflate::Dynamic block code description: invalid literal/length code lengths",INVALID_STORE_BLOCK:"inflate::Stored block length did not match one's complement",INVALID_BLOCK_TYPE:"inflate::Invalid block type (type == 3)",CANT_EXTRACT_FILE:"Could not extract the file",CANT_OVERRIDE:"Target file already exists",DISK_ENTRY_TOO_LARGE:"Number of disk entries is too large",NO_ZIP:"No zip file was loaded",NO_ENTRY:"Entry doesn't exist",DIRECTORY_CONTENT_ERROR:"A directory cannot have content",FILE_NOT_FOUND:'File not found: "{0}"',NOT_IMPLEMENTED:"Not implemented",INVALID_FILENAME:"Invalid filename",INVALID_FORMAT:"Invalid or unsupported zip format. No END header found",INVALID_PASS_PARAM:"Incompatible password parameter",WRONG_PASSWORD:"Wrong Password",COMMENT_TOO_LONG:"Comment is too long",EXTRA_FIELD_PARSE_ERROR:"Extra field parsing error"};function GL0(W){return function(...$){if($.length)W=W.replace(/\{(\d)\}/g,(w,Q)=>$[Q]||"");return Error("ADM-ZIP: "+W)}}for(let W of Object.keys(Rp))Fp[W]=GL0(Rp[W])});var Sp=X0((Ny5,Ap)=>{var KL0=R5("fs"),Z$=R5("path"),Bp=VT(),HL0=Uz(),VL0=typeof process==="object"&&process.platform==="win32",Lp=(W)=>typeof W==="object"&&W!==null,Tp=new Uint32Array(256).map((W,$)=>{for(let w=0;w<8;w++)if(($&1)!==0)$=3988292384^$>>>1;else $>>>=1;return $>>>0});function F4(W){if(this.sep=Z$.sep,this.fs=KL0,Lp(W)){if(Lp(W.fs)&&typeof W.fs.statSync==="function")this.fs=W.fs}}Ap.exports=F4;F4.prototype.makeDir=function(W){let $=this;function w(Q){let J=Q.split($.sep)[0];Q.split($.sep).forEach(function(X){if(!X||X.substr(-1,1)===":")return;J+=$.sep+X;var Y;try{Y=$.fs.statSync(J)}catch(G){if(G.message&&G.message.startsWith("ENOENT"))$.fs.mkdirSync(J);else throw G}if(Y&&Y.isFile())throw HL0.FILE_IN_THE_WAY(`"${J}"`)})}w(W)};F4.prototype.writeFileTo=function(W,$,w,Q){let J=this;if(J.fs.existsSync(W)){if(!w)return!1;var X=J.fs.statSync(W);if(X.isDirectory())return!1}var Y=Z$.dirname(W);if(!J.fs.existsSync(Y))J.makeDir(Y);var G;try{G=J.fs.openSync(W,"w",438)}catch(K){J.fs.chmodSync(W,438),G=J.fs.openSync(W,"w",438)}if(G)try{J.fs.writeSync(G,$,0,$.length,0)}finally{J.fs.closeSync(G)}return J.fs.chmodSync(W,Q||438),!0};F4.prototype.writeFileToAsync=function(W,$,w,Q,J){if(typeof Q==="function")J=Q,Q=void 0;let X=this;X.fs.exists(W,function(Y){if(Y&&!w)return J(!1);X.fs.stat(W,function(G,K){if(Y&&K.isDirectory())return J(!1);var H=Z$.dirname(W);X.fs.exists(H,function(V){if(!V)X.makeDir(H);X.fs.open(W,"w",438,function(Z,q){if(Z)X.fs.chmod(W,438,function(){X.fs.open(W,"w",438,function(N,U){X.fs.write(U,$,0,$.length,0,function(){X.fs.close(U,function(){X.fs.chmod(W,Q||438,function(){J(!0)})})})})});else if(q)X.fs.write(q,$,0,$.length,0,function(){X.fs.close(q,function(){X.fs.chmod(W,Q||438,function(){J(!0)})})});else X.fs.chmod(W,Q||438,function(){J(!0)})})})})})};F4.prototype.findFiles=function(W){let $=this;function w(Q,J,X){if(typeof J==="boolean")X=J,J=void 0;let Y=[];return $.fs.readdirSync(Q).forEach(function(G){let K=Z$.join(Q,G),H=$.fs.statSync(K);if(!J||J.test(K))Y.push(Z$.normalize(K)+(H.isDirectory()?$.sep:""));if(H.isDirectory()&&X)Y=Y.concat(w(K,J,X))}),Y}return w(W,void 0,!0)};F4.prototype.findFilesAsync=function(W,$){let w=this,Q=[];w.fs.readdir(W,function(J,X){if(J)return $(J);let Y=X.length;if(!Y)return $(null,Q);X.forEach(function(G){G=Z$.join(W,G),w.fs.stat(G,function(K,H){if(K)return $(K);if(H){if(Q.push(Z$.normalize(G)+(H.isDirectory()?w.sep:"")),H.isDirectory())w.findFilesAsync(G,function(V,Z){if(V)return $(V);if(Q=Q.concat(Z),!--Y)$(null,Q)});else if(!--Y)$(null,Q)}})})})};F4.prototype.getAttributes=function(){};F4.prototype.setAttributes=function(){};F4.crc32update=function(W,$){return Tp[(W^$)&255]^W>>>8};F4.crc32=function(W){if(typeof W==="string")W=Buffer.from(W,"utf8");let $=W.length,w=-1;for(let Q=0;Q<$;)w=F4.crc32update(w,W[Q++]);return~w>>>0};F4.methodToString=function(W){switch(W){case Bp.STORED:return"STORED ("+W+")";case Bp.DEFLATED:return"DEFLATED ("+W+")";default:return"UNSUPPORTED ("+W+")"}};F4.canonical=function(W){if(!W)return"";let $=Z$.posix.normalize("/"+W.split("\\").join("/"));return Z$.join(".",$)};F4.zipnamefix=function(W){if(!W)return"";let $=Z$.posix.normalize("/"+W.split("\\").join("/"));return Z$.posix.join(".",$)};F4.findLast=function(W,$){if(!Array.isArray(W))throw TypeError("arr is not array");let w=W.length>>>0;for(let Q=w-1;Q>=0;Q--)if($(W[Q],Q,W))return W[Q];return};F4.sanitize=function(W,$){W=Z$.resolve(Z$.normalize(W));var w=$.split("/");for(var Q=0,J=w.length;Q<J;Q++){var X=Z$.normalize(Z$.join(W,w.slice(Q,J).join(Z$.sep)));if(X.indexOf(W)===0)return X}return Z$.normalize(Z$.join(W,Z$.basename($)))};F4.toBuffer=function($,w){if(Buffer.isBuffer($))return $;else if($ instanceof Uint8Array)return Buffer.from($);else return typeof $==="string"?w($):Buffer.alloc(0)};F4.readBigUInt64LE=function(W,$){let w=W.readUInt32LE($);return W.readUInt32LE($+4)*4294967296+w};F4.fromDOS2Date=function(W){return new Date((W>>25&127)+1980,Math.max((W>>21&15)-1,0),Math.max(W>>16&31,1),W>>11&31,W>>5&63,(W&31)<<1)};F4.fromDate2DOS=function(W){let $=0,w=0;if(W.getFullYear()>1979)$=(W.getFullYear()-1980&127)<<9|W.getMonth()+1<<5|W.getDate(),w=W.getHours()<<11|W.getMinutes()<<5|W.getSeconds()>>1;return $<<16|w};F4.isWin=VL0;F4.crcTable=Tp});var Ep=X0((zy5,Cp)=>{var ZL0=R5("path");Cp.exports=function(W,{fs:$}){var w=W||"",Q=X(),J=null;function X(){return{directory:!1,readonly:!1,hidden:!1,executable:!1,mtime:0,atime:0}}if(w&&$.existsSync(w))J=$.statSync(w),Q.directory=J.isDirectory(),Q.mtime=J.mtime,Q.atime=J.atime,Q.executable=(73&J.mode)!==0,Q.readonly=(128&J.mode)===0,Q.hidden=ZL0.basename(w)[0]===".";else console.warn("Invalid path: "+w);return{get directory(){return Q.directory},get readOnly(){return Q.readonly},get hidden(){return Q.hidden},get mtime(){return Q.mtime},get atime(){return Q.atime},get executable(){return Q.executable},decodeAttributes:function(){},encodeAttributes:function(){},toJSON:function(){return{path:w,isDirectory:Q.directory,isReadOnly:Q.readonly,isHidden:Q.hidden,isExecutable:Q.executable,mTime:Q.mtime,aTime:Q.atime}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}});var Ip=X0((Uy5,Pp)=>{Pp.exports={efs:!0,encode:(W)=>Buffer.from(W,"utf8"),decode:(W)=>W.toString("utf8")}});var iX=X0((Oy5,lX)=>{lX.exports=Sp();lX.exports.Constants=VT();lX.exports.Errors=Uz();lX.exports.FileAttr=Ep();lX.exports.decoder=Ip()});var jp=X0((Dy5,fp)=>{var tw=iX(),l0=tw.Constants;fp.exports=function(){var W=20,$=10,w=0,Q=0,J=0,X=0,Y=0,G=0,K=0,H=0,V=0,Z=0,q=0,N=0,U=0;W|=tw.isWin?2560:768,w|=l0.FLG_EFS;let z={extraLen:0},O=(D)=>Math.max(0,D)>>>0,R=(D)=>Math.max(0,D)&65535,F=(D)=>Math.max(0,D)&255;return J=tw.fromDate2DOS(new Date),{get made(){return W},set made(D){W=D},get version(){return $},set version(D){$=D},get flags(){return w},set flags(D){w=D},get flags_efs(){return(w&l0.FLG_EFS)>0},set flags_efs(D){if(D)w|=l0.FLG_EFS;else w&=~l0.FLG_EFS},get flags_desc(){return(w&l0.FLG_DESC)>0},set flags_desc(D){if(D)w|=l0.FLG_DESC;else w&=~l0.FLG_DESC},get method(){return Q},set method(D){switch(D){case l0.STORED:this.version=10;case l0.DEFLATED:default:this.version=20}Q=D},get time(){return tw.fromDOS2Date(this.timeval)},set time(D){D=new Date(D),this.timeval=tw.fromDate2DOS(D)},get timeval(){return J},set timeval(D){J=O(D)},get timeHighByte(){return F(J>>>8)},get crc(){return X},set crc(D){X=O(D)},get compressedSize(){return Y},set compressedSize(D){Y=O(D)},get size(){return G},set size(D){G=O(D)},get fileNameLength(){return K},set fileNameLength(D){K=D},get extraLength(){return H},set extraLength(D){H=D},get extraLocalLength(){return z.extraLen},set extraLocalLength(D){z.extraLen=D},get commentLength(){return V},set commentLength(D){V=D},get diskNumStart(){return Z},set diskNumStart(D){Z=O(D)},get inAttr(){return q},set inAttr(D){q=O(D)},get attr(){return N},set attr(D){N=O(D)},get fileAttr(){return(N||0)>>16&4095},get offset(){return U},set offset(D){U=O(D)},get encrypted(){return(w&l0.FLG_ENC)===l0.FLG_ENC},get centralHeaderSize(){return l0.CENHDR+K+H+V},get realDataOffset(){return U+l0.LOCHDR+z.fnameLen+z.extraLen},get localHeader(){return z},loadLocalHeaderFromBinary:function(D){var T=D.slice(U,U+l0.LOCHDR);if(T.readUInt32LE(0)!==l0.LOCSIG)throw tw.Errors.INVALID_LOC();z.version=T.readUInt16LE(l0.LOCVER),z.flags=T.readUInt16LE(l0.LOCFLG),z.flags_desc=(z.flags&l0.FLG_DESC)>0,z.method=T.readUInt16LE(l0.LOCHOW),z.time=T.readUInt32LE(l0.LOCTIM),z.crc=T.readUInt32LE(l0.LOCCRC),z.compressedSize=T.readUInt32LE(l0.LOCSIZ),z.size=T.readUInt32LE(l0.LOCLEN),z.fnameLen=T.readUInt16LE(l0.LOCNAM),z.extraLen=T.readUInt16LE(l0.LOCEXT);let A=U+l0.LOCHDR+z.fnameLen,S=A+z.extraLen;return D.slice(A,S)},loadFromBinary:function(D){if(D.length!==l0.CENHDR||D.readUInt32LE(0)!==l0.CENSIG)throw tw.Errors.INVALID_CEN();W=D.readUInt16LE(l0.CENVEM),$=D.readUInt16LE(l0.CENVER),w=D.readUInt16LE(l0.CENFLG),Q=D.readUInt16LE(l0.CENHOW),J=D.readUInt32LE(l0.CENTIM),X=D.readUInt32LE(l0.CENCRC),Y=D.readUInt32LE(l0.CENSIZ),G=D.readUInt32LE(l0.CENLEN),K=D.readUInt16LE(l0.CENNAM),H=D.readUInt16LE(l0.CENEXT),V=D.readUInt16LE(l0.CENCOM),Z=D.readUInt16LE(l0.CENDSK),q=D.readUInt16LE(l0.CENATT),N=D.readUInt32LE(l0.CENATX),U=D.readUInt32LE(l0.CENOFF)},localHeaderToBinary:function(){var D=Buffer.alloc(l0.LOCHDR);return D.writeUInt32LE(l0.LOCSIG,0),D.writeUInt16LE($,l0.LOCVER),D.writeUInt16LE(w,l0.LOCFLG),D.writeUInt16LE(Q,l0.LOCHOW),D.writeUInt32LE(J,l0.LOCTIM),D.writeUInt32LE(X,l0.LOCCRC),D.writeUInt32LE(Y,l0.LOCSIZ),D.writeUInt32LE(G,l0.LOCLEN),D.writeUInt16LE(K,l0.LOCNAM),D.writeUInt16LE(z.extraLen,l0.LOCEXT),D},centralHeaderToBinary:function(){var D=Buffer.alloc(l0.CENHDR+K+H+V);return D.writeUInt32LE(l0.CENSIG,0),D.writeUInt16LE(W,l0.CENVEM),D.writeUInt16LE($,l0.CENVER),D.writeUInt16LE(w,l0.CENFLG),D.writeUInt16LE(Q,l0.CENHOW),D.writeUInt32LE(J,l0.CENTIM),D.writeUInt32LE(X,l0.CENCRC),D.writeUInt32LE(Y,l0.CENSIZ),D.writeUInt32LE(G,l0.CENLEN),D.writeUInt16LE(K,l0.CENNAM),D.writeUInt16LE(H,l0.CENEXT),D.writeUInt16LE(V,l0.CENCOM),D.writeUInt16LE(Z,l0.CENDSK),D.writeUInt16LE(q,l0.CENATT),D.writeUInt32LE(N,l0.CENATX),D.writeUInt32LE(U,l0.CENOFF),D},toJSON:function(){let D=function(T){return T+" bytes"};return{made:W,version:$,flags:w,method:tw.methodToString(Q),time:this.time,crc:"0x"+X.toString(16).toUpperCase(),compressedSize:D(Y),size:D(G),fileNameLength:D(K),extraLength:D(H),commentLength:D(V),diskNumStart:Z,inAttr:q,attr:N,offset:U,centralHeaderSize:D(l0.CENHDR+K+H+V)}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}});var _p=X0((Ry5,bp)=>{var oX=iX(),Q4=oX.Constants;bp.exports=function(){var W=0,$=0,w=0,Q=0,J=0;return{get diskEntries(){return W},set diskEntries(X){W=$=X},get totalEntries(){return $},set totalEntries(X){$=W=X},get size(){return w},set size(X){w=X},get offset(){return Q},set offset(X){Q=X},get commentLength(){return J},set commentLength(X){J=X},get mainHeaderSize(){return Q4.ENDHDR+J},loadFromBinary:function(X){if((X.length!==Q4.ENDHDR||X.readUInt32LE(0)!==Q4.ENDSIG)&&(X.length<Q4.ZIP64HDR||X.readUInt32LE(0)!==Q4.ZIP64SIG))throw oX.Errors.INVALID_END();if(X.readUInt32LE(0)===Q4.ENDSIG)W=X.readUInt16LE(Q4.ENDSUB),$=X.readUInt16LE(Q4.ENDTOT),w=X.readUInt32LE(Q4.ENDSIZ),Q=X.readUInt32LE(Q4.ENDOFF),J=X.readUInt16LE(Q4.ENDCOM);else W=oX.readBigUInt64LE(X,Q4.ZIP64SUB),$=oX.readBigUInt64LE(X,Q4.ZIP64TOT),w=oX.readBigUInt64LE(X,Q4.ZIP64SIZE),Q=oX.readBigUInt64LE(X,Q4.ZIP64OFF),J=0},toBinary:function(){var X=Buffer.alloc(Q4.ENDHDR+J);return X.writeUInt32LE(Q4.ENDSIG,0),X.writeUInt32LE(0,4),X.writeUInt16LE(W,Q4.ENDSUB),X.writeUInt16LE($,Q4.ENDTOT),X.writeUInt32LE(w,Q4.ENDSIZ),X.writeUInt32LE(Q,Q4.ENDOFF),X.writeUInt16LE(J,Q4.ENDCOM),X.fill(" ",Q4.ENDHDR),X},toJSON:function(){let X=function(Y,G){let K=Y.toString(16).toUpperCase();while(K.length<G)K="0"+K;return"0x"+K};return{diskEntries:W,totalEntries:$,size:w+" bytes",offset:X(Q,4),commentLength:J}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}});var ZT=X0((qL0)=>{qL0.EntryHeader=jp();qL0.MainHeader=_p()});var gp=X0((By5,xp)=>{xp.exports=function(W){var $=R5("zlib"),w={chunkSize:(parseInt(W.length/1024)+1)*1024};return{deflate:function(){return $.deflateRawSync(W,w)},deflateAsync:function(Q){var J=$.createDeflateRaw(w),X=[],Y=0;J.on("data",function(G){X.push(G),Y+=G.length}),J.on("end",function(){var G=Buffer.alloc(Y),K=0;G.fill(0);for(var H=0;H<X.length;H++){var V=X[H];V.copy(G,K),K+=V.length}Q&&Q(G)}),J.end(W)}}}});var mp=X0((Ly5,kp)=>{var zL0=+(process.versions?process.versions.node:"").split(".")[0]||0;kp.exports=function(W,$){var w=R5("zlib");let Q=zL0>=15&&$>0?{maxOutputLength:$}:{};return{inflate:function(){return w.inflateRawSync(W,Q)},inflateAsync:function(J){var X=w.createInflateRaw(Q),Y=[],G=0;X.on("data",function(K){Y.push(K),G+=K.length}),X.on("end",function(){var K=Buffer.alloc(G),H=0;K.fill(0);for(var V=0;V<Y.length;V++){var Z=Y[V];Z.copy(K,H),H+=Z.length}J&&J(K)}),X.end(W)}}}});var dp=X0((Ty5,yp)=>{var{randomFillSync:vp}=R5("crypto"),UL0=Uz(),OL0=new Uint32Array(256).map((W,$)=>{for(let w=0;w<8;w++)if(($&1)!==0)$=$>>>1^3988292384;else $>>>=1;return $>>>0}),up=(W,$)=>Math.imul(W,$)>>>0,hp=(W,$)=>{return OL0[(W^$)&255]^W>>>8},YH=()=>{if(typeof vp==="function")return vp(Buffer.alloc(12));else return YH.node()};YH.node=()=>{let W=Buffer.alloc(12),$=W.length;for(let w=0;w<$;w++)W[w]=Math.random()*256&255;return W};var Oz={genSalt:YH};function Dz(W){let $=Buffer.isBuffer(W)?W:Buffer.from(W);this.keys=new Uint32Array([305419896,591751049,878082192]);for(let w=0;w<$.length;w++)this.updateKeys($[w])}Dz.prototype.updateKeys=function(W){let $=this.keys;return $[0]=hp($[0],W),$[1]+=$[0]&255,$[1]=up($[1],134775813)+1,$[2]=hp($[2],$[1]>>>24),W};Dz.prototype.next=function(){let W=(this.keys[2]|2)>>>0;return up(W,W^1)>>8&255};function DL0(W){let $=new Dz(W);return function(w){let Q=Buffer.alloc(w.length),J=0;for(let X of w)Q[J++]=$.updateKeys(X^$.next());return Q}}function RL0(W){let $=new Dz(W);return function(w,Q,J=0){if(!Q)Q=Buffer.alloc(w.length);for(let X of w){let Y=$.next();Q[J++]=X^Y,$.updateKeys(X)}return Q}}function FL0(W,$,w){if(!W||!Buffer.isBuffer(W)||W.length<12)return Buffer.alloc(0);let Q=DL0(w),J=Q(W.slice(0,12)),X=($.flags&8)===8?$.timeHighByte:$.crc>>>24;if(J[11]!==X)throw UL0.WRONG_PASSWORD();return Q(W.slice(12))}function BL0(W){if(Buffer.isBuffer(W)&&W.length>=12)Oz.genSalt=function(){return W.slice(0,12)};else if(W==="node")Oz.genSalt=YH.node;else Oz.genSalt=YH}function LL0(W,$,w,Q=!1){if(W==null)W=Buffer.alloc(0);if(!Buffer.isBuffer(W))W=Buffer.from(W.toString());let J=RL0(w),X=Oz.genSalt();if(X[11]=$.crc>>>24&255,Q)X[10]=$.crc>>>16&255;let Y=Buffer.alloc(W.length+12);return J(X,Y),J(W,Y,12)}yp.exports={decrypt:FL0,encrypt:LL0,_salter:BL0}});var cp=X0((TL0)=>{TL0.Deflater=gp();TL0.Inflater=mp();TL0.ZipCrypto=dp()});var MT=X0((Sy5,pp)=>{var JW=iX(),EL0=ZT(),B4=JW.Constants,qT=cp();pp.exports=function(W,$){var w=new EL0.EntryHeader,Q=Buffer.alloc(0),J=Buffer.alloc(0),X=!1,Y=null,G=Buffer.alloc(0),K=Buffer.alloc(0),H=!0;let V=W,Z=typeof V.decoder==="object"?V.decoder:JW.decoder;H=Z.hasOwnProperty("efs")?Z.efs:!1;function q(){if(!$||!($ instanceof Uint8Array))return Buffer.alloc(0);return K=w.loadLocalHeaderFromBinary($),$.slice(w.realDataOffset,w.realDataOffset+w.compressedSize)}function N(D){if(!w.flags_desc&&!w.localHeader.flags_desc){if(JW.crc32(D)!==w.localHeader.crc)return!1}else{let T={},A=w.realDataOffset+w.compressedSize;if($.readUInt32LE(A)==B4.LOCSIG||$.readUInt32LE(A)==B4.CENSIG)throw JW.Errors.DESCRIPTOR_NOT_EXIST();if($.readUInt32LE(A)==B4.EXTSIG)T.crc=$.readUInt32LE(A+B4.EXTCRC),T.compressedSize=$.readUInt32LE(A+B4.EXTSIZ),T.size=$.readUInt32LE(A+B4.EXTLEN);else if($.readUInt16LE(A+12)===19280)T.crc=$.readUInt32LE(A+B4.EXTCRC-4),T.compressedSize=$.readUInt32LE(A+B4.EXTSIZ-4),T.size=$.readUInt32LE(A+B4.EXTLEN-4);else throw JW.Errors.DESCRIPTOR_UNKNOWN();if(T.compressedSize!==w.compressedSize||T.size!==w.size||T.crc!==w.crc)throw JW.Errors.DESCRIPTOR_FAULTY();if(JW.crc32(D)!==T.crc)return!1}return!0}function U(D,T,A){if(typeof T>"u"&&typeof D==="string")A=D,D=void 0;if(X){if(D&&T)T(Buffer.alloc(0),JW.Errors.DIRECTORY_CONTENT_ERROR());return Buffer.alloc(0)}var S=q();if(S.length===0){if(D&&T)T(S);return S}if(w.encrypted){if(typeof A!=="string"&&!Buffer.isBuffer(A))throw JW.Errors.INVALID_PASS_PARAM();S=qT.ZipCrypto.decrypt(S,w,A)}var f=Buffer.alloc(w.size);switch(w.method){case JW.Constants.STORED:if(S.copy(f),!N(f)){if(D&&T)T(f,JW.Errors.BAD_CRC());throw JW.Errors.BAD_CRC()}else{if(D&&T)T(f);return f}case JW.Constants.DEFLATED:var _=new qT.Inflater(S,w.size);if(!D){if(_.inflate(f).copy(f,0),!N(f))throw JW.Errors.BAD_CRC(`"${Z.decode(Q)}"`);return f}else _.inflateAsync(function(m){if(m.copy(m,0),T)if(!N(m))T(m,JW.Errors.BAD_CRC());else T(m)});break;default:if(D&&T)T(Buffer.alloc(0),JW.Errors.UNKNOWN_METHOD());throw JW.Errors.UNKNOWN_METHOD()}}function z(D,T){if((!Y||!Y.length)&&Buffer.isBuffer($)){if(D&&T)T(q());return q()}if(Y.length&&!X){var A;switch(w.method){case JW.Constants.STORED:if(w.compressedSize=w.size,A=Buffer.alloc(Y.length),Y.copy(A),D&&T)T(A);return A;default:case JW.Constants.DEFLATED:var S=new qT.Deflater(Y);if(!D){var f=S.deflate();return w.compressedSize=f.length,f}else S.deflateAsync(function(_){A=Buffer.alloc(_.length),w.compressedSize=_.length,_.copy(A),T&&T(A)});S=null;break}}else if(D&&T)T(Buffer.alloc(0));else return Buffer.alloc(0)}function O(D,T){return JW.readBigUInt64LE(D,T)}function R(D){try{var T=0,A,S,f;while(T+4<D.length)if(A=D.readUInt16LE(T),T+=2,S=D.readUInt16LE(T),T+=2,f=D.slice(T,T+S),T+=S,B4.ID_ZIP64===A)F(f)}catch(_){throw JW.Errors.EXTRA_FIELD_PARSE_ERROR()}}function F(D){var T,A,S,f;if(D.length>=B4.EF_ZIP64_SCOMP){if(T=O(D,B4.EF_ZIP64_SUNCOMP),w.size===B4.EF_ZIP64_OR_32)w.size=T}if(D.length>=B4.EF_ZIP64_RHO){if(A=O(D,B4.EF_ZIP64_SCOMP),w.compressedSize===B4.EF_ZIP64_OR_32)w.compressedSize=A}if(D.length>=B4.EF_ZIP64_DSN){if(S=O(D,B4.EF_ZIP64_RHO),w.offset===B4.EF_ZIP64_OR_32)w.offset=S}if(D.length>=B4.EF_ZIP64_DSN+4){if(f=D.readUInt32LE(B4.EF_ZIP64_DSN),w.diskNumStart===B4.EF_ZIP64_OR_16)w.diskNumStart=f}}return{get entryName(){return Z.decode(Q)},get rawEntryName(){return Q},set entryName(D){Q=JW.toBuffer(D,Z.encode);var T=Q[Q.length-1];X=T===47||T===92,w.fileNameLength=Q.length},get efs(){if(typeof H==="function")return H(this.entryName);else return H},get extra(){return G},set extra(D){G=D,w.extraLength=D.length,R(D)},get comment(){return Z.decode(J)},set comment(D){if(J=JW.toBuffer(D,Z.encode),w.commentLength=J.length,J.length>65535)throw JW.Errors.COMMENT_TOO_LONG()},get name(){var D=Z.decode(Q);return X?D.substr(D.length-1).split("/").pop():D.split("/").pop()},get isDirectory(){return X},getCompressedData:function(){return z(!1,null)},getCompressedDataAsync:function(D){z(!0,D)},setData:function(D){if(Y=JW.toBuffer(D,JW.decoder.encode),!X&&Y.length)w.size=Y.length,w.method=JW.Constants.DEFLATED,w.crc=JW.crc32(D),w.changed=!0;else w.method=JW.Constants.STORED},getData:function(D){if(w.changed)return Y;else return U(!1,null,D)},getDataAsync:function(D,T){if(w.changed)D(Y);else U(!0,D,T)},set attr(D){w.attr=D},get attr(){return w.attr},set header(D){w.loadFromBinary(D)},get header(){return w},packCentralHeader:function(){w.flags_efs=this.efs,w.extraLength=G.length;var D=w.centralHeaderToBinary(),T=JW.Constants.CENHDR;return Q.copy(D,T),T+=Q.length,G.copy(D,T),T+=w.extraLength,J.copy(D,T),D},packLocalHeader:function(){let D=0;w.flags_efs=this.efs,w.extraLocalLength=K.length;let T=w.localHeaderToBinary(),A=Buffer.alloc(T.length+Q.length+w.extraLocalLength);return T.copy(A,D),D+=T.length,Q.copy(A,D),D+=Q.length,K.copy(A,D),D+=K.length,A},toJSON:function(){let D=function(T){return"<"+(T&&T.length+" bytes buffer"||"null")+">"};return{entryName:this.entryName,name:this.name,comment:this.comment,isDirectory:this.isDirectory,header:w.toJSON(),compressedData:D($),data:D(Y)}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}});var ip=X0((Cy5,lp)=>{var np=MT(),PL0=ZT(),n$=iX();lp.exports=function(W,$){var w=[],Q={},J=Buffer.alloc(0),X=new PL0.MainHeader,Y=!1,G=null;let K=new Set,H=$,{noSort:V,decoder:Z}=H;if(W)U(H.readEntries);else Y=!0;function q(){let O=new Set;for(let R of Object.keys(Q)){let F=R.split("/");if(F.pop(),!F.length)continue;for(let D=0;D<F.length;D++){let T=F.slice(0,D+1).join("/")+"/";O.add(T)}}for(let R of O)if(!(R in Q)){let F=new np(H);F.entryName=R,F.attr=16,F.temporary=!0,w.push(F),Q[F.entryName]=F,K.add(F)}}function N(){if(Y=!0,Q={},X.diskEntries>(W.length-X.offset)/n$.Constants.CENHDR)throw n$.Errors.DISK_ENTRY_TOO_LARGE();w=Array(X.diskEntries);var O=X.offset;for(var R=0;R<w.length;R++){var F=O,D=new np(H,W);if(D.header=W.slice(F,F+=n$.Constants.CENHDR),D.entryName=W.slice(F,F+=D.header.fileNameLength),D.header.extraLength)D.extra=W.slice(F,F+=D.header.extraLength);if(D.header.commentLength)D.comment=W.slice(F,F+D.header.commentLength);O+=D.header.centralHeaderSize,w[R]=D,Q[D.entryName]=D}K.clear(),q()}function U(O){var R=W.length-n$.Constants.ENDHDR,F=Math.max(0,R-65535),D=F,T=W.length,A=-1,S=0;if(typeof H.trailingSpace==="boolean"?H.trailingSpace:!1)F=0;for(R;R>=D;R--){if(W[R]!==80)continue;if(W.readUInt32LE(R)===n$.Constants.ENDSIG){A=R,S=R,T=R+n$.Constants.ENDHDR,D=R-n$.Constants.END64HDR;continue}if(W.readUInt32LE(R)===n$.Constants.END64SIG){D=F;continue}if(W.readUInt32LE(R)===n$.Constants.ZIP64SIG){A=R,T=R+n$.readBigUInt64LE(W,R+n$.Constants.ZIP64SIZE)+n$.Constants.ZIP64LEAD;break}}if(A==-1)throw n$.Errors.INVALID_FORMAT();if(X.loadFromBinary(W.slice(A,T)),X.commentLength)J=W.slice(S+n$.Constants.ENDHDR);if(O)N()}function z(){if(w.length>1&&!V)w.sort((O,R)=>O.entryName.toLowerCase().localeCompare(R.entryName.toLowerCase()))}return{get entries(){if(!Y)N();return w.filter((O)=>!K.has(O))},get comment(){return Z.decode(J)},set comment(O){J=n$.toBuffer(O,Z.encode),X.commentLength=J.length},getEntryCount:function(){if(!Y)return X.diskEntries;return w.length},forEach:function(O){this.entries.forEach(O)},getEntry:function(O){if(!Y)N();return Q[O]||null},setEntry:function(O){if(!Y)N();w.push(O),Q[O.entryName]=O,X.totalEntries=w.length},deleteFile:function(O,R=!0){if(!Y)N();let F=Q[O];this.getEntryChildren(F,R).map((T)=>T.entryName).forEach(this.deleteEntry)},deleteEntry:function(O){if(!Y)N();let R=Q[O],F=w.indexOf(R);if(F>=0)w.splice(F,1),delete Q[O],X.totalEntries=w.length},getEntryChildren:function(O,R=!0){if(!Y)N();if(typeof O==="object")if(O.isDirectory&&R){let F=[],D=O.entryName;for(let T of w)if(T.entryName.startsWith(D))F.push(T);return F}else return[O];return[]},getChildCount:function(O){if(O&&O.isDirectory){let R=this.getEntryChildren(O);return R.includes(O)?R.length-1:R.length}return 0},compressToBuffer:function(){if(!Y)N();z();let O=[],R=[],F=0,D=0;X.size=0,X.offset=0;let T=0;for(let f of this.entries){let _=f.getCompressedData();f.header.offset=D;let m=f.packLocalHeader(),v=m.length+_.length;D+=v,O.push(m),O.push(_);let u=f.packCentralHeader();R.push(u),X.size+=u.length,F+=v+u.length,T++}F+=X.mainHeaderSize,X.offset=D,X.totalEntries=T,D=0;let A=Buffer.alloc(F);for(let f of O)f.copy(A,D),D+=f.length;for(let f of R)f.copy(A,D),D+=f.length;let S=X.toBinary();if(J)J.copy(S,n$.Constants.ENDHDR);return S.copy(A,D),W=A,Y=!1,A},toAsyncBuffer:function(O,R,F,D){try{if(!Y)N();z();let T=[],A=[],S=0,f=0,_=0;X.size=0,X.offset=0;let m=function(v){if(v.length>0){let u=v.shift(),i=u.entryName+u.extra.toString();if(F)F(i);u.getCompressedDataAsync(function($0){if(D)D(i);u.header.offset=f;let a=u.packLocalHeader(),W0=a.length+$0.length;f+=W0,T.push(a),T.push($0);let t=u.packCentralHeader();A.push(t),X.size+=t.length,S+=W0+t.length,_++,m(v)})}else{S+=X.mainHeaderSize,X.offset=f,X.totalEntries=_,f=0;let u=Buffer.alloc(S);T.forEach(function($0){$0.copy(u,f),f+=$0.length}),A.forEach(function($0){$0.copy(u,f),f+=$0.length});let i=X.toBinary();if(J)J.copy(i,n$.Constants.ENDHDR);i.copy(u,f),W=u,Y=!1,O(u)}};m(Array.from(this.entries))}catch(T){R(T)}}}}});var NT=X0((Ey5,ap)=>{var X4=iX(),J4=R5("path"),IL0=MT(),fL0=ip(),pQ=(...W)=>X4.findLast(W,($)=>typeof $==="boolean"),op=(...W)=>X4.findLast(W,($)=>typeof $==="string"),jL0=(...W)=>X4.findLast(W,($)=>typeof $==="function"),bL0={noSort:!1,readEntries:!1,method:X4.Constants.NONE,fs:null};ap.exports=function(W,$){let w=null,Q=Object.assign(Object.create(null),bL0);if(W&&typeof W==="object"){if(!(W instanceof Uint8Array)){if(Object.assign(Q,W),W=Q.input?Q.input:void 0,Q.input)delete Q.input}if(Buffer.isBuffer(W))w=W,Q.method=X4.Constants.BUFFER,W=void 0}Object.assign(Q,$);let J=new X4(Q);if(typeof Q.decoder!=="object"||typeof Q.decoder.encode!=="function"||typeof Q.decoder.decode!=="function")Q.decoder=X4.decoder;if(W&&typeof W==="string")if(J.fs.existsSync(W))Q.method=X4.Constants.FILE,Q.filename=W,w=J.fs.readFileSync(W);else throw X4.Errors.INVALID_FILENAME();let X=new fL0(w,Q),{canonical:Y,sanitize:G,zipnamefix:K}=X4;function H(N){if(N&&X){var U;if(typeof N==="string")U=X.getEntry(J4.posix.normalize(N));if(typeof N==="object"&&typeof N.entryName<"u"&&typeof N.header<"u")U=X.getEntry(N.entryName);if(U)return U}return null}function V(N){let{join:U,normalize:z,sep:O}=J4.posix;return U(J4.isAbsolute(N)?"/":".",z(O+N.split("\\").join(O)+O))}function Z(N){if(N instanceof RegExp)return function(U){return function(z){return U.test(z)}}(N);else if(typeof N!=="function")return()=>!0;return N}let q=(N,U)=>{let z=U.slice(-1);return z=z===J.sep?J.sep:"",J4.relative(N,U)+z};return{readFile:function(N,U){var z=H(N);return z&&z.getData(U)||null},childCount:function(N){let U=H(N);if(U)return X.getChildCount(U)},readFileAsync:function(N,U){var z=H(N);if(z)z.getDataAsync(U);else U(null,"getEntry failed for:"+N)},readAsText:function(N,U){var z=H(N);if(z){var O=z.getData();if(O&&O.length)return O.toString(U||"utf8")}return""},readAsTextAsync:function(N,U,z){var O=H(N);if(O)O.getDataAsync(function(R,F){if(F){U(R,F);return}if(R&&R.length)U(R.toString(z||"utf8"));else U("")});else U("")},deleteFile:function(N,U=!0){var z=H(N);if(z)X.deleteFile(z.entryName,U)},deleteEntry:function(N){var U=H(N);if(U)X.deleteEntry(U.entryName)},addZipComment:function(N){X.comment=N},getZipComment:function(){return X.comment||""},addZipEntryComment:function(N,U){var z=H(N);if(z)z.comment=U},getZipEntryComment:function(N){var U=H(N);if(U)return U.comment||"";return""},updateFile:function(N,U){var z=H(N);if(z)z.setData(U)},addLocalFile:function(N,U,z,O){if(J.fs.existsSync(N)){U=U?V(U):"";let R=J4.win32.basename(J4.win32.normalize(N));U+=z?z:R;let F=J.fs.statSync(N),D=F.isFile()?J.fs.readFileSync(N):Buffer.alloc(0);if(F.isDirectory())U+=J.sep;this.addFile(U,D,O,F)}else throw X4.Errors.FILE_NOT_FOUND(N)},addLocalFileAsync:function(N,U){N=typeof N==="object"?N:{localPath:N};let z=J4.resolve(N.localPath),{comment:O}=N,{zipPath:R,zipName:F}=N,D=this;J.fs.stat(z,function(T,A){if(T)return U(T,!1);R=R?V(R):"";let S=J4.win32.basename(J4.win32.normalize(z));if(R+=F?F:S,A.isFile())J.fs.readFile(z,function(f,_){if(f)return U(f,!1);return D.addFile(R,_,O,A),setImmediate(U,void 0,!0)});else if(A.isDirectory())return R+=J.sep,D.addFile(R,Buffer.alloc(0),O,A),setImmediate(U,void 0,!0)})},addLocalFolder:function(N,U,z){if(z=Z(z),U=U?V(U):"",N=J4.normalize(N),J.fs.existsSync(N)){let O=J.findFiles(N),R=this;if(O.length)for(let F of O){let D=J4.join(U,q(N,F));if(z(D))R.addLocalFile(F,J4.dirname(D))}}else throw X4.Errors.FILE_NOT_FOUND(N)},addLocalFolderAsync:function(N,U,z,O){O=Z(O),z=z?V(z):"",N=J4.normalize(N);var R=this;J.fs.open(N,"r",function(F){if(F&&F.code==="ENOENT")U(void 0,X4.Errors.FILE_NOT_FOUND(N));else if(F)U(void 0,F);else{var D=J.findFiles(N),T=-1,A=function(){if(T+=1,T<D.length){var S=D[T],f=q(N,S).split("\\").join("/");if(f=f.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,""),O(f))J.fs.stat(S,function(_,m){if(_)U(void 0,_);if(m.isFile())J.fs.readFile(S,function(v,u){if(v)U(void 0,v);else R.addFile(z+f,u,"",m),A()});else R.addFile(z+f+"/",Buffer.alloc(0),"",m),A()});else process.nextTick(()=>{A()})}else U(!0,void 0)};A()}})},addLocalFolderAsync2:function(N,U){let z=this;N=typeof N==="object"?N:{localPath:N},localPath=J4.resolve(V(N.localPath));let{zipPath:O,filter:R,namefix:F}=N;if(R instanceof RegExp)R=function(A){return function(S){return A.test(S)}}(R);else if(typeof R!=="function")R=function(){return!0};if(O=O?V(O):"",F=="latin1")F=(A)=>A.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,"");if(typeof F!=="function")F=(A)=>A;let D=(A)=>J4.join(O,F(q(localPath,A))),T=(A)=>J4.win32.basename(J4.win32.normalize(F(A)));J.fs.open(localPath,"r",function(A){if(A&&A.code==="ENOENT")U(void 0,X4.Errors.FILE_NOT_FOUND(localPath));else if(A)U(void 0,A);else J.findFilesAsync(localPath,function(S,f){if(S)return U(S);if(f=f.filter((_)=>R(D(_))),!f.length)U(void 0,!1);setImmediate(f.reverse().reduce(function(_,m){return function(v,u){if(v||u===!1)return setImmediate(_,v,!1);z.addLocalFileAsync({localPath:m,zipPath:J4.dirname(D(m)),zipName:T(m)},_)}},U))})})},addLocalFolderPromise:function(N,U){return new Promise((z,O)=>{this.addLocalFolderAsync2(Object.assign({localPath:N},U),(R,F)=>{if(R)O(R);if(F)z(this)})})},addFile:function(N,U,z,O){N=K(N);let R=H(N),F=R!=null;if(!F)R=new IL0(Q),R.entryName=N;R.comment=z||"";let D=typeof O==="object"&&O instanceof J.fs.Stats;if(D)R.header.time=O.mtime;var T=R.isDirectory?16:0;let A=R.isDirectory?16384:32768;if(D)A|=4095&O.mode;else if(typeof O==="number")A|=4095&O;else A|=R.isDirectory?493:420;if(T=(T|A<<16)>>>0,R.attr=T,R.setData(U),!F)X.setEntry(R);return R},getEntries:function(N){return X.password=N,X?X.entries:[]},getEntry:function(N){return H(N)},getEntryCount:function(){return X.getEntryCount()},forEach:function(N){return X.forEach(N)},extractEntryTo:function(N,U,z,O,R,F){O=pQ(!1,O),R=pQ(!1,R),z=pQ(!0,z),F=op(R,F);var D=H(N);if(!D)throw X4.Errors.NO_ENTRY();var T=Y(D.entryName),A=G(U,F&&!D.isDirectory?F:z?T:J4.basename(T));if(D.isDirectory){var S=X.getEntryChildren(D);return S.forEach(function(m){if(m.isDirectory)return;var v=m.getData();if(!v)throw X4.Errors.CANT_EXTRACT_FILE();var u=Y(m.entryName),i=G(U,z?u:J4.basename(u));let $0=R?m.header.fileAttr:void 0;J.writeFileTo(i,v,O,$0)}),!0}var f=D.getData(X.password);if(!f)throw X4.Errors.CANT_EXTRACT_FILE();if(J.fs.existsSync(A)&&!O)throw X4.Errors.CANT_OVERRIDE();let _=R?N.header.fileAttr:void 0;return J.writeFileTo(A,f,O,_),!0},test:function(N){if(!X)return!1;for(var U in X.entries)try{if(U.isDirectory)continue;var z=X.entries[U].getData(N);if(!z)return!1}catch(O){return!1}return!0},extractAllTo:function(N,U,z,O){if(z=pQ(!1,z),O=op(z,O),U=pQ(!1,U),!X)throw X4.Errors.NO_ZIP();X.entries.forEach(function(R){var F=G(N,Y(R.entryName));if(R.isDirectory){J.makeDir(F);return}var D=R.getData(O);if(!D)throw X4.Errors.CANT_EXTRACT_FILE();let T=z?R.header.fileAttr:void 0;J.writeFileTo(F,D,U,T);try{J.fs.utimesSync(F,R.header.time,R.header.time)}catch(A){throw X4.Errors.CANT_EXTRACT_FILE()}})},extractAllToAsync:function(N,U,z,O){if(O=jL0(U,z,O),z=pQ(!1,z),U=pQ(!1,U),!O)return new Promise((A,S)=>{this.extractAllToAsync(N,U,z,function(f){if(f)S(f);else A(this)})});if(!X){O(X4.Errors.NO_ZIP());return}N=J4.resolve(N);let R=(A)=>G(N,J4.normalize(Y(A.entryName))),F=(A,S)=>Error(A+': "'+S+'"'),D=[],T=[];X.entries.forEach((A)=>{if(A.isDirectory)D.push(A);else T.push(A)});for(let A of D){let S=R(A),f=z?A.header.fileAttr:void 0;try{if(J.makeDir(S),f)J.fs.chmodSync(S,f);J.fs.utimesSync(S,A.header.time,A.header.time)}catch(_){O(F("Unable to create folder",S))}}T.reverse().reduce(function(A,S){return function(f){if(f)A(f);else{let _=J4.normalize(Y(S.entryName)),m=G(N,_);S.getDataAsync(function(v,u){if(u)A(u);else if(!v)A(X4.Errors.CANT_EXTRACT_FILE());else{let i=z?S.header.fileAttr:void 0;J.writeFileToAsync(m,v,U,i,function($0){if(!$0)A(F("Unable to write file",m));J.fs.utimes(m,S.header.time,S.header.time,function(a){if(a)A(F("Unable to set times",m));else A()})})}})}}},O)()},writeZip:function(N,U){if(arguments.length===1){if(typeof N==="function")U=N,N=""}if(!N&&Q.filename)N=Q.filename;if(!N)return;var z=X.compressToBuffer();if(z){var O=J.writeFileTo(N,z,!0);if(typeof U==="function")U(!O?Error("failed"):null,"")}},writeZipPromise:function(N,U){let{overwrite:z,perm:O}=Object.assign({overwrite:!0},U);return new Promise((R,F)=>{if(!N&&Q.filename)N=Q.filename;if(!N)F("ADM-ZIP: ZIP File Name Missing");this.toBufferPromise().then((D)=>{let T=(A)=>A?R(A):F("ADM-ZIP: Wasn't able to write zip file");J.writeFileToAsync(N,D,z,O,T)},F)})},toBufferPromise:function(){return new Promise((N,U)=>{X.toAsyncBuffer(N,U)})},toBuffer:function(N,U,z,O){if(typeof N==="function")return X.toAsyncBuffer(N,U,z,O),null;return X.compressToBuffer()}}}});var ii=X0((te5,nz)=>{(function(W){var $=function(C){var x,b=new Float64Array(16);if(C)for(x=0;x<C.length;x++)b[x]=C[x];return b},w=function(){throw Error("no PRNG")},Q=new Uint8Array(16),J=new Uint8Array(32);J[0]=9;var X=$(),Y=$([1]),G=$([56129,1]),K=$([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),H=$([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),V=$([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),Z=$([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),q=$([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function N(C,x,b,L){C[x]=b>>24&255,C[x+1]=b>>16&255,C[x+2]=b>>8&255,C[x+3]=b&255,C[x+4]=L>>24&255,C[x+5]=L>>16&255,C[x+6]=L>>8&255,C[x+7]=L&255}function U(C,x,b,L,g){var o,s=0;for(o=0;o<g;o++)s|=C[x+o]^b[L+o];return(1&s-1>>>8)-1}function z(C,x,b,L){return U(C,x,b,L,16)}function O(C,x,b,L){return U(C,x,b,L,32)}function R(C,x,b,L){var g=L[0]&255|(L[1]&255)<<8|(L[2]&255)<<16|(L[3]&255)<<24,o=b[0]&255|(b[1]&255)<<8|(b[2]&255)<<16|(b[3]&255)<<24,s=b[4]&255|(b[5]&255)<<8|(b[6]&255)<<16|(b[7]&255)<<24,M0=b[8]&255|(b[9]&255)<<8|(b[10]&255)<<16|(b[11]&255)<<24,E0=b[12]&255|(b[13]&255)<<8|(b[14]&255)<<16|(b[15]&255)<<24,G5=L[4]&255|(L[5]&255)<<8|(L[6]&255)<<16|(L[7]&255)<<24,n0=x[0]&255|(x[1]&255)<<8|(x[2]&255)<<16|(x[3]&255)<<24,l1=x[4]&255|(x[5]&255)<<8|(x[6]&255)<<16|(x[7]&255)<<24,t0=x[8]&255|(x[9]&255)<<8|(x[10]&255)<<16|(x[11]&255)<<24,g5=x[12]&255|(x[13]&255)<<8|(x[14]&255)<<16|(x[15]&255)<<24,m5=L[8]&255|(L[9]&255)<<8|(L[10]&255)<<16|(L[11]&255)<<24,a5=b[16]&255|(b[17]&255)<<8|(b[18]&255)<<16|(b[19]&255)<<24,n5=b[20]&255|(b[21]&255)<<8|(b[22]&255)<<16|(b[23]&255)<<24,v5=b[24]&255|(b[25]&255)<<8|(b[26]&255)<<16|(b[27]&255)<<24,u5=b[28]&255|(b[29]&255)<<8|(b[30]&255)<<16|(b[31]&255)<<24,h5=L[12]&255|(L[13]&255)<<8|(L[14]&255)<<16|(L[15]&255)<<24,e0=g,M5=o,o0=s,Q5=M0,X5=E0,d0=G5,w0=n0,Q0=l1,R0=t0,q0=g5,N0=m5,L0=a5,F5=n5,r5=v5,Q1=u5,s5=h5,h;for(var H1=0;H1<20;H1+=2)h=e0+F5|0,X5^=h<<7|h>>>25,h=X5+e0|0,R0^=h<<9|h>>>23,h=R0+X5|0,F5^=h<<13|h>>>19,h=F5+R0|0,e0^=h<<18|h>>>14,h=d0+M5|0,q0^=h<<7|h>>>25,h=q0+d0|0,r5^=h<<9|h>>>23,h=r5+q0|0,M5^=h<<13|h>>>19,h=M5+r5|0,d0^=h<<18|h>>>14,h=N0+w0|0,Q1^=h<<7|h>>>25,h=Q1+N0|0,o0^=h<<9|h>>>23,h=o0+Q1|0,w0^=h<<13|h>>>19,h=w0+o0|0,N0^=h<<18|h>>>14,h=s5+L0|0,Q5^=h<<7|h>>>25,h=Q5+s5|0,Q0^=h<<9|h>>>23,h=Q0+Q5|0,L0^=h<<13|h>>>19,h=L0+Q0|0,s5^=h<<18|h>>>14,h=e0+Q5|0,M5^=h<<7|h>>>25,h=M5+e0|0,o0^=h<<9|h>>>23,h=o0+M5|0,Q5^=h<<13|h>>>19,h=Q5+o0|0,e0^=h<<18|h>>>14,h=d0+X5|0,w0^=h<<7|h>>>25,h=w0+d0|0,Q0^=h<<9|h>>>23,h=Q0+w0|0,X5^=h<<13|h>>>19,h=X5+Q0|0,d0^=h<<18|h>>>14,h=N0+q0|0,L0^=h<<7|h>>>25,h=L0+N0|0,R0^=h<<9|h>>>23,h=R0+L0|0,q0^=h<<13|h>>>19,h=q0+R0|0,N0^=h<<18|h>>>14,h=s5+Q1|0,F5^=h<<7|h>>>25,h=F5+s5|0,r5^=h<<9|h>>>23,h=r5+F5|0,Q1^=h<<13|h>>>19,h=Q1+r5|0,s5^=h<<18|h>>>14;e0=e0+g|0,M5=M5+o|0,o0=o0+s|0,Q5=Q5+M0|0,X5=X5+E0|0,d0=d0+G5|0,w0=w0+n0|0,Q0=Q0+l1|0,R0=R0+t0|0,q0=q0+g5|0,N0=N0+m5|0,L0=L0+a5|0,F5=F5+n5|0,r5=r5+v5|0,Q1=Q1+u5|0,s5=s5+h5|0,C[0]=e0>>>0&255,C[1]=e0>>>8&255,C[2]=e0>>>16&255,C[3]=e0>>>24&255,C[4]=M5>>>0&255,C[5]=M5>>>8&255,C[6]=M5>>>16&255,C[7]=M5>>>24&255,C[8]=o0>>>0&255,C[9]=o0>>>8&255,C[10]=o0>>>16&255,C[11]=o0>>>24&255,C[12]=Q5>>>0&255,C[13]=Q5>>>8&255,C[14]=Q5>>>16&255,C[15]=Q5>>>24&255,C[16]=X5>>>0&255,C[17]=X5>>>8&255,C[18]=X5>>>16&255,C[19]=X5>>>24&255,C[20]=d0>>>0&255,C[21]=d0>>>8&255,C[22]=d0>>>16&255,C[23]=d0>>>24&255,C[24]=w0>>>0&255,C[25]=w0>>>8&255,C[26]=w0>>>16&255,C[27]=w0>>>24&255,C[28]=Q0>>>0&255,C[29]=Q0>>>8&255,C[30]=Q0>>>16&255,C[31]=Q0>>>24&255,C[32]=R0>>>0&255,C[33]=R0>>>8&255,C[34]=R0>>>16&255,C[35]=R0>>>24&255,C[36]=q0>>>0&255,C[37]=q0>>>8&255,C[38]=q0>>>16&255,C[39]=q0>>>24&255,C[40]=N0>>>0&255,C[41]=N0>>>8&255,C[42]=N0>>>16&255,C[43]=N0>>>24&255,C[44]=L0>>>0&255,C[45]=L0>>>8&255,C[46]=L0>>>16&255,C[47]=L0>>>24&255,C[48]=F5>>>0&255,C[49]=F5>>>8&255,C[50]=F5>>>16&255,C[51]=F5>>>24&255,C[52]=r5>>>0&255,C[53]=r5>>>8&255,C[54]=r5>>>16&255,C[55]=r5>>>24&255,C[56]=Q1>>>0&255,C[57]=Q1>>>8&255,C[58]=Q1>>>16&255,C[59]=Q1>>>24&255,C[60]=s5>>>0&255,C[61]=s5>>>8&255,C[62]=s5>>>16&255,C[63]=s5>>>24&255}function F(C,x,b,L){var g=L[0]&255|(L[1]&255)<<8|(L[2]&255)<<16|(L[3]&255)<<24,o=b[0]&255|(b[1]&255)<<8|(b[2]&255)<<16|(b[3]&255)<<24,s=b[4]&255|(b[5]&255)<<8|(b[6]&255)<<16|(b[7]&255)<<24,M0=b[8]&255|(b[9]&255)<<8|(b[10]&255)<<16|(b[11]&255)<<24,E0=b[12]&255|(b[13]&255)<<8|(b[14]&255)<<16|(b[15]&255)<<24,G5=L[4]&255|(L[5]&255)<<8|(L[6]&255)<<16|(L[7]&255)<<24,n0=x[0]&255|(x[1]&255)<<8|(x[2]&255)<<16|(x[3]&255)<<24,l1=x[4]&255|(x[5]&255)<<8|(x[6]&255)<<16|(x[7]&255)<<24,t0=x[8]&255|(x[9]&255)<<8|(x[10]&255)<<16|(x[11]&255)<<24,g5=x[12]&255|(x[13]&255)<<8|(x[14]&255)<<16|(x[15]&255)<<24,m5=L[8]&255|(L[9]&255)<<8|(L[10]&255)<<16|(L[11]&255)<<24,a5=b[16]&255|(b[17]&255)<<8|(b[18]&255)<<16|(b[19]&255)<<24,n5=b[20]&255|(b[21]&255)<<8|(b[22]&255)<<16|(b[23]&255)<<24,v5=b[24]&255|(b[25]&255)<<8|(b[26]&255)<<16|(b[27]&255)<<24,u5=b[28]&255|(b[29]&255)<<8|(b[30]&255)<<16|(b[31]&255)<<24,h5=L[12]&255|(L[13]&255)<<8|(L[14]&255)<<16|(L[15]&255)<<24,e0=g,M5=o,o0=s,Q5=M0,X5=E0,d0=G5,w0=n0,Q0=l1,R0=t0,q0=g5,N0=m5,L0=a5,F5=n5,r5=v5,Q1=u5,s5=h5,h;for(var H1=0;H1<20;H1+=2)h=e0+F5|0,X5^=h<<7|h>>>25,h=X5+e0|0,R0^=h<<9|h>>>23,h=R0+X5|0,F5^=h<<13|h>>>19,h=F5+R0|0,e0^=h<<18|h>>>14,h=d0+M5|0,q0^=h<<7|h>>>25,h=q0+d0|0,r5^=h<<9|h>>>23,h=r5+q0|0,M5^=h<<13|h>>>19,h=M5+r5|0,d0^=h<<18|h>>>14,h=N0+w0|0,Q1^=h<<7|h>>>25,h=Q1+N0|0,o0^=h<<9|h>>>23,h=o0+Q1|0,w0^=h<<13|h>>>19,h=w0+o0|0,N0^=h<<18|h>>>14,h=s5+L0|0,Q5^=h<<7|h>>>25,h=Q5+s5|0,Q0^=h<<9|h>>>23,h=Q0+Q5|0,L0^=h<<13|h>>>19,h=L0+Q0|0,s5^=h<<18|h>>>14,h=e0+Q5|0,M5^=h<<7|h>>>25,h=M5+e0|0,o0^=h<<9|h>>>23,h=o0+M5|0,Q5^=h<<13|h>>>19,h=Q5+o0|0,e0^=h<<18|h>>>14,h=d0+X5|0,w0^=h<<7|h>>>25,h=w0+d0|0,Q0^=h<<9|h>>>23,h=Q0+w0|0,X5^=h<<13|h>>>19,h=X5+Q0|0,d0^=h<<18|h>>>14,h=N0+q0|0,L0^=h<<7|h>>>25,h=L0+N0|0,R0^=h<<9|h>>>23,h=R0+L0|0,q0^=h<<13|h>>>19,h=q0+R0|0,N0^=h<<18|h>>>14,h=s5+Q1|0,F5^=h<<7|h>>>25,h=F5+s5|0,r5^=h<<9|h>>>23,h=r5+F5|0,Q1^=h<<13|h>>>19,h=Q1+r5|0,s5^=h<<18|h>>>14;C[0]=e0>>>0&255,C[1]=e0>>>8&255,C[2]=e0>>>16&255,C[3]=e0>>>24&255,C[4]=d0>>>0&255,C[5]=d0>>>8&255,C[6]=d0>>>16&255,C[7]=d0>>>24&255,C[8]=N0>>>0&255,C[9]=N0>>>8&255,C[10]=N0>>>16&255,C[11]=N0>>>24&255,C[12]=s5>>>0&255,C[13]=s5>>>8&255,C[14]=s5>>>16&255,C[15]=s5>>>24&255,C[16]=w0>>>0&255,C[17]=w0>>>8&255,C[18]=w0>>>16&255,C[19]=w0>>>24&255,C[20]=Q0>>>0&255,C[21]=Q0>>>8&255,C[22]=Q0>>>16&255,C[23]=Q0>>>24&255,C[24]=R0>>>0&255,C[25]=R0>>>8&255,C[26]=R0>>>16&255,C[27]=R0>>>24&255,C[28]=q0>>>0&255,C[29]=q0>>>8&255,C[30]=q0>>>16&255,C[31]=q0>>>24&255}function D(C,x,b,L){R(C,x,b,L)}function T(C,x,b,L){F(C,x,b,L)}var A=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function S(C,x,b,L,g,o,s){var M0=new Uint8Array(16),E0=new Uint8Array(64),G5,n0;for(n0=0;n0<16;n0++)M0[n0]=0;for(n0=0;n0<8;n0++)M0[n0]=o[n0];while(g>=64){D(E0,M0,s,A);for(n0=0;n0<64;n0++)C[x+n0]=b[L+n0]^E0[n0];G5=1;for(n0=8;n0<16;n0++)G5=G5+(M0[n0]&255)|0,M0[n0]=G5&255,G5>>>=8;g-=64,x+=64,L+=64}if(g>0){D(E0,M0,s,A);for(n0=0;n0<g;n0++)C[x+n0]=b[L+n0]^E0[n0]}return 0}function f(C,x,b,L,g){var o=new Uint8Array(16),s=new Uint8Array(64),M0,E0;for(E0=0;E0<16;E0++)o[E0]=0;for(E0=0;E0<8;E0++)o[E0]=L[E0];while(b>=64){D(s,o,g,A);for(E0=0;E0<64;E0++)C[x+E0]=s[E0];M0=1;for(E0=8;E0<16;E0++)M0=M0+(o[E0]&255)|0,o[E0]=M0&255,M0>>>=8;b-=64,x+=64}if(b>0){D(s,o,g,A);for(E0=0;E0<b;E0++)C[x+E0]=s[E0]}return 0}function _(C,x,b,L,g){var o=new Uint8Array(32);T(o,L,g,A);var s=new Uint8Array(8);for(var M0=0;M0<8;M0++)s[M0]=L[M0+16];return f(C,x,b,s,o)}function m(C,x,b,L,g,o,s){var M0=new Uint8Array(32);T(M0,o,s,A);var E0=new Uint8Array(8);for(var G5=0;G5<8;G5++)E0[G5]=o[G5+16];return S(C,x,b,L,g,E0,M0)}var v=function(C){this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.leftover=0,this.fin=0;var x,b,L,g,o,s,M0,E0;x=C[0]&255|(C[1]&255)<<8,this.r[0]=x&8191,b=C[2]&255|(C[3]&255)<<8,this.r[1]=(x>>>13|b<<3)&8191,L=C[4]&255|(C[5]&255)<<8,this.r[2]=(b>>>10|L<<6)&7939,g=C[6]&255|(C[7]&255)<<8,this.r[3]=(L>>>7|g<<9)&8191,o=C[8]&255|(C[9]&255)<<8,this.r[4]=(g>>>4|o<<12)&255,this.r[5]=o>>>1&8190,s=C[10]&255|(C[11]&255)<<8,this.r[6]=(o>>>14|s<<2)&8191,M0=C[12]&255|(C[13]&255)<<8,this.r[7]=(s>>>11|M0<<5)&8065,E0=C[14]&255|(C[15]&255)<<8,this.r[8]=(M0>>>8|E0<<8)&8191,this.r[9]=E0>>>5&127,this.pad[0]=C[16]&255|(C[17]&255)<<8,this.pad[1]=C[18]&255|(C[19]&255)<<8,this.pad[2]=C[20]&255|(C[21]&255)<<8,this.pad[3]=C[22]&255|(C[23]&255)<<8,this.pad[4]=C[24]&255|(C[25]&255)<<8,this.pad[5]=C[26]&255|(C[27]&255)<<8,this.pad[6]=C[28]&255|(C[29]&255)<<8,this.pad[7]=C[30]&255|(C[31]&255)<<8};v.prototype.blocks=function(C,x,b){var L=this.fin?0:2048,g,o,s,M0,E0,G5,n0,l1,t0,g5,m5,a5,n5,v5,u5,h5,e0,M5,o0,Q5=this.h[0],X5=this.h[1],d0=this.h[2],w0=this.h[3],Q0=this.h[4],R0=this.h[5],q0=this.h[6],N0=this.h[7],L0=this.h[8],F5=this.h[9],r5=this.r[0],Q1=this.r[1],s5=this.r[2],h=this.r[3],H1=this.r[4],i1=this.r[5],o1=this.r[6],Y1=this.r[7],m1=this.r[8],v1=this.r[9];while(b>=16)g=C[x+0]&255|(C[x+1]&255)<<8,Q5+=g&8191,o=C[x+2]&255|(C[x+3]&255)<<8,X5+=(g>>>13|o<<3)&8191,s=C[x+4]&255|(C[x+5]&255)<<8,d0+=(o>>>10|s<<6)&8191,M0=C[x+6]&255|(C[x+7]&255)<<8,w0+=(s>>>7|M0<<9)&8191,E0=C[x+8]&255|(C[x+9]&255)<<8,Q0+=(M0>>>4|E0<<12)&8191,R0+=E0>>>1&8191,G5=C[x+10]&255|(C[x+11]&255)<<8,q0+=(E0>>>14|G5<<2)&8191,n0=C[x+12]&255|(C[x+13]&255)<<8,N0+=(G5>>>11|n0<<5)&8191,l1=C[x+14]&255|(C[x+15]&255)<<8,L0+=(n0>>>8|l1<<8)&8191,F5+=l1>>>5|L,t0=0,g5=t0,g5+=Q5*r5,g5+=X5*(5*v1),g5+=d0*(5*m1),g5+=w0*(5*Y1),g5+=Q0*(5*o1),t0=g5>>>13,g5&=8191,g5+=R0*(5*i1),g5+=q0*(5*H1),g5+=N0*(5*h),g5+=L0*(5*s5),g5+=F5*(5*Q1),t0+=g5>>>13,g5&=8191,m5=t0,m5+=Q5*Q1,m5+=X5*r5,m5+=d0*(5*v1),m5+=w0*(5*m1),m5+=Q0*(5*Y1),t0=m5>>>13,m5&=8191,m5+=R0*(5*o1),m5+=q0*(5*i1),m5+=N0*(5*H1),m5+=L0*(5*h),m5+=F5*(5*s5),t0+=m5>>>13,m5&=8191,a5=t0,a5+=Q5*s5,a5+=X5*Q1,a5+=d0*r5,a5+=w0*(5*v1),a5+=Q0*(5*m1),t0=a5>>>13,a5&=8191,a5+=R0*(5*Y1),a5+=q0*(5*o1),a5+=N0*(5*i1),a5+=L0*(5*H1),a5+=F5*(5*h),t0+=a5>>>13,a5&=8191,n5=t0,n5+=Q5*h,n5+=X5*s5,n5+=d0*Q1,n5+=w0*r5,n5+=Q0*(5*v1),t0=n5>>>13,n5&=8191,n5+=R0*(5*m1),n5+=q0*(5*Y1),n5+=N0*(5*o1),n5+=L0*(5*i1),n5+=F5*(5*H1),t0+=n5>>>13,n5&=8191,v5=t0,v5+=Q5*H1,v5+=X5*h,v5+=d0*s5,v5+=w0*Q1,v5+=Q0*r5,t0=v5>>>13,v5&=8191,v5+=R0*(5*v1),v5+=q0*(5*m1),v5+=N0*(5*Y1),v5+=L0*(5*o1),v5+=F5*(5*i1),t0+=v5>>>13,v5&=8191,u5=t0,u5+=Q5*i1,u5+=X5*H1,u5+=d0*h,u5+=w0*s5,u5+=Q0*Q1,t0=u5>>>13,u5&=8191,u5+=R0*r5,u5+=q0*(5*v1),u5+=N0*(5*m1),u5+=L0*(5*Y1),u5+=F5*(5*o1),t0+=u5>>>13,u5&=8191,h5=t0,h5+=Q5*o1,h5+=X5*i1,h5+=d0*H1,h5+=w0*h,h5+=Q0*s5,t0=h5>>>13,h5&=8191,h5+=R0*Q1,h5+=q0*r5,h5+=N0*(5*v1),h5+=L0*(5*m1),h5+=F5*(5*Y1),t0+=h5>>>13,h5&=8191,e0=t0,e0+=Q5*Y1,e0+=X5*o1,e0+=d0*i1,e0+=w0*H1,e0+=Q0*h,t0=e0>>>13,e0&=8191,e0+=R0*s5,e0+=q0*Q1,e0+=N0*r5,e0+=L0*(5*v1),e0+=F5*(5*m1),t0+=e0>>>13,e0&=8191,M5=t0,M5+=Q5*m1,M5+=X5*Y1,M5+=d0*o1,M5+=w0*i1,M5+=Q0*H1,t0=M5>>>13,M5&=8191,M5+=R0*h,M5+=q0*s5,M5+=N0*Q1,M5+=L0*r5,M5+=F5*(5*v1),t0+=M5>>>13,M5&=8191,o0=t0,o0+=Q5*v1,o0+=X5*m1,o0+=d0*Y1,o0+=w0*o1,o0+=Q0*i1,t0=o0>>>13,o0&=8191,o0+=R0*H1,o0+=q0*h,o0+=N0*s5,o0+=L0*Q1,o0+=F5*r5,t0+=o0>>>13,o0&=8191,t0=(t0<<2)+t0|0,t0=t0+g5|0,g5=t0&8191,t0=t0>>>13,m5+=t0,Q5=g5,X5=m5,d0=a5,w0=n5,Q0=v5,R0=u5,q0=h5,N0=e0,L0=M5,F5=o0,x+=16,b-=16;this.h[0]=Q5,this.h[1]=X5,this.h[2]=d0,this.h[3]=w0,this.h[4]=Q0,this.h[5]=R0,this.h[6]=q0,this.h[7]=N0,this.h[8]=L0,this.h[9]=F5},v.prototype.finish=function(C,x){var b=new Uint16Array(10),L,g,o,s;if(this.leftover){s=this.leftover,this.buffer[s++]=1;for(;s<16;s++)this.buffer[s]=0;this.fin=1,this.blocks(this.buffer,0,16)}L=this.h[1]>>>13,this.h[1]&=8191;for(s=2;s<10;s++)this.h[s]+=L,L=this.h[s]>>>13,this.h[s]&=8191;this.h[0]+=L*5,L=this.h[0]>>>13,this.h[0]&=8191,this.h[1]+=L,L=this.h[1]>>>13,this.h[1]&=8191,this.h[2]+=L,b[0]=this.h[0]+5,L=b[0]>>>13,b[0]&=8191;for(s=1;s<10;s++)b[s]=this.h[s]+L,L=b[s]>>>13,b[s]&=8191;b[9]-=8192,g=(L^1)-1;for(s=0;s<10;s++)b[s]&=g;g=~g;for(s=0;s<10;s++)this.h[s]=this.h[s]&g|b[s];this.h[0]=(this.h[0]|this.h[1]<<13)&65535,this.h[1]=(this.h[1]>>>3|this.h[2]<<10)&65535,this.h[2]=(this.h[2]>>>6|this.h[3]<<7)&65535,this.h[3]=(this.h[3]>>>9|this.h[4]<<4)&65535,this.h[4]=(this.h[4]>>>12|this.h[5]<<1|this.h[6]<<14)&65535,this.h[5]=(this.h[6]>>>2|this.h[7]<<11)&65535,this.h[6]=(this.h[7]>>>5|this.h[8]<<8)&65535,this.h[7]=(this.h[8]>>>8|this.h[9]<<5)&65535,o=this.h[0]+this.pad[0],this.h[0]=o&65535;for(s=1;s<8;s++)o=(this.h[s]+this.pad[s]|0)+(o>>>16)|0,this.h[s]=o&65535;C[x+0]=this.h[0]>>>0&255,C[x+1]=this.h[0]>>>8&255,C[x+2]=this.h[1]>>>0&255,C[x+3]=this.h[1]>>>8&255,C[x+4]=this.h[2]>>>0&255,C[x+5]=this.h[2]>>>8&255,C[x+6]=this.h[3]>>>0&255,C[x+7]=this.h[3]>>>8&255,C[x+8]=this.h[4]>>>0&255,C[x+9]=this.h[4]>>>8&255,C[x+10]=this.h[5]>>>0&255,C[x+11]=this.h[5]>>>8&255,C[x+12]=this.h[6]>>>0&255,C[x+13]=this.h[6]>>>8&255,C[x+14]=this.h[7]>>>0&255,C[x+15]=this.h[7]>>>8&255},v.prototype.update=function(C,x,b){var L,g;if(this.leftover){if(g=16-this.leftover,g>b)g=b;for(L=0;L<g;L++)this.buffer[this.leftover+L]=C[x+L];if(b-=g,x+=g,this.leftover+=g,this.leftover<16)return;this.blocks(this.buffer,0,16),this.leftover=0}if(b>=16)g=b-b%16,this.blocks(C,x,g),x+=g,b-=g;if(b){for(L=0;L<b;L++)this.buffer[this.leftover+L]=C[x+L];this.leftover+=b}};function u(C,x,b,L,g,o){var s=new v(o);return s.update(b,L,g),s.finish(C,x),0}function i(C,x,b,L,g,o){var s=new Uint8Array(16);return u(s,0,b,L,g,o),z(C,x,s,0)}function $0(C,x,b,L,g){var o;if(b<32)return-1;m(C,0,x,0,b,L,g),u(C,16,C,32,b-32,C);for(o=0;o<16;o++)C[o]=0;return 0}function a(C,x,b,L,g){var o,s=new Uint8Array(32);if(b<32)return-1;if(_(s,0,32,L,g),i(x,16,x,32,b-32,s)!==0)return-1;m(C,0,x,0,b,L,g);for(o=0;o<32;o++)C[o]=0;return 0}function W0(C,x){var b;for(b=0;b<16;b++)C[b]=x[b]|0}function t(C){var x,b,L=1;for(x=0;x<16;x++)b=C[x]+L+65535,L=Math.floor(b/65536),C[x]=b-L*65536;C[0]+=L-1+37*(L-1)}function l(C,x,b){var L,g=~(b-1);for(var o=0;o<16;o++)L=g&(C[o]^x[o]),C[o]^=L,x[o]^=L}function z0(C,x){var b,L,g,o=$(),s=$();for(b=0;b<16;b++)s[b]=x[b];t(s),t(s),t(s);for(L=0;L<2;L++){o[0]=s[0]-65517;for(b=1;b<15;b++)o[b]=s[b]-65535-(o[b-1]>>16&1),o[b-1]&=65535;o[15]=s[15]-32767-(o[14]>>16&1),g=o[15]>>16&1,o[14]&=65535,l(s,o,1-g)}for(b=0;b<16;b++)C[2*b]=s[b]&255,C[2*b+1]=s[b]>>8}function _0(C,x){var b=new Uint8Array(32),L=new Uint8Array(32);return z0(b,C),z0(L,x),O(b,0,L,0)}function T0(C){var x=new Uint8Array(32);return z0(x,C),x[0]&1}function g0(C,x){var b;for(b=0;b<16;b++)C[b]=x[2*b]+(x[2*b+1]<<8);C[15]&=32767}function A0(C,x,b){for(var L=0;L<16;L++)C[L]=x[L]+b[L]}function i0(C,x,b){for(var L=0;L<16;L++)C[L]=x[L]-b[L]}function k0(C,x,b){var L,g,o=0,s=0,M0=0,E0=0,G5=0,n0=0,l1=0,t0=0,g5=0,m5=0,a5=0,n5=0,v5=0,u5=0,h5=0,e0=0,M5=0,o0=0,Q5=0,X5=0,d0=0,w0=0,Q0=0,R0=0,q0=0,N0=0,L0=0,F5=0,r5=0,Q1=0,s5=0,h=b[0],H1=b[1],i1=b[2],o1=b[3],Y1=b[4],m1=b[5],v1=b[6],P4=b[7],YW=b[8],q4=b[9],M4=b[10],N4=b[11],w$=b[12],W6=b[13],$6=b[14],w6=b[15];L=x[0],o+=L*h,s+=L*H1,M0+=L*i1,E0+=L*o1,G5+=L*Y1,n0+=L*m1,l1+=L*v1,t0+=L*P4,g5+=L*YW,m5+=L*q4,a5+=L*M4,n5+=L*N4,v5+=L*w$,u5+=L*W6,h5+=L*$6,e0+=L*w6,L=x[1],s+=L*h,M0+=L*H1,E0+=L*i1,G5+=L*o1,n0+=L*Y1,l1+=L*m1,t0+=L*v1,g5+=L*P4,m5+=L*YW,a5+=L*q4,n5+=L*M4,v5+=L*N4,u5+=L*w$,h5+=L*W6,e0+=L*$6,M5+=L*w6,L=x[2],M0+=L*h,E0+=L*H1,G5+=L*i1,n0+=L*o1,l1+=L*Y1,t0+=L*m1,g5+=L*v1,m5+=L*P4,a5+=L*YW,n5+=L*q4,v5+=L*M4,u5+=L*N4,h5+=L*w$,e0+=L*W6,M5+=L*$6,o0+=L*w6,L=x[3],E0+=L*h,G5+=L*H1,n0+=L*i1,l1+=L*o1,t0+=L*Y1,g5+=L*m1,m5+=L*v1,a5+=L*P4,n5+=L*YW,v5+=L*q4,u5+=L*M4,h5+=L*N4,e0+=L*w$,M5+=L*W6,o0+=L*$6,Q5+=L*w6,L=x[4],G5+=L*h,n0+=L*H1,l1+=L*i1,t0+=L*o1,g5+=L*Y1,m5+=L*m1,a5+=L*v1,n5+=L*P4,v5+=L*YW,u5+=L*q4,h5+=L*M4,e0+=L*N4,M5+=L*w$,o0+=L*W6,Q5+=L*$6,X5+=L*w6,L=x[5],n0+=L*h,l1+=L*H1,t0+=L*i1,g5+=L*o1,m5+=L*Y1,a5+=L*m1,n5+=L*v1,v5+=L*P4,u5+=L*YW,h5+=L*q4,e0+=L*M4,M5+=L*N4,o0+=L*w$,Q5+=L*W6,X5+=L*$6,d0+=L*w6,L=x[6],l1+=L*h,t0+=L*H1,g5+=L*i1,m5+=L*o1,a5+=L*Y1,n5+=L*m1,v5+=L*v1,u5+=L*P4,h5+=L*YW,e0+=L*q4,M5+=L*M4,o0+=L*N4,Q5+=L*w$,X5+=L*W6,d0+=L*$6,w0+=L*w6,L=x[7],t0+=L*h,g5+=L*H1,m5+=L*i1,a5+=L*o1,n5+=L*Y1,v5+=L*m1,u5+=L*v1,h5+=L*P4,e0+=L*YW,M5+=L*q4,o0+=L*M4,Q5+=L*N4,X5+=L*w$,d0+=L*W6,w0+=L*$6,Q0+=L*w6,L=x[8],g5+=L*h,m5+=L*H1,a5+=L*i1,n5+=L*o1,v5+=L*Y1,u5+=L*m1,h5+=L*v1,e0+=L*P4,M5+=L*YW,o0+=L*q4,Q5+=L*M4,X5+=L*N4,d0+=L*w$,w0+=L*W6,Q0+=L*$6,R0+=L*w6,L=x[9],m5+=L*h,a5+=L*H1,n5+=L*i1,v5+=L*o1,u5+=L*Y1,h5+=L*m1,e0+=L*v1,M5+=L*P4,o0+=L*YW,Q5+=L*q4,X5+=L*M4,d0+=L*N4,w0+=L*w$,Q0+=L*W6,R0+=L*$6,q0+=L*w6,L=x[10],a5+=L*h,n5+=L*H1,v5+=L*i1,u5+=L*o1,h5+=L*Y1,e0+=L*m1,M5+=L*v1,o0+=L*P4,Q5+=L*YW,X5+=L*q4,d0+=L*M4,w0+=L*N4,Q0+=L*w$,R0+=L*W6,q0+=L*$6,N0+=L*w6,L=x[11],n5+=L*h,v5+=L*H1,u5+=L*i1,h5+=L*o1,e0+=L*Y1,M5+=L*m1,o0+=L*v1,Q5+=L*P4,X5+=L*YW,d0+=L*q4,w0+=L*M4,Q0+=L*N4,R0+=L*w$,q0+=L*W6,N0+=L*$6,L0+=L*w6,L=x[12],v5+=L*h,u5+=L*H1,h5+=L*i1,e0+=L*o1,M5+=L*Y1,o0+=L*m1,Q5+=L*v1,X5+=L*P4,d0+=L*YW,w0+=L*q4,Q0+=L*M4,R0+=L*N4,q0+=L*w$,N0+=L*W6,L0+=L*$6,F5+=L*w6,L=x[13],u5+=L*h,h5+=L*H1,e0+=L*i1,M5+=L*o1,o0+=L*Y1,Q5+=L*m1,X5+=L*v1,d0+=L*P4,w0+=L*YW,Q0+=L*q4,R0+=L*M4,q0+=L*N4,N0+=L*w$,L0+=L*W6,F5+=L*$6,r5+=L*w6,L=x[14],h5+=L*h,e0+=L*H1,M5+=L*i1,o0+=L*o1,Q5+=L*Y1,X5+=L*m1,d0+=L*v1,w0+=L*P4,Q0+=L*YW,R0+=L*q4,q0+=L*M4,N0+=L*N4,L0+=L*w$,F5+=L*W6,r5+=L*$6,Q1+=L*w6,L=x[15],e0+=L*h,M5+=L*H1,o0+=L*i1,Q5+=L*o1,X5+=L*Y1,d0+=L*m1,w0+=L*v1,Q0+=L*P4,R0+=L*YW,q0+=L*q4,N0+=L*M4,L0+=L*N4,F5+=L*w$,r5+=L*W6,Q1+=L*$6,s5+=L*w6,o+=38*M5,s+=38*o0,M0+=38*Q5,E0+=38*X5,G5+=38*d0,n0+=38*w0,l1+=38*Q0,t0+=38*R0,g5+=38*q0,m5+=38*N0,a5+=38*L0,n5+=38*F5,v5+=38*r5,u5+=38*Q1,h5+=38*s5,g=1,L=o+g+65535,g=Math.floor(L/65536),o=L-g*65536,L=s+g+65535,g=Math.floor(L/65536),s=L-g*65536,L=M0+g+65535,g=Math.floor(L/65536),M0=L-g*65536,L=E0+g+65535,g=Math.floor(L/65536),E0=L-g*65536,L=G5+g+65535,g=Math.floor(L/65536),G5=L-g*65536,L=n0+g+65535,g=Math.floor(L/65536),n0=L-g*65536,L=l1+g+65535,g=Math.floor(L/65536),l1=L-g*65536,L=t0+g+65535,g=Math.floor(L/65536),t0=L-g*65536,L=g5+g+65535,g=Math.floor(L/65536),g5=L-g*65536,L=m5+g+65535,g=Math.floor(L/65536),m5=L-g*65536,L=a5+g+65535,g=Math.floor(L/65536),a5=L-g*65536,L=n5+g+65535,g=Math.floor(L/65536),n5=L-g*65536,L=v5+g+65535,g=Math.floor(L/65536),v5=L-g*65536,L=u5+g+65535,g=Math.floor(L/65536),u5=L-g*65536,L=h5+g+65535,g=Math.floor(L/65536),h5=L-g*65536,L=e0+g+65535,g=Math.floor(L/65536),e0=L-g*65536,o+=g-1+37*(g-1),g=1,L=o+g+65535,g=Math.floor(L/65536),o=L-g*65536,L=s+g+65535,g=Math.floor(L/65536),s=L-g*65536,L=M0+g+65535,g=Math.floor(L/65536),M0=L-g*65536,L=E0+g+65535,g=Math.floor(L/65536),E0=L-g*65536,L=G5+g+65535,g=Math.floor(L/65536),G5=L-g*65536,L=n0+g+65535,g=Math.floor(L/65536),n0=L-g*65536,L=l1+g+65535,g=Math.floor(L/65536),l1=L-g*65536,L=t0+g+65535,g=Math.floor(L/65536),t0=L-g*65536,L=g5+g+65535,g=Math.floor(L/65536),g5=L-g*65536,L=m5+g+65535,g=Math.floor(L/65536),m5=L-g*65536,L=a5+g+65535,g=Math.floor(L/65536),a5=L-g*65536,L=n5+g+65535,g=Math.floor(L/65536),n5=L-g*65536,L=v5+g+65535,g=Math.floor(L/65536),v5=L-g*65536,L=u5+g+65535,g=Math.floor(L/65536),u5=L-g*65536,L=h5+g+65535,g=Math.floor(L/65536),h5=L-g*65536,L=e0+g+65535,g=Math.floor(L/65536),e0=L-g*65536,o+=g-1+37*(g-1),C[0]=o,C[1]=s,C[2]=M0,C[3]=E0,C[4]=G5,C[5]=n0,C[6]=l1,C[7]=t0,C[8]=g5,C[9]=m5,C[10]=a5,C[11]=n5,C[12]=v5,C[13]=u5,C[14]=h5,C[15]=e0}function b5(C,x){k0(C,x,x)}function XW(C,x){var b=$(),L;for(L=0;L<16;L++)b[L]=x[L];for(L=253;L>=0;L--)if(b5(b,b),L!==2&&L!==4)k0(b,b,x);for(L=0;L<16;L++)C[L]=b[L]}function t1(C,x){var b=$(),L;for(L=0;L<16;L++)b[L]=x[L];for(L=250;L>=0;L--)if(b5(b,b),L!==1)k0(b,b,x);for(L=0;L<16;L++)C[L]=b[L]}function K1(C,x,b){var L=new Uint8Array(32),g=new Float64Array(80),o,s,M0=$(),E0=$(),G5=$(),n0=$(),l1=$(),t0=$();for(s=0;s<31;s++)L[s]=x[s];L[31]=x[31]&127|64,L[0]&=248,g0(g,b);for(s=0;s<16;s++)E0[s]=g[s],n0[s]=M0[s]=G5[s]=0;M0[0]=n0[0]=1;for(s=254;s>=0;--s)o=L[s>>>3]>>>(s&7)&1,l(M0,E0,o),l(G5,n0,o),A0(l1,M0,G5),i0(M0,M0,G5),A0(G5,E0,n0),i0(E0,E0,n0),b5(n0,l1),b5(t0,M0),k0(M0,G5,M0),k0(G5,E0,l1),A0(l1,M0,G5),i0(M0,M0,G5),b5(E0,M0),i0(G5,n0,t0),k0(M0,G5,G),A0(M0,M0,n0),k0(G5,G5,M0),k0(M0,n0,t0),k0(n0,E0,g),b5(E0,l1),l(M0,E0,o),l(G5,n0,o);for(s=0;s<16;s++)g[s+16]=M0[s],g[s+32]=G5[s],g[s+48]=E0[s],g[s+64]=n0[s];var g5=g.subarray(32),m5=g.subarray(16);return XW(g5,g5),k0(m5,m5,g5),z0(C,m5),0}function rW(C,x){return K1(C,x,J)}function Z4(C,x){return w(x,32),rW(C,x)}function p5(C,x,b){var L=new Uint8Array(32);return K1(L,b,x),T(C,Q,L,A)}var NW=$0,U$=a;function O$(C,x,b,L,g,o){var s=new Uint8Array(32);return p5(s,g,o),NW(C,x,b,L,s)}function D$(C,x,b,L,g,o){var s=new Uint8Array(32);return p5(s,g,o),U$(C,x,b,L,s)}var zC=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function UC(C,x,b,L){var g=new Int32Array(16),o=new Int32Array(16),s,M0,E0,G5,n0,l1,t0,g5,m5,a5,n5,v5,u5,h5,e0,M5,o0,Q5,X5,d0,w0,Q0,R0,q0,N0,L0,F5=C[0],r5=C[1],Q1=C[2],s5=C[3],h=C[4],H1=C[5],i1=C[6],o1=C[7],Y1=x[0],m1=x[1],v1=x[2],P4=x[3],YW=x[4],q4=x[5],M4=x[6],N4=x[7],w$=0;while(L>=128){for(X5=0;X5<16;X5++)d0=8*X5+w$,g[X5]=b[d0+0]<<24|b[d0+1]<<16|b[d0+2]<<8|b[d0+3],o[X5]=b[d0+4]<<24|b[d0+5]<<16|b[d0+6]<<8|b[d0+7];for(X5=0;X5<80;X5++)if(s=F5,M0=r5,E0=Q1,G5=s5,n0=h,l1=H1,t0=i1,g5=o1,m5=Y1,a5=m1,n5=v1,v5=P4,u5=YW,h5=q4,e0=M4,M5=N4,w0=o1,Q0=N4,R0=Q0&65535,q0=Q0>>>16,N0=w0&65535,L0=w0>>>16,w0=(h>>>14|YW<<18)^(h>>>18|YW<<14)^(YW>>>9|h<<23),Q0=(YW>>>14|h<<18)^(YW>>>18|h<<14)^(h>>>9|YW<<23),R0+=Q0&65535,q0+=Q0>>>16,N0+=w0&65535,L0+=w0>>>16,w0=h&H1^~h&i1,Q0=YW&q4^~YW&M4,R0+=Q0&65535,q0+=Q0>>>16,N0+=w0&65535,L0+=w0>>>16,w0=zC[X5*2],Q0=zC[X5*2+1],R0+=Q0&65535,q0+=Q0>>>16,N0+=w0&65535,L0+=w0>>>16,w0=g[X5%16],Q0=o[X5%16],R0+=Q0&65535,q0+=Q0>>>16,N0+=w0&65535,L0+=w0>>>16,q0+=R0>>>16,N0+=q0>>>16,L0+=N0>>>16,o0=N0&65535|L0<<16,Q5=R0&65535|q0<<16,w0=o0,Q0=Q5,R0=Q0&65535,q0=Q0>>>16,N0=w0&65535,L0=w0>>>16,w0=(F5>>>28|Y1<<4)^(Y1>>>2|F5<<30)^(Y1>>>7|F5<<25),Q0=(Y1>>>28|F5<<4)^(F5>>>2|Y1<<30)^(F5>>>7|Y1<<25),R0+=Q0&65535,q0+=Q0>>>16,N0+=w0&65535,L0+=w0>>>16,w0=F5&r5^F5&Q1^r5&Q1,Q0=Y1&m1^Y1&v1^m1&v1,R0+=Q0&65535,q0+=Q0>>>16,N0+=w0&65535,L0+=w0>>>16,q0+=R0>>>16,N0+=q0>>>16,L0+=N0>>>16,g5=N0&65535|L0<<16,M5=R0&65535|q0<<16,w0=G5,Q0=v5,R0=Q0&65535,q0=Q0>>>16,N0=w0&65535,L0=w0>>>16,w0=o0,Q0=Q5,R0+=Q0&65535,q0+=Q0>>>16,N0+=w0&65535,L0+=w0>>>16,q0+=R0>>>16,N0+=q0>>>16,L0+=N0>>>16,G5=N0&65535|L0<<16,v5=R0&65535|q0<<16,r5=s,Q1=M0,s5=E0,h=G5,H1=n0,i1=l1,o1=t0,F5=g5,m1=m5,v1=a5,P4=n5,YW=v5,q4=u5,M4=h5,N4=e0,Y1=M5,X5%16===15)for(d0=0;d0<16;d0++)w0=g[d0],Q0=o[d0],R0=Q0&65535,q0=Q0>>>16,N0=w0&65535,L0=w0>>>16,w0=g[(d0+9)%16],Q0=o[(d0+9)%16],R0+=Q0&65535,q0+=Q0>>>16,N0+=w0&65535,L0+=w0>>>16,o0=g[(d0+1)%16],Q5=o[(d0+1)%16],w0=(o0>>>1|Q5<<31)^(o0>>>8|Q5<<24)^o0>>>7,Q0=(Q5>>>1|o0<<31)^(Q5>>>8|o0<<24)^(Q5>>>7|o0<<25),R0+=Q0&65535,q0+=Q0>>>16,N0+=w0&65535,L0+=w0>>>16,o0=g[(d0+14)%16],Q5=o[(d0+14)%16],w0=(o0>>>19|Q5<<13)^(Q5>>>29|o0<<3)^o0>>>6,Q0=(Q5>>>19|o0<<13)^(o0>>>29|Q5<<3)^(Q5>>>6|o0<<26),R0+=Q0&65535,q0+=Q0>>>16,N0+=w0&65535,L0+=w0>>>16,q0+=R0>>>16,N0+=q0>>>16,L0+=N0>>>16,g[d0]=N0&65535|L0<<16,o[d0]=R0&65535|q0<<16;w0=F5,Q0=Y1,R0=Q0&65535,q0=Q0>>>16,N0=w0&65535,L0=w0>>>16,w0=C[0],Q0=x[0],R0+=Q0&65535,q0+=Q0>>>16,N0+=w0&65535,L0+=w0>>>16,q0+=R0>>>16,N0+=q0>>>16,L0+=N0>>>16,C[0]=F5=N0&65535|L0<<16,x[0]=Y1=R0&65535|q0<<16,w0=r5,Q0=m1,R0=Q0&65535,q0=Q0>>>16,N0=w0&65535,L0=w0>>>16,w0=C[1],Q0=x[1],R0+=Q0&65535,q0+=Q0>>>16,N0+=w0&65535,L0+=w0>>>16,q0+=R0>>>16,N0+=q0>>>16,L0+=N0>>>16,C[1]=r5=N0&65535|L0<<16,x[1]=m1=R0&65535|q0<<16,w0=Q1,Q0=v1,R0=Q0&65535,q0=Q0>>>16,N0=w0&65535,L0=w0>>>16,w0=C[2],Q0=x[2],R0+=Q0&65535,q0+=Q0>>>16,N0+=w0&65535,L0+=w0>>>16,q0+=R0>>>16,N0+=q0>>>16,L0+=N0>>>16,C[2]=Q1=N0&65535|L0<<16,x[2]=v1=R0&65535|q0<<16,w0=s5,Q0=P4,R0=Q0&65535,q0=Q0>>>16,N0=w0&65535,L0=w0>>>16,w0=C[3],Q0=x[3],R0+=Q0&65535,q0+=Q0>>>16,N0+=w0&65535,L0+=w0>>>16,q0+=R0>>>16,N0+=q0>>>16,L0+=N0>>>16,C[3]=s5=N0&65535|L0<<16,x[3]=P4=R0&65535|q0<<16,w0=h,Q0=YW,R0=Q0&65535,q0=Q0>>>16,N0=w0&65535,L0=w0>>>16,w0=C[4],Q0=x[4],R0+=Q0&65535,q0+=Q0>>>16,N0+=w0&65535,L0+=w0>>>16,q0+=R0>>>16,N0+=q0>>>16,L0+=N0>>>16,C[4]=h=N0&65535|L0<<16,x[4]=YW=R0&65535|q0<<16,w0=H1,Q0=q4,R0=Q0&65535,q0=Q0>>>16,N0=w0&65535,L0=w0>>>16,w0=C[5],Q0=x[5],R0+=Q0&65535,q0+=Q0>>>16,N0+=w0&65535,L0+=w0>>>16,q0+=R0>>>16,N0+=q0>>>16,L0+=N0>>>16,C[5]=H1=N0&65535|L0<<16,x[5]=q4=R0&65535|q0<<16,w0=i1,Q0=M4,R0=Q0&65535,q0=Q0>>>16,N0=w0&65535,L0=w0>>>16,w0=C[6],Q0=x[6],R0+=Q0&65535,q0+=Q0>>>16,N0+=w0&65535,L0+=w0>>>16,q0+=R0>>>16,N0+=q0>>>16,L0+=N0>>>16,C[6]=i1=N0&65535|L0<<16,x[6]=M4=R0&65535|q0<<16,w0=o1,Q0=N4,R0=Q0&65535,q0=Q0>>>16,N0=w0&65535,L0=w0>>>16,w0=C[7],Q0=x[7],R0+=Q0&65535,q0+=Q0>>>16,N0+=w0&65535,L0+=w0>>>16,q0+=R0>>>16,N0+=q0>>>16,L0+=N0>>>16,C[7]=o1=N0&65535|L0<<16,x[7]=N4=R0&65535|q0<<16,w$+=128,L-=128}return L}function u9(C,x,b){var L=new Int32Array(8),g=new Int32Array(8),o=new Uint8Array(256),s,M0=b;L[0]=1779033703,L[1]=3144134277,L[2]=1013904242,L[3]=2773480762,L[4]=1359893119,L[5]=2600822924,L[6]=528734635,L[7]=1541459225,g[0]=4089235720,g[1]=2227873595,g[2]=4271175723,g[3]=1595750129,g[4]=2917565137,g[5]=725511199,g[6]=4215389547,g[7]=327033209,UC(L,g,x,b),b%=128;for(s=0;s<b;s++)o[s]=x[M0-b+s];o[b]=128,b=256-128*(b<112?1:0),o[b-9]=0,N(o,b-8,M0/536870912|0,M0<<3),UC(L,g,o,b);for(s=0;s<8;s++)N(C,8*s,L[s],g[s]);return 0}function EV(C,x){var b=$(),L=$(),g=$(),o=$(),s=$(),M0=$(),E0=$(),G5=$(),n0=$();i0(b,C[1],C[0]),i0(n0,x[1],x[0]),k0(b,b,n0),A0(L,C[0],C[1]),A0(n0,x[0],x[1]),k0(L,L,n0),k0(g,C[3],x[3]),k0(g,g,H),k0(o,C[2],x[2]),A0(o,o,o),i0(s,L,b),i0(M0,o,g),A0(E0,o,g),A0(G5,L,b),k0(C[0],s,M0),k0(C[1],G5,E0),k0(C[2],E0,M0),k0(C[3],s,G5)}function OC(C,x,b){var L;for(L=0;L<4;L++)l(C[L],x[L],b)}function _O(C,x){var b=$(),L=$(),g=$();XW(g,x[2]),k0(b,x[0],g),k0(L,x[1],g),z0(C,L),C[31]^=T0(b)<<7}function xO(C,x,b){var L,g;W0(C[0],X),W0(C[1],Y),W0(C[2],Y),W0(C[3],X);for(g=255;g>=0;--g)L=b[g/8|0]>>(g&7)&1,OC(C,x,L),EV(x,C),EV(C,C),OC(C,x,L)}function PV(C,x){var b=[$(),$(),$(),$()];W0(b[0],V),W0(b[1],Z),W0(b[2],Y),k0(b[3],V,Z),xO(C,b,x)}function gO(C,x,b){var L=new Uint8Array(64),g=[$(),$(),$(),$()],o;if(!b)w(x,32);u9(L,x,32),L[0]&=248,L[31]&=127,L[31]|=64,PV(g,L),_O(C,g);for(o=0;o<32;o++)x[o+32]=C[o];return 0}var IV=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function kO(C,x){var b,L,g,o;for(L=63;L>=32;--L){b=0;for(g=L-32,o=L-12;g<o;++g)x[g]+=b-16*x[L]*IV[g-(L-32)],b=Math.floor((x[g]+128)/256),x[g]-=b*256;x[g]+=b,x[L]=0}b=0;for(g=0;g<32;g++)x[g]+=b-(x[31]>>4)*IV[g],b=x[g]>>8,x[g]&=255;for(g=0;g<32;g++)x[g]-=b*IV[g];for(L=0;L<32;L++)x[L+1]+=x[L]>>8,C[L]=x[L]&255}function mO(C){var x=new Float64Array(64),b;for(b=0;b<64;b++)x[b]=C[b];for(b=0;b<64;b++)C[b]=0;kO(C,x)}function DC(C,x,b,L){var g=new Uint8Array(64),o=new Uint8Array(64),s=new Uint8Array(64),M0,E0,G5=new Float64Array(64),n0=[$(),$(),$(),$()];u9(g,L,32),g[0]&=248,g[31]&=127,g[31]|=64;var l1=b+64;for(M0=0;M0<b;M0++)C[64+M0]=x[M0];for(M0=0;M0<32;M0++)C[32+M0]=g[32+M0];u9(s,C.subarray(32),b+32),mO(s),PV(n0,s),_O(C,n0);for(M0=32;M0<64;M0++)C[M0]=L[M0];u9(o,C,b+64),mO(o);for(M0=0;M0<64;M0++)G5[M0]=0;for(M0=0;M0<32;M0++)G5[M0]=s[M0];for(M0=0;M0<32;M0++)for(E0=0;E0<32;E0++)G5[M0+E0]+=o[M0]*g[E0];return kO(C.subarray(32),G5),l1}function r10(C,x){var b=$(),L=$(),g=$(),o=$(),s=$(),M0=$(),E0=$();if(W0(C[2],Y),g0(C[1],x),b5(g,C[1]),k0(o,g,K),i0(g,g,C[2]),A0(o,C[2],o),b5(s,o),b5(M0,s),k0(E0,M0,s),k0(b,E0,g),k0(b,b,o),t1(b,b),k0(b,b,g),k0(b,b,o),k0(b,b,o),k0(C[0],b,o),b5(L,C[0]),k0(L,L,o),_0(L,g))k0(C[0],C[0],q);if(b5(L,C[0]),k0(L,L,o),_0(L,g))return-1;if(T0(C[0])===x[31]>>7)i0(C[0],X,C[0]);return k0(C[3],C[0],C[1]),0}function vO(C,x,b,L){var g,o=new Uint8Array(32),s=new Uint8Array(64),M0=[$(),$(),$(),$()],E0=[$(),$(),$(),$()];if(b<64)return-1;if(r10(E0,L))return-1;for(g=0;g<b;g++)C[g]=x[g];for(g=0;g<32;g++)C[g+32]=L[g];if(u9(s,C,b),mO(s),xO(M0,E0,s),PV(E0,x.subarray(32)),EV(M0,E0),_O(o,M0),b-=64,O(x,0,o,0)){for(g=0;g<b;g++)C[g]=0;return-1}for(g=0;g<b;g++)C[g]=x[g+64];return b}var hO=32,fV=24,GG=32,BJ=16,KG=32,jV=32,HG=32,VG=32,uO=32,RC=fV,s10=GG,t10=BJ,w7=64,y9=32,LJ=64,yO=32,dO=64;W.lowlevel={crypto_core_hsalsa20:T,crypto_stream_xor:m,crypto_stream:_,crypto_stream_salsa20_xor:S,crypto_stream_salsa20:f,crypto_onetimeauth:u,crypto_onetimeauth_verify:i,crypto_verify_16:z,crypto_verify_32:O,crypto_secretbox:$0,crypto_secretbox_open:a,crypto_scalarmult:K1,crypto_scalarmult_base:rW,crypto_box_beforenm:p5,crypto_box_afternm:NW,crypto_box:O$,crypto_box_open:D$,crypto_box_keypair:Z4,crypto_hash:u9,crypto_sign:DC,crypto_sign_keypair:gO,crypto_sign_open:vO,crypto_secretbox_KEYBYTES:hO,crypto_secretbox_NONCEBYTES:fV,crypto_secretbox_ZEROBYTES:GG,crypto_secretbox_BOXZEROBYTES:BJ,crypto_scalarmult_BYTES:KG,crypto_scalarmult_SCALARBYTES:jV,crypto_box_PUBLICKEYBYTES:HG,crypto_box_SECRETKEYBYTES:VG,crypto_box_BEFORENMBYTES:uO,crypto_box_NONCEBYTES:RC,crypto_box_ZEROBYTES:s10,crypto_box_BOXZEROBYTES:t10,crypto_sign_BYTES:w7,crypto_sign_PUBLICKEYBYTES:y9,crypto_sign_SECRETKEYBYTES:LJ,crypto_sign_SEEDBYTES:yO,crypto_hash_BYTES:dO,gf:$,D:K,L:IV,pack25519:z0,unpack25519:g0,M:k0,A:A0,S:b5,Z:i0,pow2523:t1,add:EV,set25519:W0,modL:kO,scalarmult:xO,scalarbase:PV};function FC(C,x){if(C.length!==hO)throw Error("bad key size");if(x.length!==fV)throw Error("bad nonce size")}function e10(C,x){if(C.length!==HG)throw Error("bad public key size");if(x.length!==VG)throw Error("bad secret key size")}function t6(){for(var C=0;C<arguments.length;C++)if(!(arguments[C]instanceof Uint8Array))throw TypeError("unexpected type, use Uint8Array")}function BC(C){for(var x=0;x<C.length;x++)C[x]=0}W.randomBytes=function(C){var x=new Uint8Array(C);return w(x,C),x},W.secretbox=function(C,x,b){t6(C,x,b),FC(b,x);var L=new Uint8Array(GG+C.length),g=new Uint8Array(L.length);for(var o=0;o<C.length;o++)L[o+GG]=C[o];return $0(g,L,L.length,x,b),g.subarray(BJ)},W.secretbox.open=function(C,x,b){t6(C,x,b),FC(b,x);var L=new Uint8Array(BJ+C.length),g=new Uint8Array(L.length);for(var o=0;o<C.length;o++)L[o+BJ]=C[o];if(L.length<32)return null;if(a(g,L,L.length,x,b)!==0)return null;return g.subarray(GG)},W.secretbox.keyLength=hO,W.secretbox.nonceLength=fV,W.secretbox.overheadLength=BJ,W.scalarMult=function(C,x){if(t6(C,x),C.length!==jV)throw Error("bad n size");if(x.length!==KG)throw Error("bad p size");var b=new Uint8Array(KG);return K1(b,C,x),b},W.scalarMult.base=function(C){if(t6(C),C.length!==jV)throw Error("bad n size");var x=new Uint8Array(KG);return rW(x,C),x},W.scalarMult.scalarLength=jV,W.scalarMult.groupElementLength=KG,W.box=function(C,x,b,L){var g=W.box.before(b,L);return W.secretbox(C,x,g)},W.box.before=function(C,x){t6(C,x),e10(C,x);var b=new Uint8Array(uO);return p5(b,C,x),b},W.box.after=W.secretbox,W.box.open=function(C,x,b,L){var g=W.box.before(b,L);return W.secretbox.open(C,x,g)},W.box.open.after=W.secretbox.open,W.box.keyPair=function(){var C=new Uint8Array(HG),x=new Uint8Array(VG);return Z4(C,x),{publicKey:C,secretKey:x}},W.box.keyPair.fromSecretKey=function(C){if(t6(C),C.length!==VG)throw Error("bad secret key size");var x=new Uint8Array(HG);return rW(x,C),{publicKey:x,secretKey:new Uint8Array(C)}},W.box.publicKeyLength=HG,W.box.secretKeyLength=VG,W.box.sharedKeyLength=uO,W.box.nonceLength=RC,W.box.overheadLength=W.secretbox.overheadLength,W.sign=function(C,x){if(t6(C,x),x.length!==LJ)throw Error("bad secret key size");var b=new Uint8Array(w7+C.length);return DC(b,C,C.length,x),b},W.sign.open=function(C,x){if(t6(C,x),x.length!==y9)throw Error("bad public key size");var b=new Uint8Array(C.length),L=vO(b,C,C.length,x);if(L<0)return null;var g=new Uint8Array(L);for(var o=0;o<g.length;o++)g[o]=b[o];return g},W.sign.detached=function(C,x){var b=W.sign(C,x),L=new Uint8Array(w7);for(var g=0;g<L.length;g++)L[g]=b[g];return L},W.sign.detached.verify=function(C,x,b){if(t6(C,x,b),x.length!==w7)throw Error("bad signature size");if(b.length!==y9)throw Error("bad public key size");var L=new Uint8Array(w7+C.length),g=new Uint8Array(w7+C.length),o;for(o=0;o<w7;o++)L[o]=x[o];for(o=0;o<C.length;o++)L[o+w7]=C[o];return vO(g,L,L.length,b)>=0},W.sign.keyPair=function(){var C=new Uint8Array(y9),x=new Uint8Array(LJ);return gO(C,x),{publicKey:C,secretKey:x}},W.sign.keyPair.fromSecretKey=function(C){if(t6(C),C.length!==LJ)throw Error("bad secret key size");var x=new Uint8Array(y9);for(var b=0;b<x.length;b++)x[b]=C[32+b];return{publicKey:x,secretKey:new Uint8Array(C)}},W.sign.keyPair.fromSeed=function(C){if(t6(C),C.length!==yO)throw Error("bad seed size");var x=new Uint8Array(y9),b=new Uint8Array(LJ);for(var L=0;L<32;L++)b[L]=C[L];return gO(x,b,!0),{publicKey:x,secretKey:b}},W.sign.publicKeyLength=y9,W.sign.secretKeyLength=LJ,W.sign.seedLength=yO,W.sign.signatureLength=w7,W.hash=function(C){t6(C);var x=new Uint8Array(dO);return u9(x,C,C.length),x},W.hash.hashLength=dO,W.verify=function(C,x){if(t6(C,x),C.length===0||x.length===0)return!1;if(C.length!==x.length)return!1;return U(C,0,x,0,C.length)===0?!0:!1},W.setPRNG=function(C){w=C},function(){var C=typeof self<"u"?self.crypto||self.msCrypto:null;if(C&&C.getRandomValues){var x=65536;W.setPRNG(function(b,L){var g,o=new Uint8Array(L);for(g=0;g<L;g+=x)C.getRandomValues(o.subarray(g,g+Math.min(L-g,x)));for(g=0;g<L;g++)b[g]=o[g];BC(o)})}else if(C=R5("crypto"),C&&C.randomBytes)W.setPRNG(function(b,L){var g,o=C.randomBytes(L);for(g=0;g<L;g++)b[g]=o[g];BC(o)})}()})(typeof nz<"u"&&te5?te5:self.nacl=self.nacl||{})});var IC=J7(EC(),1);import*as xV from"fs";import*as lO from"path";function PC(W){return W.replace(/\\\$/g,"$")}function BW0(W,$,w){let Q={...w,...$},J=/(?<!\\)\${([^{}]+)}|(?<!\\)\$([A-Za-z_][A-Za-z0-9_]*)/g,X=W,Y,G=new Set;while((Y=J.exec(X))!==null){G.add(X);let[K,H,V]=Y,Z=H||V,q=/(:\+|\+|:-|-)/,N=Z.match(q),U=N?N[0]:null,z=Z.split(U),O,R,F=z.shift();if([":+","+"].includes(U))O=Q[F]?z.join(U):"",R=null;else O=z.join(U),R=Q[F];if(R)if(G.has(R))X=X.replace(K,O);else X=X.replace(K,R);else X=X.replace(K,O);if(X===w[F])break;J.lastIndex=0}return X}function LW0(W){let $={},w=process.env;if(W&&W.processEnv!=null)w=W.processEnv;for(let Q in W.parsed){let J=W.parsed[Q];if(w[Q]&&w[Q]!==J)J=w[Q];else J=BW0(J,w,$);W.parsed[Q]=PC(J),$[Q]=PC(J)}for(let Q in W.parsed)w[Q]=W.parsed[Q];return W}var nO=LW0;var TJ=void 0,_V=void 0,qG=[];function AW0(W){Object.keys(process.env).forEach(($)=>{if(W[$]===void 0||W[$]==="")delete process.env[$]}),Object.entries(W).forEach(([$,w])=>{process.env[$]=w})}function SW0(W,$,w=console){if(!TJ)TJ=Object.assign({},process.env);let Q=Object.assign({},TJ),J={};for(let X of W)try{let Y={};Y.parsed=IC.parse(X.contents);let K=nO(Y).parsed;if(K){for(let H of Object.keys(K))if(typeof J[H]>"u"&&typeof Q[H]>"u")J[H]=K[H]}X.env=Y.parsed||{}}catch(Y){w.error(`Failed to load env from ${lO.join($||"",X.path)}`,Y)}return Object.assign(process.env,J)}function fC(W,$,w=console){if(!TJ)TJ=Object.assign({},process.env);if(_V)return{combinedEnv:_V,loadedEnvFiles:qG};AW0(TJ),qG=[];let J=$?"development":"production",X=[`.env.${J}.local`,J!=="test"&&".env.local",`.env.${J}`,".env"].filter(Boolean);for(let Y of X){let G=lO.join(W,Y);try{let K=xV.statSync(G);if(!K.isFile()&&!K.isFIFO())continue;let H=xV.readFileSync(G,"utf8");qG.push({path:Y,contents:H,env:{}})}catch(K){if(K&&typeof K==="object"&&"code"in K&&K.code!=="ENOENT")w.error(`Failed to load env from ${Y}`,K)}}return _V=SW0(qG,W,w),{combinedEnv:_V,loadedEnvFiles:qG}}import{readdirSync as a_0}from"fs";import{dirname as r_0,join as CV}from"path";var gV=jC("{\"index\":\"./shumai-app.html\",\"files\":[{\"path\":\"./chunk-wc8sc9r9.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"XEzoOUwJ2Ak\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-6xg65n5y.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"Zh0QRoVVhX4\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-6zascpcz.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"Jt_qeUwWzF8\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-jqh8kavv.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"UrexaHPKezs\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-8dqq1fk0.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"aO13F2Ev0-A\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-mnfqdxms.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"FPVvd62d1Jk\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-b73ktdmd.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"y4cDs5ot1C0\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-wckjyvtb.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"fEzTMp57Ogs\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-crt1e1w1.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"7FgaQS5hfKE\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-wsyg4rwg.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"HFkekITYvBA\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-nhsqp8jc.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"VfG5VzbIckw\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-srn8t0v7.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"-TiVyHoAGwc\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-kfhtk3eh.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"c4_xOlNjLtE\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-kr06nrbx.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"Uzjg5jW4630\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-b8js74jk.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"q8gyWYeEUnM\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-0xbf8bcg.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"AJ3L74hLrFA\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-898q6x3q.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"SIlolyadY9c\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-262hkppb.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"gqbi0ZNWNis\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-yj4x7tpw.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"XvIk3Sc6lhw\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-wfx81mfv.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"HC-9yEHUD1s\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-g21jxrt9.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"UCIhEl24Gsk\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-dgat7wqv.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"DZCK-mfcd1s\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-dm2w12rc.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"7fTCvGGC-Gw\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-15sefy5t.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"oSVZLs--hVo\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-js9yf457.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"crkpnm-Epac\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-88fg1sw7.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"KGiP0OG5HKc\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-3qks722n.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"Y7eT2ScCIrU\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-77r8w95d.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"xyd4CFwpRY0\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-t3t6021k.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"2gM65sDCoRM\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-nnkkem25.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"9TXzU850IqU\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-1xpec5r8.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"4b2WzkylGAg\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-0rxhc7ka.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"wLj9keyHEwo\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-3n1rezd0.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"I1VBWI7_DeA\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-fz88kkk1.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"j79oiFPzU4E\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-dghtwyq1.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"7bBx2px-F8E\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-gswbc6y9.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"EFm8a0zm_sk\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-nyhqy6q2.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"lf5xN_7m10I\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"path\":\"./chunk-0qkj838r.js\",\"loader\":\"js\",\"isEntry\":false,\"headers\":{\"etag\":\"gFfzsshjyDg\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"input\":\"packages/webui/routes/projects/$projectId/folders/$folderId.lazy.tsx\",\"path\":\"./chunk-se8rgwp8.js\",\"loader\":\"js\",\"isEntry\":true,\"headers\":{\"etag\":\"-a7I-JDcVmg\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"input\":\"packages/webui/routes/projects/$projectId/files/$fileId.lazy.tsx\",\"path\":\"./chunk-3hzj13pj.js\",\"loader\":\"js\",\"isEntry\":true,\"headers\":{\"etag\":\"AxEfssFjtpI\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"input\":\"packages/webui/routes/projects/$projectId/collections/$collectionId.lazy.tsx\",\"path\":\"./chunk-y79r28gd.js\",\"loader\":\"js\",\"isEntry\":true,\"headers\":{\"etag\":\"3gepGEKIUI0\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"input\":\"packages/webui/routes/teams/$teamId/settings.lazy.tsx\",\"path\":\"./chunk-6z65xd0w.js\",\"loader\":\"js\",\"isEntry\":true,\"headers\":{\"etag\":\"Bv-mRZ2twLw\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"input\":\"packages/webui/routes/teams/$teamId/dashboard.lazy.tsx\",\"path\":\"./chunk-s8t74q9m.js\",\"loader\":\"js\",\"isEntry\":true,\"headers\":{\"etag\":\"eUjaRwS3KXQ\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"input\":\"packages/webui/routes/projects/$projectId/recently-deleted.lazy.tsx\",\"path\":\"./chunk-hnhq0dh9.js\",\"loader\":\"js\",\"isEntry\":true,\"headers\":{\"etag\":\"sbXxt-Ctkck\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"input\":\"packages/webui/routes/projects/$projectId/shares/index.lazy.tsx\",\"path\":\"./chunk-5vkf99sk.js\",\"loader\":\"js\",\"isEntry\":true,\"headers\":{\"etag\":\"ZZuTL4mJ2TM\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"input\":\"packages/webui/routes/projects/$projectId/collections/index.lazy.tsx\",\"path\":\"./chunk-jyzegph4.js\",\"loader\":\"js\",\"isEntry\":true,\"headers\":{\"etag\":\"En4frhB2UaQ\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"input\":\"packages/webui/routes/share/$shareId/folders/$folderId.lazy.tsx\",\"path\":\"./chunk-2a9n3dhx.js\",\"loader\":\"js\",\"isEntry\":true,\"headers\":{\"etag\":\"ggqJ1WNNUX0\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"input\":\"packages/webui/routes/share/$shareId/files/$fileId.lazy.tsx\",\"path\":\"./chunk-j0c7d9y1.js\",\"loader\":\"js\",\"isEntry\":true,\"headers\":{\"etag\":\"cqBMJ00JvgE\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"input\":\"packages/webui/routes/projects/$projectId/shares/$shareId.lazy.tsx\",\"path\":\"./chunk-wtjc4565.js\",\"loader\":\"js\",\"isEntry\":true,\"headers\":{\"etag\":\"XFoSrARFBkU\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"input\":\"packages/webui/routes/teams/$teamId/index.lazy.tsx\",\"path\":\"./chunk-av71yjaa.js\",\"loader\":\"js\",\"isEntry\":true,\"headers\":{\"etag\":\"ilvHAb5Syqo\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"input\":\"packages/webui/routes/share/$shareId/index.lazy.tsx\",\"path\":\"./chunk-chkx04mw.js\",\"loader\":\"js\",\"isEntry\":true,\"headers\":{\"etag\":\"bJGT_eDE9Lw\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"input\":\"packages/webui/routes/projects/$projectId/index.lazy.tsx\",\"path\":\"./chunk-carknytp.js\",\"loader\":\"js\",\"isEntry\":true,\"headers\":{\"etag\":\"7OqYE9X-GhY\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"input\":\"packages/webui/index.html\",\"path\":\"./chunk-qwg2e3wr.js\",\"loader\":\"js\",\"isEntry\":true,\"headers\":{\"etag\":\"V1zwwu5DfFg\",\"content-type\":\"text/javascript;charset=utf-8\"}},{\"input\":\"packages/webui/index.html\",\"path\":\"./shumai-app.html\",\"loader\":\"html\",\"isEntry\":true,\"headers\":{\"etag\":\"uFn7mUeMkLc\",\"content-type\":\"text/html;charset=utf-8\"}},{\"input\":\"packages/webui/index.html\",\"path\":\"./chunk-tm6z4hkd.css\",\"loader\":\"css\",\"isEntry\":true,\"headers\":{\"etag\":\"-lQGv-QRE00\",\"content-type\":\"text/css;charset=utf-8\"}},{\"input\":\"packages/webui/public/favicon-57x57.png\",\"path\":\"./favicon-57x57-mn6s3v7e.png\",\"loader\":\"file\",\"isEntry\":false,\"headers\":{\"etag\":\"VHVm-YNbB64\",\"content-type\":\"image/png\"}},{\"input\":\"packages/webui/public/favicon-60x60.png\",\"path\":\"./favicon-60x60-c5sfsxzw.png\",\"loader\":\"file\",\"isEntry\":false,\"headers\":{\"etag\":\"rCU5Dzn9v7w\",\"content-type\":\"image/png\"}},{\"input\":\"packages/webui/public/favicon-72x72.png\",\"path\":\"./favicon-72x72-w16wshnn.png\",\"loader\":\"file\",\"isEntry\":false,\"headers\":{\"etag\":\"HMFGnNkRtXU\",\"content-type\":\"image/png\"}},{\"input\":\"packages/webui/public/favicon-76x76.png\",\"path\":\"./favicon-76x76-kzf3htmh.png\",\"loader\":\"file\",\"isEntry\":false,\"headers\":{\"etag\":\"U39PAxGa9HE\",\"content-type\":\"image/png\"}},{\"input\":\"packages/webui/public/favicon-114x114.png\",\"path\":\"./favicon-114x114-nfz030rt.png\",\"loader\":\"file\",\"isEntry\":false,\"headers\":{\"etag\":\"da9fYMOg2Bo\",\"content-type\":\"image/png\"}},{\"input\":\"packages/webui/public/favicon-120x120.png\",\"path\":\"./favicon-120x120-wkpcsbxg.png\",\"loader\":\"file\",\"isEntry\":false,\"headers\":{\"etag\":\"3HOWLDkrnZA\",\"content-type\":\"image/png\"}},{\"input\":\"packages/webui/public/favicon-144x144.png\",\"path\":\"./favicon-144x144-05nsfzbf.png\",\"loader\":\"file\",\"isEntry\":false,\"headers\":{\"etag\":\"wGWVee_fay8\",\"content-type\":\"image/png\"}},{\"input\":\"packages/webui/public/favicon-152x152.png\",\"path\":\"./favicon-152x152-8nka92nd.png\",\"loader\":\"file\",\"isEntry\":false,\"headers\":{\"etag\":\"CPUzSulCdU0\",\"content-type\":\"image/png\"}},{\"input\":\"packages/webui/public/favicon-180x180.png\",\"path\":\"./favicon-180x180-aypbsxyq.png\",\"loader\":\"file\",\"isEntry\":false,\"headers\":{\"etag\":\"Cl72Czk9_tc\",\"content-type\":\"image/png\"}},{\"input\":\"packages/webui/public/favicon-16x16.png\",\"path\":\"./favicon-16x16-b0xc5vjm.png\",\"loader\":\"file\",\"isEntry\":false,\"headers\":{\"etag\":\"S6AdLEU7MhQ\",\"content-type\":\"image/png\"}},{\"input\":\"packages/webui/public/favicon-32x32.png\",\"path\":\"./favicon-32x32-pszr0qfr.png\",\"loader\":\"file\",\"isEntry\":false,\"headers\":{\"etag\":\"lvm_WOC3Tzg\",\"content-type\":\"image/png\"}},{\"input\":\"packages/webui/public/favicon-96x96.png\",\"path\":\"./favicon-96x96-ja5djp2p.png\",\"loader\":\"file\",\"isEntry\":false,\"headers\":{\"etag\":\"ckplDZK2QjY\",\"content-type\":\"image/png\"}},{\"input\":\"packages/webui/public/favicon-192x192.png\",\"path\":\"./favicon-192x192-x1mftae9.png\",\"loader\":\"file\",\"isEntry\":false,\"headers\":{\"etag\":\"XQG0T9rqLsk\",\"content-type\":\"image/png\"}},{\"input\":\"packages/webui/public/favicon.ico\",\"path\":\"./favicon-sk28f4p7.ico\",\"loader\":\"file\",\"isEntry\":false,\"headers\":{\"etag\":\"WTOiiA8klkc\",\"content-type\":\"image/x-icon\"}},{\"input\":\"packages/webui/public/manifest.json\",\"path\":\"./manifest-f4wahvsd.json\",\"loader\":\"file\",\"isEntry\":false,\"headers\":{\"etag\":\"7-Q8qrEb2Q0\",\"content-type\":\"application/json;charset=utf-8\"}}]}");import{Agent as h20,createServer as u20}from"http";import{request as QR}from"http";import{request as $I}from"https";import{connect as y20}from"net";import{URL as d20}from"url";function H0(W,$){if(!process.env.SRT_DEBUG)return;let w=$?.level||"info",Q="[SandboxDebug]";switch(w){case"error":console.error(`${Q} ${W}`);break;case"warn":console.warn(`${Q} ${W}`);break;default:console.error(`${Q} ${W}`)}}import{Readable as bC}from"stream";var EW0=new Set(["GET","HEAD","OPTIONS"]);async function kV(W,$,w,Q,J){let X,Y=$;if(!EW0.has($.method??"GET")){let H=bC.toWeb($),[V,Z]=H.tee();X=V,Y=bC.fromWeb(Z)}let G;try{G=new Request(Q,{method:$.method,headers:PW0($),signal:J,...X?{body:X,duplex:"half"}:{}})}catch(H){return _C(w,{action:"deny",reason:`malformed request: ${H.message}`}),X?.cancel(),Y.destroy(),null}let K;try{K=await W(G)}catch(H){K={action:"deny",reason:`filterRequest threw: ${H.message}`}}if(X&&!G.bodyUsed)X.cancel();if(K.action==="allow")return H0(`[request-filter] allow ${$.method} ${Q}`),Y;return _C(w,K),Y.destroy(),null}function _C(W,$){let w=$.reason??"denied by filterRequest";if(H0(`[request-filter] deny: ${w}`),W.headersSent){W.destroy();return}W.writeHead(403,{"Content-Type":"text/plain","X-Proxy-Error":"blocked-by-sandbox-runtime"}),W.end(w+`
|
|
164
164
|
`)}function PW0(W){let $=new Headers;for(let[w,Q]of Object.entries(W.headers)){if(Q===void 0)continue;if(Array.isArray(Q))for(let J of Q)$.append(w,J);else $.append(w,Q)}return $}import{createServer as I20,request as f20}from"https";import{connect as j20,isIP as b20}from"net";import{unlink as _20}from"fs";import{tmpdir as x20}from"os";import{join as g20}from"path";var nP=J7(rD(),1);import{isIP as U20}from"net";import{createSecureContext as O20}from"tls";var{pki:UZ,md:D20,random:R20,util:F20}=nP.default;function sD(W,$){let w=W.leafCerts.get($);if(w)return w;let Q=UZ.rsa.generateKeyPair(2048),J=UZ.createCertificate();J.publicKey=Q.publicKey,J.serialNumber=T20(),J.validity.notBefore=iP(-1),J.validity.notAfter=L20(W.cert),J.setSubject([{name:"commonName",value:$}]),J.setIssuer(W.cert.subject.attributes),J.setExtensions([{name:"basicConstraints",cA:!1,critical:!0},{name:"keyUsage",critical:!0,digitalSignature:!0,keyEncipherment:!0},{name:"extKeyUsage",serverAuth:!0},{name:"subjectAltName",altNames:[B20($)]}]),J.sign(W.key,D20.sha256.create());let X={certPem:UZ.certificateToPem(J)+W.certPem,keyPem:UZ.privateKeyToPem(Q.privateKey)};return W.leafCerts.set($,X),H0(`[mitm-leaf] minted RSA leaf for ${$}`),X}function lP(W,$){let w=W.secureContexts.get($);if(w)return w;let{certPem:Q,keyPem:J}=sD(W,$),X=O20({cert:Q,key:J});return W.secureContexts.set($,X),X}function B20(W){return U20(W)!==0?{type:7,ip:W}:{type:2,value:W}}function L20(W){let $=W.validity.notAfter,w=iP(825);return $<w?new Date($):w}function T20(){let W=R20.getBytesSync(16),$=F20.bytesToHex(W);return(parseInt($[0],16)&7).toString(16)+$.slice(1)}function iP(W){let $=new Date;return $.setDate($.getDate()+W),$}import{BlockList as oP,connect as aP,isIP as t9}from"net";import{connect as A20}from"tls";import{URL as tD}from"url";var rP=30000,S20=new Set(["connection","keep-alive","proxy-authenticate","proxy-authorization","proxy-connection","te","trailer","transfer-encoding","upgrade"]);function eD(W){let $=W?.http??process.env.HTTP_PROXY??process.env.http_proxy??void 0,w=W?.https??process.env.HTTPS_PROXY??process.env.https_proxy??$,Q=W?.noProxy??process.env.NO_PROXY??process.env.no_proxy??"";if(!$&&!w)return;let J=(G)=>{if(!G)return;let H=/^[a-z][a-z0-9+.-]*:\/\//i.test(G)?G:`http://${G}`;try{let V=new tD(H);if(V.protocol!=="http:"&&V.protocol!=="https:"||!V.hostname)throw Error("unsupported scheme or empty host");return V}catch{H0(`Invalid parent proxy URL, ignoring: ${P20(G)}`,{level:"error"});return}},X=J($),Y=J(w);if(!X&&!Y)return;return{httpUrl:X,httpsUrl:Y,noProxy:C20(Q)}}function C20(W){let $={all:!1,suffixes:[],cidr:new oP};for(let w of W.split(",")){if(w=w.trim(),!w)continue;if(w==="*"){$.all=!0;continue}let Q=w.indexOf("/");if(Q!==-1){let G=w.slice(0,Q),K=w.slice(Q+1),H=t9(G);if(H&&K!==""&&/^\d+$/.test(K)){let V=Number(K),Z=H===6?128:32;if(V>=0&&V<=Z){try{$.cidr.addSubnet(G,V,H===6?"ipv6":"ipv4")}catch{}continue}}continue}let J=w.toLowerCase(),X=/^\[([^\]]+)\](?::\d+)?$/.exec(J);if(X)J=X[1];if(J.startsWith("*."))J=J.slice(1);let Y=t9(J);if(!Y){let G=J.lastIndexOf(":");if(G!==-1&&/^\d+$/.test(J.slice(G+1)))J=J.slice(0,G)}else try{$.cidr.addAddress(J,Y===6?"ipv6":"ipv4");continue}catch{}$.suffixes.push(J)}return $}function PG(W,$){let w=N8($.toLowerCase().replace(/\.$/,""));if(w==="localhost")return!0;let Q=t9(w);if(Q){if(E20.check(w,Q===6?"ipv6":"ipv4"))return!0}if(W.noProxy.all)return!0;if(Q){if(W.noProxy.cidr.check(w,Q===6?"ipv6":"ipv4"))return!0}for(let J of W.noProxy.suffixes)if(J.startsWith(".")){if(w===J.slice(1)||w.endsWith(J))return!0}else if(w===J||w.endsWith("."+J))return!0;return!1}var E20=(()=>{let W=new oP;return W.addSubnet("127.0.0.0",8,"ipv4"),W.addAddress("::1","ipv6"),W.addSubnet("::ffff:127.0.0.0",104,"ipv6"),W})();function IG(W,$){if($.isHttps)return W.httpsUrl??W.httpUrl;return W.httpUrl}function WR(W){let{destHost:$,destPort:w}=W,Q=N8($);if(!fG(Q))return Promise.reject(Error(`Invalid destination host for CONNECT: ${JSON.stringify($)}`));if(!Number.isInteger(w)||w<1||w>65535)return Promise.reject(Error(`Invalid destination port: ${w}`));let J=t9(Q)===6?`[${Q}]:${w}`:`${Q}:${w}`;return new Promise((X,Y)=>{let G=W.dial(),K=!1,H=(Z)=>{if(K)return;K=!0,G.destroy(),Y(Z)},V=()=>H(Error("Proxy closed during CONNECT handshake"));G.setTimeout(W.timeoutMs??rP,()=>H(Error("CONNECT handshake timed out"))),G.once("error",H),G.once("close",V),G.once(W.readyEvent,()=>{G.write(`CONNECT ${J} HTTP/1.1\r
|
|
165
165
|
Host: ${J}\r
|
|
166
166
|
`+(W.authHeader?`Proxy-Authorization: ${W.authHeader}\r
|
|
@@ -1299,7 +1299,7 @@ model AiUsage {
|
|
|
1299
1299
|
`,J=Q.filter((D)=>D.type==="symlink"),X=[];if(J.length>0){let D=J.map((T)=>T.targetId).filter((T)=>!!T);if(D.length>0)X=(await this.prismaClient.asset.findMany({where:{id:{in:D},isDeleted:!1}})).map((A)=>({id:A.id,name:A.name,type:A.type,parentId:A.parentId,storageKeyId:A.storageKeyId,sortIndex:A.sortIndex,targetId:A.targetId}))}let G=[...Q.filter((D)=>D.type!=="symlink"),...X].filter((D)=>D.type!=="folder"&&D.type!=="root"&&D.type!=="share_root"&&D.type!=="share"),K=new Set(G.filter((D)=>D.type==="version_stack").map((D)=>D.id)),H=new Map,V=[];for(let D of G){if(D.type==="version_stack")continue;if(D.parentId&&K.has(D.parentId)){let T=H.get(D.parentId)||[];T.push(D),H.set(D.parentId,T)}else V.push(D)}let Z=[];for(let D of H.values())if(D.sort((T,A)=>{if(!T.sortIndex||!A.sortIndex)return 0;return T.sortIndex<A.sortIndex?-1:T.sortIndex>A.sortIndex?1:0}),D.length>0)Z.push(D[0]);let q=[...V,...Z],N=new Map;for(let D of q)N.set(D.id,D);let U=Array.from(N.values()),z=U.map((D)=>D.storageKeyId).filter((D)=>!!D),O=await this.prismaClient.storageKey.findMany({where:{id:{in:z}}}),R=new Map(O.map((D)=>[D.id,D.key]));return(await Promise.all(U.map(async(D)=>{let T=D.storageKeyId?R.get(D.storageKeyId):null;if(!T)return null;let A=await f0.presign(process.env.S3_BUCKET||"shumai",T,"GET",!0);return{id:D.id,name:D.name,url:A}}))).filter((D)=>!!D)}async getDownloadUrl(W,$){let w=await this.prismaClient.asset.findUnique({where:{id:W},select:{storageKey:{select:{key:!0}}}});if(!w?.storageKey?.key)throw Error("Asset not found or has no storage key");let Q=w.storageKey.key,J=Q.substring(0,Q.lastIndexOf("/")+1);if($.includes("..")||!$.startsWith(J))throw Error("Key does not belong to this asset");return f0.presign(process.env.S3_BUCKET||"shumai",$,"GET",!0)}async toPreviewInfo(W){if(!W.media)return null;let $=W.media?.proxyType||null,w=void 0;if($==="image"&&W.media.thumbnail?.key)w=await f0.presign(process.env.S3_BUCKET||"shumai",W.media.thumbnail.key,"GET");else if(W.media.poster?.key)w=await f0.presign(process.env.S3_BUCKET||"shumai",W.media.poster.key,"GET");let Q=void 0;if(W.media.sprite?.key)Q=await f0.presign(process.env.S3_BUCKET||"shumai",W.media.sprite.key,"GET");return{proxyType:$,thumbnailUrl:w,originalHeight:W.media.metadata?.originalHeight,originalWidth:W.media.metadata?.originalWidth,spriteUrl:Q,duration:W.media.metadata?.duration,pageCount:W.media.metadata?.totalFrames}}async toCommentInfo(W){let $=[];if("replies"in W&&W.replies)for(let G of W.replies)$.push(await this.toCommentInfo(G));let w=[];if(W.attachments){for(let G of W.attachments)if(G.asset?.storageKey?.key){let K=await f0.presign(process.env.S3_BUCKET||"shumai",G.asset.storageKey.key,"GET"),H=G.asset.media?.proxyType||null;w.push({id:G.id,assetId:G.asset.id,url:K,proxyType:H})}}let Q=[],J=(W.message||"").match(/<@([^>]+)>/g);if(J){let G=J.map((H)=>H.replace("<@","").replace(">","")),K=await this.prismaClient.user.findMany({where:{id:{in:G}}});for(let H of K)Q.push({id:H.id,name:H.name,image:await A4(H.image)})}let X={id:"",name:""};if(W.sessionId)X.id=W.creatorId||"",X.name=W.creator?.name||"Ai Bot",X.image=await A4(W.creator?.image);else if(W.creator)X.id=W.creator.id,X.name=W.creator.name,X.image=await A4(W.creator.image);let Y=W.completionLastChangedBy?{id:W.completionLastChangedBy.id,name:W.completionLastChangedBy.name,image:await A4(W.completionLastChangedBy.image)}:null;return{id:W.id,assetId:W.assetId,message:W.message,annotations:W.annotation,second:W.second,creator:X,replies:$,attachments:w,mentions:Q,createdAt:W.createdAt.toISOString(),updatedAt:W.updatedAt.toISOString(),sessionId:W.sessionId,isCompleted:W.isCompleted,completionLastChangedBy:Y}}}var Z5=new $o;var wo=[{key:"file_size",scope:"SYSTEM",readOnly:!0,config:{name:"File Size",type:"number",number:{scale:0}}},{key:"resolution_width",scope:"SYSTEM",readOnly:!0,config:{name:"Resolution Width",type:"number",number:{scale:0}}},{key:"resolution_height",scope:"SYSTEM",readOnly:!0,config:{name:"Resolution Height",type:"number",number:{scale:0}}},{key:"name",scope:"SYSTEM",readOnly:!0,config:{name:"Name",type:"text",text:{}}},{key:"rating",scope:"SYSTEM",readOnly:!1,config:{name:"Rating",type:"rating",rating:{maxValue:5}}},{key:"duration",scope:"SYSTEM",readOnly:!0,config:{name:"Duration",type:"number",number:{scale:0}}},{key:"bitRate",scope:"SYSTEM",readOnly:!0,config:{name:"Bit Rate",type:"number",number:{scale:1}}},{key:"frame_rate",scope:"SYSTEM",readOnly:!0,config:{name:"Frame Rate",type:"number",number:{scale:3}}},{key:"keywords",scope:"SYSTEM",readOnly:!1,config:{name:"Keywords",type:"selectMulti",selectMulti:{options:[]}}},{key:"file_type",scope:"SYSTEM",readOnly:!0,config:{name:"File Type",type:"select",select:{options:[{id:"video",displayName:"Video",color:"system"},{id:"audio",displayName:"Audio",color:"system"},{id:"image",displayName:"Image",color:"system"},{id:"document",displayName:"Document",color:"system"},{id:"file",displayName:"File",color:"system"}]}}},{key:"proxy_type",scope:"SYSTEM",readOnly:!0,config:{name:"Proxy Type",type:"select",select:{options:[{id:"image",displayName:"Image",color:"system"},{id:"video",displayName:"Video",color:"system"},{id:"audio",displayName:"Audio",color:"system"},{id:"pdf",displayName:"PDF",color:"system"}]}}},{key:"audio_bit_depth",scope:"SYSTEM",readOnly:!0,config:{name:"Audio Bit Depth",type:"number",number:{scale:0}}},{key:"audio_channels",scope:"SYSTEM",readOnly:!0,config:{name:"Audio Channels",type:"number",number:{scale:0}}},{key:"audio_codec",scope:"SYSTEM",readOnly:!0,config:{name:"Audio Codec",type:"text",text:{}}},{key:"audio_sample_rate",scope:"SYSTEM",readOnly:!0,config:{name:"Audio Sample Rate",type:"number",number:{scale:0}}},{key:"video_codec",scope:"SYSTEM",readOnly:!0,config:{name:"Video Codec",type:"text",text:{}}},{key:"format",scope:"SYSTEM",readOnly:!0,config:{name:"Format",type:"text",text:{}}},{key:"status",scope:"SYSTEM",readOnly:!1,config:{name:"Status",type:"select",select:{options:[{id:"needs_review",displayName:"Needs Review",color:"red"},{id:"in_progress",displayName:"In Progress",color:"yellow"},{id:"approved",displayName:"Approved",color:"green"}]}}}];class Qo{client;constructor(W=k){this.client=W}async syncSystemFields(){await this.client.$transaction(async(W)=>{for(let $ of wo)await W.metadataField.upsert({where:{key:$.key},update:{scope:$.scope,readOnly:$.readOnly,config:$.config},create:{key:$.key,scope:$.scope,readOnly:$.readOnly??!1,config:$.config}})})}async createTeamField(W,$){return await this.client.metadataField.create({data:{key:U1(),scope:"TEAM",teamId:W,config:$.config,aiAutofill:$.aiAutofill,description:$.description}})}async listTeamFields(W){return await this.client.metadataField.findMany({where:{OR:[{scope:"SYSTEM"},{AND:[{scope:"TEAM"},{teamId:W}]}]}})}async getFieldByKey(W){return this.client.metadataField.findUnique({where:{key:W}})}async updateTeamField(W,$,w){let Q=await this.client.metadataField.findUnique({where:{key:$}});if(!Q)throw Error("Field not found");if(Q.teamId!==W)throw Error("Field does not belong to this team");return await this.client.metadataField.update({where:{id:Q.id},data:{config:w.config,aiAutofill:w.aiAutofill??Q.aiAutofill,description:w.description??Q.description}})}async deleteTeamField(W,$){let w=await this.client.metadataField.findUnique({where:{key:$}});if(!w)throw Error("Field not found");if(w.teamId!==W)throw Error("Field does not belong to this team");await this.client.metadataField.delete({where:{key:$}})}async createProjectField(W,$){let w=await this.client.project.findUnique({where:{id:W},select:{teamId:!0}});if(!w)throw Error("Project not found");return await this.client.metadataField.create({data:{key:U1(),scope:"PROJECT",projectId:W,teamId:w.teamId,config:$.config,aiAutofill:$.aiAutofill,description:$.description}})}async listProjectFields(W,$){let w=await this.client.project.findUnique({where:{id:$},select:{teamId:!0}});if(!w)throw Error("Project not found");let Q=await this.client.metadataField.findMany({where:{OR:[{scope:"SYSTEM"},{AND:[{scope:"TEAM"},{teamId:w.teamId}]},{AND:[{scope:"PROJECT"},{projectId:$}]}]}}),J=W?await this.getProjectFieldsOrder(W,$):[],X=new Map;J.forEach((K,H)=>{X.set(K.fieldId,H)});let Y=new Map;J.forEach((K)=>{Y.set(K.fieldId,K.visible)});let G=Q.map((K)=>({field:K,visible:Y.has(K.key)?Y.get(K.key):W===null}));return G.sort((K,H)=>{let V=X.get(K.field.key),Z=X.get(H.field.key);if(V!==void 0&&Z!==void 0)return V-Z;if(V!==void 0)return-1;if(Z!==void 0)return 1;let q=K.field.config?.name||"",N=H.field.config?.name||"";return q.localeCompare(N)}),G}async getProjectFieldsOrder(W,$){let w=this.getProjectFieldOrderKey(W,$),Q=await this.client.systemSettings.findUnique({where:{key:w}});if(!Q||!Q.value)return[];return Q.value}async updateProjectFieldsOrder(W,$,w){let Q=this.getProjectFieldOrderKey(W,$);await this.client.systemSettings.upsert({where:{key:Q},create:{key:Q,value:w},update:{value:w}})}getProjectFieldOrderKey(W,$){return`project_field_order:${W}:${$}`}async updateProjectField(W,$,w){let Q=await this.client.metadataField.findUnique({where:{key:$}});if(!Q)throw Error("Field not found");if(Q.projectId!==W)throw Error("Field does not belong to this project");return await this.client.metadataField.update({where:{id:Q.id},data:{config:w.config,aiAutofill:w.aiAutofill??Q.aiAutofill,description:w.description??Q.description}})}async deleteProjectField(W,$){let w=await this.client.metadataField.findUnique({where:{key:$}});if(!w)throw Error("Field not found");if(w.projectId!==W)throw Error("Field does not belong to this project");await this.client.metadataField.delete({where:{key:$}})}async updateAssetMetadata(W,$,w=!1){let Q=await Z5.resolveLatestVersionId(W);await this.client.$transaction(async(J)=>{for(let X of $){let Y=await J.metadataField.findUnique({where:{key:X.key}});if(Y?.readOnly&&!w)throw Error(`Field ${Y.key} is read-only`);let G=X.value,K=null,H=null,V=null,Z=null,q=null;if(typeof G==="string"){let N=new Date(G);if(!isNaN(N.getTime())&&G.includes("T")&&G.includes("-"))q=N;else K=G}else if(typeof G==="number")H=G;else if(typeof G==="boolean")V=G;else if(G instanceof Date)q=G;else if(Array.isArray(G))Z=G;else if(G===null);else if(typeof G==="object")Z=G;else K=String(G);await J.assetMetadataValue.upsert({where:{assetId_fieldKey:{assetId:Q,fieldKey:X.key}},create:{assetId:Q,fieldKey:X.key,stringValue:K,numberValue:H,booleanValue:V,jsonValue:Z,dateValue:q},update:{stringValue:K,numberValue:H,booleanValue:V,jsonValue:Z,dateValue:q}})}await J.asset.update({where:{id:Q},data:{updatedAt:new Date}})})}}var K4=new Qo;var eT={};pW(eT,{updateAssetMediaActivity:()=>HP0,transcodeVideoChunkActivity:()=>NP0,transcodeVideoActivity:()=>wP0,transcodeImageActivity:()=>JP0,transcodeAudioActivity:()=>QP0,takeScreenshotsActivity:()=>VP0,renderPdfPagesActivity:()=>qP0,overlayAnnotationsActivity:()=>ZP0,getMediaInfoActivity:()=>$P0,generateSpriteActivity:()=>XP0,generatePdfProxyActivity:()=>YP0,downloadMediaToTmpActivity:()=>GP0,deleteS3ObjectActivity:()=>zP0,createEmbeddingTaskIfEnabledActivity:()=>MP0,cleanupTmpDirActivity:()=>KP0});import{execFile as oE0}from"child_process";class C1 extends Error{constructor(W,$,w,...Q){if(Array.isArray($))$=$.join(" ").trim();super($);if(Error.captureStackTrace!==void 0)Error.captureStackTrace(this,C1);this.code=W;for(let J of Q)for(let X in J){let Y=J[X];this[X]=Buffer.isBuffer(Y)?Y.toString(w.encoding):Y==null?Y:JSON.parse(JSON.stringify(Y))}}}var PH=function(W){return typeof W==="object"&&W!==null&&!Array.isArray(W)};var oz=function(W){let $=[];for(let w=0,Q=W.length;w<Q;w++){let J=W[w];if(J===void 0||J===null||J===!1)$[w]={disabled:!0};else if(typeof J==="string"||typeof J==="number")$[w]={name:`${J}`};else if(PH(J)){if(typeof J.name!=="string")throw new C1("CSV_OPTION_COLUMNS_MISSING_NAME",["Option columns missing name:",`property "name" is required at position ${w}`,"when column is an object literal"]);$[w]=J}else throw new C1("CSV_INVALID_COLUMN_DEFINITION",["Invalid column definition:","expect a string or a literal object,",`got ${JSON.stringify(J)} at position ${w}`])}return $};class Jo{constructor(W=100){this.size=W,this.length=0,this.buf=Buffer.allocUnsafe(W)}prepend(W){if(Buffer.isBuffer(W)){let $=this.length+W.length;if($>=this.size){if(this.resize(),$>=this.size)throw Error("INVALID_BUFFER_STATE")}let w=this.buf;this.buf=Buffer.allocUnsafe(this.size),W.copy(this.buf,0),w.copy(this.buf,W.length),this.length+=W.length}else{let $=this.length++;if($===this.size)this.resize();let w=this.clone();this.buf[0]=W,w.copy(this.buf,1,0,$)}}append(W){let $=this.length++;if($===this.size)this.resize();this.buf[$]=W}clone(){return Buffer.from(this.buf.slice(0,this.length))}resize(){let W=this.length;this.size=this.size*2;let $=Buffer.allocUnsafe(this.size);this.buf.copy($,0,0,W),this.buf=$}toString(W){if(W)return this.buf.slice(0,this.length).toString(W);else return Uint8Array.prototype.slice.call(this.buf.slice(0,this.length))}toJSON(){return this.toString("utf8")}reset(){this.length=0}}var sT=Jo;var Xo=function(W){let $=[32,9,10,13,12,11,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288,65279].reduce((Q,J)=>{let X=Buffer.from(String.fromCharCode(J),W.encoding);if(J!==63&&X.length===1&&X[0]===63)return Q;return Q.push(X),Q},[]),w=new Uint8Array(256);for(let Q of $)w[Q[0]]=1;return{bomSkipped:!1,bufBytesStart:0,castField:W.cast_function,commenting:!1,delimiterBufPrevious:void 0,delimiterDiscovered:!1,error:void 0,enabled:W.from_line===1,escaping:!1,escapeIsQuote:Buffer.isBuffer(W.escape)&&Buffer.isBuffer(W.quote)&&Buffer.compare(W.escape,W.quote)===0,expectedRecordLength:Array.isArray(W.columns)?W.columns.length:void 0,field:new sT(20),firstLineToHeaders:W.cast_first_line_to_header,needMoreDataSize:Math.max(W.comment!==null?W.comment.length:0,...W.delimiter?W.delimiter.map((Q)=>Q.length):[],W.delimiter_auto?1:0,W.quote!==null?W.quote.length:0,...$.map((Q)=>Q.length)),previousBuf:void 0,quoting:!1,stop:!1,rawBuffer:new sT(100),record:[],recordHasError:!1,record_length:0,recordDelimiterMaxLength:W.record_delimiter.length===0?0:Math.max(...W.record_delimiter.map((Q)=>Q.length)),trimChars:[Buffer.from(" ",W.encoding)[0],Buffer.from("\t",W.encoding)[0]],wasQuoting:!1,wasRowDelimiter:!1,timchars:$,timcharFirstBytes:w}};var Yo=function(W){return W.replace(/([A-Z])/g,function($,w){return"_"+w.toLowerCase()})};var OY=function(W){let $={};for(let Q in W)$[Yo(Q)]=W[Q];if($.encoding===void 0||$.encoding===!0)$.encoding="utf8";else if($.encoding===null||$.encoding===!1)$.encoding=null;else if(typeof $.encoding!=="string"&&$.encoding!==null)throw new C1("CSV_INVALID_OPTION_ENCODING",["Invalid option encoding:","encoding must be a string or null to return a buffer,",`got ${JSON.stringify($.encoding)}`],$);if($.bom===void 0||$.bom===null||$.bom===!1)$.bom=!1;else if($.bom!==!0)throw new C1("CSV_INVALID_OPTION_BOM",["Invalid option bom:","bom must be true,",`got ${JSON.stringify($.bom)}`],$);if($.cast_function=null,$.cast===void 0||$.cast===null||$.cast===!1||$.cast==="")$.cast=void 0;else if(typeof $.cast==="function")$.cast_function=$.cast,$.cast=!0;else if($.cast!==!0)throw new C1("CSV_INVALID_OPTION_CAST",["Invalid option cast:","cast must be true or a function,",`got ${JSON.stringify($.cast)}`],$);if($.cast_date===void 0||$.cast_date===null||$.cast_date===!1||$.cast_date==="")$.cast_date=!1;else if($.cast_date===!0)$.cast_date=function(Q){let J=Date.parse(Q);return!isNaN(J)?new Date(J):Q};else if(typeof $.cast_date!=="function")throw new C1("CSV_INVALID_OPTION_CAST_DATE",["Invalid option cast_date:","cast_date must be true or a function,",`got ${JSON.stringify($.cast_date)}`],$);if($.cast_first_line_to_header=void 0,$.columns===!0)$.cast_first_line_to_header=void 0;else if(typeof $.columns==="function")$.cast_first_line_to_header=$.columns,$.columns=!0;else if(Array.isArray($.columns))$.columns=oz($.columns);else if($.columns===void 0||$.columns===null||$.columns===!1)$.columns=!1;else throw new C1("CSV_INVALID_OPTION_COLUMNS",["Invalid option columns:","expect an array, a function or true,",`got ${JSON.stringify($.columns)}`],$);if($.group_columns_by_name===void 0||$.group_columns_by_name===null||$.group_columns_by_name===!1)$.group_columns_by_name=!1;else if($.group_columns_by_name!==!0)throw new C1("CSV_INVALID_OPTION_GROUP_COLUMNS_BY_NAME",["Invalid option group_columns_by_name:","expect an boolean,",`got ${JSON.stringify($.group_columns_by_name)}`],$);else if($.columns===!1)throw new C1("CSV_INVALID_OPTION_GROUP_COLUMNS_BY_NAME",["Invalid option group_columns_by_name:","the `columns` mode must be activated."],$);if($.comment===void 0||$.comment===null||$.comment===!1||$.comment==="")$.comment=null;else{if(typeof $.comment==="string")$.comment=Buffer.from($.comment,$.encoding);if(!Buffer.isBuffer($.comment))throw new C1("CSV_INVALID_OPTION_COMMENT",["Invalid option comment:","comment must be a buffer or a string,",`got ${JSON.stringify($.comment)}`],$)}if($.comment_no_infix===void 0||$.comment_no_infix===null||$.comment_no_infix===!1)$.comment_no_infix=!1;else if($.comment_no_infix!==!0)throw new C1("CSV_INVALID_OPTION_COMMENT",["Invalid option comment_no_infix:","value must be a boolean,",`got ${JSON.stringify($.comment_no_infix)}`],$);if($.delimiter_auto===void 0||$.delimiter_auto===null||$.delimiter_auto===!1)$.delimiter_auto=!1;else if($.delimiter_auto===!0)$.delimiter_auto={};else if(!PH($.delimiter_auto))throw new C1("CSV_INVALID_OPTION_DELIMITER_AUTO",["Invalid option delimiter_auto:","delimiter_auto must be a boolean or a configuration object,",`got ${JSON.stringify($.delimiter_auto)}`],$);if($.delimiter_auto){if($.delimiter_auto.preferred===void 0)$.delimiter_auto.preferred={[44]:1.8,[9]:1.8,[59]:1.6,[32]:1.6,[58]:1.5,[46]:1.4,[47]:1.4};else if(!PH($.delimiter_auto.preferred))throw new C1("CSV_INVALID_OPTION_DELIMITER_AUTO",["Invalid option delimiter_auto:","preferred must be an object,",`got ${JSON.stringify($.delimiter_auto.preferred)}`],$);if($.delimiter_auto.score===void 0)$.delimiter_auto.score=(Q,J)=>{return(Q.total-Q.std)*(J.preferred[Q.char_code]||1)};else if(typeof $.delimiter_auto.score!=="function")throw new C1("CSV_INVALID_OPTION_DELIMITER_AUTO",["Invalid option delimiter_auto:","score must be a function,",`got ${JSON.stringify($.delimiter_auto.score)}`],$);if($.delimiter_auto.size===void 0)$.delimiter_auto.size=2048;else if(typeof $.delimiter_auto.size!=="number")throw new C1("CSV_INVALID_OPTION_DELIMITER_AUTO",["Invalid option delimiter_auto:","size must be a number,",`got ${JSON.stringify($.delimiter_auto.size)}`],$)}let w=JSON.stringify($.delimiter);if($.delimiter_auto!==!1)$.delimiter=[];if(!Array.isArray($.delimiter)){if($.delimiter===void 0||$.delimiter===null||$.delimiter===!1)$.delimiter=Buffer.from(",",$.encoding);$.delimiter=[$.delimiter]}if($.delimiter=$.delimiter.map(function(Q){if(typeof Q==="string")Q=Buffer.from(Q,$.encoding);if(!Buffer.isBuffer(Q)||Q.length===0)throw new C1("CSV_INVALID_OPTION_DELIMITER",["Invalid option delimiter:","delimiter must be a non empty string or buffer or array of string|buffer,",`got ${w}`],$);return Q}),$.escape===void 0||$.escape===!0)$.escape=Buffer.from('"',$.encoding);else if(typeof $.escape==="string")$.escape=Buffer.from($.escape,$.encoding);else if($.escape===null||$.escape===!1)$.escape=null;if($.escape!==null){if(!Buffer.isBuffer($.escape))throw Error(`Invalid Option: escape must be a buffer, a string or a boolean, got ${JSON.stringify($.escape)}`)}if($.from===void 0||$.from===null)$.from=1;else{if(typeof $.from==="string"&&/\d+/.test($.from))$.from=parseInt($.from);if(Number.isInteger($.from)){if($.from<0)throw Error(`Invalid Option: from must be a positive integer, got ${JSON.stringify(W.from)}`)}else throw Error(`Invalid Option: from must be an integer, got ${JSON.stringify($.from)}`)}if($.from_line===void 0||$.from_line===null)$.from_line=1;else{if(typeof $.from_line==="string"&&/\d+/.test($.from_line))$.from_line=parseInt($.from_line);if(Number.isInteger($.from_line)){if($.from_line<=0)throw Error(`Invalid Option: from_line must be a positive integer greater than 0, got ${JSON.stringify(W.from_line)}`)}else throw Error(`Invalid Option: from_line must be an integer, got ${JSON.stringify(W.from_line)}`)}if($.ignore_last_delimiters===void 0||$.ignore_last_delimiters===null)$.ignore_last_delimiters=!1;else if(typeof $.ignore_last_delimiters==="number"){if($.ignore_last_delimiters=Math.floor($.ignore_last_delimiters),$.ignore_last_delimiters===0)$.ignore_last_delimiters=!1}else if(typeof $.ignore_last_delimiters!=="boolean")throw new C1("CSV_INVALID_OPTION_IGNORE_LAST_DELIMITERS",["Invalid option `ignore_last_delimiters`:","the value must be a boolean value or an integer,",`got ${JSON.stringify($.ignore_last_delimiters)}`],$);if($.ignore_last_delimiters===!0&&$.columns===!1)throw new C1("CSV_IGNORE_LAST_DELIMITERS_REQUIRES_COLUMNS",["The option `ignore_last_delimiters`","requires the activation of the `columns` option"],$);if($.info===void 0||$.info===null||$.info===!1)$.info=!1;else if($.info!==!0)throw Error(`Invalid Option: info must be true, got ${JSON.stringify($.info)}`);if($.max_record_size===void 0||$.max_record_size===null||$.max_record_size===!1)$.max_record_size=0;else if(Number.isInteger($.max_record_size)&&$.max_record_size>=0);else if(typeof $.max_record_size==="string"&&/\d+/.test($.max_record_size))$.max_record_size=parseInt($.max_record_size);else throw Error(`Invalid Option: max_record_size must be a positive integer, got ${JSON.stringify($.max_record_size)}`);if($.objname===void 0||$.objname===null||$.objname===!1)$.objname=void 0;else if(Buffer.isBuffer($.objname)){if($.objname.length===0)throw Error("Invalid Option: objname must be a non empty buffer");if($.encoding===null);else $.objname=$.objname.toString($.encoding)}else if(typeof $.objname==="string"){if($.objname.length===0)throw Error("Invalid Option: objname must be a non empty string")}else if(typeof $.objname==="number");else throw Error(`Invalid Option: objname must be a string or a buffer, got ${$.objname}`);if($.objname!==void 0){if(typeof $.objname==="number"){if($.columns!==!1)throw Error("Invalid Option: objname index cannot be combined with columns or be defined as a field")}else if($.columns===!1)throw Error("Invalid Option: objname field must be combined with columns or be defined as an index")}if($.on_record===void 0||$.on_record===null)$.on_record=void 0;else if(typeof $.on_record!=="function")throw new C1("CSV_INVALID_OPTION_ON_RECORD",["Invalid option `on_record`:","expect a function,",`got ${JSON.stringify($.on_record)}`],$);if($.on_skip!==void 0&&$.on_skip!==null&&typeof $.on_skip!=="function")throw Error(`Invalid Option: on_skip must be a function, got ${JSON.stringify($.on_skip)}`);if($.quote===null||$.quote===!1||$.quote==="")$.quote=null;else{if($.quote===void 0||$.quote===!0)$.quote=Buffer.from('"',$.encoding);else if(typeof $.quote==="string")$.quote=Buffer.from($.quote,$.encoding);if(!Buffer.isBuffer($.quote))throw Error(`Invalid Option: quote must be a buffer or a string, got ${JSON.stringify($.quote)}`)}if($.raw===void 0||$.raw===null||$.raw===!1)$.raw=!1;else if($.raw!==!0)throw Error(`Invalid Option: raw must be true, got ${JSON.stringify($.raw)}`);if($.record_delimiter===void 0)$.record_delimiter=[];else if(typeof $.record_delimiter==="string"||Buffer.isBuffer($.record_delimiter)){if($.record_delimiter.length===0)throw new C1("CSV_INVALID_OPTION_RECORD_DELIMITER",["Invalid option `record_delimiter`:","value must be a non empty string or buffer,",`got ${JSON.stringify($.record_delimiter)}`],$);$.record_delimiter=[$.record_delimiter]}else if(!Array.isArray($.record_delimiter))throw new C1("CSV_INVALID_OPTION_RECORD_DELIMITER",["Invalid option `record_delimiter`:","value must be a string, a buffer or array of string|buffer,",`got ${JSON.stringify($.record_delimiter)}`],$);if($.record_delimiter=$.record_delimiter.map(function(Q,J){if(typeof Q!=="string"&&!Buffer.isBuffer(Q))throw new C1("CSV_INVALID_OPTION_RECORD_DELIMITER",["Invalid option `record_delimiter`:","value must be a string, a buffer or array of string|buffer",`at index ${J},`,`got ${JSON.stringify(Q)}`],$);else if(Q.length===0)throw new C1("CSV_INVALID_OPTION_RECORD_DELIMITER",["Invalid option `record_delimiter`:","value must be a non empty string or buffer",`at index ${J},`,`got ${JSON.stringify(Q)}`],$);if(typeof Q==="string")Q=Buffer.from(Q,$.encoding);return Q}),typeof $.relax_column_count==="boolean");else if($.relax_column_count===void 0||$.relax_column_count===null)$.relax_column_count=!1;else throw Error(`Invalid Option: relax_column_count must be a boolean, got ${JSON.stringify($.relax_column_count)}`);if(typeof $.relax_column_count_less==="boolean");else if($.relax_column_count_less===void 0||$.relax_column_count_less===null)$.relax_column_count_less=!1;else throw Error(`Invalid Option: relax_column_count_less must be a boolean, got ${JSON.stringify($.relax_column_count_less)}`);if(typeof $.relax_column_count_more==="boolean");else if($.relax_column_count_more===void 0||$.relax_column_count_more===null)$.relax_column_count_more=!1;else throw Error(`Invalid Option: relax_column_count_more must be a boolean, got ${JSON.stringify($.relax_column_count_more)}`);if(typeof $.relax_quotes==="boolean");else if($.relax_quotes===void 0||$.relax_quotes===null)$.relax_quotes=!1;else throw Error(`Invalid Option: relax_quotes must be a boolean, got ${JSON.stringify($.relax_quotes)}`);if(typeof $.skip_empty_lines==="boolean");else if($.skip_empty_lines===void 0||$.skip_empty_lines===null)$.skip_empty_lines=!1;else throw Error(`Invalid Option: skip_empty_lines must be a boolean, got ${JSON.stringify($.skip_empty_lines)}`);if(typeof $.skip_records_with_empty_values==="boolean");else if($.skip_records_with_empty_values===void 0||$.skip_records_with_empty_values===null)$.skip_records_with_empty_values=!1;else throw Error(`Invalid Option: skip_records_with_empty_values must be a boolean, got ${JSON.stringify($.skip_records_with_empty_values)}`);if(typeof $.skip_records_with_error==="boolean");else if($.skip_records_with_error===void 0||$.skip_records_with_error===null)$.skip_records_with_error=!1;else throw Error(`Invalid Option: skip_records_with_error must be a boolean, got ${JSON.stringify($.skip_records_with_error)}`);if($.rtrim===void 0||$.rtrim===null||$.rtrim===!1)$.rtrim=!1;else if($.rtrim!==!0)throw Error(`Invalid Option: rtrim must be a boolean, got ${JSON.stringify($.rtrim)}`);if($.ltrim===void 0||$.ltrim===null||$.ltrim===!1)$.ltrim=!1;else if($.ltrim!==!0)throw Error(`Invalid Option: ltrim must be a boolean, got ${JSON.stringify($.ltrim)}`);if($.trim===void 0||$.trim===null||$.trim===!1)$.trim=!1;else if($.trim!==!0)throw Error(`Invalid Option: trim must be a boolean, got ${JSON.stringify($.trim)}`);if($.trim===!0&&W.ltrim!==!1)$.ltrim=!0;else if($.ltrim!==!0)$.ltrim=!1;if($.trim===!0&&W.rtrim!==!1)$.rtrim=!0;else if($.rtrim!==!0)$.rtrim=!1;if($.to===void 0||$.to===null)$.to=-1;else if($.to!==-1){if(typeof $.to==="string"&&/\d+/.test($.to))$.to=parseInt($.to);if(Number.isInteger($.to)){if($.to<=0)throw Error(`Invalid Option: to must be a positive integer greater than 0, got ${JSON.stringify(W.to)}`)}else throw Error(`Invalid Option: to must be an integer, got ${JSON.stringify(W.to)}`)}if($.to_line===void 0||$.to_line===null)$.to_line=-1;else if($.to_line!==-1){if(typeof $.to_line==="string"&&/\d+/.test($.to_line))$.to_line=parseInt($.to_line);if(Number.isInteger($.to_line)){if($.to_line<=0)throw Error(`Invalid Option: to_line must be a positive integer greater than 0, got ${JSON.stringify(W.to_line)}`)}else throw Error(`Invalid Option: to_line must be an integer, got ${JSON.stringify(W.to_line)}`)}return $};var Go=function(W,$){if(!$)({delimiter_auto:$}=OY({delimiter_auto:!0}));if(typeof W==="string")W=Buffer.from(W);if(Buffer.isBuffer(W))W=((J)=>{let X=[],Y=az({delimiter:[]}),G=(V)=>X.push(V),K=()=>{},H=Y.parse(J,!0,G,K);if(H!==void 0)throw H;return X})(W);let w=Array(127).fill().map(()=>({lines:[]}));W.map(([J],X)=>{for(let Y=0,G=J.length;Y<G;Y++){let K=J.charCodeAt(Y);if(w[K].lines[X]===void 0)w[K].lines[X]=0;w[K].lines[X]++}}),w.map((J,X)=>{J.char_code=X,J.std=nE0(J.lines),J.total=J.lines.reduce((Y,G)=>Y+G,0),J.preferred=!!$.preferred[X],J.score=$.score(J,$)});let Q=w.reduce((J,X)=>J.score>X.score?J:X,{});return String.fromCharCode(Q.char_code)},nE0=function(W){let $=W.length;if($===0)return 0;let w=W.reduce((Q,J)=>Q+J)/$;return Math.sqrt(W.map((Q)=>Math.pow(Q-w,2)).reduce((Q,J)=>Q+J)/$)};var Ko=function(W){return W.every(($)=>$==null||$.toString&&$.toString().trim()==="")},lE0=13,iE0=10,DY={utf8:Buffer.from([239,187,191]),utf16le:Buffer.from([255,254])},az=function(W={}){let $={bytes:0,bytes_records:0,comment_lines:0,empty_lines:0,invalid_field_length:0,lines:1,records:0},w=OY(W);return{info:$,original_options:W,options:w,state:Xo(w),__needMoreData:function(Q,J,X){if(X)return!1;let{encoding:Y,escape:G,quote:K}=this.options,{quoting:H,needMoreDataSize:V,recordDelimiterMaxLength:Z}=this.state,q=J-Q-1,N=Math.max(V,Z===0?Buffer.from(`\r
|
|
1300
1300
|
`,Y).length:Z,H?(G===null?0:G.length)+K.length:0,H?K.length+Z:0);return q<N},parse:function(Q,J,X,Y){let{bom:G,comment_no_infix:K,delimiter_auto:H,encoding:V,from_line:Z,ltrim:q,max_record_size:N,raw:U,relax_quotes:z,rtrim:O,skip_empty_lines:R,to:F,to_line:D}=this.options,{comment:T,escape:A,quote:S,record_delimiter:f}=this.options,{bomSkipped:_,delimiterDiscovered:m,delimiterBufPrevious:v,rawBuffer:u,escapeIsQuote:i}=this.state;if(!m&&H){let l;if(v===void 0)l=Q;else if(v!==void 0&&Q===void 0)l=v;else l=Buffer.concat([v,Q]);if(Q=void 0,J||l.length>H.size)this.options.delimiter=[Buffer.from(Go(l,this.options.delimiter_auto))],this.state.previousBuf=l,this.state.delimiterBufPrevious=void 0,this.state.delimiterDiscovered=!0;else{this.state.delimiterBufPrevious=l;return}}let{previousBuf:$0}=this.state,a;if($0===void 0)if(Q===void 0){Y();return}else a=Q;else if($0!==void 0&&Q===void 0)a=$0;else a=Buffer.concat([$0,Q]);if(_===!1)if(G===!1)this.state.bomSkipped=!0;else if(a.length<3){if(J===!1){this.state.previousBuf=a;return}}else{for(let l in DY)if(DY[l].compare(a,0,DY[l].length)===0){let z0=DY[l].length;this.state.bufBytesStart+=z0,a=a.slice(z0);let _0=OY({...this.original_options,encoding:l});for(let T0 in _0)this.options[T0]=_0[T0];({comment:T,escape:A,quote:S}=this.options);break}this.state.bomSkipped=!0}let W0=a.length,t;for(t=0;t<W0;t++){if(this.__needMoreData(t,W0,J))break;if(this.state.wasRowDelimiter===!0)this.info.lines++,this.state.wasRowDelimiter=!1;if(D!==-1&&this.info.lines>D){this.state.stop=!0,Y();return}if(this.state.quoting===!1&&f.length===0){if(this.__autoDiscoverRecordDelimiter(a,t))f=this.options.record_delimiter}let l=a[t];if(U===!0)u.append(l);if((l===lE0||l===iE0)&&this.state.wasRowDelimiter===!1)this.state.wasRowDelimiter=!0;if(this.state.escaping===!0)this.state.escaping=!1;else{if(A!==null&&this.state.quoting===!0&&this.__isEscape(a,t,l)&&t+A.length<W0)if(i){if(this.__isQuote(a,t+A.length)){this.state.escaping=!0,t+=A.length-1;continue}}else{this.state.escaping=!0,t+=A.length-1;continue}if(this.state.commenting===!1&&this.__isQuote(a,t))if(this.state.quoting===!0){let T0=a[t+S.length],g0=O&&this.__isCharTrimable(a,t+S.length),A0=T!==null&&this.__compareBytes(T,a,t+S.length,T0),i0=this.__isDelimiter(a,t+S.length,T0),k0=f.length===0?this.__autoDiscoverRecordDelimiter(a,t+S.length):this.__isRecordDelimiter(T0,a,t+S.length);if(A!==null&&this.__isEscape(a,t,l)&&this.__isQuote(a,t+A.length))t+=A.length-1;else if(!T0||i0||k0||A0||g0){this.state.quoting=!1,this.state.wasQuoting=!0,t+=S.length-1;continue}else if(z===!1){let b5=this.__error(new C1("CSV_INVALID_CLOSING_QUOTE",["Invalid Closing Quote:",`got "${String.fromCharCode(T0)}"`,`at line ${this.info.lines}`,"instead of delimiter, record delimiter, trimable character","(if activated) or comment"],this.options,this.__infoField()));if(b5!==void 0)return b5}else this.state.quoting=!1,this.state.wasQuoting=!0,this.state.field.prepend(S),t+=S.length-1}else if(this.state.field.length!==0){if(z===!1){let T0=this.__infoField(),g0=Object.keys(DY).map((i0)=>DY[i0].equals(this.state.field.toString())?i0:!1).filter(Boolean)[0],A0=this.__error(new C1("INVALID_OPENING_QUOTE",["Invalid Opening Quote:",`a quote is found on field ${JSON.stringify(T0.column)} at line ${T0.lines}, value is ${JSON.stringify(this.state.field.toString(V))}`,g0?`(${g0} bom)`:void 0],this.options,T0,{field:this.state.field}));if(A0!==void 0)return A0}}else{this.state.quoting=!0,t+=S.length-1;continue}if(this.state.quoting===!1){let T0=this.__isRecordDelimiter(l,a,t);if(T0!==0){if(this.state.commenting&&this.state.wasQuoting===!1&&this.state.record.length===0&&this.state.field.length===0)this.info.comment_lines++;else{if(this.state.enabled===!1&&this.info.lines+(this.state.wasRowDelimiter===!0?1:0)>=Z){this.state.enabled=!0,this.__resetField(),this.__resetRecord(),t+=T0-1;continue}if(R===!0&&this.state.wasQuoting===!1&&this.state.record.length===0&&this.state.field.length===0){this.info.empty_lines++,t+=T0-1;continue}this.info.bytes=this.state.bufBytesStart+t;let i0=this.__onField();if(i0!==void 0)return i0;this.info.bytes=this.state.bufBytesStart+t+T0;let k0=this.__onRecord(X);if(k0!==void 0)return k0;if(F!==-1&&this.info.records>=F){this.state.stop=!0,Y();return}}this.state.commenting=!1,t+=T0-1;continue}if(this.state.commenting)continue;if(T!==null&&(K===!1||this.state.record.length===0&&this.state.field.length===0)){if(this.__compareBytes(T,a,t,l)!==0){this.state.commenting=!0;continue}}let g0=this.__isDelimiter(a,t,l);if(g0!==0){this.info.bytes=this.state.bufBytesStart+t;let A0=this.__onField();if(A0!==void 0)return A0;t+=g0-1;continue}}}if(this.state.commenting===!1){if(N!==0&&this.state.record_length+this.state.field.length>N)return this.__error(new C1("CSV_MAX_RECORD_SIZE",["Max Record Size:","record exceed the maximum number of tolerated bytes",`of ${N}`,`at line ${this.info.lines}`],this.options,this.__infoField()))}let z0=q===!1||this.state.quoting===!0||this.state.field.length!==0||!this.__isCharTrimable(a,t),_0=O===!1||this.state.wasQuoting===!1;if(z0===!0&&_0===!0)this.state.field.append(l);else if(O===!0&&!this.__isCharTrimable(a,t))return this.__error(new C1("CSV_NON_TRIMABLE_CHAR_AFTER_CLOSING_QUOTE",["Invalid Closing Quote:","found non trimable byte after quote",`at line ${this.info.lines}`],this.options,this.__infoField()));else{if(z0===!1)t+=this.__isCharTrimable(a,t)-1;continue}}if(J===!0){if(this.state.quoting===!0){let l=this.__error(new C1("CSV_QUOTE_NOT_CLOSED",["Quote Not Closed:",`the parsing is finished with an opening quote at line ${this.info.lines}`],this.options,this.__infoField()));if(l!==void 0)return l}else if(this.state.wasQuoting===!0||this.state.record.length!==0||this.state.field.length!==0){this.info.bytes=this.state.bufBytesStart+t;let l=this.__onField();if(l!==void 0)return l;let z0=this.__onRecord(X);if(z0!==void 0)return z0}else if(this.state.wasRowDelimiter===!0)this.info.empty_lines++;else if(this.state.commenting===!0)this.info.comment_lines++}else this.state.bufBytesStart+=t,this.state.previousBuf=a.slice(t);if(this.state.wasRowDelimiter===!0)this.info.lines++,this.state.wasRowDelimiter=!1},__onRecord:function(Q){let{columns:J,group_columns_by_name:X,encoding:Y,info:G,from:K,relax_column_count:H,relax_column_count_less:V,relax_column_count_more:Z,raw:q,skip_records_with_empty_values:N}=this.options,{enabled:U,record:z}=this.state;if(U===!1)return this.__resetRecord();let O=z.length;if(J===!0){if(N===!0&&Ko(z)){this.__resetRecord();return}return this.__firstLineToColumns(z)}if(J===!1&&this.info.records===0)this.state.expectedRecordLength=O;if(O!==this.state.expectedRecordLength){let R=J===!1?new C1("CSV_RECORD_INCONSISTENT_FIELDS_LENGTH",["Invalid Record Length:",`expect ${this.state.expectedRecordLength},`,`got ${O} on line ${this.info.lines}`],this.options,this.__infoField(),{record:z}):new C1("CSV_RECORD_INCONSISTENT_COLUMNS",["Invalid Record Length:",`columns length is ${J.length},`,`got ${O} on line ${this.info.lines}`],this.options,this.__infoField(),{record:z});if(H===!0||V===!0&&O<this.state.expectedRecordLength||Z===!0&&O>this.state.expectedRecordLength)this.info.invalid_field_length++,this.state.error=R;else{let F=this.__error(R);if(F)return F}}if(N===!0&&Ko(z)){this.__resetRecord();return}if(this.state.recordHasError===!0){this.__resetRecord(),this.state.recordHasError=!1;return}if(this.info.records++,K===1||this.info.records>=K){let{objname:R}=this.options;if(J!==!1){let F={};for(let D=0,T=z.length;D<T;D++){if(J[D]===void 0||J[D].disabled)continue;if(X===!0&&F[J[D].name]!==void 0)if(Array.isArray(F[J[D].name]))F[J[D].name]=F[J[D].name].concat(z[D]);else F[J[D].name]=[F[J[D].name],z[D]];else F[J[D].name]=z[D]}if(q===!0||G===!0){let D=Object.assign({record:F},q===!0?{raw:this.state.rawBuffer.toString(Y)}:{},G===!0?{info:this.__infoRecord()}:{}),T=this.__push(R===void 0?D:[F[R],D],Q);if(T)return T}else{let D=this.__push(R===void 0?F:[F[R],F],Q);if(D)return D}}else if(q===!0||G===!0){let F=Object.assign({record:z},q===!0?{raw:this.state.rawBuffer.toString(Y)}:{},G===!0?{info:this.__infoRecord()}:{}),D=this.__push(R===void 0?F:[z[R],F],Q);if(D)return D}else{let F=this.__push(R===void 0?z:[z[R],z],Q);if(F)return F}}this.__resetRecord()},__firstLineToColumns:function(Q){let{firstLineToHeaders:J}=this.state;try{let X=J===void 0?Q:J.call(null,Q);if(!Array.isArray(X))return this.__error(new C1("CSV_INVALID_COLUMN_MAPPING",["Invalid Column Mapping:","expect an array from column function,",`got ${JSON.stringify(X)}`],this.options,this.__infoField(),{headers:X}));let Y=oz(X);this.state.expectedRecordLength=Y.length,this.options.columns=Y,this.__resetRecord();return}catch(X){return X}},__resetRecord:function(){if(this.options.raw===!0)this.state.rawBuffer.reset();this.state.error=void 0,this.state.record=[],this.state.record_length=0},__onField:function(){let{cast:Q,encoding:J,rtrim:X,max_record_size:Y}=this.options,{enabled:G,wasQuoting:K}=this.state;if(G===!1)return this.__resetField();let H=this.state.field.toString(J);if(X===!0&&K===!1)H=H.trimRight();if(Q===!0){let[V,Z]=this.__cast(H);if(V!==void 0)return V;H=Z}if(this.state.record.push(H),Y!==0&&typeof H==="string")this.state.record_length+=H.length;this.__resetField()},__resetField:function(){this.state.field.reset(),this.state.wasQuoting=!1},__push:function(Q,J){let{on_record:X}=this.options;if(X!==void 0){let Y=this.__infoRecord();try{Q=X.call(null,Q,Y)}catch(G){return G}if(Q===void 0||Q===null)return}this.info.bytes_records+=this.info.bytes,J(Q)},__cast:function(Q){let{columns:J,relax_column_count:X}=this.options;if(Array.isArray(J)===!0&&X&&this.options.columns.length<=this.state.record.length)return[void 0,void 0];if(this.state.castField!==null)try{let G=this.__infoField();return[void 0,this.state.castField.call(null,Q,G)]}catch(G){return[G]}if(this.__isFloat(Q))return[void 0,parseFloat(Q)];else if(this.options.cast_date!==!1){let G=this.__infoField();return[void 0,this.options.cast_date.call(null,Q,G)]}return[void 0,Q]},__compareBytes:function(Q,J,X,Y){if(Q[0]!==Y)return 0;let G=Q.length;for(let K=1;K<G;K++)if(Q[K]!==J[X+K])return 0;return G},__isCharTrimable:function(Q,J){let{timchars:X,timcharFirstBytes:Y}=this.state,G=Q[J];if(G===void 0||Y[G]===0)return 0;W:for(let K=0;K<X.length;K++){let H=X[K];for(let V=0;V<H.length;V++)if(H[V]!==Q[J+V])continue W;return H.length}return 0},__isDelimiter:function(Q,J,X){let{delimiter:Y,ignore_last_delimiters:G}=this.options;if(G===!0&&this.state.record.length===this.options.columns.length-1)return 0;else if(G!==!1&&typeof G==="number"&&this.state.record.length===G-1)return 0;W:for(let K=0;K<Y.length;K++){let H=Y[K];if(H[0]===X){for(let V=1;V<H.length;V++)if(H[V]!==Q[J+V])continue W;return H.length}}return 0},__isEscape:function(Q,J,X){let{escape:Y}=this.options;if(Y===null)return!1;let G=Y.length;if(Y[0]===X){for(let K=0;K<G;K++)if(Y[K]!==Q[J+K])return!1;return!0}return!1},__isFloat:function(Q){return Q-parseFloat(Q)+1>=0},__isQuote:function(Q,J){let{quote:X}=this.options;if(X===null)return!1;let Y=X.length;for(let G=0;G<Y;G++)if(X[G]!==Q[J+G])return!1;return!0},__isRecordDelimiter:function(Q,J,X){let{record_delimiter:Y}=this.options,G=Y.length;W:for(let K=0;K<G;K++){let H=Y[K],V=H.length;if(H[0]!==Q)continue;for(let Z=1;Z<V;Z++)if(H[Z]!==J[X+Z])continue W;return H.length}return 0},__autoDiscoverRecordDelimiter:function(Q,J){let{encoding:X}=this.options,Y=[Buffer.from(`\r
|
|
1301
1301
|
`,X),Buffer.from(`
|
|
1302
|
-
`,X),Buffer.from("\r",X)];W:for(let G=0;G<Y.length;G++){let K=Y[G].length;for(let H=0;H<K;H++)if(Y[G][H]!==Q[J+H])continue W;return this.options.record_delimiter.push(Y[G]),this.state.recordDelimiterMaxLength=Y[G].length,Y[G].length}return 0},__error:function(Q){let{encoding:J,raw:X,skip_records_with_error:Y}=this.options,G=typeof Q==="string"?Error(Q):Q;if(Y){if(this.state.recordHasError=!0,this.options.on_skip!==void 0)try{this.options.on_skip(G,X?this.state.rawBuffer.toString(J):void 0)}catch(K){return K}return}else return G},__infoDataSet:function(){return{...this.info,columns:this.options.columns}},__infoRecord:function(){let{columns:Q,raw:J,encoding:X}=this.options;return{...this.__infoDataSet(),bytes_records:this.info.bytes,error:this.state.error,header:Q===!0,index:this.state.record.length,raw:J?this.state.rawBuffer.toString(X):void 0}},__infoField:function(){let{columns:Q}=this.options,J=Array.isArray(Q),X=this.info.bytes_records;return{...this.__infoRecord(),bytes_records:X,column:J===!0?Q.length>this.state.record.length?Q[this.state.record.length].name:null:this.state.record.length,quoting:this.state.wasQuoting}}}};var Ho=function(W,$={}){if(typeof W==="string")W=Buffer.from(W);let w=$&&$.objname?Object.create(null):[],Q=az($),J=(G)=>{if(Q.options.objname===void 0)w.push(G);else w[G[0]]=G[1]},X=()=>{},Y=Q.parse(W,!0,J,X);if(Y!==void 0)throw Y;return w};import*as s1 from"fs";import*as Mo from"os";import*as bW from"path";import Vo from"pdfkit";import q9 from"sharp";import{promisify as aE0}from"util";var tT={apch:"Apple ProRes 422 High Quality",apcn:"Apple ProRes 422 Standard Definition",apcs:"Apple ProRes 422 LT",apco:"Apple ProRes 422 Proxy",ap4h:"Apple ProRes 4444",jpeg:"JPEG Image","3gvo":"3GPP Video Orientation",a3d1:"Multiview Video Coding",a3d2:"Multiview Video Coding",a3d3:"Multiview Video Coding",a3d4:"Multiview Video Coding",a3ds:"Auro-Cx 3D audio","ac-3":"AC-3 audio","ac-4":"AC-4 audio",alac:"Apple lossless audio codec",alaw:"a-Law",av01:"AV1 video",avc1:"Advanced Video Coding",avc2:"Advanced Video Coding",avc3:"Advanced Video Coding",avc4:"Advanced Video Coding",avcp:"Advanced Video Coding Parameters",dra1:"DRA Audio",drac:"Dirac Video Coder","dts-":"Dependent base layer for DTS layered audio","dts+":"Enhancement layer for DTS layered audio",dtsc:"DTS Coherent Acoustics audio",dtse:"DTS Express low bit rate audio, also known as DTS LBR",dtsh:"DTS-HD High Resolution Audio",dtsl:"DTS-HD Master Audio",dtsx:"DTS:X",dvav:"AVC-based \u201CDolby Vision\u201D",dvhe:"HEVC-based \u201CDolby Vision\u201D","ec-3":"Enhanced AC-3 audio",enca:"Encrypted/Protected audio",encf:"Encrypted/Protected font",encm:"Encrypted/Protected metadata stream",encs:"Encrypted Systems stream",enct:"Encrypted Text",encv:"Encrypted/protected video",fdp:"File delivery hints",fLaC:"Fres Lossless Audio Codec",g719:"ITU-T Recommendation G.719 (2008)",g726:"ITU-T Recommendation G.726 (1990)",hev1:"High Efficiency Video Coding",hvc1:"High Efficiency Video Coding",hvt1:"High Efficiency Video Coding",ixse:"DVB Track Level Index Track",lhe1:"Layered High Efficiency Video Coding",lht1:"Layered High Efficiency Video Coding",lhv1:"Layered High Efficiency Video Coding",m2ts:"MPEG-2 transport stream for DMB",m4ae:"MPEG-4 Audio Enhancement MP4v1/2",mett:"Text timed metadata that is not XML",metx:"XML timed metadata",mha1:"MPEG-H Audio (single stream, uncapsulated)",mha2:"MPEG-H Audio (multi-stream, unencapsulated)",mhm1:"MPEG-H Audio (single stream, MHAS encapsulated)",mhm2:"MPEG-H Audio (multi-stream, MHAS encapsulated)",mjp2:"Motion JPEG 2000",mlix:"DVB Movie level index track",mlpa:"MLP Audio",mp4a:"MPEG-4 Audio",mp4s:"MPEG-4 Systems",mp4v:"MPEG-4 Visual",mvc1:"Multiview coding",mvc2:"Multiview coding",mvc3:"Multiview coding",mvc4:"Multiview coding",mvd1:"Multiview coding",mvd2:"Multiview coding",mvd3:"Multiview coding",mvd4:"Multiview coding",oksd:"OMA Keys",Opus:"Opus audio coding",pm2t:"Protected MPEG-2 Transport",prtp:"Protected RTP Reception",raw:"Uncompressed audio",resv:"Restricted Video",rm2t:"MPEG-2 Transport Reception",rrtp:"RTP reception",rsrp:"SRTP Reception",rtmd:"Real Time Metadata Sample Entry(XAVC Format)",rtp:"RTP Hints",s263:"ITU H.263 video (3GPP format)",samr:"Narrowband AMR voice",sawb:"Wideband AMR voice",sawp:"Extended AMR-WB (AMR-WB+)",sevc:"EVRC Voice",sm2t:"MPEG-2 Transport Server",sqcp:"13K Voice",srtp:"SRTP Hints",ssmv:"SMV Voice",STGS:"Subtitle Sample Entry (HMMP)",stpp:"Subtitles (Timed Text)",svc1:"Scalable Video Coding",svc2:"Scalable Video Coding",svcM:"SVC Metadata",tc64:"64 bit timecode samples",tmcd:"32 bit timecode samples",twos:"Uncompressed 16-bit audio",tx3g:"Timed Text stream",ulaw:"Samples have been compressed using uLaw 2:1.",unid:"Dynamic Range Control (DRC) data",urim:"Binary timed metadata identified by URI","vc-1":"SMPTE VC-1",vp08:"VP8 video",vp09:"VP9 video",wvtt:"WebVTT"};var P$=aE0(oE0);function Zo(){let W=[...process.env.PDF_CJK_FONT_PATH?[{fontPath:process.env.PDF_CJK_FONT_PATH,fontName:process.env.PDF_CJK_FONT_NAME}]:[],{fontPath:"/System/Library/Fonts/Supplemental/Arial Unicode.ttf"},{fontPath:"/Library/Fonts/Arial Unicode.ttf"},{fontPath:"/System/Library/Fonts/PingFang.ttc",fontName:"PingFangSC-Regular"},{fontPath:"/System/Library/Fonts/STHeiti Light.ttc",fontName:"STHeitiSC-Light"},{fontPath:"/usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc",fontName:"NotoSansCJKsc-Regular"},{fontPath:"/usr/share/fonts/truetype/noto/NotoSansCJK-Regular.ttc",fontName:"NotoSansCJKsc-Regular"},{fontPath:"/usr/share/fonts/truetype/wqy/wqy-zenhei.ttc",fontName:"WenQuanYiZenHei"},{fontPath:"/usr/share/fonts/truetype/arphic/ukai.ttc",fontName:"AR-PL-UKai-CN"},{fontPath:"/usr/share/fonts/noto/NotoSansCJK-Regular.ttc",fontName:"Noto Sans CJK SC"},{fontPath:"/usr/share/fonts/truetype/droid/DroidSansFallbackFull.ttf"},{fontPath:"/usr/share/fonts/truetype/droid/DroidSansFallback.ttf"},{fontPath:"/usr/share/fonts/google-droid/DroidSansFallback.ttf"},{fontPath:"C:\\Windows\\Fonts\\msyh.ttc",fontName:"MicrosoftYaHei"},{fontPath:"C:\\Windows\\Fonts\\simsun.ttc",fontName:"SimSun"},{fontPath:"C:\\Windows\\Fonts\\simhei.ttf"}];for(let $ of W)if(s1.existsSync($.fontPath))return $;return}function rE0(W){try{return Ho(W,{skip_empty_lines:!0,relax_column_count:!0,relax_quotes:!0,trim:!0,delimiter_auto:!0})}catch{return W.split(/\r?\n/).filter(($)=>$.trim().length>0).map(($)=>$.split(",").map((w)=>w.trim()))}}function qo(W){if(typeof W==="string"){if(W.toLowerCase().endsWith(".psd"))return!0;if(s1.existsSync(W))try{let $=s1.openSync(W,"r"),w=Buffer.alloc(4);return s1.readSync($,w,0,4,0),s1.closeSync($),w.toString("ascii")==="8BPS"}catch{return!1}return!1}return W.length>=4&&W[0]===56&&W[1]===66&&W[2]===80&&W[3]===83}class No{prismaClient;constructor(W=k){this.prismaClient=W}async execImageMagick(W){try{return await P$("magick",W)}catch($){if($?.code==="ENOENT")return await P$("convert",W);throw $}}async execImageMagickIdentify(W){let $=`${W}[0]`,w;try{w=(await P$("magick",["identify","-format","%w %h",$])).stdout}catch(Y){if(Y?.code==="ENOENT")w=(await P$("identify",["-format","%w %h",$])).stdout;else throw Y}let Q=w.trim().split(/\s+/),J=parseInt(Q[0],10)||0,X=parseInt(Q[1],10)||0;return{width:J,height:X}}resolveCodecName(W){let $=W.mime_codec_string||W.tags?.mime_codec_string;if($&&typeof $==="string"){let w=$.split(".")[0];if(tT[w])return tT[w]}return W.codec_name}safeParseInt(W){if(W===void 0||W===null)return;let $=typeof W==="string"?parseInt(W,10):W;return Number.isFinite($)?$:void 0}async getVideoInfo(W){let{stdout:$}=await P$("ffprobe",["-v","quiet","-print_format","json","-show_format","-show_streams",W]),w=JSON.parse($),Q=w.streams.find((H)=>H.codec_type==="video"),J=w.streams.find((H)=>H.codec_type==="audio");if(!Q)throw Error("No video stream found");let X=0;if(Q.avg_frame_rate){let H=Q.avg_frame_rate.split("/");if(H.length===2){let V=parseFloat(H[0]),Z=parseFloat(H[1]);if(Z>0)X=V/Z}}if(X===0&&Q.r_frame_rate){let H=Q.r_frame_rate.split("/");if(H.length===2){let V=parseFloat(H[0]),Z=parseFloat(H[1]);if(Z>0)X=V/Z}}let Y=parseFloat(w.format.duration),G=0;if(Q.nb_frames)G=parseInt(Q.nb_frames,10);if(!G&&X>0&&!isNaN(Y))G=Math.round(Y*X);let K=Q.tags?.timecode||w.format?.tags?.timecode;return{originalWidth:Q.width,originalHeight:Q.height,duration:Y,bitRate:parseFloat(w.format.bit_rate),frameRate:X||30,totalFrames:G||0,startTimecode:K,hasAudio:!!J,videoCodec:this.resolveCodecName(Q),audioCodec:J?this.resolveCodecName(J):void 0,audioChannels:J?.channels,audioSampleRate:this.safeParseInt(J?.sample_rate),audioBitDepth:this.safeParseInt(J?.bits_per_raw_sample)??this.safeParseInt(J?.bits_per_sample),mimeType:""}}async getImageInfo(W){let $=W,w=null;if(W.startsWith("http")){let J=await fetch(W);if(!J.ok)throw Error(`Failed to fetch image from ${W}: ${J.statusText}`);$=Buffer.from(await J.arrayBuffer())}if(qo($)){let J;if(typeof $==="string")J=$;else w=this.createTempDir("psd-info-"),J=bW.join(w,"input.psd"),s1.writeFileSync(J,$);try{let{width:X,height:Y}=await this.execImageMagickIdentify(J);return{originalWidth:X,originalHeight:Y,duration:0,bitRate:0,frameRate:0,totalFrames:0,startTimecode:void 0,hasAudio:!1,mimeType:"psd"}}catch(X){console.warn("ImageMagick identify failed for PSD, falling back to sharp:",X)}finally{if(w)this.removeDir(w)}}let Q=await q9($,{limitInputPixels:!1}).metadata();return{originalWidth:Q.width||0,originalHeight:Q.height||0,duration:0,bitRate:0,frameRate:0,totalFrames:0,startTimecode:void 0,hasAudio:!1,mimeType:Q.format||""}}async transcodeVideo(W){let $=`[0:v]scale=w=${W.width}:h=${W.height}:force_original_aspect_ratio=decrease,scale=w='trunc(iw/2)*2':h='trunc(ih/2)*2'`;if(W.frameRate)$+=`,fps=${W.frameRate}`;$+="[vout]";let w=["-i",W.inputFile,"-filter_complex",$,"-map","[vout]"];if(W.frameRate){let Q;if(typeof W.frameRate==="number")Q=W.frameRate;else{let J=W.frameRate.split("/");if(J.length===2)Q=parseFloat(J[0])/parseFloat(J[1]);else Q=parseFloat(W.frameRate)}if(Number.isFinite(Q)&&Q>0){let J=Math.max(1,Math.round(Q));w.push("-r",Q.toString(),"-g",J.toString(),"-force_key_frames","expr:gte(t,n_forced*1)")}}if(!W.disableAudio)w.push("-map","0:a?");if(w.push("-c:v","libx264","-preset","fast","-crf","26"),!W.disableAudio)w.push("-c:a","aac","-b:a","128k");w.push("-movflags","+faststart","-max_muxing_queue_size","1024",W.outputFile),await P$("ffmpeg",["-y","-loglevel","warning",...w])}async transcodeImage(W,$,w,Q,J=null){let X=W;if(typeof W==="string"&&W.startsWith("http")){let V=await fetch(W);if(!V.ok)throw Error(`Failed to fetch image from ${W}: ${V.statusText}`);X=Buffer.from(await V.arrayBuffer())}let Y=7680,G=w>0?Math.min(w,Y):Y,K=J&&J>0?Math.min(J,Y):Y;if(qo(X)){let V,Z=null;if(typeof X==="string")V=X;else Z=this.createTempDir("psd-transcode-"),V=bW.join(Z,"input.psd"),s1.writeFileSync(V,X);try{let q=K<Y?`${G}x${K}>`:`${G}x${Y}>`;await this.execImageMagick([`${V}[0]`,"-colorspace","sRGB","-resize",q,"-quality",Q.toString(),$]);return}finally{if(Z)this.removeDir(Z)}}let H=q9(X,{limitInputPixels:!1});H.toColorspace("srgb").resize(G,K,{withoutEnlargement:!0,fit:"inside"}),await H.webp({quality:Q}).toFile($)}async generateSprite(W,$,w,Q){let X=`[0:v]fps=${100/Q},scale=w=480:h=-2,tile=10x10[sprite_out];[0:v]scale=-2:480:force_original_aspect_ratio=decrease,select='eq(n\\,0)'[thumb_out]`;await P$("ffmpeg",["-y","-loglevel","warning",...["-i",W,"-filter_complex",X,"-map","[sprite_out]","-frames:v","1","-c:v","libwebp","-q:v","75",$,"-map","[thumb_out]","-c:v","libwebp","-q:v","75","-frames:v","1","-max_muxing_queue_size","1024",w]])}async generatePdfSprite(W,$,w){let Q=this.createTempDir("pdf-sprite-");try{let J=bW.join(Q,"page");try{await P$("pdftoppm",["-png","-f","1","-l","100",W,J])}catch(N){let U=N?.code,z=N instanceof Error?N.message:String(N),O=z.toLowerCase();if(U==="ENOENT"||O.includes("enoent")||O.includes("not found")&&O.includes("pdftoppm"))throw Error(`pdftoppm executable not found in $PATH. Please install poppler-utils / poppler. (${z})`,{cause:N});throw N}let X=s1.readdirSync(Q).filter((N)=>N.endsWith(".png"));if(X.length===0)throw Error("pdftoppm produced no image outputs");X.sort((N,U)=>{let z=parseInt(N.replace(/[^0-9]/g,""),10),O=parseInt(U.replace(/[^0-9]/g,""),10);return z-O});let Y=X.length,G=bW.join(Q,X[0]),K=await q9(G,{limitInputPixels:!1}).metadata(),H=K.width||800,V=K.height||1000;for(let N=1;N<=100;N++){let U=Math.min(Y-1,Math.floor((N-1)*Y/100)),z=bW.join(Q,X[U]),O=bW.join(Q,`frame_${N}.png`);if(z!==O)s1.copyFileSync(z,O)}let Z=["-i",bW.join(Q,"frame_%d.png"),"-filter_complex","scale=w=480:h=-2,tile=10x10","-frames:v","1","-c:v","libwebp","-q:v","75",$];await P$("ffmpeg",["-y","-loglevel","warning",...Z]),await q9(G,{limitInputPixels:!1}).toColorspace("srgb").resize(480,null,{withoutEnlargement:!0,fit:"inside"}).webp({quality:75}).toFile(w);let q=Y;try{let{stdout:N}=await P$("pdfinfo",[W]),U=N.match(/Pages:\s+(\d+)/);if(U)q=parseInt(U[1],10)}catch{}return{pageCount:q,originalWidth:H,originalHeight:V}}finally{this.removeDir(Q)}}async getPdfInfo(W){let $=this.createTempDir("pdf-info-"),w=800,Q=1000,J=1;try{let X=bW.join($,"page");await P$("pdftoppm",["-png","-f","1","-l","1",W,X]);let Y=s1.readdirSync($).filter((G)=>G.endsWith(".png"));if(Y.length>0){let G=await q9(bW.join($,Y[0]),{limitInputPixels:!1}).metadata();w=G.width||800,Q=G.height||1000}}catch(X){console.warn("pdftoppm not available for PDF dimensions extraction:",X)}try{let{stdout:X}=await P$("pdfinfo",[W]),Y=X.match(/Pages:\s+(\d+)/);if(Y)J=parseInt(Y[1],10)}catch{}finally{this.removeDir($)}return{originalWidth:w,originalHeight:Q,duration:0,bitRate:0,frameRate:0,totalFrames:J,hasAudio:!1,mimeType:"application/pdf"}}async generatePdfFromText(W,$){let w=s1.readFileSync(W,"utf-8"),J=/[\u3000-\u303f\u3040-\u309f\u30a0-\u30ff\u4e00-\u9fff\uac00-\ud7af]/.test(w)?Zo():void 0;return new Promise((X,Y)=>{let G=new Vo({size:"A4",margin:40,bufferPages:!0}),K=s1.createWriteStream($);if(G.pipe(K),J)if(J.fontName!==void 0)G.font(J.fontPath,J.fontName);else G.font(J.fontPath);else G.font("Helvetica");G.fontSize(10),G.text(w,{lineGap:3,paragraphGap:4}),G.end(),K.on("finish",()=>X()),K.on("error",(H)=>Y(H))})}async generatePdfFromCsv(W,$){let w=s1.readFileSync(W,"utf-8"),Q=rE0(w),X=/[\u3000-\u303f\u3040-\u309f\u30a0-\u30ff\u4e00-\u9fff\uac00-\ud7af]/.test(w)?Zo():void 0;if(Q.length===0)Q.push(["(Empty CSV)"]);let Y=Math.max(...Q.map((K)=>K.length)),G=Y>5;return new Promise((K,H)=>{let V=new Vo({size:"A4",layout:G?"landscape":"portrait",margin:30,bufferPages:!0}),Z=s1.createWriteStream($);V.pipe(Z);let q=()=>{if(X)if(X.fontName!==void 0)V.font(X.fontPath,X.fontName);else V.font(X.fontPath);else V.font("Helvetica");V.fontSize(9)};q();let N=V.page.width-V.page.margins.left-V.page.margins.right,U=Math.max(40,N/Y),z=V.page.margins.left,O=V.page.margins.top,R=20,F=(T,A,S)=>{if(A)V.rect(z,S,U*Y,R).fill("#e0e0e0"),V.fillColor("#000000");for(let f=0;f<Y;f++){let _=T[f]||"",m=z+f*U;V.rect(m,S,U,R).stroke("#cccccc"),V.fillColor("#000000").text(_,m+4,S+5,{width:U-8,height:R-6,ellipsis:!0})}},D=Q[0];F(D,!0,O),O+=R;for(let T=1;T<Q.length;T++){if(O+R>V.page.height-V.page.margins.bottom)V.addPage(),q(),O=V.page.margins.top,F(D,!0,O),O+=R;F(Q[T],!1,O),O+=R}V.end(),Z.on("finish",()=>K()),Z.on("error",(T)=>H(T))})}async extractAudio(W,$,w){await P$("ffmpeg",["-y","-loglevel","warning",...["-i",W,"-vn","-acodec","libmp3lame","-b:a",w,$]])}async getAudioInfo(W){let{stdout:$}=await P$("ffprobe",["-v","quiet","-print_format","json","-show_format","-show_streams",W]),w=JSON.parse($),Q=w.streams.find((X)=>X.codec_type==="audio");if(!Q)throw Error("No audio stream found");let J=parseFloat(w.format.duration);return{originalWidth:0,originalHeight:0,duration:isNaN(J)?0:J,bitRate:parseFloat(w.format.bit_rate)||0,frameRate:0,totalFrames:0,startTimecode:void 0,hasAudio:!0,videoCodec:void 0,audioCodec:this.resolveCodecName(Q),audioChannels:Q?.channels,audioSampleRate:this.safeParseInt(Q?.sample_rate),audioBitDepth:this.safeParseInt(Q?.bits_per_raw_sample)??this.safeParseInt(Q?.bits_per_sample),mimeType:""}}async transcodeAudio(W){let $=W.bitrate||"128k",w=["-i",W.inputFile,"-vn","-c:a","aac","-b:a",$,"-ac","2",W.outputFile];await P$("ffmpeg",["-y","-loglevel","warning",...w])}async extractVideoFrames(W){if(W.isImage){let Y=bW.join(W.outputDir,"1.webp");return await this.transcodeImage(W.inputFile,Y,-1,80,W.frameHeight),[Y]}let $=await this.getVideoInfo(W.inputFile),w=W.numFrames/$.duration,Q=bW.join(W.outputDir,"%d.webp"),J=["-i",W.inputFile,"-vf",`fps=${w},scale=-2:${W.frameHeight}`,"-c:v","libwebp","-q:v","80",Q];return await P$("ffmpeg",["-y","-loglevel","warning",...J]),s1.readdirSync(W.outputDir).filter((Y)=>Y.endsWith(".webp")).sort((Y,G)=>{let K=parseInt(bW.basename(Y,".webp")),H=parseInt(bW.basename(G,".webp"));return K-H}).map((Y)=>bW.join(W.outputDir,Y))}createTempDir(W){return s1.mkdtempSync(bW.join(Mo.tmpdir(),W))}removeDir(W){s1.rmSync(W,{recursive:!0,force:!0})}async createVideoTranscodeTask(W,$,w){return this.prismaClient.workflowTask.create({data:{assetId:W,projectId:$,type:j5.transcode_video,status:p1.pending,payload:{projectId:$,transcode:w}}})}async createImageTranscodeTask(W,$,w){return this.prismaClient.workflowTask.create({data:{assetId:W,projectId:$,type:j5.transcode_image,status:p1.pending,payload:{projectId:$,transcode:w}}})}async takeScreenshots(W){let $=process.env.S3_BUCKET||"shumai",w=this.createTempDir("screenshot-"),Q=bW.join(w,bW.basename(W.assetKey));try{await f0.downloadToFile($,W.assetKey,Q);let J=[];if(W.count<=1)J=[W.start];else{let G=(W.end-W.start)/W.count;J=Array.from({length:W.count},(K,H)=>W.start+H*G)}let X=W.commentTimestamp;if(X!==void 0&&X!==null){if(X>=W.start&&X<=W.end){let G=0,K=Math.abs(J[0]-X);for(let H=1;H<J.length;H++){let V=Math.abs(J[H]-X);if(V<K)K=V,G=H}J[G]=X}}let Y=[];for(let G of J){let K=`shot-${G.toFixed(3)}-${U1()}.webp`,H=bW.join(w,K),V=["-ss",G.toFixed(3),"-i",Q,"-vframes","1","-vf","scale=-2:720","-c:v","libwebp","-q:v","80",H];if(await P$("ffmpeg",["-y","-loglevel","warning",...V]),X!==void 0&&X!==null&&G===X&&W.annotations&&W.annotations.length>0){let N=s1.readFileSync(H),U=await this.overlayAnnotationsOnBuffer(N,W.annotations);s1.writeFileSync(H,U)}let Z=`files/${W.assetId}/screenshots/${K}`,q=s1.readFileSync(H);await f0.putObject($,Z,q,q.length,"image/webp"),Y.push({key:Z,timestamp:G})}return Y}finally{this.removeDir(w)}}async renderPdfPages(W){let $=process.env.S3_BUCKET||"shumai",w=this.createTempDir("pdf-pages-"),Q=bW.join(w,bW.basename(W.assetKey));try{await f0.downloadToFile($,W.assetKey,Q);let J=bW.join(w,"page");try{await P$("pdftoppm",["-png","-f",W.start.toString(),"-l",W.end.toString(),Q,J])}catch(K){let H=K?.code,V=K instanceof Error?K.message:String(K),Z=V.toLowerCase();if(H==="ENOENT"||Z.includes("enoent")||Z.includes("not found")&&Z.includes("pdftoppm"))throw Error(`pdftoppm executable not found in $PATH. Please install poppler-utils / poppler. (${V})`,{cause:K});throw K}let X=s1.readdirSync(w).filter((K)=>K.endsWith(".png"));if(X.length===0)throw Error("pdftoppm produced no image outputs");X.sort((K,H)=>{let V=parseInt(K.replace(/[^0-9]/g,""),10),Z=parseInt(H.replace(/[^0-9]/g,""),10);return V-Z});let Y=[],G=NY(W.assetKey);for(let K=0;K<X.length;K++){let H=W.start+K,V=bW.join(w,X[K]),Z=`${G}-page-${H}-${U1()}.webp`,q=await q9(V,{limitInputPixels:!1}).toColorspace("srgb").resize(1920,1080,{fit:"inside",withoutEnlargement:!1}).webp({quality:85}).toBuffer(),N=W.commentTimestamp!==void 0&&W.commentTimestamp!==null?Math.round(W.commentTimestamp):null;if(N!==null&&H===N&&W.annotations&&W.annotations.length>0)q=await this.overlayAnnotationsOnBuffer(q,W.annotations);let U=`files/${W.assetId}/pdf_pages/${Z}`;await f0.putObject($,U,q,q.length,"image/webp"),Y.push({key:U,page:H})}return Y}finally{this.removeDir(w)}}async overlayAnnotationsOnBuffer(W,$){if(!$||$.length===0)return W;let w=await q9(W,{limitInputPixels:!1}).metadata(),Q=w.width||1920,J=w.height||1080,X=sE0(Q,J,$);return await q9(W,{limitInputPixels:!1}).composite([{input:Buffer.from(X),top:0,left:0}]).toColorspace("srgb").resize(16383,16383,{fit:"inside",withoutEnlargement:!0}).webp({quality:85}).toBuffer()}async overlayAnnotations(W){let $=process.env.S3_BUCKET||"shumai",w=`annotation-${U1()}.webp`,Q=this.createTempDir("annotation-"),J=bW.join(Q,bW.basename(W.assetKey));try{await f0.downloadToFile($,W.assetKey,J);let X=s1.readFileSync(J),Y=await this.overlayAnnotationsOnBuffer(X,W.annotations),G=`files/${W.assetId}/annotations/${w}`;return await f0.putObject($,G,Y,Y.length,"image/webp"),G}finally{this.removeDir(Q)}}}function sE0(W,$,w){let Q=Math.max(2,Math.round(Math.max(W,$)*0.004)),J=[];for(let X of w){let Y=X.color||"#ff0000";switch(X.type){case"box":{if(X.points.length<2)continue;let[K,H]=X.points,V=Math.min(K[0],H[0])*W,Z=Math.min(K[1],H[1])*$,q=Math.abs(H[0]-K[0])*W,N=Math.abs(H[1]-K[1])*$;J.push(`<rect x="${V}" y="${Z}" width="${q}" height="${N}" stroke="${Y}" stroke-width="${Q}" fill="none" />`);break}case"line":case"freehand":{if(X.points.length<2)continue;let K=X.points.map(([H,V])=>`${H*W},${V*$}`).join(" ");J.push(`<polyline points="${K}" stroke="${Y}" stroke-width="${Q}" stroke-linecap="round" stroke-linejoin="round" fill="none" />`);break}case"arrow":{if(X.points.length<2)continue;let K=X.points.map(([T,A])=>[T*W,A*$]),H=K.map(([T,A])=>`${T},${A}`).join(" ");J.push(`<polyline points="${H}" stroke="${Y}" stroke-width="${Q}" stroke-linecap="round" stroke-linejoin="round" fill="none" />`);let V=K[K.length-1],Z=K[K.length-2],q=V[0]-Z[0],N=V[1]-Z[1],U=Math.atan2(N,q),z=Math.max(12,Math.max(W,$)*0.015),O=V[0]-z*Math.cos(U-Math.PI/6),R=V[1]-z*Math.sin(U-Math.PI/6),F=V[0]-z*Math.cos(U+Math.PI/6),D=V[1]-z*Math.sin(U+Math.PI/6);J.push(`<polygon points="${V[0]},${V[1]} ${O},${R} ${F},${D}" fill="${Y}" />`);break}}}return`<svg width="${W}" height="${$}" viewBox="0 0 ${W} ${$}" xmlns="http://www.w3.org/2000/svg">${J.join(`
|
|
1302
|
+
`,X),Buffer.from("\r",X)];W:for(let G=0;G<Y.length;G++){let K=Y[G].length;for(let H=0;H<K;H++)if(Y[G][H]!==Q[J+H])continue W;return this.options.record_delimiter.push(Y[G]),this.state.recordDelimiterMaxLength=Y[G].length,Y[G].length}return 0},__error:function(Q){let{encoding:J,raw:X,skip_records_with_error:Y}=this.options,G=typeof Q==="string"?Error(Q):Q;if(Y){if(this.state.recordHasError=!0,this.options.on_skip!==void 0)try{this.options.on_skip(G,X?this.state.rawBuffer.toString(J):void 0)}catch(K){return K}return}else return G},__infoDataSet:function(){return{...this.info,columns:this.options.columns}},__infoRecord:function(){let{columns:Q,raw:J,encoding:X}=this.options;return{...this.__infoDataSet(),bytes_records:this.info.bytes,error:this.state.error,header:Q===!0,index:this.state.record.length,raw:J?this.state.rawBuffer.toString(X):void 0}},__infoField:function(){let{columns:Q}=this.options,J=Array.isArray(Q),X=this.info.bytes_records;return{...this.__infoRecord(),bytes_records:X,column:J===!0?Q.length>this.state.record.length?Q[this.state.record.length].name:null:this.state.record.length,quoting:this.state.wasQuoting}}}};var Ho=function(W,$={}){if(typeof W==="string")W=Buffer.from(W);let w=$&&$.objname?Object.create(null):[],Q=az($),J=(G)=>{if(Q.options.objname===void 0)w.push(G);else w[G[0]]=G[1]},X=()=>{},Y=Q.parse(W,!0,J,X);if(Y!==void 0)throw Y;return w};import*as s1 from"fs";import*as Mo from"os";import*as bW from"path";import Vo from"pdfkit";import q9 from"sharp";import{promisify as aE0}from"util";var tT={apch:"Apple ProRes 422 High Quality",apcn:"Apple ProRes 422 Standard Definition",apcs:"Apple ProRes 422 LT",apco:"Apple ProRes 422 Proxy",ap4h:"Apple ProRes 4444",jpeg:"JPEG Image","3gvo":"3GPP Video Orientation",a3d1:"Multiview Video Coding",a3d2:"Multiview Video Coding",a3d3:"Multiview Video Coding",a3d4:"Multiview Video Coding",a3ds:"Auro-Cx 3D audio","ac-3":"AC-3 audio","ac-4":"AC-4 audio",alac:"Apple lossless audio codec",alaw:"a-Law",av01:"AV1 video",avc1:"Advanced Video Coding",avc2:"Advanced Video Coding",avc3:"Advanced Video Coding",avc4:"Advanced Video Coding",avcp:"Advanced Video Coding Parameters",dra1:"DRA Audio",drac:"Dirac Video Coder","dts-":"Dependent base layer for DTS layered audio","dts+":"Enhancement layer for DTS layered audio",dtsc:"DTS Coherent Acoustics audio",dtse:"DTS Express low bit rate audio, also known as DTS LBR",dtsh:"DTS-HD High Resolution Audio",dtsl:"DTS-HD Master Audio",dtsx:"DTS:X",dvav:"AVC-based \u201CDolby Vision\u201D",dvhe:"HEVC-based \u201CDolby Vision\u201D","ec-3":"Enhanced AC-3 audio",enca:"Encrypted/Protected audio",encf:"Encrypted/Protected font",encm:"Encrypted/Protected metadata stream",encs:"Encrypted Systems stream",enct:"Encrypted Text",encv:"Encrypted/protected video",fdp:"File delivery hints",fLaC:"Fres Lossless Audio Codec",g719:"ITU-T Recommendation G.719 (2008)",g726:"ITU-T Recommendation G.726 (1990)",hev1:"High Efficiency Video Coding",hvc1:"High Efficiency Video Coding",hvt1:"High Efficiency Video Coding",ixse:"DVB Track Level Index Track",lhe1:"Layered High Efficiency Video Coding",lht1:"Layered High Efficiency Video Coding",lhv1:"Layered High Efficiency Video Coding",m2ts:"MPEG-2 transport stream for DMB",m4ae:"MPEG-4 Audio Enhancement MP4v1/2",mett:"Text timed metadata that is not XML",metx:"XML timed metadata",mha1:"MPEG-H Audio (single stream, uncapsulated)",mha2:"MPEG-H Audio (multi-stream, unencapsulated)",mhm1:"MPEG-H Audio (single stream, MHAS encapsulated)",mhm2:"MPEG-H Audio (multi-stream, MHAS encapsulated)",mjp2:"Motion JPEG 2000",mlix:"DVB Movie level index track",mlpa:"MLP Audio",mp4a:"MPEG-4 Audio",mp4s:"MPEG-4 Systems",mp4v:"MPEG-4 Visual",mvc1:"Multiview coding",mvc2:"Multiview coding",mvc3:"Multiview coding",mvc4:"Multiview coding",mvd1:"Multiview coding",mvd2:"Multiview coding",mvd3:"Multiview coding",mvd4:"Multiview coding",oksd:"OMA Keys",Opus:"Opus audio coding",pm2t:"Protected MPEG-2 Transport",prtp:"Protected RTP Reception",raw:"Uncompressed audio",resv:"Restricted Video",rm2t:"MPEG-2 Transport Reception",rrtp:"RTP reception",rsrp:"SRTP Reception",rtmd:"Real Time Metadata Sample Entry(XAVC Format)",rtp:"RTP Hints",s263:"ITU H.263 video (3GPP format)",samr:"Narrowband AMR voice",sawb:"Wideband AMR voice",sawp:"Extended AMR-WB (AMR-WB+)",sevc:"EVRC Voice",sm2t:"MPEG-2 Transport Server",sqcp:"13K Voice",srtp:"SRTP Hints",ssmv:"SMV Voice",STGS:"Subtitle Sample Entry (HMMP)",stpp:"Subtitles (Timed Text)",svc1:"Scalable Video Coding",svc2:"Scalable Video Coding",svcM:"SVC Metadata",tc64:"64 bit timecode samples",tmcd:"32 bit timecode samples",twos:"Uncompressed 16-bit audio",tx3g:"Timed Text stream",ulaw:"Samples have been compressed using uLaw 2:1.",unid:"Dynamic Range Control (DRC) data",urim:"Binary timed metadata identified by URI","vc-1":"SMPTE VC-1",vp08:"VP8 video",vp09:"VP9 video",wvtt:"WebVTT"};var P$=aE0(oE0);function Zo(){let W=[...process.env.PDF_CJK_FONT_PATH?[{fontPath:process.env.PDF_CJK_FONT_PATH,fontName:process.env.PDF_CJK_FONT_NAME}]:[],{fontPath:"/System/Library/Fonts/Supplemental/Arial Unicode.ttf"},{fontPath:"/Library/Fonts/Arial Unicode.ttf"},{fontPath:"/System/Library/Fonts/PingFang.ttc",fontName:"PingFangSC-Regular"},{fontPath:"/System/Library/Fonts/STHeiti Light.ttc",fontName:"STHeitiSC-Light"},{fontPath:"/usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc",fontName:"NotoSansCJKsc-Regular"},{fontPath:"/usr/share/fonts/truetype/noto/NotoSansCJK-Regular.ttc",fontName:"NotoSansCJKsc-Regular"},{fontPath:"/usr/share/fonts/truetype/wqy/wqy-zenhei.ttc",fontName:"WenQuanYiZenHei"},{fontPath:"/usr/share/fonts/truetype/arphic/ukai.ttc",fontName:"AR-PL-UKai-CN"},{fontPath:"/usr/share/fonts/noto/NotoSansCJK-Regular.ttc",fontName:"Noto Sans CJK SC"},{fontPath:"/usr/share/fonts/truetype/droid/DroidSansFallbackFull.ttf"},{fontPath:"/usr/share/fonts/truetype/droid/DroidSansFallback.ttf"},{fontPath:"/usr/share/fonts/google-droid/DroidSansFallback.ttf"},{fontPath:"C:\\Windows\\Fonts\\msyh.ttc",fontName:"MicrosoftYaHei"},{fontPath:"C:\\Windows\\Fonts\\simsun.ttc",fontName:"SimSun"},{fontPath:"C:\\Windows\\Fonts\\simhei.ttf"}];for(let $ of W)if(s1.existsSync($.fontPath))return $;return}function rE0(W){try{return Ho(W,{skip_empty_lines:!0,relax_column_count:!0,relax_quotes:!0,trim:!0,delimiter_auto:!0})}catch{return W.split(/\r?\n/).filter(($)=>$.trim().length>0).map(($)=>$.split(",").map((w)=>w.trim()))}}function qo(W){if(typeof W==="string"){if(W.toLowerCase().endsWith(".psd"))return!0;if(s1.existsSync(W))try{let $=s1.openSync(W,"r"),w=Buffer.alloc(4);return s1.readSync($,w,0,4,0),s1.closeSync($),w.toString("ascii")==="8BPS"}catch{return!1}return!1}return W.length>=4&&W[0]===56&&W[1]===66&&W[2]===80&&W[3]===83}class No{prismaClient;constructor(W=k){this.prismaClient=W}async execImageMagick(W){try{return await P$("magick",W)}catch($){if($?.code==="ENOENT")return await P$("convert",W);throw $}}async execImageMagickIdentify(W){let $=`${W}[0]`,w;try{w=(await P$("magick",["identify","-format","%w %h",$])).stdout}catch(Y){if(Y?.code==="ENOENT")w=(await P$("identify",["-format","%w %h",$])).stdout;else throw Y}let Q=w.trim().split(/\s+/),J=parseInt(Q[0],10)||0,X=parseInt(Q[1],10)||0;return{width:J,height:X}}resolveCodecName(W){let $=W.mime_codec_string||W.tags?.mime_codec_string;if($&&typeof $==="string"){let w=$.split(".")[0];if(tT[w])return tT[w]}return W.codec_name}safeParseInt(W){if(W===void 0||W===null)return;let $=typeof W==="string"?parseInt(W,10):W;return Number.isFinite($)?$:void 0}async getVideoInfo(W){let{stdout:$}=await P$("ffprobe",["-v","quiet","-print_format","json","-show_format","-show_streams",W]),w=JSON.parse($),Q=w.streams.find((H)=>H.codec_type==="video"),J=w.streams.find((H)=>H.codec_type==="audio");if(!Q)throw Error("No video stream found");let X=0;if(Q.avg_frame_rate){let H=Q.avg_frame_rate.split("/");if(H.length===2){let V=parseFloat(H[0]),Z=parseFloat(H[1]);if(Z>0)X=V/Z}}if(X===0&&Q.r_frame_rate){let H=Q.r_frame_rate.split("/");if(H.length===2){let V=parseFloat(H[0]),Z=parseFloat(H[1]);if(Z>0)X=V/Z}}let Y=parseFloat(w.format.duration),G=0;if(Q.nb_frames)G=parseInt(Q.nb_frames,10);if(!G&&X>0&&!isNaN(Y))G=Math.round(Y*X);let K=Q.tags?.timecode||w.format?.tags?.timecode;return{originalWidth:Q.width,originalHeight:Q.height,duration:Y,bitRate:parseFloat(w.format.bit_rate),frameRate:X||30,totalFrames:G||0,startTimecode:K,hasAudio:!!J,videoCodec:this.resolveCodecName(Q),audioCodec:J?this.resolveCodecName(J):void 0,audioChannels:J?.channels,audioSampleRate:this.safeParseInt(J?.sample_rate),audioBitDepth:this.safeParseInt(J?.bits_per_raw_sample)??this.safeParseInt(J?.bits_per_sample),mimeType:""}}async getImageInfo(W){let $=W,w=null;if(W.startsWith("http")){let J=await fetch(W);if(!J.ok)throw Error(`Failed to fetch image from ${W}: ${J.statusText}`);$=Buffer.from(await J.arrayBuffer())}if(qo($)){let J;if(typeof $==="string")J=$;else w=this.createTempDir("psd-info-"),J=bW.join(w,"input.psd"),s1.writeFileSync(J,$);try{let{width:X,height:Y}=await this.execImageMagickIdentify(J);return{originalWidth:X,originalHeight:Y,duration:0,bitRate:0,frameRate:0,totalFrames:0,startTimecode:void 0,hasAudio:!1,mimeType:"psd"}}catch(X){console.warn("ImageMagick identify failed for PSD, falling back to sharp:",X)}finally{if(w)this.removeDir(w)}}let Q=await q9($,{limitInputPixels:!1}).metadata();return{originalWidth:Q.width||0,originalHeight:Q.height||0,duration:0,bitRate:0,frameRate:0,totalFrames:0,startTimecode:void 0,hasAudio:!1,mimeType:Q.format||""}}async transcodeVideo(W){let $=`[0:v]scale=w=${W.width}:h=${W.height}:force_original_aspect_ratio=decrease,scale=w='trunc(iw/2)*2':h='trunc(ih/2)*2'`;if(W.frameRate)$+=`,fps=${W.frameRate}`;$+="[vout]";let w=["-i",W.inputFile,"-filter_complex",$,"-map","[vout]"];if(W.frameRate){let Q;if(typeof W.frameRate==="number")Q=W.frameRate;else{let J=W.frameRate.split("/");if(J.length===2)Q=parseFloat(J[0])/parseFloat(J[1]);else Q=parseFloat(W.frameRate)}if(Number.isFinite(Q)&&Q>0){let J=Math.max(1,Math.round(Q));w.push("-r",Q.toString(),"-g",J.toString(),"-force_key_frames","expr:gte(t,n_forced*1)")}}if(!W.disableAudio)w.push("-map","0:a?");if(w.push("-c:v","libx264","-preset","fast","-crf","26"),!W.disableAudio)w.push("-c:a","aac","-b:a","128k");w.push("-movflags","+faststart","-max_muxing_queue_size","1024",W.outputFile),await P$("ffmpeg",["-y","-loglevel","warning",...w])}async transcodeImage(W,$,w,Q,J=null){let X=W;if(typeof W==="string"&&W.startsWith("http")){let V=await fetch(W);if(!V.ok)throw Error(`Failed to fetch image from ${W}: ${V.statusText}`);X=Buffer.from(await V.arrayBuffer())}let Y=7680,G=w>0?Math.min(w,Y):Y,K=J&&J>0?Math.min(J,Y):Y;if(qo(X)){let V,Z=null;if(typeof X==="string")V=X;else Z=this.createTempDir("psd-transcode-"),V=bW.join(Z,"input.psd"),s1.writeFileSync(V,X);try{let q=K<Y?`${G}x${K}>`:`${G}x${Y}>`;await this.execImageMagick([`${V}[0]`,"-colorspace","sRGB","-resize",q,"-quality",Q.toString(),$]);return}finally{if(Z)this.removeDir(Z)}}let H=q9(X,{limitInputPixels:!1});H.toColorspace("srgb").resize(G,K,{withoutEnlargement:!0,fit:"inside"}),await H.webp({quality:Q}).toFile($)}async generateSprite(W,$,w,Q){let X=`[0:v]fps=${100/Q},scale=w=480:h=-2,tile=10x10[sprite_out];[0:v]scale=-2:480:force_original_aspect_ratio=decrease,select='eq(n\\,0)'[thumb_out]`;await P$("ffmpeg",["-y","-loglevel","warning",...["-i",W,"-filter_complex",X,"-map","[sprite_out]","-frames:v","1","-c:v","libwebp","-q:v","75",$,"-map","[thumb_out]","-c:v","libwebp","-q:v","75","-frames:v","1","-max_muxing_queue_size","1024",w]])}async generatePdfSprite(W,$,w){let Q=this.createTempDir("pdf-sprite-");try{let J=bW.join(Q,"page");try{await P$("pdftoppm",["-png","-f","1","-l","100",W,J])}catch(N){let U=N?.code,z=N instanceof Error?N.message:String(N),O=z.toLowerCase();if(U==="ENOENT"||O.includes("enoent")||O.includes("not found")&&O.includes("pdftoppm"))throw Error(`pdftoppm executable not found in $PATH. Please install poppler-utils / poppler. (${z})`,{cause:N});throw N}let X=s1.readdirSync(Q).filter((N)=>N.endsWith(".png"));if(X.length===0)throw Error("pdftoppm produced no image outputs");X.sort((N,U)=>{let z=parseInt(N.replace(/[^0-9]/g,""),10),O=parseInt(U.replace(/[^0-9]/g,""),10);return z-O});let Y=X.length,G=bW.join(Q,X[0]),K=await q9(G,{limitInputPixels:!1}).metadata(),H=K.width||800,V=K.height||1000;for(let N=1;N<=100;N++){let U=Math.min(Y-1,Math.floor((N-1)*Y/100)),z=bW.join(Q,X[U]),O=bW.join(Q,`frame_${N}.png`);if(z!==O)s1.copyFileSync(z,O)}let Z=["-i",bW.join(Q,"frame_%d.png"),"-filter_complex","scale=w=480:h=-2,tile=10x10","-frames:v","1","-c:v","libwebp","-q:v","75",$];await P$("ffmpeg",["-y","-loglevel","warning",...Z]),await q9(G,{limitInputPixels:!1}).toColorspace("srgb").resize(480,null,{withoutEnlargement:!0,fit:"inside"}).webp({quality:75}).toFile(w);let q=Y;try{let{stdout:N}=await P$("pdfinfo",[W]),U=N.match(/Pages:\s+(\d+)/);if(U)q=parseInt(U[1],10)}catch{}return{pageCount:q,originalWidth:H,originalHeight:V}}finally{this.removeDir(Q)}}async getPdfInfo(W){let $=this.createTempDir("pdf-info-"),w=800,Q=1000,J=1;try{let X=bW.join($,"page");await P$("pdftoppm",["-png","-f","1","-l","1",W,X]);let Y=s1.readdirSync($).filter((G)=>G.endsWith(".png"));if(Y.length>0){let G=await q9(bW.join($,Y[0]),{limitInputPixels:!1}).metadata();w=G.width||800,Q=G.height||1000}}catch(X){console.warn("pdftoppm not available for PDF dimensions extraction:",X)}try{let{stdout:X}=await P$("pdfinfo",[W]),Y=X.match(/Pages:\s+(\d+)/);if(Y)J=parseInt(Y[1],10)}catch{}finally{this.removeDir($)}return{originalWidth:w,originalHeight:Q,duration:0,bitRate:0,frameRate:0,totalFrames:J,hasAudio:!1,mimeType:"application/pdf"}}async generatePdfFromText(W,$){let w=s1.readFileSync(W,"utf-8"),J=/[\u3000-\u303f\u3040-\u309f\u30a0-\u30ff\u4e00-\u9fff\uac00-\ud7af]/.test(w)?Zo():void 0;return new Promise((X,Y)=>{let G=new Vo({size:"A4",margin:40,bufferPages:!0}),K=s1.createWriteStream($);if(G.pipe(K),J)if(J.fontName!==void 0)G.font(J.fontPath,J.fontName);else G.font(J.fontPath);else G.font("Helvetica");G.fontSize(10),G.text(w,{lineGap:3,paragraphGap:4}),G.end(),K.on("finish",()=>X()),K.on("error",(H)=>Y(H))})}async generatePdfFromCsv(W,$){let w=s1.readFileSync(W,"utf-8"),Q=rE0(w),X=/[\u3000-\u303f\u3040-\u309f\u30a0-\u30ff\u4e00-\u9fff\uac00-\ud7af]/.test(w)?Zo():void 0;if(Q.length===0)Q.push(["(Empty CSV)"]);let Y=Math.max(...Q.map((K)=>K.length)),G=Y>5;return new Promise((K,H)=>{let V=new Vo({size:"A4",layout:G?"landscape":"portrait",margin:30,bufferPages:!0}),Z=s1.createWriteStream($);V.pipe(Z);let q=()=>{if(X)if(X.fontName!==void 0)V.font(X.fontPath,X.fontName);else V.font(X.fontPath);else V.font("Helvetica");V.fontSize(9)};q();let N=V.page.width-V.page.margins.left-V.page.margins.right,U=Math.max(40,N/Y),z=V.page.margins.left,O=V.page.margins.top,R=20,F=(T,A,S)=>{if(A)V.rect(z,S,U*Y,R).fill("#e0e0e0"),V.fillColor("#000000");for(let f=0;f<Y;f++){let _=T[f]||"",m=z+f*U;V.rect(m,S,U,R).stroke("#cccccc"),V.fillColor("#000000").text(_,m+4,S+5,{width:U-8,height:R-6,ellipsis:!0})}},D=Q[0];F(D,!0,O),O+=R;for(let T=1;T<Q.length;T++){if(O+R>V.page.height-V.page.margins.bottom)V.addPage(),q(),O=V.page.margins.top,F(D,!0,O),O+=R;F(Q[T],!1,O),O+=R}V.end(),Z.on("finish",()=>K()),Z.on("error",(T)=>H(T))})}async extractAudio(W,$,w){await P$("ffmpeg",["-y","-loglevel","warning",...["-i",W,"-vn","-acodec","libmp3lame","-b:a",w,$]])}async getAudioInfo(W){let{stdout:$}=await P$("ffprobe",["-v","quiet","-print_format","json","-show_format","-show_streams",W]),w=JSON.parse($),Q=w.streams.find((X)=>X.codec_type==="audio");if(!Q)throw Error("No audio stream found");let J=parseFloat(w.format.duration);return{originalWidth:0,originalHeight:0,duration:isNaN(J)?0:J,bitRate:parseFloat(w.format.bit_rate)||0,frameRate:0,totalFrames:0,startTimecode:void 0,hasAudio:!0,videoCodec:void 0,audioCodec:this.resolveCodecName(Q),audioChannels:Q?.channels,audioSampleRate:this.safeParseInt(Q?.sample_rate),audioBitDepth:this.safeParseInt(Q?.bits_per_raw_sample)??this.safeParseInt(Q?.bits_per_sample),mimeType:""}}async transcodeAudio(W){let $=W.bitrate||"128k",w=["-i",W.inputFile,"-vn","-c:a","aac","-b:a",$,"-ac","2",W.outputFile];await P$("ffmpeg",["-y","-loglevel","warning",...w])}async extractVideoFrames(W){if(W.isImage){let Y=bW.join(W.outputDir,"1.webp");return await this.transcodeImage(W.inputFile,Y,-1,80,W.frameHeight),[Y]}let $=await this.getVideoInfo(W.inputFile),w=W.numFrames/$.duration,Q=bW.join(W.outputDir,"%d.webp"),J=["-i",W.inputFile,"-vf",`fps=${w},scale=-2:${W.frameHeight}`,"-c:v","libwebp","-q:v","80",Q];return await P$("ffmpeg",["-y","-loglevel","warning",...J]),s1.readdirSync(W.outputDir).filter((Y)=>Y.endsWith(".webp")).sort((Y,G)=>{let K=parseInt(bW.basename(Y,".webp")),H=parseInt(bW.basename(G,".webp"));return K-H}).map((Y)=>bW.join(W.outputDir,Y))}createTempDir(W){return s1.mkdtempSync(bW.join(Mo.tmpdir(),W))}removeDir(W){s1.rmSync(W,{recursive:!0,force:!0})}async createVideoTranscodeTask(W,$,w){return this.prismaClient.workflowTask.create({data:{assetId:W,projectId:$,type:j5.transcode_video,status:p1.pending,payload:{projectId:$,transcode:w}}})}async createImageTranscodeTask(W,$,w){return this.prismaClient.workflowTask.create({data:{assetId:W,projectId:$,type:j5.transcode_image,status:p1.pending,payload:{projectId:$,transcode:w}}})}async takeScreenshots(W){let $=process.env.S3_BUCKET||"shumai",w=this.createTempDir("screenshot-"),Q=bW.join(w,bW.basename(W.assetKey));try{await f0.downloadToFile($,W.assetKey,Q);let J=[];if(W.count<=1)J=[W.start];else{let K=(W.end-W.start)/W.count;J=Array.from({length:W.count},(H,V)=>W.start+V*K)}let X=W.commentTimestamp,Y=0.1;if(X!==void 0&&X!==null){if(X>=W.start-Y&&X<=W.end+Y){let H=0,V=Math.abs(J[0]-X);for(let Z=1;Z<J.length;Z++){let q=Math.abs(J[Z]-X);if(q<V)V=q,H=Z}J[H]=X}}let G=[];for(let K of J){let H=`shot-${K.toFixed(3)}-${U1()}.webp`,V=bW.join(w,H),Z=["-ss",K.toFixed(3),"-i",Q,"-vframes","1","-vf","scale=-2:720","-c:v","libwebp","-q:v","80",V];if(await P$("ffmpeg",["-y","-loglevel","warning",...Z]),X!==void 0&&X!==null&&Math.abs(K-X)<0.0001&&W.annotations&&W.annotations.length>0){let z=s1.readFileSync(V),O=await this.overlayAnnotationsOnBuffer(z,W.annotations);s1.writeFileSync(V,O)}let N=`files/${W.assetId}/screenshots/${H}`,U=s1.readFileSync(V);await f0.putObject($,N,U,U.length,"image/webp"),G.push({key:N,timestamp:K})}return G}finally{this.removeDir(w)}}async renderPdfPages(W){let $=process.env.S3_BUCKET||"shumai",w=this.createTempDir("pdf-pages-"),Q=bW.join(w,bW.basename(W.assetKey));try{await f0.downloadToFile($,W.assetKey,Q);let J=bW.join(w,"page");try{await P$("pdftoppm",["-png","-f",W.start.toString(),"-l",W.end.toString(),Q,J])}catch(K){let H=K?.code,V=K instanceof Error?K.message:String(K),Z=V.toLowerCase();if(H==="ENOENT"||Z.includes("enoent")||Z.includes("not found")&&Z.includes("pdftoppm"))throw Error(`pdftoppm executable not found in $PATH. Please install poppler-utils / poppler. (${V})`,{cause:K});throw K}let X=s1.readdirSync(w).filter((K)=>K.endsWith(".png"));if(X.length===0)throw Error("pdftoppm produced no image outputs");X.sort((K,H)=>{let V=parseInt(K.replace(/[^0-9]/g,""),10),Z=parseInt(H.replace(/[^0-9]/g,""),10);return V-Z});let Y=[],G=NY(W.assetKey);for(let K=0;K<X.length;K++){let H=W.start+K,V=bW.join(w,X[K]),Z=`${G}-page-${H}-${U1()}.webp`,q=await q9(V,{limitInputPixels:!1}).toColorspace("srgb").resize(1920,1080,{fit:"inside",withoutEnlargement:!1}).webp({quality:85}).toBuffer(),N=W.commentTimestamp!==void 0&&W.commentTimestamp!==null?Math.round(W.commentTimestamp):null;if(N!==null&&H===N&&W.annotations&&W.annotations.length>0)q=await this.overlayAnnotationsOnBuffer(q,W.annotations);let U=`files/${W.assetId}/pdf_pages/${Z}`;await f0.putObject($,U,q,q.length,"image/webp"),Y.push({key:U,page:H})}return Y}finally{this.removeDir(w)}}async overlayAnnotationsOnBuffer(W,$){if(!$||$.length===0)return W;let w=await q9(W,{limitInputPixels:!1}).metadata(),Q=w.width||1920,J=w.height||1080,X=sE0(Q,J,$);return await q9(W,{limitInputPixels:!1}).composite([{input:Buffer.from(X),top:0,left:0}]).toColorspace("srgb").resize(16383,16383,{fit:"inside",withoutEnlargement:!0}).webp({quality:85}).toBuffer()}async overlayAnnotations(W){let $=process.env.S3_BUCKET||"shumai",w=`annotation-${U1()}.webp`,Q=this.createTempDir("annotation-"),J=bW.join(Q,bW.basename(W.assetKey));try{await f0.downloadToFile($,W.assetKey,J);let X=s1.readFileSync(J),Y=await this.overlayAnnotationsOnBuffer(X,W.annotations),G=`files/${W.assetId}/annotations/${w}`;return await f0.putObject($,G,Y,Y.length,"image/webp"),G}finally{this.removeDir(Q)}}}function sE0(W,$,w){let Q=Math.max(2,Math.round(Math.max(W,$)*0.004)),J=[];for(let X of w){let Y=X.color||"#ff0000";switch(X.type){case"box":{if(X.points.length<2)continue;let[K,H]=X.points,V=Math.min(K[0],H[0])*W,Z=Math.min(K[1],H[1])*$,q=Math.abs(H[0]-K[0])*W,N=Math.abs(H[1]-K[1])*$;J.push(`<rect x="${V}" y="${Z}" width="${q}" height="${N}" stroke="${Y}" stroke-width="${Q}" fill="none" />`);break}case"line":case"freehand":{if(X.points.length<2)continue;let K=X.points.map(([H,V])=>`${H*W},${V*$}`).join(" ");J.push(`<polyline points="${K}" stroke="${Y}" stroke-width="${Q}" stroke-linecap="round" stroke-linejoin="round" fill="none" />`);break}case"arrow":{if(X.points.length<2)continue;let K=X.points.map(([T,A])=>[T*W,A*$]),H=K.map(([T,A])=>`${T},${A}`).join(" ");J.push(`<polyline points="${H}" stroke="${Y}" stroke-width="${Q}" stroke-linecap="round" stroke-linejoin="round" fill="none" />`);let V=K[K.length-1],Z=K[K.length-2],q=V[0]-Z[0],N=V[1]-Z[1],U=Math.atan2(N,q),z=Math.max(12,Math.max(W,$)*0.015),O=V[0]-z*Math.cos(U-Math.PI/6),R=V[1]-z*Math.sin(U-Math.PI/6),F=V[0]-z*Math.cos(U+Math.PI/6),D=V[1]-z*Math.sin(U+Math.PI/6);J.push(`<polygon points="${V[0]},${V[1]} ${O},${R} ${F},${D}" fill="${Y}" />`);break}}}return`<svg width="${W}" height="${$}" viewBox="0 0 ${W} ${$}" xmlns="http://www.w3.org/2000/svg">${J.join(`
|
|
1303
1303
|
`)}</svg>`}var g4=new No;import{ApplicationFailure as w8}from"@temporalio/activity";import*as _W from"path";import*as yW from"fs";import*as zo from"os";import{execFile as tE0}from"child_process";import{promisify as eE0}from"util";var WP0=eE0(tE0);function m3(W){if(W&&typeof W==="object"){let $=W;return{code:typeof $.code==="string"?$.code:void 0,message:typeof $.message==="string"?$.message:W instanceof Error?W.message:String(W),name:typeof $.name==="string"?$.name:void 0}}return{message:String(W)}}async function $P0(W){try{let $=W.proxyType||cz(W.mediaType,W.filePath)||void 0,w=$==="video",Q=$==="image",J=$==="audio",X=$==="pdf",Y=w?"video":J?"audio":Q?"image":X?"document":"file",G={duration:0,filesize:0,frames:0,proxyType:$,imageTranscodes:[],videoTranscodes:[],videoPreview:{width:0,height:0},finishedAt:new Date().toISOString(),metadata:null,original:{key:"",downloadUrl:"",filesizeInBytes:0,codec:""}},K=[{key:"file_type",value:Y}];if($)K.push({key:"proxy_type",value:$});if(w){let H=await g4.getVideoInfo(W.filePath);if(G.duration=H.duration,G.frames=H.totalFrames,G.metadata={originalWidth:H.originalWidth,originalHeight:H.originalHeight,duration:H.duration,bitRate:H.bitRate,frameRate:H.frameRate,totalFrames:H.totalFrames,startTimecode:H.startTimecode||"00:00:00:00",hasAudio:H.hasAudio,videoCodec:H.videoCodec,audioCodec:H.audioCodec,audioChannels:H.audioChannels,audioSampleRate:H.audioSampleRate,audioBitDepth:H.audioBitDepth,format:{}},K.push({key:"resolution_width",value:H.originalWidth},{key:"resolution_height",value:H.originalHeight},{key:"duration",value:H.duration},{key:"bitRate",value:H.bitRate/1000},{key:"frame_rate",value:H.frameRate}),H.videoCodec)K.push({key:"video_codec",value:H.videoCodec});if(H.audioCodec)K.push({key:"audio_codec",value:H.audioCodec});if(H.audioChannels!==void 0)K.push({key:"audio_channels",value:H.audioChannels});if(H.audioSampleRate!==void 0)K.push({key:"audio_sample_rate",value:H.audioSampleRate});if(H.audioBitDepth!==void 0)K.push({key:"audio_bit_depth",value:H.audioBitDepth})}else if(J){let H=await g4.getAudioInfo(W.filePath);if(G.duration=H.duration,G.metadata={originalWidth:0,originalHeight:0,duration:H.duration,bitRate:H.bitRate,frameRate:0,totalFrames:0,startTimecode:"00:00:00:00",hasAudio:!0,videoCodec:void 0,audioCodec:H.audioCodec,audioChannels:H.audioChannels,audioSampleRate:H.audioSampleRate,audioBitDepth:H.audioBitDepth,format:{}},K.push({key:"duration",value:H.duration},{key:"bitRate",value:H.bitRate/1000}),H.audioCodec)K.push({key:"audio_codec",value:H.audioCodec});if(H.audioChannels!==void 0)K.push({key:"audio_channels",value:H.audioChannels});if(H.audioSampleRate!==void 0)K.push({key:"audio_sample_rate",value:H.audioSampleRate});if(H.audioBitDepth!==void 0)K.push({key:"audio_bit_depth",value:H.audioBitDepth})}else if(Q){let H=await g4.getImageInfo(W.filePath);G.metadata={originalWidth:H.originalWidth,originalHeight:H.originalHeight,duration:0,bitRate:0,frameRate:0,totalFrames:0,startTimecode:"00:00:00:00",hasAudio:!1,format:{}},K.push({key:"resolution_width",value:H.originalWidth},{key:"resolution_height",value:H.originalHeight})}else if(X){let H=await g4.getPdfInfo(W.filePath);G.frames=H.totalFrames,G.metadata={originalWidth:H.originalWidth,originalHeight:H.originalHeight,duration:0,bitRate:0,frameRate:0,totalFrames:H.totalFrames,startTimecode:"00:00:00:00",hasAudio:!1,format:{}},K.push({key:"resolution_width",value:H.originalWidth},{key:"resolution_height",value:H.originalHeight},{key:"total_pages",value:H.totalFrames})}return await K4.updateAssetMetadata(W.assetId,K,!0),G}catch($){let{name:w,message:Q}=m3($);if(w?.includes("Prisma")||Q.includes("Prisma"))throw $;throw w8.create({message:`Failed to get media info: ${Q}`,nonRetryable:!0,cause:$ instanceof Error?$:void 0})}}async function wP0(W){let $=process.env.S3_BUCKET||"shumai",w=NY(W.assetKey),Q=W.videoSpec.resolution||`${W.videoSpec.height}p`,J=_W.posix.join(_W.posix.dirname(W.assetKey),`${w}-${Q}.mp4`);try{return await f0.headObject($,J),{...W.videoSpec,key:J}}catch{}let X=_W.dirname(W.filePath),Y=_W.join(X,`${w}-${Q}.mp4`);try{let G=W.originalFps||30,K=!1;if(W.videoSpec.resolution==="180p"){if(K=!0,G=24,W.originalFps>0&&W.originalFps<24)G=W.originalFps;if(W.duration*G>1600)G=`160000/${Math.floor(W.duration*100)}`}await g4.transcodeVideo({inputFile:W.filePath,outputFile:Y,width:W.videoSpec.width,height:W.videoSpec.height,frameRate:G||void 0,disableAudio:K});let H=yW.readFileSync(Y);return await f0.putObject($,J,H,H.length,"video/mp4"),{...W.videoSpec,key:J}}catch(G){let{code:K,message:H}=m3(G),V=H.toLowerCase();if(K==="ENOENT"||V.includes("enoent")||V.includes("ffmpeg")||V.includes("ffprobe")||V.includes("spawn")||V.includes("format")||V.includes("no video stream found"))throw w8.create({message:`Video transcoding failed: ${H}`,nonRetryable:!0,cause:G instanceof Error?G:void 0});throw G}finally{if(yW.existsSync(Y))yW.unlinkSync(Y)}}async function QP0(W){let $=process.env.S3_BUCKET||"shumai",w=NY(W.assetKey),Q=_W.posix.join(_W.posix.dirname(W.assetKey),`${w}-audio-proxy.mp4`);try{return await f0.headObject($,Q),{width:0,height:0,key:Q}}catch{}let J=_W.dirname(W.filePath),X=_W.join(J,`${w}-audio-proxy.mp4`);try{await g4.transcodeAudio({inputFile:W.filePath,outputFile:X,bitrate:"128k"});let Y=yW.readFileSync(X);return await f0.putObject($,Q,Y,Y.length,"video/mp4"),{width:0,height:0,key:Q}}catch(Y){let{code:G,message:K}=m3(Y),H=K.toLowerCase();if(G==="ENOENT"||H.includes("enoent")||H.includes("ffmpeg")||H.includes("ffprobe")||H.includes("spawn")||H.includes("format")||H.includes("no video stream found"))throw w8.create({message:`Audio transcoding failed: ${K}`,nonRetryable:!0,cause:Y instanceof Error?Y:void 0});throw Y}finally{if(yW.existsSync(X))yW.unlinkSync(X)}}async function JP0(W){let $=process.env.S3_BUCKET||"shumai",w=NY(W.assetKey),Q=_W.posix.join(_W.posix.dirname(W.assetKey),`${w}-${W.imageSpec.width}p.webp`);try{return await f0.headObject($,Q),{...W.imageSpec,key:Q}}catch{}let J=_W.dirname(W.filePath),X=_W.join(J,`${w}-${W.imageSpec.width}p.webp`);try{await g4.transcodeImage(W.filePath,X,W.imageSpec.width,W.imageSpec.quality);let Y=yW.readFileSync(X);return await f0.putObject($,Q,Y,Y.length,"image/webp"),{...W.imageSpec,key:Q}}catch(Y){let{code:G,message:K}=m3(Y),H=K.toLowerCase();if(G==="ENOENT"||H.includes("enoent")||H.includes("sharp")||H.includes("imagemagick")||H.includes("magick")||H.includes("convert")||H.includes("spawn")||H.includes("format"))throw w8.create({message:`Image transcoding failed: ${K}`,nonRetryable:!0,cause:Y instanceof Error?Y:void 0});throw Y}finally{if(yW.existsSync(X))yW.unlinkSync(X)}}async function XP0(W){let $=process.env.S3_BUCKET||"shumai";try{return await f0.headObject($,W.spriteSpec.key),await f0.headObject($,W.posterSpec.key),{sprite:W.spriteSpec,poster:W.posterSpec}}catch{}let w=_W.dirname(W.filePath),Q=_W.join(w,"sprite.webp"),J=_W.join(w,"poster.webp");try{if(W.mediaInfo.proxyType==="pdf"){let G=await g4.generatePdfSprite(W.filePath,Q,J);if(W.mediaInfo&&W.mediaInfo.metadata)W.mediaInfo.metadata.totalFrames=G.pageCount,W.mediaInfo.metadata.originalWidth=G.originalWidth,W.mediaInfo.metadata.originalHeight=G.originalHeight,W.mediaInfo.frames=G.pageCount}else await g4.generateSprite(W.filePath,Q,J,W.mediaInfo.duration);let X=yW.readFileSync(Q);await f0.putObject($,W.spriteSpec.key,X,X.length,"image/webp");let Y=yW.readFileSync(J);return await f0.putObject($,W.posterSpec.key,Y,Y.length,"image/webp"),{sprite:W.spriteSpec,poster:W.posterSpec}}catch(X){let{code:Y,message:G}=m3(X),K=G.toLowerCase();if(Y==="ENOENT"||K.includes("enoent")||K.includes("ffmpeg")||K.includes("ffprobe")||K.includes("spawn")||K.includes("format"))throw w8.create({message:`Sprite/Poster generation failed: ${G}`,nonRetryable:!0,cause:X instanceof Error?X:void 0});throw X}finally{if(yW.existsSync(Q))yW.unlinkSync(Q);if(yW.existsSync(J))yW.unlinkSync(J)}}async function YP0(W){let $=W.mediaType==="text/plain"||W.mediaType==="text/markdown"||W.mediaType==="text/x-markdown"||W.filename.toLowerCase().endsWith(".txt")||W.filename.toLowerCase().endsWith(".md")||W.filename.toLowerCase().endsWith(".markdown"),w=W.mediaType==="text/csv"||W.filename.toLowerCase().endsWith(".csv");if(!$&&!w)return{pdfProxyKey:W.assetKey,pdfFilePath:W.filePath};let Q=process.env.S3_BUCKET||"shumai",J=`files/${W.assetId}/proxy.pdf`,X=_W.dirname(W.filePath),Y=_W.join(X,"proxy.pdf");try{if(w)await g4.generatePdfFromCsv(W.filePath,Y);else await g4.generatePdfFromText(W.filePath,Y);let G=yW.readFileSync(Y);return await f0.putObject(Q,J,G,G.length,"application/pdf"),{pdfProxyKey:J,pdfFilePath:Y}}catch(G){let{message:K}=m3(G);throw w8.create({message:`Failed to generate PDF proxy for text/csv/markdown: ${K}`,nonRetryable:!0,cause:G instanceof Error?G:void 0})}}async function GP0(W){let $=process.env.S3_BUCKET||"shumai",w=g4.createTempDir("transcode-"),Q=_W.join(w,_W.basename(W.assetKey));if(!yW.existsSync(w))yW.mkdirSync(w,{recursive:!0});try{await f0.downloadToFile($,W.assetKey,Q)}catch(J){let{code:X,message:Y}=m3(J),G=Y.toLowerCase();if(X==="ENOENT"||G.includes("enoent")||G.includes("nosuchkey"))throw w8.create({message:`Failed to download media to tmp: ${Y}`,nonRetryable:!0,cause:J instanceof Error?J:void 0});throw J}return{filePath:Q,tmpDir:w}}async function KP0(W){g4.removeDir(W.tmpDir)}async function HP0(W){let $=process.env.S3_BUCKET||"shumai",w=await k.asset.findUnique({where:{id:W.assetId},include:{storageKey:!0}}),Q=w?.storageKey?.key;if(!w||!Q)throw w8.create({message:"Asset not found or has no key",nonRetryable:!0});let J=_W.join(_W.dirname(Q),"info.json"),X=Buffer.from(JSON.stringify(W.mediaInfo));await f0.putObject($,J,X,X.length,"application/json"),await k.asset.update({where:{id:W.assetId},data:{media:W.mediaInfo}})}async function VP0(W){try{return await g4.takeScreenshots(W)}catch($){let{code:w,message:Q}=m3($),J=Q.toLowerCase();if(w==="ENOENT"||J.includes("enoent")||J.includes("nosuchkey")||J.includes("ffmpeg")||J.includes("sharp"))throw w8.create({message:`Screenshot extraction failed: ${Q}`,nonRetryable:!0,cause:$ instanceof Error?$:void 0});throw $}}async function ZP0(W){try{return await g4.overlayAnnotations(W)}catch($){let{code:w,message:Q}=m3($),J=Q.toLowerCase();if(w==="ENOENT"||J.includes("enoent")||J.includes("nosuchkey")||J.includes("ffmpeg")||J.includes("sharp"))throw w8.create({message:`Overlay annotations failed: ${Q}`,nonRetryable:!0,cause:$ instanceof Error?$:void 0});throw $}}async function qP0(W){try{return await g4.renderPdfPages(W)}catch($){let{code:w,message:Q}=m3($),J=Q.toLowerCase();if(w==="ENOENT"||J.includes("enoent")||J.includes("nosuchkey")||J.includes("pdftoppm")||J.includes("sharp"))throw w8.create({message:`PDF page rendering failed: ${Q}`,nonRetryable:!0,cause:$ instanceof Error?$:void 0});throw $}}async function MP0(W){let $=await k.asset.findUnique({where:{id:W.assetId},include:{project:!0}});if(!$)return;let w=$.mediaType?.startsWith("video/"),Q=$.mediaType?.startsWith("image/");if(!w&&!Q)return;let J=W.teamId||$.project?.teamId||null,X=W.projectId||$.projectId;if(!J)return;let Y=await k.agent.findFirst({where:{type:"embedding",enabled:!0,user:{teamMembers:{some:{teamId:J}}}}});if(!Y)return;if(await k.workflowTask.findFirst({where:{assetId:W.assetId,type:j5.ai_embedding,status:{in:[p1.pending,p1.processing]}}}))return;await k.workflowTask.create({data:{assetId:W.assetId,type:j5.ai_embedding,status:p1.pending,teamId:J,projectId:X,payload:{projectId:X??"",agent:{agentId:Y.id}}}})}async function NP0(W){let $=_W.join(zo.tmpdir(),`video-chunk-${Date.now()}.mp4`);try{await WP0("ffmpeg",["-y","-loglevel","warning","-i",W.filePath,"-ss",W.startTime.toString(),"-t",(W.endTime-W.startTime).toString(),"-vf","fps=1","-c:v","libx264","-preset","ultrafast","-crf","28","-an",$]);let w=yW.readFileSync($),Q=process.env.S3_BUCKET||"shumai",J=`files/${W.assetId}/tmp-embedding-chunks/chunk-${W.startTime}-${W.endTime}-${U1()}.mp4`;return await f0.putObject(Q,J,w,w.length,"video/mp4"),{chunkKey:J}}catch(w){throw w8.create({message:`Failed to transcode video chunk for ${W.startTime}-${W.endTime}: ${w instanceof Error?w.message:String(w)}`,nonRetryable:!1})}finally{if(yW.existsSync($))try{yW.unlinkSync($)}catch(w){console.error("Failed to cleanup local chunk file:",w)}}}async function zP0(W){let $=process.env.S3_BUCKET||"shumai";await f0.deleteObject($,W.key)}import{ApplicationFailure as UP0}from"@temporalio/workflow";async function Q8(W){let{getTranscodeWorkerQueueActivity:$,updateTaskStatusActivity:w}=OW(),Q=await Z0(Z6,$);return await Z0(Q,w,{taskId:W.id,status:"processing"}),Q}async function v3(W,$){let{getAssetActivity:w}=OW(),Q=await Z0(W,w,$),J=Q?.storageKey?.key;if(!Q||!J)throw UP0.create({message:"Asset not found or has no key",nonRetryable:!0});return{asset:Q,key:J}}async function J8(W,$,w){let{updateTaskStatusActivity:Q}=OW();await Z0(W,Q,{taskId:$,status:"completed",...w?{output:w}:{}})}async function X8(W,$,w){let{updateTaskStatusActivity:Q}=OW();if(W)await Z0(W,Q,{taskId:$,status:"failed",output:{error:w instanceof Error?w.message:String(w)}})}async function RY(W,$){if($&&W){let{cleanupTmpDirActivity:w}=OW();try{await Z0(W,w,{tmpDir:$})}catch(Q){console.error("Failed to cleanup tmp dir:",Q)}}}var OP0={"2160p":3840,"1080p":1920,"720p":1280,"540p":960,"360p":640,"180p":320};function Uo(W,$,w){let Q=OP0[W];if(!Q)return[0,0];let J,X;if($>=w)J=Q,X=Math.round(J*(w/$));else X=Q,J=Math.round(X*($/w));if(J%2!==0)J++;if(X%2!==0)X++;return[J,X]}var FY=[{name:"2160p",longSide:3840},{name:"1080p",longSide:1920},{name:"720p",longSide:1280},{name:"540p",longSide:960},{name:"360p",longSide:640}];function DP0(W,$){let w=Math.max(W,$),Q=FY.filter((J)=>J.longSide<=w);if(Q.length>0)return Q.sort((J,X)=>X.longSide-J.longSide),Q[0];return FY[FY.length-1]}function Oo(W,$,w){let Q=["180p"],J=W,X=W;if(X==="single"||X==="disable")J="best_match";else if(X==="full")J="all";let Y=DP0($,w);if(J==="best_match")Q.push(Y.name);else if(J==="all"){let G=FY.findIndex((K)=>K.name===Y.name);if(G!==-1)for(let K=G;K<FY.length;K++)Q.push(FY[K].name)}return Q}async function rz(W){let $,w="";try{w=await Q8(W);let{updateAssetStatusActivity:Q,getMediaInfoActivity:J,transcodeVideoActivity:X,transcodeAudioActivity:Y,transcodeImageActivity:G,generateSpriteActivity:K,updateAssetMediaActivity:H,downloadMediaToTmpActivity:V,createEmbeddingTaskIfEnabledActivity:Z}=OW();await Z0(w,Q,{assetId:W.assetId,status:"processing"});let{asset:q,key:N}=await v3(w,W.assetId),U=await Z0(w,V,{assetKey:N}),{filePath:z}=U;$=U.tmpDir;let O=W.payload?.transcode||{},R=q.mediaType?.startsWith("audio/")?"audio":"video",F=await Z0(w,J,{filePath:z,assetId:q.id,proxyType:R,mediaType:q.mediaType||""});F.original={key:N,downloadUrl:"",filesizeInBytes:0,codec:""};let D=F.metadata;if(F.proxyType==="video"&&D){let A=Oo(O.videoStrategy||"best_match",D.originalWidth,D.originalHeight);for(let S of A){let[f,_]=Uo(S,D.originalWidth,D.originalHeight),v=await Z0(w,X,{assetKey:N,filePath:z,videoSpec:{resolution:S,width:f,height:_},duration:D.duration,originalFps:D.frameRate});if(S==="180p")F.videoPreview=v;else F.videoTranscodes.push(v)}F.videoTranscodes.push({key:F.original?.key,width:D.originalWidth,height:D.originalHeight,isRaw:!0})}if(F.proxyType==="audio"&&D){let A=await Z0(w,Y,{assetKey:N,filePath:z});F.videoTranscodes.push(A)}if(O.thumbnail){let A=await Z0(w,G,{assetKey:N,filePath:z,imageSpec:{width:480,height:0,quality:80,format:"webp"}});F.thumbnail=A}if(O.sprite||O.poster){let A=N.lastIndexOf("/"),S=A===-1?"":N.substring(0,A),f={key:S?`${S}/sprite.webp`:"sprite.webp",frames:100,tileX:10,tileY:10},_={key:S?`${S}/poster.webp`:"poster.webp"},m=await Z0(w,K,{assetKey:N,filePath:z,spriteSpec:f,posterSpec:_,mediaInfo:F});F.sprite=m.sprite,F.poster=m.poster}await Z0(w,H,{assetId:q.id,mediaInfo:F}),await Z0(w,Q,{assetId:q.id,status:"processed"}),await Z0(w,Z,{assetId:q.id,teamId:W.teamId,projectId:W.projectId}),await J8(w,W.id)}catch(Q){throw console.error(`transcodeVideoWorkflow failed for task ${W.id}:`,Q),await X8(w,W.id,Q),Q}finally{await RY(w,$)}}async function sz(W){let $,w="";try{w=await Q8(W);let{updateAssetStatusActivity:Q,getMediaInfoActivity:J,transcodeImageActivity:X,updateAssetMediaActivity:Y,downloadMediaToTmpActivity:G,createEmbeddingTaskIfEnabledActivity:K}=OW();await Z0(w,Q,{assetId:W.assetId,status:"processing"});let{asset:H,key:V}=await v3(w,W.assetId),Z=await Z0(w,G,{assetKey:V}),{filePath:q}=Z;$=Z.tmpDir;let N=W.payload?.transcode||{},U=await Z0(w,J,{filePath:q,assetId:H.id,proxyType:"image",mediaType:H.mediaType||""});U.original={key:V,downloadUrl:"",filesizeInBytes:0,codec:""};let z=U.metadata;if(U.proxyType==="image"&&z){let R={width:z.originalWidth,height:z.originalHeight,quality:90,format:"webp"},F=await Z0(w,X,{assetKey:V,filePath:q,imageSpec:R});U.imageTranscodes.push(F)}if(N.thumbnail){let R=await Z0(w,X,{assetKey:V,filePath:q,imageSpec:{width:480,height:0,quality:80,format:"webp"}});U.thumbnail=R}await Z0(w,Y,{assetId:H.id,mediaInfo:U}),await Z0(w,Q,{assetId:H.id,status:"processed"}),await Z0(w,K,{assetId:H.id,teamId:W.teamId,projectId:W.projectId}),await J8(w,W.id)}catch(Q){throw console.error(`transcodeImageWorkflow failed for task ${W.id}:`,Q),await X8(w,W.id,Q),Q}finally{await RY(w,$)}}async function tz(W){let $,w="";try{w=await Q8(W);let{updateAssetStatusActivity:Q,getMediaInfoActivity:J,generateSpriteActivity:X,updateAssetMediaActivity:Y,downloadMediaToTmpActivity:G,generatePdfProxyActivity:K,createEmbeddingTaskIfEnabledActivity:H}=OW();await Z0(w,Q,{assetId:W.assetId,status:"processing"});let{asset:V,key:Z}=await v3(w,W.assetId),q=await Z0(w,G,{assetKey:Z}),N=q.filePath;$=q.tmpDir;let U=await Z0(w,K,{assetId:V.id,assetKey:Z,filePath:N,mediaType:V.mediaType||"",filename:V.name||""});N=U.pdfFilePath;let z=W.payload?.transcode||{},O=await Z0(w,J,{filePath:N,assetId:V.id,proxyType:"pdf",mediaType:V.mediaType||""});if(O.original={key:Z,downloadUrl:"",filesizeInBytes:0,codec:""},O.pdfTranscode={key:U.pdfProxyKey},z.sprite||z.poster){let R=Z.lastIndexOf("/"),F=R===-1?"":Z.substring(0,R),D={key:F?`${F}/sprite.webp`:"sprite.webp",frames:100,tileX:10,tileY:10},T={key:F?`${F}/poster.webp`:"poster.webp"},A=await Z0(w,X,{assetKey:Z,filePath:N,spriteSpec:D,posterSpec:T,mediaInfo:O});O.sprite=A.sprite,O.poster=A.poster}await Z0(w,Y,{assetId:V.id,mediaInfo:O}),await Z0(w,Q,{assetId:V.id,status:"processed"}),await Z0(w,H,{assetId:V.id,teamId:W.teamId,projectId:W.projectId}),await J8(w,W.id)}catch(Q){throw console.error(`transcodePdfWorkflow failed for task ${W.id}:`,Q),await X8(w,W.id,Q),Q}finally{await RY(w,$)}}import{ApplicationFailure as RP0}from"@temporalio/workflow";async function ez(W){let $="";try{$=await Q8(W);let w=W.payload;if(!w?.pdfPages)throw RP0.create({message:"Invalid payload for pdfPages task",nonRetryable:!0});let{asset:Q,key:J}=await v3($,W.assetId),{renderPdfPagesActivity:X}=OW(),Y=Q.media?.pdfTranscode?.key||J,G=await Z0($,X,{assetKey:Y,assetId:Q.id,start:w.pdfPages.start,end:w.pdfPages.end,commentTimestamp:w.pdfPages.commentTimestamp,annotations:w.pdfPages.annotations});await J8($,W.id,{pages:G})}catch(w){throw console.error(`renderPdfPagesWorkflow failed for task ${W.id}:`,w),await X8($,W.id,w),w}}import{ApplicationFailure as FP0}from"@temporalio/workflow";async function WU(W){let $="";try{$=await Q8(W);let w=W.payload;if(!w?.screenshot)throw FP0.create({message:"Invalid payload for screenshot task",nonRetryable:!0});let{asset:Q,key:J}=await v3($,W.assetId),{takeScreenshotsActivity:X}=OW(),Y=await Z0($,X,{assetKey:J,assetId:Q.id,start:w.screenshot.start,end:w.screenshot.end,count:w.screenshot.count,commentTimestamp:w.screenshot.commentTimestamp,annotations:w.screenshot.annotations});await J8($,W.id,{screenshots:Y})}catch(w){throw console.error(`takeVideoScreenshotsWorkflow failed for task ${W.id}:`,w),await X8($,W.id,w),w}}import{ApplicationFailure as Do}from"@temporalio/workflow";async function $U(W){let $="";try{$=await Q8(W);let w=W.payload;if(!w?.imageAnnotation)throw Do.create({message:"Invalid payload for imageAnnotation task",nonRetryable:!0});let{getAssetActivity:Q,overlayAnnotationsActivity:J}=OW(),X=await Z0($,Q,W.assetId),Y=X?.storageKey?.key;if(X?.media){let K=X.media;if(K.imageTranscodes&&K.imageTranscodes.length>0)Y=K.imageTranscodes[0].key||Y}if(!X||!Y)throw Do.create({message:"Asset not found or has no key",nonRetryable:!0});let G=await Z0($,J,{assetKey:Y,assetId:X.id,annotations:w.imageAnnotation.annotations});await J8($,W.id,{key:G})}catch(w){throw console.error(`overlayImageAnnotationWorkflow failed for task ${W.id}:`,w),await X8($,W.id,w),w}}async function Ro(W){let $=W.payload;if($?.pdfPages)return ez(W);if($?.screenshot)return WU(W);if($?.imageAnnotation)return $U(W);if(W.type==="transcode_image")return sz(W);if(W.type==="transcode_pdf")return tz(W);return rz(W)}class wU{db;assetId;teamId;projectId;spec={};constructor(W,$,w,Q){this.db=W;this.assetId=$;this.teamId=w;this.projectId=Q}setStrategy(W){return this.spec.videoStrategy=W,this}withSprite(){return this.spec.sprite=!0,this}withPoster(){return this.spec.poster=!0,this}async submit(){return(await this.db.workflowTask.create({data:{assetId:this.assetId,teamId:this.teamId,projectId:this.projectId,type:j5.transcode_video,status:p1.pending,payload:{projectId:this.projectId,transcode:this.spec}}})).id}}class WA{db;assetId;teamId;projectId;spec={};constructor(W,$,w,Q){this.db=W;this.assetId=$;this.teamId=w;this.projectId=Q}withThumbnail(){return this.spec.thumbnail=!0,this}async submit(){return(await this.db.workflowTask.create({data:{assetId:this.assetId,teamId:this.teamId,projectId:this.projectId,type:j5.transcode_image,status:p1.pending,payload:{projectId:this.projectId,transcode:this.spec}}})).id}}class $A{db;assetId;teamId;projectId;spec={};constructor(W,$,w,Q){this.db=W;this.assetId=$;this.teamId=w;this.projectId=Q}withSprite(){return this.spec.sprite=!0,this}withPoster(){return this.spec.poster=!0,this}async submit(){return(await this.db.workflowTask.create({data:{assetId:this.assetId,teamId:this.teamId,projectId:this.projectId,type:j5.transcode_pdf,status:p1.pending,payload:{projectId:this.projectId,transcode:this.spec}}})).id}}function Fo(){o6(j5.transcode,Ro),o6(j5.transcode_video,rz),o6(j5.transcode_image,sz),o6(j5.transcode_pdf,tz),o6(j5.transcode_pdf_pages,ez),o6(j5.transcode_screenshot,WU),o6(j5.transcode_image_annotation,$U),SH(eT)}class Bo{prismaClient;constructor(W=k){this.prismaClient=W}async createUploadTask(W,$){let w=$.files.filter((q)=>!q.name.startsWith(".")),Q=w.length===1?w[0].name:`${w.length} Items`,J=0,X=(q)=>{for(let N of q){if(N.name.startsWith("."))continue;if(N.type==="file")J++;else X(N.children)}};X($.files);let Y=await this.prismaClient.task.create({data:{creatorId:W,type:"upload",name:Q,total:J,status:Mz.pending}}),G=await this.prismaClient.asset.findUnique({where:{id:$.parentId},include:{project:!0}});if(!G)throw Error("Parent asset not found");if(!G.projectId)throw Error("Parent asset has no project");let K=[],H=G.type===W5.file,V=H?G.parentId:G.id,Z=[];return await this.prismaClient.$transaction(async(q)=>{let N=await this.createAssetsRecursively(q,W,Y.id,G.projectId,V,$.files,K,Z);if(H&&N.length>0)for(let U of N)await Z5.reparentAssets({assetIds:[U],newParentId:G.id,creatorId:W},q);return N}),{taskId:Y.id,presignedUrls:K,createdAssets:Z}}async createAssetsRecursively(W,$,w,Q,J,X,Y,G){let H=(await W.asset.findFirst({where:{parentId:J},orderBy:{sortIndex:"asc"}}))?.sortIndex||void 0,V=[];for(let Z of X){if(Z.name.startsWith("."))continue;let q=C6(null,H||null);H=q;let N=Z.type==="folder"?W5.folder:W5.file,U=null;if(N===W5.file)U=`files/${U1()}/${MY(Z.name)}`;let z=Z.mediaType;if(z&&Z.name.toLowerCase().endsWith(".wma")&&z.startsWith("video/"))z=z.replace(/^video\//,"audio/");let O=await W.asset.create({data:{name:Z.name,type:N,storageKey:U?{create:{key:U}}:void 0,sortIndex:q,mediaType:z,status:N===W5.folder?uQ.uploaded:uQ.uploading,sizeByte:Z.size,creator:$?{connect:{id:$}}:void 0,parent:J?{connect:{id:J}}:void 0,project:{connect:{id:Q}},task:{connect:{id:w}}}});if(V.push(O.id),G.push({tempId:Z.id,assetId:O.id}),N===W5.folder&&J)await W.asset.update({where:{id:J},data:{fileCount:{increment:1}}});if(Z.children&&Z.children.length>0)await this.createAssetsRecursively(W,$,w,Q,O.id,Z.children,Y,G);else if(N===W5.file&&U){let R=await f0.presign(process.env.S3_BUCKET||"shumai",U,"PUT");Y.push({id:Z.id,fileId:O.id,url:R})}}return V}async confirmFileUpload(W,$,w){let Q=await this.prismaClient.asset.findUnique({where:{id:w.fileId},include:{storageKey:!0,project:{include:{team:!0}}}});if(!Q)throw Error("Asset not found");if(!Q.project)throw Error("Project not found for asset");let J=Q.storageKey?.key;if(!J)throw Error("Asset has no key");if(w.errorMessage){if(await this.prismaClient.asset.delete({where:{id:Q.id}}),await this.prismaClient.task.findUnique({where:{id:$}})){let K=await this.prismaClient.task.update({where:{id:$},data:{uploaded:{increment:1}}});if(K.uploaded===K.total)await this.prismaClient.task.update({where:{id:$},data:{status:Mz.completed}})}return}let X=await f0.getObjectSize(process.env.S3_BUCKET||"shumai",J),Y=Q.project;await this.prismaClient.$transaction(async(G)=>{let K=Q.mediaType;if(!K||K==="application/octet-stream")K=Bun.file(Q.name).type||"application/octet-stream";let H=await G.asset.update({where:{id:Q.id},data:{status:uQ.uploaded,sizeByte:X,mediaType:K}});if(Q.parentId)await G.asset.update({where:{id:Q.parentId},data:{fileCount:{increment:1}}}),await Z5.updateAncestorsSize(G,Q.parentId,H.sizeByte);let V=await G.task.update({where:{id:$},data:{uploaded:{increment:1}}});if(V.uploaded===(V.total||0))await G.task.update({where:{id:$},data:{status:Mz.completed}});let Z=Y.team;if(!Z)return;if(!Q.projectId)throw Error("Asset project ID is missing");await this.triggerPostUploadWorkflows(G,Q.id,Z.id,Q.projectId)})}async triggerPostUploadWorkflows(W,$,w,Q){let J=await W.asset.findUnique({where:{id:$}});if(!J)throw Error("Asset not found");let X=await W.team.findUnique({where:{id:w}});if(!X)throw Error("Team not found");let Y=await W.agent.findFirst({where:{type:"autofill",enabled:!0,user:{teamMembers:{some:{teamId:X.id}}}}}),G=J.media?.proxyType||cz(J.mediaType,J.name),K=G==="video",H=G==="image",V=G==="audio",Z=G==="pdf";if(Y&&(K||H))await W.workflowTask.create({data:{assetId:J.id,type:j5.ai_metadata_autofill,status:p1.pending,teamId:X.id,projectId:Q,payload:{projectId:Q,agent:{agentId:Y.id}}}});if(!G)await W.asset.update({where:{id:J.id},data:{status:uQ.processed}});else{let q=X.settings;if(K){let N=q?.transcode?.videoStrategy||"best_match";await new wU(W,J.id,X.id,Q).setStrategy(N).withSprite().withPoster().submit()}else if(V)await new wU(W,J.id,X.id,Q).submit();else if(H)await new WA(W,J.id,X.id,Q).withThumbnail().submit();else if(Z)await new $A(W,J.id,X.id,Q).withSprite().withPoster().submit()}}async listUploadTasks(W,$){let w={creatorId:W,type:"upload"},{data:Q,pageInfo:J}=await q$(async(Y,G)=>{return this.prismaClient.task.findMany({where:w,orderBy:{id:"desc"},skip:Y,take:G})},async()=>this.prismaClient.task.count({where:w}),$);return{data:Q.map((Y)=>({id:Y.id,name:Y.name||"",total:Y.total||0,uploaded:Y.uploaded,createdAt:Y.createdAt.toISOString()})),pageInfo:J}}}var M9=new Bo;function BP0(W){if(!W)return C6(null,null);return C6(W,null)}class QU{prismaClient;constructor(W=k){this.prismaClient=W}async createVersionStack(W){let{fileIds:$,projectId:w,creatorId:Q}=W;if(!$||$.length===0)throw Error("no file ids provided");return await this.prismaClient.$transaction(async(J)=>{let X=await J.asset.findMany({where:{id:{in:$}},include:{parent:!0}});if(X.length!==$.length)throw Error("some files not found");let Y=void 0,G=0;for(let N of X){if(N.type!==W5.file)throw Error(`asset ${N.id} is not a file`);if(!N.parentId)throw Error(`file ${N.id} does not have a parent`);if(Y===void 0)Y=N.parentId;else if(N.parentId!==Y)throw Error("files do not have the same parent");G+=N.sizeByte}if(!Y)throw Error("files do not have a parent");if(!await J.asset.findUnique({where:{id:Y}}))throw Error("parent not found");let V=X.find((N)=>N.id===$[0])?.sortIndex||null,Z=await J.asset.create({data:{type:W5.version_stack,fileCount:X.length,sizeByte:G,status:"uploaded",projectId:w,creatorId:Q,parentId:Y,sortIndex:V}}),q=null;for(let N of $)q=BP0(q),await J.asset.update({where:{id:N},data:{parentId:Z.id,sortIndex:q}});return await J.asset.update({where:{id:Y},data:{fileCount:{decrement:X.length-1}}}),Z})}async changeStackFileVersion(W){let{stackId:$,fileId:w,beforeId:Q}=W;await this.prismaClient.$transaction(async(J)=>{let X=await J.asset.findUnique({where:{id:$}});if(!X)throw Error("stack not found");if(X.type!==W5.version_stack)throw Error("asset is not a version stack");let Y=await J.asset.findUnique({where:{id:w}});if(!Y)throw Error("file not found");if(Y.parentId!==$)throw Error("file is not in the stack");let G;if(Q==="-1"){let K=await J.asset.findFirst({where:{parentId:$},orderBy:{sortIndex:"desc"}});G=C6(K?.sortIndex||null,null)}else{let K=await J.asset.findUnique({where:{id:Q}});if(!K)throw Error("before_id file not found");if(K.parentId!==$)throw Error("before_id file is not in the stack");let V=(await J.asset.findFirst({where:{parentId:$,sortIndex:{lt:K.sortIndex}},orderBy:{sortIndex:"desc"}}))?.sortIndex||null;if(V&&V>=K.sortIndex)V=null;G=C6(V,K.sortIndex)}await J.asset.update({where:{id:w},data:{sortIndex:G}})})}}var wA=new QU;import{ApplicationFailure as lW,Context as To}from"@temporalio/activity";class Lo{async incrementBucket(W){if(W.userId!==null)await k.aiUsage.upsert({where:{teamId_userId_periodStart:{teamId:W.teamId,userId:W.userId,periodStart:W.periodStart}},update:{inputTokens:{increment:W.inputTokens},outputTokens:{increment:W.outputTokens},cacheReadTokens:{increment:W.cacheReadTokens},totalTokens:{increment:W.totalTokens},cost:{increment:W.cost}},create:{teamId:W.teamId,userId:W.userId,periodStart:W.periodStart,inputTokens:W.inputTokens,outputTokens:W.outputTokens,cacheReadTokens:W.cacheReadTokens,totalTokens:W.totalTokens,cost:W.cost}});else{let $=await k.aiUsage.findFirst({where:{teamId:W.teamId,userId:null,periodStart:W.periodStart}});if($)await k.aiUsage.update({where:{id:$.id},data:{inputTokens:{increment:W.inputTokens},outputTokens:{increment:W.outputTokens},cacheReadTokens:{increment:W.cacheReadTokens},totalTokens:{increment:W.totalTokens},cost:{increment:W.cost}}});else try{await k.aiUsage.create({data:{teamId:W.teamId,userId:null,periodStart:W.periodStart,inputTokens:W.inputTokens,outputTokens:W.outputTokens,cacheReadTokens:W.cacheReadTokens,totalTokens:W.totalTokens,cost:W.cost}})}catch(w){if(w instanceof K0.PrismaClientKnownRequestError&&w.code==="P2002")await k.aiUsage.updateMany({where:{teamId:W.teamId,userId:null,periodStart:W.periodStart},data:{inputTokens:{increment:W.inputTokens},outputTokens:{increment:W.outputTokens},cacheReadTokens:{increment:W.cacheReadTokens},totalTokens:{increment:W.totalTokens},cost:{increment:W.cost}}});else throw w}}}async recordUsage(W){let $=W.timestamp??new Date,w=new Date($);if(w.setMinutes(0,0,0),await this.incrementBucket({teamId:W.teamId,userId:null,periodStart:w,inputTokens:W.inputTokens,outputTokens:W.outputTokens,cacheReadTokens:W.cacheReadTokens,totalTokens:W.totalTokens,cost:W.cost}),W.userId)await this.incrementBucket({teamId:W.teamId,userId:W.userId,periodStart:w,inputTokens:W.inputTokens,outputTokens:W.outputTokens,cacheReadTokens:W.cacheReadTokens,totalTokens:W.totalTokens,cost:W.cost})}async getTeamUsageStats(W){let w=new Date(new Date);switch(W.timeframe){case"1h":w.setMinutes(0,0,0);break;case"24h":w.setDate(w.getDate()-1),w.setMinutes(0,0,0);break;case"7d":w.setDate(w.getDate()-7),w.setMinutes(0,0,0);break;case"30d":w.setDate(w.getDate()-30),w.setMinutes(0,0,0);break}if(!W.userId){let Q=await k.aiUsage.findMany({where:{teamId:W.teamId,userId:null,periodStart:{gte:w}}}),J=0,X=0,Y=0,G=0,K=0;for(let H of Q)J+=H.inputTokens,X+=H.outputTokens,Y+=H.cacheReadTokens,G+=H.totalTokens,K+=H.cost;return{timeframe:W.timeframe,team:{inputTokens:J,outputTokens:X,cacheReadTokens:Y,totalTokens:G,cost:Math.round((K+Number.EPSILON)*1e6)/1e6}}}else{let Q=await k.teamMember.findFirst({where:{teamId:W.teamId,userId:W.userId},include:{user:!0}});if(!Q)throw new w1(404,{message:"Team member not found"});let J=await k.aiUsage.findMany({where:{teamId:W.teamId,userId:W.userId,periodStart:{gte:w}}}),X=0,Y=0,G=0,K=0,H=0;for(let V of J)X+=V.inputTokens,Y+=V.outputTokens,G+=V.cacheReadTokens,K+=V.totalTokens,H+=V.cost;return{timeframe:W.timeframe,member:{userId:Q.user.id,userName:Q.user.name,userEmail:Q.user.email,userImage:Q.user.image,role:Q.role,inputTokens:X,outputTokens:Y,cacheReadTokens:G,totalTokens:K,cost:Math.round((H+Number.EPSILON)*1e6)/1e6}}}}}var JU=new Lo;async function Ao(W){let{agent:$,dbProviders:w,teamSkills:Q,allowedDomains:J}=W.context;if(!$.provider)throw lW.create({message:"agent has no provider configured",nonRetryable:!0});if(!$.modelRef)throw lW.create({message:"agent has no model configured",nonRetryable:!0});let X=$.provider.name,Y=$.modelRef.modelId,G=`You are the AI assistant for shumai.
|
|
1304
1304
|
shumai is a professional creative collaboration platform similar to frame.io, where users can upload creative files, manage projects, assign tasks, get precise feedback, and share their work. As the agent, your role is to help users use and manage this platform.
|
|
1305
1305
|
|