ddan-js 2.4.6 → 2.4.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.
@@ -1 +1 @@
1
- var e;e||(e={});var t={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)}};const r="0123456789",n="abcdefghijklmnopqrstuvwxyz",s="ABCDEFGHIJKLMNOPQRSTUVWXYZ";var i={keyNumber:r,keyLower:n,keyUpper:s,keyChars:r+n+s};const o=(e=0,t=0)=>{const r=i.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 a{__map;__tagList;__eventId="";constructor(){this.__map=new Map,this.__tagList=[],this.__eventId=o()}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,handler: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.handler!==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.handler)})),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 c{_loopTimer;_event=new a;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 l={oneDay:864e5,oneHour:36e5,oneMinute:6e4,oneSecond:1e3};class u{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/l.oneSecond);let r=t.countdown;t.d=Math.floor(r/l.oneDay),t.dd=(t.d<10?"0":"")+t.d,r%=l.oneDay,t.h=Math.floor(r/l.oneHour),t.hh=(t.h<10?"0":"")+t.h,r%=l.oneHour,t.m=Math.floor(r/l.oneMinute),t.mm=(t.m<10?"0":"")+t.m,r%=l.oneMinute,t.s=Math.floor(r/l.oneSecond),t.ss=(t.s<10?"0":"")+t.s,r%=l.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>l.oneHour?"hh:mm:ss":t.countdown>l.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]))}}const f=(e,t="yyyy-MM-dd hh:mm:ss")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;return r?h(r).format(t):""},h=e=>{const t="string"==typeof e||"number"==typeof e?new Date(e):e;return new u(t||0)};function d({year:e=0,month:t=0,date:r=0,hour:n=0,minute:s=0,second:i=0}){const o=`${e||"yyyy"}/${t||"MM"}/${r||"dd"} ${n}:${s}:${i}`;return new Date(f(Date.now(),o)).getTime()}var g={...l,now:function(){return h(new Date)},isToday:e=>e&&(new Date).toDateString()===new Date(e).toDateString(),parseTimestamp:d,todayZero:()=>d({}),format:f,countdown:(e,t="")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;if(!r)return"";return h(r).toCountdown(t)},dtime:h,loopFrame:(e=500)=>new c(e)},p="object"==typeof global&&global&&global.Object===Object&&global,m="object"==typeof self&&self&&self.Object===Object&&self;const y=(p||m||Function("return this")()).Symbol,{toString:w,hasOwnProperty:b,propertyIsEnumerable:v}=Object.prototype,_=y?y.toStringTag:void 0;function $(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":_&&_ in Object(e)?function(e){const t=b.call(e,_),r=e[_];let n=!1;try{e[_]=void 0,n=!0}catch(e){}const s=w.call(e);return n&&(t?e[_]=r:delete e[_]),s}(e):w.call(e)}var x={getTag:$,getType:function(e){return($(e).match(/\w+/g)||["object","Undefined"])[1]||""},toString:w,hasOwnProperty:b,propertyIsEnumerable:v},k="[object Function]",S="[object GeneratorFunction]",A="[object AsyncFunction]",q=9007199254740991;const j=/^(?:0|[1-9]\d*)$/;function C(e){const t=typeof e;return null!=e&&("object"==t||"function"==t)}function O(e){return null!=e&&"object"==typeof e}const L=Array.isArray;function E(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=q}(e.length)&&!M(e)}function F(e){return O(e)&&E(e)}function M(e){var t=C(e)?x.getTag(e):"";return t===k||t===S||t===A}var R={is:function(e,t){return x.getTag(e)===`[object ${t}]`},isNumber:function(e){return"[object Number]"===x.getTag(e)},isString:function(e){return"string"==typeof e||!L(e)&&O(e)&&"[object String]"==x.getTag(e)},isObject:C,isObjectLike:O,isPlainObject:function(e){if(!O(e)||"[object Object]"!=x.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||O(e)&&"[object Symbol]"===x.getTag(e)},isFunction:M,isArray:L,isArrayLikeObject:F,isIndex:function(e,t){return!!(t=null==t?q:t)&&("number"==typeof e||j.test(e))&&e>-1&&e%1==0&&e<t},isArrayLike:E,isPrototype:function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Object.prototype)},isArguments:function(e){return F(e)&&x.hasOwnProperty.call(e,"callee")&&(!x.propertyIsEnumerable.call(e,"callee")||"[object Arguments]"==x.toString.call(e))},isPromise:function(e){return"[object Promise]"===(C(e)?x.getTag(e):"")}};const D=NaN,P=/^\s+|\s+$/g,T=/^[-+]0x[0-9a-f]+$/i,I=/^0b[01]+$/i,z=/^0o[0-7]+$/i,N=parseInt,B=1/0,U=17976931348623157e292;function V(e){if("number"==typeof e)return e;if(R.isSymbol(e))return D;if(R.isObject(e)){const t="function"==typeof e.valueOf?e.valueOf():e;e=R.isObject(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(P,"");const t=I.test(e);return t||z.test(e)?N(e.slice(2),t?2:8):T.test(e)?D:+e}function H(e){return e?(e=V(e))===B||e===-B?(e<0?-1:1)*U:e==e?e:0:0===e?e:0}var W={toNumber:V,toFinite:H,toInteger:function(e){var t=H(e),r=t%1;return t==t?r?t-r:t:0}};const Z="Expected a function",J=Math.max,G=Math.min;function Y(e,t=300,r={}){var n,s,i,o,a,c,l=0,u=!1,f=!1,h=!0;if("function"!=typeof e)throw new TypeError(Z);function d(t){var r=n,i=s;return n=s=void 0,l=t,o=e.apply(i,r)}function g(e){var r=e-c;return void 0===c||r>=t||r<0||f&&e-l>=i}function p(){var e=Date.now();if(g(e))return m(e);a=setTimeout(p,function(e){var r=t-(e-c);return f?G(r,i-(e-l)):r}(e))}function m(e){return a=void 0,h&&n?d(e):(n=s=void 0,o)}function y(...e){var r=Date.now(),i=g(r);if(n=arguments,s=this,c=r,i){if(void 0===a)return function(e){return l=e,a=setTimeout(p,t),u?d(e):o}(c);if(f)return a=setTimeout(p,t),d(c)}return void 0===a&&(a=setTimeout(p,t)),o}return t=W.toNumber(t)||0,R.isObject(r)&&(u=!!r.leading,i=(f="maxWait"in r)?J(W.toNumber(r.maxWait)||0,t):i,h="trailing"in r?!!r.trailing:h),y.cancel=function(){void 0!==a&&clearTimeout(a),l=0,n=c=s=a=void 0},y.flush=function(){return void 0===a?o:m(Date.now())},y}var K={to:async function(e,t){return e.then((e=>[null,e])).catch((e=>(t&&Object.assign(e,t),[e,void 0])))},delay:(e=1e3)=>new Promise((t=>{setTimeout(t,e)}))};class X{__source;constructor(e){this.__source=e}run(){try{let e;return e=R.isFunction(this.__source)?this.__source():this.__source,K.to(Promise.resolve(e))}catch(e){return Promise.resolve([e,void 0])}}static _lockedMap=new Map;static _lock(e,t){if(!e||!t)return;const r=new X(t).run();return this._lockedMap.set(e,r),r}static _unlock(e){e&&this._lockedMap.delete(e)}static async exec(e,t){if(!e||!t)return new X(e).run();const r=this._lockedMap.get(t);if(r)return r;const n=this._lock(t,e);if(!n)return new X(e).run();const s=await n;return this._unlock(t),s}}class Q{__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(R.isFunction(e))r=e(t);else{if(R.isPromise(e))return e.then((e=>({...t,...e})));r=e}return R.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])}}}var ee={...K,run:async function(e,t=0){if(t<=0)return new X(e).run();const r=t>0?Date.now():0,n=await new X(e).run(),s=Date.now()-r;return s<t&&await K.delay(t-s),n},exec:(e,t="")=>X.exec(e,t),debounce:Y,throttle:function(e,t=300,r={}){var n=!1,s=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return R.isObject(r)&&(n=r.leading?!!r.leading:n,s=r.trailing?!!r.trailing:s),Y(e,t,{leading:n,maxWait:t,trailing:s})},task:e=>new Q(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 i=r<1?100:r;do{if(!t)break;const[e,r]=await K.to(Promise.resolve(t()));if(e||!1===r)break;s>0&&s--,0!==s&&await K.delay(i)}while(-1===n||s>0)}};function te(e){return Math.floor(Math.random()*e)}function re(e,t=10){return+parseFloat(Number(e).toExponential(t))}const ne=180/Math.PI;var se={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:re,float:function(e,{digits:t=2,fixed:r=!1}={}){const n=re(e).toFixed(t);return r||!t?+n:+n.replace(/(\.[1-9]?)0+$/,"$1").replace(/\.$/,"")},radian2degree:function(e){return e*ne},degree2radian:function(e){return e/ne},formatMemory:function(e){let t=e;const r={g:0,m:0,kb:0,b:0,desc:""};return t>=1<<30&&(r.g=Math.floor(t/(1<<30)),t%=1<<30),t>=1<<20&&(r.m=Math.floor(t/(1<<20)),t%=1<<20),t>=1024&&(r.kb=Math.floor(t/1024),t%=1024),r.b=t,r.desc=e>=1<<30?(e/(1<<30)).toFixed(2)+"G":e>=1<<20?(e/(1<<20)).toFixed(2)+"M":e>=1024?(e/1024).toFixed(2)+"KB":e+"B",r}};function ie(e){return e!=e}function oe(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 ae,ce,le=(ae=Object.keys,ce=Object,function(e){return ae(ce(e))}),ue=Math.max;function fe(e,t){var r=R.isArray(e)||R.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 i in e)!t&&!x.hasOwnProperty.call(e,i)||s&&("length"==i||R.isIndex(i,n))||r.push(i);return r}function he(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 i=new Array(n);for(;++s<n;)i[s]=e[s+t];return i}(e,t,r)}const de=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff\\ufe0e\\ufe0f]");function ge(e){return de.test(e)}const pe="\\ud800-\\udfff",me=`[${pe}]`,ye="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]",we="\\ud83c[\\udffb-\\udfff]",be=`[^${pe}]`,ve="(?:\\ud83c[\\udde6-\\uddff]){2}",_e="[\\ud800-\\udbff][\\udc00-\\udfff]",$e=`${`(?:${ye}|${we})`}?`,xe="[\\ufe0e\\ufe0f]?",ke=xe+$e+`(?:\\u200d(?:${[be,ve,_e].join("|")})${xe+$e})*`,Se=`(?:${[`${be}${ye}?`,ye,ve,_e,me].join("|")})`,Ae=RegExp(`${we}(?=${we})|${Se+ke}`,"g");function qe(e){return ge(e)?function(e){return e.match(Ae)||[]}(e):function(e){return e.split("")}(e)}function je(e){return t=>{if(!t)return"";const r=ge(t)?qe(t):void 0,n=r?r[0]:t[0],s=r?he(r,1).join(""):t.slice(1);return n[e]()+s}}const Ce="\\ud800-\\udfff",Oe="\\u2700-\\u27bf",Le="a-z\\xdf-\\xf6\\xf8-\\xff",Ee="A-Z\\xc0-\\xd6\\xd8-\\xde",Fe="\\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",Me="['’]",Re=`[${Fe}]`,De=`[${Oe}]`,Pe=`[${Le}]`,Te=`[^${Ce}${Fe+"\\d"+Oe+Le+Ee}]`,Ie="(?:\\ud83c[\\udde6-\\uddff]){2}",ze="[\\ud800-\\udbff][\\udc00-\\udfff]",Ne=`[${Ee}]`,Be=`(?:${Pe}|${Te})`,Ue=`(?:${Ne}|${Te})`,Ve=`(?:${Me}(?:d|ll|m|re|s|t|ve))?`,He=`(?:${Me}(?:D|LL|M|RE|S|T|VE))?`,We="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]|\\ud83c[\\udffb-\\udfff])?",Ze="[\\ufe0e\\ufe0f]?",Je=Ze+We+`(?:\\u200d(?:${[`[^${Ce}]`,Ie,ze].join("|")})${Ze+We})*`,Ge=`(?:${[De,Ie,ze].join("|")})${Je}`,Ye=RegExp([`${Ne}?${Pe}+${Ve}(?=${[Re,Ne,"$"].join("|")})`,`${Ue}+${He}(?=${[Re,Ne+Be,"$"].join("|")})`,`${Ne}?${Be}+${Ve}`,`${Ne}+${He}`,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])","\\d+",Ge].join("|"),"g");const Ke=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 ]/),Xe=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function Qe(e,t){if(void 0===t){const t=Ke(e)?function(e){return e.match(Ye)}(e):function(e){return e.match(Xe)}(e);return t||[]}return e.match(t)||[]}function et(e){if(null==e)return"";if("string"==typeof e)return e;if(Array.isArray(e))return`${e.map((e=>null==e?e:et(e)))}`;if(R.isSymbol(e))return e.toString();const t=`${e}`;return"0"==t&&1/e==-Infinity?"-0":t}const tt=je("toUpperCase"),rt=je("toLowerCase");var nt={toString:et,startCase:e=>Qe(`${e}`.replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+tt(t)),""),snakeCase:e=>Qe(et(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"_":"")+t.toLowerCase()),""),kebabCase:e=>Qe(et(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"-":"")+t.toLowerCase()),""),camelCase:e=>Qe(et(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>(t=t.toLowerCase(),e+(r?tt(t):t))),""),upperCase:e=>Qe(et(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toUpperCase()),""),upperFirst:tt,lowerCase:e=>Qe(et(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toLowerCase()),""),lowerFirst:rt,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}};const st=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]=st(e[r]));return t};const it=(e,t,r={})=>{const n=e||{},{ignoreUndefined:s=!0,cover:i=!1}=r;if(!t)return n;for(const o in t){if(!t.hasOwnProperty(o))continue;const a=t[o];"object"!=typeof a||"object"!=typeof e[o]||i?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[o]=a):n[o]=ot(e[o],a,r)}return n},ot=(e,t,r={})=>{let n={};return n=e&&"object"==typeof e&&!Array.isArray(e)?it(e,t,r):it({...e},t,r),n},at=(e,t,r={})=>it({...e},t,{cover:!0,...r}),ct=(e,t,r,n,s=!1)=>{if(!e||!t||!r)return;let i=e[t];null!==i&&"object"==typeof i&&s&&Object.keys(i).forEach((e=>{ct(i,e,r,n,s)})),Object.defineProperty(e,t,{configurable:!0,enumerable:!0,set:o=>{r.call(n,o,i),i=o,s&&ct(e,t,r,n,s)},get:()=>i})};var lt={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:i=!0}=t;if((!n||n.length<=0)&&!s)return r;const o={};for(const e in r){if(!r.hasOwnProperty(e))continue;const a=s?i&&e.startsWith("_")?e:nt.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()||(o[a]=c))}return o},clone:st,merge:ot,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]=nt.parseValue(n,{number:t,boolean:r});else e[n]=nt.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:at,combines:(e,t={})=>{let r={};if(!e||e.length<=0)return r;const{ignoreUndefined:n=!0,ignoreNull:s=!0,ignoreZero:i=!0,ignoreEmptyArray:o=!0,ignoreEmptyString:a=!0,cover:c=!0}=t;return e.forEach((e=>r=at(r,e,{ignoreUndefined:n,ignoreNull:s,ignoreZero:i,ignoreEmptyArray:o,ignoreEmptyString:a,cover:c}))),r},observe:ct};class ut{__value=void 0;set(e){this.__value=e}get(){return this.__value}}var ft={singleton:function(){class e{static __instance__;constructor(){}static get Instance(){return e.__instance__||(e.__instance__=new this),e.__instance__}}return e},getset:function(e){const t=new ut;return void 0!==e&&t.set(e),t}};var ht={...R,...x,...lt,...ft,includes:function(e,t,r,n){e=R.isArrayLike(e)?e:function(e){return e?oe(e,function(e){return R.isArrayLike(e)?fe(e):function(e){if(!R.isPrototype(e))return le(e);var t=[];for(var r in Object(e))x.hasOwnProperty.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e)}(e)):[]}(e),r=r&&!n?W.toInteger(r):0;var s=e.length;return r<0&&(r=ue(s+r,0)),R.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,i=r+(n?1:-1);n?i--:++i<s;)if(t(e[i],i,e))return i;return-1}(e,ie,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(R.isObject(e)&&(r=R.isArray(e)?e.entries():Object.entries(e),r))for(const[e,n]of r)t&&t(e,n)}};var dt={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]:[]}};var gt={...dt,stepAction:function(e,t,r=100){if(!R.isFunction(t))return;if(!R.isArray(e)||e.length<=0)return;let n=0;for(;e.length>n;){let s=r+n,i=e.slice(n,s);t&&t(i),n=s}},skip:function(e,t){if(!R.isArray(e)||e.length<=0)return[];const r=t;return e.slice(r)},take:function(e,t,r=0){if(!R.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!R.isArray(e)||e.length<=0?[]:[...new Set(e)]},randoms:function(e,t=1,r=!1){const n=e.length||0;return se.randoms(n,t,r).map((t=>e[t]))||[]},toKV:(e,t,r)=>{const n={};return t&&r?((e||[]).forEach((e=>{if(!e||!R.isObject(e))return;const s=e[t];(R.isString(s)&&""!==s||R.isNumber(s))&&(n[s]=e[r])})),n):n}};const pt="[object Object]",mt="[object Array]",yt=e=>Object.prototype.toString.call(e),wt=(e,t,r=!1)=>{if(e===t)return;const n=yt(e);if(n===yt(t))if(n===mt&&e.length>=t.length)for(let r=0;r<t.length;r++)wt(e[r],t[r]);else if(n===pt&&Object.keys(e).length>=Object.keys(t).length)for(let n in t)r||void 0!==e[n]?wt(e[n],t[n]):e[n]=null},bt=(e,t,r,n="",s=!1)=>{if(e===t)return;const i=yt(e),o=yt(t);if(i===mt&&o===i&&e.length>=t.length)for(let s=0;s<e.length;s++)bt(e[s],t[s],r,`${n}[${s}]`);else if(i===pt&&o===i&&(s||Object.keys(e).length>=Object.keys(t).length)){const s=Object.keys(e);for(let i of s){const s=e[i],o=t[i],a=yt(s),c=yt(o);if(s!==o)if(a===mt&&c===a&&s.length>=o.length)for(let e=0;e<s.length;e++)bt(s[e],o[e],r,`${n?n+".":""}${i}[${e}]`);else if(a===pt&&c===a&&Object.keys(s).length>=Object.keys(o).length)for(let e in s)bt(s[e],o[e],r,`${n?n+".":""}${i}.${e}`);else r[`${n?n+".":""}${i}`]=s}}else r[n]=e};class vt{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 _t{reqConfig={};handleRequest;handleEncrypt;handleDecrypt;handleError;interceptors={request:new vt,response:new vt};constructor(e){const{reqConfig:t={},requestEncrypt:r,responseDecrypt:n,handleError:s,api:i}=e;this.reqConfig=t,this.handleEncrypt=r,this.handleDecrypt=n,this.handleError=s,this.handleRequest=i}static blockId="blockid";static requestLock={};lockR(e,t){_t.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete _t.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=lt.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 i;try{if("block"===n.model)this.lockR(_t.blockId,(()=>this._fetch(s,n.hasEncrypt))),i=await _t.requestLock[_t.blockId].request;else if(_t.requestLock[_t.blockId]&&_t.requestLock[_t.blockId].lock&&await _t.requestLock[_t.blockId].request,"debounce"===n.model||"debounceUrl"===n.model){let e;e="debounceUrl"===n.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),_t.requestLock[e]||this.lockR(e,(()=>this._fetch(s,n.hasEncrypt))),i=await _t.requestLock[e].request,this.unlockR(e)}else i=await this._fetch(s,n.hasEncrypt)}catch(e){this.handleError&&this.handleError(e)}return this.interceptors.response.invoke({res:i,config:r,reqId:this.getIdFromReq(s),refetch:()=>({sig:"REFETCH",result:this.request(e,t||{})})})}}const $t=e=>"function"!=typeof e?e:(t={})=>new Promise(((r,n)=>{e(Object.assign(t,{success:r,fail:n}))}));var xt={diff:function(e,t){const r={};return(e=>{if(yt(e)===pt)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];yt(n[t])!==pt&&(n[t]={}),n=n[t]}n[r[s-1]]=e[t],delete e[t]}})(e),wt(e,t,!0),bt(e,t,r,"",!0),r},promixify:$t,run:(e,t={})=>e?ee.run($t(e)(t)):ee.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:_t,setWatcher:e=>{let t=e.data,r=e.watch;Object.keys(r).forEach((n=>{let s=t,i=n.split(".");for(let e=0;e<i.length-1;e++)s=s[i[e]];let o=i[i.length-1],a=r[n].handler||r[n],c=r[n].deep;lt.observe(s,o,a,e,c)}))}};const kt=function(e,{sep:t="&",eq:r="=",max:n=1e3,multiple:s=!0,uri:i=!0,parseNumber:o=!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,o,a,u,f=e[t].replace(l,"%20"),h=f.indexOf(r);h>=0?(n=f.substr(0,h),o=f.substr(h+1)):(n=f,o=""),a=i?decodeURIComponent(n):n,u=i?decodeURIComponent(o):o,x.hasOwnProperty.call(c,a)&&s?Array.isArray(c[a])?c[a].push(u):c[a]=[c[a],u]:c[a]=u}return lt.parseValue(c,{number:o,boolean:a}),c},St=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}},At=function(e,t=!0){return t?encodeURIComponent(e):e},qt=function(e,{cleanZero:t=!1,cleanNull:r=!1,cleanWhitespace:n=!1}={}){return!(!t||0!==e)||(!(!r||null!=e)||!(!n||"string"!=typeof e||""!==e.trim()))},jt=/^(http[s]?):\/\/([\w.]+)(?::(\d+))?/,Ct=e=>{if(!e)return;const t=e.match(jt);if(!t||t.length<4)return;const r=t[3]||"";return{origin:t[0],protocol:t[1],domain:`${t[2]}${r?":"+r:""}`,port:r}};var Ot={parse:kt,stringify:function(e,{sep:t="&",eq:r="=",name:n=null,uri:s=!0,cleanZero:i=!1,cleanNull:o=!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=At(St(n),s)+r,l=e[n];return Array.isArray(l)?l.map((function(e){return c+At(St(e),s)})).join(t):qt(l,{cleanZero:i,cleanNull:o,cleanWhitespace:a})?"":c+At(St(l),s)})).filter(Boolean).join(t):n?At(St(n),s)+r+At(St(e),s):""},https:e=>e?e.replace(/^http[s]?/,"https"):e,parseUrl:e=>{let t="",r="";const n=Ct(e);n&&(t=n.domain,r=n.origin);const s=e.split("?"),i=s[0],o=s.length>1?s[1]:"";let a="";const c=i.match(/[\/]?([\w\_\-]+)[.]?[\w]*[?]?$/);c&&(a=c[1]);const l=kt(o,{multiple:!0,uri:!1}),u=i.lastIndexOf("/")+1,f=i.substring(u),h=f.lastIndexOf("."),d=f.substring(0,h),g=f.substring(h),p=i.substring(0,u);return{host:t,origin:r,url:e,path:i,page:a,query:o,filename:d?f:"",filenameWithoutExtension:d,extension:d?g:"",route:d?p:"",params:l}},parsePath:e=>{const t=(e||"").replace(/\\/g,"/").split("?")[0],r=t.lastIndexOf("/")+1,n=t.substring(r),s=n.lastIndexOf("."),i=n.substring(0,s),o=n.substring(s);return{root:t.substring(0,r),name:n,withoutExtension:i,extension:o}},parseHost:Ct,join:(...e)=>{const t=[];return e.forEach((e=>{const r=e.trim().replace(/^\/*(.*?)\/*$/,"$1");r.length>0&&t.push(r)})),t.join("/")}};const Lt=/%[sdj%]/g;let Et=()=>{};function Ft(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 Mt(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(Lt,(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 Rt(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 Dt(e,t,r){let n=0;const s=e.length;!function i(o){if(o&&o.length)return void r(o);const a=n;n+=1,a<s?t(e[a],i):r([])}([])}"undefined"!=typeof process&&process.env&&"production"!==process.env.NODE_ENV&&"undefined"!=typeof window&&"undefined"!=typeof document&&(Et=(e,t)=>{"undefined"!=typeof console&&console.warn&&"undefined"==typeof ASYNC_VALIDATOR_NO_WARNING&&t.every((e=>"string"==typeof e))&&console.warn(e,t)});class Pt extends Error{errors;fields;constructor(e,t){super("Async Validation Error"),this.errors=e,this.fields=t}}function Tt(e,t,r,n,s){if(t.first){const t=new Promise(((t,i)=>{const o=function(e){const t=[];return Object.keys(e).forEach((r=>{t.push(...e[r]||[])})),t}(e);Dt(o,r,(e=>(n(e),e.length?i(new Pt(e,Ft(e))):t(s))))}));return t.catch((e=>e)),t}const i=!0===t.firstFields?Object.keys(e):t.firstFields||[],o=Object.keys(e),a=o.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 Pt(l,Ft(l))):t(s)};o.length||(n(l),t(s)),o.forEach((t=>{const n=e[t];-1!==i.indexOf(t)?Dt(n,r,f):function(e,t,r){const n=[];let s=0;const i=e.length;function o(e){n.push(...e||[]),s++,s===i&&r(n)}e.forEach((e=>{t(e,o)}))}(n,r,f)}))}));return u.catch((e=>e)),u}function It(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],function(e){return!(!e||void 0===e.message)}(r)?(r.field=r.field||e.fullField,r.fieldValue=n,r):{message:"function"==typeof r?r():r,fieldValue:n,field:r.field||e.fullField}}}function zt(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 Nt=(e,t,r,n,s,i)=>{!e.required||r.hasOwnProperty(e.field||"")&&!Rt(t,i||e.type)||n.push(Mt(s.messages.required,e.fullField))};let Bt;const Ut=/^(([^<>()\[\]\\.,;:\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,}))$/,Vt=/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,Ht={integer:e=>Ht.number(e)&&parseInt(e,10)===e,float:e=>Ht.number(e)&&!Ht.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&&!Ht.array(e),method:e=>"function"==typeof e,email:e=>"string"==typeof e&&e.length<=320&&!!e.match(Ut),url:e=>"string"==typeof e&&e.length<=2048&&!!e.match((()=>{if(Bt)return Bt;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(),i=new RegExp(`(?:^${r}$)|(?:^${s}$)`),o=new RegExp(`^${r}$`),a=new RegExp(`^${s}$`),c=e=>e&&e.exact?i:new RegExp(`(?:${t(e)}${r}${t(e)})|(?:${t(e)}${s}${t(e)})`,"g");c.v4=e=>e&&e.exact?o: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 Bt=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"),Bt})()),hex:e=>"string"==typeof e&&!!e.match(Vt)},Wt="enum";var Zt={required:Nt,whitespace:(e,t,r,n,s)=>{(/^\s+$/.test(t)||""===t)&&n.push(Mt(s.messages.whitespace,e.fullField))},type:(e,t,r,n,s)=>{if(e.required&&void 0===t)return void Nt(e,t,r,n,s);const i=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(i)>-1?Ht[i](t)||n.push(Mt(s.messages.types[i],e.fullField,e.type)):i&&typeof t!==e.type&&n.push(Mt(s.messages.types[i],e.fullField,e.type))},range:(e,t,r,n,s)=>{const i="number"==typeof e.len,o="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),i?l!==e.len&&n.push(Mt(s.messages[u].len,e.fullField,e.len)):o&&!a&&l<e.min?n.push(Mt(s.messages[u].min,e.fullField,e.min)):a&&!o&&l>e.max?n.push(Mt(s.messages[u].max,e.fullField,e.max)):o&&a&&(l<e.min||l>e.max)&&n.push(Mt(s.messages[u].range,e.fullField,e.min,e.max))},enum:(e,t,r,n,s)=>{e[Wt]=Array.isArray(e[Wt])?e[Wt]:[],-1===e[Wt].indexOf(t)&&n.push(Mt(s.messages[Wt],e.fullField,e[Wt].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(Mt(s.messages.pattern.mismatch,e.fullField,t,e.pattern));else if("string"==typeof e.pattern){new RegExp(e.pattern).test(t)||n.push(Mt(s.messages.pattern.mismatch,e.fullField,t,e.pattern))}}};const Jt=(e,t,r,n,s)=>{const i=e.type,o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t,i)&&!e.required)return r();Zt.required(e,t,n,o,s,i),Rt(t,i)||Zt.type(e,t,n,o,s)}r(o)};var Gt={string:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field||"")){if(Rt(t,"string")&&!e.required)return r();Zt.required(e,t,n,i,s,"string"),Rt(t,"string")||(Zt.type(e,t,n,i,s),Zt.range(e,t,n,i,s),Zt.pattern(e,t,n,i,s),!0===e.whitespace&&Zt.whitespace(e,t,n,i,s))}r(i)},method:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t)&&!e.required)return r();Zt.required(e,t,n,i,s),void 0!==t&&Zt.type(e,t,n,i,s)}r(i)},number:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(""===t&&(t=void 0),Rt(t)&&!e.required)return r();Zt.required(e,t,n,i,s),void 0!==t&&(Zt.type(e,t,n,i,s),Zt.range(e,t,n,i,s))}r(i)},boolean:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t)&&!e.required)return r();Zt.required(e,t,n,i,s),void 0!==t&&Zt.type(e,t,n,i,s)}r(i)},regexp:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t)&&!e.required)return r();Zt.required(e,t,n,i,s),Rt(t)||Zt.type(e,t,n,i,s)}r(i)},integer:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t)&&!e.required)return r();Zt.required(e,t,n,i,s),void 0!==t&&(Zt.type(e,t,n,i,s),Zt.range(e,t,n,i,s))}r(i)},float:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t)&&!e.required)return r();Zt.required(e,t,n,i,s),void 0!==t&&(Zt.type(e,t,n,i,s),Zt.range(e,t,n,i,s))}r(i)},array:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(null==t&&!e.required)return r();Zt.required(e,t,n,i,s,"array"),null!=t&&(Zt.type(e,t,n,i,s),Zt.range(e,t,n,i,s))}r(i)},object:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t)&&!e.required)return r();Zt.required(e,t,n,i,s),void 0!==t&&Zt.type(e,t,n,i,s)}r(i)},enum:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t)&&!e.required)return r();Zt.required(e,t,n,i,s),void 0!==t&&Zt.enum(e,t,n,i,s)}r(i)},pattern:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t,"string")&&!e.required)return r();Zt.required(e,t,n,i,s),Rt(t,"string")||Zt.pattern(e,t,n,i,s)}r(i)},date:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t,"date")&&!e.required)return r();if(Zt.required(e,t,n,i,s),!Rt(t,"date")){let r;r=t instanceof Date?t:new Date(t),Zt.type(e,r,n,i,s),r&&Zt.range(e,r.getTime(),n,i,s)}}r(i)},url:Jt,hex:Jt,email:Jt,required:(e,t,r,n,s)=>{const i=[],o=Array.isArray(t)?"array":typeof t;Zt.required(e,t,n,i,s,o),r(i)},any:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t)&&!e.required)return r();Zt.required(e,t,n,i,s)}r(i)}};function Yt(){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 Kt=Yt();class Xt{static register=function(e,t){if("function"!=typeof t)throw new Error("Cannot register a validator by type, validator is not a function");Gt[e]=t};static warning=Et;static messages=Kt;static validators=Gt;rules={};_messages=Kt;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=zt(Yt(),e)),this._messages}validate(e,t={},r=(()=>{})){let n=e,s=t,i=r;if("function"==typeof s&&(i=s,s={}),!this.rules||0===Object.keys(this.rules).length)return i&&i(null,n),Promise.resolve(n);if(s.messages){let e=this.messages();e===Kt&&(e=Yt()),zt(e,s.messages),s.messages=e}else s.messages=this.messages();const o={};(s.keys||Object.keys(this.rules)).forEach((t=>{const r=this.rules[t];let s=n[t];r.forEach((r=>{let i=r;"function"==typeof i.transform&&(n===e&&(n={...n}),s=n[t]=i.transform(s)),i="function"==typeof i?{validator:i}:{...i},i.validator=this.getValidationMethod(i),i.validator&&(i.field=t,i.fullField=i.fullField||t,i.type=this.getType(i),o[t]=o[t]||[],o[t].push({rule:i,value:s,source:n,field:t}))}))}));const a={};return Tt(o,s,((e,t)=>{const r=e.rule;let i,o=!("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(i=[]){let l=Array.isArray(i)?i:[i];!0===s.suppressWarning&&l.length&&Xt.warning("async-validator:",l),l.length&&void 0!==r.message&&(l=[].concat(r.message));let u=l.map(It(r,n));if(s.first&&u.length)return a[r.field]=1,t(u);if(o){if(r.required&&!e.value)return void 0!==r.message?u=[].concat(r.message).map(It(r,n)):s.error&&(u=[s.error(r,Mt(s.messages.required,r.field))]),t(u);let i={};r.defaultField&&Object.keys(e.value).map((e=>{i[e]=r.defaultField})),i={...i,...e.rule.fields};const o={};Object.keys(i).forEach((e=>{const t=i[e],r=Array.isArray(t)?t:[t];o[e]=r.map(c.bind(null,e))}));const a=new Xt(o);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(o=o&&(r.required||!r.required&&e.value),r.field=e.field,r.asyncValidator)i=r.asyncValidator(r,e.value,l,e.source,s);else if(r.validator){try{i=r.validator(r,e.value,l,e.source,s)}catch(e){console.error?.(e),s.suppressValidatorError||setTimeout((()=>{throw e}),0),l(e.message)}!0===i?l():!1===i?l("function"==typeof r.message?r.message(r.fullField||r.field):r.message||`${r.fullField||r.field} fails`):i instanceof Array?l(i):i instanceof Error&&l(i.message)}i&&i.then&&i.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=Ft(t),i(t,r)):i(null,n)}(e)}),n)}getType(e){if(void 0===e.type&&e.pattern instanceof RegExp&&(e.type="pattern"),"function"!=typeof e.validator&&e.type&&!Gt.hasOwnProperty(e.type))throw new Error(Mt("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]?Gt.required:Gt[this.getType(e)]||void 0}}function Qt(e){return new Xt(e)}var er={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:Qt,validate:function(e,t,r={},n=(()=>{})){return ee.run(Qt(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)}};var tr={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})$/}};const rr=`${i.keyUpper}${i.keyLower}${i.keyNumber}+/=`,nr=e=>{let t,r,n,s,i,o,a,c="",l=0;for(e=sr(e);l<e.length;)t=e.charCodeAt(l++),r=e.charCodeAt(l++),n=e.charCodeAt(l++),s=t>>2,i=(3&t)<<4|r>>4,o=(15&r)<<2|n>>6,a=63&n,isNaN(r)?o=a=64:isNaN(n)&&(a=64),c=c+rr.charAt(s)+rr.charAt(i)+rr.charAt(o)+rr.charAt(a);return c},sr=e=>{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},ir=e=>{let t="",r=0,n=0,s=0,i=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),i=e.charCodeAt(r+2),t+=String.fromCharCode((15&n)<<12|(63&s)<<6|63&i),r+=3);return t};var or={encode:nr,decode:e=>{let t,r,n,s,i,o,a,c="",l=0;for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");l<e.length;)s=rr.indexOf(e.charAt(l++)),i=rr.indexOf(e.charAt(l++)),o=rr.indexOf(e.charAt(l++)),a=rr.indexOf(e.charAt(l++)),t=s<<2|i>>4,r=(15&i)<<4|o>>2,n=(3&o)<<6|a,c+=String.fromCharCode(t),64!=o&&(c+=String.fromCharCode(r)),64!=a&&(c+=String.fromCharCode(n));return c=ir(c),c},encodeByOss:e=>nr(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")};var ar={...i,base64:or,uuid:o,getNewId:(e,t=!1,r="")=>{const n=o(e||32);return t?g.now().format("yyyyMMddhhmmss")+r+n:n}};const cr=e=>{if(!e)return"";if(!ht.isObject(e))return"";let t="";return ht.forof(e,((e,r)=>{r&&(t+=`${nt.kebabCase(e)}:${r};`)})),t},lr=["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"],ur=["top","bottom","left","right","padding","margin","marginTop","marginRight","marginBottom","marginLeft","paddingTop","paddingRight","paddingBottom","paddingLeft","height","width","border","borderLeft","borderRight","borderTop","borderBottom","borderColor","borderRadius"],fr=(e,t="px")=>e&&t?"0"===e?e:er.isFloat(e.toString())?`${e}${t}`:e:e;var hr={stringify:cr,parse:(e,{camel:t=!1,pure:r=!0}={})=>{if(!e.trim())return;const n=Ot.parse(e,{sep:";",eq:":",uri:!1}),s={};return ht.forof(n,((e,n)=>{if(!n)return;const i=t?r&&e.startsWith("_")?e:nt.camelCase(e):e;er.isFloat(n)||n.length>=2&&n.startsWith(".")&&er.isNumber(n.substr(1))?s[i]=+n:s[i]=n})),s},fixValue:fr,style:(e,t="px")=>{if(!e)return"";const r=ht.copy(e,{fields:lr});ht.forof(r,((e,n)=>{(ur.includes(e)||ur.includes(nt.camelCase(e)))&&(r[e]=fr(n,t))}));return cr(r)},commonFields:lr};const dr=(e,t="",r=!1)=>{try{if(!e)return;const n=Ot.parseUrl(e),s=t||n.filename;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.path}?${Ot.stringify(t,{uri:!1})}`,i=new XMLHttpRequest;i.open("GET",r,!0),i.responseType="blob",i.onload=function(){gr(i.response,s)},i.onerror=function(t){console.error(`[ddan] downloadUrl ${e}`,t)},i.send()}}catch(t){console.error(`[ddan] downloadUrl ${e}`,t)}},gr=(e,t="")=>{try{if(!e)return;const r=URL?.createObjectURL(e);if(!r)return;dr(r,t),URL?.revokeObjectURL(r)}catch(e){console.error("[ddan] downloadFile",e)}};var pr={dataURLtoFile:(e,t)=>{let r=e.split(","),n=r[0].match(/:(.*?);/)[1],s=window.atob(r[1]),i=s.length,o=new Uint8Array(i);for(;i--;)o[i]=s.charCodeAt(i);return new File([o],t,{type:n})},dataURLtoBlob:e=>{let t=e.split(","),r=t[0].match(/:(.*?);/)[1],n=window.atob(t[1]),s=n.length,i=new Uint8Array(s);for(;s--;)i[s]=n.charCodeAt(s);return new Blob([i],{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:dr,download:(e,t="")=>{e&&("string"!=typeof e?gr(e,t):dr(e,t))},downloadFile:gr,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();dr(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:i="16px Arial",textAlign:o="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),i&&(l.font=i),o&&(l.textAlign=o),a&&(l.textBaseline=a),l.fillText(e,c.width/10,c.height/2),`url(${c.toDataURL()})`):""}catch(e){return console.error("[ddan] watermark",e),""}}};var mr={ossImage:(e,t={})=>{if(!e)return e;const r=Ot.parseUrl(e).path;if(t.domain){if(!e.startsWith("http"))return e;const r=gt.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=Ot.parseUrl(e).path,n=["snapshot"],{m:s="fast",f:i="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}`),i&&n.push(`f_${i}`),t.ar&&n.push(`ar_${t.ar}`),`${r}?x-oss-process=video/${n.join(",")}`}};var yr={uint8ArrayToString:function(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},stringToArrayBuffer:function(e){const t=e.length,r=new ArrayBuffer(t),n=new Uint8Array(r);for(let r=0;r<t;r++)n[r]=e.charCodeAt(r);return r},arrayBufferToString:function(e,t=!1){const r=new Uint8Array(e).reduce(((e,t)=>e+String.fromCharCode(t)),"");return t?btoa(r):r}};const wr=({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 br(e){const{response:t}=e;return 0===t.code?Promise.resolve(t):Promise.reject(t)}function vr(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(ht.isPlainObject(e)){const r=Ot.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 _r{host="";reqConfig={};handleError;interceptors={request:new vt,response:new vt};constructor(e){this.host=e.host||"",this.reqConfig=e.config,this.interceptors.request.use(e.handleRequest||[]),this.interceptors.request.use(vr),this.interceptors.response.use(e.handleResponse||br),this.handleError=e.handleError}static blockId="blockid";static requestLock={};lockR(e,t){_r.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete _r.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=ht.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 i;if(delete s.options.plugins,"block"===r.model)this.lockR(_r.blockId,(()=>wr(s))),i=await _r.requestLock[_r.blockId].request;else if(_r.requestLock[_r.blockId]&&_r.requestLock[_r.blockId].lock&&await _r.requestLock[_r.blockId].request,"debounce"===r.model||"debounceUrl"===r.model){let e;e="debounceUrl"===r.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),_r.requestLock[e]||this.lockR(e,(()=>wr(s))),i=await _r.requestLock[e].request,this.unlockR(e)}else i=await wr(s);return this.interceptors.response.invoke({response:i,config:r,refetch:()=>({sig:"REFETCH",result:this.fetch(e,t)})})}catch(e){return this.handleError&&this.handleError(e),Promise.reject(e)}}}const $r={overrode:!1,tag:!1,format:"hh:mm:ss.SSS"},xr=e=>(...t)=>{const r=console[e];$r.overrode?r(...t):kr(r,e,...t)},kr=(e,t,...r)=>{const n=g.format(new Date,$r.format),s=$r.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 Sr={override:()=>{if($r.overrode)return;$r.overrode=!0;["log","info","warn","error"].forEach((e=>{const t=console[e];console[e]=(...r)=>{kr(t,e,...r)}}))},log:xr("log"),info:xr("info"),warn:xr("warn"),error:xr("error"),config:({tag:e=$r.tag,format:t=$r.format}={})=>{$r.tag=e,$r.format=t}};var Ar={getDataURL:e=>{const t={contentType:"",dataUrl:""};return K.to(fetch(e).then((e=>(t.contentType=e.headers.get("content-type")||"",e.arrayBuffer()))).then((e=>(t.dataUrl=`data:${t.contentType};base64,`+yr.arrayBufferToString(e,!0),t))))},getArrayBuffer:async e=>K.to(fetch(e).then((e=>e.arrayBuffer()))),getJson:async e=>K.to(fetch(e).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 i=0;const o=[];for(;;){const{done:e,value:r}=await s.read();if(e)break;o.push(r),i+=r.length;const a=se.float(100*i/n,{digits:2});t?.progress&&t?.progress(a,i,n)}const a=new Uint8Array(i);let c=0;for(const e of o)a.set(e,c),c+=e.length;t?.success&&t?.success(a),r(a)})).catch((e=>{t?.fail&&t?.fail(e),r(void 0)}))))};const qr=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,${or.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:i=this.__defStyle}=t,o=s&&n?`${n}, url("${e}")`:`url("${e}")`;return`${r}:${o};-webkit-${r}:${o};${i}`}},jr=(e,t,r)=>({key:e,fields:t,storage:r});class Cr{key;storage;fields=[];constructor(e){this.key=e?.key||"",this.fields=e?.fields||[],this.storage=e?.storage||void 0}save=ee.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=lt.copy(e,{fields:this.fields});this.save(r)}}class Or extends a{setters={};getters={};actions={};persist;constructor(){super()}async dispatch(e,t=void 0){const r=this,n=Reflect.get(r.actions,e);if(!R.isFunction(n))return;const[,s]=await ee.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=lt.copy(t);else{const[,t]=await ee.exec((()=>this.dispatch(e)),`${this.__eventId}_${e}`);r=t}return r}commit(e,t){R.isObject(t)&&(t=lt.copy(t)),this[e]=t}}const Lr=(e,t)=>{const r=Object.assign(new Or,e||{});r.__persist=new Cr(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 R.isFunction(n)?n(e):Reflect.get(e,t,r)},set:(e,t,r,n)=>{const s=Reflect.get(e.setters,t);if(R.isFunction(s)&&!s(e,r))return!0;const i=Reflect.set(e,t,r,n);return i&&(e.emit(t.toString(),r),e?.__persist?.handleSave(e,t.toString())),i},has:(e,t)=>Reflect.has(e,t)})};class Er{host="";list=[];constructor(e,t={}){this._parseHost(e);const{width:r=500,height:n=400}=t,s=Ot.parseUrl(e)?.params||{};s["x-oss-process"]=`image/resize,w_${r},h_${n},m_fill`;const i=Ot.stringify(s,{uri:!1});this.list.push(`${e}?${i}`)}_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=ar.base64.encodeByOss(n),i=Ot.stringify({image:s,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}text(e,t={},r={}){if(!e)return;const n={g:"nw",...t},s=ar.base64.encodeByOss(e),i=Ot.stringify({text:s,...n,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}result(){return this.list.join("")}}const Fr=(e,t)=>new Er(e,t);class Mr{__list=[];__running=!1;__waitting=!1;constructor(){this.clear()}pipe(e){return this.__waitting||(e&&this.__list.push(e),this._step()),this}delay(e=0){return this.__waitting||(e&&this.__list.push((()=>ee.delay(e))),this._step()),this}clear(){return this.__list=[],this.__waitting=!1,this.__running=!1,this}async _step(){if(this.__list.length<=0)return;if(this.__running)return;this.__running=!0;const e=this.__list.shift();await ee.run(e),this.__running=!1,this.__waitting||this._step()}async whenAll(){for(this.__waitting=!0,await this._step();;)if(this.__running)await ee.delay(100);else{if(this.__list.length<=0)break;await this._step()}return this.__waitting=!1,this.clear()}}class Rr{__list=[];constructor(){this.clear()}add(e){const t=ee.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 Dr=new class{state=Lr(new Or);frame=new c;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),i=this.getCache(s)||{},o=Date.now(),a=i[e],c={time:o,count:1,cycle:n};return a&&("day"!==n||g.isToday(a.time||0))&&(c.count=1+(a.count||0)),i[e]=c,this.setCache(s,i),i};timesValid=(e,t={})=>{if(!e)return!1;const{max:r=1,interval:n=0,mode:s="running",cycle:i="day"}=t||{},o=this.cacheId(s);let a=this.getCache(o);if(!a)return!0;const c=a[e];if(!c)return!0;if("day"===i&&!g.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=ht.copy(r);ht.forof(n,((e,t)=>{"day"!==t.cycle&&void 0!==t.cycle||g.isToday(t.time||0)||delete r[e]})),this.setCache(t,r)};pipeline=()=>new Mr;parallel=()=>new Rr};class Pr{id="";start=0;end=0;cost=0;name="";type="";desc="";timeStartDesc="";timeEndDesc="";isDone=!1;flag=0;constructor(){this.id=o(),this.start=Date.now(),this.timeStartDesc=g.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=g.format(this.end,"hh:mm:ss.SSS"),this.isDone=!0)}}const Tr=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 Pr;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=lt.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 gt.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)))}},Ir={gbk:t,math:se,list:gt,string:nt,time:g,obj:lt,crypto:ar,convert:yr,rule:er,regex:tr,...ht,Event:a},zr=ee,Nr={mini:xt,css:hr,qs:Ot,icon:qr,html:pr},Br={cdn:mr,watermark:Fr},Ur={Store:Or,storeRef:Lr,Persist:Cr,persistConfig:jr},Vr=Dr,Hr=Tr,Wr=Sr,Zr={fetch:Ar,Http:_r,css:hr,qs:Ot,icon:qr,html:pr};var Jr={gbk:t,time:g,hook:ee,math:se,util:ht,list:gt,string:nt,obj:lt,crypto:ar,mini:xt,qs:Ot,css:hr,cdn:mr,html:pr,icon:qr,rule:er,regex:tr,convert:yr,Event:a,Http:_r,Store:Or,storeRef:Lr,Persist:Cr,persistConfig:jr,watermark:Fr,joker:Dr,tracker:Tr,logger:Sr,fetch:Ar};export{e as Ddan,Br as dCdn,zr as dHook,Vr as dJoker,Wr as dLogger,Nr as dMini,Ur as dStore,Hr as dTracker,Ir as dUtil,Zr as dWeb,Jr as default};
1
+ var e;e||(e={});var t={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)}};const r="0123456789",n="abcdefghijklmnopqrstuvwxyz",s="ABCDEFGHIJKLMNOPQRSTUVWXYZ";var i={keyNumber:r,keyLower:n,keyUpper:s,keyChars:r+n+s};const o=(e=0,t=0)=>{const r=i.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 a{__map;__tagList;__eventId="";constructor(){this.__map=new Map,this.__tagList=[],this.__eventId=o()}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 c{_loopTimer;_event=new a;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 l={oneDay:864e5,oneHour:36e5,oneMinute:6e4,oneSecond:1e3};class u{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/l.oneSecond);let r=t.countdown;t.d=Math.floor(r/l.oneDay),t.dd=(t.d<10?"0":"")+t.d,r%=l.oneDay,t.h=Math.floor(r/l.oneHour),t.hh=(t.h<10?"0":"")+t.h,r%=l.oneHour,t.m=Math.floor(r/l.oneMinute),t.mm=(t.m<10?"0":"")+t.m,r%=l.oneMinute,t.s=Math.floor(r/l.oneSecond),t.ss=(t.s<10?"0":"")+t.s,r%=l.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>l.oneHour?"hh:mm:ss":t.countdown>l.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]))}}const f=(e,t="yyyy-MM-dd hh:mm:ss")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;return r?h(r).format(t):""},h=e=>{const t="string"==typeof e||"number"==typeof e?new Date(e):e;return new u(t||0)};function d({year:e=0,month:t=0,date:r=0,hour:n=0,minute:s=0,second:i=0}){const o=`${e||"yyyy"}/${t||"MM"}/${r||"dd"} ${n}:${s}:${i}`;return new Date(f(Date.now(),o)).getTime()}var g={...l,now:function(){return h(new Date)},isToday:e=>e&&(new Date).toDateString()===new Date(e).toDateString(),parseTimestamp:d,todayZero:()=>d({}),format:f,countdown:(e,t="")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;if(!r)return"";return h(r).toCountdown(t)},dtime:h,loopFrame:(e=500)=>new c(e)},p="object"==typeof global&&global&&global.Object===Object&&global,m="object"==typeof self&&self&&self.Object===Object&&self;const y=(p||m||Function("return this")()).Symbol,{toString:w,hasOwnProperty:b,propertyIsEnumerable:v}=Object.prototype,_=y?y.toStringTag:void 0;function $(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":_&&_ in Object(e)?function(e){const t=b.call(e,_),r=e[_];let n=!1;try{e[_]=void 0,n=!0}catch(e){}const s=w.call(e);return n&&(t?e[_]=r:delete e[_]),s}(e):w.call(e)}var x={getTag:$,getType:function(e){return($(e).match(/\w+/g)||["object","Undefined"])[1]||""},toString:w,hasOwnProperty:b,propertyIsEnumerable:v},k="[object Function]",S="[object GeneratorFunction]",A="[object AsyncFunction]",q=9007199254740991;const j=/^(?:0|[1-9]\d*)$/;function C(e){const t=typeof e;return null!=e&&("object"==t||"function"==t)}function O(e){return null!=e&&"object"==typeof e}const L=Array.isArray;function E(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=q}(e.length)&&!M(e)}function F(e){return O(e)&&E(e)}function M(e){var t=C(e)?x.getTag(e):"";return t===k||t===S||t===A}var R={is:function(e,t){return x.getTag(e)===`[object ${t}]`},isNumber:function(e){return"[object Number]"===x.getTag(e)},isString:function(e){return"string"==typeof e||!L(e)&&O(e)&&"[object String]"==x.getTag(e)},isObject:C,isObjectLike:O,isPlainObject:function(e){if(!O(e)||"[object Object]"!=x.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||O(e)&&"[object Symbol]"===x.getTag(e)},isFunction:M,isArray:L,isArrayLikeObject:F,isIndex:function(e,t){return!!(t=null==t?q:t)&&("number"==typeof e||j.test(e))&&e>-1&&e%1==0&&e<t},isArrayLike:E,isPrototype:function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Object.prototype)},isArguments:function(e){return F(e)&&x.hasOwnProperty.call(e,"callee")&&(!x.propertyIsEnumerable.call(e,"callee")||"[object Arguments]"==x.toString.call(e))},isPromise:function(e){return"[object Promise]"===(C(e)?x.getTag(e):"")}};const D=NaN,P=/^\s+|\s+$/g,T=/^[-+]0x[0-9a-f]+$/i,z=/^0b[01]+$/i,I=/^0o[0-7]+$/i,N=parseInt,B=1/0,U=17976931348623157e292;function V(e){if("number"==typeof e)return e;if(R.isSymbol(e))return D;if(R.isObject(e)){const t="function"==typeof e.valueOf?e.valueOf():e;e=R.isObject(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(P,"");const t=z.test(e);return t||I.test(e)?N(e.slice(2),t?2:8):T.test(e)?D:+e}function H(e){return e?(e=V(e))===B||e===-B?(e<0?-1:1)*U:e==e?e:0:0===e?e:0}var W={toNumber:V,toFinite:H,toInteger:function(e){var t=H(e),r=t%1;return t==t?r?t-r:t:0}};const Z="Expected a function",J=Math.max,G=Math.min;function Y(e,t=300,r={}){var n,s,i,o,a,c,l=0,u=!1,f=!1,h=!0;if("function"!=typeof e)throw new TypeError(Z);function d(t){var r=n,i=s;return n=s=void 0,l=t,o=e.apply(i,r)}function g(e){var r=e-c;return void 0===c||r>=t||r<0||f&&e-l>=i}function p(){var e=Date.now();if(g(e))return m(e);a=setTimeout(p,function(e){var r=t-(e-c);return f?G(r,i-(e-l)):r}(e))}function m(e){return a=void 0,h&&n?d(e):(n=s=void 0,o)}function y(...e){var r=Date.now(),i=g(r);if(n=arguments,s=this,c=r,i){if(void 0===a)return function(e){return l=e,a=setTimeout(p,t),u?d(e):o}(c);if(f)return a=setTimeout(p,t),d(c)}return void 0===a&&(a=setTimeout(p,t)),o}return t=W.toNumber(t)||0,R.isObject(r)&&(u=!!r.leading,i=(f="maxWait"in r)?J(W.toNumber(r.maxWait)||0,t):i,h="trailing"in r?!!r.trailing:h),y.cancel=function(){void 0!==a&&clearTimeout(a),l=0,n=c=s=a=void 0},y.flush=function(){return void 0===a?o:m(Date.now())},y}var K={to:async function(e,t){return e.then((e=>[null,e])).catch((e=>(t&&Object.assign(e,t),[e,void 0])))},delay:(e=1e3)=>new Promise((t=>{setTimeout(t,e)}))};class X{__source;constructor(e){this.__source=e}run(){try{let e;return e=R.isFunction(this.__source)?this.__source():this.__source,K.to(Promise.resolve(e))}catch(e){return Promise.resolve([e,void 0])}}static _lockedMap=new Map;static _lock(e,t){if(!e||!t)return;const r=new X(t).run();return this._lockedMap.set(e,r),r}static _unlock(e){e&&this._lockedMap.delete(e)}static async exec(e,t){if(!e||!t)return new X(e).run();const r=this._lockedMap.get(t);if(r)return r;const n=this._lock(t,e);if(!n)return new X(e).run();const s=await n;return this._unlock(t),s}}class Q{__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(R.isFunction(e))r=e(t);else{if(R.isPromise(e))return e.then((e=>({...t,...e})));r=e}return R.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])}}}var ee={...K,run:async function(e,t=0){if(t<=0)return new X(e).run();const r=t>0?Date.now():0,n=await new X(e).run(),s=Date.now()-r;return s<t&&await K.delay(t-s),n},exec:(e,t="")=>X.exec(e,t),debounce:Y,throttle:function(e,t=300,r={}){var n=!1,s=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return R.isObject(r)&&(n=r.leading?!!r.leading:n,s=r.trailing?!!r.trailing:s),Y(e,t,{leading:n,maxWait:t,trailing:s})},task:e=>new Q(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 i=r<1?100:r;do{if(!t)break;const[e,r]=await K.to(Promise.resolve(t()));if(e||!1===r)break;s>0&&s--,0!==s&&await K.delay(i)}while(-1===n||s>0)}};function te(e){return Math.floor(Math.random()*e)}function re(e,t=10){return+parseFloat(Number(e).toExponential(t))}const ne=180/Math.PI;var se={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:re,float:function(e,{digits:t=2,fixed:r=!1}={}){const n=re(e).toFixed(t);return r||!t?+n:+n.replace(/(\.[1-9]?)0+$/,"$1").replace(/\.$/,"")},radian2degree:function(e){return e*ne},degree2radian:function(e){return e/ne},formatMemory:function(e){let t=e;const r={g:0,m:0,kb:0,b:0,desc:""};return t>=1<<30&&(r.g=Math.floor(t/(1<<30)),t%=1<<30),t>=1<<20&&(r.m=Math.floor(t/(1<<20)),t%=1<<20),t>=1024&&(r.kb=Math.floor(t/1024),t%=1024),r.b=t,r.desc=e>=1<<30?(e/(1<<30)).toFixed(2)+"G":e>=1<<20?(e/(1<<20)).toFixed(2)+"M":e>=1024?(e/1024).toFixed(2)+"KB":e+"B",r}};function ie(e){return e!=e}function oe(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 ae,ce,le=(ae=Object.keys,ce=Object,function(e){return ae(ce(e))}),ue=Math.max;function fe(e,t){var r=R.isArray(e)||R.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 i in e)!t&&!x.hasOwnProperty.call(e,i)||s&&("length"==i||R.isIndex(i,n))||r.push(i);return r}function he(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 i=new Array(n);for(;++s<n;)i[s]=e[s+t];return i}(e,t,r)}const de=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff\\ufe0e\\ufe0f]");function ge(e){return de.test(e)}const pe="\\ud800-\\udfff",me=`[${pe}]`,ye="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]",we="\\ud83c[\\udffb-\\udfff]",be=`[^${pe}]`,ve="(?:\\ud83c[\\udde6-\\uddff]){2}",_e="[\\ud800-\\udbff][\\udc00-\\udfff]",$e=`${`(?:${ye}|${we})`}?`,xe="[\\ufe0e\\ufe0f]?",ke=xe+$e+`(?:\\u200d(?:${[be,ve,_e].join("|")})${xe+$e})*`,Se=`(?:${[`${be}${ye}?`,ye,ve,_e,me].join("|")})`,Ae=RegExp(`${we}(?=${we})|${Se+ke}`,"g");function qe(e){return ge(e)?function(e){return e.match(Ae)||[]}(e):function(e){return e.split("")}(e)}function je(e){return t=>{if(!t)return"";const r=ge(t)?qe(t):void 0,n=r?r[0]:t[0],s=r?he(r,1).join(""):t.slice(1);return n[e]()+s}}const Ce="\\ud800-\\udfff",Oe="\\u2700-\\u27bf",Le="a-z\\xdf-\\xf6\\xf8-\\xff",Ee="A-Z\\xc0-\\xd6\\xd8-\\xde",Fe="\\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",Me="['’]",Re=`[${Fe}]`,De=`[${Oe}]`,Pe=`[${Le}]`,Te=`[^${Ce}${Fe+"\\d"+Oe+Le+Ee}]`,ze="(?:\\ud83c[\\udde6-\\uddff]){2}",Ie="[\\ud800-\\udbff][\\udc00-\\udfff]",Ne=`[${Ee}]`,Be=`(?:${Pe}|${Te})`,Ue=`(?:${Ne}|${Te})`,Ve=`(?:${Me}(?:d|ll|m|re|s|t|ve))?`,He=`(?:${Me}(?:D|LL|M|RE|S|T|VE))?`,We="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]|\\ud83c[\\udffb-\\udfff])?",Ze="[\\ufe0e\\ufe0f]?",Je=Ze+We+`(?:\\u200d(?:${[`[^${Ce}]`,ze,Ie].join("|")})${Ze+We})*`,Ge=`(?:${[De,ze,Ie].join("|")})${Je}`,Ye=RegExp([`${Ne}?${Pe}+${Ve}(?=${[Re,Ne,"$"].join("|")})`,`${Ue}+${He}(?=${[Re,Ne+Be,"$"].join("|")})`,`${Ne}?${Be}+${Ve}`,`${Ne}+${He}`,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])","\\d+",Ge].join("|"),"g");const Ke=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 ]/),Xe=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function Qe(e,t){if(void 0===t){const t=Ke(e)?function(e){return e.match(Ye)}(e):function(e){return e.match(Xe)}(e);return t||[]}return e.match(t)||[]}function et(e){if(null==e)return"";if("string"==typeof e)return e;if(Array.isArray(e))return`${e.map((e=>null==e?e:et(e)))}`;if(R.isSymbol(e))return e.toString();const t=`${e}`;return"0"==t&&1/e==-Infinity?"-0":t}const tt=je("toUpperCase"),rt=je("toLowerCase");var nt={toString:et,startCase:e=>Qe(`${e}`.replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+tt(t)),""),snakeCase:e=>Qe(et(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"_":"")+t.toLowerCase()),""),kebabCase:e=>Qe(et(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"-":"")+t.toLowerCase()),""),camelCase:e=>Qe(et(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>(t=t.toLowerCase(),e+(r?tt(t):t))),""),upperCase:e=>Qe(et(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toUpperCase()),""),upperFirst:tt,lowerCase:e=>Qe(et(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toLowerCase()),""),lowerFirst:rt,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}};const st=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]=st(e[r]));return t};const it=(e,t,r={})=>{const n=e||{},{ignoreUndefined:s=!0,cover:i=!1}=r;if(!t)return n;for(const o in t){if(!t.hasOwnProperty(o))continue;const a=t[o];"object"!=typeof a||"object"!=typeof e[o]||i?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[o]=a):n[o]=ot(e[o],a,r)}return n},ot=(e,t,r={})=>{let n={};return n=e&&"object"==typeof e&&!Array.isArray(e)?it(e,t,r):it({...e},t,r),n},at=(e,t,r={})=>it({...e},t,{cover:!0,...r}),ct=(e,t,r,n,s=!1)=>{if(!e||!t||!r)return;let i=e[t];null!==i&&"object"==typeof i&&s&&Object.keys(i).forEach((e=>{ct(i,e,r,n,s)})),Object.defineProperty(e,t,{configurable:!0,enumerable:!0,set:o=>{r.call(n,o,i),i=o,s&&ct(e,t,r,n,s)},get:()=>i})};var lt={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:i=!0}=t;if((!n||n.length<=0)&&!s)return r;const o={};for(const e in r){if(!r.hasOwnProperty(e))continue;const a=s?i&&e.startsWith("_")?e:nt.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()||(o[a]=c))}return o},clone:st,merge:ot,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]=nt.parseValue(n,{number:t,boolean:r});else e[n]=nt.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:at,combines:(e,t={})=>{let r={};if(!e||e.length<=0)return r;const{ignoreUndefined:n=!0,ignoreNull:s=!0,ignoreZero:i=!0,ignoreEmptyArray:o=!0,ignoreEmptyString:a=!0,cover:c=!0}=t;return e.forEach((e=>r=at(r,e,{ignoreUndefined:n,ignoreNull:s,ignoreZero:i,ignoreEmptyArray:o,ignoreEmptyString:a,cover:c}))),r},observe:ct};class ut{__value=void 0;set(e){this.__value=e}get(){return this.__value}}var ft={singleton:function(){class e{static __instance__;constructor(){}static get Instance(){return e.__instance__||(e.__instance__=new this),e.__instance__}}return e},getset:function(e){const t=new ut;return void 0!==e&&t.set(e),t}};var ht={...R,...x,...lt,...ft,includes:function(e,t,r,n){e=R.isArrayLike(e)?e:function(e){return e?oe(e,function(e){return R.isArrayLike(e)?fe(e):function(e){if(!R.isPrototype(e))return le(e);var t=[];for(var r in Object(e))x.hasOwnProperty.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e)}(e)):[]}(e),r=r&&!n?W.toInteger(r):0;var s=e.length;return r<0&&(r=ue(s+r,0)),R.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,i=r+(n?1:-1);n?i--:++i<s;)if(t(e[i],i,e))return i;return-1}(e,ie,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(R.isObject(e)&&(r=R.isArray(e)?e.entries():Object.entries(e),r))for(const[e,n]of r)t&&t(e,n)}};var dt={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]:[]}};var gt={...dt,stepAction:function(e,t,r=100){if(!R.isFunction(t))return;if(!R.isArray(e)||e.length<=0)return;let n=0;for(;e.length>n;){let s=r+n,i=e.slice(n,s);t&&t(i),n=s}},skip:function(e,t){if(!R.isArray(e)||e.length<=0)return[];const r=t;return e.slice(r)},take:function(e,t,r=0){if(!R.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!R.isArray(e)||e.length<=0?[]:[...new Set(e)]},randoms:function(e,t=1,r=!1){const n=e.length||0;return se.randoms(n,t,r).map((t=>e[t]))||[]},toKV:(e,t,r)=>{const n={};return t&&r?((e||[]).forEach((e=>{if(!e||!R.isObject(e))return;const s=e[t];(R.isString(s)&&""!==s||R.isNumber(s))&&(n[s]=e[r])})),n):n}};const pt="[object Object]",mt="[object Array]",yt=e=>Object.prototype.toString.call(e),wt=(e,t,r=!1)=>{if(e===t)return;const n=yt(e);if(n===yt(t))if(n===mt&&e.length>=t.length)for(let r=0;r<t.length;r++)wt(e[r],t[r]);else if(n===pt&&Object.keys(e).length>=Object.keys(t).length)for(let n in t)r||void 0!==e[n]?wt(e[n],t[n]):e[n]=null},bt=(e,t,r,n="",s=!1)=>{if(e===t)return;const i=yt(e),o=yt(t);if(i===mt&&o===i&&e.length>=t.length)for(let s=0;s<e.length;s++)bt(e[s],t[s],r,`${n}[${s}]`);else if(i===pt&&o===i&&(s||Object.keys(e).length>=Object.keys(t).length)){const s=Object.keys(e);for(let i of s){const s=e[i],o=t[i],a=yt(s),c=yt(o);if(s!==o)if(a===mt&&c===a&&s.length>=o.length)for(let e=0;e<s.length;e++)bt(s[e],o[e],r,`${n?n+".":""}${i}[${e}]`);else if(a===pt&&c===a&&Object.keys(s).length>=Object.keys(o).length)for(let e in s)bt(s[e],o[e],r,`${n?n+".":""}${i}.${e}`);else r[`${n?n+".":""}${i}`]=s}}else r[n]=e};class vt{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 _t{reqConfig={};handleRequest;handleEncrypt;handleDecrypt;handleError;interceptors={request:new vt,response:new vt};constructor(e){const{reqConfig:t={},requestEncrypt:r,responseDecrypt:n,handleError:s,api:i}=e;this.reqConfig=t,this.handleEncrypt=r,this.handleDecrypt=n,this.handleError=s,this.handleRequest=i}static blockId="blockid";static requestLock={};lockR(e,t){_t.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete _t.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=lt.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 i;try{if("block"===n.model)this.lockR(_t.blockId,(()=>this._fetch(s,n.hasEncrypt))),i=await _t.requestLock[_t.blockId].request;else if(_t.requestLock[_t.blockId]&&_t.requestLock[_t.blockId].lock&&await _t.requestLock[_t.blockId].request,"debounce"===n.model||"debounceUrl"===n.model){let e;e="debounceUrl"===n.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),_t.requestLock[e]||this.lockR(e,(()=>this._fetch(s,n.hasEncrypt))),i=await _t.requestLock[e].request,this.unlockR(e)}else i=await this._fetch(s,n.hasEncrypt)}catch(e){this.handleError&&this.handleError(e)}return this.interceptors.response.invoke({res:i,config:r,reqId:this.getIdFromReq(s),refetch:()=>({sig:"REFETCH",result:this.request(e,t||{})})})}}const $t=e=>"function"!=typeof e?e:(t={})=>new Promise(((r,n)=>{e(Object.assign(t,{success:r,fail:n}))}));var xt={diff:function(e,t){const r={};return(e=>{if(yt(e)===pt)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];yt(n[t])!==pt&&(n[t]={}),n=n[t]}n[r[s-1]]=e[t],delete e[t]}})(e),wt(e,t,!0),bt(e,t,r,"",!0),r},promixify:$t,run:(e,t={})=>e?ee.run($t(e)(t)):ee.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:_t,setWatcher:e=>{let t=e.data,r=e.watch;Object.keys(r).forEach((n=>{let s=t,i=n.split(".");for(let e=0;e<i.length-1;e++)s=s[i[e]];let o=i[i.length-1],a=r[n].handler||r[n],c=r[n].deep;lt.observe(s,o,a,e,c)}))}};const kt=function(e,{sep:t="&",eq:r="=",max:n=1e3,multiple:s=!0,uri:i=!0,parseNumber:o=!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,o,a,u,f=e[t].replace(l,"%20"),h=f.indexOf(r);h>=0?(n=f.substr(0,h),o=f.substr(h+1)):(n=f,o=""),a=i?decodeURIComponent(n):n,u=i?decodeURIComponent(o):o,x.hasOwnProperty.call(c,a)&&s?Array.isArray(c[a])?c[a].push(u):c[a]=[c[a],u]:c[a]=u}return lt.parseValue(c,{number:o,boolean:a}),c},St=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}},At=function(e,t=!0){return t?encodeURIComponent(e):e},qt=function(e,{cleanZero:t=!1,cleanNull:r=!1,cleanWhitespace:n=!1}={}){return!(!t||0!==e)||(!(!r||null!=e)||!(!n||"string"!=typeof e||""!==e.trim()))},jt=/^(http[s]?):\/\/([\w.]+)(?::(\d+))?/,Ct=e=>{if(!e)return;const t=e.match(jt);if(!t||t.length<4)return;const r=t[3]||"";return{origin:t[0],protocol:t[1],host:`${t[2]}${r?":"+r:""}`,port:r}};var Ot={parse:kt,stringify:function(e,{sep:t="&",eq:r="=",name:n=null,uri:s=!0,cleanZero:i=!1,cleanNull:o=!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=At(St(n),s)+r,l=e[n];return Array.isArray(l)?l.map((function(e){return c+At(St(e),s)})).join(t):qt(l,{cleanZero:i,cleanNull:o,cleanWhitespace:a})?"":c+At(St(l),s)})).filter(Boolean).join(t):n?At(St(n),s)+r+At(St(e),s):""},https:e=>e?e.replace(/^http[s]?/,"https"):e,parseUrl:e=>{let t="",r="";const n=Ct(e);n&&(t=n.host,r=n.origin);const s=e.split("?"),i=s[0],o=s.length>1?s[1]:"";let a="";const c=i.match(/[\/]?([\w\_\-]+)[.]?[\w]*[?]?$/);c&&(a=c[1]);const l=kt(o,{multiple:!0,uri:!1}),u=i.lastIndexOf("/")+1,f=i.substring(u),h=f.lastIndexOf("."),d=f.substring(0,h),g=f.substring(h),p=i.substring(0,u);return{host:t,origin:r,url:e,path:i,page:a,query:o,filename:d?f:"",filenameWithoutExtension:d,extension:d?g:"",route:d?p:"",params:l}},parsePath:e=>{const t=(e||"").replace(/\\/g,"/").split("?")[0],r=t.lastIndexOf("/")+1,n=t.substring(r),s=n.lastIndexOf("."),i=n.substring(0,s),o=n.substring(s);return{root:t.substring(0,r),name:n,withoutExtension:i,extension:o}},parseHost:Ct,join:(...e)=>{const t=[];return e.forEach((e=>{const r=e.trim().replace(/^\/*(.*?)\/*$/,"$1");r.length>0&&t.push(r)})),t.join("/")}};const Lt=/%[sdj%]/g;let Et=()=>{};function Ft(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 Mt(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(Lt,(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 Rt(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 Dt(e,t,r){let n=0;const s=e.length;!function i(o){if(o&&o.length)return void r(o);const a=n;n+=1,a<s?t(e[a],i):r([])}([])}"undefined"!=typeof process&&process.env&&"production"!==process.env.NODE_ENV&&"undefined"!=typeof window&&"undefined"!=typeof document&&(Et=(e,t)=>{"undefined"!=typeof console&&console.warn&&"undefined"==typeof ASYNC_VALIDATOR_NO_WARNING&&t.every((e=>"string"==typeof e))&&console.warn(e,t)});class Pt extends Error{errors;fields;constructor(e,t){super("Async Validation Error"),this.errors=e,this.fields=t}}function Tt(e,t,r,n,s){if(t.first){const t=new Promise(((t,i)=>{const o=function(e){const t=[];return Object.keys(e).forEach((r=>{t.push(...e[r]||[])})),t}(e);Dt(o,r,(e=>(n(e),e.length?i(new Pt(e,Ft(e))):t(s))))}));return t.catch((e=>e)),t}const i=!0===t.firstFields?Object.keys(e):t.firstFields||[],o=Object.keys(e),a=o.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 Pt(l,Ft(l))):t(s)};o.length||(n(l),t(s)),o.forEach((t=>{const n=e[t];-1!==i.indexOf(t)?Dt(n,r,f):function(e,t,r){const n=[];let s=0;const i=e.length;function o(e){n.push(...e||[]),s++,s===i&&r(n)}e.forEach((e=>{t(e,o)}))}(n,r,f)}))}));return u.catch((e=>e)),u}function zt(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],function(e){return!(!e||void 0===e.message)}(r)?(r.field=r.field||e.fullField,r.fieldValue=n,r):{message:"function"==typeof r?r():r,fieldValue:n,field:r.field||e.fullField}}}function It(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 Nt=(e,t,r,n,s,i)=>{!e.required||r.hasOwnProperty(e.field||"")&&!Rt(t,i||e.type)||n.push(Mt(s.messages.required,e.fullField))};let Bt;const Ut=/^(([^<>()\[\]\\.,;:\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,}))$/,Vt=/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,Ht={integer:e=>Ht.number(e)&&parseInt(e,10)===e,float:e=>Ht.number(e)&&!Ht.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&&!Ht.array(e),method:e=>"function"==typeof e,email:e=>"string"==typeof e&&e.length<=320&&!!e.match(Ut),url:e=>"string"==typeof e&&e.length<=2048&&!!e.match((()=>{if(Bt)return Bt;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(),i=new RegExp(`(?:^${r}$)|(?:^${s}$)`),o=new RegExp(`^${r}$`),a=new RegExp(`^${s}$`),c=e=>e&&e.exact?i:new RegExp(`(?:${t(e)}${r}${t(e)})|(?:${t(e)}${s}${t(e)})`,"g");c.v4=e=>e&&e.exact?o: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 Bt=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"),Bt})()),hex:e=>"string"==typeof e&&!!e.match(Vt)},Wt="enum";var Zt={required:Nt,whitespace:(e,t,r,n,s)=>{(/^\s+$/.test(t)||""===t)&&n.push(Mt(s.messages.whitespace,e.fullField))},type:(e,t,r,n,s)=>{if(e.required&&void 0===t)return void Nt(e,t,r,n,s);const i=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(i)>-1?Ht[i](t)||n.push(Mt(s.messages.types[i],e.fullField,e.type)):i&&typeof t!==e.type&&n.push(Mt(s.messages.types[i],e.fullField,e.type))},range:(e,t,r,n,s)=>{const i="number"==typeof e.len,o="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),i?l!==e.len&&n.push(Mt(s.messages[u].len,e.fullField,e.len)):o&&!a&&l<e.min?n.push(Mt(s.messages[u].min,e.fullField,e.min)):a&&!o&&l>e.max?n.push(Mt(s.messages[u].max,e.fullField,e.max)):o&&a&&(l<e.min||l>e.max)&&n.push(Mt(s.messages[u].range,e.fullField,e.min,e.max))},enum:(e,t,r,n,s)=>{e[Wt]=Array.isArray(e[Wt])?e[Wt]:[],-1===e[Wt].indexOf(t)&&n.push(Mt(s.messages[Wt],e.fullField,e[Wt].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(Mt(s.messages.pattern.mismatch,e.fullField,t,e.pattern));else if("string"==typeof e.pattern){new RegExp(e.pattern).test(t)||n.push(Mt(s.messages.pattern.mismatch,e.fullField,t,e.pattern))}}};const Jt=(e,t,r,n,s)=>{const i=e.type,o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t,i)&&!e.required)return r();Zt.required(e,t,n,o,s,i),Rt(t,i)||Zt.type(e,t,n,o,s)}r(o)};var Gt={string:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field||"")){if(Rt(t,"string")&&!e.required)return r();Zt.required(e,t,n,i,s,"string"),Rt(t,"string")||(Zt.type(e,t,n,i,s),Zt.range(e,t,n,i,s),Zt.pattern(e,t,n,i,s),!0===e.whitespace&&Zt.whitespace(e,t,n,i,s))}r(i)},method:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t)&&!e.required)return r();Zt.required(e,t,n,i,s),void 0!==t&&Zt.type(e,t,n,i,s)}r(i)},number:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(""===t&&(t=void 0),Rt(t)&&!e.required)return r();Zt.required(e,t,n,i,s),void 0!==t&&(Zt.type(e,t,n,i,s),Zt.range(e,t,n,i,s))}r(i)},boolean:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t)&&!e.required)return r();Zt.required(e,t,n,i,s),void 0!==t&&Zt.type(e,t,n,i,s)}r(i)},regexp:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t)&&!e.required)return r();Zt.required(e,t,n,i,s),Rt(t)||Zt.type(e,t,n,i,s)}r(i)},integer:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t)&&!e.required)return r();Zt.required(e,t,n,i,s),void 0!==t&&(Zt.type(e,t,n,i,s),Zt.range(e,t,n,i,s))}r(i)},float:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t)&&!e.required)return r();Zt.required(e,t,n,i,s),void 0!==t&&(Zt.type(e,t,n,i,s),Zt.range(e,t,n,i,s))}r(i)},array:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(null==t&&!e.required)return r();Zt.required(e,t,n,i,s,"array"),null!=t&&(Zt.type(e,t,n,i,s),Zt.range(e,t,n,i,s))}r(i)},object:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t)&&!e.required)return r();Zt.required(e,t,n,i,s),void 0!==t&&Zt.type(e,t,n,i,s)}r(i)},enum:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t)&&!e.required)return r();Zt.required(e,t,n,i,s),void 0!==t&&Zt.enum(e,t,n,i,s)}r(i)},pattern:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t,"string")&&!e.required)return r();Zt.required(e,t,n,i,s),Rt(t,"string")||Zt.pattern(e,t,n,i,s)}r(i)},date:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t,"date")&&!e.required)return r();if(Zt.required(e,t,n,i,s),!Rt(t,"date")){let r;r=t instanceof Date?t:new Date(t),Zt.type(e,r,n,i,s),r&&Zt.range(e,r.getTime(),n,i,s)}}r(i)},url:Jt,hex:Jt,email:Jt,required:(e,t,r,n,s)=>{const i=[],o=Array.isArray(t)?"array":typeof t;Zt.required(e,t,n,i,s,o),r(i)},any:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t)&&!e.required)return r();Zt.required(e,t,n,i,s)}r(i)}};function Yt(){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 Kt=Yt();class Xt{static register=function(e,t){if("function"!=typeof t)throw new Error("Cannot register a validator by type, validator is not a function");Gt[e]=t};static warning=Et;static messages=Kt;static validators=Gt;rules={};_messages=Kt;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=It(Yt(),e)),this._messages}validate(e,t={},r=(()=>{})){let n=e,s=t,i=r;if("function"==typeof s&&(i=s,s={}),!this.rules||0===Object.keys(this.rules).length)return i&&i(null,n),Promise.resolve(n);if(s.messages){let e=this.messages();e===Kt&&(e=Yt()),It(e,s.messages),s.messages=e}else s.messages=this.messages();const o={};(s.keys||Object.keys(this.rules)).forEach((t=>{const r=this.rules[t];let s=n[t];r.forEach((r=>{let i=r;"function"==typeof i.transform&&(n===e&&(n={...n}),s=n[t]=i.transform(s)),i="function"==typeof i?{validator:i}:{...i},i.validator=this.getValidationMethod(i),i.validator&&(i.field=t,i.fullField=i.fullField||t,i.type=this.getType(i),o[t]=o[t]||[],o[t].push({rule:i,value:s,source:n,field:t}))}))}));const a={};return Tt(o,s,((e,t)=>{const r=e.rule;let i,o=!("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(i=[]){let l=Array.isArray(i)?i:[i];!0===s.suppressWarning&&l.length&&Xt.warning("async-validator:",l),l.length&&void 0!==r.message&&(l=[].concat(r.message));let u=l.map(zt(r,n));if(s.first&&u.length)return a[r.field]=1,t(u);if(o){if(r.required&&!e.value)return void 0!==r.message?u=[].concat(r.message).map(zt(r,n)):s.error&&(u=[s.error(r,Mt(s.messages.required,r.field))]),t(u);let i={};r.defaultField&&Object.keys(e.value).map((e=>{i[e]=r.defaultField})),i={...i,...e.rule.fields};const o={};Object.keys(i).forEach((e=>{const t=i[e],r=Array.isArray(t)?t:[t];o[e]=r.map(c.bind(null,e))}));const a=new Xt(o);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(o=o&&(r.required||!r.required&&e.value),r.field=e.field,r.asyncValidator)i=r.asyncValidator(r,e.value,l,e.source,s);else if(r.validator){try{i=r.validator(r,e.value,l,e.source,s)}catch(e){console.error?.(e),s.suppressValidatorError||setTimeout((()=>{throw e}),0),l(e.message)}!0===i?l():!1===i?l("function"==typeof r.message?r.message(r.fullField||r.field):r.message||`${r.fullField||r.field} fails`):i instanceof Array?l(i):i instanceof Error&&l(i.message)}i&&i.then&&i.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=Ft(t),i(t,r)):i(null,n)}(e)}),n)}getType(e){if(void 0===e.type&&e.pattern instanceof RegExp&&(e.type="pattern"),"function"!=typeof e.validator&&e.type&&!Gt.hasOwnProperty(e.type))throw new Error(Mt("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]?Gt.required:Gt[this.getType(e)]||void 0}}function Qt(e){return new Xt(e)}var er={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:Qt,validate:function(e,t,r={},n=(()=>{})){return ee.run(Qt(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)}};var tr={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})$/}};const rr=`${i.keyUpper}${i.keyLower}${i.keyNumber}+/=`,nr=e=>{let t,r,n,s,i,o,a,c="",l=0;for(e=sr(e);l<e.length;)t=e.charCodeAt(l++),r=e.charCodeAt(l++),n=e.charCodeAt(l++),s=t>>2,i=(3&t)<<4|r>>4,o=(15&r)<<2|n>>6,a=63&n,isNaN(r)?o=a=64:isNaN(n)&&(a=64),c=c+rr.charAt(s)+rr.charAt(i)+rr.charAt(o)+rr.charAt(a);return c},sr=e=>{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},ir=e=>{let t="",r=0,n=0,s=0,i=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),i=e.charCodeAt(r+2),t+=String.fromCharCode((15&n)<<12|(63&s)<<6|63&i),r+=3);return t};var or={encode:nr,decode:e=>{let t,r,n,s,i,o,a,c="",l=0;for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");l<e.length;)s=rr.indexOf(e.charAt(l++)),i=rr.indexOf(e.charAt(l++)),o=rr.indexOf(e.charAt(l++)),a=rr.indexOf(e.charAt(l++)),t=s<<2|i>>4,r=(15&i)<<4|o>>2,n=(3&o)<<6|a,c+=String.fromCharCode(t),64!=o&&(c+=String.fromCharCode(r)),64!=a&&(c+=String.fromCharCode(n));return c=ir(c),c},encodeByOss:e=>nr(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")};var ar={...i,base64:or,uuid:o,guid:(e,t=!1,r="")=>{const n=o(e||32);return t?g.now().format("yyyyMMddhhmmss")+r+n:n}};const cr=e=>{if(!e)return"";if(!ht.isObject(e))return"";let t="";return ht.forof(e,((e,r)=>{r&&(t+=`${nt.kebabCase(e)}:${r};`)})),t},lr=["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"],ur=["top","bottom","left","right","padding","margin","marginTop","marginRight","marginBottom","marginLeft","paddingTop","paddingRight","paddingBottom","paddingLeft","height","width","border","borderLeft","borderRight","borderTop","borderBottom","borderColor","borderRadius"],fr=(e,t="px")=>e&&t?"0"===e?e:er.isFloat(e.toString())?`${e}${t}`:e:e;var hr={stringify:cr,parse:(e,{camel:t=!1,pure:r=!0}={})=>{if(!e.trim())return;const n=Ot.parse(e,{sep:";",eq:":",uri:!1}),s={};return ht.forof(n,((e,n)=>{if(!n)return;const i=t?r&&e.startsWith("_")?e:nt.camelCase(e):e;er.isFloat(n)||n.length>=2&&n.startsWith(".")&&er.isNumber(n.substr(1))?s[i]=+n:s[i]=n})),s},fixValue:fr,style:(e,t="px")=>{if(!e)return"";const r=ht.copy(e,{fields:lr});ht.forof(r,((e,n)=>{(ur.includes(e)||ur.includes(nt.camelCase(e)))&&(r[e]=fr(n,t))}));return cr(r)},commonFields:lr};const dr=(e,t="",r=!1)=>{try{if(!e)return;const n=Ot.parseUrl(e),s=t||n.filename;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.path}?${Ot.stringify(t,{uri:!1})}`,i=new XMLHttpRequest;i.open("GET",r,!0),i.responseType="blob",i.onload=function(){gr(i.response,s)},i.onerror=function(t){console.error(`[ddan] downloadUrl ${e}`,t)},i.send()}}catch(t){console.error(`[ddan] downloadUrl ${e}`,t)}},gr=(e,t="")=>{try{if(!e)return;const r=URL?.createObjectURL(e);if(!r)return;dr(r,t),URL?.revokeObjectURL(r)}catch(e){console.error("[ddan] downloadFile",e)}};var pr={dataURLtoFile:(e,t)=>{let r=e.split(","),n=r[0].match(/:(.*?);/)[1],s=window.atob(r[1]),i=s.length,o=new Uint8Array(i);for(;i--;)o[i]=s.charCodeAt(i);return new File([o],t,{type:n})},dataURLtoBlob:e=>{let t=e.split(","),r=t[0].match(/:(.*?);/)[1],n=window.atob(t[1]),s=n.length,i=new Uint8Array(s);for(;s--;)i[s]=n.charCodeAt(s);return new Blob([i],{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:dr,download:(e,t="")=>{e&&("string"!=typeof e?gr(e,t):dr(e,t))},downloadFile:gr,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();dr(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:i="16px Arial",textAlign:o="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),i&&(l.font=i),o&&(l.textAlign=o),a&&(l.textBaseline=a),l.fillText(e,c.width/10,c.height/2),`url(${c.toDataURL()})`):""}catch(e){return console.error("[ddan] watermark",e),""}}};var mr={ossImage:(e,t={})=>{if(!e)return e;const r=Ot.parseUrl(e).path;if(t.domain){if(!e.startsWith("http"))return e;const r=gt.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=Ot.parseUrl(e).path,n=["snapshot"],{m:s="fast",f:i="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}`),i&&n.push(`f_${i}`),t.ar&&n.push(`ar_${t.ar}`),`${r}?x-oss-process=video/${n.join(",")}`}};var yr={uint8ArrayToString:function(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},stringToArrayBuffer:function(e){const t=e.length,r=new ArrayBuffer(t),n=new Uint8Array(r);for(let r=0;r<t;r++)n[r]=e.charCodeAt(r);return r},arrayBufferToString:function(e,t=!1){const r=new Uint8Array(e).reduce(((e,t)=>e+String.fromCharCode(t)),"");return t?btoa(r):r}};const wr=({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 br(e){const{response:t}=e;return 0===t.code?Promise.resolve(t):Promise.reject(t)}function vr(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(ht.isPlainObject(e)){const r=Ot.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 _r{host="";reqConfig={};handleError;interceptors={request:new vt,response:new vt};constructor(e){this.host=e.host||"",this.reqConfig=e.config,this.interceptors.request.use(e.handleRequest||[]),this.interceptors.request.use(vr),this.interceptors.response.use(e.handleResponse||br),this.handleError=e.handleError}static blockId="blockid";static requestLock={};lockR(e,t){_r.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete _r.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=ht.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 i;if(delete s.options.plugins,"block"===r.model)this.lockR(_r.blockId,(()=>wr(s))),i=await _r.requestLock[_r.blockId].request;else if(_r.requestLock[_r.blockId]&&_r.requestLock[_r.blockId].lock&&await _r.requestLock[_r.blockId].request,"debounce"===r.model||"debounceUrl"===r.model){let e;e="debounceUrl"===r.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),_r.requestLock[e]||this.lockR(e,(()=>wr(s))),i=await _r.requestLock[e].request,this.unlockR(e)}else i=await wr(s);return this.interceptors.response.invoke({response:i,config:r,refetch:()=>({sig:"REFETCH",result:this.fetch(e,t)})})}catch(e){return this.handleError&&this.handleError(e),Promise.reject(e)}}}const $r={overrode:!1,tag:!1,format:"hh:mm:ss.SSS"},xr=e=>(...t)=>{const r=console[e];$r.overrode?r(...t):kr(r,e,...t)},kr=(e,t,...r)=>{const n=g.format(new Date,$r.format),s=$r.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 Sr={override:()=>{if($r.overrode)return;$r.overrode=!0;["log","info","warn","error"].forEach((e=>{const t=console[e];console[e]=(...r)=>{kr(t,e,...r)}}))},log:xr("log"),info:xr("info"),warn:xr("warn"),error:xr("error"),config:({tag:e=$r.tag,format:t=$r.format}={})=>{$r.tag=e,$r.format=t}};var Ar={getDataURL:e=>{const t={contentType:"",dataUrl:""};return K.to(fetch(e).then((e=>(t.contentType=e.headers.get("content-type")||"",e.arrayBuffer()))).then((e=>(t.dataUrl=`data:${t.contentType};base64,`+yr.arrayBufferToString(e,!0),t))))},getArrayBuffer:async e=>K.to(fetch(e).then((e=>e.arrayBuffer()))),getJson:async e=>K.to(fetch(e).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 i=0;const o=[];for(;;){const{done:e,value:r}=await s.read();if(e)break;o.push(r),i+=r.length;const a=se.float(100*i/n,{digits:2});t?.progress&&t?.progress(a,i,n)}const a=new Uint8Array(i);let c=0;for(const e of o)a.set(e,c),c+=e.length;t?.success&&t?.success(a),r(a)})).catch((e=>{t?.fail&&t?.fail(e),r(void 0)}))))};const qr=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,${or.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:i=this.__defStyle}=t,o=s&&n?`${n}, url("${e}")`:`url("${e}")`;return`${r}:${o};-webkit-${r}:${o};${i}`}},jr=(e,t,r)=>({key:e,fields:t,storage:r});class Cr{key;storage;fields=[];constructor(e){this.key=e?.key||"",this.fields=e?.fields||[],this.storage=e?.storage||void 0}save=ee.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=lt.copy(e,{fields:this.fields});this.save(r)}}class Or extends a{setters={};getters={};actions={};persist;constructor(){super()}async dispatch(e,t=void 0){const r=this,n=Reflect.get(r.actions,e);if(!R.isFunction(n))return;const[,s]=await ee.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=lt.copy(t);else{const[,t]=await ee.exec((()=>this.dispatch(e)),`${this.__eventId}_${e}`);r=t}return r}commit(e,t){R.isObject(t)&&(t=lt.copy(t)),this[e]=t}}const Lr=(e,t)=>{const r=Object.assign(new Or,e||{});r.__persist=new Cr(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 R.isFunction(n)?n(e):Reflect.get(e,t,r)},set:(e,t,r,n)=>{const s=Reflect.get(e.setters,t);if(R.isFunction(s)&&!s(e,r))return!0;const i=Reflect.set(e,t,r,n);return i&&(e.emit(t.toString(),r),e?.__persist?.handleSave(e,t.toString())),i},has:(e,t)=>Reflect.has(e,t)})};class Er{host="";list=[];constructor(e,t={}){this._parseHost(e);const{width:r=500,height:n=400}=t,s=Ot.parseUrl(e)?.params||{};s["x-oss-process"]=`image/resize,w_${r},h_${n},m_fill`;const i=Ot.stringify(s,{uri:!1});this.list.push(`${e}?${i}`)}_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=ar.base64.encodeByOss(n),i=Ot.stringify({image:s,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}text(e,t={},r={}){if(!e)return;const n={g:"nw",...t},s=ar.base64.encodeByOss(e),i=Ot.stringify({text:s,...n,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}result(){return this.list.join("")}}const Fr=(e,t)=>new Er(e,t);class Mr{__list=[];__running=!1;__waitting=!1;constructor(){this.clear()}pipe(e){return this.__waitting||(e&&this.__list.push(e),this._step()),this}delay(e=0){return this.__waitting||(e&&this.__list.push((()=>ee.delay(e))),this._step()),this}clear(){return this.__list=[],this.__waitting=!1,this.__running=!1,this}async _step(){if(this.__list.length<=0)return;if(this.__running)return;this.__running=!0;const e=this.__list.shift();await ee.run(e),this.__running=!1,this.__waitting||this._step()}async whenAll(){for(this.__waitting=!0,await this._step();;)if(this.__running)await ee.delay(100);else{if(this.__list.length<=0)break;await this._step()}return this.__waitting=!1,this.clear()}}class Rr{__list=[];constructor(){this.clear()}add(e){const t=ee.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 Dr=new class{state=Lr(new Or);frame=new c;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),i=this.getCache(s)||{},o=Date.now(),a=i[e],c={time:o,count:1,cycle:n};return a&&("day"!==n||g.isToday(a.time||0))&&(c.count=1+(a.count||0)),i[e]=c,this.setCache(s,i),i};timesValid=(e,t={})=>{if(!e)return!1;const{max:r=1,interval:n=0,mode:s="running",cycle:i="day"}=t||{},o=this.cacheId(s);let a=this.getCache(o);if(!a)return!0;const c=a[e];if(!c)return!0;if("day"===i&&!g.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=ht.copy(r);ht.forof(n,((e,t)=>{"day"!==t.cycle&&void 0!==t.cycle||g.isToday(t.time||0)||delete r[e]})),this.setCache(t,r)};pipeline=()=>new Mr;parallel=()=>new Rr};class Pr{id="";start=0;end=0;cost=0;name="";type="";desc="";timeStartDesc="";timeEndDesc="";isDone=!1;flag=0;constructor(){this.id=o(),this.start=Date.now(),this.timeStartDesc=g.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=g.format(this.end,"hh:mm:ss.SSS"),this.isDone=!0)}}const Tr=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 Pr;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=lt.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 gt.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)))}},zr={gbk:t,math:se,list:gt,string:nt,time:g,obj:lt,crypto:ar,convert:yr,rule:er,regex:tr,...ht,Event:a},Ir=ee,Nr={mini:xt,css:hr,qs:Ot,icon:qr,html:pr},Br={cdn:mr,watermark:Fr},Ur={Store:Or,storeRef:Lr,Persist:Cr,persistConfig:jr},Vr=Dr,Hr=Tr,Wr=Sr,Zr={fetch:Ar,Http:_r,css:hr,qs:Ot,icon:qr,html:pr};var Jr={gbk:t,time:g,hook:ee,math:se,util:ht,list:gt,string:nt,obj:lt,crypto:ar,mini:xt,qs:Ot,css:hr,cdn:mr,html:pr,icon:qr,rule:er,regex:tr,convert:yr,Event:a,Http:_r,Store:Or,storeRef:Lr,Persist:Cr,persistConfig:jr,watermark:Fr,joker:Dr,tracker:Tr,logger:Sr,fetch:Ar};export{e as Ddan,Br as dCdn,Ir as dHook,Vr as dJoker,Wr as dLogger,Nr as dMini,Ur as dStore,Hr as dTracker,zr as dUtil,Zr as dWeb,Jr as default};
package/bin/ddan-js.js CHANGED
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).ddan={})}(this,(function(e){"use strict";e.Ddan=void 0,e.Ddan||(e.Ddan={});var t={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)}};const r="0123456789",n="abcdefghijklmnopqrstuvwxyz",s="ABCDEFGHIJKLMNOPQRSTUVWXYZ";var i={keyNumber:r,keyLower:n,keyUpper:s,keyChars:r+n+s};const o=(e=0,t=0)=>{const r=i.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 a{__map;__tagList;__eventId="";constructor(){this.__map=new Map,this.__tagList=[],this.__eventId=o()}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,handler: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.handler!==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.handler)})),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 c{_loopTimer;_event=new a;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 l={oneDay:864e5,oneHour:36e5,oneMinute:6e4,oneSecond:1e3};class u{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/l.oneSecond);let r=t.countdown;t.d=Math.floor(r/l.oneDay),t.dd=(t.d<10?"0":"")+t.d,r%=l.oneDay,t.h=Math.floor(r/l.oneHour),t.hh=(t.h<10?"0":"")+t.h,r%=l.oneHour,t.m=Math.floor(r/l.oneMinute),t.mm=(t.m<10?"0":"")+t.m,r%=l.oneMinute,t.s=Math.floor(r/l.oneSecond),t.ss=(t.s<10?"0":"")+t.s,r%=l.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>l.oneHour?"hh:mm:ss":t.countdown>l.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]))}}const f=(e,t="yyyy-MM-dd hh:mm:ss")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;return r?h(r).format(t):""},h=e=>{const t="string"==typeof e||"number"==typeof e?new Date(e):e;return new u(t||0)};function d({year:e=0,month:t=0,date:r=0,hour:n=0,minute:s=0,second:i=0}){const o=`${e||"yyyy"}/${t||"MM"}/${r||"dd"} ${n}:${s}:${i}`;return new Date(f(Date.now(),o)).getTime()}var g={...l,now:function(){return h(new Date)},isToday:e=>e&&(new Date).toDateString()===new Date(e).toDateString(),parseTimestamp:d,todayZero:()=>d({}),format:f,countdown:(e,t="")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;if(!r)return"";return h(r).toCountdown(t)},dtime:h,loopFrame:(e=500)=>new c(e)},p="object"==typeof global&&global&&global.Object===Object&&global,m="object"==typeof self&&self&&self.Object===Object&&self;const y=(p||m||Function("return this")()).Symbol,{toString:w,hasOwnProperty:b,propertyIsEnumerable:v}=Object.prototype,_=y?y.toStringTag:void 0;function $(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":_&&_ in Object(e)?function(e){const t=b.call(e,_),r=e[_];let n=!1;try{e[_]=void 0,n=!0}catch(e){}const s=w.call(e);return n&&(t?e[_]=r:delete e[_]),s}(e):w.call(e)}var x={getTag:$,getType:function(e){return($(e).match(/\w+/g)||["object","Undefined"])[1]||""},toString:w,hasOwnProperty:b,propertyIsEnumerable:v},k="[object Function]",S="[object GeneratorFunction]",A="[object AsyncFunction]",j=9007199254740991;const q=/^(?:0|[1-9]\d*)$/;function C(e){const t=typeof e;return null!=e&&("object"==t||"function"==t)}function O(e){return null!=e&&"object"==typeof e}const L=Array.isArray;function E(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=j}(e.length)&&!M(e)}function F(e){return O(e)&&E(e)}function M(e){var t=C(e)?x.getTag(e):"";return t===k||t===S||t===A}var R={is:function(e,t){return x.getTag(e)===`[object ${t}]`},isNumber:function(e){return"[object Number]"===x.getTag(e)},isString:function(e){return"string"==typeof e||!L(e)&&O(e)&&"[object String]"==x.getTag(e)},isObject:C,isObjectLike:O,isPlainObject:function(e){if(!O(e)||"[object Object]"!=x.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||O(e)&&"[object Symbol]"===x.getTag(e)},isFunction:M,isArray:L,isArrayLikeObject:F,isIndex:function(e,t){return!!(t=null==t?j:t)&&("number"==typeof e||q.test(e))&&e>-1&&e%1==0&&e<t},isArrayLike:E,isPrototype:function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Object.prototype)},isArguments:function(e){return F(e)&&x.hasOwnProperty.call(e,"callee")&&(!x.propertyIsEnumerable.call(e,"callee")||"[object Arguments]"==x.toString.call(e))},isPromise:function(e){return"[object Promise]"===(C(e)?x.getTag(e):"")}};const D=NaN,T=/^\s+|\s+$/g,P=/^[-+]0x[0-9a-f]+$/i,I=/^0b[01]+$/i,z=/^0o[0-7]+$/i,N=parseInt,B=1/0,U=17976931348623157e292;function V(e){if("number"==typeof e)return e;if(R.isSymbol(e))return D;if(R.isObject(e)){const t="function"==typeof e.valueOf?e.valueOf():e;e=R.isObject(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(T,"");const t=I.test(e);return t||z.test(e)?N(e.slice(2),t?2:8):P.test(e)?D:+e}function H(e){return e?(e=V(e))===B||e===-B?(e<0?-1:1)*U:e==e?e:0:0===e?e:0}var W={toNumber:V,toFinite:H,toInteger:function(e){var t=H(e),r=t%1;return t==t?r?t-r:t:0}};const Z="Expected a function",J=Math.max,G=Math.min;function Y(e,t=300,r={}){var n,s,i,o,a,c,l=0,u=!1,f=!1,h=!0;if("function"!=typeof e)throw new TypeError(Z);function d(t){var r=n,i=s;return n=s=void 0,l=t,o=e.apply(i,r)}function g(e){var r=e-c;return void 0===c||r>=t||r<0||f&&e-l>=i}function p(){var e=Date.now();if(g(e))return m(e);a=setTimeout(p,function(e){var r=t-(e-c);return f?G(r,i-(e-l)):r}(e))}function m(e){return a=void 0,h&&n?d(e):(n=s=void 0,o)}function y(...e){var r=Date.now(),i=g(r);if(n=arguments,s=this,c=r,i){if(void 0===a)return function(e){return l=e,a=setTimeout(p,t),u?d(e):o}(c);if(f)return a=setTimeout(p,t),d(c)}return void 0===a&&(a=setTimeout(p,t)),o}return t=W.toNumber(t)||0,R.isObject(r)&&(u=!!r.leading,i=(f="maxWait"in r)?J(W.toNumber(r.maxWait)||0,t):i,h="trailing"in r?!!r.trailing:h),y.cancel=function(){void 0!==a&&clearTimeout(a),l=0,n=c=s=a=void 0},y.flush=function(){return void 0===a?o:m(Date.now())},y}var K={to:async function(e,t){return e.then((e=>[null,e])).catch((e=>(t&&Object.assign(e,t),[e,void 0])))},delay:(e=1e3)=>new Promise((t=>{setTimeout(t,e)}))};class X{__source;constructor(e){this.__source=e}run(){try{let e;return e=R.isFunction(this.__source)?this.__source():this.__source,K.to(Promise.resolve(e))}catch(e){return Promise.resolve([e,void 0])}}static _lockedMap=new Map;static _lock(e,t){if(!e||!t)return;const r=new X(t).run();return this._lockedMap.set(e,r),r}static _unlock(e){e&&this._lockedMap.delete(e)}static async exec(e,t){if(!e||!t)return new X(e).run();const r=this._lockedMap.get(t);if(r)return r;const n=this._lock(t,e);if(!n)return new X(e).run();const s=await n;return this._unlock(t),s}}class Q{__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(R.isFunction(e))r=e(t);else{if(R.isPromise(e))return e.then((e=>({...t,...e})));r=e}return R.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])}}}var ee={...K,run:async function(e,t=0){if(t<=0)return new X(e).run();const r=t>0?Date.now():0,n=await new X(e).run(),s=Date.now()-r;return s<t&&await K.delay(t-s),n},exec:(e,t="")=>X.exec(e,t),debounce:Y,throttle:function(e,t=300,r={}){var n=!1,s=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return R.isObject(r)&&(n=r.leading?!!r.leading:n,s=r.trailing?!!r.trailing:s),Y(e,t,{leading:n,maxWait:t,trailing:s})},task:e=>new Q(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 i=r<1?100:r;do{if(!t)break;const[e,r]=await K.to(Promise.resolve(t()));if(e||!1===r)break;s>0&&s--,0!==s&&await K.delay(i)}while(-1===n||s>0)}};function te(e){return Math.floor(Math.random()*e)}function re(e,t=10){return+parseFloat(Number(e).toExponential(t))}const ne=180/Math.PI;var se={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:re,float:function(e,{digits:t=2,fixed:r=!1}={}){const n=re(e).toFixed(t);return r||!t?+n:+n.replace(/(\.[1-9]?)0+$/,"$1").replace(/\.$/,"")},radian2degree:function(e){return e*ne},degree2radian:function(e){return e/ne},formatMemory:function(e){let t=e;const r={g:0,m:0,kb:0,b:0,desc:""};return t>=1<<30&&(r.g=Math.floor(t/(1<<30)),t%=1<<30),t>=1<<20&&(r.m=Math.floor(t/(1<<20)),t%=1<<20),t>=1024&&(r.kb=Math.floor(t/1024),t%=1024),r.b=t,r.desc=e>=1<<30?(e/(1<<30)).toFixed(2)+"G":e>=1<<20?(e/(1<<20)).toFixed(2)+"M":e>=1024?(e/1024).toFixed(2)+"KB":e+"B",r}};function ie(e){return e!=e}function oe(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 ae,ce,le=(ae=Object.keys,ce=Object,function(e){return ae(ce(e))}),ue=Math.max;function fe(e,t){var r=R.isArray(e)||R.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 i in e)!t&&!x.hasOwnProperty.call(e,i)||s&&("length"==i||R.isIndex(i,n))||r.push(i);return r}function he(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 i=new Array(n);for(;++s<n;)i[s]=e[s+t];return i}(e,t,r)}const de=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff\\ufe0e\\ufe0f]");function ge(e){return de.test(e)}const pe="\\ud800-\\udfff",me=`[${pe}]`,ye="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]",we="\\ud83c[\\udffb-\\udfff]",be=`[^${pe}]`,ve="(?:\\ud83c[\\udde6-\\uddff]){2}",_e="[\\ud800-\\udbff][\\udc00-\\udfff]",$e=`${`(?:${ye}|${we})`}?`,xe="[\\ufe0e\\ufe0f]?",ke=xe+$e+`(?:\\u200d(?:${[be,ve,_e].join("|")})${xe+$e})*`,Se=`(?:${[`${be}${ye}?`,ye,ve,_e,me].join("|")})`,Ae=RegExp(`${we}(?=${we})|${Se+ke}`,"g");function je(e){return ge(e)?function(e){return e.match(Ae)||[]}(e):function(e){return e.split("")}(e)}function qe(e){return t=>{if(!t)return"";const r=ge(t)?je(t):void 0,n=r?r[0]:t[0],s=r?he(r,1).join(""):t.slice(1);return n[e]()+s}}const Ce="\\ud800-\\udfff",Oe="\\u2700-\\u27bf",Le="a-z\\xdf-\\xf6\\xf8-\\xff",Ee="A-Z\\xc0-\\xd6\\xd8-\\xde",Fe="\\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",Me="['’]",Re=`[${Fe}]`,De=`[${Oe}]`,Te=`[${Le}]`,Pe=`[^${Ce}${Fe+"\\d"+Oe+Le+Ee}]`,Ie="(?:\\ud83c[\\udde6-\\uddff]){2}",ze="[\\ud800-\\udbff][\\udc00-\\udfff]",Ne=`[${Ee}]`,Be=`(?:${Te}|${Pe})`,Ue=`(?:${Ne}|${Pe})`,Ve=`(?:${Me}(?:d|ll|m|re|s|t|ve))?`,He=`(?:${Me}(?:D|LL|M|RE|S|T|VE))?`,We="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]|\\ud83c[\\udffb-\\udfff])?",Ze="[\\ufe0e\\ufe0f]?",Je=Ze+We+`(?:\\u200d(?:${[`[^${Ce}]`,Ie,ze].join("|")})${Ze+We})*`,Ge=`(?:${[De,Ie,ze].join("|")})${Je}`,Ye=RegExp([`${Ne}?${Te}+${Ve}(?=${[Re,Ne,"$"].join("|")})`,`${Ue}+${He}(?=${[Re,Ne+Be,"$"].join("|")})`,`${Ne}?${Be}+${Ve}`,`${Ne}+${He}`,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])","\\d+",Ge].join("|"),"g");const Ke=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 ]/),Xe=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function Qe(e,t){if(void 0===t){const t=Ke(e)?function(e){return e.match(Ye)}(e):function(e){return e.match(Xe)}(e);return t||[]}return e.match(t)||[]}function et(e){if(null==e)return"";if("string"==typeof e)return e;if(Array.isArray(e))return`${e.map((e=>null==e?e:et(e)))}`;if(R.isSymbol(e))return e.toString();const t=`${e}`;return"0"==t&&1/e==-Infinity?"-0":t}const tt=qe("toUpperCase"),rt=qe("toLowerCase");var nt={toString:et,startCase:e=>Qe(`${e}`.replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+tt(t)),""),snakeCase:e=>Qe(et(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"_":"")+t.toLowerCase()),""),kebabCase:e=>Qe(et(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"-":"")+t.toLowerCase()),""),camelCase:e=>Qe(et(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>(t=t.toLowerCase(),e+(r?tt(t):t))),""),upperCase:e=>Qe(et(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toUpperCase()),""),upperFirst:tt,lowerCase:e=>Qe(et(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toLowerCase()),""),lowerFirst:rt,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}};const st=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]=st(e[r]));return t};const it=(e,t,r={})=>{const n=e||{},{ignoreUndefined:s=!0,cover:i=!1}=r;if(!t)return n;for(const o in t){if(!t.hasOwnProperty(o))continue;const a=t[o];"object"!=typeof a||"object"!=typeof e[o]||i?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[o]=a):n[o]=ot(e[o],a,r)}return n},ot=(e,t,r={})=>{let n={};return n=e&&"object"==typeof e&&!Array.isArray(e)?it(e,t,r):it({...e},t,r),n},at=(e,t,r={})=>it({...e},t,{cover:!0,...r}),ct=(e,t,r,n,s=!1)=>{if(!e||!t||!r)return;let i=e[t];null!==i&&"object"==typeof i&&s&&Object.keys(i).forEach((e=>{ct(i,e,r,n,s)})),Object.defineProperty(e,t,{configurable:!0,enumerable:!0,set:o=>{r.call(n,o,i),i=o,s&&ct(e,t,r,n,s)},get:()=>i})};var lt={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:i=!0}=t;if((!n||n.length<=0)&&!s)return r;const o={};for(const e in r){if(!r.hasOwnProperty(e))continue;const a=s?i&&e.startsWith("_")?e:nt.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()||(o[a]=c))}return o},clone:st,merge:ot,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]=nt.parseValue(n,{number:t,boolean:r});else e[n]=nt.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:at,combines:(e,t={})=>{let r={};if(!e||e.length<=0)return r;const{ignoreUndefined:n=!0,ignoreNull:s=!0,ignoreZero:i=!0,ignoreEmptyArray:o=!0,ignoreEmptyString:a=!0,cover:c=!0}=t;return e.forEach((e=>r=at(r,e,{ignoreUndefined:n,ignoreNull:s,ignoreZero:i,ignoreEmptyArray:o,ignoreEmptyString:a,cover:c}))),r},observe:ct};class ut{__value=void 0;set(e){this.__value=e}get(){return this.__value}}var ft={singleton:function(){class e{static __instance__;constructor(){}static get Instance(){return e.__instance__||(e.__instance__=new this),e.__instance__}}return e},getset:function(e){const t=new ut;return void 0!==e&&t.set(e),t}};var ht={...R,...x,...lt,...ft,includes:function(e,t,r,n){e=R.isArrayLike(e)?e:function(e){return e?oe(e,function(e){return R.isArrayLike(e)?fe(e):function(e){if(!R.isPrototype(e))return le(e);var t=[];for(var r in Object(e))x.hasOwnProperty.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e)}(e)):[]}(e),r=r&&!n?W.toInteger(r):0;var s=e.length;return r<0&&(r=ue(s+r,0)),R.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,i=r+(n?1:-1);n?i--:++i<s;)if(t(e[i],i,e))return i;return-1}(e,ie,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(R.isObject(e)&&(r=R.isArray(e)?e.entries():Object.entries(e),r))for(const[e,n]of r)t&&t(e,n)}};var dt={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]:[]}};var gt={...dt,stepAction:function(e,t,r=100){if(!R.isFunction(t))return;if(!R.isArray(e)||e.length<=0)return;let n=0;for(;e.length>n;){let s=r+n,i=e.slice(n,s);t&&t(i),n=s}},skip:function(e,t){if(!R.isArray(e)||e.length<=0)return[];const r=t;return e.slice(r)},take:function(e,t,r=0){if(!R.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!R.isArray(e)||e.length<=0?[]:[...new Set(e)]},randoms:function(e,t=1,r=!1){const n=e.length||0;return se.randoms(n,t,r).map((t=>e[t]))||[]},toKV:(e,t,r)=>{const n={};return t&&r?((e||[]).forEach((e=>{if(!e||!R.isObject(e))return;const s=e[t];(R.isString(s)&&""!==s||R.isNumber(s))&&(n[s]=e[r])})),n):n}};const pt="[object Object]",mt="[object Array]",yt=e=>Object.prototype.toString.call(e),wt=(e,t,r=!1)=>{if(e===t)return;const n=yt(e);if(n===yt(t))if(n===mt&&e.length>=t.length)for(let r=0;r<t.length;r++)wt(e[r],t[r]);else if(n===pt&&Object.keys(e).length>=Object.keys(t).length)for(let n in t)r||void 0!==e[n]?wt(e[n],t[n]):e[n]=null},bt=(e,t,r,n="",s=!1)=>{if(e===t)return;const i=yt(e),o=yt(t);if(i===mt&&o===i&&e.length>=t.length)for(let s=0;s<e.length;s++)bt(e[s],t[s],r,`${n}[${s}]`);else if(i===pt&&o===i&&(s||Object.keys(e).length>=Object.keys(t).length)){const s=Object.keys(e);for(let i of s){const s=e[i],o=t[i],a=yt(s),c=yt(o);if(s!==o)if(a===mt&&c===a&&s.length>=o.length)for(let e=0;e<s.length;e++)bt(s[e],o[e],r,`${n?n+".":""}${i}[${e}]`);else if(a===pt&&c===a&&Object.keys(s).length>=Object.keys(o).length)for(let e in s)bt(s[e],o[e],r,`${n?n+".":""}${i}.${e}`);else r[`${n?n+".":""}${i}`]=s}}else r[n]=e};class vt{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 _t{reqConfig={};handleRequest;handleEncrypt;handleDecrypt;handleError;interceptors={request:new vt,response:new vt};constructor(e){const{reqConfig:t={},requestEncrypt:r,responseDecrypt:n,handleError:s,api:i}=e;this.reqConfig=t,this.handleEncrypt=r,this.handleDecrypt=n,this.handleError=s,this.handleRequest=i}static blockId="blockid";static requestLock={};lockR(e,t){_t.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete _t.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=lt.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 i;try{if("block"===n.model)this.lockR(_t.blockId,(()=>this._fetch(s,n.hasEncrypt))),i=await _t.requestLock[_t.blockId].request;else if(_t.requestLock[_t.blockId]&&_t.requestLock[_t.blockId].lock&&await _t.requestLock[_t.blockId].request,"debounce"===n.model||"debounceUrl"===n.model){let e;e="debounceUrl"===n.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),_t.requestLock[e]||this.lockR(e,(()=>this._fetch(s,n.hasEncrypt))),i=await _t.requestLock[e].request,this.unlockR(e)}else i=await this._fetch(s,n.hasEncrypt)}catch(e){this.handleError&&this.handleError(e)}return this.interceptors.response.invoke({res:i,config:r,reqId:this.getIdFromReq(s),refetch:()=>({sig:"REFETCH",result:this.request(e,t||{})})})}}const $t=e=>"function"!=typeof e?e:(t={})=>new Promise(((r,n)=>{e(Object.assign(t,{success:r,fail:n}))}));var xt={diff:function(e,t){const r={};return(e=>{if(yt(e)===pt)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];yt(n[t])!==pt&&(n[t]={}),n=n[t]}n[r[s-1]]=e[t],delete e[t]}})(e),wt(e,t,!0),bt(e,t,r,"",!0),r},promixify:$t,run:(e,t={})=>e?ee.run($t(e)(t)):ee.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:_t,setWatcher:e=>{let t=e.data,r=e.watch;Object.keys(r).forEach((n=>{let s=t,i=n.split(".");for(let e=0;e<i.length-1;e++)s=s[i[e]];let o=i[i.length-1],a=r[n].handler||r[n],c=r[n].deep;lt.observe(s,o,a,e,c)}))}};const kt=function(e,{sep:t="&",eq:r="=",max:n=1e3,multiple:s=!0,uri:i=!0,parseNumber:o=!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,o,a,u,f=e[t].replace(l,"%20"),h=f.indexOf(r);h>=0?(n=f.substr(0,h),o=f.substr(h+1)):(n=f,o=""),a=i?decodeURIComponent(n):n,u=i?decodeURIComponent(o):o,x.hasOwnProperty.call(c,a)&&s?Array.isArray(c[a])?c[a].push(u):c[a]=[c[a],u]:c[a]=u}return lt.parseValue(c,{number:o,boolean:a}),c},St=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}},At=function(e,t=!0){return t?encodeURIComponent(e):e},jt=function(e,{cleanZero:t=!1,cleanNull:r=!1,cleanWhitespace:n=!1}={}){return!(!t||0!==e)||(!(!r||null!=e)||!(!n||"string"!=typeof e||""!==e.trim()))},qt=/^(http[s]?):\/\/([\w.]+)(?::(\d+))?/,Ct=e=>{if(!e)return;const t=e.match(qt);if(!t||t.length<4)return;const r=t[3]||"";return{origin:t[0],protocol:t[1],domain:`${t[2]}${r?":"+r:""}`,port:r}};var Ot={parse:kt,stringify:function(e,{sep:t="&",eq:r="=",name:n=null,uri:s=!0,cleanZero:i=!1,cleanNull:o=!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=At(St(n),s)+r,l=e[n];return Array.isArray(l)?l.map((function(e){return c+At(St(e),s)})).join(t):jt(l,{cleanZero:i,cleanNull:o,cleanWhitespace:a})?"":c+At(St(l),s)})).filter(Boolean).join(t):n?At(St(n),s)+r+At(St(e),s):""},https:e=>e?e.replace(/^http[s]?/,"https"):e,parseUrl:e=>{let t="",r="";const n=Ct(e);n&&(t=n.domain,r=n.origin);const s=e.split("?"),i=s[0],o=s.length>1?s[1]:"";let a="";const c=i.match(/[\/]?([\w\_\-]+)[.]?[\w]*[?]?$/);c&&(a=c[1]);const l=kt(o,{multiple:!0,uri:!1}),u=i.lastIndexOf("/")+1,f=i.substring(u),h=f.lastIndexOf("."),d=f.substring(0,h),g=f.substring(h),p=i.substring(0,u);return{host:t,origin:r,url:e,path:i,page:a,query:o,filename:d?f:"",filenameWithoutExtension:d,extension:d?g:"",route:d?p:"",params:l}},parsePath:e=>{const t=(e||"").replace(/\\/g,"/").split("?")[0],r=t.lastIndexOf("/")+1,n=t.substring(r),s=n.lastIndexOf("."),i=n.substring(0,s),o=n.substring(s);return{root:t.substring(0,r),name:n,withoutExtension:i,extension:o}},parseHost:Ct,join:(...e)=>{const t=[];return e.forEach((e=>{const r=e.trim().replace(/^\/*(.*?)\/*$/,"$1");r.length>0&&t.push(r)})),t.join("/")}};const Lt=/%[sdj%]/g;let Et=()=>{};function Ft(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 Mt(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(Lt,(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 Rt(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 Dt(e,t,r){let n=0;const s=e.length;!function i(o){if(o&&o.length)return void r(o);const a=n;n+=1,a<s?t(e[a],i):r([])}([])}"undefined"!=typeof process&&process.env&&"production"!==process.env.NODE_ENV&&"undefined"!=typeof window&&"undefined"!=typeof document&&(Et=(e,t)=>{"undefined"!=typeof console&&console.warn&&"undefined"==typeof ASYNC_VALIDATOR_NO_WARNING&&t.every((e=>"string"==typeof e))&&console.warn(e,t)});class Tt extends Error{errors;fields;constructor(e,t){super("Async Validation Error"),this.errors=e,this.fields=t}}function Pt(e,t,r,n,s){if(t.first){const t=new Promise(((t,i)=>{const o=function(e){const t=[];return Object.keys(e).forEach((r=>{t.push(...e[r]||[])})),t}(e);Dt(o,r,(e=>(n(e),e.length?i(new Tt(e,Ft(e))):t(s))))}));return t.catch((e=>e)),t}const i=!0===t.firstFields?Object.keys(e):t.firstFields||[],o=Object.keys(e),a=o.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 Tt(l,Ft(l))):t(s)};o.length||(n(l),t(s)),o.forEach((t=>{const n=e[t];-1!==i.indexOf(t)?Dt(n,r,f):function(e,t,r){const n=[];let s=0;const i=e.length;function o(e){n.push(...e||[]),s++,s===i&&r(n)}e.forEach((e=>{t(e,o)}))}(n,r,f)}))}));return u.catch((e=>e)),u}function It(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],function(e){return!(!e||void 0===e.message)}(r)?(r.field=r.field||e.fullField,r.fieldValue=n,r):{message:"function"==typeof r?r():r,fieldValue:n,field:r.field||e.fullField}}}function zt(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 Nt=(e,t,r,n,s,i)=>{!e.required||r.hasOwnProperty(e.field||"")&&!Rt(t,i||e.type)||n.push(Mt(s.messages.required,e.fullField))};let Bt;const Ut=/^(([^<>()\[\]\\.,;:\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,}))$/,Vt=/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,Ht={integer:e=>Ht.number(e)&&parseInt(e,10)===e,float:e=>Ht.number(e)&&!Ht.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&&!Ht.array(e),method:e=>"function"==typeof e,email:e=>"string"==typeof e&&e.length<=320&&!!e.match(Ut),url:e=>"string"==typeof e&&e.length<=2048&&!!e.match((()=>{if(Bt)return Bt;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(),i=new RegExp(`(?:^${r}$)|(?:^${s}$)`),o=new RegExp(`^${r}$`),a=new RegExp(`^${s}$`),c=e=>e&&e.exact?i:new RegExp(`(?:${t(e)}${r}${t(e)})|(?:${t(e)}${s}${t(e)})`,"g");c.v4=e=>e&&e.exact?o: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 Bt=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"),Bt})()),hex:e=>"string"==typeof e&&!!e.match(Vt)},Wt="enum";var Zt={required:Nt,whitespace:(e,t,r,n,s)=>{(/^\s+$/.test(t)||""===t)&&n.push(Mt(s.messages.whitespace,e.fullField))},type:(e,t,r,n,s)=>{if(e.required&&void 0===t)return void Nt(e,t,r,n,s);const i=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(i)>-1?Ht[i](t)||n.push(Mt(s.messages.types[i],e.fullField,e.type)):i&&typeof t!==e.type&&n.push(Mt(s.messages.types[i],e.fullField,e.type))},range:(e,t,r,n,s)=>{const i="number"==typeof e.len,o="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),i?l!==e.len&&n.push(Mt(s.messages[u].len,e.fullField,e.len)):o&&!a&&l<e.min?n.push(Mt(s.messages[u].min,e.fullField,e.min)):a&&!o&&l>e.max?n.push(Mt(s.messages[u].max,e.fullField,e.max)):o&&a&&(l<e.min||l>e.max)&&n.push(Mt(s.messages[u].range,e.fullField,e.min,e.max))},enum:(e,t,r,n,s)=>{e[Wt]=Array.isArray(e[Wt])?e[Wt]:[],-1===e[Wt].indexOf(t)&&n.push(Mt(s.messages[Wt],e.fullField,e[Wt].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(Mt(s.messages.pattern.mismatch,e.fullField,t,e.pattern));else if("string"==typeof e.pattern){new RegExp(e.pattern).test(t)||n.push(Mt(s.messages.pattern.mismatch,e.fullField,t,e.pattern))}}};const Jt=(e,t,r,n,s)=>{const i=e.type,o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t,i)&&!e.required)return r();Zt.required(e,t,n,o,s,i),Rt(t,i)||Zt.type(e,t,n,o,s)}r(o)};var Gt={string:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field||"")){if(Rt(t,"string")&&!e.required)return r();Zt.required(e,t,n,i,s,"string"),Rt(t,"string")||(Zt.type(e,t,n,i,s),Zt.range(e,t,n,i,s),Zt.pattern(e,t,n,i,s),!0===e.whitespace&&Zt.whitespace(e,t,n,i,s))}r(i)},method:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t)&&!e.required)return r();Zt.required(e,t,n,i,s),void 0!==t&&Zt.type(e,t,n,i,s)}r(i)},number:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(""===t&&(t=void 0),Rt(t)&&!e.required)return r();Zt.required(e,t,n,i,s),void 0!==t&&(Zt.type(e,t,n,i,s),Zt.range(e,t,n,i,s))}r(i)},boolean:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t)&&!e.required)return r();Zt.required(e,t,n,i,s),void 0!==t&&Zt.type(e,t,n,i,s)}r(i)},regexp:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t)&&!e.required)return r();Zt.required(e,t,n,i,s),Rt(t)||Zt.type(e,t,n,i,s)}r(i)},integer:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t)&&!e.required)return r();Zt.required(e,t,n,i,s),void 0!==t&&(Zt.type(e,t,n,i,s),Zt.range(e,t,n,i,s))}r(i)},float:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t)&&!e.required)return r();Zt.required(e,t,n,i,s),void 0!==t&&(Zt.type(e,t,n,i,s),Zt.range(e,t,n,i,s))}r(i)},array:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(null==t&&!e.required)return r();Zt.required(e,t,n,i,s,"array"),null!=t&&(Zt.type(e,t,n,i,s),Zt.range(e,t,n,i,s))}r(i)},object:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t)&&!e.required)return r();Zt.required(e,t,n,i,s),void 0!==t&&Zt.type(e,t,n,i,s)}r(i)},enum:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t)&&!e.required)return r();Zt.required(e,t,n,i,s),void 0!==t&&Zt.enum(e,t,n,i,s)}r(i)},pattern:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t,"string")&&!e.required)return r();Zt.required(e,t,n,i,s),Rt(t,"string")||Zt.pattern(e,t,n,i,s)}r(i)},date:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t,"date")&&!e.required)return r();if(Zt.required(e,t,n,i,s),!Rt(t,"date")){let r;r=t instanceof Date?t:new Date(t),Zt.type(e,r,n,i,s),r&&Zt.range(e,r.getTime(),n,i,s)}}r(i)},url:Jt,hex:Jt,email:Jt,required:(e,t,r,n,s)=>{const i=[],o=Array.isArray(t)?"array":typeof t;Zt.required(e,t,n,i,s,o),r(i)},any:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t)&&!e.required)return r();Zt.required(e,t,n,i,s)}r(i)}};function Yt(){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 Kt=Yt();class Xt{static register=function(e,t){if("function"!=typeof t)throw new Error("Cannot register a validator by type, validator is not a function");Gt[e]=t};static warning=Et;static messages=Kt;static validators=Gt;rules={};_messages=Kt;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=zt(Yt(),e)),this._messages}validate(e,t={},r=(()=>{})){let n=e,s=t,i=r;if("function"==typeof s&&(i=s,s={}),!this.rules||0===Object.keys(this.rules).length)return i&&i(null,n),Promise.resolve(n);if(s.messages){let e=this.messages();e===Kt&&(e=Yt()),zt(e,s.messages),s.messages=e}else s.messages=this.messages();const o={};(s.keys||Object.keys(this.rules)).forEach((t=>{const r=this.rules[t];let s=n[t];r.forEach((r=>{let i=r;"function"==typeof i.transform&&(n===e&&(n={...n}),s=n[t]=i.transform(s)),i="function"==typeof i?{validator:i}:{...i},i.validator=this.getValidationMethod(i),i.validator&&(i.field=t,i.fullField=i.fullField||t,i.type=this.getType(i),o[t]=o[t]||[],o[t].push({rule:i,value:s,source:n,field:t}))}))}));const a={};return Pt(o,s,((e,t)=>{const r=e.rule;let i,o=!("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(i=[]){let l=Array.isArray(i)?i:[i];!0===s.suppressWarning&&l.length&&Xt.warning("async-validator:",l),l.length&&void 0!==r.message&&(l=[].concat(r.message));let u=l.map(It(r,n));if(s.first&&u.length)return a[r.field]=1,t(u);if(o){if(r.required&&!e.value)return void 0!==r.message?u=[].concat(r.message).map(It(r,n)):s.error&&(u=[s.error(r,Mt(s.messages.required,r.field))]),t(u);let i={};r.defaultField&&Object.keys(e.value).map((e=>{i[e]=r.defaultField})),i={...i,...e.rule.fields};const o={};Object.keys(i).forEach((e=>{const t=i[e],r=Array.isArray(t)?t:[t];o[e]=r.map(c.bind(null,e))}));const a=new Xt(o);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(o=o&&(r.required||!r.required&&e.value),r.field=e.field,r.asyncValidator)i=r.asyncValidator(r,e.value,l,e.source,s);else if(r.validator){try{i=r.validator(r,e.value,l,e.source,s)}catch(e){console.error?.(e),s.suppressValidatorError||setTimeout((()=>{throw e}),0),l(e.message)}!0===i?l():!1===i?l("function"==typeof r.message?r.message(r.fullField||r.field):r.message||`${r.fullField||r.field} fails`):i instanceof Array?l(i):i instanceof Error&&l(i.message)}i&&i.then&&i.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=Ft(t),i(t,r)):i(null,n)}(e)}),n)}getType(e){if(void 0===e.type&&e.pattern instanceof RegExp&&(e.type="pattern"),"function"!=typeof e.validator&&e.type&&!Gt.hasOwnProperty(e.type))throw new Error(Mt("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]?Gt.required:Gt[this.getType(e)]||void 0}}function Qt(e){return new Xt(e)}var er={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:Qt,validate:function(e,t,r={},n=(()=>{})){return ee.run(Qt(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)}};var tr={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})$/}};const rr=`${i.keyUpper}${i.keyLower}${i.keyNumber}+/=`,nr=e=>{let t,r,n,s,i,o,a,c="",l=0;for(e=sr(e);l<e.length;)t=e.charCodeAt(l++),r=e.charCodeAt(l++),n=e.charCodeAt(l++),s=t>>2,i=(3&t)<<4|r>>4,o=(15&r)<<2|n>>6,a=63&n,isNaN(r)?o=a=64:isNaN(n)&&(a=64),c=c+rr.charAt(s)+rr.charAt(i)+rr.charAt(o)+rr.charAt(a);return c},sr=e=>{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},ir=e=>{let t="",r=0,n=0,s=0,i=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),i=e.charCodeAt(r+2),t+=String.fromCharCode((15&n)<<12|(63&s)<<6|63&i),r+=3);return t};var or={encode:nr,decode:e=>{let t,r,n,s,i,o,a,c="",l=0;for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");l<e.length;)s=rr.indexOf(e.charAt(l++)),i=rr.indexOf(e.charAt(l++)),o=rr.indexOf(e.charAt(l++)),a=rr.indexOf(e.charAt(l++)),t=s<<2|i>>4,r=(15&i)<<4|o>>2,n=(3&o)<<6|a,c+=String.fromCharCode(t),64!=o&&(c+=String.fromCharCode(r)),64!=a&&(c+=String.fromCharCode(n));return c=ir(c),c},encodeByOss:e=>nr(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")};var ar={...i,base64:or,uuid:o,getNewId:(e,t=!1,r="")=>{const n=o(e||32);return t?g.now().format("yyyyMMddhhmmss")+r+n:n}};const cr=e=>{if(!e)return"";if(!ht.isObject(e))return"";let t="";return ht.forof(e,((e,r)=>{r&&(t+=`${nt.kebabCase(e)}:${r};`)})),t},lr=["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"],ur=["top","bottom","left","right","padding","margin","marginTop","marginRight","marginBottom","marginLeft","paddingTop","paddingRight","paddingBottom","paddingLeft","height","width","border","borderLeft","borderRight","borderTop","borderBottom","borderColor","borderRadius"],fr=(e,t="px")=>e&&t?"0"===e?e:er.isFloat(e.toString())?`${e}${t}`:e:e;var hr={stringify:cr,parse:(e,{camel:t=!1,pure:r=!0}={})=>{if(!e.trim())return;const n=Ot.parse(e,{sep:";",eq:":",uri:!1}),s={};return ht.forof(n,((e,n)=>{if(!n)return;const i=t?r&&e.startsWith("_")?e:nt.camelCase(e):e;er.isFloat(n)||n.length>=2&&n.startsWith(".")&&er.isNumber(n.substr(1))?s[i]=+n:s[i]=n})),s},fixValue:fr,style:(e,t="px")=>{if(!e)return"";const r=ht.copy(e,{fields:lr});ht.forof(r,((e,n)=>{(ur.includes(e)||ur.includes(nt.camelCase(e)))&&(r[e]=fr(n,t))}));return cr(r)},commonFields:lr};const dr=(e,t="",r=!1)=>{try{if(!e)return;const n=Ot.parseUrl(e),s=t||n.filename;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.path}?${Ot.stringify(t,{uri:!1})}`,i=new XMLHttpRequest;i.open("GET",r,!0),i.responseType="blob",i.onload=function(){gr(i.response,s)},i.onerror=function(t){console.error(`[ddan] downloadUrl ${e}`,t)},i.send()}}catch(t){console.error(`[ddan] downloadUrl ${e}`,t)}},gr=(e,t="")=>{try{if(!e)return;const r=URL?.createObjectURL(e);if(!r)return;dr(r,t),URL?.revokeObjectURL(r)}catch(e){console.error("[ddan] downloadFile",e)}};var pr={dataURLtoFile:(e,t)=>{let r=e.split(","),n=r[0].match(/:(.*?);/)[1],s=window.atob(r[1]),i=s.length,o=new Uint8Array(i);for(;i--;)o[i]=s.charCodeAt(i);return new File([o],t,{type:n})},dataURLtoBlob:e=>{let t=e.split(","),r=t[0].match(/:(.*?);/)[1],n=window.atob(t[1]),s=n.length,i=new Uint8Array(s);for(;s--;)i[s]=n.charCodeAt(s);return new Blob([i],{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:dr,download:(e,t="")=>{e&&("string"!=typeof e?gr(e,t):dr(e,t))},downloadFile:gr,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();dr(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:i="16px Arial",textAlign:o="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),i&&(l.font=i),o&&(l.textAlign=o),a&&(l.textBaseline=a),l.fillText(e,c.width/10,c.height/2),`url(${c.toDataURL()})`):""}catch(e){return console.error("[ddan] watermark",e),""}}};var mr={ossImage:(e,t={})=>{if(!e)return e;const r=Ot.parseUrl(e).path;if(t.domain){if(!e.startsWith("http"))return e;const r=gt.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=Ot.parseUrl(e).path,n=["snapshot"],{m:s="fast",f:i="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}`),i&&n.push(`f_${i}`),t.ar&&n.push(`ar_${t.ar}`),`${r}?x-oss-process=video/${n.join(",")}`}};var yr={uint8ArrayToString:function(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},stringToArrayBuffer:function(e){const t=e.length,r=new ArrayBuffer(t),n=new Uint8Array(r);for(let r=0;r<t;r++)n[r]=e.charCodeAt(r);return r},arrayBufferToString:function(e,t=!1){const r=new Uint8Array(e).reduce(((e,t)=>e+String.fromCharCode(t)),"");return t?btoa(r):r}};const wr=({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 br(e){const{response:t}=e;return 0===t.code?Promise.resolve(t):Promise.reject(t)}function vr(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(ht.isPlainObject(e)){const r=Ot.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 _r{host="";reqConfig={};handleError;interceptors={request:new vt,response:new vt};constructor(e){this.host=e.host||"",this.reqConfig=e.config,this.interceptors.request.use(e.handleRequest||[]),this.interceptors.request.use(vr),this.interceptors.response.use(e.handleResponse||br),this.handleError=e.handleError}static blockId="blockid";static requestLock={};lockR(e,t){_r.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete _r.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=ht.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 i;if(delete s.options.plugins,"block"===r.model)this.lockR(_r.blockId,(()=>wr(s))),i=await _r.requestLock[_r.blockId].request;else if(_r.requestLock[_r.blockId]&&_r.requestLock[_r.blockId].lock&&await _r.requestLock[_r.blockId].request,"debounce"===r.model||"debounceUrl"===r.model){let e;e="debounceUrl"===r.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),_r.requestLock[e]||this.lockR(e,(()=>wr(s))),i=await _r.requestLock[e].request,this.unlockR(e)}else i=await wr(s);return this.interceptors.response.invoke({response:i,config:r,refetch:()=>({sig:"REFETCH",result:this.fetch(e,t)})})}catch(e){return this.handleError&&this.handleError(e),Promise.reject(e)}}}const $r={overrode:!1,tag:!1,format:"hh:mm:ss.SSS"},xr=e=>(...t)=>{const r=console[e];$r.overrode?r(...t):kr(r,e,...t)},kr=(e,t,...r)=>{const n=g.format(new Date,$r.format),s=$r.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 Sr={override:()=>{if($r.overrode)return;$r.overrode=!0;["log","info","warn","error"].forEach((e=>{const t=console[e];console[e]=(...r)=>{kr(t,e,...r)}}))},log:xr("log"),info:xr("info"),warn:xr("warn"),error:xr("error"),config:({tag:e=$r.tag,format:t=$r.format}={})=>{$r.tag=e,$r.format=t}};var Ar={getDataURL:e=>{const t={contentType:"",dataUrl:""};return K.to(fetch(e).then((e=>(t.contentType=e.headers.get("content-type")||"",e.arrayBuffer()))).then((e=>(t.dataUrl=`data:${t.contentType};base64,`+yr.arrayBufferToString(e,!0),t))))},getArrayBuffer:async e=>K.to(fetch(e).then((e=>e.arrayBuffer()))),getJson:async e=>K.to(fetch(e).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 i=0;const o=[];for(;;){const{done:e,value:r}=await s.read();if(e)break;o.push(r),i+=r.length;const a=se.float(100*i/n,{digits:2});t?.progress&&t?.progress(a,i,n)}const a=new Uint8Array(i);let c=0;for(const e of o)a.set(e,c),c+=e.length;t?.success&&t?.success(a),r(a)})).catch((e=>{t?.fail&&t?.fail(e),r(void 0)}))))};const jr=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,${or.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:i=this.__defStyle}=t,o=s&&n?`${n}, url("${e}")`:`url("${e}")`;return`${r}:${o};-webkit-${r}:${o};${i}`}},qr=(e,t,r)=>({key:e,fields:t,storage:r});class Cr{key;storage;fields=[];constructor(e){this.key=e?.key||"",this.fields=e?.fields||[],this.storage=e?.storage||void 0}save=ee.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=lt.copy(e,{fields:this.fields});this.save(r)}}class Or extends a{setters={};getters={};actions={};persist;constructor(){super()}async dispatch(e,t=void 0){const r=this,n=Reflect.get(r.actions,e);if(!R.isFunction(n))return;const[,s]=await ee.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=lt.copy(t);else{const[,t]=await ee.exec((()=>this.dispatch(e)),`${this.__eventId}_${e}`);r=t}return r}commit(e,t){R.isObject(t)&&(t=lt.copy(t)),this[e]=t}}const Lr=(e,t)=>{const r=Object.assign(new Or,e||{});r.__persist=new Cr(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 R.isFunction(n)?n(e):Reflect.get(e,t,r)},set:(e,t,r,n)=>{const s=Reflect.get(e.setters,t);if(R.isFunction(s)&&!s(e,r))return!0;const i=Reflect.set(e,t,r,n);return i&&(e.emit(t.toString(),r),e?.__persist?.handleSave(e,t.toString())),i},has:(e,t)=>Reflect.has(e,t)})};class Er{host="";list=[];constructor(e,t={}){this._parseHost(e);const{width:r=500,height:n=400}=t,s=Ot.parseUrl(e)?.params||{};s["x-oss-process"]=`image/resize,w_${r},h_${n},m_fill`;const i=Ot.stringify(s,{uri:!1});this.list.push(`${e}?${i}`)}_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=ar.base64.encodeByOss(n),i=Ot.stringify({image:s,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}text(e,t={},r={}){if(!e)return;const n={g:"nw",...t},s=ar.base64.encodeByOss(e),i=Ot.stringify({text:s,...n,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}result(){return this.list.join("")}}const Fr=(e,t)=>new Er(e,t);class Mr{__list=[];__running=!1;__waitting=!1;constructor(){this.clear()}pipe(e){return this.__waitting||(e&&this.__list.push(e),this._step()),this}delay(e=0){return this.__waitting||(e&&this.__list.push((()=>ee.delay(e))),this._step()),this}clear(){return this.__list=[],this.__waitting=!1,this.__running=!1,this}async _step(){if(this.__list.length<=0)return;if(this.__running)return;this.__running=!0;const e=this.__list.shift();await ee.run(e),this.__running=!1,this.__waitting||this._step()}async whenAll(){for(this.__waitting=!0,await this._step();;)if(this.__running)await ee.delay(100);else{if(this.__list.length<=0)break;await this._step()}return this.__waitting=!1,this.clear()}}class Rr{__list=[];constructor(){this.clear()}add(e){const t=ee.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 Dr=new class{state=Lr(new Or);frame=new c;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),i=this.getCache(s)||{},o=Date.now(),a=i[e],c={time:o,count:1,cycle:n};return a&&("day"!==n||g.isToday(a.time||0))&&(c.count=1+(a.count||0)),i[e]=c,this.setCache(s,i),i};timesValid=(e,t={})=>{if(!e)return!1;const{max:r=1,interval:n=0,mode:s="running",cycle:i="day"}=t||{},o=this.cacheId(s);let a=this.getCache(o);if(!a)return!0;const c=a[e];if(!c)return!0;if("day"===i&&!g.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=ht.copy(r);ht.forof(n,((e,t)=>{"day"!==t.cycle&&void 0!==t.cycle||g.isToday(t.time||0)||delete r[e]})),this.setCache(t,r)};pipeline=()=>new Mr;parallel=()=>new Rr};class Tr{id="";start=0;end=0;cost=0;name="";type="";desc="";timeStartDesc="";timeEndDesc="";isDone=!1;flag=0;constructor(){this.id=o(),this.start=Date.now(),this.timeStartDesc=g.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=g.format(this.end,"hh:mm:ss.SSS"),this.isDone=!0)}}const Pr=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 Tr;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=lt.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 gt.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)))}},Ir={gbk:t,math:se,list:gt,string:nt,time:g,obj:lt,crypto:ar,convert:yr,rule:er,regex:tr,...ht,Event:a},zr=ee,Nr={mini:xt,css:hr,qs:Ot,icon:jr,html:pr},Br={cdn:mr,watermark:Fr},Ur={Store:Or,storeRef:Lr,Persist:Cr,persistConfig:qr},Vr=Dr,Hr=Pr,Wr=Sr,Zr={fetch:Ar,Http:_r,css:hr,qs:Ot,icon:jr,html:pr};var Jr={gbk:t,time:g,hook:ee,math:se,util:ht,list:gt,string:nt,obj:lt,crypto:ar,mini:xt,qs:Ot,css:hr,cdn:mr,html:pr,icon:jr,rule:er,regex:tr,convert:yr,Event:a,Http:_r,Store:Or,storeRef:Lr,Persist:Cr,persistConfig:qr,watermark:Fr,joker:Dr,tracker:Pr,logger:Sr,fetch:Ar};e.dCdn=Br,e.dHook=zr,e.dJoker=Vr,e.dLogger=Wr,e.dMini=Nr,e.dStore=Ur,e.dTracker=Hr,e.dUtil=Ir,e.dWeb=Zr,e.default=Jr,Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).ddan={})}(this,(function(e){"use strict";e.Ddan=void 0,e.Ddan||(e.Ddan={});var t={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)}};const r="0123456789",n="abcdefghijklmnopqrstuvwxyz",s="ABCDEFGHIJKLMNOPQRSTUVWXYZ";var i={keyNumber:r,keyLower:n,keyUpper:s,keyChars:r+n+s};const o=(e=0,t=0)=>{const r=i.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 a{__map;__tagList;__eventId="";constructor(){this.__map=new Map,this.__tagList=[],this.__eventId=o()}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 c{_loopTimer;_event=new a;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 l={oneDay:864e5,oneHour:36e5,oneMinute:6e4,oneSecond:1e3};class u{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/l.oneSecond);let r=t.countdown;t.d=Math.floor(r/l.oneDay),t.dd=(t.d<10?"0":"")+t.d,r%=l.oneDay,t.h=Math.floor(r/l.oneHour),t.hh=(t.h<10?"0":"")+t.h,r%=l.oneHour,t.m=Math.floor(r/l.oneMinute),t.mm=(t.m<10?"0":"")+t.m,r%=l.oneMinute,t.s=Math.floor(r/l.oneSecond),t.ss=(t.s<10?"0":"")+t.s,r%=l.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>l.oneHour?"hh:mm:ss":t.countdown>l.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]))}}const f=(e,t="yyyy-MM-dd hh:mm:ss")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;return r?h(r).format(t):""},h=e=>{const t="string"==typeof e||"number"==typeof e?new Date(e):e;return new u(t||0)};function d({year:e=0,month:t=0,date:r=0,hour:n=0,minute:s=0,second:i=0}){const o=`${e||"yyyy"}/${t||"MM"}/${r||"dd"} ${n}:${s}:${i}`;return new Date(f(Date.now(),o)).getTime()}var g={...l,now:function(){return h(new Date)},isToday:e=>e&&(new Date).toDateString()===new Date(e).toDateString(),parseTimestamp:d,todayZero:()=>d({}),format:f,countdown:(e,t="")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;if(!r)return"";return h(r).toCountdown(t)},dtime:h,loopFrame:(e=500)=>new c(e)},p="object"==typeof global&&global&&global.Object===Object&&global,m="object"==typeof self&&self&&self.Object===Object&&self;const y=(p||m||Function("return this")()).Symbol,{toString:w,hasOwnProperty:b,propertyIsEnumerable:v}=Object.prototype,_=y?y.toStringTag:void 0;function $(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":_&&_ in Object(e)?function(e){const t=b.call(e,_),r=e[_];let n=!1;try{e[_]=void 0,n=!0}catch(e){}const s=w.call(e);return n&&(t?e[_]=r:delete e[_]),s}(e):w.call(e)}var x={getTag:$,getType:function(e){return($(e).match(/\w+/g)||["object","Undefined"])[1]||""},toString:w,hasOwnProperty:b,propertyIsEnumerable:v},k="[object Function]",S="[object GeneratorFunction]",A="[object AsyncFunction]",j=9007199254740991;const q=/^(?:0|[1-9]\d*)$/;function C(e){const t=typeof e;return null!=e&&("object"==t||"function"==t)}function O(e){return null!=e&&"object"==typeof e}const L=Array.isArray;function E(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=j}(e.length)&&!M(e)}function F(e){return O(e)&&E(e)}function M(e){var t=C(e)?x.getTag(e):"";return t===k||t===S||t===A}var R={is:function(e,t){return x.getTag(e)===`[object ${t}]`},isNumber:function(e){return"[object Number]"===x.getTag(e)},isString:function(e){return"string"==typeof e||!L(e)&&O(e)&&"[object String]"==x.getTag(e)},isObject:C,isObjectLike:O,isPlainObject:function(e){if(!O(e)||"[object Object]"!=x.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||O(e)&&"[object Symbol]"===x.getTag(e)},isFunction:M,isArray:L,isArrayLikeObject:F,isIndex:function(e,t){return!!(t=null==t?j:t)&&("number"==typeof e||q.test(e))&&e>-1&&e%1==0&&e<t},isArrayLike:E,isPrototype:function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Object.prototype)},isArguments:function(e){return F(e)&&x.hasOwnProperty.call(e,"callee")&&(!x.propertyIsEnumerable.call(e,"callee")||"[object Arguments]"==x.toString.call(e))},isPromise:function(e){return"[object Promise]"===(C(e)?x.getTag(e):"")}};const D=NaN,T=/^\s+|\s+$/g,P=/^[-+]0x[0-9a-f]+$/i,z=/^0b[01]+$/i,I=/^0o[0-7]+$/i,N=parseInt,B=1/0,U=17976931348623157e292;function V(e){if("number"==typeof e)return e;if(R.isSymbol(e))return D;if(R.isObject(e)){const t="function"==typeof e.valueOf?e.valueOf():e;e=R.isObject(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(T,"");const t=z.test(e);return t||I.test(e)?N(e.slice(2),t?2:8):P.test(e)?D:+e}function H(e){return e?(e=V(e))===B||e===-B?(e<0?-1:1)*U:e==e?e:0:0===e?e:0}var W={toNumber:V,toFinite:H,toInteger:function(e){var t=H(e),r=t%1;return t==t?r?t-r:t:0}};const Z="Expected a function",J=Math.max,G=Math.min;function Y(e,t=300,r={}){var n,s,i,o,a,c,l=0,u=!1,f=!1,h=!0;if("function"!=typeof e)throw new TypeError(Z);function d(t){var r=n,i=s;return n=s=void 0,l=t,o=e.apply(i,r)}function g(e){var r=e-c;return void 0===c||r>=t||r<0||f&&e-l>=i}function p(){var e=Date.now();if(g(e))return m(e);a=setTimeout(p,function(e){var r=t-(e-c);return f?G(r,i-(e-l)):r}(e))}function m(e){return a=void 0,h&&n?d(e):(n=s=void 0,o)}function y(...e){var r=Date.now(),i=g(r);if(n=arguments,s=this,c=r,i){if(void 0===a)return function(e){return l=e,a=setTimeout(p,t),u?d(e):o}(c);if(f)return a=setTimeout(p,t),d(c)}return void 0===a&&(a=setTimeout(p,t)),o}return t=W.toNumber(t)||0,R.isObject(r)&&(u=!!r.leading,i=(f="maxWait"in r)?J(W.toNumber(r.maxWait)||0,t):i,h="trailing"in r?!!r.trailing:h),y.cancel=function(){void 0!==a&&clearTimeout(a),l=0,n=c=s=a=void 0},y.flush=function(){return void 0===a?o:m(Date.now())},y}var K={to:async function(e,t){return e.then((e=>[null,e])).catch((e=>(t&&Object.assign(e,t),[e,void 0])))},delay:(e=1e3)=>new Promise((t=>{setTimeout(t,e)}))};class X{__source;constructor(e){this.__source=e}run(){try{let e;return e=R.isFunction(this.__source)?this.__source():this.__source,K.to(Promise.resolve(e))}catch(e){return Promise.resolve([e,void 0])}}static _lockedMap=new Map;static _lock(e,t){if(!e||!t)return;const r=new X(t).run();return this._lockedMap.set(e,r),r}static _unlock(e){e&&this._lockedMap.delete(e)}static async exec(e,t){if(!e||!t)return new X(e).run();const r=this._lockedMap.get(t);if(r)return r;const n=this._lock(t,e);if(!n)return new X(e).run();const s=await n;return this._unlock(t),s}}class Q{__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(R.isFunction(e))r=e(t);else{if(R.isPromise(e))return e.then((e=>({...t,...e})));r=e}return R.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])}}}var ee={...K,run:async function(e,t=0){if(t<=0)return new X(e).run();const r=t>0?Date.now():0,n=await new X(e).run(),s=Date.now()-r;return s<t&&await K.delay(t-s),n},exec:(e,t="")=>X.exec(e,t),debounce:Y,throttle:function(e,t=300,r={}){var n=!1,s=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return R.isObject(r)&&(n=r.leading?!!r.leading:n,s=r.trailing?!!r.trailing:s),Y(e,t,{leading:n,maxWait:t,trailing:s})},task:e=>new Q(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 i=r<1?100:r;do{if(!t)break;const[e,r]=await K.to(Promise.resolve(t()));if(e||!1===r)break;s>0&&s--,0!==s&&await K.delay(i)}while(-1===n||s>0)}};function te(e){return Math.floor(Math.random()*e)}function re(e,t=10){return+parseFloat(Number(e).toExponential(t))}const ne=180/Math.PI;var se={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:re,float:function(e,{digits:t=2,fixed:r=!1}={}){const n=re(e).toFixed(t);return r||!t?+n:+n.replace(/(\.[1-9]?)0+$/,"$1").replace(/\.$/,"")},radian2degree:function(e){return e*ne},degree2radian:function(e){return e/ne},formatMemory:function(e){let t=e;const r={g:0,m:0,kb:0,b:0,desc:""};return t>=1<<30&&(r.g=Math.floor(t/(1<<30)),t%=1<<30),t>=1<<20&&(r.m=Math.floor(t/(1<<20)),t%=1<<20),t>=1024&&(r.kb=Math.floor(t/1024),t%=1024),r.b=t,r.desc=e>=1<<30?(e/(1<<30)).toFixed(2)+"G":e>=1<<20?(e/(1<<20)).toFixed(2)+"M":e>=1024?(e/1024).toFixed(2)+"KB":e+"B",r}};function ie(e){return e!=e}function oe(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 ae,ce,le=(ae=Object.keys,ce=Object,function(e){return ae(ce(e))}),ue=Math.max;function fe(e,t){var r=R.isArray(e)||R.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 i in e)!t&&!x.hasOwnProperty.call(e,i)||s&&("length"==i||R.isIndex(i,n))||r.push(i);return r}function he(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 i=new Array(n);for(;++s<n;)i[s]=e[s+t];return i}(e,t,r)}const de=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff\\ufe0e\\ufe0f]");function ge(e){return de.test(e)}const pe="\\ud800-\\udfff",me=`[${pe}]`,ye="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]",we="\\ud83c[\\udffb-\\udfff]",be=`[^${pe}]`,ve="(?:\\ud83c[\\udde6-\\uddff]){2}",_e="[\\ud800-\\udbff][\\udc00-\\udfff]",$e=`${`(?:${ye}|${we})`}?`,xe="[\\ufe0e\\ufe0f]?",ke=xe+$e+`(?:\\u200d(?:${[be,ve,_e].join("|")})${xe+$e})*`,Se=`(?:${[`${be}${ye}?`,ye,ve,_e,me].join("|")})`,Ae=RegExp(`${we}(?=${we})|${Se+ke}`,"g");function je(e){return ge(e)?function(e){return e.match(Ae)||[]}(e):function(e){return e.split("")}(e)}function qe(e){return t=>{if(!t)return"";const r=ge(t)?je(t):void 0,n=r?r[0]:t[0],s=r?he(r,1).join(""):t.slice(1);return n[e]()+s}}const Ce="\\ud800-\\udfff",Oe="\\u2700-\\u27bf",Le="a-z\\xdf-\\xf6\\xf8-\\xff",Ee="A-Z\\xc0-\\xd6\\xd8-\\xde",Fe="\\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",Me="['’]",Re=`[${Fe}]`,De=`[${Oe}]`,Te=`[${Le}]`,Pe=`[^${Ce}${Fe+"\\d"+Oe+Le+Ee}]`,ze="(?:\\ud83c[\\udde6-\\uddff]){2}",Ie="[\\ud800-\\udbff][\\udc00-\\udfff]",Ne=`[${Ee}]`,Be=`(?:${Te}|${Pe})`,Ue=`(?:${Ne}|${Pe})`,Ve=`(?:${Me}(?:d|ll|m|re|s|t|ve))?`,He=`(?:${Me}(?:D|LL|M|RE|S|T|VE))?`,We="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]|\\ud83c[\\udffb-\\udfff])?",Ze="[\\ufe0e\\ufe0f]?",Je=Ze+We+`(?:\\u200d(?:${[`[^${Ce}]`,ze,Ie].join("|")})${Ze+We})*`,Ge=`(?:${[De,ze,Ie].join("|")})${Je}`,Ye=RegExp([`${Ne}?${Te}+${Ve}(?=${[Re,Ne,"$"].join("|")})`,`${Ue}+${He}(?=${[Re,Ne+Be,"$"].join("|")})`,`${Ne}?${Be}+${Ve}`,`${Ne}+${He}`,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])","\\d+",Ge].join("|"),"g");const Ke=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 ]/),Xe=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function Qe(e,t){if(void 0===t){const t=Ke(e)?function(e){return e.match(Ye)}(e):function(e){return e.match(Xe)}(e);return t||[]}return e.match(t)||[]}function et(e){if(null==e)return"";if("string"==typeof e)return e;if(Array.isArray(e))return`${e.map((e=>null==e?e:et(e)))}`;if(R.isSymbol(e))return e.toString();const t=`${e}`;return"0"==t&&1/e==-Infinity?"-0":t}const tt=qe("toUpperCase"),rt=qe("toLowerCase");var nt={toString:et,startCase:e=>Qe(`${e}`.replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+tt(t)),""),snakeCase:e=>Qe(et(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"_":"")+t.toLowerCase()),""),kebabCase:e=>Qe(et(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"-":"")+t.toLowerCase()),""),camelCase:e=>Qe(et(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>(t=t.toLowerCase(),e+(r?tt(t):t))),""),upperCase:e=>Qe(et(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toUpperCase()),""),upperFirst:tt,lowerCase:e=>Qe(et(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toLowerCase()),""),lowerFirst:rt,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}};const st=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]=st(e[r]));return t};const it=(e,t,r={})=>{const n=e||{},{ignoreUndefined:s=!0,cover:i=!1}=r;if(!t)return n;for(const o in t){if(!t.hasOwnProperty(o))continue;const a=t[o];"object"!=typeof a||"object"!=typeof e[o]||i?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[o]=a):n[o]=ot(e[o],a,r)}return n},ot=(e,t,r={})=>{let n={};return n=e&&"object"==typeof e&&!Array.isArray(e)?it(e,t,r):it({...e},t,r),n},at=(e,t,r={})=>it({...e},t,{cover:!0,...r}),ct=(e,t,r,n,s=!1)=>{if(!e||!t||!r)return;let i=e[t];null!==i&&"object"==typeof i&&s&&Object.keys(i).forEach((e=>{ct(i,e,r,n,s)})),Object.defineProperty(e,t,{configurable:!0,enumerable:!0,set:o=>{r.call(n,o,i),i=o,s&&ct(e,t,r,n,s)},get:()=>i})};var lt={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:i=!0}=t;if((!n||n.length<=0)&&!s)return r;const o={};for(const e in r){if(!r.hasOwnProperty(e))continue;const a=s?i&&e.startsWith("_")?e:nt.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()||(o[a]=c))}return o},clone:st,merge:ot,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]=nt.parseValue(n,{number:t,boolean:r});else e[n]=nt.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:at,combines:(e,t={})=>{let r={};if(!e||e.length<=0)return r;const{ignoreUndefined:n=!0,ignoreNull:s=!0,ignoreZero:i=!0,ignoreEmptyArray:o=!0,ignoreEmptyString:a=!0,cover:c=!0}=t;return e.forEach((e=>r=at(r,e,{ignoreUndefined:n,ignoreNull:s,ignoreZero:i,ignoreEmptyArray:o,ignoreEmptyString:a,cover:c}))),r},observe:ct};class ut{__value=void 0;set(e){this.__value=e}get(){return this.__value}}var ft={singleton:function(){class e{static __instance__;constructor(){}static get Instance(){return e.__instance__||(e.__instance__=new this),e.__instance__}}return e},getset:function(e){const t=new ut;return void 0!==e&&t.set(e),t}};var ht={...R,...x,...lt,...ft,includes:function(e,t,r,n){e=R.isArrayLike(e)?e:function(e){return e?oe(e,function(e){return R.isArrayLike(e)?fe(e):function(e){if(!R.isPrototype(e))return le(e);var t=[];for(var r in Object(e))x.hasOwnProperty.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e)}(e)):[]}(e),r=r&&!n?W.toInteger(r):0;var s=e.length;return r<0&&(r=ue(s+r,0)),R.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,i=r+(n?1:-1);n?i--:++i<s;)if(t(e[i],i,e))return i;return-1}(e,ie,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(R.isObject(e)&&(r=R.isArray(e)?e.entries():Object.entries(e),r))for(const[e,n]of r)t&&t(e,n)}};var dt={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]:[]}};var gt={...dt,stepAction:function(e,t,r=100){if(!R.isFunction(t))return;if(!R.isArray(e)||e.length<=0)return;let n=0;for(;e.length>n;){let s=r+n,i=e.slice(n,s);t&&t(i),n=s}},skip:function(e,t){if(!R.isArray(e)||e.length<=0)return[];const r=t;return e.slice(r)},take:function(e,t,r=0){if(!R.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!R.isArray(e)||e.length<=0?[]:[...new Set(e)]},randoms:function(e,t=1,r=!1){const n=e.length||0;return se.randoms(n,t,r).map((t=>e[t]))||[]},toKV:(e,t,r)=>{const n={};return t&&r?((e||[]).forEach((e=>{if(!e||!R.isObject(e))return;const s=e[t];(R.isString(s)&&""!==s||R.isNumber(s))&&(n[s]=e[r])})),n):n}};const pt="[object Object]",mt="[object Array]",yt=e=>Object.prototype.toString.call(e),wt=(e,t,r=!1)=>{if(e===t)return;const n=yt(e);if(n===yt(t))if(n===mt&&e.length>=t.length)for(let r=0;r<t.length;r++)wt(e[r],t[r]);else if(n===pt&&Object.keys(e).length>=Object.keys(t).length)for(let n in t)r||void 0!==e[n]?wt(e[n],t[n]):e[n]=null},bt=(e,t,r,n="",s=!1)=>{if(e===t)return;const i=yt(e),o=yt(t);if(i===mt&&o===i&&e.length>=t.length)for(let s=0;s<e.length;s++)bt(e[s],t[s],r,`${n}[${s}]`);else if(i===pt&&o===i&&(s||Object.keys(e).length>=Object.keys(t).length)){const s=Object.keys(e);for(let i of s){const s=e[i],o=t[i],a=yt(s),c=yt(o);if(s!==o)if(a===mt&&c===a&&s.length>=o.length)for(let e=0;e<s.length;e++)bt(s[e],o[e],r,`${n?n+".":""}${i}[${e}]`);else if(a===pt&&c===a&&Object.keys(s).length>=Object.keys(o).length)for(let e in s)bt(s[e],o[e],r,`${n?n+".":""}${i}.${e}`);else r[`${n?n+".":""}${i}`]=s}}else r[n]=e};class vt{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 _t{reqConfig={};handleRequest;handleEncrypt;handleDecrypt;handleError;interceptors={request:new vt,response:new vt};constructor(e){const{reqConfig:t={},requestEncrypt:r,responseDecrypt:n,handleError:s,api:i}=e;this.reqConfig=t,this.handleEncrypt=r,this.handleDecrypt=n,this.handleError=s,this.handleRequest=i}static blockId="blockid";static requestLock={};lockR(e,t){_t.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete _t.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=lt.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 i;try{if("block"===n.model)this.lockR(_t.blockId,(()=>this._fetch(s,n.hasEncrypt))),i=await _t.requestLock[_t.blockId].request;else if(_t.requestLock[_t.blockId]&&_t.requestLock[_t.blockId].lock&&await _t.requestLock[_t.blockId].request,"debounce"===n.model||"debounceUrl"===n.model){let e;e="debounceUrl"===n.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),_t.requestLock[e]||this.lockR(e,(()=>this._fetch(s,n.hasEncrypt))),i=await _t.requestLock[e].request,this.unlockR(e)}else i=await this._fetch(s,n.hasEncrypt)}catch(e){this.handleError&&this.handleError(e)}return this.interceptors.response.invoke({res:i,config:r,reqId:this.getIdFromReq(s),refetch:()=>({sig:"REFETCH",result:this.request(e,t||{})})})}}const $t=e=>"function"!=typeof e?e:(t={})=>new Promise(((r,n)=>{e(Object.assign(t,{success:r,fail:n}))}));var xt={diff:function(e,t){const r={};return(e=>{if(yt(e)===pt)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];yt(n[t])!==pt&&(n[t]={}),n=n[t]}n[r[s-1]]=e[t],delete e[t]}})(e),wt(e,t,!0),bt(e,t,r,"",!0),r},promixify:$t,run:(e,t={})=>e?ee.run($t(e)(t)):ee.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:_t,setWatcher:e=>{let t=e.data,r=e.watch;Object.keys(r).forEach((n=>{let s=t,i=n.split(".");for(let e=0;e<i.length-1;e++)s=s[i[e]];let o=i[i.length-1],a=r[n].handler||r[n],c=r[n].deep;lt.observe(s,o,a,e,c)}))}};const kt=function(e,{sep:t="&",eq:r="=",max:n=1e3,multiple:s=!0,uri:i=!0,parseNumber:o=!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,o,a,u,f=e[t].replace(l,"%20"),h=f.indexOf(r);h>=0?(n=f.substr(0,h),o=f.substr(h+1)):(n=f,o=""),a=i?decodeURIComponent(n):n,u=i?decodeURIComponent(o):o,x.hasOwnProperty.call(c,a)&&s?Array.isArray(c[a])?c[a].push(u):c[a]=[c[a],u]:c[a]=u}return lt.parseValue(c,{number:o,boolean:a}),c},St=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}},At=function(e,t=!0){return t?encodeURIComponent(e):e},jt=function(e,{cleanZero:t=!1,cleanNull:r=!1,cleanWhitespace:n=!1}={}){return!(!t||0!==e)||(!(!r||null!=e)||!(!n||"string"!=typeof e||""!==e.trim()))},qt=/^(http[s]?):\/\/([\w.]+)(?::(\d+))?/,Ct=e=>{if(!e)return;const t=e.match(qt);if(!t||t.length<4)return;const r=t[3]||"";return{origin:t[0],protocol:t[1],host:`${t[2]}${r?":"+r:""}`,port:r}};var Ot={parse:kt,stringify:function(e,{sep:t="&",eq:r="=",name:n=null,uri:s=!0,cleanZero:i=!1,cleanNull:o=!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=At(St(n),s)+r,l=e[n];return Array.isArray(l)?l.map((function(e){return c+At(St(e),s)})).join(t):jt(l,{cleanZero:i,cleanNull:o,cleanWhitespace:a})?"":c+At(St(l),s)})).filter(Boolean).join(t):n?At(St(n),s)+r+At(St(e),s):""},https:e=>e?e.replace(/^http[s]?/,"https"):e,parseUrl:e=>{let t="",r="";const n=Ct(e);n&&(t=n.host,r=n.origin);const s=e.split("?"),i=s[0],o=s.length>1?s[1]:"";let a="";const c=i.match(/[\/]?([\w\_\-]+)[.]?[\w]*[?]?$/);c&&(a=c[1]);const l=kt(o,{multiple:!0,uri:!1}),u=i.lastIndexOf("/")+1,f=i.substring(u),h=f.lastIndexOf("."),d=f.substring(0,h),g=f.substring(h),p=i.substring(0,u);return{host:t,origin:r,url:e,path:i,page:a,query:o,filename:d?f:"",filenameWithoutExtension:d,extension:d?g:"",route:d?p:"",params:l}},parsePath:e=>{const t=(e||"").replace(/\\/g,"/").split("?")[0],r=t.lastIndexOf("/")+1,n=t.substring(r),s=n.lastIndexOf("."),i=n.substring(0,s),o=n.substring(s);return{root:t.substring(0,r),name:n,withoutExtension:i,extension:o}},parseHost:Ct,join:(...e)=>{const t=[];return e.forEach((e=>{const r=e.trim().replace(/^\/*(.*?)\/*$/,"$1");r.length>0&&t.push(r)})),t.join("/")}};const Lt=/%[sdj%]/g;let Et=()=>{};function Ft(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 Mt(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(Lt,(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 Rt(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 Dt(e,t,r){let n=0;const s=e.length;!function i(o){if(o&&o.length)return void r(o);const a=n;n+=1,a<s?t(e[a],i):r([])}([])}"undefined"!=typeof process&&process.env&&"production"!==process.env.NODE_ENV&&"undefined"!=typeof window&&"undefined"!=typeof document&&(Et=(e,t)=>{"undefined"!=typeof console&&console.warn&&"undefined"==typeof ASYNC_VALIDATOR_NO_WARNING&&t.every((e=>"string"==typeof e))&&console.warn(e,t)});class Tt extends Error{errors;fields;constructor(e,t){super("Async Validation Error"),this.errors=e,this.fields=t}}function Pt(e,t,r,n,s){if(t.first){const t=new Promise(((t,i)=>{const o=function(e){const t=[];return Object.keys(e).forEach((r=>{t.push(...e[r]||[])})),t}(e);Dt(o,r,(e=>(n(e),e.length?i(new Tt(e,Ft(e))):t(s))))}));return t.catch((e=>e)),t}const i=!0===t.firstFields?Object.keys(e):t.firstFields||[],o=Object.keys(e),a=o.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 Tt(l,Ft(l))):t(s)};o.length||(n(l),t(s)),o.forEach((t=>{const n=e[t];-1!==i.indexOf(t)?Dt(n,r,f):function(e,t,r){const n=[];let s=0;const i=e.length;function o(e){n.push(...e||[]),s++,s===i&&r(n)}e.forEach((e=>{t(e,o)}))}(n,r,f)}))}));return u.catch((e=>e)),u}function zt(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],function(e){return!(!e||void 0===e.message)}(r)?(r.field=r.field||e.fullField,r.fieldValue=n,r):{message:"function"==typeof r?r():r,fieldValue:n,field:r.field||e.fullField}}}function It(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 Nt=(e,t,r,n,s,i)=>{!e.required||r.hasOwnProperty(e.field||"")&&!Rt(t,i||e.type)||n.push(Mt(s.messages.required,e.fullField))};let Bt;const Ut=/^(([^<>()\[\]\\.,;:\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,}))$/,Vt=/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,Ht={integer:e=>Ht.number(e)&&parseInt(e,10)===e,float:e=>Ht.number(e)&&!Ht.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&&!Ht.array(e),method:e=>"function"==typeof e,email:e=>"string"==typeof e&&e.length<=320&&!!e.match(Ut),url:e=>"string"==typeof e&&e.length<=2048&&!!e.match((()=>{if(Bt)return Bt;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(),i=new RegExp(`(?:^${r}$)|(?:^${s}$)`),o=new RegExp(`^${r}$`),a=new RegExp(`^${s}$`),c=e=>e&&e.exact?i:new RegExp(`(?:${t(e)}${r}${t(e)})|(?:${t(e)}${s}${t(e)})`,"g");c.v4=e=>e&&e.exact?o: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 Bt=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"),Bt})()),hex:e=>"string"==typeof e&&!!e.match(Vt)},Wt="enum";var Zt={required:Nt,whitespace:(e,t,r,n,s)=>{(/^\s+$/.test(t)||""===t)&&n.push(Mt(s.messages.whitespace,e.fullField))},type:(e,t,r,n,s)=>{if(e.required&&void 0===t)return void Nt(e,t,r,n,s);const i=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(i)>-1?Ht[i](t)||n.push(Mt(s.messages.types[i],e.fullField,e.type)):i&&typeof t!==e.type&&n.push(Mt(s.messages.types[i],e.fullField,e.type))},range:(e,t,r,n,s)=>{const i="number"==typeof e.len,o="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),i?l!==e.len&&n.push(Mt(s.messages[u].len,e.fullField,e.len)):o&&!a&&l<e.min?n.push(Mt(s.messages[u].min,e.fullField,e.min)):a&&!o&&l>e.max?n.push(Mt(s.messages[u].max,e.fullField,e.max)):o&&a&&(l<e.min||l>e.max)&&n.push(Mt(s.messages[u].range,e.fullField,e.min,e.max))},enum:(e,t,r,n,s)=>{e[Wt]=Array.isArray(e[Wt])?e[Wt]:[],-1===e[Wt].indexOf(t)&&n.push(Mt(s.messages[Wt],e.fullField,e[Wt].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(Mt(s.messages.pattern.mismatch,e.fullField,t,e.pattern));else if("string"==typeof e.pattern){new RegExp(e.pattern).test(t)||n.push(Mt(s.messages.pattern.mismatch,e.fullField,t,e.pattern))}}};const Jt=(e,t,r,n,s)=>{const i=e.type,o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t,i)&&!e.required)return r();Zt.required(e,t,n,o,s,i),Rt(t,i)||Zt.type(e,t,n,o,s)}r(o)};var Gt={string:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field||"")){if(Rt(t,"string")&&!e.required)return r();Zt.required(e,t,n,i,s,"string"),Rt(t,"string")||(Zt.type(e,t,n,i,s),Zt.range(e,t,n,i,s),Zt.pattern(e,t,n,i,s),!0===e.whitespace&&Zt.whitespace(e,t,n,i,s))}r(i)},method:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t)&&!e.required)return r();Zt.required(e,t,n,i,s),void 0!==t&&Zt.type(e,t,n,i,s)}r(i)},number:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(""===t&&(t=void 0),Rt(t)&&!e.required)return r();Zt.required(e,t,n,i,s),void 0!==t&&(Zt.type(e,t,n,i,s),Zt.range(e,t,n,i,s))}r(i)},boolean:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t)&&!e.required)return r();Zt.required(e,t,n,i,s),void 0!==t&&Zt.type(e,t,n,i,s)}r(i)},regexp:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t)&&!e.required)return r();Zt.required(e,t,n,i,s),Rt(t)||Zt.type(e,t,n,i,s)}r(i)},integer:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t)&&!e.required)return r();Zt.required(e,t,n,i,s),void 0!==t&&(Zt.type(e,t,n,i,s),Zt.range(e,t,n,i,s))}r(i)},float:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t)&&!e.required)return r();Zt.required(e,t,n,i,s),void 0!==t&&(Zt.type(e,t,n,i,s),Zt.range(e,t,n,i,s))}r(i)},array:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(null==t&&!e.required)return r();Zt.required(e,t,n,i,s,"array"),null!=t&&(Zt.type(e,t,n,i,s),Zt.range(e,t,n,i,s))}r(i)},object:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t)&&!e.required)return r();Zt.required(e,t,n,i,s),void 0!==t&&Zt.type(e,t,n,i,s)}r(i)},enum:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t)&&!e.required)return r();Zt.required(e,t,n,i,s),void 0!==t&&Zt.enum(e,t,n,i,s)}r(i)},pattern:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t,"string")&&!e.required)return r();Zt.required(e,t,n,i,s),Rt(t,"string")||Zt.pattern(e,t,n,i,s)}r(i)},date:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t,"date")&&!e.required)return r();if(Zt.required(e,t,n,i,s),!Rt(t,"date")){let r;r=t instanceof Date?t:new Date(t),Zt.type(e,r,n,i,s),r&&Zt.range(e,r.getTime(),n,i,s)}}r(i)},url:Jt,hex:Jt,email:Jt,required:(e,t,r,n,s)=>{const i=[],o=Array.isArray(t)?"array":typeof t;Zt.required(e,t,n,i,s,o),r(i)},any:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Rt(t)&&!e.required)return r();Zt.required(e,t,n,i,s)}r(i)}};function Yt(){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 Kt=Yt();class Xt{static register=function(e,t){if("function"!=typeof t)throw new Error("Cannot register a validator by type, validator is not a function");Gt[e]=t};static warning=Et;static messages=Kt;static validators=Gt;rules={};_messages=Kt;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=It(Yt(),e)),this._messages}validate(e,t={},r=(()=>{})){let n=e,s=t,i=r;if("function"==typeof s&&(i=s,s={}),!this.rules||0===Object.keys(this.rules).length)return i&&i(null,n),Promise.resolve(n);if(s.messages){let e=this.messages();e===Kt&&(e=Yt()),It(e,s.messages),s.messages=e}else s.messages=this.messages();const o={};(s.keys||Object.keys(this.rules)).forEach((t=>{const r=this.rules[t];let s=n[t];r.forEach((r=>{let i=r;"function"==typeof i.transform&&(n===e&&(n={...n}),s=n[t]=i.transform(s)),i="function"==typeof i?{validator:i}:{...i},i.validator=this.getValidationMethod(i),i.validator&&(i.field=t,i.fullField=i.fullField||t,i.type=this.getType(i),o[t]=o[t]||[],o[t].push({rule:i,value:s,source:n,field:t}))}))}));const a={};return Pt(o,s,((e,t)=>{const r=e.rule;let i,o=!("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(i=[]){let l=Array.isArray(i)?i:[i];!0===s.suppressWarning&&l.length&&Xt.warning("async-validator:",l),l.length&&void 0!==r.message&&(l=[].concat(r.message));let u=l.map(zt(r,n));if(s.first&&u.length)return a[r.field]=1,t(u);if(o){if(r.required&&!e.value)return void 0!==r.message?u=[].concat(r.message).map(zt(r,n)):s.error&&(u=[s.error(r,Mt(s.messages.required,r.field))]),t(u);let i={};r.defaultField&&Object.keys(e.value).map((e=>{i[e]=r.defaultField})),i={...i,...e.rule.fields};const o={};Object.keys(i).forEach((e=>{const t=i[e],r=Array.isArray(t)?t:[t];o[e]=r.map(c.bind(null,e))}));const a=new Xt(o);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(o=o&&(r.required||!r.required&&e.value),r.field=e.field,r.asyncValidator)i=r.asyncValidator(r,e.value,l,e.source,s);else if(r.validator){try{i=r.validator(r,e.value,l,e.source,s)}catch(e){console.error?.(e),s.suppressValidatorError||setTimeout((()=>{throw e}),0),l(e.message)}!0===i?l():!1===i?l("function"==typeof r.message?r.message(r.fullField||r.field):r.message||`${r.fullField||r.field} fails`):i instanceof Array?l(i):i instanceof Error&&l(i.message)}i&&i.then&&i.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=Ft(t),i(t,r)):i(null,n)}(e)}),n)}getType(e){if(void 0===e.type&&e.pattern instanceof RegExp&&(e.type="pattern"),"function"!=typeof e.validator&&e.type&&!Gt.hasOwnProperty(e.type))throw new Error(Mt("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]?Gt.required:Gt[this.getType(e)]||void 0}}function Qt(e){return new Xt(e)}var er={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:Qt,validate:function(e,t,r={},n=(()=>{})){return ee.run(Qt(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)}};var tr={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})$/}};const rr=`${i.keyUpper}${i.keyLower}${i.keyNumber}+/=`,nr=e=>{let t,r,n,s,i,o,a,c="",l=0;for(e=sr(e);l<e.length;)t=e.charCodeAt(l++),r=e.charCodeAt(l++),n=e.charCodeAt(l++),s=t>>2,i=(3&t)<<4|r>>4,o=(15&r)<<2|n>>6,a=63&n,isNaN(r)?o=a=64:isNaN(n)&&(a=64),c=c+rr.charAt(s)+rr.charAt(i)+rr.charAt(o)+rr.charAt(a);return c},sr=e=>{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},ir=e=>{let t="",r=0,n=0,s=0,i=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),i=e.charCodeAt(r+2),t+=String.fromCharCode((15&n)<<12|(63&s)<<6|63&i),r+=3);return t};var or={encode:nr,decode:e=>{let t,r,n,s,i,o,a,c="",l=0;for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");l<e.length;)s=rr.indexOf(e.charAt(l++)),i=rr.indexOf(e.charAt(l++)),o=rr.indexOf(e.charAt(l++)),a=rr.indexOf(e.charAt(l++)),t=s<<2|i>>4,r=(15&i)<<4|o>>2,n=(3&o)<<6|a,c+=String.fromCharCode(t),64!=o&&(c+=String.fromCharCode(r)),64!=a&&(c+=String.fromCharCode(n));return c=ir(c),c},encodeByOss:e=>nr(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")};var ar={...i,base64:or,uuid:o,guid:(e,t=!1,r="")=>{const n=o(e||32);return t?g.now().format("yyyyMMddhhmmss")+r+n:n}};const cr=e=>{if(!e)return"";if(!ht.isObject(e))return"";let t="";return ht.forof(e,((e,r)=>{r&&(t+=`${nt.kebabCase(e)}:${r};`)})),t},lr=["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"],ur=["top","bottom","left","right","padding","margin","marginTop","marginRight","marginBottom","marginLeft","paddingTop","paddingRight","paddingBottom","paddingLeft","height","width","border","borderLeft","borderRight","borderTop","borderBottom","borderColor","borderRadius"],fr=(e,t="px")=>e&&t?"0"===e?e:er.isFloat(e.toString())?`${e}${t}`:e:e;var hr={stringify:cr,parse:(e,{camel:t=!1,pure:r=!0}={})=>{if(!e.trim())return;const n=Ot.parse(e,{sep:";",eq:":",uri:!1}),s={};return ht.forof(n,((e,n)=>{if(!n)return;const i=t?r&&e.startsWith("_")?e:nt.camelCase(e):e;er.isFloat(n)||n.length>=2&&n.startsWith(".")&&er.isNumber(n.substr(1))?s[i]=+n:s[i]=n})),s},fixValue:fr,style:(e,t="px")=>{if(!e)return"";const r=ht.copy(e,{fields:lr});ht.forof(r,((e,n)=>{(ur.includes(e)||ur.includes(nt.camelCase(e)))&&(r[e]=fr(n,t))}));return cr(r)},commonFields:lr};const dr=(e,t="",r=!1)=>{try{if(!e)return;const n=Ot.parseUrl(e),s=t||n.filename;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.path}?${Ot.stringify(t,{uri:!1})}`,i=new XMLHttpRequest;i.open("GET",r,!0),i.responseType="blob",i.onload=function(){gr(i.response,s)},i.onerror=function(t){console.error(`[ddan] downloadUrl ${e}`,t)},i.send()}}catch(t){console.error(`[ddan] downloadUrl ${e}`,t)}},gr=(e,t="")=>{try{if(!e)return;const r=URL?.createObjectURL(e);if(!r)return;dr(r,t),URL?.revokeObjectURL(r)}catch(e){console.error("[ddan] downloadFile",e)}};var pr={dataURLtoFile:(e,t)=>{let r=e.split(","),n=r[0].match(/:(.*?);/)[1],s=window.atob(r[1]),i=s.length,o=new Uint8Array(i);for(;i--;)o[i]=s.charCodeAt(i);return new File([o],t,{type:n})},dataURLtoBlob:e=>{let t=e.split(","),r=t[0].match(/:(.*?);/)[1],n=window.atob(t[1]),s=n.length,i=new Uint8Array(s);for(;s--;)i[s]=n.charCodeAt(s);return new Blob([i],{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:dr,download:(e,t="")=>{e&&("string"!=typeof e?gr(e,t):dr(e,t))},downloadFile:gr,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();dr(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:i="16px Arial",textAlign:o="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),i&&(l.font=i),o&&(l.textAlign=o),a&&(l.textBaseline=a),l.fillText(e,c.width/10,c.height/2),`url(${c.toDataURL()})`):""}catch(e){return console.error("[ddan] watermark",e),""}}};var mr={ossImage:(e,t={})=>{if(!e)return e;const r=Ot.parseUrl(e).path;if(t.domain){if(!e.startsWith("http"))return e;const r=gt.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=Ot.parseUrl(e).path,n=["snapshot"],{m:s="fast",f:i="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}`),i&&n.push(`f_${i}`),t.ar&&n.push(`ar_${t.ar}`),`${r}?x-oss-process=video/${n.join(",")}`}};var yr={uint8ArrayToString:function(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},stringToArrayBuffer:function(e){const t=e.length,r=new ArrayBuffer(t),n=new Uint8Array(r);for(let r=0;r<t;r++)n[r]=e.charCodeAt(r);return r},arrayBufferToString:function(e,t=!1){const r=new Uint8Array(e).reduce(((e,t)=>e+String.fromCharCode(t)),"");return t?btoa(r):r}};const wr=({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 br(e){const{response:t}=e;return 0===t.code?Promise.resolve(t):Promise.reject(t)}function vr(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(ht.isPlainObject(e)){const r=Ot.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 _r{host="";reqConfig={};handleError;interceptors={request:new vt,response:new vt};constructor(e){this.host=e.host||"",this.reqConfig=e.config,this.interceptors.request.use(e.handleRequest||[]),this.interceptors.request.use(vr),this.interceptors.response.use(e.handleResponse||br),this.handleError=e.handleError}static blockId="blockid";static requestLock={};lockR(e,t){_r.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete _r.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=ht.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 i;if(delete s.options.plugins,"block"===r.model)this.lockR(_r.blockId,(()=>wr(s))),i=await _r.requestLock[_r.blockId].request;else if(_r.requestLock[_r.blockId]&&_r.requestLock[_r.blockId].lock&&await _r.requestLock[_r.blockId].request,"debounce"===r.model||"debounceUrl"===r.model){let e;e="debounceUrl"===r.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),_r.requestLock[e]||this.lockR(e,(()=>wr(s))),i=await _r.requestLock[e].request,this.unlockR(e)}else i=await wr(s);return this.interceptors.response.invoke({response:i,config:r,refetch:()=>({sig:"REFETCH",result:this.fetch(e,t)})})}catch(e){return this.handleError&&this.handleError(e),Promise.reject(e)}}}const $r={overrode:!1,tag:!1,format:"hh:mm:ss.SSS"},xr=e=>(...t)=>{const r=console[e];$r.overrode?r(...t):kr(r,e,...t)},kr=(e,t,...r)=>{const n=g.format(new Date,$r.format),s=$r.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 Sr={override:()=>{if($r.overrode)return;$r.overrode=!0;["log","info","warn","error"].forEach((e=>{const t=console[e];console[e]=(...r)=>{kr(t,e,...r)}}))},log:xr("log"),info:xr("info"),warn:xr("warn"),error:xr("error"),config:({tag:e=$r.tag,format:t=$r.format}={})=>{$r.tag=e,$r.format=t}};var Ar={getDataURL:e=>{const t={contentType:"",dataUrl:""};return K.to(fetch(e).then((e=>(t.contentType=e.headers.get("content-type")||"",e.arrayBuffer()))).then((e=>(t.dataUrl=`data:${t.contentType};base64,`+yr.arrayBufferToString(e,!0),t))))},getArrayBuffer:async e=>K.to(fetch(e).then((e=>e.arrayBuffer()))),getJson:async e=>K.to(fetch(e).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 i=0;const o=[];for(;;){const{done:e,value:r}=await s.read();if(e)break;o.push(r),i+=r.length;const a=se.float(100*i/n,{digits:2});t?.progress&&t?.progress(a,i,n)}const a=new Uint8Array(i);let c=0;for(const e of o)a.set(e,c),c+=e.length;t?.success&&t?.success(a),r(a)})).catch((e=>{t?.fail&&t?.fail(e),r(void 0)}))))};const jr=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,${or.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:i=this.__defStyle}=t,o=s&&n?`${n}, url("${e}")`:`url("${e}")`;return`${r}:${o};-webkit-${r}:${o};${i}`}},qr=(e,t,r)=>({key:e,fields:t,storage:r});class Cr{key;storage;fields=[];constructor(e){this.key=e?.key||"",this.fields=e?.fields||[],this.storage=e?.storage||void 0}save=ee.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=lt.copy(e,{fields:this.fields});this.save(r)}}class Or extends a{setters={};getters={};actions={};persist;constructor(){super()}async dispatch(e,t=void 0){const r=this,n=Reflect.get(r.actions,e);if(!R.isFunction(n))return;const[,s]=await ee.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=lt.copy(t);else{const[,t]=await ee.exec((()=>this.dispatch(e)),`${this.__eventId}_${e}`);r=t}return r}commit(e,t){R.isObject(t)&&(t=lt.copy(t)),this[e]=t}}const Lr=(e,t)=>{const r=Object.assign(new Or,e||{});r.__persist=new Cr(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 R.isFunction(n)?n(e):Reflect.get(e,t,r)},set:(e,t,r,n)=>{const s=Reflect.get(e.setters,t);if(R.isFunction(s)&&!s(e,r))return!0;const i=Reflect.set(e,t,r,n);return i&&(e.emit(t.toString(),r),e?.__persist?.handleSave(e,t.toString())),i},has:(e,t)=>Reflect.has(e,t)})};class Er{host="";list=[];constructor(e,t={}){this._parseHost(e);const{width:r=500,height:n=400}=t,s=Ot.parseUrl(e)?.params||{};s["x-oss-process"]=`image/resize,w_${r},h_${n},m_fill`;const i=Ot.stringify(s,{uri:!1});this.list.push(`${e}?${i}`)}_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=ar.base64.encodeByOss(n),i=Ot.stringify({image:s,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}text(e,t={},r={}){if(!e)return;const n={g:"nw",...t},s=ar.base64.encodeByOss(e),i=Ot.stringify({text:s,...n,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}result(){return this.list.join("")}}const Fr=(e,t)=>new Er(e,t);class Mr{__list=[];__running=!1;__waitting=!1;constructor(){this.clear()}pipe(e){return this.__waitting||(e&&this.__list.push(e),this._step()),this}delay(e=0){return this.__waitting||(e&&this.__list.push((()=>ee.delay(e))),this._step()),this}clear(){return this.__list=[],this.__waitting=!1,this.__running=!1,this}async _step(){if(this.__list.length<=0)return;if(this.__running)return;this.__running=!0;const e=this.__list.shift();await ee.run(e),this.__running=!1,this.__waitting||this._step()}async whenAll(){for(this.__waitting=!0,await this._step();;)if(this.__running)await ee.delay(100);else{if(this.__list.length<=0)break;await this._step()}return this.__waitting=!1,this.clear()}}class Rr{__list=[];constructor(){this.clear()}add(e){const t=ee.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 Dr=new class{state=Lr(new Or);frame=new c;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),i=this.getCache(s)||{},o=Date.now(),a=i[e],c={time:o,count:1,cycle:n};return a&&("day"!==n||g.isToday(a.time||0))&&(c.count=1+(a.count||0)),i[e]=c,this.setCache(s,i),i};timesValid=(e,t={})=>{if(!e)return!1;const{max:r=1,interval:n=0,mode:s="running",cycle:i="day"}=t||{},o=this.cacheId(s);let a=this.getCache(o);if(!a)return!0;const c=a[e];if(!c)return!0;if("day"===i&&!g.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=ht.copy(r);ht.forof(n,((e,t)=>{"day"!==t.cycle&&void 0!==t.cycle||g.isToday(t.time||0)||delete r[e]})),this.setCache(t,r)};pipeline=()=>new Mr;parallel=()=>new Rr};class Tr{id="";start=0;end=0;cost=0;name="";type="";desc="";timeStartDesc="";timeEndDesc="";isDone=!1;flag=0;constructor(){this.id=o(),this.start=Date.now(),this.timeStartDesc=g.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=g.format(this.end,"hh:mm:ss.SSS"),this.isDone=!0)}}const Pr=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 Tr;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=lt.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 gt.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)))}},zr={gbk:t,math:se,list:gt,string:nt,time:g,obj:lt,crypto:ar,convert:yr,rule:er,regex:tr,...ht,Event:a},Ir=ee,Nr={mini:xt,css:hr,qs:Ot,icon:jr,html:pr},Br={cdn:mr,watermark:Fr},Ur={Store:Or,storeRef:Lr,Persist:Cr,persistConfig:qr},Vr=Dr,Hr=Pr,Wr=Sr,Zr={fetch:Ar,Http:_r,css:hr,qs:Ot,icon:jr,html:pr};var Jr={gbk:t,time:g,hook:ee,math:se,util:ht,list:gt,string:nt,obj:lt,crypto:ar,mini:xt,qs:Ot,css:hr,cdn:mr,html:pr,icon:jr,rule:er,regex:tr,convert:yr,Event:a,Http:_r,Store:Or,storeRef:Lr,Persist:Cr,persistConfig:qr,watermark:Fr,joker:Dr,tracker:Pr,logger:Sr,fetch:Ar};e.dCdn=Br,e.dHook=Ir,e.dJoker=Vr,e.dLogger=Wr,e.dMini=Nr,e.dStore=Ur,e.dTracker=Hr,e.dUtil=zr,e.dWeb=Zr,e.default=Jr,Object.defineProperty(e,"__esModule",{value:!0})}));
@@ -4,7 +4,7 @@ const uuid_1 = require("../modules/crypto/uuid");
4
4
  class DEvent {
5
5
  __map;
6
6
  __tagList;
7
- __eventId = "";
7
+ __eventId = '';
8
8
  constructor() {
9
9
  this.__map = new Map();
10
10
  this.__tagList = [];
@@ -17,19 +17,19 @@ class DEvent {
17
17
  /**
18
18
  * 监听
19
19
  * @param name
20
- * @param handler
20
+ * @param listener
21
21
  * @returns
22
22
  */
23
- on(name, handler, tag = "") {
24
- if (!name || !handler)
23
+ on(name, listener, tag = '') {
24
+ if (!name || !listener)
25
25
  return this;
26
26
  let handlers = this.__map.get(name);
27
27
  if (!handlers) {
28
28
  handlers = new Set();
29
29
  this.__map.set(name, handlers);
30
30
  }
31
- handlers.add(handler);
32
- tag && this.__tagList.push({ name, handler, tag });
31
+ handlers.add(listener);
32
+ tag && this.__tagList.push({ name, listener, tag });
33
33
  return this;
34
34
  }
35
35
  emit(name, ...args) {
@@ -45,17 +45,17 @@ class DEvent {
45
45
  /**
46
46
  * 取消监听
47
47
  * @param name
48
- * @param handler
48
+ * @param listener
49
49
  * @returns
50
50
  */
51
- off(name, handler) {
52
- if (!name || !handler)
51
+ off(name, listener) {
52
+ if (!name || !listener)
53
53
  return this;
54
- this.__tagList = this.__tagList.filter(e => e.name !== name || e.handler !== handler);
54
+ this.__tagList = this.__tagList.filter((e) => e.name !== name || e.listener !== listener);
55
55
  const handlers = this.__map.get(name);
56
56
  if (!handlers)
57
57
  return this;
58
- handlers.delete(handler);
58
+ handlers.delete(listener);
59
59
  if (handlers.size <= 0) {
60
60
  this.__map.delete(name);
61
61
  }
@@ -69,29 +69,29 @@ class DEvent {
69
69
  remove(name) {
70
70
  if (!name)
71
71
  return this;
72
- this.__tagList = this.__tagList.filter(e => e.name !== name);
72
+ this.__tagList = this.__tagList.filter((e) => e.name !== name);
73
73
  this.__map.delete(name);
74
74
  return this;
75
75
  }
76
76
  removeByTag(tag) {
77
77
  if (!tag)
78
78
  return this;
79
- const _list = this.__tagList.filter(e => e.tag === tag);
80
- _list.forEach(e => {
81
- this.off(e.name, e.handler);
79
+ const _list = this.__tagList.filter((e) => e.tag === tag);
80
+ _list.forEach((e) => {
81
+ this.off(e.name, e.listener);
82
82
  });
83
- this.__tagList = this.__tagList.filter(e => e.tag !== tag);
83
+ this.__tagList = this.__tagList.filter((e) => e.tag !== tag);
84
84
  return this;
85
85
  }
86
86
  /**
87
87
  * 一次性监听
88
88
  * @param name
89
- * @param handler
89
+ * @param listener
90
90
  * @returns
91
91
  */
92
- once(name, handler) {
92
+ once(name, listener) {
93
93
  const warpper = (...args) => {
94
- handler(...args);
94
+ listener(...args);
95
95
  this.off(name, warpper);
96
96
  };
97
97
  this.on(name, warpper);
@@ -4,7 +4,7 @@ const time_1 = require("../time");
4
4
  const base64_1 = require("./base64");
5
5
  const const_1 = require("./const");
6
6
  const uuid_1 = require("./uuid");
7
- const getNewId = (len, prefix = false, sep = "") => {
7
+ const guid = (len, prefix = false, sep = "") => {
8
8
  const pwd = (0, uuid_1.default)(len || 32);
9
9
  if (!prefix)
10
10
  return pwd;
@@ -14,5 +14,5 @@ exports.default = {
14
14
  ...const_1.default,
15
15
  base64: base64_1.default,
16
16
  uuid: uuid_1.default,
17
- getNewId
17
+ guid
18
18
  };
@@ -17,7 +17,7 @@ const parseUrl = (url) => {
17
17
  // }
18
18
  const hostInfo = parseHost(url);
19
19
  if (hostInfo) {
20
- host = hostInfo.domain;
20
+ host = hostInfo.host;
21
21
  origin = hostInfo.origin;
22
22
  }
23
23
  const arr = url.split('?');
@@ -79,7 +79,7 @@ const parseHost = (url) => {
79
79
  const result = {
80
80
  origin: matches[0],
81
81
  protocol: matches[1],
82
- domain: `${matches[2]}${port ? ':' + port : ''}`,
82
+ host: `${matches[2]}${port ? ':' + port : ''}`,
83
83
  port,
84
84
  };
85
85
  return result;
@@ -1,11 +1,11 @@
1
- import { Ddan } from "../typings";
1
+ import { Ddan } from '../typings';
2
2
  export interface IDEvent {
3
3
  name: string;
4
- handler: Function | any;
4
+ listener: Ddan.Function | any;
5
5
  tag: string;
6
6
  }
7
7
  export default class DEvent implements Ddan.IEvent {
8
- __map: Map<string, Set<Function | any>>;
8
+ __map: Map<string, Set<Ddan.Function | any>>;
9
9
  __tagList: IDEvent[];
10
10
  __eventId: string;
11
11
  constructor();
@@ -13,18 +13,18 @@ export default class DEvent implements Ddan.IEvent {
13
13
  /**
14
14
  * 监听
15
15
  * @param name
16
- * @param handler
16
+ * @param listener
17
17
  * @returns
18
18
  */
19
- on(name: string, handler: Function, tag?: string): this;
19
+ on(name: string, listener: Ddan.Function, tag?: string): this;
20
20
  emit(name: string, ...args: any[]): this;
21
21
  /**
22
22
  * 取消监听
23
23
  * @param name
24
- * @param handler
24
+ * @param listener
25
25
  * @returns
26
26
  */
27
- off(name: string, handler?: Function): this;
27
+ off(name: string, listener?: Ddan.Function): this;
28
28
  /**
29
29
  * 移除
30
30
  * @param name
@@ -35,9 +35,9 @@ export default class DEvent implements Ddan.IEvent {
35
35
  /**
36
36
  * 一次性监听
37
37
  * @param name
38
- * @param handler
38
+ * @param listener
39
39
  * @returns
40
40
  */
41
- once(name: string, handler: Function): this;
41
+ once(name: string, listener: Ddan.Function): this;
42
42
  has(name: string): boolean;
43
43
  }
@@ -148,7 +148,7 @@ declare const dUtil: {
148
148
  encodeByOss: (input: string) => string;
149
149
  };
150
150
  uuid: (len?: number, radix?: number) => string;
151
- getNewId: (len: number, prefix?: boolean, sep?: string) => string;
151
+ guid: (len: number, prefix?: boolean, sep?: string) => string;
152
152
  keyNumber: string;
153
153
  keyLower: string;
154
154
  keyUpper: string;
@@ -566,7 +566,7 @@ declare const _default: {
566
566
  encodeByOss: (input: string) => string;
567
567
  };
568
568
  uuid: (len?: number, radix?: number) => string;
569
- getNewId: (len: number, prefix?: boolean, sep?: string) => string;
569
+ guid: (len: number, prefix?: boolean, sep?: string) => string;
570
570
  keyNumber: string;
571
571
  keyLower: string;
572
572
  keyUpper: string;
@@ -5,7 +5,7 @@ declare const _default: {
5
5
  encodeByOss: (input: string) => string;
6
6
  };
7
7
  uuid: (len?: number, radix?: number) => string;
8
- getNewId: (len: number, prefix?: boolean, sep?: string) => string;
8
+ guid: (len: number, prefix?: boolean, sep?: string) => string;
9
9
  keyNumber: string;
10
10
  keyLower: string;
11
11
  keyUpper: string;
@@ -10,7 +10,7 @@ export default class DLoopFrame implements Ddan.ILoopFrame {
10
10
  start(): this;
11
11
  stop(): this;
12
12
  restart(): this;
13
- on(cb: Function): this;
14
- off(cb: Function | undefined): this;
13
+ on(cb: Ddan.Function): this;
14
+ off(cb: Ddan.Function | undefined): this;
15
15
  _handleLoop(): void;
16
16
  }
@@ -17,7 +17,7 @@ export declare namespace Ddan {
17
17
  type Result<T = any> = T | Promise<T>;
18
18
  interface IHttpHost {
19
19
  origin: string;
20
- domain: string;
20
+ host: string;
21
21
  protocol: string;
22
22
  port: string;
23
23
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ddan-js",
3
- "version": "2.4.6",
3
+ "version": "2.4.8",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "ddan-js",