w-mousekey 1.0.5 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AutoHotkey_2.0.19/zdrag.ahk +1 -0
- package/README.md +23 -3
- package/dist/action.umd.js +1 -1
- package/dist/ck-pic.umd.js +2 -2
- package/dist/ck-pic.umd.js.map +1 -1
- package/dist/ck-pics.umd.js +1 -1
- package/dist/compare.umd.js +1 -1
- package/dist/get-settings.umd.js +1 -1
- package/dist/mousekey.umd.js +1 -1
- package/dist/screen.umd.js +1 -1
- package/dist/wait-pics.umd.js +2 -2
- package/dist/wait-pics.umd.js.map +1 -1
- package/docs/index.html +1 -1
- package/g.test_opencv.mjs +16 -2
- package/package.json +2 -2
- package/src/ckPic.mjs +10 -1
package/dist/wait-pics.umd.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* wait-pics v1.0.
|
|
2
|
+
* wait-pics v1.0.7
|
|
3
3
|
* (c) 2018-2021 yuda-lyu(semisphere)
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
6
|
-
!function(t,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r(require("fs"),require("path"),require("child_process"),require("util"),require("screenshot-desktop"),require("sharp"),require("@u4/opencv4nodejs")):"function"==typeof define&&define.amd?define(["fs","path","child_process","util","screenshot-desktop","sharp","@u4/opencv4nodejs"],r):(t="undefined"!=typeof globalThis?globalThis:t||self)["wait-pics"]=r(t.fs,t.path,t.child_process,t.util,t["screenshot-desktop"],t.sharp,t["@u4/opencv4nodejs"])}(this,function(t,r,e,n,o,i,u){"use strict";var a=Array.isArray,f="object"==typeof global&&global&&global.Object===Object&&global,c="object"==typeof self&&self&&self.Object===Object&&self,l=f||c||Function("return this")(),s=l.Symbol,h=Object.prototype,d=h.hasOwnProperty,g=h.toString,b=s?s.toStringTag:void 0;var v=Object.prototype.toString;var p=s?s.toStringTag:void 0;function y(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":p&&p in Object(t)?function(t){var r=d.call(t,b),e=t[b];try{t[b]=void 0;var n=!0}catch(t){}var o=g.call(t);return n&&(r?t[b]=e:delete t[b]),o}(t):function(t){return v.call(t)}(t)}function w(t){return null!=t&&"object"==typeof t}function m(t){return"symbol"==typeof t||w(t)&&"[object Symbol]"==y(t)}var _=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,j=/^\w*$/;function $(t,r){if(a(t))return!1;var e=typeof t;return!("number"!=e&&"symbol"!=e&&"boolean"!=e&&null!=t&&!m(t))||(j.test(t)||!_.test(t)||null!=r&&t in Object(r))}function S(t){var r=typeof t;return null!=t&&("object"==r||"function"==r)}function k(t){if(!S(t))return!1;var r=y(t);return"[object Function]"==r||"[object GeneratorFunction]"==r||"[object AsyncFunction]"==r||"[object Proxy]"==r}var x,O=l["__core-js_shared__"],E=(x=/[^.]+$/.exec(O&&O.keys&&O.keys.IE_PROTO||""))?"Symbol(src)_1."+x:"";var A=Function.prototype.toString;function P(t){if(null!=t){try{return A.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var H=/^\[object .+?Constructor\]$/,R=Function.prototype,z=Object.prototype,M=R.toString,F=z.hasOwnProperty,T=RegExp("^"+M.call(F).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function q(t){return!(!S(t)||(r=t,E&&E in r))&&(k(t)?T:H).test(P(t));var r}function C(t,r){var e=function(t,r){return null==t?void 0:t[r]}(t,r);return q(e)?e:void 0}var B=C(Object,"create");var D=Object.prototype.hasOwnProperty;var N=Object.prototype.hasOwnProperty;function L(t){var r=-1,e=null==t?0:t.length;for(this.clear();++r<e;){var n=t[r];this.set(n[0],n[1])}}function I(t,r){return t===r||t!=t&&r!=r}function U(t,r){for(var e=t.length;e--;)if(I(t[e][0],r))return e;return-1}L.prototype.clear=function(){this.__data__=B?B(null):{},this.size=0},L.prototype.delete=function(t){var r=this.has(t)&&delete this.__data__[t];return this.size-=r?1:0,r},L.prototype.get=function(t){var r=this.__data__;if(B){var e=r[t];return"__lodash_hash_undefined__"===e?void 0:e}return D.call(r,t)?r[t]:void 0},L.prototype.has=function(t){var r=this.__data__;return B?void 0!==r[t]:N.call(r,t)},L.prototype.set=function(t,r){var e=this.__data__;return this.size+=this.has(t)?0:1,e[t]=B&&void 0===r?"__lodash_hash_undefined__":r,this};var V=Array.prototype.splice;function G(t){var r=-1,e=null==t?0:t.length;for(this.clear();++r<e;){var n=t[r];this.set(n[0],n[1])}}G.prototype.clear=function(){this.__data__=[],this.size=0},G.prototype.delete=function(t){var r=this.__data__,e=U(r,t);return!(e<0)&&(e==r.length-1?r.pop():V.call(r,e,1),--this.size,!0)},G.prototype.get=function(t){var r=this.__data__,e=U(r,t);return e<0?void 0:r[e][1]},G.prototype.has=function(t){return U(this.__data__,t)>-1},G.prototype.set=function(t,r){var e=this.__data__,n=U(e,t);return n<0?(++this.size,e.push([t,r])):e[n][1]=r,this};var W=C(l,"Map");function J(t,r){var e,n,o=t.__data__;return("string"==(n=typeof(e=r))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==e:null===e)?o["string"==typeof r?"string":"hash"]:o.map}function K(t){var r=-1,e=null==t?0:t.length;for(this.clear();++r<e;){var n=t[r];this.set(n[0],n[1])}}K.prototype.clear=function(){this.size=0,this.__data__={hash:new L,map:new(W||G),string:new L}},K.prototype.delete=function(t){var r=J(this,t).delete(t);return this.size-=r?1:0,r},K.prototype.get=function(t){return J(this,t).get(t)},K.prototype.has=function(t){return J(this,t).has(t)},K.prototype.set=function(t,r){var e=J(this,t),n=e.size;return e.set(t,r),this.size+=e.size==n?0:1,this};function Q(t,r){if("function"!=typeof t||null!=r&&"function"!=typeof r)throw new TypeError("Expected a function");var e=function(){var n=arguments,o=r?r.apply(this,n):n[0],i=e.cache;if(i.has(o))return i.get(o);var u=t.apply(this,n);return e.cache=i.set(o,u)||i,u};return e.cache=new(Q.Cache||K),e}Q.Cache=K;var X,Y,Z,tt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,rt=/\\(\\)?/g,et=(X=function(t){var r=[];return 46===t.charCodeAt(0)&&r.push(""),t.replace(tt,function(t,e,n,o){r.push(n?o.replace(rt,"$1"):e||t)}),r},Y=Q(X,function(t){return 500===Z.size&&Z.clear(),t}),Z=Y.cache,Y),nt=et;function ot(t,r){for(var e=-1,n=null==t?0:t.length,o=Array(n);++e<n;)o[e]=r(t[e],e,t);return o}var it=s?s.prototype:void 0,ut=it?it.toString:void 0;function at(t){if("string"==typeof t)return t;if(a(t))return ot(t,at)+"";if(m(t))return ut?ut.call(t):"";var r=t+"";return"0"==r&&1/t==-1/0?"-0":r}function ft(t){return null==t?"":at(t)}function ct(t,r){return a(t)?t:$(t,r)?[t]:nt(ft(t))}function lt(t){if("string"==typeof t||m(t))return t;var r=t+"";return"0"==r&&1/t==-1/0?"-0":r}function st(t,r){for(var e=0,n=(r=ct(r,t)).length;null!=t&&e<n;)t=t[lt(r[e++])];return e&&e==n?t:void 0}function ht(t,r,e){var n=null==t?void 0:st(t,r);return void 0===n?e:n}var dt=Object.prototype;var gt=function(t,r){return function(e){return t(r(e))}}(Object.keys,Object),bt=gt,vt=Object.prototype.hasOwnProperty;function pt(t){if(e=(r=t)&&r.constructor,r!==("function"==typeof e&&e.prototype||dt))return bt(t);var r,e,n=[];for(var o in Object(t))vt.call(t,o)&&"constructor"!=o&&n.push(o);return n}var yt=C(l,"DataView"),wt=C(l,"Promise"),mt=C(l,"Set"),_t=C(l,"WeakMap"),jt="[object Map]",$t="[object Promise]",St="[object Set]",kt="[object WeakMap]",xt="[object DataView]",Ot=P(yt),Et=P(W),At=P(wt),Pt=P(mt),Ht=P(_t),Rt=y;(yt&&Rt(new yt(new ArrayBuffer(1)))!=xt||W&&Rt(new W)!=jt||wt&&Rt(wt.resolve())!=$t||mt&&Rt(new mt)!=St||_t&&Rt(new _t)!=kt)&&(Rt=function(t){var r=y(t),e="[object Object]"==r?t.constructor:void 0,n=e?P(e):"";if(n)switch(n){case Ot:return xt;case Et:return jt;case At:return $t;case Pt:return St;case Ht:return kt}return r});var zt=Rt;function Mt(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}function Ft(t){return null!=t&&Mt(t.length)&&!k(t)}function Tt(t){return function(r){return null==r?void 0:r[t]}}var qt=Tt("length"),Ct=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");function Bt(t){return Ct.test(t)}var Dt="\\ud800-\\udfff",Nt="["+Dt+"]",Lt="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",It="\\ud83c[\\udffb-\\udfff]",Ut="[^"+Dt+"]",Vt="(?:\\ud83c[\\udde6-\\uddff]){2}",Gt="[\\ud800-\\udbff][\\udc00-\\udfff]",Wt="(?:"+Lt+"|"+It+")"+"?",Jt="[\\ufe0e\\ufe0f]?",Kt=Jt+Wt+("(?:\\u200d(?:"+[Ut,Vt,Gt].join("|")+")"+Jt+Wt+")*"),Qt="(?:"+[Ut+Lt+"?",Lt,Vt,Gt,Nt].join("|")+")",Xt=RegExp(It+"(?="+It+")|"+Qt+Kt,"g");function Yt(t){return Bt(t)?function(t){for(var r=Xt.lastIndex=0;Xt.test(t);)++r;return r}(t):qt(t)}function Zt(t){if(null==t)return 0;if(Ft(t))return"string"==typeof(r=t)||!a(r)&&w(r)&&"[object String]"==y(r)?Yt(t):t.length;var r,e=zt(t);return"[object Map]"==e||"[object Set]"==e?t.size:pt(t).length}function tr(t){return"[object String]"===Object.prototype.toString.call(t)}function rr(t){return!(!tr(t)||""===t)}function er(){let t,r,e=new Promise(function(){t=arguments[0],r=arguments[1]});return e.resolve=t,e.reject=r,e}function nr(t){let r=!1;if(rr(t))r=!isNaN(Number(t));else if(function(t){return"[object Number]"===Object.prototype.toString.call(t)}(t)){if(function(t){return t!=t}(t))return!1;r=!0}return r}function or(t=10){nr(t)||(t=10);let r=er();return setTimeout(function(){r.resolve()},t),r}function ir(r){return function(t,r={}){let e=ht(r,"fs");return!!e.existsSync(t)&&!e.lstatSync(t).isDirectory()&&!e.lstatSync(t).isSymbolicLink()}(r,{fs:t})}function ur(t,r={}){let e=ht(r,"fs");if(!e.existsSync(t))return!1;let n=e.lstatSync(t);return!n.isFile()&&!n.isSymbolicLink()}function ar(r){return ur(r,{fs:t})}function fr(r){return function(t,r={}){let e=ht(r,"fs");if(ur(t,{fs:e}))return{success:"input folder is already exists: "+t};if(e.existsSync(t))return{error:"input path already exists: "+t};try{e.mkdirSync(t,{recursive:!0})}catch(t){return{error:t}}return{success:"done: "+t}}(r,{fs:t})}let cr=n.promisify(e.execFile),lr=r.resolve(),sr="AutoHotkey64.exe",hr="";{let t=`${lr}/AutoHotkey_2.0.19/`,r=`${lr}/node_modules/w-mousekey/AutoHotkey_2.0.19/`;if(ir(`${t}${sr}`))hr=t;else{if(!ir(`${r}${sr}`))throw new Error("can not find folder for AutoHotkey");hr=r}}let dr=`${hr}/AutoHotkey64.exe`,gr=`${hr}/zclick.ahk`,br=`${hr}/zdrag.ahk`,vr=`${hr}/zsend.ahk`;async function pr(t,r,e=[]){let n=er();try{let{stdout:o,stderr:i}=await cr(t,["/force",r,...e]);i?n.reject(i):n.resolve(o)}catch(t){n.reject(t)}return n}let yr={mouseClick:async function(t,r){await pr(dr,gr,[t,r])},mouseDrag:async function(t,r,e,n){await pr(dr,br,[t,r,e,n])},sendKey:async function(t){await pr(dr,vr,[`${t}`])},sendString:async function(t){await pr(dr,vr,[`${t}`])}};let wr={screenFull:async function(){return await o({format:"png"})},screen:async function(t,r,e,n){let u=await o({format:"png"});return await i(u).extract({left:t,top:r,width:e,height:n}).toBuffer()},screenFullSave:async function(r){let e=await o({format:"png"});return t.writeFileSync(r,e),e},screenSave:async function(r,e,n,u,a){let f=await o({format:"png"}),c=await i(f).extract({left:r,top:e,width:n,height:u}).toBuffer();return t.writeFileSync(a,c),c}};function mr(t){return!0===(r=t)||!1===r||w(r)&&"[object Boolean]"==y(r);var r}var _r=/\s/;var jr=/^\s+/;function $r(t){return t?t.slice(0,function(t){for(var r=t.length;r--&&_r.test(t.charAt(r)););return r}(t)+1).replace(jr,""):t}var Sr=/^[-+]0x[0-9a-f]+$/i,kr=/^0b[01]+$/i,xr=/^0o[0-7]+$/i,Or=parseInt;function Er(t){if("number"==typeof t)return t;if(m(t))return NaN;if(S(t)){var r="function"==typeof t.valueOf?t.valueOf():t;t=S(r)?r+"":r}if("string"!=typeof t)return 0===t?t:+t;t=$r(t);var e=kr.test(t);return e||xr.test(t)?Or(t.slice(2),e?2:8):Sr.test(t)?NaN:+t}var Ar=1/0;function Pr(t){return t?(t=Er(t))===Ar||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}function Hr(t){var r=Pr(t),e=r%1;return r==r?e?r-e:r:0}function Rr(t){if(!nr(t))return 0;return Pr(t)}function zr(t){return!!nr(t)&&(t=Rr(t),"number"==typeof(r=t)&&r==Hr(r));var r}var Mr=l.isFinite,Fr=Math.min;var Tr=function(t){var r=Math[t];return function(t,e){if(t=Er(t),(e=null==e?0:Fr(Hr(e),292))&&Mr(t)){var n=(ft(t)+"e").split("e");return+((n=(ft(r(n[0]+"e"+(+n[1]+e)))+"e").split("e"))[0]+"e"+(+n[1]-e))}return r(t)}}("round"),qr=Tr;function Cr(t){if(!nr(t))return 0;t=Rr(t);let r=qr(t);return"0"===String(r)?0:r}function Br(t){if(!zr(t))return!1;return Cr(t)>0}function Dr(t,r,e){var n=t.length;return e=void 0===e?n:e,!r&&e>=n?t:function(t,r,e){var n=-1,o=t.length;r<0&&(r=-r>o?0:o+r),(e=e>o?o:e)<0&&(e+=o),o=r>e?0:e-r>>>0,r>>>=0;for(var i=Array(o);++n<o;)i[n]=t[n+r];return i}(t,r,e)}function Nr(t){return t!=t}function Lr(t,r,e){return r==r?function(t,r,e){for(var n=e-1,o=t.length;++n<o;)if(t[n]===r)return n;return-1}(t,r,e):function(t,r,e,n){for(var o=t.length,i=e+(n?1:-1);n?i--:++i<o;)if(r(t[i],i,t))return i;return-1}(t,Nr,e)}var Ir="\\ud800-\\udfff",Ur="["+Ir+"]",Vr="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",Gr="\\ud83c[\\udffb-\\udfff]",Wr="[^"+Ir+"]",Jr="(?:\\ud83c[\\udde6-\\uddff]){2}",Kr="[\\ud800-\\udbff][\\udc00-\\udfff]",Qr="(?:"+Vr+"|"+Gr+")"+"?",Xr="[\\ufe0e\\ufe0f]?",Yr=Xr+Qr+("(?:\\u200d(?:"+[Wr,Jr,Kr].join("|")+")"+Xr+Qr+")*"),Zr="(?:"+[Wr+Vr+"?",Vr,Jr,Kr,Ur].join("|")+")",te=RegExp(Gr+"(?="+Gr+")|"+Zr+Yr,"g");function re(t){return Bt(t)?function(t){return t.match(te)||[]}(t):function(t){return t.split("")}(t)}function ee(t,r,e){if((t=ft(t))&&(e||void 0===r))return $r(t);if(!t||!(r=at(r)))return t;var n=re(t),o=re(r),i=function(t,r){for(var e=-1,n=t.length;++e<n&&Lr(r,t[e],0)>-1;);return e}(n,o),u=function(t,r){for(var e=t.length;e--&&Lr(r,t[e],0)>-1;);return e}(n,o)+1;return Dr(n,i,u).join("")}function ne(t){var r=this.__data__=new G(t);this.size=r.size}ne.prototype.clear=function(){this.__data__=new G,this.size=0},ne.prototype.delete=function(t){var r=this.__data__,e=r.delete(t);return this.size=r.size,e},ne.prototype.get=function(t){return this.__data__.get(t)},ne.prototype.has=function(t){return this.__data__.has(t)},ne.prototype.set=function(t,r){var e=this.__data__;if(e instanceof G){var n=e.__data__;if(!W||n.length<199)return n.push([t,r]),this.size=++e.size,this;e=this.__data__=new K(n)}return e.set(t,r),this.size=e.size,this};function oe(t){var r=-1,e=null==t?0:t.length;for(this.__data__=new K;++r<e;)this.add(t[r])}function ie(t,r){for(var e=-1,n=null==t?0:t.length;++e<n;)if(r(t[e],e,t))return!0;return!1}function ue(t,r){return t.has(r)}oe.prototype.add=oe.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},oe.prototype.has=function(t){return this.__data__.has(t)};function ae(t,r,e,n,o,i){var u=1&e,a=t.length,f=r.length;if(a!=f&&!(u&&f>a))return!1;var c=i.get(t),l=i.get(r);if(c&&l)return c==r&&l==t;var s=-1,h=!0,d=2&e?new oe:void 0;for(i.set(t,r),i.set(r,t);++s<a;){var g=t[s],b=r[s];if(n)var v=u?n(b,g,s,r,t,i):n(g,b,s,t,r,i);if(void 0!==v){if(v)continue;h=!1;break}if(d){if(!ie(r,function(t,r){if(!ue(d,r)&&(g===t||o(g,t,e,n,i)))return d.push(r)})){h=!1;break}}else if(g!==b&&!o(g,b,e,n,i)){h=!1;break}}return i.delete(t),i.delete(r),h}var fe=l.Uint8Array;function ce(t){var r=-1,e=Array(t.size);return t.forEach(function(t,n){e[++r]=[n,t]}),e}function le(t){var r=-1,e=Array(t.size);return t.forEach(function(t){e[++r]=t}),e}var se=s?s.prototype:void 0,he=se?se.valueOf:void 0;function de(t,r){for(var e=-1,n=r.length,o=t.length;++e<n;)t[o+e]=r[e];return t}var ge=Object.prototype.propertyIsEnumerable,be=Object.getOwnPropertySymbols,ve=be?function(t){return null==t?[]:(t=Object(t),function(t,r){for(var e=-1,n=null==t?0:t.length,o=0,i=[];++e<n;){var u=t[e];r(u,e,t)&&(i[o++]=u)}return i}(be(t),function(r){return ge.call(t,r)}))}:function(){return[]},pe=ve;function ye(t){return w(t)&&"[object Arguments]"==y(t)}var we=Object.prototype,me=we.hasOwnProperty,_e=we.propertyIsEnumerable,je=ye(function(){return arguments}())?ye:function(t){return w(t)&&me.call(t,"callee")&&!_e.call(t,"callee")},$e=je;var Se="object"==typeof exports&&exports&&!exports.nodeType&&exports,ke=Se&&"object"==typeof module&&module&&!module.nodeType&&module,xe=ke&&ke.exports===Se?l.Buffer:void 0,Oe=(xe?xe.isBuffer:void 0)||function(){return!1},Ee=/^(?:0|[1-9]\d*)$/;function Ae(t,r){var e=typeof t;return!!(r=null==r?9007199254740991:r)&&("number"==e||"symbol"!=e&&Ee.test(t))&&t>-1&&t%1==0&&t<r}var Pe={};function He(t){return function(r){return t(r)}}Pe["[object Float32Array]"]=Pe["[object Float64Array]"]=Pe["[object Int8Array]"]=Pe["[object Int16Array]"]=Pe["[object Int32Array]"]=Pe["[object Uint8Array]"]=Pe["[object Uint8ClampedArray]"]=Pe["[object Uint16Array]"]=Pe["[object Uint32Array]"]=!0,Pe["[object Arguments]"]=Pe["[object Array]"]=Pe["[object ArrayBuffer]"]=Pe["[object Boolean]"]=Pe["[object DataView]"]=Pe["[object Date]"]=Pe["[object Error]"]=Pe["[object Function]"]=Pe["[object Map]"]=Pe["[object Number]"]=Pe["[object Object]"]=Pe["[object RegExp]"]=Pe["[object Set]"]=Pe["[object String]"]=Pe["[object WeakMap]"]=!1;var Re="object"==typeof exports&&exports&&!exports.nodeType&&exports,ze=Re&&"object"==typeof module&&module&&!module.nodeType&&module,Me=ze&&ze.exports===Re&&f.process,Fe=function(){try{var t=ze&&ze.require&&ze.require("util").types;return t||Me&&Me.binding&&Me.binding("util")}catch(t){}}(),Te=Fe&&Fe.isTypedArray,qe=Te?He(Te):function(t){return w(t)&&Mt(t.length)&&!!Pe[y(t)]},Ce=Object.prototype.hasOwnProperty;function Be(t,r){var e=a(t),n=!e&&$e(t),o=!e&&!n&&Oe(t),i=!e&&!n&&!o&&qe(t),u=e||n||o||i,f=u?function(t,r){for(var e=-1,n=Array(t);++e<t;)n[e]=r(e);return n}(t.length,String):[],c=f.length;for(var l in t)!r&&!Ce.call(t,l)||u&&("length"==l||o&&("offset"==l||"parent"==l)||i&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||Ae(l,c))||f.push(l);return f}function De(t){return Ft(t)?Be(t):pt(t)}function Ne(t){return function(t,r,e){var n=r(t);return a(t)?n:de(n,e(t))}(t,De,pe)}var Le=Object.prototype.hasOwnProperty;var Ie="[object Arguments]",Ue="[object Array]",Ve="[object Object]",Ge=Object.prototype.hasOwnProperty;function We(t,r,e,n,o,i){var u=a(t),f=a(r),c=u?Ue:zt(t),l=f?Ue:zt(r),s=(c=c==Ie?Ve:c)==Ve,h=(l=l==Ie?Ve:l)==Ve,d=c==l;if(d&&Oe(t)){if(!Oe(r))return!1;u=!0,s=!1}if(d&&!s)return i||(i=new ne),u||qe(t)?ae(t,r,e,n,o,i):function(t,r,e,n,o,i,u){switch(e){case"[object DataView]":if(t.byteLength!=r.byteLength||t.byteOffset!=r.byteOffset)return!1;t=t.buffer,r=r.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=r.byteLength||!i(new fe(t),new fe(r)));case"[object Boolean]":case"[object Date]":case"[object Number]":return I(+t,+r);case"[object Error]":return t.name==r.name&&t.message==r.message;case"[object RegExp]":case"[object String]":return t==r+"";case"[object Map]":var a=ce;case"[object Set]":var f=1&n;if(a||(a=le),t.size!=r.size&&!f)return!1;var c=u.get(t);if(c)return c==r;n|=2,u.set(t,r);var l=ae(a(t),a(r),n,o,i,u);return u.delete(t),l;case"[object Symbol]":if(he)return he.call(t)==he.call(r)}return!1}(t,r,c,e,n,o,i);if(!(1&e)){var g=s&&Ge.call(t,"__wrapped__"),b=h&&Ge.call(r,"__wrapped__");if(g||b){var v=g?t.value():t,p=b?r.value():r;return i||(i=new ne),o(v,p,e,n,i)}}return!!d&&(i||(i=new ne),function(t,r,e,n,o,i){var u=1&e,a=Ne(t),f=a.length;if(f!=Ne(r).length&&!u)return!1;for(var c=f;c--;){var l=a[c];if(!(u?l in r:Le.call(r,l)))return!1}var s=i.get(t),h=i.get(r);if(s&&h)return s==r&&h==t;var d=!0;i.set(t,r),i.set(r,t);for(var g=u;++c<f;){var b=t[l=a[c]],v=r[l];if(n)var p=u?n(v,b,l,r,t,i):n(b,v,l,t,r,i);if(!(void 0===p?b===v||o(b,v,e,n,i):p)){d=!1;break}g||(g="constructor"==l)}if(d&&!g){var y=t.constructor,w=r.constructor;y==w||!("constructor"in t)||!("constructor"in r)||"function"==typeof y&&y instanceof y&&"function"==typeof w&&w instanceof w||(d=!1)}return i.delete(t),i.delete(r),d}(t,r,e,n,o,i))}function Je(t,r,e,n,o){return t===r||(null==t||null==r||!w(t)&&!w(r)?t!=t&&r!=r:We(t,r,e,n,Je,o))}function Ke(t){return t==t&&!S(t)}function Qe(t,r){return function(e){return null!=e&&(e[t]===r&&(void 0!==r||t in Object(e)))}}function Xe(t){var r=function(t){for(var r=De(t),e=r.length;e--;){var n=r[e],o=t[n];r[e]=[n,o,Ke(o)]}return r}(t);return 1==r.length&&r[0][2]?Qe(r[0][0],r[0][1]):function(e){return e===t||function(t,r,e,n){var o=e.length,i=o,u=!n;if(null==t)return!i;for(t=Object(t);o--;){var a=e[o];if(u&&a[2]?a[1]!==t[a[0]]:!(a[0]in t))return!1}for(;++o<i;){var f=(a=e[o])[0],c=t[f],l=a[1];if(u&&a[2]){if(void 0===c&&!(f in t))return!1}else{var s=new ne;if(n)var h=n(c,l,f,t,r,s);if(!(void 0===h?Je(l,c,3,n,s):h))return!1}}return!0}(e,t,r)}}function Ye(t,r){return null!=t&&r in Object(t)}function Ze(t,r){return null!=t&&function(t,r,e){for(var n=-1,o=(r=ct(r,t)).length,i=!1;++n<o;){var u=lt(r[n]);if(!(i=null!=t&&e(t,u)))break;t=t[u]}return i||++n!=o?i:!!(o=null==t?0:t.length)&&Mt(o)&&Ae(u,o)&&(a(t)||$e(t))}(t,r,Ye)}function tn(t){return t}function rn(t){return $(t)?Tt(lt(t)):function(t){return function(r){return st(r,t)}}(t)}function en(t){return"function"==typeof t?t:null==t?tn:"object"==typeof t?a(t)?function(t,r){return $(t)&&Ke(r)?Qe(lt(t),r):function(e){var n=ht(e,t);return void 0===n&&n===r?Ze(e,t):Je(r,n,3)}}(t[0],t[1]):Xe(t):rn(t)}var nn,on=function(t,r,e){for(var n=-1,o=Object(t),i=e(t),u=i.length;u--;){var a=i[nn?u:++n];if(!1===r(o[a],a,o))break}return t};var un=function(t,r){return function(e,n){if(null==e)return e;if(!Ft(e))return t(e,n);for(var o=e.length,i=r?o:-1,u=Object(e);(r?i--:++i<o)&&!1!==n(u[i],i,u););return e}}(function(t,r){return t&&on(t,r,De)}),an=un;function fn(t,r){var e=-1,n=Ft(t)?Array(t.length):[];return an(t,function(t,o,i){n[++e]=r(t,o,i)}),n}function cn(t,r){return(a(t)?ot:fn)(t,en(r))}function ln(t,r){for(var e=-1,n=null==t?0:t.length;++e<n&&!1!==r(t[e],e,t););return t}function sn(t,r){var e;return(a(t)?ln:an)(t,"function"==typeof(e=r)?e:tn)}var hn=s?s.isConcatSpreadable:void 0;function dn(t){return a(t)||$e(t)||!!(hn&&t&&t[hn])}function gn(t,r,e,n,o){var i=-1,u=t.length;for(e||(e=dn),o||(o=[]);++i<u;){var a=t[i];r>0&&e(a)?r>1?gn(a,r-1,e,n,o):de(o,a):n||(o[o.length]=a)}return o}function bn(t,r){if(t!==r){var e=void 0!==t,n=null===t,o=t==t,i=m(t),u=void 0!==r,a=null===r,f=r==r,c=m(r);if(!a&&!c&&!i&&t>r||i&&u&&f&&!a&&!c||n&&u&&f||!e&&f||!o)return 1;if(!n&&!i&&!c&&t<r||c&&e&&o&&!n&&!i||a&&e&&o||!u&&o||!f)return-1}return 0}function vn(t,r,e){r=r.length?ot(r,function(t){return a(t)?function(r){return st(r,1===t.length?t[0]:t)}:t}):[tn];var n=-1;return r=ot(r,He(en)),function(t,r){var e=t.length;for(t.sort(r);e--;)t[e]=t[e].value;return t}(fn(t,function(t,e,o){return{criteria:ot(r,function(r){return r(t)}),index:++n,value:t}}),function(t,r){return function(t,r,e){for(var n=-1,o=t.criteria,i=r.criteria,u=o.length,a=e.length;++n<u;){var f=bn(o[n],i[n]);if(f)return n>=a?f:f*("desc"==e[n]?-1:1)}return t.index-r.index}(t,r,e)})}var pn=Math.max;var yn=function(){try{var t=C(Object,"defineProperty");return t({},"",{}),t}catch(t){}}(),wn=yn,mn=wn?function(t,r){return wn(t,"toString",{configurable:!0,enumerable:!1,value:(e=r,function(){return e}),writable:!0});var e}:tn,_n=mn,jn=Date.now;var $n=function(t){var r=0,e=0;return function(){var n=jn(),o=16-(n-e);if(e=n,o>0){if(++r>=800)return arguments[0]}else r=0;return t.apply(void 0,arguments)}}(_n),Sn=$n;function kn(t,r,e){if(!S(e))return!1;var n=typeof r;return!!("number"==n?Ft(e)&&Ae(r,e.length):"string"==n&&r in e)&&I(e[r],t)}var xn=function(t,r){return Sn(function(t,r,e){return r=pn(void 0===r?t.length-1:r,0),function(){for(var n=arguments,o=-1,i=pn(n.length-r,0),u=Array(i);++o<i;)u[o]=n[r+o];o=-1;for(var a=Array(r+1);++o<r;)a[o]=n[o];return a[r]=e(u),function(t,r,e){switch(e.length){case 0:return t.call(r);case 1:return t.call(r,e[0]);case 2:return t.call(r,e[0],e[1]);case 3:return t.call(r,e[0],e[1],e[2])}return t.apply(r,e)}(t,this,a)}}(t,r,tn),t+"")}(function(t,r){if(null==t)return[];var e=r.length;return e>1&&kn(t,r[0],r[1])?r=[]:e>2&&kn(r[0],r[1],r[2])&&(r=[r[0]]),vn(t,gn(r,1),[])}),On=xn;function En(t){return ft(t).toLowerCase()}function An(t){return ft(t).toUpperCase()}function Pn(t){return"[object Object]"===Object.prototype.toString.call(t)}function Hn(t){if(Pn(t)){for(let r in t)return!0;return!1}return!1}function Rn(t){if(!zr(t))return!1;return Cr(t)>=0}function zn(t,r){return rr(t)&&Rn(r)?0===(r=Cr(r))?"":t.substring(0,r):""}function Mn(t,r){return rr(t)&&Rn(r)?0===(r=Cr(r))?t:function(t,r){if(!rr(t))return"";if(!Rn(r))return"";if(0===(r=Cr(r)))return"";let e=t.length-r;return e<0&&(e=0),t.substring(e,e+r)}(t,t.length-r):""}function Fn(t,r,e){if(!rr(t))return"";if(!rr(r))return"";if(!tr(e))return"";return String(t).replaceAll(r,e)}function Tn(t,r){if(!rr(t))return[];if(!rr(r))return[];let e=function(t,r){return rr(t)&&rr(r)?t.split(r):[]}(t,r);e=cn(e,ee);let n=[];return sn(e,function(t){rr(t)&&n.push(t)}),n}function qn(t){if(!rr(t)&&!nr(t)&&!m(t))return"";let r="";try{r=String(t)}catch(t){}try{r=t.toString()}catch(t){}return r}function Cn(t,r){return!!Pn(t)&&(!(!rr(r)&&!nr(r))&&r in t)}function Bn(t,r,e=1){return rr(t)&&Rn(r)?(e=Br(e)?Cr(e):1,t.substring(r,r+e)):""}let Dn={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"};function Nn(t){return In(t,1)}function Ln(t){return In(t,360)}function In(t,r=1){if(t.indexOf("%")>=0){if(!nr(t=Fn(t,"%","")))throw new Error("invalid color: value is not a number");t=Rr(t)/100}else{if(!nr(t))throw new Error("invalid color: value is not a number");t=Rr(t)/r}if(t>1)throw new Error("invalid color: value > 1");if(t<0)throw new Error("invalid color: value < 0");return t}function Un(t){if(!nr(t))throw new Error("invalid color: value is not a number");if((t=Rr(t))>1)throw new Error("invalid color: value > 1");if(t<0)throw new Error("invalid color: value < 0");return t}function Vn(t,r="rgba"){if(e=t,"[object Array]"!==Object.prototype.toString.call(e))throw new Error("invalid colors array");var e;let n=ht(t,0,0),o=ht(t,1,0),i=ht(t,2,0),u=ht(t,3,1);if(4!==Zt(r=r.split("")))throw new Error("tar.length !== 4");let a=ht(r,0),f=ht(r,1),c=ht(r,2),l=ht(r,3);return{[a]:n,[f]:o,[c]:i,[l]:u}}function Gn(t){let r=(t=Mn(t,1)).length;if(2===r)t=`${t}${t}${t}ff`;else if(3===r){let r=Bn(t,0,1),e=Bn(t,1,1),n=Bn(t,2,1);t=`${r}${r}${e}${e}${n}${n}ff`}else if(6===r)t=`${t}ff`;else if(8!==r)throw new Error("invalid hex color");function e(t){if(2!==t.length)throw new Error("hex.length of color is not equal to 2");if(!nr(t=parseInt(t,16)))throw new Error("invalid hex of color");return(t=Rr(t))/255}return{r:e(Bn(t,0,2)),g:e(Bn(t,2,2)),b:e(Bn(t,4,2)),a:e(Bn(t,6,2))}}function Wn(t){return t=Vn(t=cn(t,(t,r)=>r<=2?In(t,255):3===r?Un(t):null),"rgba")}function Jn(t){return t=eo(t=Vn(t=cn(t,(t,r)=>0===r?Ln(t):1===r||2===r?Nn(t):3===r?Un(t):null),"hsla"))}function Kn(t){return t=no(t=Vn(t=cn(t,(t,r)=>0===r?Ln(t):1===r||2===r?Nn(t):3===r?Un(t):null),"hsva"))}function Qn(t){if("transparent"===t)return{r:0,g:0,b:0,a:0};if(function(t){return Cn(Dn,t)}(t))return Gn(t=`#${Dn[t]}`);if(function(t){return"#"===zn(t,1)&&(!!/[0-9A-Fa-f]{2}/g.test(t)||(!!/[0-9A-Fa-f]{3}/g.test(t)||(!!/[0-9A-Fa-f]{6}/g.test(t)||!!/[0-9A-Fa-f]{8}/g.test(t))))}(t))return Gn(t);if(function(t){return"rgb"===zn(t,3)||"rgba"===zn(t,4)}(t))return function(t){return t=Fn(t,"rgba",""),t=Fn(t,"rgb",""),Wn(Tn(t=Fn(t=t.replace(/[()]/g,""),","," ")," "))}(t);if(function(t){return"hsl"===zn(t,3)||"hsla"===zn(t,4)}(t))return function(t){return t=Fn(t,"hsla",""),t=Fn(t,"hsl",""),Jn(Tn(t=Fn(t=t.replace(/[()]/g,""),","," ")," "))}(t);if(function(t){return"hsv"===zn(t,3)||"hsva"===zn(t,4)}(t))return function(t){return t=Fn(t,"hsva",""),t=Fn(t,"hsv",""),Kn(Tn(t=Fn(t=t.replace(/[()]/g,""),","," ")," "))}(t);throw new Error("format of color string is not hex-color, name-color, rgba, hsla, hsva")}function Xn(t,r){return!!Cn(t,r=En(r))||!!Cn(t,r=An(r))}function Yn(t,r,e){let n;return n=ht(t,r,null),null!==n?n:(n=ht(t,r=An(r),null),null!==n?n:e)}function Zn(t){if(function(t){let r=Xn(t,"r"),e=Xn(t,"g"),n=Xn(t,"b");return r&&e&&n}(t))return function(t){let r=[Yn(t,"r",null),Yn(t,"g",null),Yn(t,"b",null),Yn(t,"a",1)];return r=cn(r,qn),Wn(r)}(t);if(function(t){let r=Xn(t,"h"),e=Xn(t,"s"),n=Xn(t,"l");return r&&e&&n}(t))return function(t){let r=[Yn(t,"h",null),Yn(t,"s",null),Yn(t,"l",null),Yn(t,"a",1)];return r=cn(r,qn),Jn(r)}(t);if(function(t){let r=Xn(t,"h"),e=Xn(t,"s"),n=Xn(t,"v");return r&&e&&n}(t))return function(t){let r=[Yn(t,"h",null),Yn(t,"s",null),Yn(t,"v",null),Yn(t,"a",1)];return r=cn(r,qn),Kn(r)}(t);throw new Error("color object is not one of rgba, hsla, hsva")}function to(t){let r,e,n=t.r,o=t.g,i=t.b,u=Math.max(n,o,i),a=Math.min(n,o,i),f=(u+a)/2;if(u===a)r=e=0;else{let t=u-a;switch(e=f>.5?t/(2-u-a):t/(u+a),u){case n:r=(o-i)/t+(o<i?6:0);break;case o:r=(i-n)/t+2;break;case i:r=(n-o)/t+4}r/=6}return{h:r,s:e,l:f,a:t.a}}function ro(t){let r,e,n=t.r,o=t.g,i=t.b,u=Math.max(n,o,i),a=Math.min(n,o,i),f=u,c=u-a;if(e=0===u?0:c/u,u===a)r=0;else{switch(u){case n:r=(o-i)/c+(o<i?6:0);break;case o:r=(i-n)/c+2;break;case i:r=(n-o)/c+4}r/=6}return{h:r,s:e,v:f,a:t.a}}function eo(t){let r,e,n,o=t.h,i=t.s,u=t.l;function a(t,r,e){return e<0&&(e+=1),e>1&&(e-=1),e<1/6?t+6*(r-t)*e:e<.5?r:e<2/3?t+(r-t)*(2/3-e)*6:t}if(0===i)r=e=n=u;else{let t=u<.5?u*(1+i):u+i-u*i,f=2*u-t;r=a(f,t,o+1/3),e=a(f,t,o),n=a(f,t,o-1/3)}return{r:r,g:e,b:n,a:t.a}}function no(t){let r,e,n,o=t.h,i=t.s,u=t.v,a=Math.floor(6*o),f=6*o-a,c=u*(1-i),l=u*(1-f*i),s=u*(1-(1-f)*i);switch(a%6){case 0:r=u,e=s,n=c;break;case 1:r=l,e=u,n=c;break;case 2:r=c,e=u,n=s;break;case 3:r=c,e=l,n=u;break;case 4:r=s,e=c,n=u;break;case 5:r=u,e=c,n=l}return{r:r,g:e,b:n,a:t.a}}function oo(t){let r=Math.round(255*t).toString(16);if(1===r.length)return`0${r}`;if(2===r.length)return r;throw new Error("invalid value")}function io(t,r=!0){let e=t.r,n=t.g,o=t.b,i=t.a,u=`${oo(e)}${oo(n)}${oo(o)}`;return r&&(u=`${u}${oo(i)}`),u}function uo(t){return Math.min(1,Math.max(0,t))}function ao(t,r){if(!rr(r))throw new Error("fmtOutput is not a string");if(!Lo[r])throw console.log(`fmtOutput must be [${De(Lo)}]`),new Error("invalid fmtOutput");return t=Lo[r](t)}function fo(t,r,e="toRgbString"){if(r<0||r>1)throw new Error("amount < 0 or > 1");let n=to(t);return n.h+=r,n.h=n.h%1,ao(eo(n),e)}function co(t,r,e,n,o="toRgbString"){if(r<0||r>1)throw new Error("w1 < 0 or > 1");if(n<0||n>1)throw new Error("w1 < 0 or > 1");return ao({r:t.r*r+e.r*n,g:t.g*r+e.g*n,b:t.b*r+e.b*n,a:t.a*r+e.a*n},o)}function lo(t){return`${qr(100*t,1)}%`}function so(t){return qr(t,0)}function ho(t){return qr(t,3)}function go(t){return{r:so(255*t.r),g:so(255*t.g),b:so(255*t.b)}}function bo(t){return`rgb(${so(255*t.r)}, ${so(255*t.g)}, ${so(255*t.b)})`}function vo(t){return{r:so(255*t.r),g:so(255*t.g),b:so(255*t.b),a:ho(t.a)}}function po(t){return`rgba(${so(255*t.r)}, ${so(255*t.g)}, ${so(255*t.b)}, ${ho(t.a)})`}function yo(t){let r=to(t);return{h:so(360*r.h),s:ho(r.s),l:ho(r.l)}}function wo(t){let r=to(t);return`hsl(${so(360*r.h)}, ${ho(r.s)}, ${ho(r.l)})`}function mo(t){let r=to(t);return{h:so(360*r.h),s:ho(r.s),l:ho(r.l),a:ho(r.a)}}function _o(t){let r=to(t);return`hsla(${so(360*r.h)}, ${ho(r.s)}, ${ho(r.l)}, ${ho(r.a)})`}function jo(t){let r=ro(t);return{h:so(360*r.h),s:ho(r.s),v:ho(r.v)}}function $o(t){let r=ro(t);return`hsv(${so(360*r.h)}, ${ho(r.s)}, ${ho(r.v)})`}function So(t){let r=ro(t);return{h:so(360*r.h),s:ho(r.s),v:ho(r.v),a:ho(r.a)}}function ko(t){let r=ro(t);return`hsva(${so(360*r.h)}, ${ho(r.s)}, ${ho(r.v)}, ${ho(r.a)})`}function xo(t){return{r:lo(t.r),g:lo(t.g),b:lo(t.b)}}function Oo(t){return`rgb(${lo(t.r)}, ${lo(t.g)}, ${lo(t.b)})`}function Eo(t){return{r:lo(t.r),g:lo(t.g),b:lo(t.b),a:ho(t.a)}}function Ao(t){return`rgba(${lo(t.r)}, ${lo(t.g)}, ${lo(t.b)}, ${ho(t.a)})`}function Po(t){let r=to(t);return{h:so(360*r.h),s:lo(r.s),l:lo(r.l)}}function Ho(t){let r=to(t);return`hsl(${so(360*r.h)}, ${lo(r.s)}, ${lo(r.l)})`}function Ro(t){let r=to(t);return{h:so(360*r.h),s:lo(r.s),l:lo(r.l),a:ho(r.a)}}function zo(t){let r=to(t);return`hsla(${so(360*r.h)}, ${lo(r.s)}, ${lo(r.l)}, ${ho(r.a)})`}function Mo(t){let r=ro(t);return{h:so(360*r.h),s:lo(r.s),v:lo(r.v)}}function Fo(t){let r=ro(t);return`hsv(${so(360*r.h)}, ${lo(r.s)}, ${lo(r.v)})`}function To(t){let r=ro(t);return{h:so(360*r.h),s:lo(r.s),v:lo(r.v),a:ho(r.a)}}function qo(t){let r=ro(t);return`hsva(${so(360*r.h)}, ${lo(r.s)}, ${lo(r.v)}, ${ho(r.a)})`}function Co(t){let r=function(t){return io(t,!1)}(t);return`#${r}`}function Bo(t){return`#${io(t)}`}function Do(t){let r=null,e=null,n=null;if(rr(t))r=En(ee(t));else{if(!Hn(t))throw console.log("color=",t),new Error("color is not a string or an object");e=t}if(null!==r)try{n=Qn(r)}catch(t){throw console.log(t),new Error(`can not parse color: ${r}`)}else if(null!==e)try{n=Zn(e)}catch(t){throw console.log(t),new Error(`can not parse color: ${JSON.stringify(e)}`)}return n}function No(t){if(!Hn(t))return console.log("gradient is not an effective object"),t=>`rgb(${255*(t=Math.min(Math.max(t,0),1))},${255*t},${255*t})`;let r=[];return sn(t,(t,e)=>{r.push([Rr(e),vo(Do(t)),t])}),r=On(r,0),function(t){let e=null;for(let n=1;n<r.length;n++){let o=r[n-1][0],i=r[n-1][1],u=r[n][0],a=r[n][1];if(o<=t&&u>=t){let r=(u-t)/(u-o),n=(t-o)/(u-o);e=co(Do(i),r,Do(a),n,"toRgbaString");break}}return e}}let Lo={toRgb:go,toRgbString:bo,toRgba:vo,toRgbaString:po,toHsl:yo,toHslString:wo,toHsla:mo,toHslaString:_o,toHsv:jo,toHsvString:$o,toHsva:So,toHsvaString:ko,toRgbP:xo,toRgbPString:Oo,toRgbaP:Eo,toRgbaPString:Ao,toHslP:Po,toHslPString:Ho,toHslaP:Ro,toHslaPString:zo,toHsvP:Mo,toHsvPString:Fo,toHsvaP:To,toHsvaPString:qo,toHexString:Co,toHex8String:Bo};var Io={toRgb:t=>go(Do(t)),toRgbString:t=>bo(Do(t)),toRgba:t=>vo(Do(t)),toRgbaString:t=>po(Do(t)),toHsl:t=>yo(Do(t)),toHslString:t=>wo(Do(t)),toHsla:t=>mo(Do(t)),toHslaString:t=>_o(Do(t)),toHsv:t=>jo(Do(t)),toHsvString:t=>$o(Do(t)),toHsva:t=>So(Do(t)),toHsvaString:t=>ko(Do(t)),toRgbP:t=>xo(Do(t)),toRgbPString:t=>Oo(Do(t)),toRgbaP:t=>Eo(Do(t)),toRgbaPString:t=>Ao(Do(t)),toHslP:t=>Po(Do(t)),toHslPString:t=>Ho(Do(t)),toHslaP:t=>Ro(Do(t)),toHslaPString:t=>zo(Do(t)),toHsvP:t=>Mo(Do(t)),toHsvPString:t=>Fo(Do(t)),toHsvaP:t=>To(Do(t)),toHsvaPString:t=>qo(Do(t)),toHexString:t=>Co(Do(t)),toHex8String:t=>Bo(Do(t)),modSaturate:(t,r,e)=>function(t,r,e="toRgbString"){if(r<0||r>1)throw new Error("amount < 0 or > 1");let n=to(t);return n.s+=r,n.s=uo(n.s),ao(eo(n),e)}(Do(t),r,e),modGrey:(t,r)=>function(t,r="toRgbString"){let e=to(t);return e.s=0,ao(eo(e),r)}(Do(t),r),modLighten:(t,r,e)=>function(t,r,e="toRgbString"){if(r<0||r>1)throw new Error("amount < 0 or > 1");let n=to(t);return n.l+=r,n.l=uo(n.l),ao(eo(n),e)}(Do(t),r,e),modBrighten:(t,r,e)=>function(t,r,e="toRgbString"){if(r<0||r>1)throw new Error("amount < 0 or > 1");return t.r+=r,t.r=uo(t.r),t.g+=r,t.g=uo(t.g),t.b+=r,t.b=uo(t.b),ao(t,e)}(Do(t),r,e),modHue:(t,r,e)=>fo(Do(t),r,e),modComplement:(t,r)=>function(t,r="toRgbString"){return fo(t,.5,r)}(Do(t),r),spreadHue:(t,r,e)=>function(t,r,e="toRgbString"){if(!zr(r))throw new Error("num is not an integer");if((r=Cr(r))<=1)return[t];let n=to(t),o=1/r,i=[];for(let t=0;t<r;t++)i.push(ao(eo(n),e)),n.h+=o,n.h=n.h%1;return i}(Do(t),r,e),spreadMonochromatic:(t,r,e)=>function(t,r,e="toRgbString"){if(!zr(r))throw new Error("num is not an integer");if((r=Cr(r))<=1)return[t];let n=ro(t);n.s=1,n.l=1;let o=1/r,i=[];for(let t=0;t<r;t++)i.push(ao(no(n),e)),n.h-=o,n.l-=o;return i}(Do(t),r,e),mix:(t,r,e,n,o)=>co(Do(t),r,Do(e),n,o),getBrightness:t=>function(t){if(1!==t.a)throw new Error("alpha of color can not be equal to 1");return(299*t.r+587*t.g+114*t.b)/1e3}(Do(t)),getLuminance:t=>function(t){if(1!==t.a)throw new Error("alpha of color can not be equal to 1");let r,e,n,o=t.r,i=t.g,u=t.b;return r=o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4),e=i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4),n=u<=.03928?u/12.92:Math.pow((u+.055)/1.055,2.4),.2126*r+.7152*e+.0722*n}(Do(t)),interp:No};async function Uo(r){let e=t.readFileSync(r);return u.imdecode(e)}async function Vo(r,e){let n=u.imencode(".png",e);t.writeFileSync(r,n)}async function Go(t,r,e,n={}){let o=ht(n,"useToGray");mr(o)||(o=!1);let i=t.resize(Math.floor(t.rows*e),Math.floor(t.cols*e));if(i.rows<10||i.cols<10)throw new Error(`縮放後檢測尺寸過小: [imgTarResize:${i.cols}x${i.rows}]`);if(i.rows>r.rows||i.cols>r.cols)throw new Error(`縮放後檢測>截圖尺寸: [imgScreen:${r.cols}x${r.rows}] > [imgTarResize:${i.cols}x${i.rows}]`);o&&(r=r.bgrToGray(),i=i.bgrToGray());let a=r.matchTemplate(i,u.TM_CCOEFF_NORMED),{maxVal:f,maxLoc:c}=a.minMaxLoc();return{similarity:f,x:c.x,y:c.y,width:i.cols,height:i.rows,scale:e}}let Wo={calcSimilarity:async function(t,r,e,n={}){let o=await Uo(r),i=await Uo(t);return await Go(i,o,e,n)},calcSimilarityAndDraw:async function(t,r,e,n,o={}){let i=ht(o,"drawBorderWidth");Br(i)||(i=2);let a=ht(o,"drawBorderColor");rr(a)||(a="#f00"),a=Io.toRgb(a);let f=await Uo(r),c=await Uo(t),l=await Go(c,f,e,o),s=new u.Point2(l.x,l.y),h=new u.Point2(l.x+l.width,l.y+l.height);return f.drawRectangle(s,h,new u.Vec3(a.b,a.g,a.r),i,u.LINE_8),await Vo(n,f),{...l,fp:n}},screenAndDrawCircle:async function(t,r,e,n,o,i,a,f={}){let c=ht(f,"drawCircleRadius");Br(c)||(c=5);let l=ht(f,"drawBorderWidth");Br(l)||(l=2);let s=ht(f,"drawBorderColor");rr(s)||(s="#f00"),s=Io.toRgb(s),await wr.screenSave(t,r,e,n,a);let h=await Uo(a),d=new u.Point2(o,i);h.drawCircle(d,c,new u.Vec3(s.b,s.g,s.r),l,u.LINE_8),await Vo(a,h)}},Jo=async(t,r={})=>{let e=!1,n=ht(r,"fdTar",null);if(rr(n)||(n="./pic"),!ar(n))throw new Error(`opt.fdTar[${r.fdTar}] is not a folder`);let o=ht(r,"fdTmp",null);rr(o)||(o="./_tmp"),ar(o)||fr(o);let i=`${n}/${t}.png`;if(!ir(i))throw new Error(`fpTar[${i}] is not a file`);let u=`${o}/${t}.all.png`,a=`${o}/${t}.det.png`,f=ht(r,"x",0),c=ht(r,"y",0),l=ht(r,"width",1920),s=ht(r,"height",1080),h=ht(r,"threshold",.9),d=ht(r,"withClick",!0),g=ht(r,"withDrag",!1);await wr.screenSave(f,c,l,s,u);let b=await Wo.calcSimilarityAndDraw(i,u,1,a);console.log(t,"similarity",b.similarity);let v=(t=>({cx:t.x+t.width/2,cy:t.y+t.height/2}))(b);if(b={...b,...v},b.similarity>h){if(d){let t=ht(r,"dx",0),e=ht(r,"dy",0);await yr.mouseClick(b.cx+f+t,b.cy+c+e)}if(g){let t=ht(r,"dx1",0),e=ht(r,"dy1",0),n=ht(r,"dx2",0),o=ht(r,"dy2",0);await yr.mouseDrag(b.cx+f+t,b.cy+c+e,b.cx+f+n,b.cy+c+o)}e=!0}return e};return async(t,r={})=>{let e=!1;rr(t)&&(t=[t]);let n=ht(r,"numMax",60),o=ht(r,"timeDelay",1500);for(let i=1;i<=n;i++){console.log(`waitPics names[${t}]...`,i);let n=!1;for(let e=0;e<Zt(t);e++){let o=t[e];if(n=await Jo(o,r),n)break}if(n){e=!0;break}await or(o)}return e}});
|
|
6
|
+
!function(t,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r(require("fs"),require("path"),require("child_process"),require("util"),require("screenshot-desktop"),require("sharp"),require("@u4/opencv4nodejs")):"function"==typeof define&&define.amd?define(["fs","path","child_process","util","screenshot-desktop","sharp","@u4/opencv4nodejs"],r):(t="undefined"!=typeof globalThis?globalThis:t||self)["wait-pics"]=r(t.fs,t.path,t.child_process,t.util,t["screenshot-desktop"],t.sharp,t["@u4/opencv4nodejs"])}(this,function(t,r,e,n,o,i,u){"use strict";var a=Array.isArray,f="object"==typeof global&&global&&global.Object===Object&&global,c="object"==typeof self&&self&&self.Object===Object&&self,l=f||c||Function("return this")(),s=l.Symbol,h=Object.prototype,d=h.hasOwnProperty,g=h.toString,b=s?s.toStringTag:void 0;var v=Object.prototype.toString;var p=s?s.toStringTag:void 0;function y(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":p&&p in Object(t)?function(t){var r=d.call(t,b),e=t[b];try{t[b]=void 0;var n=!0}catch(t){}var o=g.call(t);return n&&(r?t[b]=e:delete t[b]),o}(t):function(t){return v.call(t)}(t)}function w(t){return null!=t&&"object"==typeof t}function m(t){return"symbol"==typeof t||w(t)&&"[object Symbol]"==y(t)}var _=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,j=/^\w*$/;function $(t,r){if(a(t))return!1;var e=typeof t;return!("number"!=e&&"symbol"!=e&&"boolean"!=e&&null!=t&&!m(t))||(j.test(t)||!_.test(t)||null!=r&&t in Object(r))}function S(t){var r=typeof t;return null!=t&&("object"==r||"function"==r)}function k(t){if(!S(t))return!1;var r=y(t);return"[object Function]"==r||"[object GeneratorFunction]"==r||"[object AsyncFunction]"==r||"[object Proxy]"==r}var x,O=l["__core-js_shared__"],E=(x=/[^.]+$/.exec(O&&O.keys&&O.keys.IE_PROTO||""))?"Symbol(src)_1."+x:"";var A=Function.prototype.toString;function P(t){if(null!=t){try{return A.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var H=/^\[object .+?Constructor\]$/,R=Function.prototype,z=Object.prototype,M=R.toString,T=z.hasOwnProperty,F=RegExp("^"+M.call(T).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function q(t){return!(!S(t)||(r=t,E&&E in r))&&(k(t)?F:H).test(P(t));var r}function C(t,r){var e=function(t,r){return null==t?void 0:t[r]}(t,r);return q(e)?e:void 0}var B=C(Object,"create");var D=Object.prototype.hasOwnProperty;var N=Object.prototype.hasOwnProperty;function L(t){var r=-1,e=null==t?0:t.length;for(this.clear();++r<e;){var n=t[r];this.set(n[0],n[1])}}function I(t,r){return t===r||t!=t&&r!=r}function U(t,r){for(var e=t.length;e--;)if(I(t[e][0],r))return e;return-1}L.prototype.clear=function(){this.__data__=B?B(null):{},this.size=0},L.prototype.delete=function(t){var r=this.has(t)&&delete this.__data__[t];return this.size-=r?1:0,r},L.prototype.get=function(t){var r=this.__data__;if(B){var e=r[t];return"__lodash_hash_undefined__"===e?void 0:e}return D.call(r,t)?r[t]:void 0},L.prototype.has=function(t){var r=this.__data__;return B?void 0!==r[t]:N.call(r,t)},L.prototype.set=function(t,r){var e=this.__data__;return this.size+=this.has(t)?0:1,e[t]=B&&void 0===r?"__lodash_hash_undefined__":r,this};var V=Array.prototype.splice;function G(t){var r=-1,e=null==t?0:t.length;for(this.clear();++r<e;){var n=t[r];this.set(n[0],n[1])}}G.prototype.clear=function(){this.__data__=[],this.size=0},G.prototype.delete=function(t){var r=this.__data__,e=U(r,t);return!(e<0)&&(e==r.length-1?r.pop():V.call(r,e,1),--this.size,!0)},G.prototype.get=function(t){var r=this.__data__,e=U(r,t);return e<0?void 0:r[e][1]},G.prototype.has=function(t){return U(this.__data__,t)>-1},G.prototype.set=function(t,r){var e=this.__data__,n=U(e,t);return n<0?(++this.size,e.push([t,r])):e[n][1]=r,this};var W=C(l,"Map");function J(t,r){var e,n,o=t.__data__;return("string"==(n=typeof(e=r))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==e:null===e)?o["string"==typeof r?"string":"hash"]:o.map}function K(t){var r=-1,e=null==t?0:t.length;for(this.clear();++r<e;){var n=t[r];this.set(n[0],n[1])}}K.prototype.clear=function(){this.size=0,this.__data__={hash:new L,map:new(W||G),string:new L}},K.prototype.delete=function(t){var r=J(this,t).delete(t);return this.size-=r?1:0,r},K.prototype.get=function(t){return J(this,t).get(t)},K.prototype.has=function(t){return J(this,t).has(t)},K.prototype.set=function(t,r){var e=J(this,t),n=e.size;return e.set(t,r),this.size+=e.size==n?0:1,this};function Q(t,r){if("function"!=typeof t||null!=r&&"function"!=typeof r)throw new TypeError("Expected a function");var e=function(){var n=arguments,o=r?r.apply(this,n):n[0],i=e.cache;if(i.has(o))return i.get(o);var u=t.apply(this,n);return e.cache=i.set(o,u)||i,u};return e.cache=new(Q.Cache||K),e}Q.Cache=K;var X,Y,Z,tt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,rt=/\\(\\)?/g,et=(X=function(t){var r=[];return 46===t.charCodeAt(0)&&r.push(""),t.replace(tt,function(t,e,n,o){r.push(n?o.replace(rt,"$1"):e||t)}),r},Y=Q(X,function(t){return 500===Z.size&&Z.clear(),t}),Z=Y.cache,Y),nt=et;function ot(t,r){for(var e=-1,n=null==t?0:t.length,o=Array(n);++e<n;)o[e]=r(t[e],e,t);return o}var it=s?s.prototype:void 0,ut=it?it.toString:void 0;function at(t){if("string"==typeof t)return t;if(a(t))return ot(t,at)+"";if(m(t))return ut?ut.call(t):"";var r=t+"";return"0"==r&&1/t==-1/0?"-0":r}function ft(t){return null==t?"":at(t)}function ct(t,r){return a(t)?t:$(t,r)?[t]:nt(ft(t))}function lt(t){if("string"==typeof t||m(t))return t;var r=t+"";return"0"==r&&1/t==-1/0?"-0":r}function st(t,r){for(var e=0,n=(r=ct(r,t)).length;null!=t&&e<n;)t=t[lt(r[e++])];return e&&e==n?t:void 0}function ht(t,r,e){var n=null==t?void 0:st(t,r);return void 0===n?e:n}var dt=Object.prototype;var gt=function(t,r){return function(e){return t(r(e))}}(Object.keys,Object),bt=gt,vt=Object.prototype.hasOwnProperty;function pt(t){if(e=(r=t)&&r.constructor,r!==("function"==typeof e&&e.prototype||dt))return bt(t);var r,e,n=[];for(var o in Object(t))vt.call(t,o)&&"constructor"!=o&&n.push(o);return n}var yt=C(l,"DataView"),wt=C(l,"Promise"),mt=C(l,"Set"),_t=C(l,"WeakMap"),jt="[object Map]",$t="[object Promise]",St="[object Set]",kt="[object WeakMap]",xt="[object DataView]",Ot=P(yt),Et=P(W),At=P(wt),Pt=P(mt),Ht=P(_t),Rt=y;(yt&&Rt(new yt(new ArrayBuffer(1)))!=xt||W&&Rt(new W)!=jt||wt&&Rt(wt.resolve())!=$t||mt&&Rt(new mt)!=St||_t&&Rt(new _t)!=kt)&&(Rt=function(t){var r=y(t),e="[object Object]"==r?t.constructor:void 0,n=e?P(e):"";if(n)switch(n){case Ot:return xt;case Et:return jt;case At:return $t;case Pt:return St;case Ht:return kt}return r});var zt=Rt;function Mt(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}function Tt(t){return null!=t&&Mt(t.length)&&!k(t)}function Ft(t){return function(r){return null==r?void 0:r[t]}}var qt=Ft("length"),Ct=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");function Bt(t){return Ct.test(t)}var Dt="\\ud800-\\udfff",Nt="["+Dt+"]",Lt="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",It="\\ud83c[\\udffb-\\udfff]",Ut="[^"+Dt+"]",Vt="(?:\\ud83c[\\udde6-\\uddff]){2}",Gt="[\\ud800-\\udbff][\\udc00-\\udfff]",Wt="(?:"+Lt+"|"+It+")"+"?",Jt="[\\ufe0e\\ufe0f]?",Kt=Jt+Wt+("(?:\\u200d(?:"+[Ut,Vt,Gt].join("|")+")"+Jt+Wt+")*"),Qt="(?:"+[Ut+Lt+"?",Lt,Vt,Gt,Nt].join("|")+")",Xt=RegExp(It+"(?="+It+")|"+Qt+Kt,"g");function Yt(t){return Bt(t)?function(t){for(var r=Xt.lastIndex=0;Xt.test(t);)++r;return r}(t):qt(t)}function Zt(t){if(null==t)return 0;if(Tt(t))return"string"==typeof(r=t)||!a(r)&&w(r)&&"[object String]"==y(r)?Yt(t):t.length;var r,e=zt(t);return"[object Map]"==e||"[object Set]"==e?t.size:pt(t).length}function tr(t){return"[object String]"===Object.prototype.toString.call(t)}function rr(t){return!(!tr(t)||""===t)}function er(){let t,r,e=new Promise(function(){t=arguments[0],r=arguments[1]});return e.resolve=t,e.reject=r,e}function nr(t){let r=!1;if(rr(t))r=!isNaN(Number(t));else if(function(t){return"[object Number]"===Object.prototype.toString.call(t)}(t)){if(function(t){return t!=t}(t))return!1;r=!0}return r}function or(t=10){nr(t)||(t=10);let r=er();return setTimeout(function(){r.resolve()},t),r}function ir(r){return function(t,r={}){let e=ht(r,"fs");return!!e.existsSync(t)&&!e.lstatSync(t).isDirectory()&&!e.lstatSync(t).isSymbolicLink()}(r,{fs:t})}function ur(t,r={}){let e=ht(r,"fs");if(!e.existsSync(t))return!1;let n=e.lstatSync(t);return!n.isFile()&&!n.isSymbolicLink()}function ar(r){return ur(r,{fs:t})}function fr(r){return function(t,r={}){let e=ht(r,"fs");if(ur(t,{fs:e}))return{success:"input folder is already exists: "+t};if(e.existsSync(t))return{error:"input path already exists: "+t};try{e.mkdirSync(t,{recursive:!0})}catch(t){return{error:t}}return{success:"done: "+t}}(r,{fs:t})}let cr=n.promisify(e.execFile),lr=r.resolve(),sr="AutoHotkey64.exe",hr="";{let t=`${lr}/AutoHotkey_2.0.19/`,r=`${lr}/node_modules/w-mousekey/AutoHotkey_2.0.19/`;if(ir(`${t}${sr}`))hr=t;else{if(!ir(`${r}${sr}`))throw new Error("can not find folder for AutoHotkey");hr=r}}let dr=`${hr}/AutoHotkey64.exe`,gr=`${hr}/zclick.ahk`,br=`${hr}/zdrag.ahk`,vr=`${hr}/zsend.ahk`;async function pr(t,r,e=[]){let n=er();try{let{stdout:o,stderr:i}=await cr(t,["/force",r,...e]);i?n.reject(i):n.resolve(o)}catch(t){n.reject(t)}return n}let yr={mouseClick:async function(t,r){await pr(dr,gr,[t,r])},mouseDrag:async function(t,r,e,n){await pr(dr,br,[t,r,e,n])},sendKey:async function(t){await pr(dr,vr,[`${t}`])},sendString:async function(t){await pr(dr,vr,[`${t}`])}};let wr={screenFull:async function(){return await o({format:"png"})},screen:async function(t,r,e,n){let u=await o({format:"png"});return await i(u).extract({left:t,top:r,width:e,height:n}).toBuffer()},screenFullSave:async function(r){let e=await o({format:"png"});return t.writeFileSync(r,e),e},screenSave:async function(r,e,n,u,a){let f=await o({format:"png"}),c=await i(f).extract({left:r,top:e,width:n,height:u}).toBuffer();return t.writeFileSync(a,c),c}};function mr(t){return!0===(r=t)||!1===r||w(r)&&"[object Boolean]"==y(r);var r}var _r=/\s/;var jr=/^\s+/;function $r(t){return t?t.slice(0,function(t){for(var r=t.length;r--&&_r.test(t.charAt(r)););return r}(t)+1).replace(jr,""):t}var Sr=/^[-+]0x[0-9a-f]+$/i,kr=/^0b[01]+$/i,xr=/^0o[0-7]+$/i,Or=parseInt;function Er(t){if("number"==typeof t)return t;if(m(t))return NaN;if(S(t)){var r="function"==typeof t.valueOf?t.valueOf():t;t=S(r)?r+"":r}if("string"!=typeof t)return 0===t?t:+t;t=$r(t);var e=kr.test(t);return e||xr.test(t)?Or(t.slice(2),e?2:8):Sr.test(t)?NaN:+t}var Ar=1/0;function Pr(t){return t?(t=Er(t))===Ar||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}function Hr(t){var r=Pr(t),e=r%1;return r==r?e?r-e:r:0}function Rr(t){if(!nr(t))return 0;return Pr(t)}function zr(t){return!!nr(t)&&(t=Rr(t),"number"==typeof(r=t)&&r==Hr(r));var r}var Mr=l.isFinite,Tr=Math.min;var Fr=function(t){var r=Math[t];return function(t,e){if(t=Er(t),(e=null==e?0:Tr(Hr(e),292))&&Mr(t)){var n=(ft(t)+"e").split("e");return+((n=(ft(r(n[0]+"e"+(+n[1]+e)))+"e").split("e"))[0]+"e"+(+n[1]-e))}return r(t)}}("round"),qr=Fr;function Cr(t){if(!nr(t))return 0;t=Rr(t);let r=qr(t);return"0"===String(r)?0:r}function Br(t){if(!zr(t))return!1;return Cr(t)>0}function Dr(t,r,e){var n=t.length;return e=void 0===e?n:e,!r&&e>=n?t:function(t,r,e){var n=-1,o=t.length;r<0&&(r=-r>o?0:o+r),(e=e>o?o:e)<0&&(e+=o),o=r>e?0:e-r>>>0,r>>>=0;for(var i=Array(o);++n<o;)i[n]=t[n+r];return i}(t,r,e)}function Nr(t){return t!=t}function Lr(t,r,e){return r==r?function(t,r,e){for(var n=e-1,o=t.length;++n<o;)if(t[n]===r)return n;return-1}(t,r,e):function(t,r,e,n){for(var o=t.length,i=e+(n?1:-1);n?i--:++i<o;)if(r(t[i],i,t))return i;return-1}(t,Nr,e)}var Ir="\\ud800-\\udfff",Ur="["+Ir+"]",Vr="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",Gr="\\ud83c[\\udffb-\\udfff]",Wr="[^"+Ir+"]",Jr="(?:\\ud83c[\\udde6-\\uddff]){2}",Kr="[\\ud800-\\udbff][\\udc00-\\udfff]",Qr="(?:"+Vr+"|"+Gr+")"+"?",Xr="[\\ufe0e\\ufe0f]?",Yr=Xr+Qr+("(?:\\u200d(?:"+[Wr,Jr,Kr].join("|")+")"+Xr+Qr+")*"),Zr="(?:"+[Wr+Vr+"?",Vr,Jr,Kr,Ur].join("|")+")",te=RegExp(Gr+"(?="+Gr+")|"+Zr+Yr,"g");function re(t){return Bt(t)?function(t){return t.match(te)||[]}(t):function(t){return t.split("")}(t)}function ee(t,r,e){if((t=ft(t))&&(e||void 0===r))return $r(t);if(!t||!(r=at(r)))return t;var n=re(t),o=re(r),i=function(t,r){for(var e=-1,n=t.length;++e<n&&Lr(r,t[e],0)>-1;);return e}(n,o),u=function(t,r){for(var e=t.length;e--&&Lr(r,t[e],0)>-1;);return e}(n,o)+1;return Dr(n,i,u).join("")}function ne(t){var r=this.__data__=new G(t);this.size=r.size}ne.prototype.clear=function(){this.__data__=new G,this.size=0},ne.prototype.delete=function(t){var r=this.__data__,e=r.delete(t);return this.size=r.size,e},ne.prototype.get=function(t){return this.__data__.get(t)},ne.prototype.has=function(t){return this.__data__.has(t)},ne.prototype.set=function(t,r){var e=this.__data__;if(e instanceof G){var n=e.__data__;if(!W||n.length<199)return n.push([t,r]),this.size=++e.size,this;e=this.__data__=new K(n)}return e.set(t,r),this.size=e.size,this};function oe(t){var r=-1,e=null==t?0:t.length;for(this.__data__=new K;++r<e;)this.add(t[r])}function ie(t,r){for(var e=-1,n=null==t?0:t.length;++e<n;)if(r(t[e],e,t))return!0;return!1}function ue(t,r){return t.has(r)}oe.prototype.add=oe.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},oe.prototype.has=function(t){return this.__data__.has(t)};function ae(t,r,e,n,o,i){var u=1&e,a=t.length,f=r.length;if(a!=f&&!(u&&f>a))return!1;var c=i.get(t),l=i.get(r);if(c&&l)return c==r&&l==t;var s=-1,h=!0,d=2&e?new oe:void 0;for(i.set(t,r),i.set(r,t);++s<a;){var g=t[s],b=r[s];if(n)var v=u?n(b,g,s,r,t,i):n(g,b,s,t,r,i);if(void 0!==v){if(v)continue;h=!1;break}if(d){if(!ie(r,function(t,r){if(!ue(d,r)&&(g===t||o(g,t,e,n,i)))return d.push(r)})){h=!1;break}}else if(g!==b&&!o(g,b,e,n,i)){h=!1;break}}return i.delete(t),i.delete(r),h}var fe=l.Uint8Array;function ce(t){var r=-1,e=Array(t.size);return t.forEach(function(t,n){e[++r]=[n,t]}),e}function le(t){var r=-1,e=Array(t.size);return t.forEach(function(t){e[++r]=t}),e}var se=s?s.prototype:void 0,he=se?se.valueOf:void 0;function de(t,r){for(var e=-1,n=r.length,o=t.length;++e<n;)t[o+e]=r[e];return t}var ge=Object.prototype.propertyIsEnumerable,be=Object.getOwnPropertySymbols,ve=be?function(t){return null==t?[]:(t=Object(t),function(t,r){for(var e=-1,n=null==t?0:t.length,o=0,i=[];++e<n;){var u=t[e];r(u,e,t)&&(i[o++]=u)}return i}(be(t),function(r){return ge.call(t,r)}))}:function(){return[]},pe=ve;function ye(t){return w(t)&&"[object Arguments]"==y(t)}var we=Object.prototype,me=we.hasOwnProperty,_e=we.propertyIsEnumerable,je=ye(function(){return arguments}())?ye:function(t){return w(t)&&me.call(t,"callee")&&!_e.call(t,"callee")},$e=je;var Se="object"==typeof exports&&exports&&!exports.nodeType&&exports,ke=Se&&"object"==typeof module&&module&&!module.nodeType&&module,xe=ke&&ke.exports===Se?l.Buffer:void 0,Oe=(xe?xe.isBuffer:void 0)||function(){return!1},Ee=/^(?:0|[1-9]\d*)$/;function Ae(t,r){var e=typeof t;return!!(r=null==r?9007199254740991:r)&&("number"==e||"symbol"!=e&&Ee.test(t))&&t>-1&&t%1==0&&t<r}var Pe={};function He(t){return function(r){return t(r)}}Pe["[object Float32Array]"]=Pe["[object Float64Array]"]=Pe["[object Int8Array]"]=Pe["[object Int16Array]"]=Pe["[object Int32Array]"]=Pe["[object Uint8Array]"]=Pe["[object Uint8ClampedArray]"]=Pe["[object Uint16Array]"]=Pe["[object Uint32Array]"]=!0,Pe["[object Arguments]"]=Pe["[object Array]"]=Pe["[object ArrayBuffer]"]=Pe["[object Boolean]"]=Pe["[object DataView]"]=Pe["[object Date]"]=Pe["[object Error]"]=Pe["[object Function]"]=Pe["[object Map]"]=Pe["[object Number]"]=Pe["[object Object]"]=Pe["[object RegExp]"]=Pe["[object Set]"]=Pe["[object String]"]=Pe["[object WeakMap]"]=!1;var Re="object"==typeof exports&&exports&&!exports.nodeType&&exports,ze=Re&&"object"==typeof module&&module&&!module.nodeType&&module,Me=ze&&ze.exports===Re&&f.process,Te=function(){try{var t=ze&&ze.require&&ze.require("util").types;return t||Me&&Me.binding&&Me.binding("util")}catch(t){}}(),Fe=Te&&Te.isTypedArray,qe=Fe?He(Fe):function(t){return w(t)&&Mt(t.length)&&!!Pe[y(t)]},Ce=Object.prototype.hasOwnProperty;function Be(t,r){var e=a(t),n=!e&&$e(t),o=!e&&!n&&Oe(t),i=!e&&!n&&!o&&qe(t),u=e||n||o||i,f=u?function(t,r){for(var e=-1,n=Array(t);++e<t;)n[e]=r(e);return n}(t.length,String):[],c=f.length;for(var l in t)!r&&!Ce.call(t,l)||u&&("length"==l||o&&("offset"==l||"parent"==l)||i&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||Ae(l,c))||f.push(l);return f}function De(t){return Tt(t)?Be(t):pt(t)}function Ne(t){return function(t,r,e){var n=r(t);return a(t)?n:de(n,e(t))}(t,De,pe)}var Le=Object.prototype.hasOwnProperty;var Ie="[object Arguments]",Ue="[object Array]",Ve="[object Object]",Ge=Object.prototype.hasOwnProperty;function We(t,r,e,n,o,i){var u=a(t),f=a(r),c=u?Ue:zt(t),l=f?Ue:zt(r),s=(c=c==Ie?Ve:c)==Ve,h=(l=l==Ie?Ve:l)==Ve,d=c==l;if(d&&Oe(t)){if(!Oe(r))return!1;u=!0,s=!1}if(d&&!s)return i||(i=new ne),u||qe(t)?ae(t,r,e,n,o,i):function(t,r,e,n,o,i,u){switch(e){case"[object DataView]":if(t.byteLength!=r.byteLength||t.byteOffset!=r.byteOffset)return!1;t=t.buffer,r=r.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=r.byteLength||!i(new fe(t),new fe(r)));case"[object Boolean]":case"[object Date]":case"[object Number]":return I(+t,+r);case"[object Error]":return t.name==r.name&&t.message==r.message;case"[object RegExp]":case"[object String]":return t==r+"";case"[object Map]":var a=ce;case"[object Set]":var f=1&n;if(a||(a=le),t.size!=r.size&&!f)return!1;var c=u.get(t);if(c)return c==r;n|=2,u.set(t,r);var l=ae(a(t),a(r),n,o,i,u);return u.delete(t),l;case"[object Symbol]":if(he)return he.call(t)==he.call(r)}return!1}(t,r,c,e,n,o,i);if(!(1&e)){var g=s&&Ge.call(t,"__wrapped__"),b=h&&Ge.call(r,"__wrapped__");if(g||b){var v=g?t.value():t,p=b?r.value():r;return i||(i=new ne),o(v,p,e,n,i)}}return!!d&&(i||(i=new ne),function(t,r,e,n,o,i){var u=1&e,a=Ne(t),f=a.length;if(f!=Ne(r).length&&!u)return!1;for(var c=f;c--;){var l=a[c];if(!(u?l in r:Le.call(r,l)))return!1}var s=i.get(t),h=i.get(r);if(s&&h)return s==r&&h==t;var d=!0;i.set(t,r),i.set(r,t);for(var g=u;++c<f;){var b=t[l=a[c]],v=r[l];if(n)var p=u?n(v,b,l,r,t,i):n(b,v,l,t,r,i);if(!(void 0===p?b===v||o(b,v,e,n,i):p)){d=!1;break}g||(g="constructor"==l)}if(d&&!g){var y=t.constructor,w=r.constructor;y==w||!("constructor"in t)||!("constructor"in r)||"function"==typeof y&&y instanceof y&&"function"==typeof w&&w instanceof w||(d=!1)}return i.delete(t),i.delete(r),d}(t,r,e,n,o,i))}function Je(t,r,e,n,o){return t===r||(null==t||null==r||!w(t)&&!w(r)?t!=t&&r!=r:We(t,r,e,n,Je,o))}function Ke(t){return t==t&&!S(t)}function Qe(t,r){return function(e){return null!=e&&(e[t]===r&&(void 0!==r||t in Object(e)))}}function Xe(t){var r=function(t){for(var r=De(t),e=r.length;e--;){var n=r[e],o=t[n];r[e]=[n,o,Ke(o)]}return r}(t);return 1==r.length&&r[0][2]?Qe(r[0][0],r[0][1]):function(e){return e===t||function(t,r,e,n){var o=e.length,i=o,u=!n;if(null==t)return!i;for(t=Object(t);o--;){var a=e[o];if(u&&a[2]?a[1]!==t[a[0]]:!(a[0]in t))return!1}for(;++o<i;){var f=(a=e[o])[0],c=t[f],l=a[1];if(u&&a[2]){if(void 0===c&&!(f in t))return!1}else{var s=new ne;if(n)var h=n(c,l,f,t,r,s);if(!(void 0===h?Je(l,c,3,n,s):h))return!1}}return!0}(e,t,r)}}function Ye(t,r){return null!=t&&r in Object(t)}function Ze(t,r){return null!=t&&function(t,r,e){for(var n=-1,o=(r=ct(r,t)).length,i=!1;++n<o;){var u=lt(r[n]);if(!(i=null!=t&&e(t,u)))break;t=t[u]}return i||++n!=o?i:!!(o=null==t?0:t.length)&&Mt(o)&&Ae(u,o)&&(a(t)||$e(t))}(t,r,Ye)}function tn(t){return t}function rn(t){return $(t)?Ft(lt(t)):function(t){return function(r){return st(r,t)}}(t)}function en(t){return"function"==typeof t?t:null==t?tn:"object"==typeof t?a(t)?function(t,r){return $(t)&&Ke(r)?Qe(lt(t),r):function(e){var n=ht(e,t);return void 0===n&&n===r?Ze(e,t):Je(r,n,3)}}(t[0],t[1]):Xe(t):rn(t)}var nn,on=function(t,r,e){for(var n=-1,o=Object(t),i=e(t),u=i.length;u--;){var a=i[nn?u:++n];if(!1===r(o[a],a,o))break}return t};var un=function(t,r){return function(e,n){if(null==e)return e;if(!Tt(e))return t(e,n);for(var o=e.length,i=r?o:-1,u=Object(e);(r?i--:++i<o)&&!1!==n(u[i],i,u););return e}}(function(t,r){return t&&on(t,r,De)}),an=un;function fn(t,r){var e=-1,n=Tt(t)?Array(t.length):[];return an(t,function(t,o,i){n[++e]=r(t,o,i)}),n}function cn(t,r){return(a(t)?ot:fn)(t,en(r))}function ln(t,r){for(var e=-1,n=null==t?0:t.length;++e<n&&!1!==r(t[e],e,t););return t}function sn(t,r){var e;return(a(t)?ln:an)(t,"function"==typeof(e=r)?e:tn)}var hn=s?s.isConcatSpreadable:void 0;function dn(t){return a(t)||$e(t)||!!(hn&&t&&t[hn])}function gn(t,r,e,n,o){var i=-1,u=t.length;for(e||(e=dn),o||(o=[]);++i<u;){var a=t[i];r>0&&e(a)?r>1?gn(a,r-1,e,n,o):de(o,a):n||(o[o.length]=a)}return o}function bn(t,r){if(t!==r){var e=void 0!==t,n=null===t,o=t==t,i=m(t),u=void 0!==r,a=null===r,f=r==r,c=m(r);if(!a&&!c&&!i&&t>r||i&&u&&f&&!a&&!c||n&&u&&f||!e&&f||!o)return 1;if(!n&&!i&&!c&&t<r||c&&e&&o&&!n&&!i||a&&e&&o||!u&&o||!f)return-1}return 0}function vn(t,r,e){r=r.length?ot(r,function(t){return a(t)?function(r){return st(r,1===t.length?t[0]:t)}:t}):[tn];var n=-1;return r=ot(r,He(en)),function(t,r){var e=t.length;for(t.sort(r);e--;)t[e]=t[e].value;return t}(fn(t,function(t,e,o){return{criteria:ot(r,function(r){return r(t)}),index:++n,value:t}}),function(t,r){return function(t,r,e){for(var n=-1,o=t.criteria,i=r.criteria,u=o.length,a=e.length;++n<u;){var f=bn(o[n],i[n]);if(f)return n>=a?f:f*("desc"==e[n]?-1:1)}return t.index-r.index}(t,r,e)})}var pn=Math.max;var yn=function(){try{var t=C(Object,"defineProperty");return t({},"",{}),t}catch(t){}}(),wn=yn,mn=wn?function(t,r){return wn(t,"toString",{configurable:!0,enumerable:!1,value:(e=r,function(){return e}),writable:!0});var e}:tn,_n=mn,jn=Date.now;var $n=function(t){var r=0,e=0;return function(){var n=jn(),o=16-(n-e);if(e=n,o>0){if(++r>=800)return arguments[0]}else r=0;return t.apply(void 0,arguments)}}(_n),Sn=$n;function kn(t,r,e){if(!S(e))return!1;var n=typeof r;return!!("number"==n?Tt(e)&&Ae(r,e.length):"string"==n&&r in e)&&I(e[r],t)}var xn=function(t,r){return Sn(function(t,r,e){return r=pn(void 0===r?t.length-1:r,0),function(){for(var n=arguments,o=-1,i=pn(n.length-r,0),u=Array(i);++o<i;)u[o]=n[r+o];o=-1;for(var a=Array(r+1);++o<r;)a[o]=n[o];return a[r]=e(u),function(t,r,e){switch(e.length){case 0:return t.call(r);case 1:return t.call(r,e[0]);case 2:return t.call(r,e[0],e[1]);case 3:return t.call(r,e[0],e[1],e[2])}return t.apply(r,e)}(t,this,a)}}(t,r,tn),t+"")}(function(t,r){if(null==t)return[];var e=r.length;return e>1&&kn(t,r[0],r[1])?r=[]:e>2&&kn(r[0],r[1],r[2])&&(r=[r[0]]),vn(t,gn(r,1),[])}),On=xn;function En(t){return ft(t).toLowerCase()}function An(t){return ft(t).toUpperCase()}function Pn(t){return"[object Object]"===Object.prototype.toString.call(t)}function Hn(t){if(Pn(t)){for(let r in t)return!0;return!1}return!1}function Rn(t){if(!zr(t))return!1;return Cr(t)>=0}function zn(t,r){return rr(t)&&Rn(r)?0===(r=Cr(r))?"":t.substring(0,r):""}function Mn(t,r){return rr(t)&&Rn(r)?0===(r=Cr(r))?t:function(t,r){if(!rr(t))return"";if(!Rn(r))return"";if(0===(r=Cr(r)))return"";let e=t.length-r;return e<0&&(e=0),t.substring(e,e+r)}(t,t.length-r):""}function Tn(t,r,e){if(!rr(t))return"";if(!rr(r))return"";if(!tr(e))return"";return String(t).replaceAll(r,e)}function Fn(t,r){if(!rr(t))return[];if(!rr(r))return[];let e=function(t,r){return rr(t)&&rr(r)?t.split(r):[]}(t,r);e=cn(e,ee);let n=[];return sn(e,function(t){rr(t)&&n.push(t)}),n}function qn(t){if(!rr(t)&&!nr(t)&&!m(t))return"";let r="";try{r=String(t)}catch(t){}try{r=t.toString()}catch(t){}return r}function Cn(t,r){return!!Pn(t)&&(!(!rr(r)&&!nr(r))&&r in t)}function Bn(t,r,e=1){return rr(t)&&Rn(r)?(e=Br(e)?Cr(e):1,t.substring(r,r+e)):""}let Dn={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"};function Nn(t){return In(t,1)}function Ln(t){return In(t,360)}function In(t,r=1){if(t.indexOf("%")>=0){if(!nr(t=Tn(t,"%","")))throw new Error("invalid color: value is not a number");t=Rr(t)/100}else{if(!nr(t))throw new Error("invalid color: value is not a number");t=Rr(t)/r}if(t>1)throw new Error("invalid color: value > 1");if(t<0)throw new Error("invalid color: value < 0");return t}function Un(t){if(!nr(t))throw new Error("invalid color: value is not a number");if((t=Rr(t))>1)throw new Error("invalid color: value > 1");if(t<0)throw new Error("invalid color: value < 0");return t}function Vn(t,r="rgba"){if(e=t,"[object Array]"!==Object.prototype.toString.call(e))throw new Error("invalid colors array");var e;let n=ht(t,0,0),o=ht(t,1,0),i=ht(t,2,0),u=ht(t,3,1);if(4!==Zt(r=r.split("")))throw new Error("tar.length !== 4");let a=ht(r,0),f=ht(r,1),c=ht(r,2),l=ht(r,3);return{[a]:n,[f]:o,[c]:i,[l]:u}}function Gn(t){let r=(t=Mn(t,1)).length;if(2===r)t=`${t}${t}${t}ff`;else if(3===r){let r=Bn(t,0,1),e=Bn(t,1,1),n=Bn(t,2,1);t=`${r}${r}${e}${e}${n}${n}ff`}else if(6===r)t=`${t}ff`;else if(8!==r)throw new Error("invalid hex color");function e(t){if(2!==t.length)throw new Error("hex.length of color is not equal to 2");if(!nr(t=parseInt(t,16)))throw new Error("invalid hex of color");return(t=Rr(t))/255}return{r:e(Bn(t,0,2)),g:e(Bn(t,2,2)),b:e(Bn(t,4,2)),a:e(Bn(t,6,2))}}function Wn(t){return t=Vn(t=cn(t,(t,r)=>r<=2?In(t,255):3===r?Un(t):null),"rgba")}function Jn(t){return t=eo(t=Vn(t=cn(t,(t,r)=>0===r?Ln(t):1===r||2===r?Nn(t):3===r?Un(t):null),"hsla"))}function Kn(t){return t=no(t=Vn(t=cn(t,(t,r)=>0===r?Ln(t):1===r||2===r?Nn(t):3===r?Un(t):null),"hsva"))}function Qn(t){if("transparent"===t)return{r:0,g:0,b:0,a:0};if(function(t){return Cn(Dn,t)}(t))return Gn(t=`#${Dn[t]}`);if(function(t){return"#"===zn(t,1)&&(!!/[0-9A-Fa-f]{2}/g.test(t)||(!!/[0-9A-Fa-f]{3}/g.test(t)||(!!/[0-9A-Fa-f]{6}/g.test(t)||!!/[0-9A-Fa-f]{8}/g.test(t))))}(t))return Gn(t);if(function(t){return"rgb"===zn(t,3)||"rgba"===zn(t,4)}(t))return function(t){return t=Tn(t,"rgba",""),t=Tn(t,"rgb",""),Wn(Fn(t=Tn(t=t.replace(/[()]/g,""),","," ")," "))}(t);if(function(t){return"hsl"===zn(t,3)||"hsla"===zn(t,4)}(t))return function(t){return t=Tn(t,"hsla",""),t=Tn(t,"hsl",""),Jn(Fn(t=Tn(t=t.replace(/[()]/g,""),","," ")," "))}(t);if(function(t){return"hsv"===zn(t,3)||"hsva"===zn(t,4)}(t))return function(t){return t=Tn(t,"hsva",""),t=Tn(t,"hsv",""),Kn(Fn(t=Tn(t=t.replace(/[()]/g,""),","," ")," "))}(t);throw new Error("format of color string is not hex-color, name-color, rgba, hsla, hsva")}function Xn(t,r){return!!Cn(t,r=En(r))||!!Cn(t,r=An(r))}function Yn(t,r,e){let n;return n=ht(t,r,null),null!==n?n:(n=ht(t,r=An(r),null),null!==n?n:e)}function Zn(t){if(function(t){let r=Xn(t,"r"),e=Xn(t,"g"),n=Xn(t,"b");return r&&e&&n}(t))return function(t){let r=[Yn(t,"r",null),Yn(t,"g",null),Yn(t,"b",null),Yn(t,"a",1)];return r=cn(r,qn),Wn(r)}(t);if(function(t){let r=Xn(t,"h"),e=Xn(t,"s"),n=Xn(t,"l");return r&&e&&n}(t))return function(t){let r=[Yn(t,"h",null),Yn(t,"s",null),Yn(t,"l",null),Yn(t,"a",1)];return r=cn(r,qn),Jn(r)}(t);if(function(t){let r=Xn(t,"h"),e=Xn(t,"s"),n=Xn(t,"v");return r&&e&&n}(t))return function(t){let r=[Yn(t,"h",null),Yn(t,"s",null),Yn(t,"v",null),Yn(t,"a",1)];return r=cn(r,qn),Kn(r)}(t);throw new Error("color object is not one of rgba, hsla, hsva")}function to(t){let r,e,n=t.r,o=t.g,i=t.b,u=Math.max(n,o,i),a=Math.min(n,o,i),f=(u+a)/2;if(u===a)r=e=0;else{let t=u-a;switch(e=f>.5?t/(2-u-a):t/(u+a),u){case n:r=(o-i)/t+(o<i?6:0);break;case o:r=(i-n)/t+2;break;case i:r=(n-o)/t+4}r/=6}return{h:r,s:e,l:f,a:t.a}}function ro(t){let r,e,n=t.r,o=t.g,i=t.b,u=Math.max(n,o,i),a=Math.min(n,o,i),f=u,c=u-a;if(e=0===u?0:c/u,u===a)r=0;else{switch(u){case n:r=(o-i)/c+(o<i?6:0);break;case o:r=(i-n)/c+2;break;case i:r=(n-o)/c+4}r/=6}return{h:r,s:e,v:f,a:t.a}}function eo(t){let r,e,n,o=t.h,i=t.s,u=t.l;function a(t,r,e){return e<0&&(e+=1),e>1&&(e-=1),e<1/6?t+6*(r-t)*e:e<.5?r:e<2/3?t+(r-t)*(2/3-e)*6:t}if(0===i)r=e=n=u;else{let t=u<.5?u*(1+i):u+i-u*i,f=2*u-t;r=a(f,t,o+1/3),e=a(f,t,o),n=a(f,t,o-1/3)}return{r:r,g:e,b:n,a:t.a}}function no(t){let r,e,n,o=t.h,i=t.s,u=t.v,a=Math.floor(6*o),f=6*o-a,c=u*(1-i),l=u*(1-f*i),s=u*(1-(1-f)*i);switch(a%6){case 0:r=u,e=s,n=c;break;case 1:r=l,e=u,n=c;break;case 2:r=c,e=u,n=s;break;case 3:r=c,e=l,n=u;break;case 4:r=s,e=c,n=u;break;case 5:r=u,e=c,n=l}return{r:r,g:e,b:n,a:t.a}}function oo(t){let r=Math.round(255*t).toString(16);if(1===r.length)return`0${r}`;if(2===r.length)return r;throw new Error("invalid value")}function io(t,r=!0){let e=t.r,n=t.g,o=t.b,i=t.a,u=`${oo(e)}${oo(n)}${oo(o)}`;return r&&(u=`${u}${oo(i)}`),u}function uo(t){return Math.min(1,Math.max(0,t))}function ao(t,r){if(!rr(r))throw new Error("fmtOutput is not a string");if(!Lo[r])throw console.log(`fmtOutput must be [${De(Lo)}]`),new Error("invalid fmtOutput");return t=Lo[r](t)}function fo(t,r,e="toRgbString"){if(r<0||r>1)throw new Error("amount < 0 or > 1");let n=to(t);return n.h+=r,n.h=n.h%1,ao(eo(n),e)}function co(t,r,e,n,o="toRgbString"){if(r<0||r>1)throw new Error("w1 < 0 or > 1");if(n<0||n>1)throw new Error("w1 < 0 or > 1");return ao({r:t.r*r+e.r*n,g:t.g*r+e.g*n,b:t.b*r+e.b*n,a:t.a*r+e.a*n},o)}function lo(t){return`${qr(100*t,1)}%`}function so(t){return qr(t,0)}function ho(t){return qr(t,3)}function go(t){return{r:so(255*t.r),g:so(255*t.g),b:so(255*t.b)}}function bo(t){return`rgb(${so(255*t.r)}, ${so(255*t.g)}, ${so(255*t.b)})`}function vo(t){return{r:so(255*t.r),g:so(255*t.g),b:so(255*t.b),a:ho(t.a)}}function po(t){return`rgba(${so(255*t.r)}, ${so(255*t.g)}, ${so(255*t.b)}, ${ho(t.a)})`}function yo(t){let r=to(t);return{h:so(360*r.h),s:ho(r.s),l:ho(r.l)}}function wo(t){let r=to(t);return`hsl(${so(360*r.h)}, ${ho(r.s)}, ${ho(r.l)})`}function mo(t){let r=to(t);return{h:so(360*r.h),s:ho(r.s),l:ho(r.l),a:ho(r.a)}}function _o(t){let r=to(t);return`hsla(${so(360*r.h)}, ${ho(r.s)}, ${ho(r.l)}, ${ho(r.a)})`}function jo(t){let r=ro(t);return{h:so(360*r.h),s:ho(r.s),v:ho(r.v)}}function $o(t){let r=ro(t);return`hsv(${so(360*r.h)}, ${ho(r.s)}, ${ho(r.v)})`}function So(t){let r=ro(t);return{h:so(360*r.h),s:ho(r.s),v:ho(r.v),a:ho(r.a)}}function ko(t){let r=ro(t);return`hsva(${so(360*r.h)}, ${ho(r.s)}, ${ho(r.v)}, ${ho(r.a)})`}function xo(t){return{r:lo(t.r),g:lo(t.g),b:lo(t.b)}}function Oo(t){return`rgb(${lo(t.r)}, ${lo(t.g)}, ${lo(t.b)})`}function Eo(t){return{r:lo(t.r),g:lo(t.g),b:lo(t.b),a:ho(t.a)}}function Ao(t){return`rgba(${lo(t.r)}, ${lo(t.g)}, ${lo(t.b)}, ${ho(t.a)})`}function Po(t){let r=to(t);return{h:so(360*r.h),s:lo(r.s),l:lo(r.l)}}function Ho(t){let r=to(t);return`hsl(${so(360*r.h)}, ${lo(r.s)}, ${lo(r.l)})`}function Ro(t){let r=to(t);return{h:so(360*r.h),s:lo(r.s),l:lo(r.l),a:ho(r.a)}}function zo(t){let r=to(t);return`hsla(${so(360*r.h)}, ${lo(r.s)}, ${lo(r.l)}, ${ho(r.a)})`}function Mo(t){let r=ro(t);return{h:so(360*r.h),s:lo(r.s),v:lo(r.v)}}function To(t){let r=ro(t);return`hsv(${so(360*r.h)}, ${lo(r.s)}, ${lo(r.v)})`}function Fo(t){let r=ro(t);return{h:so(360*r.h),s:lo(r.s),v:lo(r.v),a:ho(r.a)}}function qo(t){let r=ro(t);return`hsva(${so(360*r.h)}, ${lo(r.s)}, ${lo(r.v)}, ${ho(r.a)})`}function Co(t){let r=function(t){return io(t,!1)}(t);return`#${r}`}function Bo(t){return`#${io(t)}`}function Do(t){let r=null,e=null,n=null;if(rr(t))r=En(ee(t));else{if(!Hn(t))throw console.log("color=",t),new Error("color is not a string or an object");e=t}if(null!==r)try{n=Qn(r)}catch(t){throw console.log(t),new Error(`can not parse color: ${r}`)}else if(null!==e)try{n=Zn(e)}catch(t){throw console.log(t),new Error(`can not parse color: ${JSON.stringify(e)}`)}return n}function No(t){if(!Hn(t))return console.log("gradient is not an effective object"),t=>`rgb(${255*(t=Math.min(Math.max(t,0),1))},${255*t},${255*t})`;let r=[];return sn(t,(t,e)=>{r.push([Rr(e),vo(Do(t)),t])}),r=On(r,0),function(t){let e=null;for(let n=1;n<r.length;n++){let o=r[n-1][0],i=r[n-1][1],u=r[n][0],a=r[n][1];if(o<=t&&u>=t){let r=(u-t)/(u-o),n=(t-o)/(u-o);e=co(Do(i),r,Do(a),n,"toRgbaString");break}}return e}}let Lo={toRgb:go,toRgbString:bo,toRgba:vo,toRgbaString:po,toHsl:yo,toHslString:wo,toHsla:mo,toHslaString:_o,toHsv:jo,toHsvString:$o,toHsva:So,toHsvaString:ko,toRgbP:xo,toRgbPString:Oo,toRgbaP:Eo,toRgbaPString:Ao,toHslP:Po,toHslPString:Ho,toHslaP:Ro,toHslaPString:zo,toHsvP:Mo,toHsvPString:To,toHsvaP:Fo,toHsvaPString:qo,toHexString:Co,toHex8String:Bo};var Io={toRgb:t=>go(Do(t)),toRgbString:t=>bo(Do(t)),toRgba:t=>vo(Do(t)),toRgbaString:t=>po(Do(t)),toHsl:t=>yo(Do(t)),toHslString:t=>wo(Do(t)),toHsla:t=>mo(Do(t)),toHslaString:t=>_o(Do(t)),toHsv:t=>jo(Do(t)),toHsvString:t=>$o(Do(t)),toHsva:t=>So(Do(t)),toHsvaString:t=>ko(Do(t)),toRgbP:t=>xo(Do(t)),toRgbPString:t=>Oo(Do(t)),toRgbaP:t=>Eo(Do(t)),toRgbaPString:t=>Ao(Do(t)),toHslP:t=>Po(Do(t)),toHslPString:t=>Ho(Do(t)),toHslaP:t=>Ro(Do(t)),toHslaPString:t=>zo(Do(t)),toHsvP:t=>Mo(Do(t)),toHsvPString:t=>To(Do(t)),toHsvaP:t=>Fo(Do(t)),toHsvaPString:t=>qo(Do(t)),toHexString:t=>Co(Do(t)),toHex8String:t=>Bo(Do(t)),modSaturate:(t,r,e)=>function(t,r,e="toRgbString"){if(r<0||r>1)throw new Error("amount < 0 or > 1");let n=to(t);return n.s+=r,n.s=uo(n.s),ao(eo(n),e)}(Do(t),r,e),modGrey:(t,r)=>function(t,r="toRgbString"){let e=to(t);return e.s=0,ao(eo(e),r)}(Do(t),r),modLighten:(t,r,e)=>function(t,r,e="toRgbString"){if(r<0||r>1)throw new Error("amount < 0 or > 1");let n=to(t);return n.l+=r,n.l=uo(n.l),ao(eo(n),e)}(Do(t),r,e),modBrighten:(t,r,e)=>function(t,r,e="toRgbString"){if(r<0||r>1)throw new Error("amount < 0 or > 1");return t.r+=r,t.r=uo(t.r),t.g+=r,t.g=uo(t.g),t.b+=r,t.b=uo(t.b),ao(t,e)}(Do(t),r,e),modHue:(t,r,e)=>fo(Do(t),r,e),modComplement:(t,r)=>function(t,r="toRgbString"){return fo(t,.5,r)}(Do(t),r),spreadHue:(t,r,e)=>function(t,r,e="toRgbString"){if(!zr(r))throw new Error("num is not an integer");if((r=Cr(r))<=1)return[t];let n=to(t),o=1/r,i=[];for(let t=0;t<r;t++)i.push(ao(eo(n),e)),n.h+=o,n.h=n.h%1;return i}(Do(t),r,e),spreadMonochromatic:(t,r,e)=>function(t,r,e="toRgbString"){if(!zr(r))throw new Error("num is not an integer");if((r=Cr(r))<=1)return[t];let n=ro(t);n.s=1,n.l=1;let o=1/r,i=[];for(let t=0;t<r;t++)i.push(ao(no(n),e)),n.h-=o,n.l-=o;return i}(Do(t),r,e),mix:(t,r,e,n,o)=>co(Do(t),r,Do(e),n,o),getBrightness:t=>function(t){if(1!==t.a)throw new Error("alpha of color can not be equal to 1");return(299*t.r+587*t.g+114*t.b)/1e3}(Do(t)),getLuminance:t=>function(t){if(1!==t.a)throw new Error("alpha of color can not be equal to 1");let r,e,n,o=t.r,i=t.g,u=t.b;return r=o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4),e=i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4),n=u<=.03928?u/12.92:Math.pow((u+.055)/1.055,2.4),.2126*r+.7152*e+.0722*n}(Do(t)),interp:No};async function Uo(r){let e=t.readFileSync(r);return u.imdecode(e)}async function Vo(r,e){let n=u.imencode(".png",e);t.writeFileSync(r,n)}async function Go(t,r,e,n={}){let o=ht(n,"useToGray");mr(o)||(o=!1);let i=t.resize(Math.floor(t.rows*e),Math.floor(t.cols*e));if(i.rows<10||i.cols<10)throw new Error(`縮放後檢測尺寸過小: [imgTarResize:${i.cols}x${i.rows}]`);if(i.rows>r.rows||i.cols>r.cols)throw new Error(`縮放後檢測>截圖尺寸: [imgScreen:${r.cols}x${r.rows}] > [imgTarResize:${i.cols}x${i.rows}]`);o&&(r=r.bgrToGray(),i=i.bgrToGray());let a=r.matchTemplate(i,u.TM_CCOEFF_NORMED),{maxVal:f,maxLoc:c}=a.minMaxLoc();return{similarity:f,x:c.x,y:c.y,width:i.cols,height:i.rows,scale:e}}let Wo={calcSimilarity:async function(t,r,e,n={}){let o=await Uo(r),i=await Uo(t);return await Go(i,o,e,n)},calcSimilarityAndDraw:async function(t,r,e,n,o={}){let i=ht(o,"drawBorderWidth");Br(i)||(i=2);let a=ht(o,"drawBorderColor");rr(a)||(a="#f00"),a=Io.toRgb(a);let f=await Uo(r),c=await Uo(t),l=await Go(c,f,e,o),s=new u.Point2(l.x,l.y),h=new u.Point2(l.x+l.width,l.y+l.height);return f.drawRectangle(s,h,new u.Vec3(a.b,a.g,a.r),i,u.LINE_8),await Vo(n,f),{...l,fp:n}},screenAndDrawCircle:async function(t,r,e,n,o,i,a,f={}){let c=ht(f,"drawCircleRadius");Br(c)||(c=5);let l=ht(f,"drawBorderWidth");Br(l)||(l=2);let s=ht(f,"drawBorderColor");rr(s)||(s="#f00"),s=Io.toRgb(s),await wr.screenSave(t,r,e,n,a);let h=await Uo(a),d=new u.Point2(o,i);h.drawCircle(d,c,new u.Vec3(s.b,s.g,s.r),l,u.LINE_8),await Vo(a,h)}},Jo=async(t,r={})=>{let e=!1,n=ht(r,"fdTar",null);if(rr(n)||(n="./pic"),!ar(n))throw new Error(`opt.fdTar[${r.fdTar}] is not a folder`);let o=ht(r,"fdTmp",null);rr(o)||(o="./_tmp"),ar(o)||fr(o);let i=!0;"color"===ht(r,"modeCompare","gray")&&(i=!1);let u=`${n}/${t}.png`;if(!ir(u))throw new Error(`fpTar[${u}] is not a file`);let a=`${o}/${t}.all.png`,f=`${o}/${t}.det.png`,c=ht(r,"x",0),l=ht(r,"y",0),s=ht(r,"width",1920),h=ht(r,"height",1080),d=ht(r,"threshold",.9),g=ht(r,"withClick",!0),b=ht(r,"withDrag",!1);await wr.screenSave(c,l,s,h,a);let v=await Wo.calcSimilarityAndDraw(u,a,1,f,{useToGray:i});console.log(t,"similarity",v.similarity);let p=(t=>({cx:t.x+t.width/2,cy:t.y+t.height/2}))(v);if(v={...v,...p},v.similarity>d){if(g){let t=ht(r,"dx",0),e=ht(r,"dy",0);await yr.mouseClick(v.cx+c+t,v.cy+l+e)}if(b){let t=ht(r,"dx1",0),e=ht(r,"dy1",0),n=ht(r,"dx2",0),o=ht(r,"dy2",0);await yr.mouseDrag(v.cx+c+t,v.cy+l+e,v.cx+c+n,v.cy+l+o)}e=!0}return e};return async(t,r={})=>{let e=!1;rr(t)&&(t=[t]);let n=ht(r,"numMax",60),o=ht(r,"timeDelay",1500);for(let i=1;i<=n;i++){console.log(`waitPics names[${t}]...`,i);let n=!1;for(let e=0;e<Zt(t);e++){let o=t[e];if(n=await Jo(o,r),n)break}if(n){e=!0;break}await or(o)}return e}});
|
|
7
7
|
//# sourceMappingURL=wait-pics.umd.js.map
|