ddan-js 3.1.6 → 3.1.8

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/ddan-js.js CHANGED
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("crypto"),require("zlib"),require("net"),require("socks"),require("child_process"),require("fs")):"function"==typeof define&&define.amd?define(["exports","crypto","zlib","net","socks","child_process","fs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).ddan=e.ddan||{},e.crypto$1,e.zlib,e.net,e.socks,e.child_process,e.fs)}(this,(function(e,t,r,n,s,o,i){"use strict";function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var c=a(t),l=a(r),u=a(n),f=a(i);const h="0123456789",d="abcdefghijklmnopqrstuvwxyz",p="ABCDEFGHIJKLMNOPQRSTUVWXYZ";var g={keyNumber:h,keyLower:d,keyUpper:p,keyChars:h+d+p};const y=(e=0,t=0)=>{const r=g.keyChars.split(""),n=[];let s;if(t=t||r.length,e)for(s=0;s<e;s++)n[s]=r[0|Math.random()*t];else{let e;for(n[8]=n[13]=n[18]=n[23]="-",n[14]="4",s=0;s<36;s++)n[s]||(e=0|16*Math.random(),n[s]=r[19==s?3&e|8:e])}return n.join("")};class m{__map;__tagList;__eventId="";constructor(){this.__map=new Map,this.__tagList=[],this.__eventId=y()}clear(){return this.__map.clear(),this}on(e,t,r=""){if(!e||!t)return this;let n=this.__map.get(e);return n||(n=new Set,this.__map.set(e,n)),n.add(t),r&&this.__tagList.push({name:e,listener:t,tag:r}),this}emit(e,...t){if(!e)return this;const r=this.__map.get(e);if(!r)return this;return[...r].forEach((e=>e&&e(...t))),this}off(e,t){if(!e||!t)return this;this.__tagList=this.__tagList.filter((r=>r.name!==e||r.listener!==t));const r=this.__map.get(e);return r?(r.delete(t),r.size<=0&&this.__map.delete(e),this):this}remove(e){return e?(this.__tagList=this.__tagList.filter((t=>t.name!==e)),this.__map.delete(e),this):this}removeByTag(e){if(!e)return this;return this.__tagList.filter((t=>t.tag===e)).forEach((e=>{this.off(e.name,e.listener)})),this.__tagList=this.__tagList.filter((t=>t.tag!==e)),this}once(e,t){const r=(...n)=>{t(...n),this.off(e,r)};return this.on(e,r),this}has(e){return this.__map.has(e)}}class b{timestamp=0;_key="";_value;constructor(e,t){this._key=e,this._value=t,this.updateAt()}get key(){return this._key}get value(){return this._value}set(e){this._value=e,this.updateAt()}updateAt(){this.timestamp=Date.now()}clear(){this.set(void 0)}}const w="object"==typeof global&&null!==global&&global.Object===Object&&global,_="object"==typeof globalThis&&null!==globalThis&&globalThis.Object===Object&&globalThis,v="object"==typeof self&&null!==self&&self.Object===Object&&self,x=_||w||v||Function("return this")(),A=x.Symbol,{toString:S,hasOwnProperty:k,propertyIsEnumerable:$}=Object.prototype,O=A?A.toStringTag:void 0;function j(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":O&&O in Object(e)?function(e){const t=k.call(e,O),r=e[O];let n=!1;try{e[O]=void 0,n=!0}catch(e){}const s=S.call(e);return n&&(t?e[O]=r:delete e[O]),s}(e):S.call(e)}var C={getTag:j,getType:function(e){return(j(e).match(/\w+/g)||["object","Undefined"])[1]||""},toString:S,hasOwnProperty:k,propertyIsEnumerable:$};const E="object"==typeof e&&null!==e&&!e.nodeType&&e,P=E&&"object"==typeof module&&null!==module&&!module.nodeType&&module,T=P&&P.exports===E&&w.process,q=(()=>{try{const e=P&&P.require&&P.require("util").types;return e||T&&T.binding&&T.binding("util")}catch(e){}})();var B="[object Function]",L="[object GeneratorFunction]",R="[object AsyncFunction]",F=9007199254740991;const U=/^(?:0|[1-9]\d*)$/,I=x?.Buffer?.isBuffer,D=/^\[object (?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)Array\]$/,M=q&&q.isTypedArray;function K(e){const t=typeof e;return null!=e&&("object"==t||"function"==t)}function z(e){return null!=e&&"object"==typeof e}const N=Array.isArray;function H(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=F}(e.length)&&!W(e)}function V(e){return z(e)&&H(e)}function W(e){var t=K(e)?C.getTag(e):"";return t===B||t===L||t===R}function Z(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Object.prototype)}function J(e){return V(e)&&C.hasOwnProperty.call(e,"callee")&&(!C.propertyIsEnumerable.call(e,"callee")||"[object Arguments]"==C.toString.call(e))}const Y="undefined"!=typeof window&&void 0!==window.document,Q="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node,G=M?e=>M(e):e=>z(e)&&D.test(C.getTag(e)),X="function"==typeof I?I:()=>!1;var ee={is:function(e,t){return C.getTag(e)===`[object ${t}]`},isNumber:function(e){return"[object Number]"===C.getTag(e)},isString:function(e){return"string"==typeof e||!N(e)&&z(e)&&"[object String]"==C.getTag(e)},isObject:K,isObjectLike:z,isPlainObject:function(e){if(!z(e)||"[object Object]"!=C.getTag(e))return!1;if(null===Object.getPrototypeOf(e))return!0;let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t},isSymbol:function(e){return"symbol"==typeof e||z(e)&&"[object Symbol]"===C.getTag(e)},isFunction:W,isArray:N,isArrayLikeObject:V,isIndex:function(e,t){return!!(t=null==t?F:t)&&("number"==typeof e||U.test(e))&&e>-1&&e%1==0&&e<t},isArrayLike:H,isPrototype:Z,isArguments:J,isPromise:function(e){return"[object Promise]"===(K(e)?C.getTag(e):"")},isBrowser:Y,isNode:Q,isBlobOrBuffer:e=>e instanceof Blob||e instanceof ArrayBuffer,isUint8Array:e=>e instanceof Uint8Array,isArrayBuffer:e=>e instanceof ArrayBuffer,isEmpty:e=>{if(null==e)return!0;if(H(e)&&(Array.isArray(e)||"string"==typeof e||"function"==typeof e.splice||X(e)||G(e)||J(e)))return!e.length;const t=C.getTag(e);if("[object Map]"===t||"[object Set]"===t)return!e.size;if(Z(e))return!Object.keys(e).length;for(const t in e)if(C.hasOwnProperty.call(e,t))return!1;return!0},isJSONStr:e=>{try{const t=JSON.parse(e);return"object"==typeof t&&null!==t}catch(e){return!1}}};const te=NaN,re=/^\s+|\s+$/g,ne=/^[-+]0x[0-9a-f]+$/i,se=/^0b[01]+$/i,oe=/^0o[0-7]+$/i,ie=parseInt,ae=1/0,ce=17976931348623157e292;function le(e){if("number"==typeof e)return e;if(ee.isSymbol(e))return te;if(ee.isObject(e)){const t="function"==typeof e.valueOf?e.valueOf():e;e=ee.isObject(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(re,"");const t=se.test(e);return t||oe.test(e)?ie(e.slice(2),t?2:8):ne.test(e)?te:+e}function ue(e){return e?(e=le(e))===ae||e===-ae?(e<0?-1:1)*ce:e==e?e:0:0===e?e:0}var fe={toNumber:le,toFinite:ue,toInteger:function(e){var t=ue(e),r=t%1;return t==t?r?t-r:t:0}};const he="Expected a function",de=Math.max,pe=Math.min;function ge(e,t=300,r={}){let n,s,o,i,a,c,l=0,u=!1,f=!1,h=!0;if("function"!=typeof e)throw new TypeError(he);function d(t){const r=n,o=s;return n=s=void 0,l=t,i=e.apply(o,r),i}function p(e){const r=e-c;return void 0===c||r>=t||r<0||f&&e-l>=o}function g(){const e=Date.now();if(p(e))return y(e);a=setTimeout(g,function(e){const r=t-(e-c);return f?pe(r,o-(e-l)):r}(e))}function y(e){return a=void 0,h&&n?d(e):(n=s=void 0,i)}function m(...e){const r=Date.now(),o=p(r);if(n=e,s=this,c=r,o){if(void 0===a)return function(e){return l=e,a=setTimeout(g,t),u?d(e):i}(c);if(f)return a=setTimeout(g,t),d(c)}return void 0===a&&(a=setTimeout(g,t)),i}return t=fe.toNumber(t)||0,ee.isObject(r)&&(u=!!r.leading,f="maxWait"in r,o=f?de(fe.toNumber(r.maxWait)||0,t):o,h="trailing"in r?!!r.trailing:h),m.cancel=function(){void 0!==a&&clearTimeout(a),l=0,n=c=s=a=void 0},m.flush=function(){return void 0===a?i:y(Date.now())},m.pending=function(){return void 0!==a},m}class ye{__list=[];constructor(e){this.push(e)}push(e){return e&&this.__list.push(e),this}clear(){return this.__list=[],this}_exec(e,t){let r;if(ee.isFunction(e))r=e(t);else{if(ee.isPromise(e))return e.then((e=>({...t,...e})));r=e}return ee.isPromise(r)?r:Promise.resolve({...r,...t})}run(e){try{return this.__list.reduce(((e,t)=>e.then((e=>this._exec(t,e)))),Promise.resolve(e)).then((e=>[void 0,e])).catch((e=>[e,void 0]))}catch(e){return Promise.reject([e,void 0])}}}async function me(e,t,r){return e.then((e=>(r&&r(),[null,e]))).catch((e=>(t&&Object.assign(e,t),r&&r(),[e,void 0])))}const be=(e,t)=>{try{let r;return r=ee.isFunction(e)?e():e,me(Promise.resolve(r),void 0,t)}catch(e){return t&&t(),Promise.resolve([e,void 0])}},we=e=>"string"==typeof(e="function"==typeof e?e():e)?new Error(e):e,_e=e=>"function"==typeof e?e():e;var ve={to:me,go:(e,t)=>be(e,t),delay:(e=1e3)=>new Promise((t=>setTimeout(t,e))),safeRun:be,toError:we,timeout:(e,t=0,r="timeout")=>{if(t<=0)return be(e);let n;function s(){n&&clearTimeout(n)}const o=new Promise((e=>{s(),n=setTimeout((()=>e([we(r||"timeout"),void 0])),t)}));return Promise.race([be(e,s),o])},getValueIf:(e,t,r)=>{const n="function"==typeof e?e():e;return _e(n?t:r)},resolveValue:_e,runAsync:async e=>{const[t,r]=await be(e);if(!t)return r}};class xe{__value=void 0;set(e){this.__value=e}get(){return this.__value}}var Ae={singleton:function(){class e{static __instance__;constructor(){}static get Instance(){return e.__instance__||(e.__instance__=new this),e.__instance__}static get I(){return this.Instance}}return e},getset:function(e){const t=new xe;return void 0!==e&&t.set(e),t}};class Se{_func;_callback;constructor(e,t){this._func=e,this._callback=t}async run(){return ve.safeRun(this._func).then((e=>{try{this._callback&&this._callback(e)}catch(e){console.log("[ddan] task",e)}finally{return e}}))}}class ke{__list=[];__count=0;__max=1;constructor(e=1){this.__count=0,this.__max=e>0?e:1,this.clear()}push(e,t){const r=new Se(e,t);return this.__list.push(r),this._step(),this}clear(){return this.__list=[],this.__count=0,this}_step(){if(this.__list.length<=0)return;if(this.__count>=this.__max)return;const e=this.__list.shift();e?(this.__count+=1,e?.run().finally((()=>{try{this.__count>0&&(this.__count-=1),this._step()}catch(e){console.error("[ddan] pipepine step finally",e)}}))):this._step()}async whenAll(){for(;;){if(this.__count<=0)break;await ve.delay(100),this._step()}return this.clear()}}class $e extends(Ae.singleton()){__lockedMap=new Map;pipeline=new ke;constructor(){super()}lock(e,t){if(!e||!t)return;const r=ve.safeRun(t);return this.__lockedMap.set(e,r),r}unlock(e){e&&this.__lockedMap.has(e)&&this.__lockedMap.delete(e)}async exec(e,t){if(!e||!t)return ve.safeRun(e);const r=this.__lockedMap.get(t);if(r)return r;const n=this.lock(t,e);if(!n)return ve.safeRun(e);const s=await n;return this.unlock(t),s}}var Oe={toUtf8:e=>{if(!e)return"";const t=e.replace(/\r\n/g,"\n");let r="";for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);n<128?r+=String.fromCharCode(n):n>127&&n<2048?(r+=String.fromCharCode(n>>6|192),r+=String.fromCharCode(63&n|128)):(r+=String.fromCharCode(n>>12|224),r+=String.fromCharCode(n>>6&63|128),r+=String.fromCharCode(63&n|128))}return r},fromUtf8:e=>{let t="",r=0;if(!e)return"";let n=0,s=0,o=0;for(;r<e.length;)n=e.charCodeAt(r),n<128?(t+=String.fromCharCode(n),r++):n>191&&n<224?(s=e.charCodeAt(r+1),t+=String.fromCharCode((31&n)<<6|63&s),r+=2):(s=e.charCodeAt(r+1),o=e.charCodeAt(r+2),t+=String.fromCharCode((15&n)<<12|(63&s)<<6|63&o),r+=3);return t},toUtf8Bytes:e=>{if(!e)return new Uint8Array;const t=e.replace(/\r\n/g,"\n"),r=[];for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);n<128?r.push(n):n<2048?(r.push(n>>6|192),r.push(63&n|128)):(r.push(n>>12|224),r.push(n>>6&63|128),r.push(63&n|128))}return new Uint8Array(r)},fromUtf8Bytes:e=>{let t="",r=0;if(!e||e.length<=0)return"";for(;r<e.length;){let n=e[r];if(n<128)t+=String.fromCharCode(n),r++;else if(n>191&&n<224){const s=e[r+1];t+=String.fromCharCode((31&n)<<6|63&s),r+=2}else{const s=e[r+1],o=e[r+2];t+=String.fromCharCode((15&n)<<12|(63&s)<<6|63&o),r+=3}}return t}};const je="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var Ce={toBase64:(e="")=>{let t,r,n,s,o,i,a,c="",l=0;for(e=Oe.toUtf8(e);l<e.length;)t=e.charCodeAt(l++),r=e.charCodeAt(l++),n=e.charCodeAt(l++),s=t>>2,o=(3&t)<<4|r>>4,i=(15&r)<<2|n>>6,a=63&n,isNaN(r)?i=a=64:isNaN(n)&&(a=64),c=c+je.charAt(s)+je.charAt(o)+je.charAt(i)+je.charAt(a);return c},fromBase64:(e="")=>{let t,r,n,s,o,i,a,c="",l=0;for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");l<e.length;)s=je.indexOf(e.charAt(l++)),o=je.indexOf(e.charAt(l++)),i=je.indexOf(e.charAt(l++)),a=je.indexOf(e.charAt(l++)),t=s<<2|o>>4,r=(15&o)<<4|i>>2,n=(3&i)<<6|a,c+=String.fromCharCode(t),64!=i&&(c+=String.fromCharCode(r)),64!=a&&(c+=String.fromCharCode(n));return c=Oe.fromUtf8(c),c},bytesToBase64:e=>{let t,r,n,s,o,i,a,c="",l=0;if(!e||!ee.isArrayLike(e)||!ee.isUint8Array(e))return"";for(;l<e.length;)t=e[l++],r=e[l++],n=e[l++],s=t>>2,o=(3&t)<<4|r>>4,i=(15&r)<<2|n>>6,a=63&n,isNaN(r)?i=a=64:isNaN(n)&&(a=64),c=c+je.charAt(s)+je.charAt(o)+je.charAt(i)+je.charAt(a);return c},base64ToBytes:(e="")=>{let t,r,n,s,o,i,a,c=[],l=0;for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");l<e.length;)s=je.indexOf(e.charAt(l++)),o=je.indexOf(e.charAt(l++)),i=je.indexOf(e.charAt(l++)),a=je.indexOf(e.charAt(l++)),t=s<<2|o>>4,r=(15&o)<<4|i>>2,n=(3&i)<<6|a,c.push(t),64!=i&&c.push(r),64!=a&&c.push(n);return new Uint8Array(c)}};function Ee(e){return Math.floor(Math.random()*e)}function Pe(e,t=10){return+parseFloat(Number(e).toExponential(t))}const Te=180/Math.PI;var qe={random:Ee,randomRange:function(e,t){return Math.floor(Math.random()*(t-e+1)+e)},lerp:function(e,t,r){return e*(1-r)+t*r},randoms:function(e,t=1,r=!1){const n=[];for(;;){if(n.length>=t)break;if(!r&&n.length>=e)break;const s=Ee(e);r?n.push(s):n.includes(s)||n.push(s)}return n},strip:Pe,float:function(e,{digits:t=2,fixed:r=!1}={}){const n=Pe(e).toFixed(t);return r||!t?+n:+n.replace(/(\.[1-9]?)0+$/,"$1").replace(/\.$/,"")},radian2degree:function(e){return e*Te},degree2radian:function(e){return e/Te},calcDataSize:function(e){const t={gb:0,mb:0,kb:0,b:0,total:e,desc:""},r=[{name:"gb",divisor:1<<30},{name:"mb",divisor:1<<20},{name:"kb",divisor:1024},{name:"b",divisor:1}];for(const n of r){const r=Math.floor(e/n.divisor);t[n.name]=r,e-=r*n.divisor}return t.gb>0?t.desc=(t.gb+t.mb/1024).toFixed(2)+"GB":t.mb>0?t.desc=(t.mb+t.kb/1024).toFixed(2)+"MB":t.kb>0?t.desc=(t.kb+t.b/1024).toFixed(2)+"KB":t.desc=t.b+"B",t}};var Be={bytes2str:e=>{if(!e||!ee.isArrayLike(e))return"";return e.reduce(((e,t)=>e+String.fromCharCode(t)),"")},str2bytes:(e="")=>{const t=e,r=new Uint8Array(t.length);for(let e=0,n=t.length;e<n;e++)r[e]=t.charCodeAt(e);return r},str2hex:e=>{let t="";for(let r=0;r<e.length;r++)t+=e.charCodeAt(r).toString(16).padStart(2,"0");return t},hex2str:e=>{let t="";for(let r=0;r<e.length;r+=2)t+=String.fromCharCode(parseInt(e.substr(r,2),16));return t},concatBytes:(...e)=>{const t=e.reduce(((e,t)=>e+t.length),0),r=new Uint8Array(t);let n=0;for(const t of e)r.set(t,n),n+=t.length;return r},uint32ToBytes:e=>{const t=new Uint8Array(8);return t[0]=e[0]>>>24&255,t[1]=e[0]>>>16&255,t[2]=e[0]>>>8&255,t[3]=255&e[0],t[4]=e[1]>>>24&255,t[5]=e[1]>>>16&255,t[6]=e[1]>>>8&255,t[7]=255&e[1],t},bytesToUint32:e=>{const t=new Uint32Array(2);return t[0]=e[0]<<24|e[1]<<16|e[2]<<8|e[3],t[1]=e[4]<<24|e[5]<<16|e[6]<<8|e[7],t},hex2bytes:e=>{let t=new Uint8Array(e.length/2);for(let r=0;r<t.length;r++)t[r]=parseInt(e.substr(2*r,2),16);return t},bytes2hex:e=>Array.from(e).map((e=>e.toString(16).padStart(2,"0"))).join(""),toUint32:e=>{const t=Math.ceil(e.length/4),r=new Uint32Array(t);for(let n=0;n<t;n++)r[n]=e.charCodeAt(4*n)<<24|e.charCodeAt(4*n+1)<<16|e.charCodeAt(4*n+2)<<8|e.charCodeAt(4*n+3);return r},fromUint32:e=>{let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]>>>24&255,e[r]>>>16&255,e[r]>>>8&255,255&e[r]);return t.replace(/\0+$/,"")},flatten:function e(t,r=!1,n=[]){for(let s=0;s<t.length;s+=1){const o=t[s];r&&Array.isArray(o)?e(o,r,n):n.push(o)}return n}};var Le={pkcs7Padding:(e,t)=>{const r=t-e.length%t,n=new Uint8Array(r).fill(r);return Be.concatBytes(e,n)},pkcs7Unpadding:e=>{const t=e[e.length-1];return e.slice(0,-t)}};function Re(e,t){return e<<t|e>>>32-t}function Fe(e,t){let r,n,s,o,i;return s=2147483648&e,o=2147483648&t,r=1073741824&e,n=1073741824&t,i=(1073741823&e)+(1073741823&t),r&n?2147483648^i^s^o:r|n?1073741824&i?3221225472^i^s^o:1073741824^i^s^o:i^s^o}function Ue(e,t,r,n,s,o,i){return e=Fe(e,Fe(Fe(function(e,t,r){return e&t|~e&r}(t,r,n),s),i)),Fe(Re(e,o),t)}function Ie(e,t,r,n,s,o,i){return e=Fe(e,Fe(Fe(function(e,t,r){return e&r|t&~r}(t,r,n),s),i)),Fe(Re(e,o),t)}function De(e,t,r,n,s,o,i){return e=Fe(e,Fe(Fe(function(e,t,r){return e^t^r}(t,r,n),s),i)),Fe(Re(e,o),t)}function Me(e,t,r,n,s,o,i){return e=Fe(e,Fe(Fe(function(e,t,r){return t^(e|~r)}(t,r,n),s),i)),Fe(Re(e,o),t)}function Ke(e){let t,r,n="",s="";for(r=0;r<=3;r++)t=e>>>8*r&255,s="0"+t.toString(16),n+=s.substr(s.length-2,2);return n}function ze(e){let t,r,n,s,o,i,a,c,l,u=[];for(u=function(e){let t;const r=e.length,n=r+8,s=16*((n-n%64)/64+1),o=Array(s-1).fill(0);let i=0,a=0;for(;a<r;)t=(a-a%4)/4,i=a%4*8,o[t]=o[t]|e[a]<<i,a++;return t=(a-a%4)/4,i=a%4*8,o[t]=o[t]|128<<i,o[s-2]=r<<3,o[s-1]=r>>>29,o}(e),i=1732584193,a=4023233417,c=2562383102,l=271733878,t=0;t<u.length;t+=16)r=i,n=a,s=c,o=l,i=Ue(i,a,c,l,u[t+0],7,3614090360),l=Ue(l,i,a,c,u[t+1],12,3905402710),c=Ue(c,l,i,a,u[t+2],17,606105819),a=Ue(a,c,l,i,u[t+3],22,3250441966),i=Ue(i,a,c,l,u[t+4],7,4118548399),l=Ue(l,i,a,c,u[t+5],12,1200080426),c=Ue(c,l,i,a,u[t+6],17,2821735955),a=Ue(a,c,l,i,u[t+7],22,4249261313),i=Ue(i,a,c,l,u[t+8],7,1770035416),l=Ue(l,i,a,c,u[t+9],12,2336552879),c=Ue(c,l,i,a,u[t+10],17,4294925233),a=Ue(a,c,l,i,u[t+11],22,2304563134),i=Ue(i,a,c,l,u[t+12],7,1804603682),l=Ue(l,i,a,c,u[t+13],12,4254626195),c=Ue(c,l,i,a,u[t+14],17,2792965006),a=Ue(a,c,l,i,u[t+15],22,1236535329),i=Ie(i,a,c,l,u[t+1],5,4129170786),l=Ie(l,i,a,c,u[t+6],9,3225465664),c=Ie(c,l,i,a,u[t+11],14,643717713),a=Ie(a,c,l,i,u[t+0],20,3921069994),i=Ie(i,a,c,l,u[t+5],5,3593408605),l=Ie(l,i,a,c,u[t+10],9,38016083),c=Ie(c,l,i,a,u[t+15],14,3634488961),a=Ie(a,c,l,i,u[t+4],20,3889429448),i=Ie(i,a,c,l,u[t+9],5,568446438),l=Ie(l,i,a,c,u[t+14],9,3275163606),c=Ie(c,l,i,a,u[t+3],14,4107603335),a=Ie(a,c,l,i,u[t+8],20,1163531501),i=Ie(i,a,c,l,u[t+13],5,2850285829),l=Ie(l,i,a,c,u[t+2],9,4243563512),c=Ie(c,l,i,a,u[t+7],14,1735328473),a=Ie(a,c,l,i,u[t+12],20,2368359562),i=De(i,a,c,l,u[t+5],4,4294588738),l=De(l,i,a,c,u[t+8],11,2272392833),c=De(c,l,i,a,u[t+11],16,1839030562),a=De(a,c,l,i,u[t+14],23,4259657740),i=De(i,a,c,l,u[t+1],4,2763975236),l=De(l,i,a,c,u[t+4],11,1272893353),c=De(c,l,i,a,u[t+7],16,4139469664),a=De(a,c,l,i,u[t+10],23,3200236656),i=De(i,a,c,l,u[t+13],4,681279174),l=De(l,i,a,c,u[t+0],11,3936430074),c=De(c,l,i,a,u[t+3],16,3572445317),a=De(a,c,l,i,u[t+6],23,76029189),i=De(i,a,c,l,u[t+9],4,3654602809),l=De(l,i,a,c,u[t+12],11,3873151461),c=De(c,l,i,a,u[t+15],16,530742520),a=De(a,c,l,i,u[t+2],23,3299628645),i=Me(i,a,c,l,u[t+0],6,4096336452),l=Me(l,i,a,c,u[t+7],10,1126891415),c=Me(c,l,i,a,u[t+14],15,2878612391),a=Me(a,c,l,i,u[t+5],21,4237533241),i=Me(i,a,c,l,u[t+12],6,1700485571),l=Me(l,i,a,c,u[t+3],10,2399980690),c=Me(c,l,i,a,u[t+10],15,4293915773),a=Me(a,c,l,i,u[t+1],21,2240044497),i=Me(i,a,c,l,u[t+8],6,1873313359),l=Me(l,i,a,c,u[t+15],10,4264355552),c=Me(c,l,i,a,u[t+6],15,2734768916),a=Me(a,c,l,i,u[t+13],21,1309151649),i=Me(i,a,c,l,u[t+4],6,4149444226),l=Me(l,i,a,c,u[t+11],10,3174756917),c=Me(c,l,i,a,u[t+2],15,718787259),a=Me(a,c,l,i,u[t+9],21,3951481745),i=Fe(i,r),a=Fe(a,n),c=Fe(c,s),l=Fe(l,o);return Ke(i)+Ke(a)+Ke(c)+Ke(l)}const Ne=e=>{if("string"!=typeof e&&!(e instanceof Uint8Array))return"";return ze("string"==typeof e?Oe.toUtf8Bytes(e):e)};var He={md5:Ne,md5Base64:e=>{const t=Ne(e);if(!t)return"";const r=Be.hex2bytes(t);return Ce.bytesToBase64(r)}};const Ve=(e,t=!1)=>{const r=new Uint8Array(e);return t?Ce.bytesToBase64(r):r.reduce(((e,t)=>e+String.fromCharCode(t)),"")};var We={...Be,...Le,...Oe,...Ce,...He,str2ab:(e="",t=!1)=>{if(t)return Ce.base64ToBytes(e).buffer;{const t=new ArrayBuffer(e.length),r=new Uint8Array(t);for(let t=0,n=e.length;t<n;t++)r[t]=e.charCodeAt(t);return t}},ab2str:Ve,utf8ToBase64:e=>ee.isBrowser?btoa(e):Buffer.from(e,"utf-8").toString("base64"),base64ToUtf8:e=>ee.isBrowser?atob(e):Buffer.from(e,"base64").toString("utf-8"),getRandomBytes:e=>{const t=new Uint8Array(e);for(let r=0;r<e;r++)t[r]=qe.random(256);return t},textEncode:e=>Oe.toUtf8Bytes(e),textDecode:e=>Oe.fromUtf8Bytes(new Uint8Array(e)),toDataUrl:(e,t="text/plain")=>e?"string"==typeof e?`data:${t};base64,`+Ce.toBase64(e):ee.isArrayBuffer(e)?`data:${t};base64,`+Ve(e,!0):"":""};const Ze=e=>{try{const t=We.ab2str(e,!0);return t.match(/.{1,64}/g)?.join("\n")||""}catch(e){return""}},Je=(e="",t="PUBLIC KEY")=>`-----BEGIN ${t}-----\n${e}\n-----END ${t}-----`;var Ye={RSAPublicKey:"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApiLWsPmoaiGdr02AmPYS\n4/VgxyJNNJSK2VICirXl4P8qAP3b/6GIs7Hwnsmmuj7gledJ0XiZodFjDNgQEZEG\nj4K9KX8NixcrJwnTQV5UebiERdj+64ihwqPVWo9dIOj43ZPJ8f4dritJv5tnQaBb\nb9zTkU3Ofzk1g8RU00Ith6quOGZcU2IWC4OQ+5YiZvzrCBKEvjFwK2OvGq43tI51\nGaZdI9H09jisypqefsMvv6esjEQQOtl+WGlI5fof7KZUt3dppvuDI4CYgeXIoKKL\n9T9qDl8F9aNSs3XHx32YyA7L1FraFD6PjqRjueIFp2emsXQcIMeMqqgVyV+4qb+0\nuwIDAQAB",RSAPrivateKey:"MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCmItaw+ahqIZ2v\nTYCY9hLj9WDHIk00lIrZUgKKteXg/yoA/dv/oYizsfCeyaa6PuCV50nReJmh0WMM\n2BARkQaPgr0pfw2LFysnCdNBXlR5uIRF2P7riKHCo9Vaj10g6Pjdk8nx/h2uK0m/\nm2dBoFtv3NORTc5/OTWDxFTTQi2Hqq44ZlxTYhYLg5D7liJm/OsIEoS+MXArY68a\nrje0jnUZpl0j0fT2OKzKmp5+wy+/p6yMRBA62X5YaUjl+h/splS3d2mm+4MjgJiB\n5cigoov1P2oOXwX1o1KzdcfHfZjIDsvUWtoUPo+OpGO54gWnZ6axdBwgx4yqqBXJ\nX7ipv7S7AgMBAAECggEAE1kuWLkSsJ2OoDpt9iJ+a7cJmNd5V1zPWOTwr9fkWFJP\nQYNPKlPVOFxKUivY84rcHAkuMyuQ9OQOXZISOQGDWpZW0mzeFmtR1r+Rr2S9gNmI\n6huOAL9OW306HUxiA7GuPhv2omy+Zyjac2q1WVLEI2B78Um2+WEfxuNIH7xu0gRR\nz/wluevMBQlv6hSeMESP6e9s2kB+FuM4bL7+1sexwS1TudKbHybujaiB8un9E2V3\nC9BkE6yf00Rhvii6Q4E4w3PFQfcBEFnjOD0S2Watx8GIbYjlYvtquy8Yj7OtyZB6\nw5sxyaYhKVVnkpGAbOgaCj94ABYF47VuwXr45I4PzQKBgQDp6svzD+QKlARjcWgO\nrH7UEpFX6m49G6Ib4c63xEg9+GesTgfDxoYxtXDKsC7I8OwMrmffJGbyfjaAvzmg\nicM3Y7kF6UPO9+q2mBRsyhoJSNONTeUVyoFSc+QDsVgndlTZIjqC5XLrONGaSPLJ\n7jJzqKhp3NQcpO8+xY0d7Efm1QKBgQC10fCNuF1LUTYgsWvvGxTiCCAIBurZmHU+\nGMb2Okfoco/P+QNl1jEba91AC7FudW3g/lRn0vTnDajlNoz2/CKunrTKN4/9lEBI\ntiwEOvhc5FtapRifSfrrNwFqPM+LijvOkcteWVhAUWCEP1eLmpnXGqfmZxnTaaVe\n5DyDgyAVTwKBgQDhEawfOQEANJ9sV2f6BnsZ7quuXcCoR3hZP5G5O8EO735BSesq\nsk/YcG4QeCjr6vQU15LWH552YH5srpHyJ9uP5gHW8DTwZZaPDhFJA8S9fjcfVP3B\nU9HO1fdknjTl83N8YPTPkZpbPZZfzyTcqrYclwFEqtfkn8YbLdW0Hu6n6QKBgDEv\njvS3uD1ExfDILlurptWSvx+Mx4F/1c+roj8/+u3t9+uaAIpPDE/PuTW3NBOens/r\n3WeM0QWkU1lWjYHPKY61jlDaARDnRxCkf3nRfhibCf+Wg/erar6wzagwtTCZf55d\nIHfwkYgsu4BrJkK02wMuydbxczIW9U6bTaeCFG7PAoGAN3oHYzTEBwZ7ZKv11QiQ\nEp/HeHBvD8fH/e1uVyBel4Co7NO5pV2s8qjS8+3+jxumKLNXCirjqwHo03YCdzxi\ncy4GFDsukHmDQ7FF9VC4QV0fJ0F7jGYE9nNZ+K9qwS5KrihOSBPxj0HptrF6TSOw\nBTSwr0byL3TC0m0StkSNKpo=",generateKeys:async e=>{try{const t=await e.generateKey({name:"RSA-OAEP",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:"SHA-256"},!0,["encrypt","decrypt"]),r=await window.crypto.subtle.exportKey("spki",t.publicKey),n=Ze(r),s=Je(n,"PUBLIC KEY"),o=await window.crypto.subtle.exportKey("pkcs8",t.privateKey),i=Ze(o);return{publicKey:n,publicKeyPem:s,privateKey:i,privateKeyPem:Je(i,"PRIVATE KEY")}}catch(e){return console.error("generateKeys failed:",e),{publicKey:"",publicKeyPem:"",privateKey:"",privateKeyPem:""}}},format_pem_key:Je,format_pem_content:Ze,encrypt:async(e,t,r)=>{try{const n=(new TextEncoder).encode(t),s=await e.importKey("spki",We.str2ab(r,!0),{name:"RSA-OAEP",hash:"SHA-256"},!0,["encrypt"]),o=[];for(let t=0;t<n.length;t+=190){let r=n.slice(t,t+190),i=await e.encrypt({name:"RSA-OAEP"},s,r);o.push(new Uint8Array(i))}const i=We.concatBytes(...o);return We.bytesToBase64(i)}catch(e){return console.error("[debug] encrypt",e),""}},decrypt:async(e,t,r)=>{try{const n=We.base64ToBytes(t),s=await e.importKey("pkcs8",We.str2ab(r,!0),{name:"RSA-OAEP",hash:"SHA-256"},!0,["decrypt"]),o=[],i=256;for(let t=0;t<n.length;t+=i){let r=n.slice(t,t+i),a=await e.decrypt({name:"RSA-OAEP"},s,r);o.push(new Uint8Array(a))}const a=We.concatBytes(...o);return(new TextDecoder).decode(a)}catch(e){return console.error("decrypt failed:",e),""}}};const Qe=()=>c.default.webcrypto.subtle;var Ge={generateKeys:()=>Ye.generateKeys(Qe()),encrypt:async(e,t)=>Ye.encrypt(Qe(),e,t),decrypt:async(e,t)=>Ye.decrypt(Qe(),e,t),encode:async e=>Ye.encrypt(Qe(),e,Ye.RSAPublicKey),decode:async e=>Ye.decrypt(Qe(),e,Ye.RSAPrivateKey)};const Xe="undefined"!=typeof window?window.crypto.subtle:{};var et={generateKeys:()=>Ye.generateKeys(Xe),encrypt:async(e,t)=>Ye.encrypt(Xe,e,t),decrypt:async(e,t)=>Ye.decrypt(Xe,e,t),encode:async e=>Ye.encrypt(Xe,e,Ye.RSAPublicKey),decode:async e=>Ye.decrypt(Xe,e,Ye.RSAPrivateKey)};const tt=2654435769,rt=(e,t)=>{let r=0;for(let n=0;n<32;n++)r=r+tt>>>0,e[0]=e[0]+((e[1]<<4)+t[0]^e[1]+r^(e[1]>>>5)+t[1])>>>0,e[1]=e[1]+((e[0]<<4)+t[2]^e[0]+r^(e[0]>>>5)+t[3])>>>0;return e},nt=(e,t)=>{let r=3337565984;for(let n=0;n<32;n++)e[1]=e[1]-((e[0]<<4)+t[2]^e[0]+r^(e[0]>>>5)+t[3])>>>0,e[0]=e[0]-((e[1]<<4)+t[0]^e[1]+r^(e[1]>>>5)+t[1])>>>0,r=r-tt>>>0;return e},st=e=>{const t=We.str2bytes(e),r=new Uint32Array(4);return r[0]=t[0]<<24|t[1]<<16|t[2]<<8|t[3],r[1]=t[4]<<24|t[5]<<16|t[6]<<8|t[7],r[2]=t[8]<<24|t[9]<<16|t[10]<<8|t[11],r[3]=t[12]<<24|t[13]<<16|t[14]<<8|t[15],r},ot=(e,t)=>{const r=We.pkcs7Padding(e,8),n=st(t),s=[];for(let e=0;e<r.length;e+=8){const t=We.bytesToUint32(r.slice(e,e+8)),o=rt(t,n);s.push(We.uint32ToBytes(o))}return We.concatBytes(...s)},it=(e,t)=>{const r=st(t),n=[];for(let t=0;t<e.length;t+=8){const s=We.bytesToUint32(e.slice(t,t+8)),o=nt(s,r);n.push(We.uint32ToBytes(o))}const s=We.concatBytes(...n);return We.pkcs7Unpadding(s)};var at={TEAKey:"33576f37387276645054657a6831686e454664424e5652456f47794835795942",encrypt:rt,decrypt:nt,toTeaKey:st,encode:(e,t)=>{const r=We.textEncode(e),n=ot(r,t);return We.bytesToBase64(n)},decode:(e,t)=>{const r=We.base64ToBytes(e),n=it(r,t);return We.textDecode(n.buffer)},encodeBytes:ot,decodeBytes:it};function ct(e,t,r){const{length:n}=e;return r=void 0===r?n:r,!t&&r>=n?e:function(e,t,r){let n=null==e?0:e.length;if(!n)return[];(t=null==t?0:t)<0&&(t=-t>n?0:n+t),(r=(r=void 0===r?n:r)>n?n:r)<0&&(r+=n),n=t>r?0:r-t>>>0,t>>>=0;let s=-1;const o=new Array(n);for(;++s<n;)o[s]=e[s+t];return o}(e,t,r)}const lt=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff\\ufe0e\\ufe0f]");function ut(e){return lt.test(e)}const ft="\\ud800-\\udfff",ht=`[${ft}]`,dt="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]",pt="\\ud83c[\\udffb-\\udfff]",gt=`[^${ft}]`,yt="(?:\\ud83c[\\udde6-\\uddff]){2}",mt="[\\ud800-\\udbff][\\udc00-\\udfff]",bt=`${`(?:${dt}|${pt})`}?`,wt="[\\ufe0e\\ufe0f]?",_t=wt+bt+`(?:\\u200d(?:${[gt,yt,mt].join("|")})${wt+bt})*`,vt=`(?:${[`${gt}${dt}?`,dt,yt,mt,ht].join("|")})`,xt=RegExp(`${pt}(?=${pt})|${vt+_t}`,"g");function At(e){return ut(e)?function(e){return e.match(xt)||[]}(e):function(e){return e.split("")}(e)}function St(e){return t=>{if(!t)return"";const r=ut(t)?At(t):void 0,n=r?r[0]:t[0],s=r?ct(r,1).join(""):t.slice(1);return n[e]()+s}}const kt="\\ud800-\\udfff",$t="\\u2700-\\u27bf",Ot="a-z\\xdf-\\xf6\\xf8-\\xff",jt="A-Z\\xc0-\\xd6\\xd8-\\xde",Ct="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Et="['’]",Pt=`[${Ct}]`,Tt=`[${$t}]`,qt=`[${Ot}]`,Bt=`[^${kt}${Ct+"\\d"+$t+Ot+jt}]`,Lt="(?:\\ud83c[\\udde6-\\uddff]){2}",Rt="[\\ud800-\\udbff][\\udc00-\\udfff]",Ft=`[${jt}]`,Ut=`(?:${qt}|${Bt})`,It=`(?:${Ft}|${Bt})`,Dt=`(?:${Et}(?:d|ll|m|re|s|t|ve))?`,Mt=`(?:${Et}(?:D|LL|M|RE|S|T|VE))?`,Kt="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]|\\ud83c[\\udffb-\\udfff])?",zt="[\\ufe0e\\ufe0f]?",Nt=zt+Kt+`(?:\\u200d(?:${[`[^${kt}]`,Lt,Rt].join("|")})${zt+Kt})*`,Ht=`(?:${[Tt,Lt,Rt].join("|")})${Nt}`,Vt=RegExp([`${Ft}?${qt}+${Dt}(?=${[Pt,Ft,"$"].join("|")})`,`${It}+${Mt}(?=${[Pt,Ft+Ut,"$"].join("|")})`,`${Ft}?${Ut}+${Dt}`,`${Ft}+${Mt}`,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])","\\d+",Ht].join("|"),"g");const Wt=RegExp.prototype.test.bind(/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/),Zt=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function Jt(e,t){if(void 0===t){const t=Wt(e)?function(e){return e.match(Vt)}(e):function(e){return e.match(Zt)}(e);return t||[]}return e.match(t)||[]}function Yt(e){if(null==e)return"";if("string"==typeof e)return e;if(Array.isArray(e))return`${e.map((e=>null==e?e:Yt(e)))}`;if(ee.isSymbol(e))return e.toString();const t=`${e}`;return"0"==t&&1/e==-Infinity?"-0":t}const Qt=St("toUpperCase"),Gt=St("toLowerCase");var Xt={toString:Yt,startCase:e=>Jt(`${e}`.replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+Qt(t)),""),snakeCase:e=>Jt(Yt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"_":"")+t.toLowerCase()),""),kebabCase:e=>Jt(Yt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"-":"")+t.toLowerCase()),""),camelCase:e=>Jt(Yt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>(t=t.toLowerCase(),e+(r?Qt(t):t))),""),upperCase:e=>Jt(Yt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toUpperCase()),""),upperFirst:Qt,lowerCase:e=>Jt(Yt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toLowerCase()),""),lowerFirst:Gt,splitOnFirst:(e,t)=>{if("string"!=typeof e||"string"!=typeof t)throw new TypeError("Expected the arguments to be of type `string`");if(""===e||""===t)return[];const r=e.indexOf(t);return-1===r?[]:[e.slice(0,r),e.slice(r+t.length)]},parseValue:(e,{number:t=!1,boolean:r=!1}={})=>{let n=e;return e&&"string"==typeof e?(t&&!Number.isNaN(Number(e))&&"string"==typeof e&&""!==e.trim()?n=Number(e):!r||null===e||"true"!==e.toLowerCase()&&"false"!==e.toLowerCase()||(n="true"===e.toLowerCase()),n):n},replace:(e,t)=>{if(!e)return e;if(!t)return e;let r=e;return((Array.isArray(t)?t:[t])||[]).forEach((e=>{e.key&&e.value&&(r=r.replace(new RegExp(e.key,e.flag||""),e.value))})),r},jsonFormat:e=>{try{if(!e)return"";const t=JSON.parse(e);return JSON.stringify(t,null,2)}catch(t){return e}},toLines:(e,t="\n")=>e?e.split(t).map((e=>e.trim())).filter((e=>!!e)):[]};var er={logString:e=>{try{const t=JSON.stringify(e);return void 0===t?"":at.encode(t,We.hex2str(at.TEAKey))}catch(e){return""}},logParse:e=>{try{if(!e)return"";const t=at.decode(e,We.hex2str(at.TEAKey));return Xt.jsonFormat(t)}catch(e){return""}},logRString:async e=>{try{const t=JSON.stringify(e);if(void 0===t)return"";return ee.isBrowser?await et.encode(t):await Ge.encode(t)}catch(e){return""}},logRParse:async e=>{try{if(!e)return"";const t=ee.isBrowser?await et.decode(e):await Ge.decode(e);return Xt.jsonFormat(t)}catch(e){return""}}};const tr=(e,t,r)=>e*(1-r)+t*r,rr=(e,t,r)=>e===t?0:(r-e)/(t-e),nr=(e,t,r)=>({x:tr(e.x,t.x,r),y:tr(e.y,t.y,r)}),sr=(e,t,r,n)=>{const s=nr(e,t,n),o=nr(t,r,n);return nr(s,o,n)},or=(e,t)=>{if(1===e.length)return e[0];const r=[];for(let n=0;n<e.length-1;n++)r.push({x:(1-t)*e[n].x+t*e[n+1].x,y:(1-t)*e[n].y+t*e[n+1].y});return or(r,t)},ir=(e,t)=>{if(0===t||t===e)return 1;let r=1;for(let n=1;n<=t;n++)r=r*(e-n+1)/n;return r};var ar={bezier1:nr,bezier2:sr,bezier3:(e,t,r,n,s)=>{const o=sr(e,t,r,s),i=sr(t,r,n,s);return nr(o,i,s)},bezier:or,bezierCurve:(e,t)=>{const r=e.length-1;let n=0,s=0;for(let o=0;o<=r;o++){const i=ir(r,o)*Math.pow(1-t,r-o)*Math.pow(t,o);n+=i*e[o].x,s+=i*e[o].y}return{x:n,y:s}},lerp:tr,lerpAverage:(e,t,r="")=>{if(e.length<=0)return 0;if(1===e.length)return e[0].x;if(2===e.length)return tr(e[0].y,e[1].y,.5);const n=[],s=e.slice().sort(((e,t)=>e.x-t.x)),o=s.length,i=s[0].x,a=s[o-1].x;for(let e=i;e<=a;e+=t){let t=0;for(let n=0;n<o-1;n++){const o=s[n],i=s[n+1];if(e>=o.x&&e<=i.x){if("lerp"===r){const r=rr(o.x,i.x,e);t=nr(o,i,r).y}else t=o.y;break}}e>s[o-1].x&&(t=s[o-1].y),n.push(t)}return n.reduce(((e,t)=>e+t),0)/n.length},proportion:rr};var cr={...ve,...er,...ar,sleep:ve.delay,run:async function(e,t=0){if(t<=0)return ve.safeRun(e);const r=t>0?Date.now():0,n=await ve.safeRun(e),s=Date.now()-r;return s<t&&await ve.delay(t-s),n},exec:(e,t="")=>$e.I.exec(e,t),debounce:ge,throttle:function(e,t=300,r={}){let n=!0,s=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return ee.isObject(r)&&(n=r.leading?!!r.leading:n,s=r.trailing?!!r.trailing:s),ge(e,t,{leading:n,maxWait:t,trailing:s})},task:e=>new ye(e),mutex:function(e){var t=null;return async function(...r){if((t=this||t||{}).__ddMutex)return!1;t.__ddMutex=!0;try{e&&await Promise.resolve(e.apply(this,r))}catch(e){console.log(e)}finally{t.__ddMutex=!1}}},polling:async function(e={}){const{func:t,interval:r=100,times:n=1e3}=e;let s=n;const o=r<1?100:r;do{if(!t)break;const[e,r]=await ve.to(Promise.resolve(t()));if(e||!1===r)break;s>0&&s--,0!==s&&await ve.delay(o)}while(-1===n||s>0)},pipe:(e,t)=>$e.I.pipeline.push(e,t),pipeline:(e=1)=>new ke(e),safeTask:(e,t)=>new Se(e,t)};const lr=e=>{if(!e)return e;if("object"!=typeof e)return e;const t=Array.isArray(e)?[]:{};for(const r in e)e.hasOwnProperty(r)&&(t[r]=lr(e[r]));return t};const ur=(e,t,r={})=>{const n=e||{},{ignoreUndefined:s=!0,cover:o=!1}=r;if(!t)return n;for(const i in t){if(!t.hasOwnProperty(i))continue;const a=t[i];"object"!=typeof a||"object"!=typeof e[i]||o?s&&void 0===a||r.ignoreNull&&null===a||r.ignoreZero&&0===a||r.ignoreEmptyArray&&Array.isArray(a)&&a.length<=0||r.ignoreEmptyString&&"string"==typeof a&&""===a.trim()||(n[i]=a):n[i]=fr(e[i],a,r)}return n},fr=(e,t,r={})=>{let n={};return n=e&&"object"==typeof e&&!Array.isArray(e)?ur(e,t,r):ur({...e},t,r),n},hr=(e,t,r={})=>ur({...e},t,{cover:!0,...r}),dr=(e,t,r,n,s=!1)=>{if(!e||!t||!r)return;let o=e[t];null!==o&&"object"==typeof o&&s&&Object.keys(o).forEach((e=>{dr(o,e,r,n,s)})),Object.defineProperty(e,t,{configurable:!0,enumerable:!0,set:i=>{r.call(n,i,o),o=i,s&&dr(e,t,r,n,s)},get:()=>o})};var pr={copy:(e,t={})=>{if(void 0===e)return;const r=JSON.parse(JSON.stringify(e));if("object"!=typeof r)return r;if(Array.isArray(r))return r;const{fields:n=[],camel:s=!1,pure:o=!0}=t;if((!n||n.length<=0)&&!s)return r;const i={};for(const e in r){if(!r.hasOwnProperty(e))continue;const a=s?o&&e.startsWith("_")?e:Xt.camelCase(e):e;if(n.length>0&&!n.includes(e)&&!n.includes(a))continue;const c=r[e];t.ignoreNull&&null===c||(t.ignoreZero&&0===c||t.ignoreEmptyArray&&Array.isArray(c)&&c.length<=0||t.ignoreEmptyString&&"string"==typeof c&&""===c.trim()||(i[a]=c))}return i},clone:lr,merge:fr,isEmpty:e=>0!==e&&(!e||"object"==typeof e&&(Array.isArray(e)?!e.length:Object.keys(e).length<=0)),parseValue:(e,{number:t=!1,boolean:r=!1}={})=>{if(!e&&"object"!=typeof e)return e;for(const[n,s]of Object.entries(e))if("object"==typeof s&&null!==s)for(const[e,n]of Object.entries(s))s[e]=Xt.parseValue(n,{number:t,boolean:r});else e[n]=Xt.parseValue(s,{number:t,boolean:r});return e},cloneClass:function(e){return e?"object"!=typeof e?e:Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e)):e},combine:hr,combines:(e,t={})=>{let r={};if(!e||e.length<=0)return r;const{ignoreUndefined:n=!0,ignoreNull:s=!0,ignoreZero:o=!0,ignoreEmptyArray:i=!0,ignoreEmptyString:a=!0,cover:c=!0}=t;return e.forEach((e=>r=hr(r,e,{ignoreUndefined:n,ignoreNull:s,ignoreZero:o,ignoreEmptyArray:i,ignoreEmptyString:a,cover:c}))),r},observe:dr,find:(e,t)=>{if(e&&"object"==typeof e)return Object.entries(e||{}).find((([e,r])=>!(!t||!t(e,r))))}};const gr=function(e,{sep:t="&",eq:r="=",max:n=1e3,multiple:s=!0,uri:o=!0,parseNumber:i=!1,parseBoolean:a=!1}={}){t=t||"&",r=r||"=";const c={};if("string"!=typeof e||0===e.length)return c;const l=/\+/g,u=n||1e3;let f=(e=e.split(t)).length;u>0&&f>u&&(f=u);for(let t=0;t<f;++t){let n,i,a,u,f=e[t].replace(l,"%20"),h=f.indexOf(r);h>=0?(n=f.substr(0,h),i=f.substr(h+1)):(n=f,i=""),a=o?decodeURIComponent(n):n,u=o?decodeURIComponent(i):i,C.hasOwnProperty.call(c,a)&&s?Array.isArray(c[a])?c[a].push(u):c[a]=[c[a],u]:c[a]=u}return pr.parseValue(c,{number:i,boolean:a}),c},yr=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}},mr=function(e,t=!0){return t?encodeURIComponent(e):e},br=function(e,{cleanZero:t=!1,cleanNull:r=!1,cleanWhitespace:n=!1}={}){return!(!t||0!==e)||(!(!r||null!=e)||!(!n||"string"!=typeof e||""!==e.trim()))},wr=/^(https?):\/\/([\w.\_\-]+)(?::(\d+))?/,_r=e=>{const t=(e||"").replace(/\\/g,"/").split("?")[0],r=t.match(/[\/]?([\w\_\-]+)[.]?[\w]*[?]?$/),n=r?r[1]:"",s=t.lastIndexOf("/")+1,o=t.substring(s),i=o.lastIndexOf("."),a=o.substring(0,i)||"",c=i>=0?o.substring(i):"";return{route:t.substring(0,s)||"",page:n,name:o,withoutExtension:a,extname:c}},vr=e=>{const t={href:e,url:"",origin:"",protocol:"",host:"",port:"",query:""};if(!e)return t;const r=e.match(wr);if(!r||r.length<4)return t;const n=r[3]||"",s=e.split("?");return t.url=s[0],t.origin=r[0],t.protocol=`${r[1]}:`,t.host=`${r[2]}${n?":"+n:""}`,t.port=n,t.query=s.length>1?s[1]:"",t},xr=(e,t)=>{if(e===t)return!0;if(!e)return!1;if(!t)return!1;if("*"===t)return!0;const r=t.replace(/\./g,"\\.").replace(/\*/g,".*").replace(/\?/g,".");return new RegExp("^"+r+"$").test(e)};var Ar={parse:gr,stringify:function(e,{sep:t="&",eq:r="=",name:n=null,uri:s=!0,cleanZero:o=!1,cleanNull:i=!1,cleanWhitespace:a=!1}={}){return t=t||"&",r=r||"=",null===e&&(e=void 0),"object"==typeof e?Object.keys(e).map((function(n){const c=mr(yr(n),s)+r,l=e[n];return Array.isArray(l)?l.map((function(e){return c+mr(yr(e),s)})).join(t):br(l,{cleanZero:o,cleanNull:i,cleanWhitespace:a})?"":c+mr(yr(l),s)})).filter(Boolean).join(t):n?mr(yr(n),s)+r+mr(yr(e),s):""},https:e=>e?e.replace(/^http[s]?/,"https"):e,parseUrl:e=>{const t=vr(e),{origin:r="",url:n="",query:s=""}=t,o=_r(n),i=gr(s,{multiple:!0,uri:!1});return{...t,...o,pathname:n.substring(n.indexOf(r||"")+r.length),params:i}},parsePath:_r,parseHost:vr,join:(...e)=>{const t=[];let r=!1;return e.forEach((e=>{const n=e.trim();if(""===n)return;if(/^(\w+):\/\//.test(n))return t.length=0,t.push(n),void(r=!0);n.split("/").forEach((e=>{"."!==e&&""!==e&&(".."===e?t.length>0&&".."!==t[t.length-1]?t.pop():r||t.push(".."):t.push(e))}))})),t.join("/")},shExpMatch:xr,isLocalIPAddress:e=>!!e&&!!(xr(e,"127.0.0.1")||xr(e,"localhost")||xr(e,"192.168.*.*")),parseFileUrl:e=>{const t={href:e,file:"",url:"",protocol:"",host:"",query:"",params:{}};if(!e)return t;let r=e?e.replace(/\\/g,"/"):"";r.startsWith("file://")&&!r.startsWith("file:///")?r="file:///"+r.slice(7):r.startsWith("file:/")&&!r.startsWith("file:///")&&(r="file:///"+r.slice(6));const n=r.match(/^file:\/\/(?:([^\/\\]+))?(\/.*)?$/);if(!n||n.length<3)return t;t.protocol="file:";const s=n[1]||"",o=n[2]||"";t.host=s;const i=o.split("?");return t.url=t.protocol+`//${t.host}`+i[0],t.file=i[0],t.query=i.length>1?i[1]:"",t.params=gr(t.query,{multiple:!0,uri:!1}),t},isPrivateIP:e=>!!e&&!!(xr(e,"localhost")||xr(e,"127.0.0.1")||xr(e,"127.*")||xr(e,"10.*")||xr(e,"172.16.*")||xr(e,"172.17.*")||xr(e,"172.18.*")||xr(e,"172.19.*")||xr(e,"172.2?.*")||xr(e,"172.3[0-1].*")||xr(e,"192.168.*")),isIP:e=>{const t=(e||"").trim();return/^(\d+).(\d+).(\d+).(\d+)$/.test(t)}};class Sr{_loopTimer;_event=new m;started=!1;interval=0;constructor(e=0){this.interval=e||500}start(){return this.started||(this.stop(),this._loopTimer=setInterval((()=>{this._handleLoop()}),this.interval),this.started=!0),this}stop(){return this._loopTimer?(clearInterval(this._loopTimer),this._loopTimer=0,this.started=!1,this):this}restart(){return this.stop(),this.start(),this}on(e){return this._event.on("frame",e),this}off(e){return e?(this._event.off("frame",e),this):this}_handleLoop(){this._event.emit("frame")}}var kr={oneDay:864e5,oneHour:36e5,oneMinute:6e4,oneSecond:1e3};class $r{date;timestamp=0;yyyy=0;yy="";M=0;MM="";d=0;dd="";h=0;hh="";m=0;mm="";s=0;ss="";S=0;SS="";SSS="";constructor(e){if(!e)return;const t="string"==typeof e||"number"==typeof e?new Date(e):e;t&&(this.date=t,this.timestamp=t.getTime(),this.toDate())}toDate(){return this.date?(this.yyyy=this.date.getFullYear(),this.yy=`${this.yyyy}`.substr(2),this.M=this.date.getMonth()+1,this.MM=(this.M<10?"0":"")+this.M,this.d=this.date.getDate(),this.dd=(this.d<10?"0":"")+this.d,this.h=this.date.getHours(),this.hh=(this.h<10?"0":"")+this.h,this.m=this.date.getMinutes(),this.mm=(this.m<10?"0":"")+this.m,this.s=this.date.getSeconds(),this.ss=(this.s<10?"0":"")+this.s,this.S=this.date.getMilliseconds(),this.SS=(this.S<10?"0":"")+this.S,this.SSS=this.S.toString().padStart(3,"0"),this):this}toCountdown(e=""){const t={countdown:0,timestamp:0,seconds:0,d:0,dd:"",h:0,hh:"",m:0,mm:"",s:0,ss:"",S:0,SS:"",SSS:"",desc:""};if(!this.timestamp)return t;t.timestamp=this.timestamp,t.countdown=Math.max(t.timestamp-Date.now(),0),t.seconds=Math.floor(t.countdown/kr.oneSecond);let r=t.countdown;t.d=Math.floor(r/kr.oneDay),t.dd=(t.d<10?"0":"")+t.d,r%=kr.oneDay,t.h=Math.floor(r/kr.oneHour),t.hh=(t.h<10?"0":"")+t.h,r%=kr.oneHour,t.m=Math.floor(r/kr.oneMinute),t.mm=(t.m<10?"0":"")+t.m,r%=kr.oneMinute,t.s=Math.floor(r/kr.oneSecond),t.ss=(t.s<10?"0":"")+t.s,r%=kr.oneSecond,t.S=r,t.SS=(t.S<10?"0":"")+t.S,t.SSS=t.S.toString().padStart(3,"0");let n=e;return n||(n=t.countdown>kr.oneHour?"hh:mm:ss":t.countdown>kr.oneMinute?"mm:ss":"ss"),t.desc=n.replace(/\bdd|d|hh|h|mm|m|ss|s|SSS|SS|S\b/g,(e=>t[e])),t}add(e=0){return e?(this.timestamp=this.timestamp+e,this.date=new Date(this.timestamp),this.toDate(),this):this}format(e="yyyy-MM-dd hh:mm:ss"){return e.replace(/\byyyy|yy|MM|M|dd|d|hh|h|mm|m|ss|s|SSS|SS|S\b/g,(e=>this[e]))}static get timezoneOffset(){return(new Date).getTimezoneOffset()/60}static getLocalTime(e=0){const t=new Date,r=t.getTime(),n=6e4*t.getTimezoneOffset();return new Date(r+n+36e5*e)}}const Or=(e,t="yyyy-MM-dd hh:mm:ss")=>{const r="string"==typeof e||"number"==typeof e?Er(e):e;return r?jr(r).format(t):""},jr=e=>{const t="string"==typeof e||"number"==typeof e?Er(e):e;return new $r(t||0)};function Cr({year:e=0,month:t=0,date:r=0,hour:n=0,minute:s=0,second:o=0}){const i=`${e||"yyyy"}/${t||"MM"}/${r||"dd"} ${n}:${s}:${o}`;return new Date(Or(Date.now(),i)).getTime()}function Er(e){if(!e)return;let t;return"string"==typeof e?t=new Date(e):"number"==typeof e&&(t=10==e.toString().length?new Date(1e3*e):new Date(e)),t}var Pr={...kr,now:function(){return jr(new Date)},isToday:e=>e&&(new Date).toDateString()===new Date(e).toDateString(),parseTimestamp:Cr,todayZero:()=>Cr({}),format:Or,countdown:(e,t="")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;if(!r)return"";return jr(r).toCountdown(t)},dtime:jr,loopFrame:(e=500)=>new Sr(e),getTimezoneOffset:()=>$r.timezoneOffset,getLocalTime:$r.getLocalTime,toDate:Er};const Tr=e=>Ce.toBase64(e);var qr={encode:Tr,decode:e=>Ce.fromBase64(e),encodeByOss:e=>Tr(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")};var Br={...g,base64:qr,tea:at,uuid:y,guid:(e,t=!1,r="")=>{const n=y(e||32);return t?Pr.now().format("yyyyMMddhhmmss")+r+n:n},getHexString:e=>{const t=g.keyChars;let r="";const n=t.length;for(let s=0;s<e;s++)r+=t.charAt(Math.floor(Math.random()*n));return r}};const Lr=(e,t,r=8)=>{if(e===t)return!0;if(null==e||null==t||"object"!=typeof e||"object"!=typeof t)return!1;if(r<=0)return!1;if(Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;const n=Object.prototype.toString.call(e);if(n!==Object.prototype.toString.call(t))return!1;switch(n){case"[object Array]":return Rr(e,t,r);case"[object Map]":return Fr(e,t,r);case"[object Set]":return Ur(e,t,r);case"[object Object]":return Ir(e,t,r);default:return Dr(e,t,n)}},Rr=(e,t,r=1/0)=>{if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!Lr(e[n],t[n],r-1))return!1;return!0},Fr=(e,t,r=1/0)=>{if(e.size!==t.size)return!1;for(const[n,s]of e)if(!t.has(n)||!Lr(s,t.get(n),r-1))return!1;return!0},Ur=(e,t,r=1/0)=>{if(e.size!==t.size)return!1;for(const n of e)if(![...t].some((e=>Lr(n,e,r-1))))return!1;return!0},Ir=(e,t,r=1/0)=>{const n=Object.keys(e),s=Object.keys(t);if(n.length!==s.length)return!1;for(const o of n)if(!s.includes(o)||!Lr(e[o],t[o],r-1))return!1;const o=Object.getOwnPropertySymbols(e),i=Object.getOwnPropertySymbols(t);if(o.length!==i.length)return!1;for(const n of o)if(!i.includes(n)||!Lr(Reflect.get(e,n),Reflect.get(t,n),r-1))return!1;return!0},Dr=(e,t,r)=>{switch(r){case"[object RegExp]":return String(e)===String(t);case"[object Date]":return e.getTime()===t.getTime();case"[object ArrayBuffer]":return Mr(e,t);default:return e===t}},Mr=(e,t)=>{if(e.byteLength!==t.byteLength)return!1;const r=new Uint8Array(e),n=new Uint8Array(t);for(let e=0;e<r.length;e++)if(r[e]!==n[e])return!1;return!0};var Kr={isEqual:Lr,isEqualArray:Rr,isEqualObject:Ir,isEqualValue:Dr,isEqualAB:Mr,isEqualDeep:(e,t)=>Lr(e,t,1/0)};const zr=(e,t=new WeakMap)=>{if(null===e||"object"!=typeof e)return e;if(t.has(e))return t.get(e);let r;if(Array.isArray(e)){r=[],t.set(e,r);for(const n of e)r.push(zr(n,t))}else if(e instanceof Date)r=new Date(e);else if(e instanceof RegExp)r=new RegExp(e.source,e.flags);else if(e instanceof Map){r=new Map,t.set(e,r);for(const[n,s]of e.entries())r.set(zr(n,t),zr(s,t))}else if(e instanceof Set){r=new Set,t.set(e,r);for(const n of e.values())r.add(zr(n,t))}else if("object"==typeof e){r={},t.set(e,r);for(const[n,s]of Object.entries(e))r[n]=zr(s,t)}return r};var Nr={copy:(e,t={})=>{if(null==e)return;const r=JSON.parse(JSON.stringify(e));if("object"!=typeof r||null===r)return r;if(Array.isArray(r))return r;const{fields:n=[],camel:s=!1,pure:o=!0,...i}=t,a={},c=[{condition:i.ignoreNull,test:e=>null===e},{condition:i.ignoreZero,test:e=>0===e},{condition:i.ignoreEmptyArray,test:e=>Array.isArray(e)&&0===e.length},{condition:i.ignoreEmptyString,test:e=>"string"==typeof e&&""===e.trim()}].filter((e=>e.condition));for(const[e,t]of Object.entries(r)){const r=!s||o&&e.startsWith("_")?e:Xt.camelCase(e);n.length>0&&!n.includes(e)&&!n.includes(r)||(c.some((e=>e.test(t)))||(a[r]=t))}return a},clone:zr,cloneClass:function(e){return null==e||"object"!=typeof e?e:Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}};const Hr=(e,t)=>{if(e===t)return!0;if(!e||!t)return!1;if("*"===t)return!0;const r=t.replace(/\./g,"\\.").replace(/\*/g,".*").replace(/\?/g,".");return new RegExp("^"+r+"$").test(e)};var Vr={shExpMatch:Hr,shExpMatchs:(e,t)=>{if(!e||!t)return!1;let r=[];if(Array.isArray(t))r=t;else{if("string"!=typeof t)return!1;r=[t]}for(const t of r){if("*"===t)return!0;if(Hr(e,t))return!0}return!1}};const Wr="[object Object]",Zr="[object Array]",Jr=C.getTag,Yr=e=>{if(Jr(e)!==Wr)return e;const t={};for(const r in e)if(/\w+\.\w+/g.test(r)&&!r.includes("[")){const n=r.split(".");let s=t;for(let e=0;e<n.length-1;e++){const t=n[e];Jr(s[t])!==Wr&&(s[t]={}),s=s[t]}s[n[n.length-1]]=e[r]}else t[r]=e[r];return t},Qr=(e,t,r=!1)=>{if(e===t)return;const n=Jr(e);if(n===Jr(t))if(n===Zr&&e.length>=t.length)for(let r=0;r<t.length;r++)Qr(e[r],t[r]);else if(n===Wr&&Object.keys(e).length>=Object.keys(t).length)for(const n in t)r||void 0!==e[n]?Qr(e[n],t[n]):e[n]=null},Gr=(e,t)=>Qr(e,t,!0),Xr=(e,t,r={},n="",s=!1)=>{if(e===t)return r;const o=Jr(e),i=Jr(t);if(o===Zr&&i===o&&e.length>=t.length){for(let s=0;s<e.length;s++)Xr(e[s],t[s],r,`${n}[${s}]`,!1);return r}if(o===Wr&&i===o&&(s||Object.keys(e).length>=Object.keys(t).length)){const s=Object.keys(e);for(let o of s){const s=e[o],i=t[o],a=Jr(s),c=Jr(i);if(s!==i)if(a===Zr&&c===a&&s.length>=i.length)for(let e=0;e<s.length;e++)Xr(s[e],i[e],r,`${n?n+".":""}${o}[${e}]`,!1);else if(a===Wr&&c===a&&Object.keys(s).length>=Object.keys(i).length)for(let e in s)Xr(s[e],i[e],r,`${n?n+".":""}${o}.${e}`,!1);else null!==s&&(r[`${n?n+".":""}${o}`]=s)}return r}return r[n]=e,r};const en={...{...Kr,...Nr,...Vr,...{flattenPath:Yr,normalizeStructure:Gr,diffPath:(e,t)=>{const r=Yr(e),n=Yr(t);return Gr(r,n),Xr(r,n)}}},...We,...Br,...cr,...Xt,...qe,...Ae,qs:Ar};var tn={gbkLength:function(e){let t=0;if(!e)return 0;for(let r=0;r<e.length;r++)e.charCodeAt(r)>127||94===e.charCodeAt(r)?t+=2:t++;return t},gbkCut:function(e,t){if(!e||t<=0)return"";let r=0,n=0;for(let s=0;s<e.length&&(e.charCodeAt(s)>127||94===e.charCodeAt(s)?r+=2:r++,!(r>t));s++)n=s;return e.substr(0,n+1)}};function rn(e){return e!=e}function nn(e,t){return function(e,t){for(var r=-1,n=e?e.length:0,s=Array(n);++r<n;)s[r]=t(e[r],r,e);return s}(t,(function(t){return e[t]}))}var sn,on,an=(sn=Object.keys,on=Object,function(e){return sn(on(e))}),cn=Math.max;function ln(e,t){var r=ee.isArray(e)||ee.isArguments(e)?function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}(e.length,String):[],n=r.length,s=!!n;for(var o in e)!t&&!C.hasOwnProperty.call(e,o)||s&&("length"==o||ee.isIndex(o,n))||r.push(o);return r}var un={...ee,...C,...pr,...Ae,includes:function(e,t,r,n){e=ee.isArrayLike(e)?e:function(e){return e?nn(e,function(e){return ee.isArrayLike(e)?ln(e):function(e){if(!ee.isPrototype(e))return an(e);var t=[];for(var r in Object(e))C.hasOwnProperty.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e)}(e)):[]}(e),r=r&&!n?fe.toInteger(r):0;var s=e.length;return r<0&&(r=cn(s+r,0)),ee.isString(e)?r<=s&&e.indexOf(t,r)>-1:!!s&&function(e,t,r){if(t!=t)return function(e,t,r,n){for(var s=e.length,o=r+(n?1:-1);n?o--:++o<s;)if(t(e[o],o,e))return o;return-1}(e,rn,r);for(var n=r-1,s=e.length;++n<s;)if(e[n]===t)return n;return-1}(e,t,r)>-1},forof:(e,t)=>{if(!e)return;let r;if(ee.isObject(e)&&(r=ee.isArray(e)?e.entries():Object.entries(e),r))for(const[e,n]of r)t&&t(e,n)}};var fn={...{groupBy:function(e,t){return e.reduce(((e,r)=>((e[r[t]]=e[r[t]]||[]).push(r),e)),{})},first:function(e){if(!e)return;return e.length<=0?void 0:e[0]},last:function(e){if(!e)return;const t=e.length;return t<=0?void 0:e[t-1]},toList:function(e){return Array.isArray(e)?e:e?[e]:[]}},stepAction:function(e,t,r=100){if(!ee.isFunction(t))return;if(!ee.isArray(e)||e.length<=0)return;let n=0;for(;e.length>n;){let s=r+n,o=e.slice(n,s);t&&t(o),n=s}},skip:function(e,t){if(!ee.isArray(e)||e.length<=0)return[];const r=t;return e.slice(r)},take:function(e,t,r=0){if(!ee.isArray(e)||e.length<=0)return[];const n=r||0;if(n>=e.length)return[];const s=t+n;return e.slice(n,e.length<s?e.length:s)||[]},distinct:function(e){return!ee.isArray(e)||e.length<=0?[]:[...new Set(e)]},randoms:function(e,t=1,r=!1){const n=e.length||0;return qe.randoms(n,t,r).map((t=>e[t]))||[]},toKV:(e,t,r)=>{const n={};return t&&r?((e||[]).forEach((e=>{if(!e||!ee.isObject(e))return;const s=e[t];(ee.isString(s)&&""!==s||ee.isNumber(s))&&(n[s]=e[r])})),n):n}};const hn=/%[sdj%]/g;let dn=()=>{};function pn(e){if(!e||!e.length)return null;const t={};return e.forEach((e=>{const r=e.field;t[r]=t[r]||[],t[r].push(e)})),t}function gn(e,...t){let r=0;const n=t.length;if("function"==typeof e)return e.apply(null,t);if("string"==typeof e){return e.replace(hn,(e=>{if("%%"===e)return"%";if(r>=n)return e;switch(e){case"%s":return String(t[r++]);case"%d":return Number(t[r++]);case"%j":try{return JSON.stringify(t[r++])}catch(e){return"[Circular]"}break;default:return e}}))}return e}function yn(e,t){return null==e||(!("array"!==t||!Array.isArray(e)||e.length)||!(!function(e){return"string"===e||"url"===e||"hex"===e||"email"===e||"date"===e||"pattern"===e}(t)||"string"!=typeof e||e))}function mn(e,t,r){let n=0;const s=e.length;!function o(i){if(i&&i.length)return void r(i);const a=n;n+=1,a<s?t(e[a],o):r([])}([])}"undefined"!=typeof process&&process.env&&"production"!==process.env.NODE_ENV&&"undefined"!=typeof window&&"undefined"!=typeof document&&(dn=(e,t)=>{"undefined"!=typeof console&&console.warn&&"undefined"==typeof ASYNC_VALIDATOR_NO_WARNING&&t.every((e=>"string"==typeof e))&&console.warn(e,t)});class bn extends Error{errors;fields;constructor(e,t){super("Async Validation Error"),this.errors=e,this.fields=t}}function wn(e,t,r,n,s){if(t.first){const t=new Promise(((t,o)=>{const i=function(e){const t=[];return Object.keys(e).forEach((r=>{t.push(...e[r]||[])})),t}(e);mn(i,r,(e=>(n(e),e.length?o(new bn(e,pn(e))):t(s))))}));return t.catch((e=>e)),t}const o=!0===t.firstFields?Object.keys(e):t.firstFields||[],i=Object.keys(e),a=i.length;let c=0;const l=[],u=new Promise(((t,u)=>{const f=e=>{if(l.push.apply(l,e),c++,c===a)return n(l),l.length?u(new bn(l,pn(l))):t(s)};i.length||(n(l),t(s)),i.forEach((t=>{const n=e[t];-1!==o.indexOf(t)?mn(n,r,f):function(e,t,r){const n=[];let s=0;const o=e.length;function i(e){n.push(...e||[]),s++,s===o&&r(n)}e.forEach((e=>{t(e,i)}))}(n,r,f)}))}));return u.catch((e=>e)),u}function _n(e,t){return r=>{let n;return n=e.fullFields?function(e,t){let r=e;for(let e=0;e<t.length;e++){if(null==r)return r;r=r[t[e]]}return r}(t,e.fullFields):t[r.field||e.fullField],(s=r)&&void 0!==s.message?(r.field=r.field||e.fullField,r.fieldValue=n,r):{message:"function"==typeof r?r():r,fieldValue:n,field:r.field||e.fullField};var s}}function vn(e,t){if(t)for(const r in t)if(t.hasOwnProperty(r)){const n=t[r];"object"==typeof n&&"object"==typeof e[r]?e[r]={...e[r],...n}:e[r]=n}return e}const xn=(e,t,r,n,s,o)=>{!e.required||r.hasOwnProperty(e.field||"")&&!yn(t,o||e.type)||n.push(gn(s.messages.required,e.fullField))};let An;const Sn=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,kn=/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,$n={integer:e=>$n.number(e)&&parseInt(e,10)===e,float:e=>$n.number(e)&&!$n.integer(e),array:e=>Array.isArray(e),regexp(e){if(e instanceof RegExp)return!0;try{return!!new RegExp(e)}catch(e){return!1}},date:e=>"function"==typeof e.getTime&&"function"==typeof e.getMonth&&"function"==typeof e.getYear&&!isNaN(e.getTime()),number:e=>!isNaN(e)&&"number"==typeof e,object:e=>"object"==typeof e&&!$n.array(e),method:e=>"function"==typeof e,email:e=>"string"==typeof e&&e.length<=320&&!!e.match(Sn),url:e=>"string"==typeof e&&e.length<=2048&&!!e.match((()=>{if(An)return An;const e="[a-fA-F\\d:]",t=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${e})|(?<=${e})(?=\\s|$))`:"",r="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",n="[a-fA-F\\d]{1,4}",s=`\n(?:\n(?:${n}:){7}(?:${n}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${n}:){6}(?:${r}|:${n}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${n}:){5}(?::${r}|(?::${n}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${n}:){4}(?:(?::${n}){0,1}:${r}|(?::${n}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${n}:){3}(?:(?::${n}){0,2}:${r}|(?::${n}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${n}:){2}(?:(?::${n}){0,3}:${r}|(?::${n}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${n}:){1}(?:(?::${n}){0,4}:${r}|(?::${n}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${n}){0,5}:${r}|(?::${n}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),o=new RegExp(`(?:^${r}$)|(?:^${s}$)`),i=new RegExp(`^${r}$`),a=new RegExp(`^${s}$`),c=e=>e&&e.exact?o:new RegExp(`(?:${t(e)}${r}${t(e)})|(?:${t(e)}${s}${t(e)})`,"g");c.v4=e=>e&&e.exact?i:new RegExp(`${t(e)}${r}${t(e)}`,"g"),c.v6=e=>e&&e.exact?a:new RegExp(`${t(e)}${s}${t(e)}`,"g");const l=c.v4().source,u=c.v6().source;return An=new RegExp(`(?:^(?:(?:(?:[a-z]+:)?//)|www\\.)(?:\\S+(?::\\S*)?@)?(?:localhost|${l}|${u}|(?:(?:[a-z\\u00a1-\\uffff0-9][-_]*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))(?::\\d{2,5})?(?:[/?#][^\\s"]*)?$)`,"i"),An})()),hex:e=>"string"==typeof e&&!!e.match(kn)},On="enum";var jn={required:xn,whitespace:(e,t,r,n,s)=>{(/^\s+$/.test(t)||""===t)&&n.push(gn(s.messages.whitespace,e.fullField))},type:(e,t,r,n,s)=>{if(e.required&&void 0===t)return void xn(e,t,r,n,s);const o=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(o)>-1?$n[o](t)||n.push(gn(s.messages.types[o],e.fullField,e.type)):o&&typeof t!==e.type&&n.push(gn(s.messages.types[o],e.fullField,e.type))},range:(e,t,r,n,s)=>{const o="number"==typeof e.len,i="number"==typeof e.min,a="number"==typeof e.max,c=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;let l=t,u="";const f="number"==typeof t,h="string"==typeof t,d=Array.isArray(t);if(f?u="number":h?u="string":d&&(u="array"),!u)return!1;d&&(l=t.length),h&&(l=t.replace(c,"_").length),o?l!==e.len&&n.push(gn(s.messages[u].len,e.fullField,e.len)):i&&!a&&l<e.min?n.push(gn(s.messages[u].min,e.fullField,e.min)):a&&!i&&l>e.max?n.push(gn(s.messages[u].max,e.fullField,e.max)):i&&a&&(l<e.min||l>e.max)&&n.push(gn(s.messages[u].range,e.fullField,e.min,e.max))},enum:(e,t,r,n,s)=>{e[On]=Array.isArray(e[On])?e[On]:[],-1===e[On].indexOf(t)&&n.push(gn(s.messages[On],e.fullField,e[On].join(", ")))},pattern:(e,t,r,n,s)=>{if(e.pattern)if(e.pattern instanceof RegExp)e.pattern.lastIndex=0,e.pattern.test(t)||n.push(gn(s.messages.pattern.mismatch,e.fullField,t,e.pattern));else if("string"==typeof e.pattern){new RegExp(e.pattern).test(t)||n.push(gn(s.messages.pattern.mismatch,e.fullField,t,e.pattern))}}};const Cn=(e,t,r,n,s)=>{const o=e.type,i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(yn(t,o)&&!e.required)return r();jn.required(e,t,n,i,s,o),yn(t,o)||jn.type(e,t,n,i,s)}r(i)};var En={string:(e,t,r,n,s)=>{const o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field||"")){if(yn(t,"string")&&!e.required)return r();jn.required(e,t,n,o,s,"string"),yn(t,"string")||(jn.type(e,t,n,o,s),jn.range(e,t,n,o,s),jn.pattern(e,t,n,o,s),!0===e.whitespace&&jn.whitespace(e,t,n,o,s))}r(o)},method:(e,t,r,n,s)=>{const o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(yn(t)&&!e.required)return r();jn.required(e,t,n,o,s),void 0!==t&&jn.type(e,t,n,o,s)}r(o)},number:(e,t,r,n,s)=>{const o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(""===t&&(t=void 0),yn(t)&&!e.required)return r();jn.required(e,t,n,o,s),void 0!==t&&(jn.type(e,t,n,o,s),jn.range(e,t,n,o,s))}r(o)},boolean:(e,t,r,n,s)=>{const o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(yn(t)&&!e.required)return r();jn.required(e,t,n,o,s),void 0!==t&&jn.type(e,t,n,o,s)}r(o)},regexp:(e,t,r,n,s)=>{const o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(yn(t)&&!e.required)return r();jn.required(e,t,n,o,s),yn(t)||jn.type(e,t,n,o,s)}r(o)},integer:(e,t,r,n,s)=>{const o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(yn(t)&&!e.required)return r();jn.required(e,t,n,o,s),void 0!==t&&(jn.type(e,t,n,o,s),jn.range(e,t,n,o,s))}r(o)},float:(e,t,r,n,s)=>{const o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(yn(t)&&!e.required)return r();jn.required(e,t,n,o,s),void 0!==t&&(jn.type(e,t,n,o,s),jn.range(e,t,n,o,s))}r(o)},array:(e,t,r,n,s)=>{const o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(null==t&&!e.required)return r();jn.required(e,t,n,o,s,"array"),null!=t&&(jn.type(e,t,n,o,s),jn.range(e,t,n,o,s))}r(o)},object:(e,t,r,n,s)=>{const o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(yn(t)&&!e.required)return r();jn.required(e,t,n,o,s),void 0!==t&&jn.type(e,t,n,o,s)}r(o)},enum:(e,t,r,n,s)=>{const o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(yn(t)&&!e.required)return r();jn.required(e,t,n,o,s),void 0!==t&&jn.enum(e,t,n,o,s)}r(o)},pattern:(e,t,r,n,s)=>{const o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(yn(t,"string")&&!e.required)return r();jn.required(e,t,n,o,s),yn(t,"string")||jn.pattern(e,t,n,o,s)}r(o)},date:(e,t,r,n,s)=>{const o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(yn(t,"date")&&!e.required)return r();if(jn.required(e,t,n,o,s),!yn(t,"date")){let r;r=t instanceof Date?t:new Date(t),jn.type(e,r,n,o,s),r&&jn.range(e,r.getTime(),n,o,s)}}r(o)},url:Cn,hex:Cn,email:Cn,required:(e,t,r,n,s)=>{const o=[],i=Array.isArray(t)?"array":typeof t;jn.required(e,t,n,o,s,i),r(o)},any:(e,t,r,n,s)=>{const o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(yn(t)&&!e.required)return r();jn.required(e,t,n,o,s)}r(o)}};function Pn(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone(){const e=JSON.parse(JSON.stringify(this));return e.clone=this.clone,e}}}const Tn=Pn();class qn{static register=function(e,t){if("function"!=typeof t)throw new Error("Cannot register a validator by type, validator is not a function");En[e]=t};static warning=dn;static messages=Tn;static validators=En;rules={};_messages=Tn;constructor(e){this.define(e)}define(e){if(!e)throw new Error("Cannot configure a schema with no rules");if("object"!=typeof e||Array.isArray(e))throw new Error("Rules must be an object");this.rules={},Object.keys(e).forEach((t=>{const r=e[t];this.rules[t]=Array.isArray(r)?r:[r]}))}messages(e){return e&&(this._messages=vn(Pn(),e)),this._messages}validate(e,t={},r=(()=>{})){let n=e,s=t,o=r;if("function"==typeof s&&(o=s,s={}),!this.rules||0===Object.keys(this.rules).length)return o&&o(null,n),Promise.resolve(n);if(s.messages){let e=this.messages();e===Tn&&(e=Pn()),vn(e,s.messages),s.messages=e}else s.messages=this.messages();const i={};(s.keys||Object.keys(this.rules)).forEach((t=>{const r=this.rules[t];let s=n[t];r.forEach((r=>{let o=r;"function"==typeof o.transform&&(n===e&&(n={...n}),s=n[t]=o.transform(s)),o="function"==typeof o?{validator:o}:{...o},o.validator=this.getValidationMethod(o),o.validator&&(o.field=t,o.fullField=o.fullField||t,o.type=this.getType(o),i[t]=i[t]||[],i[t].push({rule:o,value:s,source:n,field:t}))}))}));const a={};return wn(i,s,((e,t)=>{const r=e.rule;let o,i=!("object"!==r.type&&"array"!==r.type||"object"!=typeof r.fields&&"object"!=typeof r.defaultField);function c(e,t){return{...t,fullField:`${r.fullField}.${e}`,fullFields:r.fullFields?[...r.fullFields,e]:[e]}}function l(o=[]){let l=Array.isArray(o)?o:[o];!0===s.suppressWarning&&l.length&&qn.warning("async-validator:",l),l.length&&void 0!==r.message&&(l=[].concat(r.message));let u=l.map(_n(r,n));if(s.first&&u.length)return a[r.field]=1,t(u);if(i){if(r.required&&!e.value)return void 0!==r.message?u=[].concat(r.message).map(_n(r,n)):s.error&&(u=[s.error(r,gn(s.messages.required,r.field))]),t(u);let o={};r.defaultField&&Object.keys(e.value).map((e=>{o[e]=r.defaultField})),o={...o,...e.rule.fields};const i={};Object.keys(o).forEach((e=>{const t=o[e],r=Array.isArray(t)?t:[t];i[e]=r.map(c.bind(null,e))}));const a=new qn(i);a.messages(s.messages),e.rule.options&&(e.rule.options.messages=s.messages,e.rule.options.error=s.error),a.validate(e.value,e.rule.options||s,(e=>{const r=[];u&&u.length&&r.push(...u),e&&e.length&&r.push(...e),t(r.length?r:null)}))}else t(u)}if(i=i&&(r.required||!r.required&&e.value),r.field=e.field,r.asyncValidator)o=r.asyncValidator(r,e.value,l,e.source,s);else if(r.validator){try{o=r.validator(r,e.value,l,e.source,s)}catch(e){console.error?.(e),s.suppressValidatorError||setTimeout((()=>{throw e}),0),l(e.message)}!0===o?l():!1===o?l("function"==typeof r.message?r.message(r.fullField||r.field):r.message||`${r.fullField||r.field} fails`):o instanceof Array?l(o):o instanceof Error&&l(o.message)}o&&o.then&&o.then((()=>l()),(e=>l(e)))}),(e=>{!function(e){let t=[],r={};for(let r=0;r<e.length;r++)s=e[r],Array.isArray(s)?t=t.concat(...s):t.push(s);var s;t.length?(r=pn(t),o(t,r)):o(null,n)}(e)}),n)}getType(e){if(void 0===e.type&&e.pattern instanceof RegExp&&(e.type="pattern"),"function"!=typeof e.validator&&e.type&&!En.hasOwnProperty(e.type))throw new Error(gn("Unknown rule type %s",e.type));return e.type||"string"}getValidationMethod(e){if("function"==typeof e.validator)return e.validator;const t=Object.keys(e),r=t.indexOf("message");return-1!==r&&t.splice(r,1),1===t.length&&"required"===t[0]?En.required:En[this.getType(e)]||void 0}}function Bn(e){return new qn(e)}var Ln={validateId:function(e){return!!e&&(!(e.length<6)&&!!/^[A-Za-z0-9_-]+$/.test(e))},validatePhone:function(e){return!!e&&!!/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(e)},validator:Bn,validate:function(e,t,r={},n=(()=>{})){return cr.run(Bn(e).validate(t,r,n))},isChinese:function(e){return!!e&&!!/^[\u4E00-\u9FA5]+$/.test(e)},isNumber:function(e){return!!e&&!!/^[0-9]+$/.test(e)},isFloat:function(e){return!!e&&!!/^(\-|\+)?\d+(\.\d+)?$/.test(e)},isPhoneNumber:function(e){return!!e&&!!/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(e)}};const Rn={gbk:tn,math:qe,list:fn,string:Xt,time:Pr,obj:pr,rule:Ln,regex:{pattern:{num:"0-9",zh:"一-龥",en:"A-Za-z"},regex:(e,t)=>new RegExp(e,t),entire:{chinese:/^[\u4E00-\u9FA5]+$/,real:/^(\-|\+)?\d+(\.\d+)?$/,cssReal:/^(\-|\+)?\d*(\.)?\d+$/,id:/^[A-Za-z0-9]+$/,yyyyMMdd:/^(\d{4})-?(\d{2})-?(\d{2})$/}},...We,...Br,...un,Event:m},Fn="[object Object]",Un="[object Array]",In=e=>Object.prototype.toString.call(e),Dn=(e,t,r=!1)=>{if(e===t)return;const n=In(e);if(n===In(t))if(n===Un&&e.length>=t.length)for(let r=0;r<t.length;r++)Dn(e[r],t[r]);else if(n===Fn&&Object.keys(e).length>=Object.keys(t).length)for(let n in t)r||void 0!==e[n]?Dn(e[n],t[n]):e[n]=null},Mn=(e,t,r,n="",s=!1)=>{if(e===t)return;const o=In(e),i=In(t);if(o===Un&&i===o&&e.length>=t.length)for(let s=0;s<e.length;s++)Mn(e[s],t[s],r,`${n}[${s}]`);else if(o===Fn&&i===o&&(s||Object.keys(e).length>=Object.keys(t).length)){const s=Object.keys(e);for(let o of s){const s=e[o],i=t[o],a=In(s),c=In(i);if(s!==i)if(a===Un&&c===a&&s.length>=i.length)for(let e=0;e<s.length;e++)Mn(s[e],i[e],r,`${n?n+".":""}${o}[${e}]`);else if(a===Fn&&c===a&&Object.keys(s).length>=Object.keys(i).length)for(let e in s)Mn(s[e],i[e],r,`${n?n+".":""}${o}.${e}`);else r[`${n?n+".":""}${o}`]=s}}else r[n]=e};class Kn{list=[];constructor(){this.invoke=this.invoke.bind(this)}use(e){this.list=this.list.concat(e)}invoke(e){return this.list.reduce(((e,t)=>e.then((e=>t(e)))),Promise.resolve(e)).catch((e=>"REFETCH"===e.sig?Promise.resolve(e.result):Promise.reject(e)))}}class zn{reqConfig={};handleRequest;handleEncrypt;handleDecrypt;handleError;interceptors={request:new Kn,response:new Kn};constructor(e){const{reqConfig:t={},requestEncrypt:r,responseDecrypt:n,handleError:s,api:o}=e;this.reqConfig=t,this.handleEncrypt=r,this.handleDecrypt=n,this.handleError=s,this.handleRequest=o}static blockId="blockid";static requestLock={};lockR(e,t){zn.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete zn.requestLock[e]}getIdFromReq(e){const{url:t,data:r={}}=e;return t+JSON.stringify(r)}getIdFromReqUrl(e){return e.url||""}_fetch(e,t){let r=e;return t&&this.handleEncrypt&&(r=this.handleEncrypt(e)),new Promise(((e,n)=>{this.handleRequest({...r,success:r=>{let n=r;t&&this.handleDecrypt&&(n=this.handleDecrypt(r)),e(n)},fail:e=>{n(e)}})}))}async request(e,t){const r=pr.copy(this.reqConfig[e]),{config:n,...s}=await this.interceptors.request.invoke({url:r.url,data:t||{},header:{"content-type":"application/json"},method:r.method?r.method:"POST",responseType:"text",config:r});let o;try{if("block"===n.model)this.lockR(zn.blockId,(()=>this._fetch(s,n.hasEncrypt))),o=await zn.requestLock[zn.blockId].request;else if(zn.requestLock[zn.blockId]&&zn.requestLock[zn.blockId].lock&&await zn.requestLock[zn.blockId].request,"debounce"===n.model||"debounceUrl"===n.model){let e;e="debounceUrl"===n.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),zn.requestLock[e]||this.lockR(e,(()=>this._fetch(s,n.hasEncrypt))),o=await zn.requestLock[e].request,this.unlockR(e)}else o=await this._fetch(s,n.hasEncrypt)}catch(e){this.handleError&&this.handleError(e)}return this.interceptors.response.invoke({res:o,config:r,reqId:this.getIdFromReq(s),refetch:()=>({sig:"REFETCH",result:this.request(e,t||{})})})}}const Nn=e=>"function"!=typeof e?e:(t={})=>new Promise(((r,n)=>{e(Object.assign(t,{success:r,fail:n}))}));var Hn={diff:function(e,t){const r={};return(e=>{if(In(e)===Fn)for(let t in e)if(/\w+\.\w+/g.test(t)&&-1===t.indexOf("[")){const r=t.split(".");let n=e,s=r.length;for(let e=0;e<s-1;e++){const t=r[e];In(n[t])!==Fn&&(n[t]={}),n=n[t]}n[r[s-1]]=e[t],delete e[t]}})(e),Dn(e,t,!0),Mn(e,t,r,"",!0),r},promixify:Nn,run:(e,t={})=>e?cr.run(Nn(e)(t)):cr.run(e),formatList:(e,t,r)=>(e||[]).reduce(((e,n,s)=>({...e,[`${r}[${t+s}]`]:n})),{}),ruleValidator:(e,t)=>!!t&&(!Array.isArray(t)||!(t.length<=0)&&t.every((e=>!!e))),Http:zn,setWatcher:e=>{let t=e.data,r=e.watch;Object.keys(r).forEach((n=>{let s=t,o=n.split(".");for(let e=0;e<o.length-1;e++)s=s[o[e]];let i=o[o.length-1],a=r[n].handler||r[n],c=r[n].deep;pr.observe(s,i,a,e,c)}))}};const Vn=e=>{if(!e)return"";if(!un.isObject(e))return"";let t="";return un.forof(e,((e,r)=>{r&&(t+=`${Xt.kebabCase(e)}:${r};`)})),t},Wn=["display","position","top","bottom","left","right","padding","margin","marginTop","marginRight","marginBottom","marginLeft","paddingTop","paddingRight","paddingBottom","paddingLeft","height","width","fontSize","textAlign","fontFamily","border","borderLeft","borderRight","borderTop","borderBottom","borderColor","borderRadius","background","backgroundImage","backgroundRepeat","backgroundSize","backgroundPosition","color","overflow","opacity","flexDirection","justifyContent","alignItems","flexWrap","alignContent","alignSelf","flex","flexBasis","flexFlow","flexShrink","pointerEvents"],Zn=["top","bottom","left","right","padding","margin","marginTop","marginRight","marginBottom","marginLeft","paddingTop","paddingRight","paddingBottom","paddingLeft","height","width","border","borderLeft","borderRight","borderTop","borderBottom","borderColor","borderRadius"],Jn=(e,t="px")=>e&&t?"0"===e?e:Ln.isFloat(e.toString())?`${e}${t}`:e:e;var Yn={stringify:Vn,parse:(e,{camel:t=!1,pure:r=!0}={})=>{if(!e.trim())return;const n=Ar.parse(e,{sep:";",eq:":",uri:!1}),s={};return un.forof(n,((e,n)=>{if(!n)return;const o=t?r&&e.startsWith("_")?e:Xt.camelCase(e):e;Ln.isFloat(n)||n.length>=2&&n.startsWith(".")&&Ln.isNumber(n.substr(1))?s[o]=+n:s[o]=n})),s},fixValue:Jn,style:(e,t="px")=>{if(!e)return"";const r=un.copy(e,{fields:Wn});un.forof(r,((e,n)=>{(Zn.includes(e)||Zn.includes(Xt.camelCase(e)))&&(r[e]=Jn(n,t))}));return Vn(r)},commonFields:Wn};const Qn=(e,t="",r=!1)=>{try{if(!e)return;const n=Ar.parseUrl(e),s=t||n.name;if(!t||!r||!n.origin||n.origin===window.location.origin)((e,t)=>{try{const r=document.createElement("a");r.style.display="none",r.href=e,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r)}catch(t){console.error(`[ddan] _downloadUrl ${e}`,t)}})(e,s);else{const t=n.params;t.t=Date.now();const r=`${n.url}?${Ar.stringify(t,{uri:!1})}`,o=new XMLHttpRequest;o.open("GET",r,!0),o.responseType="blob",o.onload=function(){Gn(o.response,s)},o.onerror=function(t){console.error(`[ddan] downloadUrl ${e}`,t)},o.send()}}catch(t){console.error(`[ddan] downloadUrl ${e}`,t)}},Gn=(e,t="")=>{try{if(!e)return;const r=URL?.createObjectURL(e);if(!r)return;Qn(r,t),URL?.revokeObjectURL(r)}catch(e){console.error("[ddan] downloadFile",e)}},Xn=e=>{try{const t=document.createElement("textarea");document.body.appendChild(t),t.style.position="fixed",t.style.clip="rect(0 0 0 0)",t.style.top="10px",t.style.opacity="0",t.value=e??"",t.select();const r=document.execCommand("copy");return document.body.removeChild(t),r}catch(e){return console.error("[ddan] copyText",e),!1}},es=(e,t="denied")=>new Promise((r=>{const n=navigator?.permissions;if(!n||!n.query)return r(t);const s={name:e};n.query(s).then((e=>r(e.state))).catch((()=>r(t)))})),ts=(e,t=!0)=>!(!t||"prompt"!==e)||"granted"===e,rs=(e,t)=>{if(!e||!t)return[];const r=[];let n;for(;null!==(n=t.exec(e));)r.push(n[1]);return r},ns=(e,t="application/javascript")=>{const r=new Blob([e],{type:t});return URL.createObjectURL(r)};var ss={dataURLtoFile:(e,t)=>{let r=e.split(","),n=r[0].match(/:(.*?);/)[1],s=window.atob(r[1]),o=s.length,i=new Uint8Array(o);for(;o--;)i[o]=s.charCodeAt(o);return new File([i],t,{type:n})},dataURLtoBlob:e=>{let t=e.split(","),r=t[0].match(/:(.*?);/)[1],n=window.atob(t[1]),s=n.length,o=new Uint8Array(s);for(;s--;)o[s]=n.charCodeAt(s);return new Blob([o],{type:r})},blobToFile:(e,t)=>(e.lastModifiedDate=new Date,e.name=t,e),readAsDataURL:(e,t)=>{var r=new FileReader;r.readAsDataURL(e),r.onloadend=function(e){t&&t(e.target?.result)}},downloadUrl:Qn,download:(e,t="")=>{e&&("string"!=typeof e?Gn(e,t):Qn(e,t))},downloadFile:Gn,downloadImage:e=>{try{if(!e)return;const t=e.match(/\/(\w+.\w+)$/)[1],r=new Image;r.onload=()=>{let e=document.createElement("canvas");e.width=r.width,e.height=r.height;let n=e.getContext("2d");n&&n.drawImage(r,0,0,r.width,r.height);let s=e.toDataURL();Qn(s,t)},r.src=e,r.setAttribute("crossOrigin","Anonymous")}catch(e){console.error("[ddan] downloadImage",e)}return Promise.resolve()},watermark:(e,{width:t=400,height:r=300,angle:n=0,fillStyle:s="rgba(0, 0, 0, 0.2)",font:o="16px Arial",textAlign:i="left",textBaseline:a="middle"}={})=>{try{if(!e)return"";const c=document.createElement("canvas");c.width=t,c.height=r;const l=c.getContext("2d");return l?(n&&l.rotate(n*Math.PI/180),s&&(l.fillStyle=s),o&&(l.font=o),i&&(l.textAlign=i),a&&(l.textBaseline=a),l.fillText(e,c.width/10,c.height/2),`url(${c.toDataURL()})`):""}catch(e){return console.error("[ddan] watermark",e),""}},copyText:(e,t=!1)=>new Promise((r=>{!t&&navigator.clipboard?es("clipboard-write").then((t=>{ts(t,!1)?navigator.clipboard.writeText(e).then((()=>r(!0))).catch((()=>r(Xn(e)))):r(Xn(e))})).catch((()=>{r(Xn(e))})):r(Xn(e))})),queryPermission:es,isAllowed:ts,legacyCopy:Xn,takeHtmlLinks:e=>{if(!e)return[];const t=[];return[/<script[^>]+src="([^"]+)"/g,/<link[^>]+rel="stylesheet"[^>]+href="([^"]+)"/g,/<link[^>]+rel="icon"[^>]+href="([^"]+)"/g].forEach((r=>{const n=rs(e,r);t.push(n)})),[].concat(...t)},takeHtml:rs,toBlobUrl:ns,workerURL:e=>ns(`(${e.toString()})()`,"text/javascript"),getVideoMetadata:(e,t=3e4)=>new Promise(((r,n)=>{let s=null,o=null,i=null;const a=e=>{i&&(clearTimeout(i),i=null),s&&(s.onerror=null,s.onloadedmetadata=null,s.remove(),s=null),o&&(URL.revokeObjectURL(o),o=null),e&&n(e)};try{if(s=document.createElement("video"),i=setTimeout((()=>{a(new Error(`操作超时(${t}ms)`))}),t),e instanceof File||e instanceof Blob||e instanceof MediaSource)o=URL.createObjectURL(e),s.src=o;else{if("string"!=typeof e)throw new Error("无效的视频源类型");s.crossOrigin="anonymous",s.src=e}s.onloadedmetadata=()=>{r({width:s?.videoWidth||0,height:s?.videoHeight||0,duration:s?.duration||0}),a()},s.onerror=()=>{a(new Error(`视频加载失败: ${s?.error?.message||"未知错误"}`))}}catch(e){a(e instanceof Error?e:new Error("未知同步错误"))}})),getImageMetadata:(e,t=5e3)=>new Promise(((r,n)=>{const s=new Image;let o=null,i=null;const a=e=>{i&&(clearTimeout(i),i=null),s.onload=null,s.onerror=null,o&&(URL.revokeObjectURL(o),o=null),e&&n(e)};i=setTimeout((()=>{a(new Error(`图片加载超时(${t}ms)`))}),t),s.onload=()=>{r({width:s.naturalWidth,height:s.naturalHeight}),a()},s.onerror=()=>{a(new Error(`无法加载图片: ${s.src||"未知资源"}`))};try{if(e instanceof File||e instanceof Blob)o=URL.createObjectURL(e),s.src=o;else{if("string"!=typeof e)throw new Error("无效的图片源类型");s.setAttribute("crossOrigin","Anonymous"),s.src=e}}catch(e){e instanceof Error?a(e):a(new Error("未知同步错误"))}}))};const os=new class{__defStyle="vertical-align: middle; mask-position: 50% 50%; mask-repeat: no-repeat; mask-size: 100%; -webkit-mask-position: 50% 50%; -webkit-mask-repeat: no-repeat; -webkit-mask-size: 100%; background-color: currentColor;";__map={back:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M609.408 149.376L277.76 489.6a32 32 0 0 0 0 44.672l331.648 340.352a29.12 29.12 0 0 0 41.728 0 30.592 30.592 0 0 0 0-42.752L339.264 511.936l311.872-319.872a30.592 30.592 0 0 0 0-42.688 29.12 29.12 0 0 0-41.728 0z"/></svg>',right:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M340.864 149.312a30.592 30.592 0 0 0 0 42.752L652.736 512 340.864 831.872a30.592 30.592 0 0 0 0 42.752 29.12 29.12 0 0 0 41.728 0L714.24 534.336a32 32 0 0 0 0-44.672L382.592 149.376a29.12 29.12 0 0 0-41.728 0z"/></svg>',home:'<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M13 19.8h3.8v-7h3.303L12 4.697 3.897 12.8H7.2v7H11V17h2v2.8zm5 .2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-6H3.414a1 1 0 0 1-.707-1.707l8.586-8.586a1 1 0 0 1 1.414 0l8.586 8.586A1 1 0 0 1 20.586 14H18v6z" fill-rule="evenodd" fill-opacity=".9"/></svg>',close:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M764.288 214.592L512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"/></svg>',close_circle:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M466.752 512l-90.496-90.496a32 32 0 0 1 45.248-45.248L512 466.752l90.496-90.496a32 32 0 1 1 45.248 45.248L557.248 512l90.496 90.496a32 32 0 1 1-45.248 45.248L512 557.248l-90.496 90.496a32 32 0 0 1-45.248-45.248L466.752 512z"/><path fill="currentColor" d="M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768zm0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"/></svg>',close_circle_fill:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm0 393.664L407.936 353.6a38.4 38.4 0 1 0-54.336 54.336L457.664 512 353.6 616.064a38.4 38.4 0 1 0 54.336 54.336L512 566.336 616.064 670.4a38.4 38.4 0 1 0 54.336-54.336L566.336 512 670.4 407.936a38.4 38.4 0 1 0-54.336-54.336L512 457.664z"/></svg>',warning:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path d="M928.99 755.83L574.6 203.25c-12.89-20.16-36.76-32.58-62.6-32.58s-49.71 12.43-62.6 32.58L95.01 755.83c-12.91 20.12-12.9 44.91.01 65.03 12.92 20.12 36.78 32.51 62.59 32.49h708.78c25.82.01 49.68-12.37 62.59-32.49 12.91-20.12 12.92-44.91.01-65.03zM554.67 768h-85.33v-85.33h85.33V768zm0-426.67v298.66h-85.33V341.32l85.33.01z" fill="currentColor"/></svg>',play:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path d="M512 1024A512 512 0 1 1 512 0a512 512 0 0 1 0 1024zm3.008-92.992a416 416 0 1 0 0-832 416 416 0 0 0 0 832zM383.232 287.616l384 224.896-384 223.104v-448z" fill="currentColor"/></svg>',lock:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M224 448a32 32 0 0 0-32 32v384a32 32 0 0 0 32 32h576a32 32 0 0 0 32-32V480a32 32 0 0 0-32-32H224zm0-64h576a96 96 0 0 1 96 96v384a96 96 0 0 1-96 96H224a96 96 0 0 1-96-96V480a96 96 0 0 1 96-96z"/><path fill="currentColor" d="M512 544a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V576a32 32 0 0 1 32-32zm192-160v-64a192 192 0 1 0-384 0v64h384zM512 64a256 256 0 0 1 256 256v128H256V320A256 256 0 0 1 512 64z"/></svg>',lock_fill:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path d="M467.2 713.92v115.968a44.8 44.8 0 0 0 89.6 0V713.92c26.752-14.72 44.8-42.304 44.8-73.92 0-47.104-40.128-85.312-89.6-85.312-49.472 0-89.6 38.208-89.6 85.312 0 31.616 18.048 59.136 44.8 73.92zM64 384h896v640H64V384zm268.8 0h358.4V256c0-94.272-80.256-170.688-179.2-170.688-98.944 0-179.2 76.416-179.2 170.688v128zM512 0c148.48 0 268.8 114.56 268.8 256v128H243.2V256C243.2 114.56 363.52 0 512 0z" fill="currentColor"/></svg>',plus:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M480 480V128a32 32 0 0 1 64 0v352h352a32 32 0 1 1 0 64H544v352a32 32 0 1 1-64 0V544H128a32 32 0 0 1 0-64h352z"/></svg>',plus_circle:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M352 480h320a32 32 0 1 1 0 64H352a32 32 0 0 1 0-64z"/><path fill="currentColor" d="M480 672V352a32 32 0 1 1 64 0v320a32 32 0 0 1-64 0z"/><path fill="currentColor" d="M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768zm0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"/></svg>',plus_circle_fill:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm-38.4 409.6H326.4a38.4 38.4 0 1 0 0 76.8h147.2v147.2a38.4 38.4 0 0 0 76.8 0V550.4h147.2a38.4 38.4 0 0 0 0-76.8H550.4V326.4a38.4 38.4 0 1 0-76.8 0v147.2z"/></svg>',star:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M512 747.84l228.16 119.936a6.4 6.4 0 0 0 9.28-6.72l-43.52-254.08 184.512-179.904a6.4 6.4 0 0 0-3.52-10.88l-255.104-37.12L517.76 147.904a6.4 6.4 0 0 0-11.52 0L392.192 379.072l-255.104 37.12a6.4 6.4 0 0 0-3.52 10.88L318.08 606.976l-43.584 254.08a6.4 6.4 0 0 0 9.28 6.72L512 747.84zM313.6 924.48a70.4 70.4 0 0 1-102.144-74.24l37.888-220.928L88.96 472.96A70.4 70.4 0 0 1 128 352.896l221.76-32.256 99.2-200.96a70.4 70.4 0 0 1 126.208 0l99.2 200.96 221.824 32.256a70.4 70.4 0 0 1 39.04 120.064L774.72 629.376l37.888 220.928a70.4 70.4 0 0 1-102.144 74.24L512 820.096l-198.4 104.32z"/></svg>',star_fill:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M283.84 867.84L512 747.776l228.16 119.936a6.4 6.4 0 0 0 9.28-6.72l-43.52-254.08 184.512-179.904a6.4 6.4 0 0 0-3.52-10.88l-255.104-37.12L517.76 147.904a6.4 6.4 0 0 0-11.52 0L392.192 379.072l-255.104 37.12a6.4 6.4 0 0 0-3.52 10.88L318.08 606.976l-43.584 254.08a6.4 6.4 0 0 0 9.28 6.72z"/></svg>',share:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M679.872 348.8l-301.76 188.608a127.808 127.808 0 0 1 5.12 52.16l279.936 104.96a128 128 0 1 1-22.464 59.904l-279.872-104.96a128 128 0 1 1-16.64-166.272l301.696-188.608a128 128 0 1 1 33.92 54.272z"/></svg>',love:'<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M171.712 571.648l.352.32 287.904 252.8a64 64 0 0 0 82.912 1.344l296.832-244.544a215.584 215.584 0 1 0-301.824-300.576L512 316.672l-25.888-35.616a215.584 215.584 0 1 0-314.4 290.624zM32 407.584A279.584 279.584 0 0 1 512 212.64a279.584 279.584 0 0 1 480 194.944 278.144 278.144 0 0 1-113.024 224.512l-295.36 243.392a128 128 0 0 1-165.888-2.592L129.984 620.16A278.976 278.976 0 0 1 32 407.584z"/></svg>',love_fill:'<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M32 407.584A279.584 279.584 0 0 1 512 212.64a279.584 279.584 0 0 1 480 194.944 278.144 278.144 0 0 1-113.024 224.512L562.592 892.8a96 96 0 0 1-124.416-1.952L130.016 620.16A278.976 278.976 0 0 1 32 407.584z"/></svg>'};getBase64=e=>{const t=this.getSVG(e);return t?.url||""};getSVG=e=>{if(!e)return;const t=this.__map[e];if(!t)return;return{url:this.toBase64(t),escape:this.toEscape(t)}};toBase64=e=>{if(!e)return"";const t=this._tiny(e);return`data:image/svg+xml;base64,${qr.encode(t)}`};_tiny=e=>e?e.replace(/<!--(.*)-->/g,"").replace(/[\r\n]/g," ").replace(/"/g,"'"):"";toEscape=e=>{if(!e)return"";return`data:image/svg+xml,${this._tiny(e).replace(/%/g,"%25").replace(/&/g,"%26").replace(/#/g,"%23").replace(/{/g,"%7B").replace(/}/g,"%7D").replace(/</g,"%3C").replace(/>/g,"%3E")}`};getStyle(e,t={}){if(!e)return"";const r=this.__map[e];return r?this.toStyle(r,t):""}toStyle(e,t={}){if(!e)return"";const r=this.toBase64(e);return r?this.getStyleByUrl(r,t):""}getStyleByUrl(e,t={}){if(!e)return"";const{key:r="mask-image",gradientValue:n="radial-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5))",gradient:s=!1,defStyle:o=this.__defStyle}=t,i=s&&n?`${n}, url("${e}")`:`url("${e}")`;return`${r}:${i};-webkit-${r}:${i};${o}`}},is={mini:Hn,css:Yn,qs:Ar,icon:os,html:ss},as=({url:e,options:t})=>{const r={"Content-Type":"application/json; charset=utf-8",...t.headers||{}};return t.headers=r,new Promise(((r,n)=>{fetch(e,t).then((e=>{r(e.json())})).catch((e=>{n(e)}))}))};function cs(e){const{response:t}=e;return 0===t.code?Promise.resolve(t):Promise.reject(t)}function ls(e){const{url:t="",host:r,options:n}=e,s=e;if(t.startsWith("http://")||t.startsWith("https://")||(s.url=(r||"")+t),"GET"===n.method.toUpperCase()&&n.body){const e=JSON.parse(n.body);if(un.isPlainObject(e)){const r=Ar.stringify(e),n=-1===t.indexOf("?")?"?":"&";s.url=`${s.url||""}${n}${r}`,delete s.options.body}}return n&&n.plugins&&delete s.options?.plugins,n&&n.model&&delete s.options?.model,s}class us{host="";reqConfig={};handleError;interceptors={request:new Kn,response:new Kn};constructor(e){this.host=e.host||"",this.reqConfig=e.config,this.interceptors.request.use(e.handleRequest||[]),this.interceptors.request.use(ls),this.interceptors.response.use(e.handleResponse||cs),this.handleError=e.handleError}static blockId="blockid";static requestLock={};lockR(e,t){us.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete us.requestLock[e]}getIdFromReq(e){const{url:t,data:r={}}=e;return t+JSON.stringify(r)}getIdFromReqUrl(e){return e.url||""}async fetch(e,t){const r=un.copy(this.reqConfig[e])||{},n={host:this.host,url:r.url||"",options:{...r||{},body:JSON.stringify({...t||{}})}};try{const s=await this.interceptors.request.invoke(n);let o;if(delete s.options.plugins,"block"===r.model)this.lockR(us.blockId,(()=>as(s))),o=await us.requestLock[us.blockId].request;else if(us.requestLock[us.blockId]&&us.requestLock[us.blockId].lock&&await us.requestLock[us.blockId].request,"debounce"===r.model||"debounceUrl"===r.model){let e;e="debounceUrl"===r.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),us.requestLock[e]||this.lockR(e,(()=>as(s))),o=await us.requestLock[e].request,this.unlockR(e)}else o=await as(s);return this.interceptors.response.invoke({response:o,config:r,refetch:()=>({sig:"REFETCH",result:this.fetch(e,t)})})}catch(e){return this.handleError&&this.handleError(e),Promise.reject(e)}}}var fs={getDataURL:(e,t)=>{const r={contentType:"",dataUrl:""};return ve.to(fetch(e,{cache:t}).then((e=>(r.contentType=e.headers.get("content-type")||"",e.arrayBuffer()))).then((e=>(r.dataUrl=`data:${r.contentType};base64,`+We.ab2str(e,!0),r))))},getArrayBuffer:async(e,t)=>ve.to(fetch(e,{cache:t}).then((e=>e.arrayBuffer()))),getJson:async(e,t)=>ve.to(fetch(e,{cache:t}).then((e=>e.json()))),download:(e,t={})=>new Promise((r=>fetch(e).then((async e=>{if(!e.ok||200!==e.status)throw new Error(e.statusText);const n=+(e.headers.get("content-length")||""),s=e.body?.getReader();let o=0;const i=[];for(;;){const{done:e,value:r}=await s.read();if(e)break;i.push(r),o+=r.length;const a=qe.float(100*o/n,{digits:2});t?.progress&&t?.progress(a,o,n)}const a=new Uint8Array(o);let c=0;for(const e of i)a.set(e,c),c+=e.length;t?.success&&t?.success(a),r(a)})).catch((e=>{t?.fail&&t?.fail(e),r(void 0)})))),getText:async(e,t)=>ve.to(fetch(e,{cache:t}).then((e=>e.text()))),cache:async(e,t="no-cache")=>ve.to(fetch(e,{cache:t}).then((()=>!0)))};class hs{publicKey="";privateKey="";iv="";__privateCryptoKey;__sharedSecret;__curve;__keyFormat;__subtle;constructor(e="P-256",t="raw"){this.__curve=e,this.__keyFormat=t||"raw","undefined"!=typeof window?this.__subtle=window.crypto.subtle:this.__subtle={}}async generateKeys(){const e=await this.__subtle.generateKey({name:"ECDH",namedCurve:this.__curve},!0,["deriveKey","deriveBits"]);return this.__privateCryptoKey=e.privateKey,this.publicKey=await this.exportKey(e.publicKey),this.privateKey=await this.exportKey(e.privateKey,"pkcs8"),this}async exportKey(e,t="raw"){const r=await this.__subtle.exportKey(t||this.__keyFormat,e);return We.ab2str(r,!0)}async importKey(e,t="raw",r=[]){const n=We.base64ToBytes(e);return await this.__subtle.importKey(t||this.__keyFormat||"raw",n,{name:"ECDH",namedCurve:this.__curve},!0,r)}async setPrivateKey(e){if(!e)return!1;const t=await this.importKey(e,"pkcs8",["deriveKey","deriveBits"]);return this.privateKey=await this.exportKey(t,"pkcs8"),this.__privateCryptoKey=t,!0}async deriveSharedSecret(e,t){if(!this.__privateCryptoKey)return!1;const r=await this.importKey(e),n=await this.__subtle.deriveKey({name:"ECDH",public:r},this.__privateCryptoKey,{name:"AES-GCM",length:256},!0,["encrypt","decrypt"]);return this.__sharedSecret=n,this.iv=t||"",!0}async encode(e,t){if(!this.__sharedSecret)return"";const r=t||this.iv;if(!r)return"";const n=We.base64ToBytes(r),s=We.textEncode(e),o=await this.__subtle.encrypt({name:"AES-GCM",iv:n},this.__sharedSecret,s);return We.ab2str(o,!0)}async encodeiv(e,t){if(!this.__sharedSecret)return"";const r=t||this.iv,n=r?We.base64ToBytes(r):We.getRandomBytes(12),s=We.textEncode(e),o=await this.__subtle.encrypt({name:"AES-GCM",iv:n},this.__sharedSecret,s),i=We.concatBytes(new Uint8Array(o),n);return We.bytesToBase64(i)}async decode(e,t){if(!this.__sharedSecret)return"";const r=t||this.iv;if(!r)return"";const n=We.base64ToBytes(e),s=We.base64ToBytes(r),o=await this.__subtle.decrypt({name:"AES-GCM",iv:s},this.__sharedSecret,n);return We.textDecode(o)}async decodeiv(e){if(!this.__sharedSecret)return"";const t=We.base64ToBytes(e);if(t.length<12)return"";const r=t.slice(t.length-12),n=t.slice(0,t.length-12),s=await this.__subtle.decrypt({name:"AES-GCM",iv:r},this.__sharedSecret,n);return We.textDecode(s)}}const ds={fetch:fs,Http:us,css:Yn,qs:Ar,icon:os,html:ss,rsa:et,...{Ecdh:hs}};var ps={brotliCompress:function(e,t=l.default.constants.BROTLI_DEFAULT_QUALITY){try{if(!e)return"";const r=We.toUtf8Bytes(e);return l.default.brotliCompressSync(r,{params:{[l.default.constants.BROTLI_PARAM_QUALITY]:t}}).toString("base64")}catch(t){return e||""}},brotliDecompress:function(e){try{if(!e)return"";const t=We.base64ToBytes(e);return l.default.brotliDecompressSync(t).toString("utf-8")}catch(t){return e||""}}};var gs={child_exec:e=>new Promise((t=>{if(!e)return t([null,""]);o.exec(e,((e,r)=>{t(e?[e||"error",""]:[null,r||""])}))}))};const ys=()=>{try{return"win32"===process.platform?ms():"darwin"===process.platform?bs():"linux"===process.platform?ws():void 0}catch(e){return}},ms=async()=>{do{const[e,t]=await gs.child_exec('reg query "HKCU\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Internet Settings"');if(e)break;const r=t.split("\n").find((e=>e.includes("ProxyEnable")));if(!(r&&r.trim().endsWith("1")))break;const n=t.split("\n").find((e=>e.includes("ProxyServer"))),s=n?n.split(" ").filter(Boolean).pop():"";if(!s)break;const o=s.split(":");if(o.length<=1)break;const i=o[0],a=+(o[1]||"");if(!i||!a)break;return{ipaddress:i,port:a}}while(0)},bs=async()=>{do{const[e,t]=await gs.child_exec('networksetup -getwebproxy "Wi-Fi"');if(e)break;const r=t.split("\n"),n=r.find((e=>e.includes("Enabled")));if(!(n&&n.includes("Yes")))break;const s=r.find((e=>e.includes("Server"))),o=r.find((e=>e.includes("Port"))),i=s?s.split(":")[1]?.trim():null,a=+((o?o.split(":")[1]?.trim():null)||"");if(!i||!a)break;return{ipaddress:i,port:a}}while(0)},ws=async()=>{do{const[e,t]=await gs.child_exec("env | grep https_proxy");if(e)break;const r=(t||"").trim();if(!r)return;const n=r.match(/:\/\/([^:]+):(\d+)/);if(!n)break;const s=n[1],o=+(n[2]||"");if(!s||!o)break;return{ipaddress:s,port:o}}while(0)},_s=(e,t=["*"],r="DIRECT",n=[])=>{const s=e||r||"DIRECT",o=r||"DIRECT",i=`\n function FindProxyForURL(url, host) {\n if (host === "127.0.0.1" || host === "localhost") {\n return "DIRECT";\n }\n\n if (isInNet(host, "10.0.0.0", "255.0.0.0") ||\n isInNet(host, "172.16.0.0", "255.240.0.0") ||\n isInNet(host, "192.168.0.0", "255.255.0.0")) {\n return "DIRECT";\n }\n\n var _rules = ${JSON.stringify(t)};\n var _proxy = "${s}";\n var _default = "${o}";\n var _directs = ${JSON.stringify(n)};\n\n for (var i = 0; i < _rules.length; i++) {\n if (shExpMatch(host, _rules[i])) {\n return _proxy;\n }\n }\n\n for (var j = 0; j < _directs.length; j++) {\n if (shExpMatch(host, _directs[j])) {\n return "DIRECT";\n }\n }\n\n return _default;\n }\n `;return We.toDataUrl(i,"application/x-ns-proxy-autoconfig")},vs=(e,t,r)=>{if(!e||!t)return"";const{type:n="ALL",direct:s=!1}=r||{};let o="";switch(n?n.toUpperCase():""){case"ALL":o=`SOCKS5 ${e}:${t};PROXY ${e}:${t}`;break;case"PROXY":o=`PROXY ${e}:${t}`;break;case"SOCKS5":o=`SOCKS5 ${e}:${t}`}if(!o&&!s)return"";const i=[];return o&&i.push(o),s&&i.push("DIRECT"),i.join(";")};var xs={getSystemProxy:ys,toPacScript:_s,toPacProxy:vs,pacScript:async(e,t,r)=>{const{type:n="SOCKS5",rules:s=["*"],useSystem:o}=r||{},i=vs(e,t,{type:n});if(!i)return"";let a;if(o){const e=await ys();e&&(a=vs(e?.ipaddress||"",e?.port||0,{direct:!0}))}return _s(i,s||[],a)},getPacScript:async e=>{const{type:t="SOCKS5",rules:r=["*"],useSystem:n,address:s="",port:o=0,directs:i=[]}=e||{},a=vs(s,o,{type:t});let c;if(n){const e=await ys();e&&(c=vs(e?.ipaddress||"",e?.port||0,{direct:!0}))}return _s(a,r||[],c,i)}};const As=(e,t)=>new Promise(((r,n)=>{f.default.readdir(e,(async(s,o)=>{if(s)return n(s);r(Ss(e,o,t))}))})),Ss=async(e,t,r)=>{for(let n of t){const t=`${e}\\${n}`;f.default.lstatSync(t).isDirectory()?await As(`${t}`,r):r&&await r(t)}};var ks={findFreePort:async(e,t=200)=>{let r=e,n=0;for(;n<t;)try{return await new Promise(((e,t)=>{const n=u.default.createServer();n.unref(),n.on("error",t),n.listen(r,(()=>{n.close((()=>e()))}))})),r}catch{n++,r++}return 0}},$s={...{readDirectory:As,readFiles:Ss},...ps,...gs,...xs,...ks,Ecdh:class{publicKey="";privateKey="";sharedSecret;iv="";__curve;__algorithm;__ecdh;constructor(e="prime256v1",t="aes-256-gcm"){this.__curve=e,this.__algorithm=t,this.generateKeys()}generateKeys(){const e=c.default.createECDH("prime256v1");e.generateKeys(),this.publicKey=e.getPublicKey("base64"),this.privateKey=e.getPrivateKey("base64"),this.__ecdh=e}setPrivateKey(e){return!!e&&(!!this.__ecdh&&(this.__ecdh.setPrivateKey(e,"base64"),this.publicKey=this.__ecdh.getPublicKey("base64"),!0))}setSharedSecret(e){return!!e&&(this.sharedSecret=e,!0)}deriveSharedSecret(e,t){return!!e&&(this.sharedSecret=this.__ecdh.computeSecret(e,"base64").toString("base64"),this.iv=t||"",!0)}encode(e,t){if(!this.sharedSecret)return"";const r=t||this.iv;if(!r)return"";const n=We.base64ToBytes(r),s=c.default.createCipheriv("aes-256-gcm",We.base64ToBytes(this.sharedSecret),n),o=Buffer.concat([new Uint8Array(s.update(e,"utf8")),new Uint8Array(s.final())]),i=s.getAuthTag();return Buffer.concat([new Uint8Array(o),new Uint8Array(i)]).toString("base64")}encodeiv(e,t){if(!this.sharedSecret)return"";const r=t||this.iv,n=r?We.base64ToBytes(r):We.getRandomBytes(12),s=c.default.createCipheriv("aes-256-gcm",We.base64ToBytes(this.sharedSecret),n),o=Buffer.concat([new Uint8Array(s.update(e,"utf8")),new Uint8Array(s.final())]),i=s.getAuthTag();return Buffer.concat([new Uint8Array(o),new Uint8Array(i),n]).toString("base64")}decode(e,t){if(!e||!this.sharedSecret)return"";const r=t||this.iv;if(!r)return"";const n=c.default.createDecipheriv("aes-256-gcm",We.base64ToBytes(this.sharedSecret),We.base64ToBytes(r)),s=We.base64ToBytes(e),o=s.slice(s.length-16);n.setAuthTag(o);const i=s.slice(0,s.length-16);return Buffer.concat([new Uint8Array(n.update(i)),new Uint8Array(n.final())]).toString("utf-8")}decodeiv(e){if(!e||!this.sharedSecret)return"";const t=We.base64ToBytes(e);if(t.length<28)return"";const r=t.slice(t.length-12),n=t.slice(t.length-28,t.length-12),s=c.default.createDecipheriv("aes-256-gcm",We.base64ToBytes(this.sharedSecret),r);s.setAuthTag(n);const o=t.slice(0,t.length-28);return Buffer.concat([new Uint8Array(s.update(o)),new Uint8Array(s.final())]).toString("utf-8")}},EcdhWeb:class extends hs{constructor(e="P-256",t="raw"){super(e,t),this.__subtle=c.default.webcrypto.subtle}},Socks5:class{upstreamProxy;server=null;clientSockets=new Set;systemProxy=null;useSystemProxy=!1;__debug=!1;__uuid;__port=0;__event;__pipeline;__logger;__totalReceived=0;__totalSent=0;__rules=[];constructor(e,t=!1,r){this.__event=new m,this.upstreamProxy=this.filterProxyConfigs(e),this._updateRules(),this.__debug=t,this.__uuid=y(),this.__pipeline=new ke(1),this.__logger=r||console}get id(){return this.__uuid}get port(){return this.__port}get url(){return this.__port?`socks5://127.0.0.1:${this.__port}`:""}get totalReceived(){return this.__totalReceived}get totalSent(){return this.__totalSent}get rules(){return this.__rules}validateProxyConfig(e){const{ipaddress:t,port:r,userId:n,password:s}=e||{};return t&&"string"==typeof t?r&&"number"==typeof r?n&&"string"==typeof n?s&&"string"==typeof s?"":"无效的上游代理密码":"无效的上游代理用户名":"无效的上游代理端口":"无效的上游代理 IP 地址"}filterProxyConfigs(e){let t=[];t=e&&Array.isArray(e)?e:[e];const r=[];for(const e of t)this.validateProxyConfig(e)||r.push(e);return r}async start(e=8838){if(this.upstreamProxy.length<=0)return 0;if(this.server)return this.__debug&&console.info("[socks5] server is already running"),this.__port;const t=await this.findAvailablePort(e);return t?(this.setupServer(t),t):0}setupServer(e){try{return!!e&&(this.__port=e,this.server=u.default.createServer((e=>this.handleSocksConnection(e))),this.server.listen(e,(()=>{this.__debug&&this.__logger?.info(`[socks5] server is running on port ${e}`)})),this.server.on("error",(e=>{this.__logger?.error("[socks5] server error:",e),this.close()})),this.server.on("close",(()=>{this.__debug&&this.__logger?.info("[socks5] server closed")})),!0)}catch(e){return this.__debug&&this.__logger?.info("[socks5] setupServer error:",e),!1}}restart(){this.__debug&&console.info("[socks5] server restart");const e=this.__port;return!!e&&(this.close(),this.setupServer(e))}setUpstreamProxy(e){if(!e)return!1;const t=this.filterProxyConfigs(e);return!(!t||t.length<=0)&&(this.upstreamProxy=t,this._updateRules(),!0)}setSystemProxy(e,t){this.useSystemProxy=e,e&&t&&t.ipaddress&&t.port&&(this.systemProxy=t)}async findAvailablePort(e,t=200){let r=e,n=0;for(;n<t;)try{return await new Promise(((e,t)=>{const n=u.default.createServer();n.unref(),n.on("error",t),n.listen(r,(()=>{n.close((()=>e()))}))})),r}catch{n++,r++}return this.__debug&&this.__logger?.warn("[socks5] findAvailablePort failed"),0}async handleSocksConnection(e){let t="";try{if(!e)return;this.clientSockets.add(e),e.on("close",(()=>{this.clientSockets.delete(e),e?.destroy()})),await this.performHandshake(e);const r=await this.parseClientRequest(e),n=r.addr;t=`${n}:${r.port}`,this.__debug&&this.__logger?.info("[socks5] connection",t);const s=this.findProxyConfig(n);if(s){const n=await this.connectToUpstreamProxy(r,s);this.__logger?.info(`[socks5] connection upstream ${t}, use ${s.ipaddress}:${s.port}`),this.setupDataForwarding(e,n,"upstream")}else if(this.useSystemProxy&&this.systemProxy&&!Ar.isLocalIPAddress(n)){const n=await this.connectToSystemProxy(r);this.__debug&&console.info("[socks5] connection system",t),this.setupDataForwarding(e,n,"system")}else{this.__debug&&console.info("[socks5] connection local",t);const n=await this.connectToLocal(r);this.setupDataForwarding(e,n,"local")}}catch(r){this.__debug&&this.__logger?.error("[socks5] connection failed:",r),e.end(new Uint8Array([5,1])),this._emit("error",r,t)}}performHandshake(e){return new Promise(((t,r)=>{e.once("data",(n=>{if(5!==n[0])return r(new Error("Unsupported SOCKS version"));e.write(new Uint8Array([5,0])),t()}))}))}parseClientRequest(e){return new Promise(((t,r)=>{e.once("data",(e=>{let n,s;if(1!==e[1])return r(new Error("Unsupported command"));if(1===e[3])n=e.slice(4,8).join("."),s=e.readUInt16BE(8);else{if(3!==e[3])return r(new Error("Unsupported address type"));{const t=e[4];n=e.slice(5,5+t).toString(),s=e.readUInt16BE(5+t)}}t({addr:n,port:s})}))}))}async connectToUpstreamProxy(e,t){const r={proxy:{ipaddress:t.ipaddress,port:t.port,type:5,userId:t.userId,password:t.password},command:"connect",destination:{host:e.addr,port:e.port}};try{return await this.connectToProxy(r)}catch(e){throw new Error("Failed to connect to upstream proxy: "+e)}}async connectToSystemProxy(e){const t={proxy:{...this.systemProxy,type:5},command:"connect",destination:{host:e.addr,port:e.port}};try{return await this.connectToProxy(t)}catch(e){throw new Error("Failed to connect to system proxy: "+e)}}async connectToProxy(e){const{socket:t}=await s.SocksClient.createConnection(e);return t}async connectToLocal(e){return new Promise(((t,r)=>{const n=u.default.createConnection(e.port,e.addr,(()=>{t(n)}));n.on("error",(e=>{r(e)}))}))}setupDataForwarding(e,t,r="local"){e.write(new Uint8Array([5,0,0,1,0,0,0,0,0,0])),e.pipe(t),t.pipe(e);const n=`${t.localAddress}:${t.localPort}`;this.__debug&&console.info(`[socks5] setupDataForwarding ${n}`),"upstream"===r&&(t.on("data",(e=>{this.__totalSent+=e.length})),e.on("data",(e=>{this.__totalReceived+=e.length}))),e.on("close",(()=>{this.__debug&&console.info("[socks5] client socket close",n),t.end()})),t.on("close",(()=>{this.__debug&&console.info("[socks5] target socket close",n),e.end()})),e.on("error",(e=>{this.__debug&&console.error("[socks5] client socket error:",e?.message),t.end()})),t.on("error",(t=>{this.__debug&&console.error("[socks5] target socket error:",t?.message),e.end()}))}findProxyConfig(e){if(!Ar.isLocalIPAddress(e))for(const t of this.upstreamProxy)if(this.isAllowedDomain(e,t.rules||[]))return t}isAllowedDomain(e,t){if(Ar.isLocalIPAddress(e))return!1;if(!t||!Array.isArray(t))return!1;for(const r of t){if("*"===r)return!0;if(Ar.shExpMatch(e,r))return!0}return!1}close(){try{if(!this.server)return;this.__debug&&this.__logger?.info("[socks5] closing SOCKS5 proxy server..."),this.server.close((e=>{e&&this.__debug&&this.__logger?.error("[socks5] closing the server failed:",e)})),this.clientSockets.forEach((e=>e?.destroy())),this.clientSockets.clear(),this.server=null,this.__port=0}catch(e){this.__debug&&this.__logger?.error("[socks5] close error:",e)}}on(e,t){e&&t&&(this.__event.off(e,t),this.__event.on(e,t))}off(e,t){e&&this.__event.off(e,t)}resetStatistics(){this.__totalReceived=0,this.__totalSent=0}_emit(e,...t){try{if(!e)return;this.__event.emit(e,...t)}catch(e){}}_updateRules(){this.upstreamProxy&&(this.__rules=fn.distinct(this.upstreamProxy.reduce(((e,t)=>e.concat(t?.rules||[])),[])))}},rsa:Ge};const Os={...$s};var js={ossImage:(e,t={})=>{if(!e)return e;const r=Ar.parseUrl(e).url;if(t.domain){if(!e.startsWith("http"))return e;const r=fn.toList(t.domain||""),n=e.match(/^http[s]?:\/\/([\w.]+)[\w\W]+/)[1]||"";if(!n||!r.includes(n))return e}const n=[];return t.webp&&!r.endsWith(".gif")&&n.push("format,webp"),t.resize&&n.push(`resize,s_${t.resize}`),t.interlace&&(n.push("interlace,1"),!n.every((e=>!e.startsWith("format")))||r.endsWith(".gif")||r.endsWith(".jpg")||n.push("format,jpg")),n.length<=0?e:`${r}?x-oss-process=image/${n.join("/")}`},ossSnapshot:(e,t={})=>{if(!e)return e;const r=Ar.parseUrl(e).url,n=["snapshot"],{m:s="fast",f:o="jpg"}=t;return(t.t||0===t.t)&&n.push(`t_${t.t}`),t.w&&n.push(`w_${t.w}`),t.h&&n.push(`h_${t.h}`),s&&n.push(`m_${s}`),o&&n.push(`f_${o}`),t.ar&&n.push(`ar_${t.ar}`),`${r}?x-oss-process=video/${n.join(",")}`},ossBase64:e=>Ce.toBase64(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")};const Cs={overrode:!1,tag:!1,format:"hh:mm:ss.SSS"},Es=e=>(...t)=>{const r=console[e];Cs.overrode?r(...t):Ps(r,e,...t)},Ps=(e,t,...r)=>{const n=Pr.format(new Date,Cs.format),s=Cs.tag?`[${t}]`:"";s&&n?e.apply(console,[`${n} ${s}`,...r]):n?e.apply(console,[`${n}`,...r]):s?e.apply(console,[`${s}`,...r]):e.apply(console,[...r])};var Ts={override:()=>{if(Cs.overrode)return;Cs.overrode=!0;["log","info","warn","error"].forEach((e=>{const t=console[e];console[e]=(...r)=>{Ps(t,e,...r)}}))},log:Es("log"),info:Es("info"),warn:Es("warn"),error:Es("error"),config:({tag:e=Cs.tag,format:t=Cs.format}={})=>{Cs.tag=e,Cs.format=t}};class qs{key;storage;fields=[];constructor(e){this.key=e?.key||"",this.fields=e?.fields||[],this.storage=e?.storage||void 0}save=cr.debounce((e=>{if(this.key&&this.storage)try{const{setItem:t,setStorageSync:r}=this.storage;if(r)return r(this.key,e);if(t)return t(this.key,JSON.stringify(e))}catch(e){console.error("persit save ",e)}}));read(){if(this.key&&this.storage)try{const{getItem:e,getStorageSync:t}=this.storage;if(t)return t(this.key);if(e){const t=e(this.key);return JSON.parse(t)}}catch(e){return void console.error("persit read ",e)}}handleSave(e,t){if(!this.fields.includes(t)||!e)return;const r=pr.copy(e,{fields:this.fields});this.save(r)}}class Bs extends m{setters={};getters={};actions={};persist;constructor(){super()}async dispatch(e,t=void 0){const r=this,n=Reflect.get(r.actions,e);if(!ee.isFunction(n))return;const[,s]=await cr.run(n({...r,commit:r.commit.bind(r),query:r.query.bind(r),dispatch:r.dispatch.bind(r)},t));return s}async query(e){const t=Reflect.get(this,e);let r;if(null!=t&&""!==t)r=pr.copy(t);else{const[,t]=await cr.exec((()=>this.dispatch(e)),`${this.__eventId}_${e}`);r=t}return r}commit(e,t){ee.isObject(t)&&(t=pr.copy(t)),this[e]=t}}const Ls=(e,t)=>{const r=Object.assign(new Bs,e||{});r.__persist=new qs(t||r.persist);const n=r.__persist.read(),s=n?Object.assign(r,n):r;return new Proxy(s,{get:(e,t,r)=>{const n=Reflect.get(e.getters,t);return ee.isFunction(n)?n(e):Reflect.get(e,t,r)},set:(e,t,r,n)=>{const s=Reflect.get(e.setters,t);if(ee.isFunction(s)&&!s(e,r))return!0;const o=Reflect.set(e,t,r,n);return o&&(e.emit(t.toString(),r),e?.__persist?.handleSave(e,t.toString())),o},has:(e,t)=>Reflect.has(e,t)})};class Rs{host="";list=[];constructor(e,t={}){this._parseHost(e);const{width:r=500,height:n=400}=t,s=Ar.parseUrl(e)?.params||{};s["x-oss-process"]=`image/resize,w_${r},h_${n},m_fill`;const o=Ar.stringify(s,{uri:!1});this.list.push(`${e}?${o}`)}_parseHost(e){e&&!this.host&&/^http[s]?:\/\/([\w.]+)/.test(e)&&(this.host=e.replace(/^http[s]?:\/\/([\w.]+)[\w\W]+/,"$1"))}image(e,t={}){if(!e||!e.includes(this.host))return;if(this.list.length<=0)return;const r={g:"nw",...t},n=e.replace(/^http[s]?:\/\/[\w.]+\/([\w-.,_/?%&=]+)$/,"$1"),s=Br.base64.encodeByOss(n),o=Ar.stringify({image:s,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${o}`)}text(e,t={},r={}){if(!e)return;const n={g:"nw",...t},s=Br.base64.encodeByOss(e),o=Ar.stringify({text:s,...n,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${o}`)}result(){return this.list.join("")}}class Fs{__list=[];constructor(){this.clear()}add(e){const t=cr.run(e);return this.__list.push(t),this}clear(){return this.__list=[],this}wait(){const e=this.__list;return this.clear(),Promise.allSettled(e)}}const Us=new class{state=Ls(new Bs);frame=new Sr;cache=new Map;cacheTime=new Map;setCache=(e,t)=>null!=t&&(!!e&&(this.cache.set(e,t),this.cacheTime.set(e,Date.now()),!0));hasCache=e=>{if(!e)return!1;this.cache.has(e)};getCache=e=>{if(e)return this.cache.get(e)};getCacheTime=e=>e&&this.cacheTime.get(e)||0;removeCache=e=>{e&&(this.cache.delete(e),this.cacheTime.delete(e))};cacheId=e=>`_${e}_cache_`;timesRecord=(e,t={})=>{if(!e)return;const{mode:r="running",cycle:n="day"}=t||{},s=this.cacheId(r),o=this.getCache(s)||{},i=Date.now(),a=o[e],c={time:i,count:1,cycle:n};return a&&("day"!==n||Pr.isToday(a.time||0))&&(c.count=1+(a.count||0)),o[e]=c,this.setCache(s,o),o};timesValid=(e,t={})=>{if(!e)return!1;const{max:r=1,interval:n=0,mode:s="running",cycle:o="day"}=t||{},i=this.cacheId(s);let a=this.getCache(i);if(!a)return!0;const c=a[e];if(!c)return!0;if("day"===o&&!Pr.isToday(c.time||0))return!0;if(r<=(c.count||0))return!1;return!(Date.now()-(c.time||0)<n)};timesClean=(e="running")=>{const t=this.cacheId(e),r=this.getCache(t);if(!r)return;const n=un.copy(r);un.forof(n,((e,t)=>{"day"!==t.cycle&&void 0!==t.cycle||Pr.isToday(t.time||0)||delete r[e]})),this.setCache(t,r)};parallel=()=>new Fs};class Is{id="";start=0;end=0;cost=0;name="";type="";desc="";timeStartDesc="";timeEndDesc="";isDone=!1;flag=0;constructor(){this.id=y(),this.start=Date.now(),this.timeStartDesc=Pr.format(this.start,"hh:mm:ss.SSS")}get time(){return this.flag?this.end:this.start}get timeDesc(){return this.flag?this.timeEndDesc:this.timeStartDesc}done=(e=Date.now())=>{this.start&&(this.end=e,this.cost=this.end-this.start,this.timeEndDesc=Pr.format(this.end,"hh:mm:ss.SSS"),this.isDone=!0)}}const Ds=new class{__map=new Map;__trackList=[];opened=!0;clear(){return this.__map.clear(),this.__trackList=[],this}add(e,{desc:t="",type:r=""}={}){if(!e||!this.opened)return"";const n=new Is;return n.name=e,n.type=r,n.desc=t,this.__trackList.push(n),n.id}done(e){if(!e||!this.opened)return;const t=this.__trackList.find((t=>t.id===e));if(!t||t.isDone)return;t.done();const r=pr.cloneClass(t);r.id=this._endId(e),r.flag=1,r.desc=`${t.desc} | end`,this.__trackList.push(r)}getTrack(e){return this.__trackList.find((t=>t.id===e))}getLine(e){if(!e||e.endsWith("-end"))return[];const t=this.__trackList.findIndex((t=>t.id===e));if(t<0)return[];const r=this._endId(e),n=this.__trackList.findIndex((e=>e.id===r)),s=n<0?this.__trackList.length-t:n-t+1;return fn.take(this.__trackList,s,t)}getList(e,t=""){if(!e)return[];const r=this.__trackList.filter((t=>t.name===e));if(r.length<=0)return[];if(!t)return r;const n=this._endId(t);return this.__trackList.filter((e=>e.id===t||e.id===n))}get list(){return this.__trackList}get size(){return this.__trackList.length}_endId=e=>`${e}-end`;report(e){const t=this.list;if(!t||t.length<=0)return;const r=t[0].time;t.forEach((t=>e&&e(t,r)))}},Ms={cdn:js,watermark:(e,t)=>new Rs(e,t)},Ks={Store:Bs,storeRef:Ls,Persist:qs,persistConfig:(e,t,r)=>({key:e,fields:t,storage:r})},zs=Us,Ns=Ds,Hs=Ts;e.Event=m,e.KValue=b,e.Mapping=class{_map=new Map;constructor(){this._map.clear()}get keys(){return Array.from(this._map.keys())}get values(){return Array.from(this._map.values())}get(e){if(!e)return;const t=this._map.get(e);return t?t.value:void 0}getKV(e){if(e)return this._map.get(e)}set(e,t){if(!e)return;const r=this._map.get(e);r?(r.set(t),this.clean()):this._map.set(e,new b(e,t))}delete(e,t){if(!e)return;const r=this._map.get(e);t&&t(r?.value),this._map.delete(e)}clear(){this._map.clear()}clean(e=100,t){try{if(this._map.size<=e)return;if(this.keys.filter((e=>{if(!this._map.has(e))return!1;const t=this._map.get(e);return!t||!t.value})).forEach((e=>{this._map.delete(e)})),this._map.size<=e)return;const r=this.values.sort(((e,t)=>e.timestamp-t.timestamp)),n=r.length-e;if(n<=0)return;r.splice(0,n).forEach((e=>{this.delete(e.key,t)}))}catch(e){console.log("mapping clean",e)}}},e.dCdn=Ms,e.dHook=en,e.dJoker=zs,e.dLogger=Hs,e.dMini=is,e.dNode=Os,e.dStore=Ks,e.dTracker=Ns,e.dUtil=Rn,e.dWeb=ds,Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("crypto"),require("zlib"),require("net"),require("socks"),require("child_process"),require("fs"),require("path")):"function"==typeof define&&define.amd?define(["exports","crypto","zlib","net","socks","child_process","fs","path"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).ddan=e.ddan||{},e.crypto$1,e.zlib,e.net,e.socks,e.child_process,e.fs,e.path)}(this,(function(e,t,r,n,s,o,i,a){"use strict";function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=c(t),u=c(r),f=c(n),h=c(i),d=c(a);const p="0123456789",g="abcdefghijklmnopqrstuvwxyz",y="ABCDEFGHIJKLMNOPQRSTUVWXYZ";var m={keyNumber:p,keyLower:g,keyUpper:y,keyChars:p+g+y};const b=(e=0,t=0)=>{const r=m.keyChars.split(""),n=[];let s;if(t=t||r.length,e)for(s=0;s<e;s++)n[s]=r[0|Math.random()*t];else{let e;for(n[8]=n[13]=n[18]=n[23]="-",n[14]="4",s=0;s<36;s++)n[s]||(e=0|16*Math.random(),n[s]=r[19==s?3&e|8:e])}return n.join("")};class w{__map;__tagList;__eventId="";constructor(){this.__map=new Map,this.__tagList=[],this.__eventId=b()}clear(){return this.__map.clear(),this}on(e,t,r=""){if(!e||!t)return this;let n=this.__map.get(e);return n||(n=new Set,this.__map.set(e,n)),n.add(t),r&&this.__tagList.push({name:e,listener:t,tag:r}),this}emit(e,...t){if(!e)return this;const r=this.__map.get(e);if(!r)return this;return[...r].forEach((e=>e&&e(...t))),this}off(e,t){if(!e||!t)return this;this.__tagList=this.__tagList.filter((r=>r.name!==e||r.listener!==t));const r=this.__map.get(e);return r?(r.delete(t),r.size<=0&&this.__map.delete(e),this):this}remove(e){return e?(this.__tagList=this.__tagList.filter((t=>t.name!==e)),this.__map.delete(e),this):this}removeByTag(e){if(!e)return this;return this.__tagList.filter((t=>t.tag===e)).forEach((e=>{this.off(e.name,e.listener)})),this.__tagList=this.__tagList.filter((t=>t.tag!==e)),this}once(e,t){const r=(...n)=>{t(...n),this.off(e,r)};return this.on(e,r),this}has(e){return this.__map.has(e)}}class _{timestamp=0;_key="";_value;constructor(e,t){this._key=e,this._value=t,this.updateAt()}get key(){return this._key}get value(){return this._value}set(e){this._value=e,this.updateAt()}updateAt(){this.timestamp=Date.now()}clear(){this.set(void 0)}}const v="object"==typeof global&&null!==global&&global.Object===Object&&global,x="object"==typeof globalThis&&null!==globalThis&&globalThis.Object===Object&&globalThis,A="object"==typeof self&&null!==self&&self.Object===Object&&self,S=x||v||A||Function("return this")(),k=S.Symbol,{toString:j,hasOwnProperty:O,propertyIsEnumerable:$}=Object.prototype,C=k?k.toStringTag:void 0;function E(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":C&&C in Object(e)?function(e){const t=O.call(e,C),r=e[C];let n=!1;try{e[C]=void 0,n=!0}catch(e){}const s=j.call(e);return n&&(t?e[C]=r:delete e[C]),s}(e):j.call(e)}var P={getTag:E,getType:function(e){return(E(e).match(/\w+/g)||["object","Undefined"])[1]||""},toString:j,hasOwnProperty:O,propertyIsEnumerable:$};const T="object"==typeof e&&null!==e&&!e.nodeType&&e,q=T&&"object"==typeof module&&null!==module&&!module.nodeType&&module,B=q&&q.exports===T&&v.process,L=(()=>{try{const e=q&&q.require&&q.require("util").types;return e||B&&B.binding&&B.binding("util")}catch(e){}})();var R="[object Function]",F="[object GeneratorFunction]",U="[object AsyncFunction]",I=9007199254740991;const D=/^(?:0|[1-9]\d*)$/,M=S?.Buffer?.isBuffer,K=/^\[object (?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)Array\]$/,z=L&&L.isTypedArray;function N(e){const t=typeof e;return null!=e&&("object"==t||"function"==t)}function H(e){return null!=e&&"object"==typeof e}const V=Array.isArray;function W(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=I}(e.length)&&!J(e)}function Z(e){return H(e)&&W(e)}function J(e){var t=N(e)?P.getTag(e):"";return t===R||t===F||t===U}function Y(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Object.prototype)}function Q(e){return Z(e)&&P.hasOwnProperty.call(e,"callee")&&(!P.propertyIsEnumerable.call(e,"callee")||"[object Arguments]"==P.toString.call(e))}const G="undefined"!=typeof window&&void 0!==window.document,X="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node,ee=z?e=>z(e):e=>H(e)&&K.test(P.getTag(e)),te="function"==typeof M?M:()=>!1;var re={is:function(e,t){return P.getTag(e)===`[object ${t}]`},isNumber:function(e){return"[object Number]"===P.getTag(e)},isString:function(e){return"string"==typeof e||!V(e)&&H(e)&&"[object String]"==P.getTag(e)},isObject:N,isObjectLike:H,isPlainObject:function(e){if(!H(e)||"[object Object]"!=P.getTag(e))return!1;if(null===Object.getPrototypeOf(e))return!0;let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t},isSymbol:function(e){return"symbol"==typeof e||H(e)&&"[object Symbol]"===P.getTag(e)},isFunction:J,isArray:V,isArrayLikeObject:Z,isIndex:function(e,t){return!!(t=null==t?I:t)&&("number"==typeof e||D.test(e))&&e>-1&&e%1==0&&e<t},isArrayLike:W,isPrototype:Y,isArguments:Q,isPromise:function(e){return"[object Promise]"===(N(e)?P.getTag(e):"")},isBrowser:G,isNode:X,isBlobOrBuffer:e=>e instanceof Blob||e instanceof ArrayBuffer,isUint8Array:e=>e instanceof Uint8Array,isArrayBuffer:e=>e instanceof ArrayBuffer,isEmpty:e=>{if(null==e)return!0;if(W(e)&&(Array.isArray(e)||"string"==typeof e||"function"==typeof e.splice||te(e)||ee(e)||Q(e)))return!e.length;const t=P.getTag(e);if("[object Map]"===t||"[object Set]"===t)return!e.size;if(Y(e))return!Object.keys(e).length;for(const t in e)if(P.hasOwnProperty.call(e,t))return!1;return!0},isJSONStr:e=>{try{const t=JSON.parse(e);return"object"==typeof t&&null!==t}catch(e){return!1}}};const ne=NaN,se=/^\s+|\s+$/g,oe=/^[-+]0x[0-9a-f]+$/i,ie=/^0b[01]+$/i,ae=/^0o[0-7]+$/i,ce=parseInt,le=1/0,ue=17976931348623157e292;function fe(e){if("number"==typeof e)return e;if(re.isSymbol(e))return ne;if(re.isObject(e)){const t="function"==typeof e.valueOf?e.valueOf():e;e=re.isObject(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(se,"");const t=ie.test(e);return t||ae.test(e)?ce(e.slice(2),t?2:8):oe.test(e)?ne:+e}function he(e){return e?(e=fe(e))===le||e===-le?(e<0?-1:1)*ue:e==e?e:0:0===e?e:0}var de={toNumber:fe,toFinite:he,toInteger:function(e){var t=he(e),r=t%1;return t==t?r?t-r:t:0}};const pe="Expected a function",ge=Math.max,ye=Math.min;function me(e,t=300,r={}){let n,s,o,i,a,c,l=0,u=!1,f=!1,h=!0;if("function"!=typeof e)throw new TypeError(pe);function d(t){const r=n,o=s;return n=s=void 0,l=t,i=e.apply(o,r),i}function p(e){const r=e-c;return void 0===c||r>=t||r<0||f&&e-l>=o}function g(){const e=Date.now();if(p(e))return y(e);a=setTimeout(g,function(e){const r=t-(e-c);return f?ye(r,o-(e-l)):r}(e))}function y(e){return a=void 0,h&&n?d(e):(n=s=void 0,i)}function m(...e){const r=Date.now(),o=p(r);if(n=e,s=this,c=r,o){if(void 0===a)return function(e){return l=e,a=setTimeout(g,t),u?d(e):i}(c);if(f)return a=setTimeout(g,t),d(c)}return void 0===a&&(a=setTimeout(g,t)),i}return t=de.toNumber(t)||0,re.isObject(r)&&(u=!!r.leading,f="maxWait"in r,o=f?ge(de.toNumber(r.maxWait)||0,t):o,h="trailing"in r?!!r.trailing:h),m.cancel=function(){void 0!==a&&clearTimeout(a),l=0,n=c=s=a=void 0},m.flush=function(){return void 0===a?i:y(Date.now())},m.pending=function(){return void 0!==a},m}class be{__list=[];constructor(e){this.push(e)}push(e){return e&&this.__list.push(e),this}clear(){return this.__list=[],this}_exec(e,t){let r;if(re.isFunction(e))r=e(t);else{if(re.isPromise(e))return e.then((e=>({...t,...e})));r=e}return re.isPromise(r)?r:Promise.resolve({...r,...t})}run(e){try{return this.__list.reduce(((e,t)=>e.then((e=>this._exec(t,e)))),Promise.resolve(e)).then((e=>[void 0,e])).catch((e=>[e,void 0]))}catch(e){return Promise.reject([e,void 0])}}}async function we(e,t,r){return e.then((e=>(r&&r(),[null,e]))).catch((e=>(t&&Object.assign(e,t),r&&r(),[e,void 0])))}const _e=(e,t)=>{try{let r;return r=re.isFunction(e)?e():e,we(Promise.resolve(r),void 0,t)}catch(e){return t&&t(),Promise.resolve([e,void 0])}},ve=e=>"string"==typeof(e="function"==typeof e?e():e)?new Error(e):e,xe=e=>"function"==typeof e?e():e;var Ae={to:we,go:(e,t)=>_e(e,t),delay:(e=1e3)=>new Promise((t=>setTimeout(t,e))),safeRun:_e,toError:ve,timeout:(e,t=0,r="timeout")=>{if(t<=0)return _e(e);let n;function s(){n&&clearTimeout(n)}const o=new Promise((e=>{s(),n=setTimeout((()=>e([ve(r||"timeout"),void 0])),t)}));return Promise.race([_e(e,s),o])},getValueIf:(e,t,r)=>{const n="function"==typeof e?e():e;return xe(n?t:r)},resolveValue:xe,runAsync:async e=>{const[t,r]=await _e(e);if(!t)return r}};class Se{__value=void 0;set(e){this.__value=e}get(){return this.__value}}var ke={singleton:function(){class e{static __instance__;constructor(){}static get Instance(){return e.__instance__||(e.__instance__=new this),e.__instance__}static get I(){return this.Instance}}return e},getset:function(e){const t=new Se;return void 0!==e&&t.set(e),t}};class je{_func;_callback;constructor(e,t){this._func=e,this._callback=t}async run(){return Ae.safeRun(this._func).then((e=>{try{this._callback&&this._callback(e)}catch(e){console.log("[ddan] task",e)}finally{return e}}))}}class Oe{__list=[];__count=0;__max=1;constructor(e=1){this.__count=0,this.__max=e>0?e:1,this.clear()}push(e,t){const r=new je(e,t);return this.__list.push(r),this._step(),this}clear(){return this.__list=[],this.__count=0,this}_step(){if(this.__list.length<=0)return;if(this.__count>=this.__max)return;const e=this.__list.shift();e?(this.__count+=1,e?.run().finally((()=>{try{this.__count>0&&(this.__count-=1),this._step()}catch(e){console.error("[ddan] pipepine step finally",e)}}))):this._step()}async whenAll(){for(;;){if(this.__count<=0)break;await Ae.delay(100),this._step()}return this.clear()}}class $e extends(ke.singleton()){__lockedMap=new Map;pipeline=new Oe;constructor(){super()}lock(e,t){if(!e||!t)return;const r=Ae.safeRun(t);return this.__lockedMap.set(e,r),r}unlock(e){e&&this.__lockedMap.has(e)&&this.__lockedMap.delete(e)}async exec(e,t){if(!e||!t)return Ae.safeRun(e);const r=this.__lockedMap.get(t);if(r)return r;const n=this.lock(t,e);if(!n)return Ae.safeRun(e);const s=await n;return this.unlock(t),s}}var Ce={toUtf8:e=>{if(!e)return"";const t=e.replace(/\r\n/g,"\n");let r="";for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);n<128?r+=String.fromCharCode(n):n>127&&n<2048?(r+=String.fromCharCode(n>>6|192),r+=String.fromCharCode(63&n|128)):(r+=String.fromCharCode(n>>12|224),r+=String.fromCharCode(n>>6&63|128),r+=String.fromCharCode(63&n|128))}return r},fromUtf8:e=>{let t="",r=0;if(!e)return"";let n=0,s=0,o=0;for(;r<e.length;)n=e.charCodeAt(r),n<128?(t+=String.fromCharCode(n),r++):n>191&&n<224?(s=e.charCodeAt(r+1),t+=String.fromCharCode((31&n)<<6|63&s),r+=2):(s=e.charCodeAt(r+1),o=e.charCodeAt(r+2),t+=String.fromCharCode((15&n)<<12|(63&s)<<6|63&o),r+=3);return t},toUtf8Bytes:e=>{if(!e)return new Uint8Array;const t=e.replace(/\r\n/g,"\n"),r=[];for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);n<128?r.push(n):n<2048?(r.push(n>>6|192),r.push(63&n|128)):(r.push(n>>12|224),r.push(n>>6&63|128),r.push(63&n|128))}return new Uint8Array(r)},fromUtf8Bytes:e=>{let t="",r=0;if(!e||e.length<=0)return"";for(;r<e.length;){let n=e[r];if(n<128)t+=String.fromCharCode(n),r++;else if(n>191&&n<224){const s=e[r+1];t+=String.fromCharCode((31&n)<<6|63&s),r+=2}else{const s=e[r+1],o=e[r+2];t+=String.fromCharCode((15&n)<<12|(63&s)<<6|63&o),r+=3}}return t}};const Ee="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var Pe={toBase64:(e="")=>{let t,r,n,s,o,i,a,c="",l=0;for(e=Ce.toUtf8(e);l<e.length;)t=e.charCodeAt(l++),r=e.charCodeAt(l++),n=e.charCodeAt(l++),s=t>>2,o=(3&t)<<4|r>>4,i=(15&r)<<2|n>>6,a=63&n,isNaN(r)?i=a=64:isNaN(n)&&(a=64),c=c+Ee.charAt(s)+Ee.charAt(o)+Ee.charAt(i)+Ee.charAt(a);return c},fromBase64:(e="")=>{let t,r,n,s,o,i,a,c="",l=0;for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");l<e.length;)s=Ee.indexOf(e.charAt(l++)),o=Ee.indexOf(e.charAt(l++)),i=Ee.indexOf(e.charAt(l++)),a=Ee.indexOf(e.charAt(l++)),t=s<<2|o>>4,r=(15&o)<<4|i>>2,n=(3&i)<<6|a,c+=String.fromCharCode(t),64!=i&&(c+=String.fromCharCode(r)),64!=a&&(c+=String.fromCharCode(n));return c=Ce.fromUtf8(c),c},bytesToBase64:e=>{let t,r,n,s,o,i,a,c="",l=0;if(!e||!re.isArrayLike(e)||!re.isUint8Array(e))return"";for(;l<e.length;)t=e[l++],r=e[l++],n=e[l++],s=t>>2,o=(3&t)<<4|r>>4,i=(15&r)<<2|n>>6,a=63&n,isNaN(r)?i=a=64:isNaN(n)&&(a=64),c=c+Ee.charAt(s)+Ee.charAt(o)+Ee.charAt(i)+Ee.charAt(a);return c},base64ToBytes:(e="")=>{let t,r,n,s,o,i,a,c=[],l=0;for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");l<e.length;)s=Ee.indexOf(e.charAt(l++)),o=Ee.indexOf(e.charAt(l++)),i=Ee.indexOf(e.charAt(l++)),a=Ee.indexOf(e.charAt(l++)),t=s<<2|o>>4,r=(15&o)<<4|i>>2,n=(3&i)<<6|a,c.push(t),64!=i&&c.push(r),64!=a&&c.push(n);return new Uint8Array(c)}};function Te(e){return Math.floor(Math.random()*e)}function qe(e,t=10){return+parseFloat(Number(e).toExponential(t))}const Be=180/Math.PI;var Le={random:Te,randomRange:function(e,t){return Math.floor(Math.random()*(t-e+1)+e)},lerp:function(e,t,r){return e*(1-r)+t*r},randoms:function(e,t=1,r=!1){const n=[];for(;;){if(n.length>=t)break;if(!r&&n.length>=e)break;const s=Te(e);r?n.push(s):n.includes(s)||n.push(s)}return n},strip:qe,float:function(e,{digits:t=2,fixed:r=!1}={}){const n=qe(e).toFixed(t);return r||!t?+n:+n.replace(/(\.[1-9]?)0+$/,"$1").replace(/\.$/,"")},radian2degree:function(e){return e*Be},degree2radian:function(e){return e/Be},calcDataSize:function(e){const t={gb:0,mb:0,kb:0,b:0,total:e,desc:""},r=[{name:"gb",divisor:1<<30},{name:"mb",divisor:1<<20},{name:"kb",divisor:1024},{name:"b",divisor:1}];for(const n of r){const r=Math.floor(e/n.divisor);t[n.name]=r,e-=r*n.divisor}return t.gb>0?t.desc=(t.gb+t.mb/1024).toFixed(2)+"GB":t.mb>0?t.desc=(t.mb+t.kb/1024).toFixed(2)+"MB":t.kb>0?t.desc=(t.kb+t.b/1024).toFixed(2)+"KB":t.desc=t.b+"B",t}};var Re={bytes2str:e=>{if(!e||!re.isArrayLike(e))return"";return e.reduce(((e,t)=>e+String.fromCharCode(t)),"")},str2bytes:(e="")=>{const t=e,r=new Uint8Array(t.length);for(let e=0,n=t.length;e<n;e++)r[e]=t.charCodeAt(e);return r},str2hex:e=>{let t="";for(let r=0;r<e.length;r++)t+=e.charCodeAt(r).toString(16).padStart(2,"0");return t},hex2str:e=>{let t="";for(let r=0;r<e.length;r+=2)t+=String.fromCharCode(parseInt(e.substr(r,2),16));return t},concatBytes:(...e)=>{const t=e.reduce(((e,t)=>e+t.length),0),r=new Uint8Array(t);let n=0;for(const t of e)r.set(t,n),n+=t.length;return r},uint32ToBytes:e=>{const t=new Uint8Array(8);return t[0]=e[0]>>>24&255,t[1]=e[0]>>>16&255,t[2]=e[0]>>>8&255,t[3]=255&e[0],t[4]=e[1]>>>24&255,t[5]=e[1]>>>16&255,t[6]=e[1]>>>8&255,t[7]=255&e[1],t},bytesToUint32:e=>{const t=new Uint32Array(2);return t[0]=e[0]<<24|e[1]<<16|e[2]<<8|e[3],t[1]=e[4]<<24|e[5]<<16|e[6]<<8|e[7],t},hex2bytes:e=>{let t=new Uint8Array(e.length/2);for(let r=0;r<t.length;r++)t[r]=parseInt(e.substr(2*r,2),16);return t},bytes2hex:e=>Array.from(e).map((e=>e.toString(16).padStart(2,"0"))).join(""),toUint32:e=>{const t=Math.ceil(e.length/4),r=new Uint32Array(t);for(let n=0;n<t;n++)r[n]=e.charCodeAt(4*n)<<24|e.charCodeAt(4*n+1)<<16|e.charCodeAt(4*n+2)<<8|e.charCodeAt(4*n+3);return r},fromUint32:e=>{let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]>>>24&255,e[r]>>>16&255,e[r]>>>8&255,255&e[r]);return t.replace(/\0+$/,"")},flatten:function e(t,r=!1,n=[]){for(let s=0;s<t.length;s+=1){const o=t[s];r&&Array.isArray(o)?e(o,r,n):n.push(o)}return n}};var Fe={pkcs7Padding:(e,t)=>{const r=t-e.length%t,n=new Uint8Array(r).fill(r);return Re.concatBytes(e,n)},pkcs7Unpadding:e=>{const t=e[e.length-1];return e.slice(0,-t)}};function Ue(e,t){return e<<t|e>>>32-t}function Ie(e,t){let r,n,s,o,i;return s=2147483648&e,o=2147483648&t,r=1073741824&e,n=1073741824&t,i=(1073741823&e)+(1073741823&t),r&n?2147483648^i^s^o:r|n?1073741824&i?3221225472^i^s^o:1073741824^i^s^o:i^s^o}function De(e,t,r,n,s,o,i){return e=Ie(e,Ie(Ie(function(e,t,r){return e&t|~e&r}(t,r,n),s),i)),Ie(Ue(e,o),t)}function Me(e,t,r,n,s,o,i){return e=Ie(e,Ie(Ie(function(e,t,r){return e&r|t&~r}(t,r,n),s),i)),Ie(Ue(e,o),t)}function Ke(e,t,r,n,s,o,i){return e=Ie(e,Ie(Ie(function(e,t,r){return e^t^r}(t,r,n),s),i)),Ie(Ue(e,o),t)}function ze(e,t,r,n,s,o,i){return e=Ie(e,Ie(Ie(function(e,t,r){return t^(e|~r)}(t,r,n),s),i)),Ie(Ue(e,o),t)}function Ne(e){let t,r,n="",s="";for(r=0;r<=3;r++)t=e>>>8*r&255,s="0"+t.toString(16),n+=s.substr(s.length-2,2);return n}function He(e){let t,r,n,s,o,i,a,c,l,u=[];for(u=function(e){let t;const r=e.length,n=r+8,s=16*((n-n%64)/64+1),o=Array(s-1).fill(0);let i=0,a=0;for(;a<r;)t=(a-a%4)/4,i=a%4*8,o[t]=o[t]|e[a]<<i,a++;return t=(a-a%4)/4,i=a%4*8,o[t]=o[t]|128<<i,o[s-2]=r<<3,o[s-1]=r>>>29,o}(e),i=1732584193,a=4023233417,c=2562383102,l=271733878,t=0;t<u.length;t+=16)r=i,n=a,s=c,o=l,i=De(i,a,c,l,u[t+0],7,3614090360),l=De(l,i,a,c,u[t+1],12,3905402710),c=De(c,l,i,a,u[t+2],17,606105819),a=De(a,c,l,i,u[t+3],22,3250441966),i=De(i,a,c,l,u[t+4],7,4118548399),l=De(l,i,a,c,u[t+5],12,1200080426),c=De(c,l,i,a,u[t+6],17,2821735955),a=De(a,c,l,i,u[t+7],22,4249261313),i=De(i,a,c,l,u[t+8],7,1770035416),l=De(l,i,a,c,u[t+9],12,2336552879),c=De(c,l,i,a,u[t+10],17,4294925233),a=De(a,c,l,i,u[t+11],22,2304563134),i=De(i,a,c,l,u[t+12],7,1804603682),l=De(l,i,a,c,u[t+13],12,4254626195),c=De(c,l,i,a,u[t+14],17,2792965006),a=De(a,c,l,i,u[t+15],22,1236535329),i=Me(i,a,c,l,u[t+1],5,4129170786),l=Me(l,i,a,c,u[t+6],9,3225465664),c=Me(c,l,i,a,u[t+11],14,643717713),a=Me(a,c,l,i,u[t+0],20,3921069994),i=Me(i,a,c,l,u[t+5],5,3593408605),l=Me(l,i,a,c,u[t+10],9,38016083),c=Me(c,l,i,a,u[t+15],14,3634488961),a=Me(a,c,l,i,u[t+4],20,3889429448),i=Me(i,a,c,l,u[t+9],5,568446438),l=Me(l,i,a,c,u[t+14],9,3275163606),c=Me(c,l,i,a,u[t+3],14,4107603335),a=Me(a,c,l,i,u[t+8],20,1163531501),i=Me(i,a,c,l,u[t+13],5,2850285829),l=Me(l,i,a,c,u[t+2],9,4243563512),c=Me(c,l,i,a,u[t+7],14,1735328473),a=Me(a,c,l,i,u[t+12],20,2368359562),i=Ke(i,a,c,l,u[t+5],4,4294588738),l=Ke(l,i,a,c,u[t+8],11,2272392833),c=Ke(c,l,i,a,u[t+11],16,1839030562),a=Ke(a,c,l,i,u[t+14],23,4259657740),i=Ke(i,a,c,l,u[t+1],4,2763975236),l=Ke(l,i,a,c,u[t+4],11,1272893353),c=Ke(c,l,i,a,u[t+7],16,4139469664),a=Ke(a,c,l,i,u[t+10],23,3200236656),i=Ke(i,a,c,l,u[t+13],4,681279174),l=Ke(l,i,a,c,u[t+0],11,3936430074),c=Ke(c,l,i,a,u[t+3],16,3572445317),a=Ke(a,c,l,i,u[t+6],23,76029189),i=Ke(i,a,c,l,u[t+9],4,3654602809),l=Ke(l,i,a,c,u[t+12],11,3873151461),c=Ke(c,l,i,a,u[t+15],16,530742520),a=Ke(a,c,l,i,u[t+2],23,3299628645),i=ze(i,a,c,l,u[t+0],6,4096336452),l=ze(l,i,a,c,u[t+7],10,1126891415),c=ze(c,l,i,a,u[t+14],15,2878612391),a=ze(a,c,l,i,u[t+5],21,4237533241),i=ze(i,a,c,l,u[t+12],6,1700485571),l=ze(l,i,a,c,u[t+3],10,2399980690),c=ze(c,l,i,a,u[t+10],15,4293915773),a=ze(a,c,l,i,u[t+1],21,2240044497),i=ze(i,a,c,l,u[t+8],6,1873313359),l=ze(l,i,a,c,u[t+15],10,4264355552),c=ze(c,l,i,a,u[t+6],15,2734768916),a=ze(a,c,l,i,u[t+13],21,1309151649),i=ze(i,a,c,l,u[t+4],6,4149444226),l=ze(l,i,a,c,u[t+11],10,3174756917),c=ze(c,l,i,a,u[t+2],15,718787259),a=ze(a,c,l,i,u[t+9],21,3951481745),i=Ie(i,r),a=Ie(a,n),c=Ie(c,s),l=Ie(l,o);return Ne(i)+Ne(a)+Ne(c)+Ne(l)}const Ve=e=>{if("string"!=typeof e&&!(e instanceof Uint8Array))return"";return He("string"==typeof e?Ce.toUtf8Bytes(e):e)};var We={md5:Ve,md5Base64:e=>{const t=Ve(e);if(!t)return"";const r=Re.hex2bytes(t);return Pe.bytesToBase64(r)}};const Ze=(e,t=!1)=>{const r=new Uint8Array(e);return t?Pe.bytesToBase64(r):r.reduce(((e,t)=>e+String.fromCharCode(t)),"")};var Je={...Re,...Fe,...Ce,...Pe,...We,str2ab:(e="",t=!1)=>{if(t)return Pe.base64ToBytes(e).buffer;{const t=new ArrayBuffer(e.length),r=new Uint8Array(t);for(let t=0,n=e.length;t<n;t++)r[t]=e.charCodeAt(t);return t}},ab2str:Ze,utf8ToBase64:e=>re.isBrowser?btoa(e):Buffer.from(e,"utf-8").toString("base64"),base64ToUtf8:e=>re.isBrowser?atob(e):Buffer.from(e,"base64").toString("utf-8"),getRandomBytes:e=>{const t=new Uint8Array(e);for(let r=0;r<e;r++)t[r]=Le.random(256);return t},textEncode:e=>Ce.toUtf8Bytes(e),textDecode:e=>Ce.fromUtf8Bytes(new Uint8Array(e)),toDataUrl:(e,t="text/plain")=>e?"string"==typeof e?`data:${t};base64,`+Pe.toBase64(e):re.isArrayBuffer(e)?`data:${t};base64,`+Ze(e,!0):"":""};const Ye=e=>{try{const t=Je.ab2str(e,!0);return t.match(/.{1,64}/g)?.join("\n")||""}catch(e){return""}},Qe=(e="",t="PUBLIC KEY")=>`-----BEGIN ${t}-----\n${e}\n-----END ${t}-----`;var Ge={RSAPublicKey:"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApiLWsPmoaiGdr02AmPYS\n4/VgxyJNNJSK2VICirXl4P8qAP3b/6GIs7Hwnsmmuj7gledJ0XiZodFjDNgQEZEG\nj4K9KX8NixcrJwnTQV5UebiERdj+64ihwqPVWo9dIOj43ZPJ8f4dritJv5tnQaBb\nb9zTkU3Ofzk1g8RU00Ith6quOGZcU2IWC4OQ+5YiZvzrCBKEvjFwK2OvGq43tI51\nGaZdI9H09jisypqefsMvv6esjEQQOtl+WGlI5fof7KZUt3dppvuDI4CYgeXIoKKL\n9T9qDl8F9aNSs3XHx32YyA7L1FraFD6PjqRjueIFp2emsXQcIMeMqqgVyV+4qb+0\nuwIDAQAB",RSAPrivateKey:"MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCmItaw+ahqIZ2v\nTYCY9hLj9WDHIk00lIrZUgKKteXg/yoA/dv/oYizsfCeyaa6PuCV50nReJmh0WMM\n2BARkQaPgr0pfw2LFysnCdNBXlR5uIRF2P7riKHCo9Vaj10g6Pjdk8nx/h2uK0m/\nm2dBoFtv3NORTc5/OTWDxFTTQi2Hqq44ZlxTYhYLg5D7liJm/OsIEoS+MXArY68a\nrje0jnUZpl0j0fT2OKzKmp5+wy+/p6yMRBA62X5YaUjl+h/splS3d2mm+4MjgJiB\n5cigoov1P2oOXwX1o1KzdcfHfZjIDsvUWtoUPo+OpGO54gWnZ6axdBwgx4yqqBXJ\nX7ipv7S7AgMBAAECggEAE1kuWLkSsJ2OoDpt9iJ+a7cJmNd5V1zPWOTwr9fkWFJP\nQYNPKlPVOFxKUivY84rcHAkuMyuQ9OQOXZISOQGDWpZW0mzeFmtR1r+Rr2S9gNmI\n6huOAL9OW306HUxiA7GuPhv2omy+Zyjac2q1WVLEI2B78Um2+WEfxuNIH7xu0gRR\nz/wluevMBQlv6hSeMESP6e9s2kB+FuM4bL7+1sexwS1TudKbHybujaiB8un9E2V3\nC9BkE6yf00Rhvii6Q4E4w3PFQfcBEFnjOD0S2Watx8GIbYjlYvtquy8Yj7OtyZB6\nw5sxyaYhKVVnkpGAbOgaCj94ABYF47VuwXr45I4PzQKBgQDp6svzD+QKlARjcWgO\nrH7UEpFX6m49G6Ib4c63xEg9+GesTgfDxoYxtXDKsC7I8OwMrmffJGbyfjaAvzmg\nicM3Y7kF6UPO9+q2mBRsyhoJSNONTeUVyoFSc+QDsVgndlTZIjqC5XLrONGaSPLJ\n7jJzqKhp3NQcpO8+xY0d7Efm1QKBgQC10fCNuF1LUTYgsWvvGxTiCCAIBurZmHU+\nGMb2Okfoco/P+QNl1jEba91AC7FudW3g/lRn0vTnDajlNoz2/CKunrTKN4/9lEBI\ntiwEOvhc5FtapRifSfrrNwFqPM+LijvOkcteWVhAUWCEP1eLmpnXGqfmZxnTaaVe\n5DyDgyAVTwKBgQDhEawfOQEANJ9sV2f6BnsZ7quuXcCoR3hZP5G5O8EO735BSesq\nsk/YcG4QeCjr6vQU15LWH552YH5srpHyJ9uP5gHW8DTwZZaPDhFJA8S9fjcfVP3B\nU9HO1fdknjTl83N8YPTPkZpbPZZfzyTcqrYclwFEqtfkn8YbLdW0Hu6n6QKBgDEv\njvS3uD1ExfDILlurptWSvx+Mx4F/1c+roj8/+u3t9+uaAIpPDE/PuTW3NBOens/r\n3WeM0QWkU1lWjYHPKY61jlDaARDnRxCkf3nRfhibCf+Wg/erar6wzagwtTCZf55d\nIHfwkYgsu4BrJkK02wMuydbxczIW9U6bTaeCFG7PAoGAN3oHYzTEBwZ7ZKv11QiQ\nEp/HeHBvD8fH/e1uVyBel4Co7NO5pV2s8qjS8+3+jxumKLNXCirjqwHo03YCdzxi\ncy4GFDsukHmDQ7FF9VC4QV0fJ0F7jGYE9nNZ+K9qwS5KrihOSBPxj0HptrF6TSOw\nBTSwr0byL3TC0m0StkSNKpo=",generateKeys:async e=>{try{const t=await e.generateKey({name:"RSA-OAEP",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:"SHA-256"},!0,["encrypt","decrypt"]),r=await window.crypto.subtle.exportKey("spki",t.publicKey),n=Ye(r),s=Qe(n,"PUBLIC KEY"),o=await window.crypto.subtle.exportKey("pkcs8",t.privateKey),i=Ye(o);return{publicKey:n,publicKeyPem:s,privateKey:i,privateKeyPem:Qe(i,"PRIVATE KEY")}}catch(e){return console.error("generateKeys failed:",e),{publicKey:"",publicKeyPem:"",privateKey:"",privateKeyPem:""}}},format_pem_key:Qe,format_pem_content:Ye,encrypt:async(e,t,r)=>{try{const n=(new TextEncoder).encode(t),s=await e.importKey("spki",Je.str2ab(r,!0),{name:"RSA-OAEP",hash:"SHA-256"},!0,["encrypt"]),o=[];for(let t=0;t<n.length;t+=190){let r=n.slice(t,t+190),i=await e.encrypt({name:"RSA-OAEP"},s,r);o.push(new Uint8Array(i))}const i=Je.concatBytes(...o);return Je.bytesToBase64(i)}catch(e){return console.error("[debug] encrypt",e),""}},decrypt:async(e,t,r)=>{try{const n=Je.base64ToBytes(t),s=await e.importKey("pkcs8",Je.str2ab(r,!0),{name:"RSA-OAEP",hash:"SHA-256"},!0,["decrypt"]),o=[],i=256;for(let t=0;t<n.length;t+=i){let r=n.slice(t,t+i),a=await e.decrypt({name:"RSA-OAEP"},s,r);o.push(new Uint8Array(a))}const a=Je.concatBytes(...o);return(new TextDecoder).decode(a)}catch(e){return console.error("decrypt failed:",e),""}}};const Xe=()=>l.default.webcrypto.subtle;var et={generateKeys:()=>Ge.generateKeys(Xe()),encrypt:async(e,t)=>Ge.encrypt(Xe(),e,t),decrypt:async(e,t)=>Ge.decrypt(Xe(),e,t),encode:async e=>Ge.encrypt(Xe(),e,Ge.RSAPublicKey),decode:async e=>Ge.decrypt(Xe(),e,Ge.RSAPrivateKey)};const tt="undefined"!=typeof window?window.crypto.subtle:{};var rt={generateKeys:()=>Ge.generateKeys(tt),encrypt:async(e,t)=>Ge.encrypt(tt,e,t),decrypt:async(e,t)=>Ge.decrypt(tt,e,t),encode:async e=>Ge.encrypt(tt,e,Ge.RSAPublicKey),decode:async e=>Ge.decrypt(tt,e,Ge.RSAPrivateKey)};const nt=2654435769,st=(e,t)=>{let r=0;for(let n=0;n<32;n++)r=r+nt>>>0,e[0]=e[0]+((e[1]<<4)+t[0]^e[1]+r^(e[1]>>>5)+t[1])>>>0,e[1]=e[1]+((e[0]<<4)+t[2]^e[0]+r^(e[0]>>>5)+t[3])>>>0;return e},ot=(e,t)=>{let r=3337565984;for(let n=0;n<32;n++)e[1]=e[1]-((e[0]<<4)+t[2]^e[0]+r^(e[0]>>>5)+t[3])>>>0,e[0]=e[0]-((e[1]<<4)+t[0]^e[1]+r^(e[1]>>>5)+t[1])>>>0,r=r-nt>>>0;return e},it=e=>{const t=Je.str2bytes(e),r=new Uint32Array(4);return r[0]=t[0]<<24|t[1]<<16|t[2]<<8|t[3],r[1]=t[4]<<24|t[5]<<16|t[6]<<8|t[7],r[2]=t[8]<<24|t[9]<<16|t[10]<<8|t[11],r[3]=t[12]<<24|t[13]<<16|t[14]<<8|t[15],r},at=(e,t)=>{const r=Je.pkcs7Padding(e,8),n=it(t),s=[];for(let e=0;e<r.length;e+=8){const t=Je.bytesToUint32(r.slice(e,e+8)),o=st(t,n);s.push(Je.uint32ToBytes(o))}return Je.concatBytes(...s)},ct=(e,t)=>{const r=it(t),n=[];for(let t=0;t<e.length;t+=8){const s=Je.bytesToUint32(e.slice(t,t+8)),o=ot(s,r);n.push(Je.uint32ToBytes(o))}const s=Je.concatBytes(...n);return Je.pkcs7Unpadding(s)};var lt={TEAKey:"33576f37387276645054657a6831686e454664424e5652456f47794835795942",encrypt:st,decrypt:ot,toTeaKey:it,encode:(e,t)=>{const r=Je.textEncode(e),n=at(r,t);return Je.bytesToBase64(n)},decode:(e,t)=>{const r=Je.base64ToBytes(e),n=ct(r,t);return Je.textDecode(n.buffer)},encodeBytes:at,decodeBytes:ct};function ut(e,t,r){const{length:n}=e;return r=void 0===r?n:r,!t&&r>=n?e:function(e,t,r){let n=null==e?0:e.length;if(!n)return[];(t=null==t?0:t)<0&&(t=-t>n?0:n+t),(r=(r=void 0===r?n:r)>n?n:r)<0&&(r+=n),n=t>r?0:r-t>>>0,t>>>=0;let s=-1;const o=new Array(n);for(;++s<n;)o[s]=e[s+t];return o}(e,t,r)}const ft=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff\\ufe0e\\ufe0f]");function ht(e){return ft.test(e)}const dt="\\ud800-\\udfff",pt=`[${dt}]`,gt="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]",yt="\\ud83c[\\udffb-\\udfff]",mt=`[^${dt}]`,bt="(?:\\ud83c[\\udde6-\\uddff]){2}",wt="[\\ud800-\\udbff][\\udc00-\\udfff]",_t=`${`(?:${gt}|${yt})`}?`,vt="[\\ufe0e\\ufe0f]?",xt=vt+_t+`(?:\\u200d(?:${[mt,bt,wt].join("|")})${vt+_t})*`,At=`(?:${[`${mt}${gt}?`,gt,bt,wt,pt].join("|")})`,St=RegExp(`${yt}(?=${yt})|${At+xt}`,"g");function kt(e){return ht(e)?function(e){return e.match(St)||[]}(e):function(e){return e.split("")}(e)}function jt(e){return t=>{if(!t)return"";const r=ht(t)?kt(t):void 0,n=r?r[0]:t[0],s=r?ut(r,1).join(""):t.slice(1);return n[e]()+s}}const Ot="\\ud800-\\udfff",$t="\\u2700-\\u27bf",Ct="a-z\\xdf-\\xf6\\xf8-\\xff",Et="A-Z\\xc0-\\xd6\\xd8-\\xde",Pt="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Tt="['’]",qt=`[${Pt}]`,Bt=`[${$t}]`,Lt=`[${Ct}]`,Rt=`[^${Ot}${Pt+"\\d"+$t+Ct+Et}]`,Ft="(?:\\ud83c[\\udde6-\\uddff]){2}",Ut="[\\ud800-\\udbff][\\udc00-\\udfff]",It=`[${Et}]`,Dt=`(?:${Lt}|${Rt})`,Mt=`(?:${It}|${Rt})`,Kt=`(?:${Tt}(?:d|ll|m|re|s|t|ve))?`,zt=`(?:${Tt}(?:D|LL|M|RE|S|T|VE))?`,Nt="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]|\\ud83c[\\udffb-\\udfff])?",Ht="[\\ufe0e\\ufe0f]?",Vt=Ht+Nt+`(?:\\u200d(?:${[`[^${Ot}]`,Ft,Ut].join("|")})${Ht+Nt})*`,Wt=`(?:${[Bt,Ft,Ut].join("|")})${Vt}`,Zt=RegExp([`${It}?${Lt}+${Kt}(?=${[qt,It,"$"].join("|")})`,`${Mt}+${zt}(?=${[qt,It+Dt,"$"].join("|")})`,`${It}?${Dt}+${Kt}`,`${It}+${zt}`,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])","\\d+",Wt].join("|"),"g");const Jt=RegExp.prototype.test.bind(/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/),Yt=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function Qt(e,t){if(void 0===t){const t=Jt(e)?function(e){return e.match(Zt)}(e):function(e){return e.match(Yt)}(e);return t||[]}return e.match(t)||[]}function Gt(e){if(null==e)return"";if("string"==typeof e)return e;if(Array.isArray(e))return`${e.map((e=>null==e?e:Gt(e)))}`;if(re.isSymbol(e))return e.toString();const t=`${e}`;return"0"==t&&1/e==-Infinity?"-0":t}const Xt=jt("toUpperCase"),er=jt("toLowerCase");var tr={toString:Gt,startCase:e=>Qt(`${e}`.replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+Xt(t)),""),snakeCase:e=>Qt(Gt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"_":"")+t.toLowerCase()),""),kebabCase:e=>Qt(Gt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"-":"")+t.toLowerCase()),""),camelCase:e=>Qt(Gt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>(t=t.toLowerCase(),e+(r?Xt(t):t))),""),upperCase:e=>Qt(Gt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toUpperCase()),""),upperFirst:Xt,lowerCase:e=>Qt(Gt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toLowerCase()),""),lowerFirst:er,splitOnFirst:(e,t)=>{if("string"!=typeof e||"string"!=typeof t)throw new TypeError("Expected the arguments to be of type `string`");if(""===e||""===t)return[];const r=e.indexOf(t);return-1===r?[]:[e.slice(0,r),e.slice(r+t.length)]},parseValue:(e,{number:t=!1,boolean:r=!1}={})=>{let n=e;return e&&"string"==typeof e?(t&&!Number.isNaN(Number(e))&&"string"==typeof e&&""!==e.trim()?n=Number(e):!r||null===e||"true"!==e.toLowerCase()&&"false"!==e.toLowerCase()||(n="true"===e.toLowerCase()),n):n},replace:(e,t)=>{if(!e)return e;if(!t)return e;let r=e;return((Array.isArray(t)?t:[t])||[]).forEach((e=>{e.key&&e.value&&(r=r.replace(new RegExp(e.key,e.flag||""),e.value))})),r},jsonFormat:e=>{try{if(!e)return"";const t=JSON.parse(e);return JSON.stringify(t,null,2)}catch(t){return e}},toLines:(e,t="\n")=>e?e.split(t).map((e=>e.trim())).filter((e=>!!e)):[]};var rr={logString:e=>{try{const t=JSON.stringify(e);return void 0===t?"":lt.encode(t,Je.hex2str(lt.TEAKey))}catch(e){return""}},logParse:e=>{try{if(!e)return"";const t=lt.decode(e,Je.hex2str(lt.TEAKey));return tr.jsonFormat(t)}catch(e){return""}},logRString:async e=>{try{const t=JSON.stringify(e);if(void 0===t)return"";return re.isBrowser?await rt.encode(t):await et.encode(t)}catch(e){return""}},logRParse:async e=>{try{if(!e)return"";const t=re.isBrowser?await rt.decode(e):await et.decode(e);return tr.jsonFormat(t)}catch(e){return""}}};const nr=(e,t,r)=>e*(1-r)+t*r,sr=(e,t,r)=>e===t?0:(r-e)/(t-e),or=(e,t,r)=>({x:nr(e.x,t.x,r),y:nr(e.y,t.y,r)}),ir=(e,t,r,n)=>{const s=or(e,t,n),o=or(t,r,n);return or(s,o,n)},ar=(e,t)=>{if(1===e.length)return e[0];const r=[];for(let n=0;n<e.length-1;n++)r.push({x:(1-t)*e[n].x+t*e[n+1].x,y:(1-t)*e[n].y+t*e[n+1].y});return ar(r,t)},cr=(e,t)=>{if(0===t||t===e)return 1;let r=1;for(let n=1;n<=t;n++)r=r*(e-n+1)/n;return r};var lr={bezier1:or,bezier2:ir,bezier3:(e,t,r,n,s)=>{const o=ir(e,t,r,s),i=ir(t,r,n,s);return or(o,i,s)},bezier:ar,bezierCurve:(e,t)=>{const r=e.length-1;let n=0,s=0;for(let o=0;o<=r;o++){const i=cr(r,o)*Math.pow(1-t,r-o)*Math.pow(t,o);n+=i*e[o].x,s+=i*e[o].y}return{x:n,y:s}},lerp:nr,lerpAverage:(e,t,r="")=>{if(e.length<=0)return 0;if(1===e.length)return e[0].x;if(2===e.length)return nr(e[0].y,e[1].y,.5);const n=[],s=e.slice().sort(((e,t)=>e.x-t.x)),o=s.length,i=s[0].x,a=s[o-1].x;for(let e=i;e<=a;e+=t){let t=0;for(let n=0;n<o-1;n++){const o=s[n],i=s[n+1];if(e>=o.x&&e<=i.x){if("lerp"===r){const r=sr(o.x,i.x,e);t=or(o,i,r).y}else t=o.y;break}}e>s[o-1].x&&(t=s[o-1].y),n.push(t)}return n.reduce(((e,t)=>e+t),0)/n.length},proportion:sr};var ur={...Ae,...rr,...lr,sleep:Ae.delay,run:async function(e,t=0){if(t<=0)return Ae.safeRun(e);const r=t>0?Date.now():0,n=await Ae.safeRun(e),s=Date.now()-r;return s<t&&await Ae.delay(t-s),n},exec:(e,t="")=>$e.I.exec(e,t),debounce:me,throttle:function(e,t=300,r={}){let n=!0,s=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return re.isObject(r)&&(n=r.leading?!!r.leading:n,s=r.trailing?!!r.trailing:s),me(e,t,{leading:n,maxWait:t,trailing:s})},task:e=>new be(e),mutex:function(e){var t=null;return async function(...r){if((t=this||t||{}).__ddMutex)return!1;t.__ddMutex=!0;try{e&&await Promise.resolve(e.apply(this,r))}catch(e){console.log(e)}finally{t.__ddMutex=!1}}},polling:async function(e={}){const{func:t,interval:r=100,times:n=1e3}=e;let s=n;const o=r<1?100:r;do{if(!t)break;const[e,r]=await Ae.to(Promise.resolve(t()));if(e||!1===r)break;s>0&&s--,0!==s&&await Ae.delay(o)}while(-1===n||s>0)},pipe:(e,t)=>$e.I.pipeline.push(e,t),pipeline:(e=1)=>new Oe(e),safeTask:(e,t)=>new je(e,t)};const fr=e=>{if(!e)return e;if("object"!=typeof e)return e;const t=Array.isArray(e)?[]:{};for(const r in e)e.hasOwnProperty(r)&&(t[r]=fr(e[r]));return t};const hr=(e,t,r={})=>{const n=e||{},{ignoreUndefined:s=!0,cover:o=!1}=r;if(!t)return n;for(const i in t){if(!t.hasOwnProperty(i))continue;const a=t[i];"object"!=typeof a||"object"!=typeof e[i]||o?s&&void 0===a||r.ignoreNull&&null===a||r.ignoreZero&&0===a||r.ignoreEmptyArray&&Array.isArray(a)&&a.length<=0||r.ignoreEmptyString&&"string"==typeof a&&""===a.trim()||(n[i]=a):n[i]=dr(e[i],a,r)}return n},dr=(e,t,r={})=>{let n={};return n=e&&"object"==typeof e&&!Array.isArray(e)?hr(e,t,r):hr({...e},t,r),n},pr=(e,t,r={})=>hr({...e},t,{cover:!0,...r}),gr=(e,t,r,n,s=!1)=>{if(!e||!t||!r)return;let o=e[t];null!==o&&"object"==typeof o&&s&&Object.keys(o).forEach((e=>{gr(o,e,r,n,s)})),Object.defineProperty(e,t,{configurable:!0,enumerable:!0,set:i=>{r.call(n,i,o),o=i,s&&gr(e,t,r,n,s)},get:()=>o})};var yr={copy:(e,t={})=>{if(void 0===e)return;const r=JSON.parse(JSON.stringify(e));if("object"!=typeof r)return r;if(Array.isArray(r))return r;const{fields:n=[],camel:s=!1,pure:o=!0}=t;if((!n||n.length<=0)&&!s)return r;const i={};for(const e in r){if(!r.hasOwnProperty(e))continue;const a=s?o&&e.startsWith("_")?e:tr.camelCase(e):e;if(n.length>0&&!n.includes(e)&&!n.includes(a))continue;const c=r[e];t.ignoreNull&&null===c||(t.ignoreZero&&0===c||t.ignoreEmptyArray&&Array.isArray(c)&&c.length<=0||t.ignoreEmptyString&&"string"==typeof c&&""===c.trim()||(i[a]=c))}return i},clone:fr,merge:dr,isEmpty:e=>0!==e&&(!e||"object"==typeof e&&(Array.isArray(e)?!e.length:Object.keys(e).length<=0)),parseValue:(e,{number:t=!1,boolean:r=!1}={})=>{if(!e&&"object"!=typeof e)return e;for(const[n,s]of Object.entries(e))if("object"==typeof s&&null!==s)for(const[e,n]of Object.entries(s))s[e]=tr.parseValue(n,{number:t,boolean:r});else e[n]=tr.parseValue(s,{number:t,boolean:r});return e},cloneClass:function(e){return e?"object"!=typeof e?e:Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e)):e},combine:pr,combines:(e,t={})=>{let r={};if(!e||e.length<=0)return r;const{ignoreUndefined:n=!0,ignoreNull:s=!0,ignoreZero:o=!0,ignoreEmptyArray:i=!0,ignoreEmptyString:a=!0,cover:c=!0}=t;return e.forEach((e=>r=pr(r,e,{ignoreUndefined:n,ignoreNull:s,ignoreZero:o,ignoreEmptyArray:i,ignoreEmptyString:a,cover:c}))),r},observe:gr,find:(e,t)=>{if(e&&"object"==typeof e)return Object.entries(e||{}).find((([e,r])=>!(!t||!t(e,r))))}};const mr=function(e,{sep:t="&",eq:r="=",max:n=1e3,multiple:s=!0,uri:o=!0,parseNumber:i=!1,parseBoolean:a=!1}={}){t=t||"&",r=r||"=";const c={};if("string"!=typeof e||0===e.length)return c;const l=/\+/g,u=n||1e3;let f=(e=e.split(t)).length;u>0&&f>u&&(f=u);for(let t=0;t<f;++t){let n,i,a,u,f=e[t].replace(l,"%20"),h=f.indexOf(r);h>=0?(n=f.substr(0,h),i=f.substr(h+1)):(n=f,i=""),a=o?decodeURIComponent(n):n,u=o?decodeURIComponent(i):i,P.hasOwnProperty.call(c,a)&&s?Array.isArray(c[a])?c[a].push(u):c[a]=[c[a],u]:c[a]=u}return yr.parseValue(c,{number:i,boolean:a}),c},br=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}},wr=function(e,t=!0){return t?encodeURIComponent(e):e},_r=function(e,{cleanZero:t=!1,cleanNull:r=!1,cleanWhitespace:n=!1}={}){return!(!t||0!==e)||(!(!r||null!=e)||!(!n||"string"!=typeof e||""!==e.trim()))},vr=/^(https?):\/\/([\w.\_\-]+)(?::(\d+))?/,xr=e=>{const t=(e||"").replace(/\\/g,"/").split("?")[0],r=t.match(/[\/]?([\w\_\-]+)[.]?[\w]*[?]?$/),n=r?r[1]:"",s=t.lastIndexOf("/")+1,o=t.substring(s),i=o.lastIndexOf("."),a=o.substring(0,i)||"",c=i>=0?o.substring(i):"";return{route:t.substring(0,s)||"",page:n,name:o,withoutExtension:a,extname:c}},Ar=e=>{const t={href:e,url:"",origin:"",protocol:"",host:"",port:"",query:""};if(!e)return t;const r=e.match(vr);if(!r||r.length<4)return t;const n=r[3]||"",s=e.split("?");return t.url=s[0],t.origin=r[0],t.protocol=`${r[1]}:`,t.host=`${r[2]}${n?":"+n:""}`,t.port=n,t.query=s.length>1?s[1]:"",t},Sr=(e,t)=>{if(e===t)return!0;if(!e)return!1;if(!t)return!1;if("*"===t)return!0;const r=t.replace(/\./g,"\\.").replace(/\*/g,".*").replace(/\?/g,".");return new RegExp("^"+r+"$").test(e)};var kr={parse:mr,stringify:function(e,{sep:t="&",eq:r="=",name:n=null,uri:s=!0,cleanZero:o=!1,cleanNull:i=!1,cleanWhitespace:a=!1}={}){return t=t||"&",r=r||"=",null===e&&(e=void 0),"object"==typeof e?Object.keys(e).map((function(n){const c=wr(br(n),s)+r,l=e[n];return Array.isArray(l)?l.map((function(e){return c+wr(br(e),s)})).join(t):_r(l,{cleanZero:o,cleanNull:i,cleanWhitespace:a})?"":c+wr(br(l),s)})).filter(Boolean).join(t):n?wr(br(n),s)+r+wr(br(e),s):""},https:e=>e?e.replace(/^http[s]?/,"https"):e,parseUrl:e=>{const t=Ar(e),{origin:r="",url:n="",query:s=""}=t,o=xr(n),i=mr(s,{multiple:!0,uri:!1});return{...t,...o,pathname:n.substring(n.indexOf(r||"")+r.length),params:i}},parsePath:xr,parseHost:Ar,join:(...e)=>{const t=[];let r=!1;return e.forEach((e=>{const n=e.trim();if(""===n)return;if(/^(\w+):\/\//.test(n))return t.length=0,t.push(n),void(r=!0);n.split("/").forEach((e=>{"."!==e&&""!==e&&(".."===e?t.length>0&&".."!==t[t.length-1]?t.pop():r||t.push(".."):t.push(e))}))})),t.join("/")},shExpMatch:Sr,isLocalIPAddress:e=>!!e&&!!(Sr(e,"127.0.0.1")||Sr(e,"localhost")||Sr(e,"192.168.*.*")),parseFileUrl:e=>{const t={href:e,file:"",url:"",protocol:"",host:"",query:"",params:{}};if(!e)return t;let r=e?e.replace(/\\/g,"/"):"";r.startsWith("file://")&&!r.startsWith("file:///")?r="file:///"+r.slice(7):r.startsWith("file:/")&&!r.startsWith("file:///")&&(r="file:///"+r.slice(6));const n=r.match(/^file:\/\/(?:([^\/\\]+))?(\/.*)?$/);if(!n||n.length<3)return t;t.protocol="file:";const s=n[1]||"",o=n[2]||"";t.host=s;const i=o.split("?");return t.url=t.protocol+`//${t.host}`+i[0],t.file=i[0],t.query=i.length>1?i[1]:"",t.params=mr(t.query,{multiple:!0,uri:!1}),t},isPrivateIP:e=>!!e&&!!(Sr(e,"localhost")||Sr(e,"127.0.0.1")||Sr(e,"127.*")||Sr(e,"10.*")||Sr(e,"172.16.*")||Sr(e,"172.17.*")||Sr(e,"172.18.*")||Sr(e,"172.19.*")||Sr(e,"172.2?.*")||Sr(e,"172.3[0-1].*")||Sr(e,"192.168.*")),isIP:e=>{const t=(e||"").trim();return/^(\d+).(\d+).(\d+).(\d+)$/.test(t)}};class jr{_loopTimer;_event=new w;started=!1;interval=0;constructor(e=0){this.interval=e||500}start(){return this.started||(this.stop(),this._loopTimer=setInterval((()=>{this._handleLoop()}),this.interval),this.started=!0),this}stop(){return this._loopTimer?(clearInterval(this._loopTimer),this._loopTimer=0,this.started=!1,this):this}restart(){return this.stop(),this.start(),this}on(e){return this._event.on("frame",e),this}off(e){return e?(this._event.off("frame",e),this):this}_handleLoop(){this._event.emit("frame")}}var Or={oneDay:864e5,oneHour:36e5,oneMinute:6e4,oneSecond:1e3};class $r{date;timestamp=0;yyyy=0;yy="";M=0;MM="";d=0;dd="";h=0;hh="";m=0;mm="";s=0;ss="";S=0;SS="";SSS="";constructor(e){if(!e)return;const t="string"==typeof e||"number"==typeof e?new Date(e):e;t&&(this.date=t,this.timestamp=t.getTime(),this.toDate())}toDate(){return this.date?(this.yyyy=this.date.getFullYear(),this.yy=`${this.yyyy}`.substr(2),this.M=this.date.getMonth()+1,this.MM=(this.M<10?"0":"")+this.M,this.d=this.date.getDate(),this.dd=(this.d<10?"0":"")+this.d,this.h=this.date.getHours(),this.hh=(this.h<10?"0":"")+this.h,this.m=this.date.getMinutes(),this.mm=(this.m<10?"0":"")+this.m,this.s=this.date.getSeconds(),this.ss=(this.s<10?"0":"")+this.s,this.S=this.date.getMilliseconds(),this.SS=(this.S<10?"0":"")+this.S,this.SSS=this.S.toString().padStart(3,"0"),this):this}toCountdown(e=""){const t={countdown:0,timestamp:0,seconds:0,d:0,dd:"",h:0,hh:"",m:0,mm:"",s:0,ss:"",S:0,SS:"",SSS:"",desc:""};if(!this.timestamp)return t;t.timestamp=this.timestamp,t.countdown=Math.max(t.timestamp-Date.now(),0),t.seconds=Math.floor(t.countdown/Or.oneSecond);let r=t.countdown;t.d=Math.floor(r/Or.oneDay),t.dd=(t.d<10?"0":"")+t.d,r%=Or.oneDay,t.h=Math.floor(r/Or.oneHour),t.hh=(t.h<10?"0":"")+t.h,r%=Or.oneHour,t.m=Math.floor(r/Or.oneMinute),t.mm=(t.m<10?"0":"")+t.m,r%=Or.oneMinute,t.s=Math.floor(r/Or.oneSecond),t.ss=(t.s<10?"0":"")+t.s,r%=Or.oneSecond,t.S=r,t.SS=(t.S<10?"0":"")+t.S,t.SSS=t.S.toString().padStart(3,"0");let n=e;return n||(n=t.countdown>Or.oneHour?"hh:mm:ss":t.countdown>Or.oneMinute?"mm:ss":"ss"),t.desc=n.replace(/\bdd|d|hh|h|mm|m|ss|s|SSS|SS|S\b/g,(e=>t[e])),t}add(e=0){return e?(this.timestamp=this.timestamp+e,this.date=new Date(this.timestamp),this.toDate(),this):this}format(e="yyyy-MM-dd hh:mm:ss"){return e.replace(/\byyyy|yy|MM|M|dd|d|hh|h|mm|m|ss|s|SSS|SS|S\b/g,(e=>this[e]))}static get timezoneOffset(){return(new Date).getTimezoneOffset()/60}static getLocalTime(e=0){const t=new Date,r=t.getTime(),n=6e4*t.getTimezoneOffset();return new Date(r+n+36e5*e)}}const Cr=(e,t="yyyy-MM-dd hh:mm:ss")=>{const r="string"==typeof e||"number"==typeof e?Tr(e):e;return r?Er(r).format(t):""},Er=e=>{const t="string"==typeof e||"number"==typeof e?Tr(e):e;return new $r(t||0)};function Pr({year:e=0,month:t=0,date:r=0,hour:n=0,minute:s=0,second:o=0}){const i=`${e||"yyyy"}/${t||"MM"}/${r||"dd"} ${n}:${s}:${o}`;return new Date(Cr(Date.now(),i)).getTime()}function Tr(e){if(!e)return;let t;return"string"==typeof e?t=new Date(e):"number"==typeof e&&(t=10==e.toString().length?new Date(1e3*e):new Date(e)),t}var qr={...Or,now:function(){return Er(new Date)},isToday:e=>e&&(new Date).toDateString()===new Date(e).toDateString(),parseTimestamp:Pr,todayZero:()=>Pr({}),format:Cr,countdown:(e,t="")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;if(!r)return"";return Er(r).toCountdown(t)},dtime:Er,loopFrame:(e=500)=>new jr(e),getTimezoneOffset:()=>$r.timezoneOffset,getLocalTime:$r.getLocalTime,toDate:Tr};const Br=e=>Pe.toBase64(e);var Lr={encode:Br,decode:e=>Pe.fromBase64(e),encodeByOss:e=>Br(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")};var Rr={...m,base64:Lr,tea:lt,uuid:b,guid:(e,t=!1,r="")=>{const n=b(e||32);return t?qr.now().format("yyyyMMddhhmmss")+r+n:n},getHexString:e=>{const t=m.keyChars;let r="";const n=t.length;for(let s=0;s<e;s++)r+=t.charAt(Math.floor(Math.random()*n));return r}};const Fr=(e,t,r=8)=>{if(e===t)return!0;if(null==e||null==t||"object"!=typeof e||"object"!=typeof t)return!1;if(r<=0)return!1;if(Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;const n=Object.prototype.toString.call(e);if(n!==Object.prototype.toString.call(t))return!1;switch(n){case"[object Array]":return Ur(e,t,r);case"[object Map]":return Ir(e,t,r);case"[object Set]":return Dr(e,t,r);case"[object Object]":return Mr(e,t,r);default:return Kr(e,t,n)}},Ur=(e,t,r=1/0)=>{if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!Fr(e[n],t[n],r-1))return!1;return!0},Ir=(e,t,r=1/0)=>{if(e.size!==t.size)return!1;for(const[n,s]of e)if(!t.has(n)||!Fr(s,t.get(n),r-1))return!1;return!0},Dr=(e,t,r=1/0)=>{if(e.size!==t.size)return!1;for(const n of e)if(![...t].some((e=>Fr(n,e,r-1))))return!1;return!0},Mr=(e,t,r=1/0)=>{const n=Object.keys(e),s=Object.keys(t);if(n.length!==s.length)return!1;for(const o of n)if(!s.includes(o)||!Fr(e[o],t[o],r-1))return!1;const o=Object.getOwnPropertySymbols(e),i=Object.getOwnPropertySymbols(t);if(o.length!==i.length)return!1;for(const n of o)if(!i.includes(n)||!Fr(Reflect.get(e,n),Reflect.get(t,n),r-1))return!1;return!0},Kr=(e,t,r)=>{switch(r){case"[object RegExp]":return String(e)===String(t);case"[object Date]":return e.getTime()===t.getTime();case"[object ArrayBuffer]":return zr(e,t);default:return e===t}},zr=(e,t)=>{if(e.byteLength!==t.byteLength)return!1;const r=new Uint8Array(e),n=new Uint8Array(t);for(let e=0;e<r.length;e++)if(r[e]!==n[e])return!1;return!0};var Nr={isEqual:Fr,isEqualArray:Ur,isEqualObject:Mr,isEqualValue:Kr,isEqualAB:zr,isEqualDeep:(e,t)=>Fr(e,t,1/0)};const Hr=(e,t=new WeakMap)=>{if(null===e||"object"!=typeof e)return e;if(t.has(e))return t.get(e);let r;if(Array.isArray(e)){r=[],t.set(e,r);for(const n of e)r.push(Hr(n,t))}else if(e instanceof Date)r=new Date(e);else if(e instanceof RegExp)r=new RegExp(e.source,e.flags);else if(e instanceof Map){r=new Map,t.set(e,r);for(const[n,s]of e.entries())r.set(Hr(n,t),Hr(s,t))}else if(e instanceof Set){r=new Set,t.set(e,r);for(const n of e.values())r.add(Hr(n,t))}else if("object"==typeof e){r={},t.set(e,r);for(const[n,s]of Object.entries(e))r[n]=Hr(s,t)}return r};var Vr={copy:(e,t={})=>{if(null==e)return;const r=JSON.parse(JSON.stringify(e));if("object"!=typeof r||null===r)return r;if(Array.isArray(r))return r;const{fields:n=[],camel:s=!1,pure:o=!0,...i}=t,a={},c=[{condition:i.ignoreNull,test:e=>null===e},{condition:i.ignoreZero,test:e=>0===e},{condition:i.ignoreEmptyArray,test:e=>Array.isArray(e)&&0===e.length},{condition:i.ignoreEmptyString,test:e=>"string"==typeof e&&""===e.trim()}].filter((e=>e.condition));for(const[e,t]of Object.entries(r)){const r=!s||o&&e.startsWith("_")?e:tr.camelCase(e);n.length>0&&!n.includes(e)&&!n.includes(r)||(c.some((e=>e.test(t)))||(a[r]=t))}return a},clone:Hr,cloneClass:function(e){return null==e||"object"!=typeof e?e:Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}};const Wr=(e,t)=>{if(e===t)return!0;if(!e||!t)return!1;if("*"===t)return!0;const r=t.replace(/\./g,"\\.").replace(/\*/g,".*").replace(/\?/g,".");return new RegExp("^"+r+"$").test(e)};var Zr={shExpMatch:Wr,shExpMatchs:(e,t)=>{if(!e||!t)return!1;let r=[];if(Array.isArray(t))r=t;else{if("string"!=typeof t)return!1;r=[t]}for(const t of r){if("*"===t)return!0;if(Wr(e,t))return!0}return!1}};const Jr="[object Object]",Yr="[object Array]",Qr=P.getTag,Gr=e=>{if(Qr(e)!==Jr)return e;const t={};for(const r in e)if(/\w+\.\w+/g.test(r)&&!r.includes("[")){const n=r.split(".");let s=t;for(let e=0;e<n.length-1;e++){const t=n[e];Qr(s[t])!==Jr&&(s[t]={}),s=s[t]}s[n[n.length-1]]=e[r]}else t[r]=e[r];return t},Xr=(e,t,r=!1)=>{if(e===t)return;const n=Qr(e);if(n===Qr(t))if(n===Yr&&e.length>=t.length)for(let r=0;r<t.length;r++)Xr(e[r],t[r]);else if(n===Jr&&Object.keys(e).length>=Object.keys(t).length)for(const n in t)r||void 0!==e[n]?Xr(e[n],t[n]):e[n]=null},en=(e,t)=>Xr(e,t,!0),tn=(e,t,r={},n="",s=!1)=>{if(e===t)return r;const o=Qr(e),i=Qr(t);if(o===Yr&&i===o&&e.length>=t.length){for(let s=0;s<e.length;s++)tn(e[s],t[s],r,`${n}[${s}]`,!1);return r}if(o===Jr&&i===o&&(s||Object.keys(e).length>=Object.keys(t).length)){const s=Object.keys(e);for(let o of s){const s=e[o],i=t[o],a=Qr(s),c=Qr(i);if(s!==i)if(a===Yr&&c===a&&s.length>=i.length)for(let e=0;e<s.length;e++)tn(s[e],i[e],r,`${n?n+".":""}${o}[${e}]`,!1);else if(a===Jr&&c===a&&Object.keys(s).length>=Object.keys(i).length)for(let e in s)tn(s[e],i[e],r,`${n?n+".":""}${o}.${e}`,!1);else null!==s&&(r[`${n?n+".":""}${o}`]=s)}return r}return r[n]=e,r};const rn={...{...Nr,...Vr,...Zr,...{flattenPath:Gr,normalizeStructure:en,diffPath:(e,t)=>{const r=Gr(e),n=Gr(t);return en(r,n),tn(r,n)}}},...Je,...Rr,...ur,...tr,...Le,...ke,qs:kr};var nn={gbkLength:function(e){let t=0;if(!e)return 0;for(let r=0;r<e.length;r++)e.charCodeAt(r)>127||94===e.charCodeAt(r)?t+=2:t++;return t},gbkCut:function(e,t){if(!e||t<=0)return"";let r=0,n=0;for(let s=0;s<e.length&&(e.charCodeAt(s)>127||94===e.charCodeAt(s)?r+=2:r++,!(r>t));s++)n=s;return e.substr(0,n+1)}};function sn(e){return e!=e}function on(e,t){return function(e,t){for(var r=-1,n=e?e.length:0,s=Array(n);++r<n;)s[r]=t(e[r],r,e);return s}(t,(function(t){return e[t]}))}var an,cn,ln=(an=Object.keys,cn=Object,function(e){return an(cn(e))}),un=Math.max;function fn(e,t){var r=re.isArray(e)||re.isArguments(e)?function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}(e.length,String):[],n=r.length,s=!!n;for(var o in e)!t&&!P.hasOwnProperty.call(e,o)||s&&("length"==o||re.isIndex(o,n))||r.push(o);return r}var hn={...re,...P,...yr,...ke,includes:function(e,t,r,n){e=re.isArrayLike(e)?e:function(e){return e?on(e,function(e){return re.isArrayLike(e)?fn(e):function(e){if(!re.isPrototype(e))return ln(e);var t=[];for(var r in Object(e))P.hasOwnProperty.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e)}(e)):[]}(e),r=r&&!n?de.toInteger(r):0;var s=e.length;return r<0&&(r=un(s+r,0)),re.isString(e)?r<=s&&e.indexOf(t,r)>-1:!!s&&function(e,t,r){if(t!=t)return function(e,t,r,n){for(var s=e.length,o=r+(n?1:-1);n?o--:++o<s;)if(t(e[o],o,e))return o;return-1}(e,sn,r);for(var n=r-1,s=e.length;++n<s;)if(e[n]===t)return n;return-1}(e,t,r)>-1},forof:(e,t)=>{if(!e)return;let r;if(re.isObject(e)&&(r=re.isArray(e)?e.entries():Object.entries(e),r))for(const[e,n]of r)t&&t(e,n)}};var dn={...{groupBy:function(e,t){return e.reduce(((e,r)=>((e[r[t]]=e[r[t]]||[]).push(r),e)),{})},first:function(e){if(!e)return;return e.length<=0?void 0:e[0]},last:function(e){if(!e)return;const t=e.length;return t<=0?void 0:e[t-1]},toList:function(e){return Array.isArray(e)?e:e?[e]:[]}},stepAction:function(e,t,r=100){if(!re.isFunction(t))return;if(!re.isArray(e)||e.length<=0)return;let n=0;for(;e.length>n;){let s=r+n,o=e.slice(n,s);t&&t(o),n=s}},skip:function(e,t){if(!re.isArray(e)||e.length<=0)return[];const r=t;return e.slice(r)},take:function(e,t,r=0){if(!re.isArray(e)||e.length<=0)return[];const n=r||0;if(n>=e.length)return[];const s=t+n;return e.slice(n,e.length<s?e.length:s)||[]},distinct:function(e){return!re.isArray(e)||e.length<=0?[]:[...new Set(e)]},randoms:function(e,t=1,r=!1){const n=e.length||0;return Le.randoms(n,t,r).map((t=>e[t]))||[]},toKV:(e,t,r)=>{const n={};return t&&r?((e||[]).forEach((e=>{if(!e||!re.isObject(e))return;const s=e[t];(re.isString(s)&&""!==s||re.isNumber(s))&&(n[s]=e[r])})),n):n}};const pn=/%[sdj%]/g;let gn=()=>{};function yn(e){if(!e||!e.length)return null;const t={};return e.forEach((e=>{const r=e.field;t[r]=t[r]||[],t[r].push(e)})),t}function mn(e,...t){let r=0;const n=t.length;if("function"==typeof e)return e.apply(null,t);if("string"==typeof e){return e.replace(pn,(e=>{if("%%"===e)return"%";if(r>=n)return e;switch(e){case"%s":return String(t[r++]);case"%d":return Number(t[r++]);case"%j":try{return JSON.stringify(t[r++])}catch(e){return"[Circular]"}break;default:return e}}))}return e}function bn(e,t){return null==e||(!("array"!==t||!Array.isArray(e)||e.length)||!(!function(e){return"string"===e||"url"===e||"hex"===e||"email"===e||"date"===e||"pattern"===e}(t)||"string"!=typeof e||e))}function wn(e,t,r){let n=0;const s=e.length;!function o(i){if(i&&i.length)return void r(i);const a=n;n+=1,a<s?t(e[a],o):r([])}([])}"undefined"!=typeof process&&process.env&&"production"!==process.env.NODE_ENV&&"undefined"!=typeof window&&"undefined"!=typeof document&&(gn=(e,t)=>{"undefined"!=typeof console&&console.warn&&"undefined"==typeof ASYNC_VALIDATOR_NO_WARNING&&t.every((e=>"string"==typeof e))&&console.warn(e,t)});class _n extends Error{errors;fields;constructor(e,t){super("Async Validation Error"),this.errors=e,this.fields=t}}function vn(e,t,r,n,s){if(t.first){const t=new Promise(((t,o)=>{const i=function(e){const t=[];return Object.keys(e).forEach((r=>{t.push(...e[r]||[])})),t}(e);wn(i,r,(e=>(n(e),e.length?o(new _n(e,yn(e))):t(s))))}));return t.catch((e=>e)),t}const o=!0===t.firstFields?Object.keys(e):t.firstFields||[],i=Object.keys(e),a=i.length;let c=0;const l=[],u=new Promise(((t,u)=>{const f=e=>{if(l.push.apply(l,e),c++,c===a)return n(l),l.length?u(new _n(l,yn(l))):t(s)};i.length||(n(l),t(s)),i.forEach((t=>{const n=e[t];-1!==o.indexOf(t)?wn(n,r,f):function(e,t,r){const n=[];let s=0;const o=e.length;function i(e){n.push(...e||[]),s++,s===o&&r(n)}e.forEach((e=>{t(e,i)}))}(n,r,f)}))}));return u.catch((e=>e)),u}function xn(e,t){return r=>{let n;return n=e.fullFields?function(e,t){let r=e;for(let e=0;e<t.length;e++){if(null==r)return r;r=r[t[e]]}return r}(t,e.fullFields):t[r.field||e.fullField],(s=r)&&void 0!==s.message?(r.field=r.field||e.fullField,r.fieldValue=n,r):{message:"function"==typeof r?r():r,fieldValue:n,field:r.field||e.fullField};var s}}function An(e,t){if(t)for(const r in t)if(t.hasOwnProperty(r)){const n=t[r];"object"==typeof n&&"object"==typeof e[r]?e[r]={...e[r],...n}:e[r]=n}return e}const Sn=(e,t,r,n,s,o)=>{!e.required||r.hasOwnProperty(e.field||"")&&!bn(t,o||e.type)||n.push(mn(s.messages.required,e.fullField))};let kn;const jn=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,On=/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,$n={integer:e=>$n.number(e)&&parseInt(e,10)===e,float:e=>$n.number(e)&&!$n.integer(e),array:e=>Array.isArray(e),regexp(e){if(e instanceof RegExp)return!0;try{return!!new RegExp(e)}catch(e){return!1}},date:e=>"function"==typeof e.getTime&&"function"==typeof e.getMonth&&"function"==typeof e.getYear&&!isNaN(e.getTime()),number:e=>!isNaN(e)&&"number"==typeof e,object:e=>"object"==typeof e&&!$n.array(e),method:e=>"function"==typeof e,email:e=>"string"==typeof e&&e.length<=320&&!!e.match(jn),url:e=>"string"==typeof e&&e.length<=2048&&!!e.match((()=>{if(kn)return kn;const e="[a-fA-F\\d:]",t=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${e})|(?<=${e})(?=\\s|$))`:"",r="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",n="[a-fA-F\\d]{1,4}",s=`\n(?:\n(?:${n}:){7}(?:${n}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${n}:){6}(?:${r}|:${n}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${n}:){5}(?::${r}|(?::${n}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${n}:){4}(?:(?::${n}){0,1}:${r}|(?::${n}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${n}:){3}(?:(?::${n}){0,2}:${r}|(?::${n}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${n}:){2}(?:(?::${n}){0,3}:${r}|(?::${n}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${n}:){1}(?:(?::${n}){0,4}:${r}|(?::${n}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${n}){0,5}:${r}|(?::${n}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),o=new RegExp(`(?:^${r}$)|(?:^${s}$)`),i=new RegExp(`^${r}$`),a=new RegExp(`^${s}$`),c=e=>e&&e.exact?o:new RegExp(`(?:${t(e)}${r}${t(e)})|(?:${t(e)}${s}${t(e)})`,"g");c.v4=e=>e&&e.exact?i:new RegExp(`${t(e)}${r}${t(e)}`,"g"),c.v6=e=>e&&e.exact?a:new RegExp(`${t(e)}${s}${t(e)}`,"g");const l=c.v4().source,u=c.v6().source;return kn=new RegExp(`(?:^(?:(?:(?:[a-z]+:)?//)|www\\.)(?:\\S+(?::\\S*)?@)?(?:localhost|${l}|${u}|(?:(?:[a-z\\u00a1-\\uffff0-9][-_]*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))(?::\\d{2,5})?(?:[/?#][^\\s"]*)?$)`,"i"),kn})()),hex:e=>"string"==typeof e&&!!e.match(On)},Cn="enum";var En={required:Sn,whitespace:(e,t,r,n,s)=>{(/^\s+$/.test(t)||""===t)&&n.push(mn(s.messages.whitespace,e.fullField))},type:(e,t,r,n,s)=>{if(e.required&&void 0===t)return void Sn(e,t,r,n,s);const o=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(o)>-1?$n[o](t)||n.push(mn(s.messages.types[o],e.fullField,e.type)):o&&typeof t!==e.type&&n.push(mn(s.messages.types[o],e.fullField,e.type))},range:(e,t,r,n,s)=>{const o="number"==typeof e.len,i="number"==typeof e.min,a="number"==typeof e.max,c=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;let l=t,u="";const f="number"==typeof t,h="string"==typeof t,d=Array.isArray(t);if(f?u="number":h?u="string":d&&(u="array"),!u)return!1;d&&(l=t.length),h&&(l=t.replace(c,"_").length),o?l!==e.len&&n.push(mn(s.messages[u].len,e.fullField,e.len)):i&&!a&&l<e.min?n.push(mn(s.messages[u].min,e.fullField,e.min)):a&&!i&&l>e.max?n.push(mn(s.messages[u].max,e.fullField,e.max)):i&&a&&(l<e.min||l>e.max)&&n.push(mn(s.messages[u].range,e.fullField,e.min,e.max))},enum:(e,t,r,n,s)=>{e[Cn]=Array.isArray(e[Cn])?e[Cn]:[],-1===e[Cn].indexOf(t)&&n.push(mn(s.messages[Cn],e.fullField,e[Cn].join(", ")))},pattern:(e,t,r,n,s)=>{if(e.pattern)if(e.pattern instanceof RegExp)e.pattern.lastIndex=0,e.pattern.test(t)||n.push(mn(s.messages.pattern.mismatch,e.fullField,t,e.pattern));else if("string"==typeof e.pattern){new RegExp(e.pattern).test(t)||n.push(mn(s.messages.pattern.mismatch,e.fullField,t,e.pattern))}}};const Pn=(e,t,r,n,s)=>{const o=e.type,i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(bn(t,o)&&!e.required)return r();En.required(e,t,n,i,s,o),bn(t,o)||En.type(e,t,n,i,s)}r(i)};var Tn={string:(e,t,r,n,s)=>{const o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field||"")){if(bn(t,"string")&&!e.required)return r();En.required(e,t,n,o,s,"string"),bn(t,"string")||(En.type(e,t,n,o,s),En.range(e,t,n,o,s),En.pattern(e,t,n,o,s),!0===e.whitespace&&En.whitespace(e,t,n,o,s))}r(o)},method:(e,t,r,n,s)=>{const o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(bn(t)&&!e.required)return r();En.required(e,t,n,o,s),void 0!==t&&En.type(e,t,n,o,s)}r(o)},number:(e,t,r,n,s)=>{const o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(""===t&&(t=void 0),bn(t)&&!e.required)return r();En.required(e,t,n,o,s),void 0!==t&&(En.type(e,t,n,o,s),En.range(e,t,n,o,s))}r(o)},boolean:(e,t,r,n,s)=>{const o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(bn(t)&&!e.required)return r();En.required(e,t,n,o,s),void 0!==t&&En.type(e,t,n,o,s)}r(o)},regexp:(e,t,r,n,s)=>{const o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(bn(t)&&!e.required)return r();En.required(e,t,n,o,s),bn(t)||En.type(e,t,n,o,s)}r(o)},integer:(e,t,r,n,s)=>{const o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(bn(t)&&!e.required)return r();En.required(e,t,n,o,s),void 0!==t&&(En.type(e,t,n,o,s),En.range(e,t,n,o,s))}r(o)},float:(e,t,r,n,s)=>{const o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(bn(t)&&!e.required)return r();En.required(e,t,n,o,s),void 0!==t&&(En.type(e,t,n,o,s),En.range(e,t,n,o,s))}r(o)},array:(e,t,r,n,s)=>{const o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(null==t&&!e.required)return r();En.required(e,t,n,o,s,"array"),null!=t&&(En.type(e,t,n,o,s),En.range(e,t,n,o,s))}r(o)},object:(e,t,r,n,s)=>{const o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(bn(t)&&!e.required)return r();En.required(e,t,n,o,s),void 0!==t&&En.type(e,t,n,o,s)}r(o)},enum:(e,t,r,n,s)=>{const o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(bn(t)&&!e.required)return r();En.required(e,t,n,o,s),void 0!==t&&En.enum(e,t,n,o,s)}r(o)},pattern:(e,t,r,n,s)=>{const o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(bn(t,"string")&&!e.required)return r();En.required(e,t,n,o,s),bn(t,"string")||En.pattern(e,t,n,o,s)}r(o)},date:(e,t,r,n,s)=>{const o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(bn(t,"date")&&!e.required)return r();if(En.required(e,t,n,o,s),!bn(t,"date")){let r;r=t instanceof Date?t:new Date(t),En.type(e,r,n,o,s),r&&En.range(e,r.getTime(),n,o,s)}}r(o)},url:Pn,hex:Pn,email:Pn,required:(e,t,r,n,s)=>{const o=[],i=Array.isArray(t)?"array":typeof t;En.required(e,t,n,o,s,i),r(o)},any:(e,t,r,n,s)=>{const o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(bn(t)&&!e.required)return r();En.required(e,t,n,o,s)}r(o)}};function qn(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone(){const e=JSON.parse(JSON.stringify(this));return e.clone=this.clone,e}}}const Bn=qn();class Ln{static register=function(e,t){if("function"!=typeof t)throw new Error("Cannot register a validator by type, validator is not a function");Tn[e]=t};static warning=gn;static messages=Bn;static validators=Tn;rules={};_messages=Bn;constructor(e){this.define(e)}define(e){if(!e)throw new Error("Cannot configure a schema with no rules");if("object"!=typeof e||Array.isArray(e))throw new Error("Rules must be an object");this.rules={},Object.keys(e).forEach((t=>{const r=e[t];this.rules[t]=Array.isArray(r)?r:[r]}))}messages(e){return e&&(this._messages=An(qn(),e)),this._messages}validate(e,t={},r=(()=>{})){let n=e,s=t,o=r;if("function"==typeof s&&(o=s,s={}),!this.rules||0===Object.keys(this.rules).length)return o&&o(null,n),Promise.resolve(n);if(s.messages){let e=this.messages();e===Bn&&(e=qn()),An(e,s.messages),s.messages=e}else s.messages=this.messages();const i={};(s.keys||Object.keys(this.rules)).forEach((t=>{const r=this.rules[t];let s=n[t];r.forEach((r=>{let o=r;"function"==typeof o.transform&&(n===e&&(n={...n}),s=n[t]=o.transform(s)),o="function"==typeof o?{validator:o}:{...o},o.validator=this.getValidationMethod(o),o.validator&&(o.field=t,o.fullField=o.fullField||t,o.type=this.getType(o),i[t]=i[t]||[],i[t].push({rule:o,value:s,source:n,field:t}))}))}));const a={};return vn(i,s,((e,t)=>{const r=e.rule;let o,i=!("object"!==r.type&&"array"!==r.type||"object"!=typeof r.fields&&"object"!=typeof r.defaultField);function c(e,t){return{...t,fullField:`${r.fullField}.${e}`,fullFields:r.fullFields?[...r.fullFields,e]:[e]}}function l(o=[]){let l=Array.isArray(o)?o:[o];!0===s.suppressWarning&&l.length&&Ln.warning("async-validator:",l),l.length&&void 0!==r.message&&(l=[].concat(r.message));let u=l.map(xn(r,n));if(s.first&&u.length)return a[r.field]=1,t(u);if(i){if(r.required&&!e.value)return void 0!==r.message?u=[].concat(r.message).map(xn(r,n)):s.error&&(u=[s.error(r,mn(s.messages.required,r.field))]),t(u);let o={};r.defaultField&&Object.keys(e.value).map((e=>{o[e]=r.defaultField})),o={...o,...e.rule.fields};const i={};Object.keys(o).forEach((e=>{const t=o[e],r=Array.isArray(t)?t:[t];i[e]=r.map(c.bind(null,e))}));const a=new Ln(i);a.messages(s.messages),e.rule.options&&(e.rule.options.messages=s.messages,e.rule.options.error=s.error),a.validate(e.value,e.rule.options||s,(e=>{const r=[];u&&u.length&&r.push(...u),e&&e.length&&r.push(...e),t(r.length?r:null)}))}else t(u)}if(i=i&&(r.required||!r.required&&e.value),r.field=e.field,r.asyncValidator)o=r.asyncValidator(r,e.value,l,e.source,s);else if(r.validator){try{o=r.validator(r,e.value,l,e.source,s)}catch(e){console.error?.(e),s.suppressValidatorError||setTimeout((()=>{throw e}),0),l(e.message)}!0===o?l():!1===o?l("function"==typeof r.message?r.message(r.fullField||r.field):r.message||`${r.fullField||r.field} fails`):o instanceof Array?l(o):o instanceof Error&&l(o.message)}o&&o.then&&o.then((()=>l()),(e=>l(e)))}),(e=>{!function(e){let t=[],r={};for(let r=0;r<e.length;r++)s=e[r],Array.isArray(s)?t=t.concat(...s):t.push(s);var s;t.length?(r=yn(t),o(t,r)):o(null,n)}(e)}),n)}getType(e){if(void 0===e.type&&e.pattern instanceof RegExp&&(e.type="pattern"),"function"!=typeof e.validator&&e.type&&!Tn.hasOwnProperty(e.type))throw new Error(mn("Unknown rule type %s",e.type));return e.type||"string"}getValidationMethod(e){if("function"==typeof e.validator)return e.validator;const t=Object.keys(e),r=t.indexOf("message");return-1!==r&&t.splice(r,1),1===t.length&&"required"===t[0]?Tn.required:Tn[this.getType(e)]||void 0}}function Rn(e){return new Ln(e)}var Fn={validateId:function(e){return!!e&&(!(e.length<6)&&!!/^[A-Za-z0-9_-]+$/.test(e))},validatePhone:function(e){return!!e&&!!/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(e)},validator:Rn,validate:function(e,t,r={},n=(()=>{})){return ur.run(Rn(e).validate(t,r,n))},isChinese:function(e){return!!e&&!!/^[\u4E00-\u9FA5]+$/.test(e)},isNumber:function(e){return!!e&&!!/^[0-9]+$/.test(e)},isFloat:function(e){return!!e&&!!/^(\-|\+)?\d+(\.\d+)?$/.test(e)},isPhoneNumber:function(e){return!!e&&!!/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(e)}};const Un={gbk:nn,math:Le,list:dn,string:tr,time:qr,obj:yr,rule:Fn,regex:{pattern:{num:"0-9",zh:"一-龥",en:"A-Za-z"},regex:(e,t)=>new RegExp(e,t),entire:{chinese:/^[\u4E00-\u9FA5]+$/,real:/^(\-|\+)?\d+(\.\d+)?$/,cssReal:/^(\-|\+)?\d*(\.)?\d+$/,id:/^[A-Za-z0-9]+$/,yyyyMMdd:/^(\d{4})-?(\d{2})-?(\d{2})$/}},...Je,...Rr,...hn,Event:w},In="[object Object]",Dn="[object Array]",Mn=e=>Object.prototype.toString.call(e),Kn=(e,t,r=!1)=>{if(e===t)return;const n=Mn(e);if(n===Mn(t))if(n===Dn&&e.length>=t.length)for(let r=0;r<t.length;r++)Kn(e[r],t[r]);else if(n===In&&Object.keys(e).length>=Object.keys(t).length)for(let n in t)r||void 0!==e[n]?Kn(e[n],t[n]):e[n]=null},zn=(e,t,r,n="",s=!1)=>{if(e===t)return;const o=Mn(e),i=Mn(t);if(o===Dn&&i===o&&e.length>=t.length)for(let s=0;s<e.length;s++)zn(e[s],t[s],r,`${n}[${s}]`);else if(o===In&&i===o&&(s||Object.keys(e).length>=Object.keys(t).length)){const s=Object.keys(e);for(let o of s){const s=e[o],i=t[o],a=Mn(s),c=Mn(i);if(s!==i)if(a===Dn&&c===a&&s.length>=i.length)for(let e=0;e<s.length;e++)zn(s[e],i[e],r,`${n?n+".":""}${o}[${e}]`);else if(a===In&&c===a&&Object.keys(s).length>=Object.keys(i).length)for(let e in s)zn(s[e],i[e],r,`${n?n+".":""}${o}.${e}`);else r[`${n?n+".":""}${o}`]=s}}else r[n]=e};class Nn{list=[];constructor(){this.invoke=this.invoke.bind(this)}use(e){this.list=this.list.concat(e)}invoke(e){return this.list.reduce(((e,t)=>e.then((e=>t(e)))),Promise.resolve(e)).catch((e=>"REFETCH"===e.sig?Promise.resolve(e.result):Promise.reject(e)))}}class Hn{reqConfig={};handleRequest;handleEncrypt;handleDecrypt;handleError;interceptors={request:new Nn,response:new Nn};constructor(e){const{reqConfig:t={},requestEncrypt:r,responseDecrypt:n,handleError:s,api:o}=e;this.reqConfig=t,this.handleEncrypt=r,this.handleDecrypt=n,this.handleError=s,this.handleRequest=o}static blockId="blockid";static requestLock={};lockR(e,t){Hn.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete Hn.requestLock[e]}getIdFromReq(e){const{url:t,data:r={}}=e;return t+JSON.stringify(r)}getIdFromReqUrl(e){return e.url||""}_fetch(e,t){let r=e;return t&&this.handleEncrypt&&(r=this.handleEncrypt(e)),new Promise(((e,n)=>{this.handleRequest({...r,success:r=>{let n=r;t&&this.handleDecrypt&&(n=this.handleDecrypt(r)),e(n)},fail:e=>{n(e)}})}))}async request(e,t){const r=yr.copy(this.reqConfig[e]),{config:n,...s}=await this.interceptors.request.invoke({url:r.url,data:t||{},header:{"content-type":"application/json"},method:r.method?r.method:"POST",responseType:"text",config:r});let o;try{if("block"===n.model)this.lockR(Hn.blockId,(()=>this._fetch(s,n.hasEncrypt))),o=await Hn.requestLock[Hn.blockId].request;else if(Hn.requestLock[Hn.blockId]&&Hn.requestLock[Hn.blockId].lock&&await Hn.requestLock[Hn.blockId].request,"debounce"===n.model||"debounceUrl"===n.model){let e;e="debounceUrl"===n.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),Hn.requestLock[e]||this.lockR(e,(()=>this._fetch(s,n.hasEncrypt))),o=await Hn.requestLock[e].request,this.unlockR(e)}else o=await this._fetch(s,n.hasEncrypt)}catch(e){this.handleError&&this.handleError(e)}return this.interceptors.response.invoke({res:o,config:r,reqId:this.getIdFromReq(s),refetch:()=>({sig:"REFETCH",result:this.request(e,t||{})})})}}const Vn=e=>"function"!=typeof e?e:(t={})=>new Promise(((r,n)=>{e(Object.assign(t,{success:r,fail:n}))}));var Wn={diff:function(e,t){const r={};return(e=>{if(Mn(e)===In)for(let t in e)if(/\w+\.\w+/g.test(t)&&-1===t.indexOf("[")){const r=t.split(".");let n=e,s=r.length;for(let e=0;e<s-1;e++){const t=r[e];Mn(n[t])!==In&&(n[t]={}),n=n[t]}n[r[s-1]]=e[t],delete e[t]}})(e),Kn(e,t,!0),zn(e,t,r,"",!0),r},promixify:Vn,run:(e,t={})=>e?ur.run(Vn(e)(t)):ur.run(e),formatList:(e,t,r)=>(e||[]).reduce(((e,n,s)=>({...e,[`${r}[${t+s}]`]:n})),{}),ruleValidator:(e,t)=>!!t&&(!Array.isArray(t)||!(t.length<=0)&&t.every((e=>!!e))),Http:Hn,setWatcher:e=>{let t=e.data,r=e.watch;Object.keys(r).forEach((n=>{let s=t,o=n.split(".");for(let e=0;e<o.length-1;e++)s=s[o[e]];let i=o[o.length-1],a=r[n].handler||r[n],c=r[n].deep;yr.observe(s,i,a,e,c)}))}};const Zn=e=>{if(!e)return"";if(!hn.isObject(e))return"";let t="";return hn.forof(e,((e,r)=>{r&&(t+=`${tr.kebabCase(e)}:${r};`)})),t},Jn=["display","position","top","bottom","left","right","padding","margin","marginTop","marginRight","marginBottom","marginLeft","paddingTop","paddingRight","paddingBottom","paddingLeft","height","width","fontSize","textAlign","fontFamily","border","borderLeft","borderRight","borderTop","borderBottom","borderColor","borderRadius","background","backgroundImage","backgroundRepeat","backgroundSize","backgroundPosition","color","overflow","opacity","flexDirection","justifyContent","alignItems","flexWrap","alignContent","alignSelf","flex","flexBasis","flexFlow","flexShrink","pointerEvents"],Yn=["top","bottom","left","right","padding","margin","marginTop","marginRight","marginBottom","marginLeft","paddingTop","paddingRight","paddingBottom","paddingLeft","height","width","border","borderLeft","borderRight","borderTop","borderBottom","borderColor","borderRadius"],Qn=(e,t="px")=>e&&t?"0"===e?e:Fn.isFloat(e.toString())?`${e}${t}`:e:e;var Gn={stringify:Zn,parse:(e,{camel:t=!1,pure:r=!0}={})=>{if(!e.trim())return;const n=kr.parse(e,{sep:";",eq:":",uri:!1}),s={};return hn.forof(n,((e,n)=>{if(!n)return;const o=t?r&&e.startsWith("_")?e:tr.camelCase(e):e;Fn.isFloat(n)||n.length>=2&&n.startsWith(".")&&Fn.isNumber(n.substr(1))?s[o]=+n:s[o]=n})),s},fixValue:Qn,style:(e,t="px")=>{if(!e)return"";const r=hn.copy(e,{fields:Jn});hn.forof(r,((e,n)=>{(Yn.includes(e)||Yn.includes(tr.camelCase(e)))&&(r[e]=Qn(n,t))}));return Zn(r)},commonFields:Jn};const Xn=(e,t="",r=!1)=>{try{if(!e)return;const n=kr.parseUrl(e),s=t||n.name;if(!t||!r||!n.origin||n.origin===window.location.origin)((e,t)=>{try{const r=document.createElement("a");r.style.display="none",r.href=e,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r)}catch(t){console.error(`[ddan] _downloadUrl ${e}`,t)}})(e,s);else{const t=n.params;t.t=Date.now();const r=`${n.url}?${kr.stringify(t,{uri:!1})}`,o=new XMLHttpRequest;o.open("GET",r,!0),o.responseType="blob",o.onload=function(){es(o.response,s)},o.onerror=function(t){console.error(`[ddan] downloadUrl ${e}`,t)},o.send()}}catch(t){console.error(`[ddan] downloadUrl ${e}`,t)}},es=(e,t="")=>{try{if(!e)return;const r=URL?.createObjectURL(e);if(!r)return;Xn(r,t),URL?.revokeObjectURL(r)}catch(e){console.error("[ddan] downloadFile",e)}},ts=e=>{try{const t=document.createElement("textarea");document.body.appendChild(t),t.style.position="fixed",t.style.clip="rect(0 0 0 0)",t.style.top="10px",t.style.opacity="0",t.value=e??"",t.select();const r=document.execCommand("copy");return document.body.removeChild(t),r}catch(e){return console.error("[ddan] copyText",e),!1}},rs=(e,t="denied")=>new Promise((r=>{const n=navigator?.permissions;if(!n||!n.query)return r(t);const s={name:e};n.query(s).then((e=>r(e.state))).catch((()=>r(t)))})),ns=(e,t=!0)=>!(!t||"prompt"!==e)||"granted"===e,ss=(e,t)=>{if(!e||!t)return[];const r=[];let n;for(;null!==(n=t.exec(e));)r.push(n[1]);return r},os=(e,t="application/javascript")=>{const r=new Blob([e],{type:t});return URL.createObjectURL(r)};var is={dataURLtoFile:(e,t)=>{let r=e.split(","),n=r[0].match(/:(.*?);/)[1],s=window.atob(r[1]),o=s.length,i=new Uint8Array(o);for(;o--;)i[o]=s.charCodeAt(o);return new File([i],t,{type:n})},dataURLtoBlob:e=>{let t=e.split(","),r=t[0].match(/:(.*?);/)[1],n=window.atob(t[1]),s=n.length,o=new Uint8Array(s);for(;s--;)o[s]=n.charCodeAt(s);return new Blob([o],{type:r})},blobToFile:(e,t)=>(e.lastModifiedDate=new Date,e.name=t,e),readAsDataURL:(e,t)=>{var r=new FileReader;r.readAsDataURL(e),r.onloadend=function(e){t&&t(e.target?.result)}},downloadUrl:Xn,download:(e,t="")=>{e&&("string"!=typeof e?es(e,t):Xn(e,t))},downloadFile:es,downloadImage:e=>{try{if(!e)return;const t=e.match(/\/(\w+.\w+)$/)[1],r=new Image;r.onload=()=>{let e=document.createElement("canvas");e.width=r.width,e.height=r.height;let n=e.getContext("2d");n&&n.drawImage(r,0,0,r.width,r.height);let s=e.toDataURL();Xn(s,t)},r.src=e,r.setAttribute("crossOrigin","Anonymous")}catch(e){console.error("[ddan] downloadImage",e)}return Promise.resolve()},watermark:(e,{width:t=400,height:r=300,angle:n=0,fillStyle:s="rgba(0, 0, 0, 0.2)",font:o="16px Arial",textAlign:i="left",textBaseline:a="middle"}={})=>{try{if(!e)return"";const c=document.createElement("canvas");c.width=t,c.height=r;const l=c.getContext("2d");return l?(n&&l.rotate(n*Math.PI/180),s&&(l.fillStyle=s),o&&(l.font=o),i&&(l.textAlign=i),a&&(l.textBaseline=a),l.fillText(e,c.width/10,c.height/2),`url(${c.toDataURL()})`):""}catch(e){return console.error("[ddan] watermark",e),""}},copyText:(e,t=!1)=>new Promise((r=>{!t&&navigator.clipboard?rs("clipboard-write").then((t=>{ns(t,!1)?navigator.clipboard.writeText(e).then((()=>r(!0))).catch((()=>r(ts(e)))):r(ts(e))})).catch((()=>{r(ts(e))})):r(ts(e))})),queryPermission:rs,isAllowed:ns,legacyCopy:ts,takeHtmlLinks:e=>{if(!e)return[];const t=[];return[/<script[^>]+src="([^"]+)"/g,/<link[^>]+rel="stylesheet"[^>]+href="([^"]+)"/g,/<link[^>]+rel="icon"[^>]+href="([^"]+)"/g].forEach((r=>{const n=ss(e,r);t.push(n)})),[].concat(...t)},takeHtml:ss,toBlobUrl:os,workerURL:e=>os(`(${e.toString()})()`,"text/javascript"),getVideoMetadata:(e,t=3e4)=>new Promise(((r,n)=>{let s=null,o=null,i=null;const a=e=>{i&&(clearTimeout(i),i=null),s&&(s.onerror=null,s.onloadedmetadata=null,s.remove(),s=null),o&&(URL.revokeObjectURL(o),o=null),e&&n(e)};try{if(s=document.createElement("video"),i=setTimeout((()=>{a(new Error(`操作超时(${t}ms)`))}),t),e instanceof File||e instanceof Blob||e instanceof MediaSource)o=URL.createObjectURL(e),s.src=o;else{if("string"!=typeof e)throw new Error("无效的视频源类型");s.crossOrigin="anonymous",s.src=e}s.onloadedmetadata=()=>{r({width:s?.videoWidth||0,height:s?.videoHeight||0,duration:s?.duration||0}),a()},s.onerror=()=>{a(new Error(`视频加载失败: ${s?.error?.message||"未知错误"}`))}}catch(e){a(e instanceof Error?e:new Error("未知同步错误"))}})),getImageMetadata:(e,t=5e3)=>new Promise(((r,n)=>{const s=new Image;let o=null,i=null;const a=e=>{i&&(clearTimeout(i),i=null),s.onload=null,s.onerror=null,o&&(URL.revokeObjectURL(o),o=null),e&&n(e)};i=setTimeout((()=>{a(new Error(`图片加载超时(${t}ms)`))}),t),s.onload=()=>{r({width:s.naturalWidth,height:s.naturalHeight}),a()},s.onerror=()=>{a(new Error(`无法加载图片: ${s.src||"未知资源"}`))};try{if(e instanceof File||e instanceof Blob)o=URL.createObjectURL(e),s.src=o;else{if("string"!=typeof e)throw new Error("无效的图片源类型");s.setAttribute("crossOrigin","Anonymous"),s.src=e}}catch(e){e instanceof Error?a(e):a(new Error("未知同步错误"))}}))};const as=new class{__defStyle="vertical-align: middle; mask-position: 50% 50%; mask-repeat: no-repeat; mask-size: 100%; -webkit-mask-position: 50% 50%; -webkit-mask-repeat: no-repeat; -webkit-mask-size: 100%; background-color: currentColor;";__map={back:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M609.408 149.376L277.76 489.6a32 32 0 0 0 0 44.672l331.648 340.352a29.12 29.12 0 0 0 41.728 0 30.592 30.592 0 0 0 0-42.752L339.264 511.936l311.872-319.872a30.592 30.592 0 0 0 0-42.688 29.12 29.12 0 0 0-41.728 0z"/></svg>',right:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M340.864 149.312a30.592 30.592 0 0 0 0 42.752L652.736 512 340.864 831.872a30.592 30.592 0 0 0 0 42.752 29.12 29.12 0 0 0 41.728 0L714.24 534.336a32 32 0 0 0 0-44.672L382.592 149.376a29.12 29.12 0 0 0-41.728 0z"/></svg>',home:'<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M13 19.8h3.8v-7h3.303L12 4.697 3.897 12.8H7.2v7H11V17h2v2.8zm5 .2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-6H3.414a1 1 0 0 1-.707-1.707l8.586-8.586a1 1 0 0 1 1.414 0l8.586 8.586A1 1 0 0 1 20.586 14H18v6z" fill-rule="evenodd" fill-opacity=".9"/></svg>',close:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M764.288 214.592L512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"/></svg>',close_circle:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M466.752 512l-90.496-90.496a32 32 0 0 1 45.248-45.248L512 466.752l90.496-90.496a32 32 0 1 1 45.248 45.248L557.248 512l90.496 90.496a32 32 0 1 1-45.248 45.248L512 557.248l-90.496 90.496a32 32 0 0 1-45.248-45.248L466.752 512z"/><path fill="currentColor" d="M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768zm0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"/></svg>',close_circle_fill:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm0 393.664L407.936 353.6a38.4 38.4 0 1 0-54.336 54.336L457.664 512 353.6 616.064a38.4 38.4 0 1 0 54.336 54.336L512 566.336 616.064 670.4a38.4 38.4 0 1 0 54.336-54.336L566.336 512 670.4 407.936a38.4 38.4 0 1 0-54.336-54.336L512 457.664z"/></svg>',warning:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path d="M928.99 755.83L574.6 203.25c-12.89-20.16-36.76-32.58-62.6-32.58s-49.71 12.43-62.6 32.58L95.01 755.83c-12.91 20.12-12.9 44.91.01 65.03 12.92 20.12 36.78 32.51 62.59 32.49h708.78c25.82.01 49.68-12.37 62.59-32.49 12.91-20.12 12.92-44.91.01-65.03zM554.67 768h-85.33v-85.33h85.33V768zm0-426.67v298.66h-85.33V341.32l85.33.01z" fill="currentColor"/></svg>',play:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path d="M512 1024A512 512 0 1 1 512 0a512 512 0 0 1 0 1024zm3.008-92.992a416 416 0 1 0 0-832 416 416 0 0 0 0 832zM383.232 287.616l384 224.896-384 223.104v-448z" fill="currentColor"/></svg>',lock:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M224 448a32 32 0 0 0-32 32v384a32 32 0 0 0 32 32h576a32 32 0 0 0 32-32V480a32 32 0 0 0-32-32H224zm0-64h576a96 96 0 0 1 96 96v384a96 96 0 0 1-96 96H224a96 96 0 0 1-96-96V480a96 96 0 0 1 96-96z"/><path fill="currentColor" d="M512 544a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V576a32 32 0 0 1 32-32zm192-160v-64a192 192 0 1 0-384 0v64h384zM512 64a256 256 0 0 1 256 256v128H256V320A256 256 0 0 1 512 64z"/></svg>',lock_fill:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path d="M467.2 713.92v115.968a44.8 44.8 0 0 0 89.6 0V713.92c26.752-14.72 44.8-42.304 44.8-73.92 0-47.104-40.128-85.312-89.6-85.312-49.472 0-89.6 38.208-89.6 85.312 0 31.616 18.048 59.136 44.8 73.92zM64 384h896v640H64V384zm268.8 0h358.4V256c0-94.272-80.256-170.688-179.2-170.688-98.944 0-179.2 76.416-179.2 170.688v128zM512 0c148.48 0 268.8 114.56 268.8 256v128H243.2V256C243.2 114.56 363.52 0 512 0z" fill="currentColor"/></svg>',plus:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M480 480V128a32 32 0 0 1 64 0v352h352a32 32 0 1 1 0 64H544v352a32 32 0 1 1-64 0V544H128a32 32 0 0 1 0-64h352z"/></svg>',plus_circle:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M352 480h320a32 32 0 1 1 0 64H352a32 32 0 0 1 0-64z"/><path fill="currentColor" d="M480 672V352a32 32 0 1 1 64 0v320a32 32 0 0 1-64 0z"/><path fill="currentColor" d="M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768zm0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"/></svg>',plus_circle_fill:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm-38.4 409.6H326.4a38.4 38.4 0 1 0 0 76.8h147.2v147.2a38.4 38.4 0 0 0 76.8 0V550.4h147.2a38.4 38.4 0 0 0 0-76.8H550.4V326.4a38.4 38.4 0 1 0-76.8 0v147.2z"/></svg>',star:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M512 747.84l228.16 119.936a6.4 6.4 0 0 0 9.28-6.72l-43.52-254.08 184.512-179.904a6.4 6.4 0 0 0-3.52-10.88l-255.104-37.12L517.76 147.904a6.4 6.4 0 0 0-11.52 0L392.192 379.072l-255.104 37.12a6.4 6.4 0 0 0-3.52 10.88L318.08 606.976l-43.584 254.08a6.4 6.4 0 0 0 9.28 6.72L512 747.84zM313.6 924.48a70.4 70.4 0 0 1-102.144-74.24l37.888-220.928L88.96 472.96A70.4 70.4 0 0 1 128 352.896l221.76-32.256 99.2-200.96a70.4 70.4 0 0 1 126.208 0l99.2 200.96 221.824 32.256a70.4 70.4 0 0 1 39.04 120.064L774.72 629.376l37.888 220.928a70.4 70.4 0 0 1-102.144 74.24L512 820.096l-198.4 104.32z"/></svg>',star_fill:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M283.84 867.84L512 747.776l228.16 119.936a6.4 6.4 0 0 0 9.28-6.72l-43.52-254.08 184.512-179.904a6.4 6.4 0 0 0-3.52-10.88l-255.104-37.12L517.76 147.904a6.4 6.4 0 0 0-11.52 0L392.192 379.072l-255.104 37.12a6.4 6.4 0 0 0-3.52 10.88L318.08 606.976l-43.584 254.08a6.4 6.4 0 0 0 9.28 6.72z"/></svg>',share:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M679.872 348.8l-301.76 188.608a127.808 127.808 0 0 1 5.12 52.16l279.936 104.96a128 128 0 1 1-22.464 59.904l-279.872-104.96a128 128 0 1 1-16.64-166.272l301.696-188.608a128 128 0 1 1 33.92 54.272z"/></svg>',love:'<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M171.712 571.648l.352.32 287.904 252.8a64 64 0 0 0 82.912 1.344l296.832-244.544a215.584 215.584 0 1 0-301.824-300.576L512 316.672l-25.888-35.616a215.584 215.584 0 1 0-314.4 290.624zM32 407.584A279.584 279.584 0 0 1 512 212.64a279.584 279.584 0 0 1 480 194.944 278.144 278.144 0 0 1-113.024 224.512l-295.36 243.392a128 128 0 0 1-165.888-2.592L129.984 620.16A278.976 278.976 0 0 1 32 407.584z"/></svg>',love_fill:'<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M32 407.584A279.584 279.584 0 0 1 512 212.64a279.584 279.584 0 0 1 480 194.944 278.144 278.144 0 0 1-113.024 224.512L562.592 892.8a96 96 0 0 1-124.416-1.952L130.016 620.16A278.976 278.976 0 0 1 32 407.584z"/></svg>'};getBase64=e=>{const t=this.getSVG(e);return t?.url||""};getSVG=e=>{if(!e)return;const t=this.__map[e];if(!t)return;return{url:this.toBase64(t),escape:this.toEscape(t)}};toBase64=e=>{if(!e)return"";const t=this._tiny(e);return`data:image/svg+xml;base64,${Lr.encode(t)}`};_tiny=e=>e?e.replace(/<!--(.*)-->/g,"").replace(/[\r\n]/g," ").replace(/"/g,"'"):"";toEscape=e=>{if(!e)return"";return`data:image/svg+xml,${this._tiny(e).replace(/%/g,"%25").replace(/&/g,"%26").replace(/#/g,"%23").replace(/{/g,"%7B").replace(/}/g,"%7D").replace(/</g,"%3C").replace(/>/g,"%3E")}`};getStyle(e,t={}){if(!e)return"";const r=this.__map[e];return r?this.toStyle(r,t):""}toStyle(e,t={}){if(!e)return"";const r=this.toBase64(e);return r?this.getStyleByUrl(r,t):""}getStyleByUrl(e,t={}){if(!e)return"";const{key:r="mask-image",gradientValue:n="radial-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5))",gradient:s=!1,defStyle:o=this.__defStyle}=t,i=s&&n?`${n}, url("${e}")`:`url("${e}")`;return`${r}:${i};-webkit-${r}:${i};${o}`}},cs={mini:Wn,css:Gn,qs:kr,icon:as,html:is},ls=({url:e,options:t})=>{const r={"Content-Type":"application/json; charset=utf-8",...t.headers||{}};return t.headers=r,new Promise(((r,n)=>{fetch(e,t).then((e=>{r(e.json())})).catch((e=>{n(e)}))}))};function us(e){const{response:t}=e;return 0===t.code?Promise.resolve(t):Promise.reject(t)}function fs(e){const{url:t="",host:r,options:n}=e,s=e;if(t.startsWith("http://")||t.startsWith("https://")||(s.url=(r||"")+t),"GET"===n.method.toUpperCase()&&n.body){const e=JSON.parse(n.body);if(hn.isPlainObject(e)){const r=kr.stringify(e),n=-1===t.indexOf("?")?"?":"&";s.url=`${s.url||""}${n}${r}`,delete s.options.body}}return n&&n.plugins&&delete s.options?.plugins,n&&n.model&&delete s.options?.model,s}class hs{host="";reqConfig={};handleError;interceptors={request:new Nn,response:new Nn};constructor(e){this.host=e.host||"",this.reqConfig=e.config,this.interceptors.request.use(e.handleRequest||[]),this.interceptors.request.use(fs),this.interceptors.response.use(e.handleResponse||us),this.handleError=e.handleError}static blockId="blockid";static requestLock={};lockR(e,t){hs.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete hs.requestLock[e]}getIdFromReq(e){const{url:t,data:r={}}=e;return t+JSON.stringify(r)}getIdFromReqUrl(e){return e.url||""}async fetch(e,t){const r=hn.copy(this.reqConfig[e])||{},n={host:this.host,url:r.url||"",options:{...r||{},body:JSON.stringify({...t||{}})}};try{const s=await this.interceptors.request.invoke(n);let o;if(delete s.options.plugins,"block"===r.model)this.lockR(hs.blockId,(()=>ls(s))),o=await hs.requestLock[hs.blockId].request;else if(hs.requestLock[hs.blockId]&&hs.requestLock[hs.blockId].lock&&await hs.requestLock[hs.blockId].request,"debounce"===r.model||"debounceUrl"===r.model){let e;e="debounceUrl"===r.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),hs.requestLock[e]||this.lockR(e,(()=>ls(s))),o=await hs.requestLock[e].request,this.unlockR(e)}else o=await ls(s);return this.interceptors.response.invoke({response:o,config:r,refetch:()=>({sig:"REFETCH",result:this.fetch(e,t)})})}catch(e){return this.handleError&&this.handleError(e),Promise.reject(e)}}}var ds={getDataURL:(e,t)=>{const r={contentType:"",dataUrl:""};return Ae.to(fetch(e,{cache:t}).then((e=>(r.contentType=e.headers.get("content-type")||"",e.arrayBuffer()))).then((e=>(r.dataUrl=`data:${r.contentType};base64,`+Je.ab2str(e,!0),r))))},getArrayBuffer:async(e,t)=>Ae.to(fetch(e,{cache:t}).then((e=>e.arrayBuffer()))),getJson:async(e,t)=>Ae.to(fetch(e,{cache:t}).then((e=>e.json()))),download:(e,t={})=>new Promise((r=>fetch(e).then((async e=>{if(!e.ok||200!==e.status)throw new Error(e.statusText);const n=+(e.headers.get("content-length")||""),s=e.body?.getReader();let o=0;const i=[];for(;;){const{done:e,value:r}=await s.read();if(e)break;i.push(r),o+=r.length;const a=Le.float(100*o/n,{digits:2});t?.progress&&t?.progress(a,o,n)}const a=new Uint8Array(o);let c=0;for(const e of i)a.set(e,c),c+=e.length;t?.success&&t?.success(a),r(a)})).catch((e=>{t?.fail&&t?.fail(e),r(void 0)})))),getText:async(e,t)=>Ae.to(fetch(e,{cache:t}).then((e=>e.text()))),cache:async(e,t="no-cache")=>Ae.to(fetch(e,{cache:t}).then((()=>!0)))};class ps{publicKey="";privateKey="";iv="";__privateCryptoKey;__sharedSecret;__curve;__keyFormat;__subtle;constructor(e="P-256",t="raw"){this.__curve=e,this.__keyFormat=t||"raw","undefined"!=typeof window?this.__subtle=window.crypto.subtle:this.__subtle={}}async generateKeys(){const e=await this.__subtle.generateKey({name:"ECDH",namedCurve:this.__curve},!0,["deriveKey","deriveBits"]);return this.__privateCryptoKey=e.privateKey,this.publicKey=await this.exportKey(e.publicKey),this.privateKey=await this.exportKey(e.privateKey,"pkcs8"),this}async exportKey(e,t="raw"){const r=await this.__subtle.exportKey(t||this.__keyFormat,e);return Je.ab2str(r,!0)}async importKey(e,t="raw",r=[]){const n=Je.base64ToBytes(e);return await this.__subtle.importKey(t||this.__keyFormat||"raw",n,{name:"ECDH",namedCurve:this.__curve},!0,r)}async setPrivateKey(e){if(!e)return!1;const t=await this.importKey(e,"pkcs8",["deriveKey","deriveBits"]);return this.privateKey=await this.exportKey(t,"pkcs8"),this.__privateCryptoKey=t,!0}async deriveSharedSecret(e,t){if(!this.__privateCryptoKey)return!1;const r=await this.importKey(e),n=await this.__subtle.deriveKey({name:"ECDH",public:r},this.__privateCryptoKey,{name:"AES-GCM",length:256},!0,["encrypt","decrypt"]);return this.__sharedSecret=n,this.iv=t||"",!0}async encode(e,t){if(!this.__sharedSecret)return"";const r=t||this.iv;if(!r)return"";const n=Je.base64ToBytes(r),s=Je.textEncode(e),o=await this.__subtle.encrypt({name:"AES-GCM",iv:n},this.__sharedSecret,s);return Je.ab2str(o,!0)}async encodeiv(e,t){if(!this.__sharedSecret)return"";const r=t||this.iv,n=r?Je.base64ToBytes(r):Je.getRandomBytes(12),s=Je.textEncode(e),o=await this.__subtle.encrypt({name:"AES-GCM",iv:n},this.__sharedSecret,s),i=Je.concatBytes(new Uint8Array(o),n);return Je.bytesToBase64(i)}async decode(e,t){if(!this.__sharedSecret)return"";const r=t||this.iv;if(!r)return"";const n=Je.base64ToBytes(e),s=Je.base64ToBytes(r),o=await this.__subtle.decrypt({name:"AES-GCM",iv:s},this.__sharedSecret,n);return Je.textDecode(o)}async decodeiv(e){if(!this.__sharedSecret)return"";const t=Je.base64ToBytes(e);if(t.length<12)return"";const r=t.slice(t.length-12),n=t.slice(0,t.length-12),s=await this.__subtle.decrypt({name:"AES-GCM",iv:r},this.__sharedSecret,n);return Je.textDecode(s)}}const gs={fetch:ds,Http:hs,css:Gn,qs:kr,icon:as,html:is,rsa:rt,...{Ecdh:ps}};var ys={brotliCompress:function(e,t=u.default.constants.BROTLI_DEFAULT_QUALITY){try{if(!e)return"";const r=Je.toUtf8Bytes(e);return u.default.brotliCompressSync(r,{params:{[u.default.constants.BROTLI_PARAM_QUALITY]:t}}).toString("base64")}catch(t){return e||""}},brotliDecompress:function(e){try{if(!e)return"";const t=Je.base64ToBytes(e);return u.default.brotliDecompressSync(t).toString("utf-8")}catch(t){return e||""}}};var ms={child_exec:e=>new Promise((t=>{if(!e)return t([null,""]);o.exec(e,((e,r)=>{t(e?[e||"error",""]:[null,r||""])}))}))};const bs=()=>{try{return"win32"===process.platform?ws():"darwin"===process.platform?_s():"linux"===process.platform?vs():void 0}catch(e){return}},ws=async()=>{do{const[e,t]=await ms.child_exec('reg query "HKCU\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Internet Settings"');if(e)break;const r=t.split("\n").find((e=>e.includes("ProxyEnable")));if(!(r&&r.trim().endsWith("1")))break;const n=t.split("\n").find((e=>e.includes("ProxyServer"))),s=n?n.split(" ").filter(Boolean).pop():"";if(!s)break;const o=s.split(":");if(o.length<=1)break;const i=o[0],a=+(o[1]||"");if(!i||!a)break;return{ipaddress:i,port:a}}while(0)},_s=async()=>{do{const[e,t]=await ms.child_exec('networksetup -getwebproxy "Wi-Fi"');if(e)break;const r=t.split("\n"),n=r.find((e=>e.includes("Enabled")));if(!(n&&n.includes("Yes")))break;const s=r.find((e=>e.includes("Server"))),o=r.find((e=>e.includes("Port"))),i=s?s.split(":")[1]?.trim():null,a=+((o?o.split(":")[1]?.trim():null)||"");if(!i||!a)break;return{ipaddress:i,port:a}}while(0)},vs=async()=>{do{const[e,t]=await ms.child_exec("env | grep https_proxy");if(e)break;const r=(t||"").trim();if(!r)return;const n=r.match(/:\/\/([^:]+):(\d+)/);if(!n)break;const s=n[1],o=+(n[2]||"");if(!s||!o)break;return{ipaddress:s,port:o}}while(0)},xs=(e,t=["*"],r="DIRECT",n=[])=>{const s=e||r||"DIRECT",o=r||"DIRECT",i=`\n function FindProxyForURL(url, host) {\n if (host === "127.0.0.1" || host === "localhost") {\n return "DIRECT";\n }\n\n if (isInNet(host, "10.0.0.0", "255.0.0.0") ||\n isInNet(host, "172.16.0.0", "255.240.0.0") ||\n isInNet(host, "192.168.0.0", "255.255.0.0")) {\n return "DIRECT";\n }\n\n var _rules = ${JSON.stringify(t)};\n var _proxy = "${s}";\n var _default = "${o}";\n var _directs = ${JSON.stringify(n)};\n\n for (var i = 0; i < _rules.length; i++) {\n if (shExpMatch(host, _rules[i])) {\n return _proxy;\n }\n }\n\n for (var j = 0; j < _directs.length; j++) {\n if (shExpMatch(host, _directs[j])) {\n return "DIRECT";\n }\n }\n\n return _default;\n }\n `;return Je.toDataUrl(i,"application/x-ns-proxy-autoconfig")},As=(e,t,r)=>{if(!e||!t)return"";const{type:n="ALL",direct:s=!1}=r||{};let o="";switch(n?n.toUpperCase():""){case"ALL":o=`SOCKS5 ${e}:${t};PROXY ${e}:${t}`;break;case"PROXY":o=`PROXY ${e}:${t}`;break;case"SOCKS5":o=`SOCKS5 ${e}:${t}`}if(!o&&!s)return"";const i=[];return o&&i.push(o),s&&i.push("DIRECT"),i.join(";")};var Ss={getSystemProxy:bs,toPacScript:xs,toPacProxy:As,pacScript:async(e,t,r)=>{const{type:n="SOCKS5",rules:s=["*"],useSystem:o}=r||{},i=As(e,t,{type:n});if(!i)return"";let a;if(o){const e=await bs();e&&(a=As(e?.ipaddress||"",e?.port||0,{direct:!0}))}return xs(i,s||[],a)},getPacScript:async e=>{const{type:t="SOCKS5",rules:r=["*"],useSystem:n,address:s="",port:o=0,directs:i=[]}=e||{},a=As(s,o,{type:t});let c;if(n){const e=await bs();e&&(c=As(e?.ipaddress||"",e?.port||0,{direct:!0}))}return xs(a,r||[],c,i)}};const ks=(e,t)=>new Promise(((r,n)=>{h.default.readdir(e,(async(s,o)=>{if(s)return n(s);r(js(e,o,t))}))})),js=async(e,t,r)=>{for(let n of t){const t=d.default.join(e,n);h.default.lstatSync(t).isDirectory()?await ks(`${t}`,r):r&&await r(t)}};var Os={findFreePort:async(e,t=200)=>{let r=e,n=0;for(;n<t;)try{return await new Promise(((e,t)=>{const n=f.default.createServer();n.unref(),n.on("error",t),n.listen(r,(()=>{n.close((()=>e()))}))})),r}catch{n++,r++}return 0}},$s={...{readDirectory:ks,readFiles:js},...ys,...ms,...Ss,...Os,Ecdh:class{publicKey="";privateKey="";sharedSecret;iv="";__curve;__algorithm;__ecdh;constructor(e="prime256v1",t="aes-256-gcm"){this.__curve=e,this.__algorithm=t,this.generateKeys()}generateKeys(){const e=l.default.createECDH("prime256v1");e.generateKeys(),this.publicKey=e.getPublicKey("base64"),this.privateKey=e.getPrivateKey("base64"),this.__ecdh=e}setPrivateKey(e){return!!e&&(!!this.__ecdh&&(this.__ecdh.setPrivateKey(e,"base64"),this.publicKey=this.__ecdh.getPublicKey("base64"),!0))}setSharedSecret(e){return!!e&&(this.sharedSecret=e,!0)}deriveSharedSecret(e,t){return!!e&&(this.sharedSecret=this.__ecdh.computeSecret(e,"base64").toString("base64"),this.iv=t||"",!0)}encode(e,t){if(!this.sharedSecret)return"";const r=t||this.iv;if(!r)return"";const n=Je.base64ToBytes(r),s=l.default.createCipheriv("aes-256-gcm",Je.base64ToBytes(this.sharedSecret),n),o=Buffer.concat([new Uint8Array(s.update(e,"utf8")),new Uint8Array(s.final())]),i=s.getAuthTag();return Buffer.concat([new Uint8Array(o),new Uint8Array(i)]).toString("base64")}encodeiv(e,t){if(!this.sharedSecret)return"";const r=t||this.iv,n=r?Je.base64ToBytes(r):Je.getRandomBytes(12),s=l.default.createCipheriv("aes-256-gcm",Je.base64ToBytes(this.sharedSecret),n),o=Buffer.concat([new Uint8Array(s.update(e,"utf8")),new Uint8Array(s.final())]),i=s.getAuthTag();return Buffer.concat([new Uint8Array(o),new Uint8Array(i),n]).toString("base64")}decode(e,t){if(!e||!this.sharedSecret)return"";const r=t||this.iv;if(!r)return"";const n=l.default.createDecipheriv("aes-256-gcm",Je.base64ToBytes(this.sharedSecret),Je.base64ToBytes(r)),s=Je.base64ToBytes(e),o=s.slice(s.length-16);n.setAuthTag(o);const i=s.slice(0,s.length-16);return Buffer.concat([new Uint8Array(n.update(i)),new Uint8Array(n.final())]).toString("utf-8")}decodeiv(e){if(!e||!this.sharedSecret)return"";const t=Je.base64ToBytes(e);if(t.length<28)return"";const r=t.slice(t.length-12),n=t.slice(t.length-28,t.length-12),s=l.default.createDecipheriv("aes-256-gcm",Je.base64ToBytes(this.sharedSecret),r);s.setAuthTag(n);const o=t.slice(0,t.length-28);return Buffer.concat([new Uint8Array(s.update(o)),new Uint8Array(s.final())]).toString("utf-8")}},EcdhWeb:class extends ps{constructor(e="P-256",t="raw"){super(e,t),this.__subtle=l.default.webcrypto.subtle}},Socks5:class{upstreamProxy;server=null;clientSockets=new Set;systemProxy=null;useSystemProxy=!1;__debug=!1;__uuid;__port=0;__event;__pipeline;__logger;__totalReceived=0;__totalSent=0;__rules=[];constructor(e,t=!1,r){this.__event=new w,this.upstreamProxy=this.filterProxyConfigs(e),this._updateRules(),this.__debug=t,this.__uuid=b(),this.__pipeline=new Oe(1),this.__logger=r||console}get id(){return this.__uuid}get port(){return this.__port}get url(){return this.__port?`socks5://127.0.0.1:${this.__port}`:""}get totalReceived(){return this.__totalReceived}get totalSent(){return this.__totalSent}get rules(){return this.__rules}validateProxyConfig(e){const{ipaddress:t,port:r,userId:n,password:s}=e||{};return t&&"string"==typeof t?r&&"number"==typeof r?n&&"string"==typeof n?s&&"string"==typeof s?"":"无效的上游代理密码":"无效的上游代理用户名":"无效的上游代理端口":"无效的上游代理 IP 地址"}filterProxyConfigs(e){let t=[];t=e&&Array.isArray(e)?e:[e];const r=[];for(const e of t)this.validateProxyConfig(e)||r.push(e);return r}async start(e=8838){if(this.upstreamProxy.length<=0)return 0;if(this.server)return this.__debug&&console.info("[socks5] server is already running"),this.__port;const t=await this.findAvailablePort(e);return t?(this.setupServer(t),t):0}setupServer(e){try{return!!e&&(this.__port=e,this.server=f.default.createServer((e=>this.handleSocksConnection(e))),this.server.listen(e,(()=>{this.__debug&&this.__logger?.info(`[socks5] server is running on port ${e}`)})),this.server.on("error",(e=>{this.__logger?.error("[socks5] server error:",e),this.close()})),this.server.on("close",(()=>{this.__debug&&this.__logger?.info("[socks5] server closed")})),!0)}catch(e){return this.__debug&&this.__logger?.info("[socks5] setupServer error:",e),!1}}restart(){this.__debug&&console.info("[socks5] server restart");const e=this.__port;return!!e&&(this.close(),this.setupServer(e))}setUpstreamProxy(e){if(!e)return!1;const t=this.filterProxyConfigs(e);return!(!t||t.length<=0)&&(this.upstreamProxy=t,this._updateRules(),!0)}setSystemProxy(e,t){this.useSystemProxy=e,e&&t&&t.ipaddress&&t.port&&(this.systemProxy=t)}async findAvailablePort(e,t=200){let r=e,n=0;for(;n<t;)try{return await new Promise(((e,t)=>{const n=f.default.createServer();n.unref(),n.on("error",t),n.listen(r,(()=>{n.close((()=>e()))}))})),r}catch{n++,r++}return this.__debug&&this.__logger?.warn("[socks5] findAvailablePort failed"),0}async handleSocksConnection(e){let t="";try{if(!e)return;this.clientSockets.add(e),e.on("close",(()=>{this.clientSockets.delete(e),e?.destroy()})),await this.performHandshake(e);const r=await this.parseClientRequest(e),n=r.addr;t=`${n}:${r.port}`,this.__debug&&this.__logger?.info("[socks5] connection",t);const s=this.findProxyConfig(n);if(s){const n=await this.connectToUpstreamProxy(r,s);this.__logger?.info(`[socks5] connection upstream ${t}, use ${s.ipaddress}:${s.port}`),this.setupDataForwarding(e,n,"upstream")}else if(this.useSystemProxy&&this.systemProxy&&!kr.isLocalIPAddress(n)){const n=await this.connectToSystemProxy(r);this.__debug&&console.info("[socks5] connection system",t),this.setupDataForwarding(e,n,"system")}else{this.__debug&&console.info("[socks5] connection local",t);const n=await this.connectToLocal(r);this.setupDataForwarding(e,n,"local")}}catch(r){this.__debug&&this.__logger?.error("[socks5] connection failed:",r),e.end(new Uint8Array([5,1])),this._emit("error",r,t)}}performHandshake(e){return new Promise(((t,r)=>{e.once("data",(n=>{if(5!==n[0])return r(new Error("Unsupported SOCKS version"));e.write(new Uint8Array([5,0])),t()}))}))}parseClientRequest(e){return new Promise(((t,r)=>{e.once("data",(e=>{let n,s;if(1!==e[1])return r(new Error("Unsupported command"));if(1===e[3])n=e.slice(4,8).join("."),s=e.readUInt16BE(8);else{if(3!==e[3])return r(new Error("Unsupported address type"));{const t=e[4];n=e.slice(5,5+t).toString(),s=e.readUInt16BE(5+t)}}t({addr:n,port:s})}))}))}async connectToUpstreamProxy(e,t){const r={proxy:{ipaddress:t.ipaddress,port:t.port,type:5,userId:t.userId,password:t.password},command:"connect",destination:{host:e.addr,port:e.port}};try{return await this.connectToProxy(r)}catch(e){throw new Error("Failed to connect to upstream proxy: "+e)}}async connectToSystemProxy(e){const t={proxy:{...this.systemProxy,type:5},command:"connect",destination:{host:e.addr,port:e.port}};try{return await this.connectToProxy(t)}catch(e){throw new Error("Failed to connect to system proxy: "+e)}}async connectToProxy(e){const{socket:t}=await s.SocksClient.createConnection(e);return t}async connectToLocal(e){return new Promise(((t,r)=>{const n=f.default.createConnection(e.port,e.addr,(()=>{t(n)}));n.on("error",(e=>{r(e)}))}))}setupDataForwarding(e,t,r="local"){e.write(new Uint8Array([5,0,0,1,0,0,0,0,0,0])),e.pipe(t),t.pipe(e);const n=`${t.localAddress}:${t.localPort}`;this.__debug&&console.info(`[socks5] setupDataForwarding ${n}`),"upstream"===r&&(t.on("data",(e=>{this.__totalSent+=e.length})),e.on("data",(e=>{this.__totalReceived+=e.length}))),e.on("close",(()=>{this.__debug&&console.info("[socks5] client socket close",n),t.end()})),t.on("close",(()=>{this.__debug&&console.info("[socks5] target socket close",n),e.end()})),e.on("error",(e=>{this.__debug&&console.error("[socks5] client socket error:",e?.message),t.end()})),t.on("error",(t=>{this.__debug&&console.error("[socks5] target socket error:",t?.message),e.end()}))}findProxyConfig(e){if(!kr.isLocalIPAddress(e))for(const t of this.upstreamProxy)if(this.isAllowedDomain(e,t.rules||[]))return t}isAllowedDomain(e,t){if(kr.isLocalIPAddress(e))return!1;if(!t||!Array.isArray(t))return!1;for(const r of t){if("*"===r)return!0;if(kr.shExpMatch(e,r))return!0}return!1}close(){try{if(!this.server)return;this.__debug&&this.__logger?.info("[socks5] closing SOCKS5 proxy server..."),this.server.close((e=>{e&&this.__debug&&this.__logger?.error("[socks5] closing the server failed:",e)})),this.clientSockets.forEach((e=>e?.destroy())),this.clientSockets.clear(),this.server=null,this.__port=0}catch(e){this.__debug&&this.__logger?.error("[socks5] close error:",e)}}on(e,t){e&&t&&(this.__event.off(e,t),this.__event.on(e,t))}off(e,t){e&&this.__event.off(e,t)}resetStatistics(){this.__totalReceived=0,this.__totalSent=0}_emit(e,...t){try{if(!e)return;this.__event.emit(e,...t)}catch(e){}}_updateRules(){this.upstreamProxy&&(this.__rules=dn.distinct(this.upstreamProxy.reduce(((e,t)=>e.concat(t?.rules||[])),[])))}},rsa:et};const Cs={...$s};var Es={ossImage:(e,t={})=>{if(!e)return e;const r=kr.parseUrl(e).url;if(t.domain){if(!e.startsWith("http"))return e;const r=dn.toList(t.domain||""),n=e.match(/^http[s]?:\/\/([\w.]+)[\w\W]+/)[1]||"";if(!n||!r.includes(n))return e}const n=[];return t.webp&&!r.endsWith(".gif")&&n.push("format,webp"),t.resize&&n.push(`resize,s_${t.resize}`),t.interlace&&(n.push("interlace,1"),!n.every((e=>!e.startsWith("format")))||r.endsWith(".gif")||r.endsWith(".jpg")||n.push("format,jpg")),n.length<=0?e:`${r}?x-oss-process=image/${n.join("/")}`},ossSnapshot:(e,t={})=>{if(!e)return e;const r=kr.parseUrl(e).url,n=["snapshot"],{m:s="fast",f:o="jpg"}=t;return(t.t||0===t.t)&&n.push(`t_${t.t}`),t.w&&n.push(`w_${t.w}`),t.h&&n.push(`h_${t.h}`),s&&n.push(`m_${s}`),o&&n.push(`f_${o}`),t.ar&&n.push(`ar_${t.ar}`),`${r}?x-oss-process=video/${n.join(",")}`},ossBase64:e=>Pe.toBase64(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")};const Ps={overrode:!1,tag:!1,format:"hh:mm:ss.SSS"},Ts=e=>(...t)=>{const r=console[e];Ps.overrode?r(...t):qs(r,e,...t)},qs=(e,t,...r)=>{const n=qr.format(new Date,Ps.format),s=Ps.tag?`[${t}]`:"";s&&n?e.apply(console,[`${n} ${s}`,...r]):n?e.apply(console,[`${n}`,...r]):s?e.apply(console,[`${s}`,...r]):e.apply(console,[...r])};var Bs={override:()=>{if(Ps.overrode)return;Ps.overrode=!0;["log","info","warn","error"].forEach((e=>{const t=console[e];console[e]=(...r)=>{qs(t,e,...r)}}))},log:Ts("log"),info:Ts("info"),warn:Ts("warn"),error:Ts("error"),config:({tag:e=Ps.tag,format:t=Ps.format}={})=>{Ps.tag=e,Ps.format=t}};class Ls{key;storage;fields=[];constructor(e){this.key=e?.key||"",this.fields=e?.fields||[],this.storage=e?.storage||void 0}save=ur.debounce((e=>{if(this.key&&this.storage)try{const{setItem:t,setStorageSync:r}=this.storage;if(r)return r(this.key,e);if(t)return t(this.key,JSON.stringify(e))}catch(e){console.error("persit save ",e)}}));read(){if(this.key&&this.storage)try{const{getItem:e,getStorageSync:t}=this.storage;if(t)return t(this.key);if(e){const t=e(this.key);return JSON.parse(t)}}catch(e){return void console.error("persit read ",e)}}handleSave(e,t){if(!this.fields.includes(t)||!e)return;const r=yr.copy(e,{fields:this.fields});this.save(r)}}class Rs extends w{setters={};getters={};actions={};persist;constructor(){super()}async dispatch(e,t=void 0){const r=this,n=Reflect.get(r.actions,e);if(!re.isFunction(n))return;const[,s]=await ur.run(n({...r,commit:r.commit.bind(r),query:r.query.bind(r),dispatch:r.dispatch.bind(r)},t));return s}async query(e){const t=Reflect.get(this,e);let r;if(null!=t&&""!==t)r=yr.copy(t);else{const[,t]=await ur.exec((()=>this.dispatch(e)),`${this.__eventId}_${e}`);r=t}return r}commit(e,t){re.isObject(t)&&(t=yr.copy(t)),this[e]=t}}const Fs=(e,t)=>{const r=Object.assign(new Rs,e||{});r.__persist=new Ls(t||r.persist);const n=r.__persist.read(),s=n?Object.assign(r,n):r;return new Proxy(s,{get:(e,t,r)=>{const n=Reflect.get(e.getters,t);return re.isFunction(n)?n(e):Reflect.get(e,t,r)},set:(e,t,r,n)=>{const s=Reflect.get(e.setters,t);if(re.isFunction(s)&&!s(e,r))return!0;const o=Reflect.set(e,t,r,n);return o&&(e.emit(t.toString(),r),e?.__persist?.handleSave(e,t.toString())),o},has:(e,t)=>Reflect.has(e,t)})};class Us{host="";list=[];constructor(e,t={}){this._parseHost(e);const{width:r=500,height:n=400}=t,s=kr.parseUrl(e)?.params||{};s["x-oss-process"]=`image/resize,w_${r},h_${n},m_fill`;const o=kr.stringify(s,{uri:!1});this.list.push(`${e}?${o}`)}_parseHost(e){e&&!this.host&&/^http[s]?:\/\/([\w.]+)/.test(e)&&(this.host=e.replace(/^http[s]?:\/\/([\w.]+)[\w\W]+/,"$1"))}image(e,t={}){if(!e||!e.includes(this.host))return;if(this.list.length<=0)return;const r={g:"nw",...t},n=e.replace(/^http[s]?:\/\/[\w.]+\/([\w-.,_/?%&=]+)$/,"$1"),s=Rr.base64.encodeByOss(n),o=kr.stringify({image:s,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${o}`)}text(e,t={},r={}){if(!e)return;const n={g:"nw",...t},s=Rr.base64.encodeByOss(e),o=kr.stringify({text:s,...n,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${o}`)}result(){return this.list.join("")}}class Is{__list=[];constructor(){this.clear()}add(e){const t=ur.run(e);return this.__list.push(t),this}clear(){return this.__list=[],this}wait(){const e=this.__list;return this.clear(),Promise.allSettled(e)}}const Ds=new class{state=Fs(new Rs);frame=new jr;cache=new Map;cacheTime=new Map;setCache=(e,t)=>null!=t&&(!!e&&(this.cache.set(e,t),this.cacheTime.set(e,Date.now()),!0));hasCache=e=>{if(!e)return!1;this.cache.has(e)};getCache=e=>{if(e)return this.cache.get(e)};getCacheTime=e=>e&&this.cacheTime.get(e)||0;removeCache=e=>{e&&(this.cache.delete(e),this.cacheTime.delete(e))};cacheId=e=>`_${e}_cache_`;timesRecord=(e,t={})=>{if(!e)return;const{mode:r="running",cycle:n="day"}=t||{},s=this.cacheId(r),o=this.getCache(s)||{},i=Date.now(),a=o[e],c={time:i,count:1,cycle:n};return a&&("day"!==n||qr.isToday(a.time||0))&&(c.count=1+(a.count||0)),o[e]=c,this.setCache(s,o),o};timesValid=(e,t={})=>{if(!e)return!1;const{max:r=1,interval:n=0,mode:s="running",cycle:o="day"}=t||{},i=this.cacheId(s);let a=this.getCache(i);if(!a)return!0;const c=a[e];if(!c)return!0;if("day"===o&&!qr.isToday(c.time||0))return!0;if(r<=(c.count||0))return!1;return!(Date.now()-(c.time||0)<n)};timesClean=(e="running")=>{const t=this.cacheId(e),r=this.getCache(t);if(!r)return;const n=hn.copy(r);hn.forof(n,((e,t)=>{"day"!==t.cycle&&void 0!==t.cycle||qr.isToday(t.time||0)||delete r[e]})),this.setCache(t,r)};parallel=()=>new Is};class Ms{id="";start=0;end=0;cost=0;name="";type="";desc="";timeStartDesc="";timeEndDesc="";isDone=!1;flag=0;constructor(){this.id=b(),this.start=Date.now(),this.timeStartDesc=qr.format(this.start,"hh:mm:ss.SSS")}get time(){return this.flag?this.end:this.start}get timeDesc(){return this.flag?this.timeEndDesc:this.timeStartDesc}done=(e=Date.now())=>{this.start&&(this.end=e,this.cost=this.end-this.start,this.timeEndDesc=qr.format(this.end,"hh:mm:ss.SSS"),this.isDone=!0)}}const Ks=new class{__map=new Map;__trackList=[];opened=!0;clear(){return this.__map.clear(),this.__trackList=[],this}add(e,{desc:t="",type:r=""}={}){if(!e||!this.opened)return"";const n=new Ms;return n.name=e,n.type=r,n.desc=t,this.__trackList.push(n),n.id}done(e){if(!e||!this.opened)return;const t=this.__trackList.find((t=>t.id===e));if(!t||t.isDone)return;t.done();const r=yr.cloneClass(t);r.id=this._endId(e),r.flag=1,r.desc=`${t.desc} | end`,this.__trackList.push(r)}getTrack(e){return this.__trackList.find((t=>t.id===e))}getLine(e){if(!e||e.endsWith("-end"))return[];const t=this.__trackList.findIndex((t=>t.id===e));if(t<0)return[];const r=this._endId(e),n=this.__trackList.findIndex((e=>e.id===r)),s=n<0?this.__trackList.length-t:n-t+1;return dn.take(this.__trackList,s,t)}getList(e,t=""){if(!e)return[];const r=this.__trackList.filter((t=>t.name===e));if(r.length<=0)return[];if(!t)return r;const n=this._endId(t);return this.__trackList.filter((e=>e.id===t||e.id===n))}get list(){return this.__trackList}get size(){return this.__trackList.length}_endId=e=>`${e}-end`;report(e){const t=this.list;if(!t||t.length<=0)return;const r=t[0].time;t.forEach((t=>e&&e(t,r)))}},zs={cdn:Es,watermark:(e,t)=>new Us(e,t)},Ns={Store:Rs,storeRef:Fs,Persist:Ls,persistConfig:(e,t,r)=>({key:e,fields:t,storage:r})},Hs=Ds,Vs=Ks,Ws=Bs;e.Event=w,e.KValue=_,e.Mapping=class{_map=new Map;constructor(){this._map.clear()}get keys(){return Array.from(this._map.keys())}get values(){return Array.from(this._map.values())}get(e){if(!e)return;const t=this._map.get(e);return t?t.value:void 0}getKV(e){if(e)return this._map.get(e)}set(e,t){if(!e)return;const r=this._map.get(e);r?(r.set(t),this.clean()):this._map.set(e,new _(e,t))}delete(e,t){if(!e)return;const r=this._map.get(e);t&&t(r?.value),this._map.delete(e)}clear(){this._map.clear()}clean(e=100,t){try{if(this._map.size<=e)return;if(this.keys.filter((e=>{if(!this._map.has(e))return!1;const t=this._map.get(e);return!t||!t.value})).forEach((e=>{this._map.delete(e)})),this._map.size<=e)return;const r=this.values.sort(((e,t)=>e.timestamp-t.timestamp)),n=r.length-e;if(n<=0)return;r.splice(0,n).forEach((e=>{this.delete(e.key,t)}))}catch(e){console.log("mapping clean",e)}}},e.dCdn=zs,e.dHook=rn,e.dJoker=Hs,e.dLogger=Ws,e.dMini=cs,e.dNode=Cs,e.dStore=Ns,e.dTracker=Vs,e.dUtil=Un,e.dWeb=gs,Object.defineProperty(e,"__esModule",{value:!0})}));