twenty-sdk 2.3.0 → 2.4.0
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/dist/cli/utilities/build/manifest/manifest-build.d.ts +1 -0
- package/dist/cli/utilities/build/manifest/manifest-extract-config.d.ts +1 -0
- package/dist/cli/utilities/dev/orchestrator/dev-mode-orchestrator-state.d.ts +3 -0
- package/dist/cli/utilities/dev/ui/components/dev-ui-version-row.d.ts +5 -0
- package/dist/cli/utilities/version/check-server-version-compatibility.d.ts +1 -0
- package/dist/cli/utilities/version/compare-semver.d.ts +2 -0
- package/dist/cli/utilities/version/get-local-server-version.d.ts +1 -0
- package/dist/cli/utilities/version/get-published-server-versions.d.ts +2 -0
- package/dist/cli/utilities/version/get-version-info.d.ts +2 -0
- package/dist/cli/utilities/version/parse-semver.d.ts +2 -0
- package/dist/cli/utilities/version/published-server-version.d.ts +4 -0
- package/dist/cli/utilities/version/semver-tuple.d.ts +1 -0
- package/dist/cli/utilities/version/version-info.d.ts +7 -0
- package/dist/cli.cjs +68 -68
- package/dist/cli.mjs +1682 -1638
- package/dist/define/index.cjs +10 -10
- package/dist/define/index.cjs.map +1 -1
- package/dist/define/index.d.ts +17 -3
- package/dist/define/index.mjs +56 -50
- package/dist/define/index.mjs.map +1 -1
- package/dist/front-component/index.cjs.map +1 -1
- package/dist/front-component/index.mjs.map +1 -1
- package/dist/{get-function-input-schema-BZ7_XyUh-BXB2AcBE.js → get-function-input-schema-BZ7_XyUh-DT3stfoz.js} +1 -1
- package/dist/{get-function-input-schema-BZ7_XyUh-PnCntsct.mjs → get-function-input-schema-BZ7_XyUh-OrMskPPC.mjs} +1 -1
- package/dist/logic-function/index.d.ts +4 -0
- package/dist/operations.cjs +1 -1
- package/dist/operations.mjs +2 -2
- package/dist/{uninstall-BiLmSWhb.js → uninstall-BIllVz44.js} +53 -53
- package/dist/{uninstall-DAf2XiS3.mjs → uninstall-XLw7db6v.mjs} +3162 -3027
- package/package.json +2 -2
package/dist/cli.cjs
CHANGED
|
@@ -1,36 +1,36 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
"use strict";var Hg=Object.create;var Fo=Object.defineProperty;var zg=Object.getOwnPropertyDescriptor;var Kg=Object.getOwnPropertyNames;var jg=Object.getPrototypeOf,Yg=Object.prototype.hasOwnProperty;var Jg=(f,s,r,l)=>{if(s&&typeof s=="object"||typeof s=="function")for(let p of Kg(s))!Yg.call(f,p)&&p!==r&&Fo(f,p,{get:()=>s[p],enumerable:!(l=zg(s,p))||l.enumerable});return f};var Zg=(f,s,r)=>(r=f!=null?Hg(jg(f)):{},Jg(s||!f||!f.__esModule?Fo(r,"default",{value:f,enumerable:!0}):r,f));const q=require("path"),Xg=require("chalk"),v=require("./uninstall-BiLmSWhb.js"),Qg=require("inquirer"),tt=require("node:fs/promises"),te=require("uuid"),ev=require("chokidar"),tv=require("crypto"),bn=require("node:child_process"),nv=require("node:path"),L=require("react/jsx-runtime"),At=require("react"),Bo=require("commander"),rv=require("util"),Dt=f=>f&&f.__esModule?f:{default:f},Yi=Dt(q),y=Dt(Xg),Ge=Dt(Qg),ko=Dt(ev),iv=Dt(tv),Po=Dt(nv),Go=Dt(At),Q=process.env.INIT_CWD||process.cwd(),pt=f=>f&&!f?.startsWith("/")?q.join(Q,f):f;var Cn={exports:{}};var sv=Cn.exports,Lo;function av(){return Lo||(Lo=1,(function(f,s){(function(){var r,l="4.17.21",p=200,I="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",x="Expected a function",P="Invalid `variable` option passed into `_.template`",D="__lodash_hash_undefined__",z=500,Z="__lodash_placeholder__",K=1,Ye=2,G=4,W=1,Pe=2,Ie=1,Je=2,Tn=4,Le=8,bt=16,xe=32,Ee=64,nt=128,nn=256,xr=512,Yo=30,Jo="...",Zo=800,Xo=16,Zi=1,Qo=2,eu=3,Ct=1/0,gt=9007199254740991,tu=17976931348623157e292,Rn=NaN,Ze=4294967295,nu=Ze-1,ru=Ze>>>1,iu=[["ary",nt],["bind",Ie],["bindKey",Je],["curry",Le],["curryRight",bt],["flip",xr],["partial",xe],["partialRight",Ee],["rearg",nn]],Mt="[object Arguments]",Fn="[object Array]",su="[object AsyncFunction]",rn="[object Boolean]",sn="[object Date]",au="[object DOMException]",Pn="[object Error]",Ln="[object Function]",Xi="[object GeneratorFunction]",Ve="[object Map]",an="[object Number]",ou="[object Null]",rt="[object Object]",Qi="[object Promise]",uu="[object Proxy]",on="[object RegExp]",qe="[object Set]",un="[object String]",Nn="[object Symbol]",lu="[object Undefined]",ln="[object WeakMap]",cu="[object WeakSet]",cn="[object ArrayBuffer]",Wt="[object DataView]",Er="[object Float32Array]",Ar="[object Float64Array]",br="[object Int8Array]",Cr="[object Int16Array]",Tr="[object Int32Array]",Rr="[object Uint8Array]",Fr="[object Uint8ClampedArray]",Pr="[object Uint16Array]",Lr="[object Uint32Array]",fu=/\b__p \+= '';/g,du=/\b(__p \+=) '' \+/g,pu=/(__e\(.*?\)|\b__t\)) \+\n'';/g,es=/&(?:amp|lt|gt|quot|#39);/g,ts=/[&<>"']/g,hu=RegExp(es.source),gu=RegExp(ts.source),vu=/<%-([\s\S]+?)%>/g,mu=/<%([\s\S]+?)%>/g,ns=/<%=([\s\S]+?)%>/g,yu=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,_u=/^\w*$/,wu=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Nr=/[\\^$.*+?()[\]{}|]/g,Su=RegExp(Nr.source),Or=/^\s+/,Iu=/\s/,xu=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Eu=/\{\n\/\* \[wrapped with (.+)\] \*/,Au=/,? & /,bu=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Cu=/[()=,{}\[\]\/\s]/,Tu=/\\(\\)?/g,Ru=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,rs=/\w*$/,Fu=/^[-+]0x[0-9a-f]+$/i,Pu=/^0b[01]+$/i,Lu=/^\[object .+?Constructor\]$/,Nu=/^0o[0-7]+$/i,Ou=/^(?:0|[1-9]\d*)$/,$u=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,On=/($^)/,Uu=/['\n\r\u2028\u2029\\]/g,$n="\\ud800-\\udfff",Du="\\u0300-\\u036f",Mu="\\ufe20-\\ufe2f",Wu="\\u20d0-\\u20ff",is=Du+Mu+Wu,ss="\\u2700-\\u27bf",as="a-z\\xdf-\\xf6\\xf8-\\xff",Bu="\\xac\\xb1\\xd7\\xf7",ku="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Gu="\\u2000-\\u206f",Vu=" \\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",os="A-Z\\xc0-\\xd6\\xd8-\\xde",us="\\ufe0e\\ufe0f",ls=Bu+ku+Gu+Vu,$r="['’]",qu="["+$n+"]",cs="["+ls+"]",Un="["+is+"]",fs="\\d+",Hu="["+ss+"]",ds="["+as+"]",ps="[^"+$n+ls+fs+ss+as+os+"]",Ur="\\ud83c[\\udffb-\\udfff]",zu="(?:"+Un+"|"+Ur+")",hs="[^"+$n+"]",Dr="(?:\\ud83c[\\udde6-\\uddff]){2}",Mr="[\\ud800-\\udbff][\\udc00-\\udfff]",Bt="["+os+"]",gs="\\u200d",vs="(?:"+ds+"|"+ps+")",Ku="(?:"+Bt+"|"+ps+")",ms="(?:"+$r+"(?:d|ll|m|re|s|t|ve))?",ys="(?:"+$r+"(?:D|LL|M|RE|S|T|VE))?",_s=zu+"?",ws="["+us+"]?",ju="(?:"+gs+"(?:"+[hs,Dr,Mr].join("|")+")"+ws+_s+")*",Yu="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Ju="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Ss=ws+_s+ju,Zu="(?:"+[Hu,Dr,Mr].join("|")+")"+Ss,Xu="(?:"+[hs+Un+"?",Un,Dr,Mr,qu].join("|")+")",Qu=RegExp($r,"g"),el=RegExp(Un,"g"),Wr=RegExp(Ur+"(?="+Ur+")|"+Xu+Ss,"g"),tl=RegExp([Bt+"?"+ds+"+"+ms+"(?="+[cs,Bt,"$"].join("|")+")",Ku+"+"+ys+"(?="+[cs,Bt+vs,"$"].join("|")+")",Bt+"?"+vs+"+"+ms,Bt+"+"+ys,Ju,Yu,fs,Zu].join("|"),"g"),nl=RegExp("["+gs+$n+is+us+"]"),rl=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,il=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],sl=-1,ee={};ee[Er]=ee[Ar]=ee[br]=ee[Cr]=ee[Tr]=ee[Rr]=ee[Fr]=ee[Pr]=ee[Lr]=!0,ee[Mt]=ee[Fn]=ee[cn]=ee[rn]=ee[Wt]=ee[sn]=ee[Pn]=ee[Ln]=ee[Ve]=ee[an]=ee[rt]=ee[on]=ee[qe]=ee[un]=ee[ln]=!1;var X={};X[Mt]=X[Fn]=X[cn]=X[Wt]=X[rn]=X[sn]=X[Er]=X[Ar]=X[br]=X[Cr]=X[Tr]=X[Ve]=X[an]=X[rt]=X[on]=X[qe]=X[un]=X[Nn]=X[Rr]=X[Fr]=X[Pr]=X[Lr]=!0,X[Pn]=X[Ln]=X[ln]=!1;var al={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},ol={"&":"&","<":"<",">":">",'"':""","'":"'"},ul={"&":"&","<":"<",">":">",""":'"',"'":"'"},ll={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},cl=parseFloat,fl=parseInt,Is=typeof v.commonjsGlobal=="object"&&v.commonjsGlobal&&v.commonjsGlobal.Object===Object&&v.commonjsGlobal,dl=typeof self=="object"&&self&&self.Object===Object&&self,fe=Is||dl||Function("return this")(),Br=s&&!s.nodeType&&s,Tt=Br&&!0&&f&&!f.nodeType&&f,xs=Tt&&Tt.exports===Br,kr=xs&&Is.process,Ne=(function(){try{var h=Tt&&Tt.require&&Tt.require("util").types;return h||kr&&kr.binding&&kr.binding("util")}catch{}})(),Es=Ne&&Ne.isArrayBuffer,As=Ne&&Ne.isDate,bs=Ne&&Ne.isMap,Cs=Ne&&Ne.isRegExp,Ts=Ne&&Ne.isSet,Rs=Ne&&Ne.isTypedArray;function Ae(h,_,m){switch(m.length){case 0:return h.call(_);case 1:return h.call(_,m[0]);case 2:return h.call(_,m[0],m[1]);case 3:return h.call(_,m[0],m[1],m[2])}return h.apply(_,m)}function pl(h,_,m,b){for(var N=-1,H=h==null?0:h.length;++N<H;){var oe=h[N];_(b,oe,m(oe),h)}return b}function Oe(h,_){for(var m=-1,b=h==null?0:h.length;++m<b&&_(h[m],m,h)!==!1;);return h}function hl(h,_){for(var m=h==null?0:h.length;m--&&_(h[m],m,h)!==!1;);return h}function Fs(h,_){for(var m=-1,b=h==null?0:h.length;++m<b;)if(!_(h[m],m,h))return!1;return!0}function vt(h,_){for(var m=-1,b=h==null?0:h.length,N=0,H=[];++m<b;){var oe=h[m];_(oe,m,h)&&(H[N++]=oe)}return H}function Dn(h,_){var m=h==null?0:h.length;return!!m&&kt(h,_,0)>-1}function Gr(h,_,m){for(var b=-1,N=h==null?0:h.length;++b<N;)if(m(_,h[b]))return!0;return!1}function ne(h,_){for(var m=-1,b=h==null?0:h.length,N=Array(b);++m<b;)N[m]=_(h[m],m,h);return N}function mt(h,_){for(var m=-1,b=_.length,N=h.length;++m<b;)h[N+m]=_[m];return h}function Vr(h,_,m,b){var N=-1,H=h==null?0:h.length;for(b&&H&&(m=h[++N]);++N<H;)m=_(m,h[N],N,h);return m}function gl(h,_,m,b){var N=h==null?0:h.length;for(b&&N&&(m=h[--N]);N--;)m=_(m,h[N],N,h);return m}function qr(h,_){for(var m=-1,b=h==null?0:h.length;++m<b;)if(_(h[m],m,h))return!0;return!1}var vl=Hr("length");function ml(h){return h.split("")}function yl(h){return h.match(bu)||[]}function Ps(h,_,m){var b;return m(h,function(N,H,oe){if(_(N,H,oe))return b=H,!1}),b}function Mn(h,_,m,b){for(var N=h.length,H=m+(b?1:-1);b?H--:++H<N;)if(_(h[H],H,h))return H;return-1}function kt(h,_,m){return _===_?Fl(h,_,m):Mn(h,Ls,m)}function _l(h,_,m,b){for(var N=m-1,H=h.length;++N<H;)if(b(h[N],_))return N;return-1}function Ls(h){return h!==h}function Ns(h,_){var m=h==null?0:h.length;return m?Kr(h,_)/m:Rn}function Hr(h){return function(_){return _==null?r:_[h]}}function zr(h){return function(_){return h==null?r:h[_]}}function Os(h,_,m,b,N){return N(h,function(H,oe,J){m=b?(b=!1,H):_(m,H,oe,J)}),m}function wl(h,_){var m=h.length;for(h.sort(_);m--;)h[m]=h[m].value;return h}function Kr(h,_){for(var m,b=-1,N=h.length;++b<N;){var H=_(h[b]);H!==r&&(m=m===r?H:m+H)}return m}function jr(h,_){for(var m=-1,b=Array(h);++m<h;)b[m]=_(m);return b}function Sl(h,_){return ne(_,function(m){return[m,h[m]]})}function $s(h){return h&&h.slice(0,Ws(h)+1).replace(Or,"")}function be(h){return function(_){return h(_)}}function Yr(h,_){return ne(_,function(m){return h[m]})}function fn(h,_){return h.has(_)}function Us(h,_){for(var m=-1,b=h.length;++m<b&&kt(_,h[m],0)>-1;);return m}function Ds(h,_){for(var m=h.length;m--&&kt(_,h[m],0)>-1;);return m}function Il(h,_){for(var m=h.length,b=0;m--;)h[m]===_&&++b;return b}var xl=zr(al),El=zr(ol);function Al(h){return"\\"+ll[h]}function bl(h,_){return h==null?r:h[_]}function Gt(h){return nl.test(h)}function Cl(h){return rl.test(h)}function Tl(h){for(var _,m=[];!(_=h.next()).done;)m.push(_.value);return m}function Jr(h){var _=-1,m=Array(h.size);return h.forEach(function(b,N){m[++_]=[N,b]}),m}function Ms(h,_){return function(m){return h(_(m))}}function yt(h,_){for(var m=-1,b=h.length,N=0,H=[];++m<b;){var oe=h[m];(oe===_||oe===Z)&&(h[m]=Z,H[N++]=m)}return H}function Wn(h){var _=-1,m=Array(h.size);return h.forEach(function(b){m[++_]=b}),m}function Rl(h){var _=-1,m=Array(h.size);return h.forEach(function(b){m[++_]=[b,b]}),m}function Fl(h,_,m){for(var b=m-1,N=h.length;++b<N;)if(h[b]===_)return b;return-1}function Pl(h,_,m){for(var b=m+1;b--;)if(h[b]===_)return b;return b}function Vt(h){return Gt(h)?Nl(h):vl(h)}function He(h){return Gt(h)?Ol(h):ml(h)}function Ws(h){for(var _=h.length;_--&&Iu.test(h.charAt(_)););return _}var Ll=zr(ul);function Nl(h){for(var _=Wr.lastIndex=0;Wr.test(h);)++_;return _}function Ol(h){return h.match(Wr)||[]}function $l(h){return h.match(tl)||[]}var Ul=(function h(_){_=_==null?fe:qt.defaults(fe.Object(),_,qt.pick(fe,il));var m=_.Array,b=_.Date,N=_.Error,H=_.Function,oe=_.Math,J=_.Object,Zr=_.RegExp,Dl=_.String,$e=_.TypeError,Bn=m.prototype,Ml=H.prototype,Ht=J.prototype,kn=_["__core-js_shared__"],Gn=Ml.toString,Y=Ht.hasOwnProperty,Wl=0,Bs=(function(){var e=/[^.]+$/.exec(kn&&kn.keys&&kn.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""})(),Vn=Ht.toString,Bl=Gn.call(J),kl=fe._,Gl=Zr("^"+Gn.call(Y).replace(Nr,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),qn=xs?_.Buffer:r,_t=_.Symbol,Hn=_.Uint8Array,ks=qn?qn.allocUnsafe:r,zn=Ms(J.getPrototypeOf,J),Gs=J.create,Vs=Ht.propertyIsEnumerable,Kn=Bn.splice,qs=_t?_t.isConcatSpreadable:r,dn=_t?_t.iterator:r,Rt=_t?_t.toStringTag:r,jn=(function(){try{var e=Ot(J,"defineProperty");return e({},"",{}),e}catch{}})(),Vl=_.clearTimeout!==fe.clearTimeout&&_.clearTimeout,ql=b&&b.now!==fe.Date.now&&b.now,Hl=_.setTimeout!==fe.setTimeout&&_.setTimeout,Yn=oe.ceil,Jn=oe.floor,Xr=J.getOwnPropertySymbols,zl=qn?qn.isBuffer:r,Hs=_.isFinite,Kl=Bn.join,jl=Ms(J.keys,J),ue=oe.max,pe=oe.min,Yl=b.now,Jl=_.parseInt,zs=oe.random,Zl=Bn.reverse,Qr=Ot(_,"DataView"),pn=Ot(_,"Map"),ei=Ot(_,"Promise"),zt=Ot(_,"Set"),hn=Ot(_,"WeakMap"),gn=Ot(J,"create"),Zn=hn&&new hn,Kt={},Xl=$t(Qr),Ql=$t(pn),ec=$t(ei),tc=$t(zt),nc=$t(hn),Xn=_t?_t.prototype:r,vn=Xn?Xn.valueOf:r,Ks=Xn?Xn.toString:r;function o(e){if(ie(e)&&!O(e)&&!(e instanceof k)){if(e instanceof Ue)return e;if(Y.call(e,"__wrapped__"))return ja(e)}return new Ue(e)}var jt=(function(){function e(){}return function(t){if(!re(t))return{};if(Gs)return Gs(t);e.prototype=t;var n=new e;return e.prototype=r,n}})();function Qn(){}function Ue(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=r}o.templateSettings={escape:vu,evaluate:mu,interpolate:ns,variable:"",imports:{_:o}},o.prototype=Qn.prototype,o.prototype.constructor=o,Ue.prototype=jt(Qn.prototype),Ue.prototype.constructor=Ue;function k(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Ze,this.__views__=[]}function rc(){var e=new k(this.__wrapped__);return e.__actions__=ye(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=ye(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=ye(this.__views__),e}function ic(){if(this.__filtered__){var e=new k(this);e.__dir__=-1,e.__filtered__=!0}else e=this.clone(),e.__dir__*=-1;return e}function sc(){var e=this.__wrapped__.value(),t=this.__dir__,n=O(e),i=t<0,a=n?e.length:0,u=yf(0,a,this.__views__),c=u.start,d=u.end,g=d-c,w=i?d:c-1,S=this.__iteratees__,E=S.length,A=0,C=pe(g,this.__takeCount__);if(!n||!i&&a==g&&C==g)return ma(e,this.__actions__);var R=[];e:for(;g--&&A<C;){w+=t;for(var U=-1,F=e[w];++U<E;){var B=S[U],V=B.iteratee,Re=B.type,me=V(F);if(Re==Qo)F=me;else if(!me){if(Re==Zi)continue e;break e}}R[A++]=F}return R}k.prototype=jt(Qn.prototype),k.prototype.constructor=k;function Ft(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}function ac(){this.__data__=gn?gn(null):{},this.size=0}function oc(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}function uc(e){var t=this.__data__;if(gn){var n=t[e];return n===D?r:n}return Y.call(t,e)?t[e]:r}function lc(e){var t=this.__data__;return gn?t[e]!==r:Y.call(t,e)}function cc(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=gn&&t===r?D:t,this}Ft.prototype.clear=ac,Ft.prototype.delete=oc,Ft.prototype.get=uc,Ft.prototype.has=lc,Ft.prototype.set=cc;function it(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}function fc(){this.__data__=[],this.size=0}function dc(e){var t=this.__data__,n=er(t,e);if(n<0)return!1;var i=t.length-1;return n==i?t.pop():Kn.call(t,n,1),--this.size,!0}function pc(e){var t=this.__data__,n=er(t,e);return n<0?r:t[n][1]}function hc(e){return er(this.__data__,e)>-1}function gc(e,t){var n=this.__data__,i=er(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this}it.prototype.clear=fc,it.prototype.delete=dc,it.prototype.get=pc,it.prototype.has=hc,it.prototype.set=gc;function st(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}function vc(){this.size=0,this.__data__={hash:new Ft,map:new(pn||it),string:new Ft}}function mc(e){var t=dr(this,e).delete(e);return this.size-=t?1:0,t}function yc(e){return dr(this,e).get(e)}function _c(e){return dr(this,e).has(e)}function wc(e,t){var n=dr(this,e),i=n.size;return n.set(e,t),this.size+=n.size==i?0:1,this}st.prototype.clear=vc,st.prototype.delete=mc,st.prototype.get=yc,st.prototype.has=_c,st.prototype.set=wc;function Pt(e){var t=-1,n=e==null?0:e.length;for(this.__data__=new st;++t<n;)this.add(e[t])}function Sc(e){return this.__data__.set(e,D),this}function Ic(e){return this.__data__.has(e)}Pt.prototype.add=Pt.prototype.push=Sc,Pt.prototype.has=Ic;function ze(e){var t=this.__data__=new it(e);this.size=t.size}function xc(){this.__data__=new it,this.size=0}function Ec(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function Ac(e){return this.__data__.get(e)}function bc(e){return this.__data__.has(e)}function Cc(e,t){var n=this.__data__;if(n instanceof it){var i=n.__data__;if(!pn||i.length<p-1)return i.push([e,t]),this.size=++n.size,this;n=this.__data__=new st(i)}return n.set(e,t),this.size=n.size,this}ze.prototype.clear=xc,ze.prototype.delete=Ec,ze.prototype.get=Ac,ze.prototype.has=bc,ze.prototype.set=Cc;function js(e,t){var n=O(e),i=!n&&Ut(e),a=!n&&!i&&Et(e),u=!n&&!i&&!a&&Xt(e),c=n||i||a||u,d=c?jr(e.length,Dl):[],g=d.length;for(var w in e)(t||Y.call(e,w))&&!(c&&(w=="length"||a&&(w=="offset"||w=="parent")||u&&(w=="buffer"||w=="byteLength"||w=="byteOffset")||lt(w,g)))&&d.push(w);return d}function Ys(e){var t=e.length;return t?e[fi(0,t-1)]:r}function Tc(e,t){return pr(ye(e),Lt(t,0,e.length))}function Rc(e){return pr(ye(e))}function ti(e,t,n){(n!==r&&!Ke(e[t],n)||n===r&&!(t in e))&&at(e,t,n)}function mn(e,t,n){var i=e[t];(!(Y.call(e,t)&&Ke(i,n))||n===r&&!(t in e))&&at(e,t,n)}function er(e,t){for(var n=e.length;n--;)if(Ke(e[n][0],t))return n;return-1}function Fc(e,t,n,i){return wt(e,function(a,u,c){t(i,a,n(a),c)}),i}function Js(e,t){return e&&Qe(t,le(t),e)}function Pc(e,t){return e&&Qe(t,we(t),e)}function at(e,t,n){t=="__proto__"&&jn?jn(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function ni(e,t){for(var n=-1,i=t.length,a=m(i),u=e==null;++n<i;)a[n]=u?r:Ui(e,t[n]);return a}function Lt(e,t,n){return e===e&&(n!==r&&(e=e<=n?e:n),t!==r&&(e=e>=t?e:t)),e}function De(e,t,n,i,a,u){var c,d=t&K,g=t&Ye,w=t&G;if(n&&(c=a?n(e,i,a,u):n(e)),c!==r)return c;if(!re(e))return e;var S=O(e);if(S){if(c=wf(e),!d)return ye(e,c)}else{var E=he(e),A=E==Ln||E==Xi;if(Et(e))return wa(e,d);if(E==rt||E==Mt||A&&!a){if(c=g||A?{}:Wa(e),!d)return g?lf(e,Pc(c,e)):uf(e,Js(c,e))}else{if(!X[E])return a?e:{};c=Sf(e,E,d)}}u||(u=new ze);var C=u.get(e);if(C)return C;u.set(e,c),go(e)?e.forEach(function(F){c.add(De(F,t,n,F,e,u))}):po(e)&&e.forEach(function(F,B){c.set(B,De(F,t,n,B,e,u))});var R=w?g?Ii:Si:g?we:le,U=S?r:R(e);return Oe(U||e,function(F,B){U&&(B=F,F=e[B]),mn(c,B,De(F,t,n,B,e,u))}),c}function Lc(e){var t=le(e);return function(n){return Zs(n,e,t)}}function Zs(e,t,n){var i=n.length;if(e==null)return!i;for(e=J(e);i--;){var a=n[i],u=t[a],c=e[a];if(c===r&&!(a in e)||!u(c))return!1}return!0}function Xs(e,t,n){if(typeof e!="function")throw new $e(x);return En(function(){e.apply(r,n)},t)}function yn(e,t,n,i){var a=-1,u=Dn,c=!0,d=e.length,g=[],w=t.length;if(!d)return g;n&&(t=ne(t,be(n))),i?(u=Gr,c=!1):t.length>=p&&(u=fn,c=!1,t=new Pt(t));e:for(;++a<d;){var S=e[a],E=n==null?S:n(S);if(S=i||S!==0?S:0,c&&E===E){for(var A=w;A--;)if(t[A]===E)continue e;g.push(S)}else u(t,E,i)||g.push(S)}return g}var wt=Aa(Xe),Qs=Aa(ii,!0);function Nc(e,t){var n=!0;return wt(e,function(i,a,u){return n=!!t(i,a,u),n}),n}function tr(e,t,n){for(var i=-1,a=e.length;++i<a;){var u=e[i],c=t(u);if(c!=null&&(d===r?c===c&&!Te(c):n(c,d)))var d=c,g=u}return g}function Oc(e,t,n,i){var a=e.length;for(n=$(n),n<0&&(n=-n>a?0:a+n),i=i===r||i>a?a:$(i),i<0&&(i+=a),i=n>i?0:mo(i);n<i;)e[n++]=t;return e}function ea(e,t){var n=[];return wt(e,function(i,a,u){t(i,a,u)&&n.push(i)}),n}function de(e,t,n,i,a){var u=-1,c=e.length;for(n||(n=xf),a||(a=[]);++u<c;){var d=e[u];t>0&&n(d)?t>1?de(d,t-1,n,i,a):mt(a,d):i||(a[a.length]=d)}return a}var ri=ba(),ta=ba(!0);function Xe(e,t){return e&&ri(e,t,le)}function ii(e,t){return e&&ta(e,t,le)}function nr(e,t){return vt(t,function(n){return ct(e[n])})}function Nt(e,t){t=It(t,e);for(var n=0,i=t.length;e!=null&&n<i;)e=e[et(t[n++])];return n&&n==i?e:r}function na(e,t,n){var i=t(e);return O(e)?i:mt(i,n(e))}function ge(e){return e==null?e===r?lu:ou:Rt&&Rt in J(e)?mf(e):Ff(e)}function si(e,t){return e>t}function $c(e,t){return e!=null&&Y.call(e,t)}function Uc(e,t){return e!=null&&t in J(e)}function Dc(e,t,n){return e>=pe(t,n)&&e<ue(t,n)}function ai(e,t,n){for(var i=n?Gr:Dn,a=e[0].length,u=e.length,c=u,d=m(u),g=1/0,w=[];c--;){var S=e[c];c&&t&&(S=ne(S,be(t))),g=pe(S.length,g),d[c]=!n&&(t||a>=120&&S.length>=120)?new Pt(c&&S):r}S=e[0];var E=-1,A=d[0];e:for(;++E<a&&w.length<g;){var C=S[E],R=t?t(C):C;if(C=n||C!==0?C:0,!(A?fn(A,R):i(w,R,n))){for(c=u;--c;){var U=d[c];if(!(U?fn(U,R):i(e[c],R,n)))continue e}A&&A.push(R),w.push(C)}}return w}function Mc(e,t,n,i){return Xe(e,function(a,u,c){t(i,n(a),u,c)}),i}function _n(e,t,n){t=It(t,e),e=Va(e,t);var i=e==null?e:e[et(We(t))];return i==null?r:Ae(i,e,n)}function ra(e){return ie(e)&&ge(e)==Mt}function Wc(e){return ie(e)&&ge(e)==cn}function Bc(e){return ie(e)&&ge(e)==sn}function wn(e,t,n,i,a){return e===t?!0:e==null||t==null||!ie(e)&&!ie(t)?e!==e&&t!==t:kc(e,t,n,i,wn,a)}function kc(e,t,n,i,a,u){var c=O(e),d=O(t),g=c?Fn:he(e),w=d?Fn:he(t);g=g==Mt?rt:g,w=w==Mt?rt:w;var S=g==rt,E=w==rt,A=g==w;if(A&&Et(e)){if(!Et(t))return!1;c=!0,S=!1}if(A&&!S)return u||(u=new ze),c||Xt(e)?Ua(e,t,n,i,a,u):gf(e,t,g,n,i,a,u);if(!(n&W)){var C=S&&Y.call(e,"__wrapped__"),R=E&&Y.call(t,"__wrapped__");if(C||R){var U=C?e.value():e,F=R?t.value():t;return u||(u=new ze),a(U,F,n,i,u)}}return A?(u||(u=new ze),vf(e,t,n,i,a,u)):!1}function Gc(e){return ie(e)&&he(e)==Ve}function oi(e,t,n,i){var a=n.length,u=a,c=!i;if(e==null)return!u;for(e=J(e);a--;){var d=n[a];if(c&&d[2]?d[1]!==e[d[0]]:!(d[0]in e))return!1}for(;++a<u;){d=n[a];var g=d[0],w=e[g],S=d[1];if(c&&d[2]){if(w===r&&!(g in e))return!1}else{var E=new ze;if(i)var A=i(w,S,g,e,t,E);if(!(A===r?wn(S,w,W|Pe,i,E):A))return!1}}return!0}function ia(e){if(!re(e)||Af(e))return!1;var t=ct(e)?Gl:Lu;return t.test($t(e))}function Vc(e){return ie(e)&&ge(e)==on}function qc(e){return ie(e)&&he(e)==qe}function Hc(e){return ie(e)&&_r(e.length)&&!!ee[ge(e)]}function sa(e){return typeof e=="function"?e:e==null?Se:typeof e=="object"?O(e)?ua(e[0],e[1]):oa(e):To(e)}function ui(e){if(!xn(e))return jl(e);var t=[];for(var n in J(e))Y.call(e,n)&&n!="constructor"&&t.push(n);return t}function zc(e){if(!re(e))return Rf(e);var t=xn(e),n=[];for(var i in e)i=="constructor"&&(t||!Y.call(e,i))||n.push(i);return n}function li(e,t){return e<t}function aa(e,t){var n=-1,i=_e(e)?m(e.length):[];return wt(e,function(a,u,c){i[++n]=t(a,u,c)}),i}function oa(e){var t=Ei(e);return t.length==1&&t[0][2]?ka(t[0][0],t[0][1]):function(n){return n===e||oi(n,e,t)}}function ua(e,t){return bi(e)&&Ba(t)?ka(et(e),t):function(n){var i=Ui(n,e);return i===r&&i===t?Di(n,e):wn(t,i,W|Pe)}}function rr(e,t,n,i,a){e!==t&&ri(t,function(u,c){if(a||(a=new ze),re(u))Kc(e,t,c,n,rr,i,a);else{var d=i?i(Ti(e,c),u,c+"",e,t,a):r;d===r&&(d=u),ti(e,c,d)}},we)}function Kc(e,t,n,i,a,u,c){var d=Ti(e,n),g=Ti(t,n),w=c.get(g);if(w){ti(e,n,w);return}var S=u?u(d,g,n+"",e,t,c):r,E=S===r;if(E){var A=O(g),C=!A&&Et(g),R=!A&&!C&&Xt(g);S=g,A||C||R?O(d)?S=d:se(d)?S=ye(d):C?(E=!1,S=wa(g,!0)):R?(E=!1,S=Sa(g,!0)):S=[]:An(g)||Ut(g)?(S=d,Ut(d)?S=yo(d):(!re(d)||ct(d))&&(S=Wa(g))):E=!1}E&&(c.set(g,S),a(S,g,i,u,c),c.delete(g)),ti(e,n,S)}function la(e,t){var n=e.length;if(n)return t+=t<0?n:0,lt(t,n)?e[t]:r}function ca(e,t,n){t.length?t=ne(t,function(u){return O(u)?function(c){return Nt(c,u.length===1?u[0]:u)}:u}):t=[Se];var i=-1;t=ne(t,be(T()));var a=aa(e,function(u,c,d){var g=ne(t,function(w){return w(u)});return{criteria:g,index:++i,value:u}});return wl(a,function(u,c){return of(u,c,n)})}function jc(e,t){return fa(e,t,function(n,i){return Di(e,i)})}function fa(e,t,n){for(var i=-1,a=t.length,u={};++i<a;){var c=t[i],d=Nt(e,c);n(d,c)&&Sn(u,It(c,e),d)}return u}function Yc(e){return function(t){return Nt(t,e)}}function ci(e,t,n,i){var a=i?_l:kt,u=-1,c=t.length,d=e;for(e===t&&(t=ye(t)),n&&(d=ne(e,be(n)));++u<c;)for(var g=0,w=t[u],S=n?n(w):w;(g=a(d,S,g,i))>-1;)d!==e&&Kn.call(d,g,1),Kn.call(e,g,1);return e}function da(e,t){for(var n=e?t.length:0,i=n-1;n--;){var a=t[n];if(n==i||a!==u){var u=a;lt(a)?Kn.call(e,a,1):hi(e,a)}}return e}function fi(e,t){return e+Jn(zs()*(t-e+1))}function Jc(e,t,n,i){for(var a=-1,u=ue(Yn((t-e)/(n||1)),0),c=m(u);u--;)c[i?u:++a]=e,e+=n;return c}function di(e,t){var n="";if(!e||t<1||t>gt)return n;do t%2&&(n+=e),t=Jn(t/2),t&&(e+=e);while(t);return n}function M(e,t){return Ri(Ga(e,t,Se),e+"")}function Zc(e){return Ys(Qt(e))}function Xc(e,t){var n=Qt(e);return pr(n,Lt(t,0,n.length))}function Sn(e,t,n,i){if(!re(e))return e;t=It(t,e);for(var a=-1,u=t.length,c=u-1,d=e;d!=null&&++a<u;){var g=et(t[a]),w=n;if(g==="__proto__"||g==="constructor"||g==="prototype")return e;if(a!=c){var S=d[g];w=i?i(S,g,d):r,w===r&&(w=re(S)?S:lt(t[a+1])?[]:{})}mn(d,g,w),d=d[g]}return e}var pa=Zn?function(e,t){return Zn.set(e,t),e}:Se,Qc=jn?function(e,t){return jn(e,"toString",{configurable:!0,enumerable:!1,value:Wi(t),writable:!0})}:Se;function ef(e){return pr(Qt(e))}function Me(e,t,n){var i=-1,a=e.length;t<0&&(t=-t>a?0:a+t),n=n>a?a:n,n<0&&(n+=a),a=t>n?0:n-t>>>0,t>>>=0;for(var u=m(a);++i<a;)u[i]=e[i+t];return u}function tf(e,t){var n;return wt(e,function(i,a,u){return n=t(i,a,u),!n}),!!n}function ir(e,t,n){var i=0,a=e==null?i:e.length;if(typeof t=="number"&&t===t&&a<=ru){for(;i<a;){var u=i+a>>>1,c=e[u];c!==null&&!Te(c)&&(n?c<=t:c<t)?i=u+1:a=u}return a}return pi(e,t,Se,n)}function pi(e,t,n,i){var a=0,u=e==null?0:e.length;if(u===0)return 0;t=n(t);for(var c=t!==t,d=t===null,g=Te(t),w=t===r;a<u;){var S=Jn((a+u)/2),E=n(e[S]),A=E!==r,C=E===null,R=E===E,U=Te(E);if(c)var F=i||R;else w?F=R&&(i||A):d?F=R&&A&&(i||!C):g?F=R&&A&&!C&&(i||!U):C||U?F=!1:F=i?E<=t:E<t;F?a=S+1:u=S}return pe(u,nu)}function ha(e,t){for(var n=-1,i=e.length,a=0,u=[];++n<i;){var c=e[n],d=t?t(c):c;if(!n||!Ke(d,g)){var g=d;u[a++]=c===0?0:c}}return u}function ga(e){return typeof e=="number"?e:Te(e)?Rn:+e}function Ce(e){if(typeof e=="string")return e;if(O(e))return ne(e,Ce)+"";if(Te(e))return Ks?Ks.call(e):"";var t=e+"";return t=="0"&&1/e==-Ct?"-0":t}function St(e,t,n){var i=-1,a=Dn,u=e.length,c=!0,d=[],g=d;if(n)c=!1,a=Gr;else if(u>=p){var w=t?null:pf(e);if(w)return Wn(w);c=!1,a=fn,g=new Pt}else g=t?[]:d;e:for(;++i<u;){var S=e[i],E=t?t(S):S;if(S=n||S!==0?S:0,c&&E===E){for(var A=g.length;A--;)if(g[A]===E)continue e;t&&g.push(E),d.push(S)}else a(g,E,n)||(g!==d&&g.push(E),d.push(S))}return d}function hi(e,t){return t=It(t,e),e=Va(e,t),e==null||delete e[et(We(t))]}function va(e,t,n,i){return Sn(e,t,n(Nt(e,t)),i)}function sr(e,t,n,i){for(var a=e.length,u=i?a:-1;(i?u--:++u<a)&&t(e[u],u,e););return n?Me(e,i?0:u,i?u+1:a):Me(e,i?u+1:0,i?a:u)}function ma(e,t){var n=e;return n instanceof k&&(n=n.value()),Vr(t,function(i,a){return a.func.apply(a.thisArg,mt([i],a.args))},n)}function gi(e,t,n){var i=e.length;if(i<2)return i?St(e[0]):[];for(var a=-1,u=m(i);++a<i;)for(var c=e[a],d=-1;++d<i;)d!=a&&(u[a]=yn(u[a]||c,e[d],t,n));return St(de(u,1),t,n)}function ya(e,t,n){for(var i=-1,a=e.length,u=t.length,c={};++i<a;){var d=i<u?t[i]:r;n(c,e[i],d)}return c}function vi(e){return se(e)?e:[]}function mi(e){return typeof e=="function"?e:Se}function It(e,t){return O(e)?e:bi(e,t)?[e]:Ka(j(e))}var nf=M;function xt(e,t,n){var i=e.length;return n=n===r?i:n,!t&&n>=i?e:Me(e,t,n)}var _a=Vl||function(e){return fe.clearTimeout(e)};function wa(e,t){if(t)return e.slice();var n=e.length,i=ks?ks(n):new e.constructor(n);return e.copy(i),i}function yi(e){var t=new e.constructor(e.byteLength);return new Hn(t).set(new Hn(e)),t}function rf(e,t){var n=t?yi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}function sf(e){var t=new e.constructor(e.source,rs.exec(e));return t.lastIndex=e.lastIndex,t}function af(e){return vn?J(vn.call(e)):{}}function Sa(e,t){var n=t?yi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function Ia(e,t){if(e!==t){var n=e!==r,i=e===null,a=e===e,u=Te(e),c=t!==r,d=t===null,g=t===t,w=Te(t);if(!d&&!w&&!u&&e>t||u&&c&&g&&!d&&!w||i&&c&&g||!n&&g||!a)return 1;if(!i&&!u&&!w&&e<t||w&&n&&a&&!i&&!u||d&&n&&a||!c&&a||!g)return-1}return 0}function of(e,t,n){for(var i=-1,a=e.criteria,u=t.criteria,c=a.length,d=n.length;++i<c;){var g=Ia(a[i],u[i]);if(g){if(i>=d)return g;var w=n[i];return g*(w=="desc"?-1:1)}}return e.index-t.index}function xa(e,t,n,i){for(var a=-1,u=e.length,c=n.length,d=-1,g=t.length,w=ue(u-c,0),S=m(g+w),E=!i;++d<g;)S[d]=t[d];for(;++a<c;)(E||a<u)&&(S[n[a]]=e[a]);for(;w--;)S[d++]=e[a++];return S}function Ea(e,t,n,i){for(var a=-1,u=e.length,c=-1,d=n.length,g=-1,w=t.length,S=ue(u-d,0),E=m(S+w),A=!i;++a<S;)E[a]=e[a];for(var C=a;++g<w;)E[C+g]=t[g];for(;++c<d;)(A||a<u)&&(E[C+n[c]]=e[a++]);return E}function ye(e,t){var n=-1,i=e.length;for(t||(t=m(i));++n<i;)t[n]=e[n];return t}function Qe(e,t,n,i){var a=!n;n||(n={});for(var u=-1,c=t.length;++u<c;){var d=t[u],g=i?i(n[d],e[d],d,n,e):r;g===r&&(g=e[d]),a?at(n,d,g):mn(n,d,g)}return n}function uf(e,t){return Qe(e,Ai(e),t)}function lf(e,t){return Qe(e,Da(e),t)}function ar(e,t){return function(n,i){var a=O(n)?pl:Fc,u=t?t():{};return a(n,e,T(i,2),u)}}function Yt(e){return M(function(t,n){var i=-1,a=n.length,u=a>1?n[a-1]:r,c=a>2?n[2]:r;for(u=e.length>3&&typeof u=="function"?(a--,u):r,c&&ve(n[0],n[1],c)&&(u=a<3?r:u,a=1),t=J(t);++i<a;){var d=n[i];d&&e(t,d,i,u)}return t})}function Aa(e,t){return function(n,i){if(n==null)return n;if(!_e(n))return e(n,i);for(var a=n.length,u=t?a:-1,c=J(n);(t?u--:++u<a)&&i(c[u],u,c)!==!1;);return n}}function ba(e){return function(t,n,i){for(var a=-1,u=J(t),c=i(t),d=c.length;d--;){var g=c[e?d:++a];if(n(u[g],g,u)===!1)break}return t}}function cf(e,t,n){var i=t&Ie,a=In(e);function u(){var c=this&&this!==fe&&this instanceof u?a:e;return c.apply(i?n:this,arguments)}return u}function Ca(e){return function(t){t=j(t);var n=Gt(t)?He(t):r,i=n?n[0]:t.charAt(0),a=n?xt(n,1).join(""):t.slice(1);return i[e]()+a}}function Jt(e){return function(t){return Vr(bo(Ao(t).replace(Qu,"")),e,"")}}function In(e){return function(){var t=arguments;switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3]);case 5:return new e(t[0],t[1],t[2],t[3],t[4]);case 6:return new e(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var n=jt(e.prototype),i=e.apply(n,t);return re(i)?i:n}}function ff(e,t,n){var i=In(e);function a(){for(var u=arguments.length,c=m(u),d=u,g=Zt(a);d--;)c[d]=arguments[d];var w=u<3&&c[0]!==g&&c[u-1]!==g?[]:yt(c,g);if(u-=w.length,u<n)return La(e,t,or,a.placeholder,r,c,w,r,r,n-u);var S=this&&this!==fe&&this instanceof a?i:e;return Ae(S,this,c)}return a}function Ta(e){return function(t,n,i){var a=J(t);if(!_e(t)){var u=T(n,3);t=le(t),n=function(d){return u(a[d],d,a)}}var c=e(t,n,i);return c>-1?a[u?t[c]:c]:r}}function Ra(e){return ut(function(t){var n=t.length,i=n,a=Ue.prototype.thru;for(e&&t.reverse();i--;){var u=t[i];if(typeof u!="function")throw new $e(x);if(a&&!c&&fr(u)=="wrapper")var c=new Ue([],!0)}for(i=c?i:n;++i<n;){u=t[i];var d=fr(u),g=d=="wrapper"?xi(u):r;g&&Ci(g[0])&&g[1]==(nt|Le|xe|nn)&&!g[4].length&&g[9]==1?c=c[fr(g[0])].apply(c,g[3]):c=u.length==1&&Ci(u)?c[d]():c.thru(u)}return function(){var w=arguments,S=w[0];if(c&&w.length==1&&O(S))return c.plant(S).value();for(var E=0,A=n?t[E].apply(this,w):S;++E<n;)A=t[E].call(this,A);return A}})}function or(e,t,n,i,a,u,c,d,g,w){var S=t&nt,E=t&Ie,A=t&Je,C=t&(Le|bt),R=t&xr,U=A?r:In(e);function F(){for(var B=arguments.length,V=m(B),Re=B;Re--;)V[Re]=arguments[Re];if(C)var me=Zt(F),Fe=Il(V,me);if(i&&(V=xa(V,i,a,C)),u&&(V=Ea(V,u,c,C)),B-=Fe,C&&B<w){var ae=yt(V,me);return La(e,t,or,F.placeholder,n,V,ae,d,g,w-B)}var je=E?n:this,dt=A?je[e]:e;return B=V.length,d?V=Pf(V,d):R&&B>1&&V.reverse(),S&&g<B&&(V.length=g),this&&this!==fe&&this instanceof F&&(dt=U||In(dt)),dt.apply(je,V)}return F}function Fa(e,t){return function(n,i){return Mc(n,e,t(i),{})}}function ur(e,t){return function(n,i){var a;if(n===r&&i===r)return t;if(n!==r&&(a=n),i!==r){if(a===r)return i;typeof n=="string"||typeof i=="string"?(n=Ce(n),i=Ce(i)):(n=ga(n),i=ga(i)),a=e(n,i)}return a}}function _i(e){return ut(function(t){return t=ne(t,be(T())),M(function(n){var i=this;return e(t,function(a){return Ae(a,i,n)})})})}function lr(e,t){t=t===r?" ":Ce(t);var n=t.length;if(n<2)return n?di(t,e):t;var i=di(t,Yn(e/Vt(t)));return Gt(t)?xt(He(i),0,e).join(""):i.slice(0,e)}function df(e,t,n,i){var a=t&Ie,u=In(e);function c(){for(var d=-1,g=arguments.length,w=-1,S=i.length,E=m(S+g),A=this&&this!==fe&&this instanceof c?u:e;++w<S;)E[w]=i[w];for(;g--;)E[w++]=arguments[++d];return Ae(A,a?n:this,E)}return c}function Pa(e){return function(t,n,i){return i&&typeof i!="number"&&ve(t,n,i)&&(n=i=r),t=ft(t),n===r?(n=t,t=0):n=ft(n),i=i===r?t<n?1:-1:ft(i),Jc(t,n,i,e)}}function cr(e){return function(t,n){return typeof t=="string"&&typeof n=="string"||(t=Be(t),n=Be(n)),e(t,n)}}function La(e,t,n,i,a,u,c,d,g,w){var S=t&Le,E=S?c:r,A=S?r:c,C=S?u:r,R=S?r:u;t|=S?xe:Ee,t&=~(S?Ee:xe),t&Tn||(t&=-4);var U=[e,t,a,C,E,R,A,d,g,w],F=n.apply(r,U);return Ci(e)&&qa(F,U),F.placeholder=i,Ha(F,e,t)}function wi(e){var t=oe[e];return function(n,i){if(n=Be(n),i=i==null?0:pe($(i),292),i&&Hs(n)){var a=(j(n)+"e").split("e"),u=t(a[0]+"e"+(+a[1]+i));return a=(j(u)+"e").split("e"),+(a[0]+"e"+(+a[1]-i))}return t(n)}}var pf=zt&&1/Wn(new zt([,-0]))[1]==Ct?function(e){return new zt(e)}:Gi;function Na(e){return function(t){var n=he(t);return n==Ve?Jr(t):n==qe?Rl(t):Sl(t,e(t))}}function ot(e,t,n,i,a,u,c,d){var g=t&Je;if(!g&&typeof e!="function")throw new $e(x);var w=i?i.length:0;if(w||(t&=-97,i=a=r),c=c===r?c:ue($(c),0),d=d===r?d:$(d),w-=a?a.length:0,t&Ee){var S=i,E=a;i=a=r}var A=g?r:xi(e),C=[e,t,n,i,a,S,E,u,c,d];if(A&&Tf(C,A),e=C[0],t=C[1],n=C[2],i=C[3],a=C[4],d=C[9]=C[9]===r?g?0:e.length:ue(C[9]-w,0),!d&&t&(Le|bt)&&(t&=-25),!t||t==Ie)var R=cf(e,t,n);else t==Le||t==bt?R=ff(e,t,d):(t==xe||t==(Ie|xe))&&!a.length?R=df(e,t,n,i):R=or.apply(r,C);var U=A?pa:qa;return Ha(U(R,C),e,t)}function Oa(e,t,n,i){return e===r||Ke(e,Ht[n])&&!Y.call(i,n)?t:e}function $a(e,t,n,i,a,u){return re(e)&&re(t)&&(u.set(t,e),rr(e,t,r,$a,u),u.delete(t)),e}function hf(e){return An(e)?r:e}function Ua(e,t,n,i,a,u){var c=n&W,d=e.length,g=t.length;if(d!=g&&!(c&&g>d))return!1;var w=u.get(e),S=u.get(t);if(w&&S)return w==t&&S==e;var E=-1,A=!0,C=n&Pe?new Pt:r;for(u.set(e,t),u.set(t,e);++E<d;){var R=e[E],U=t[E];if(i)var F=c?i(U,R,E,t,e,u):i(R,U,E,e,t,u);if(F!==r){if(F)continue;A=!1;break}if(C){if(!qr(t,function(B,V){if(!fn(C,V)&&(R===B||a(R,B,n,i,u)))return C.push(V)})){A=!1;break}}else if(!(R===U||a(R,U,n,i,u))){A=!1;break}}return u.delete(e),u.delete(t),A}function gf(e,t,n,i,a,u,c){switch(n){case Wt:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case cn:return!(e.byteLength!=t.byteLength||!u(new Hn(e),new Hn(t)));case rn:case sn:case an:return Ke(+e,+t);case Pn:return e.name==t.name&&e.message==t.message;case on:case un:return e==t+"";case Ve:var d=Jr;case qe:var g=i&W;if(d||(d=Wn),e.size!=t.size&&!g)return!1;var w=c.get(e);if(w)return w==t;i|=Pe,c.set(e,t);var S=Ua(d(e),d(t),i,a,u,c);return c.delete(e),S;case Nn:if(vn)return vn.call(e)==vn.call(t)}return!1}function vf(e,t,n,i,a,u){var c=n&W,d=Si(e),g=d.length,w=Si(t),S=w.length;if(g!=S&&!c)return!1;for(var E=g;E--;){var A=d[E];if(!(c?A in t:Y.call(t,A)))return!1}var C=u.get(e),R=u.get(t);if(C&&R)return C==t&&R==e;var U=!0;u.set(e,t),u.set(t,e);for(var F=c;++E<g;){A=d[E];var B=e[A],V=t[A];if(i)var Re=c?i(V,B,A,t,e,u):i(B,V,A,e,t,u);if(!(Re===r?B===V||a(B,V,n,i,u):Re)){U=!1;break}F||(F=A=="constructor")}if(U&&!F){var me=e.constructor,Fe=t.constructor;me!=Fe&&"constructor"in e&&"constructor"in t&&!(typeof me=="function"&&me instanceof me&&typeof Fe=="function"&&Fe instanceof Fe)&&(U=!1)}return u.delete(e),u.delete(t),U}function ut(e){return Ri(Ga(e,r,Za),e+"")}function Si(e){return na(e,le,Ai)}function Ii(e){return na(e,we,Da)}var xi=Zn?function(e){return Zn.get(e)}:Gi;function fr(e){for(var t=e.name+"",n=Kt[t],i=Y.call(Kt,t)?n.length:0;i--;){var a=n[i],u=a.func;if(u==null||u==e)return a.name}return t}function Zt(e){var t=Y.call(o,"placeholder")?o:e;return t.placeholder}function T(){var e=o.iteratee||Bi;return e=e===Bi?sa:e,arguments.length?e(arguments[0],arguments[1]):e}function dr(e,t){var n=e.__data__;return Ef(t)?n[typeof t=="string"?"string":"hash"]:n.map}function Ei(e){for(var t=le(e),n=t.length;n--;){var i=t[n],a=e[i];t[n]=[i,a,Ba(a)]}return t}function Ot(e,t){var n=bl(e,t);return ia(n)?n:r}function mf(e){var t=Y.call(e,Rt),n=e[Rt];try{e[Rt]=r;var i=!0}catch{}var a=Vn.call(e);return i&&(t?e[Rt]=n:delete e[Rt]),a}var Ai=Xr?function(e){return e==null?[]:(e=J(e),vt(Xr(e),function(t){return Vs.call(e,t)}))}:Vi,Da=Xr?function(e){for(var t=[];e;)mt(t,Ai(e)),e=zn(e);return t}:Vi,he=ge;(Qr&&he(new Qr(new ArrayBuffer(1)))!=Wt||pn&&he(new pn)!=Ve||ei&&he(ei.resolve())!=Qi||zt&&he(new zt)!=qe||hn&&he(new hn)!=ln)&&(he=function(e){var t=ge(e),n=t==rt?e.constructor:r,i=n?$t(n):"";if(i)switch(i){case Xl:return Wt;case Ql:return Ve;case ec:return Qi;case tc:return qe;case nc:return ln}return t});function yf(e,t,n){for(var i=-1,a=n.length;++i<a;){var u=n[i],c=u.size;switch(u.type){case"drop":e+=c;break;case"dropRight":t-=c;break;case"take":t=pe(t,e+c);break;case"takeRight":e=ue(e,t-c);break}}return{start:e,end:t}}function _f(e){var t=e.match(Eu);return t?t[1].split(Au):[]}function Ma(e,t,n){t=It(t,e);for(var i=-1,a=t.length,u=!1;++i<a;){var c=et(t[i]);if(!(u=e!=null&&n(e,c)))break;e=e[c]}return u||++i!=a?u:(a=e==null?0:e.length,!!a&&_r(a)&<(c,a)&&(O(e)||Ut(e)))}function wf(e){var t=e.length,n=new e.constructor(t);return t&&typeof e[0]=="string"&&Y.call(e,"index")&&(n.index=e.index,n.input=e.input),n}function Wa(e){return typeof e.constructor=="function"&&!xn(e)?jt(zn(e)):{}}function Sf(e,t,n){var i=e.constructor;switch(t){case cn:return yi(e);case rn:case sn:return new i(+e);case Wt:return rf(e,n);case Er:case Ar:case br:case Cr:case Tr:case Rr:case Fr:case Pr:case Lr:return Sa(e,n);case Ve:return new i;case an:case un:return new i(e);case on:return sf(e);case qe:return new i;case Nn:return af(e)}}function If(e,t){var n=t.length;if(!n)return e;var i=n-1;return t[i]=(n>1?"& ":"")+t[i],t=t.join(n>2?", ":" "),e.replace(xu,`{
|
|
2
|
+
"use strict";var qg=Object.create;var Fo=Object.defineProperty;var Hg=Object.getOwnPropertyDescriptor;var zg=Object.getOwnPropertyNames;var Kg=Object.getPrototypeOf,jg=Object.prototype.hasOwnProperty;var Yg=(f,s,r,l)=>{if(s&&typeof s=="object"||typeof s=="function")for(let d of zg(s))!jg.call(f,d)&&d!==r&&Fo(f,d,{get:()=>s[d],enumerable:!(l=Hg(s,d))||l.enumerable});return f};var Jg=(f,s,r)=>(r=f!=null?qg(Kg(f)):{},Yg(s||!f||!f.__esModule?Fo(r,"default",{value:f,enumerable:!0}):r,f));const H=require("path"),Zg=require("chalk"),v=require("./uninstall-BIllVz44.js"),Xg=require("inquirer"),tt=require("node:fs/promises"),te=require("uuid"),Qg=require("chokidar"),ev=require("crypto"),bn=require("node:child_process"),tv=require("node:path"),C=require("react/jsx-runtime"),At=require("react"),Bo=require("commander"),nv=require("util"),Dt=f=>f&&f.__esModule?f:{default:f},Yi=Dt(H),y=Dt(Zg),Ve=Dt(Xg),ko=Dt(Qg),rv=Dt(ev),Po=Dt(tv),Vo=Dt(At),Q=process.env.INIT_CWD||process.cwd(),pt=f=>f&&!f?.startsWith("/")?H.join(Q,f):f;var Cn={exports:{}};var iv=Cn.exports,Lo;function sv(){return Lo||(Lo=1,(function(f,s){(function(){var r,l="4.17.21",d=200,w="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",I="Expected a function",R="Invalid `variable` option passed into `_.template`",$="__lodash_hash_undefined__",q=500,Z="__lodash_placeholder__",K=1,Ye=2,V=4,W=1,Pe=2,xe=1,Je=2,Tn=4,Le=8,bt=16,Ie=32,Ee=64,rt=128,nn=256,Ir=512,jo=30,Yo="...",Jo=800,Zo=16,Zi=1,Xo=2,Qo=3,Ct=1/0,gt=9007199254740991,eu=17976931348623157e292,Rn=NaN,Ze=4294967295,tu=Ze-1,nu=Ze>>>1,ru=[["ary",rt],["bind",xe],["bindKey",Je],["curry",Le],["curryRight",bt],["flip",Ir],["partial",Ie],["partialRight",Ee],["rearg",nn]],Mt="[object Arguments]",Fn="[object Array]",iu="[object AsyncFunction]",rn="[object Boolean]",sn="[object Date]",su="[object DOMException]",Pn="[object Error]",Ln="[object Function]",Xi="[object GeneratorFunction]",Ge="[object Map]",an="[object Number]",au="[object Null]",it="[object Object]",Qi="[object Promise]",ou="[object Proxy]",on="[object RegExp]",qe="[object Set]",un="[object String]",On="[object Symbol]",uu="[object Undefined]",ln="[object WeakMap]",lu="[object WeakSet]",cn="[object ArrayBuffer]",Wt="[object DataView]",Er="[object Float32Array]",Ar="[object Float64Array]",br="[object Int8Array]",Cr="[object Int16Array]",Tr="[object Int32Array]",Rr="[object Uint8Array]",Fr="[object Uint8ClampedArray]",Pr="[object Uint16Array]",Lr="[object Uint32Array]",cu=/\b__p \+= '';/g,fu=/\b(__p \+=) '' \+/g,du=/(__e\(.*?\)|\b__t\)) \+\n'';/g,es=/&(?:amp|lt|gt|quot|#39);/g,ts=/[&<>"']/g,hu=RegExp(es.source),pu=RegExp(ts.source),gu=/<%-([\s\S]+?)%>/g,vu=/<%([\s\S]+?)%>/g,ns=/<%=([\s\S]+?)%>/g,mu=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,yu=/^\w*$/,_u=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Or=/[\\^$.*+?()[\]{}|]/g,wu=RegExp(Or.source),Nr=/^\s+/,Su=/\s/,xu=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Iu=/\{\n\/\* \[wrapped with (.+)\] \*/,Eu=/,? & /,Au=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,bu=/[()=,{}\[\]\/\s]/,Cu=/\\(\\)?/g,Tu=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,rs=/\w*$/,Ru=/^[-+]0x[0-9a-f]+$/i,Fu=/^0b[01]+$/i,Pu=/^\[object .+?Constructor\]$/,Lu=/^0o[0-7]+$/i,Ou=/^(?:0|[1-9]\d*)$/,Nu=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Nn=/($^)/,$u=/['\n\r\u2028\u2029\\]/g,$n="\\ud800-\\udfff",Uu="\\u0300-\\u036f",Du="\\ufe20-\\ufe2f",Mu="\\u20d0-\\u20ff",is=Uu+Du+Mu,ss="\\u2700-\\u27bf",as="a-z\\xdf-\\xf6\\xf8-\\xff",Wu="\\xac\\xb1\\xd7\\xf7",Bu="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",ku="\\u2000-\\u206f",Vu=" \\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",os="A-Z\\xc0-\\xd6\\xd8-\\xde",us="\\ufe0e\\ufe0f",ls=Wu+Bu+ku+Vu,$r="['’]",Gu="["+$n+"]",cs="["+ls+"]",Un="["+is+"]",fs="\\d+",qu="["+ss+"]",ds="["+as+"]",hs="[^"+$n+ls+fs+ss+as+os+"]",Ur="\\ud83c[\\udffb-\\udfff]",Hu="(?:"+Un+"|"+Ur+")",ps="[^"+$n+"]",Dr="(?:\\ud83c[\\udde6-\\uddff]){2}",Mr="[\\ud800-\\udbff][\\udc00-\\udfff]",Bt="["+os+"]",gs="\\u200d",vs="(?:"+ds+"|"+hs+")",zu="(?:"+Bt+"|"+hs+")",ms="(?:"+$r+"(?:d|ll|m|re|s|t|ve))?",ys="(?:"+$r+"(?:D|LL|M|RE|S|T|VE))?",_s=Hu+"?",ws="["+us+"]?",Ku="(?:"+gs+"(?:"+[ps,Dr,Mr].join("|")+")"+ws+_s+")*",ju="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Yu="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Ss=ws+_s+Ku,Ju="(?:"+[qu,Dr,Mr].join("|")+")"+Ss,Zu="(?:"+[ps+Un+"?",Un,Dr,Mr,Gu].join("|")+")",Xu=RegExp($r,"g"),Qu=RegExp(Un,"g"),Wr=RegExp(Ur+"(?="+Ur+")|"+Zu+Ss,"g"),el=RegExp([Bt+"?"+ds+"+"+ms+"(?="+[cs,Bt,"$"].join("|")+")",zu+"+"+ys+"(?="+[cs,Bt+vs,"$"].join("|")+")",Bt+"?"+vs+"+"+ms,Bt+"+"+ys,Yu,ju,fs,Ju].join("|"),"g"),tl=RegExp("["+gs+$n+is+us+"]"),nl=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,rl=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],il=-1,ee={};ee[Er]=ee[Ar]=ee[br]=ee[Cr]=ee[Tr]=ee[Rr]=ee[Fr]=ee[Pr]=ee[Lr]=!0,ee[Mt]=ee[Fn]=ee[cn]=ee[rn]=ee[Wt]=ee[sn]=ee[Pn]=ee[Ln]=ee[Ge]=ee[an]=ee[it]=ee[on]=ee[qe]=ee[un]=ee[ln]=!1;var X={};X[Mt]=X[Fn]=X[cn]=X[Wt]=X[rn]=X[sn]=X[Er]=X[Ar]=X[br]=X[Cr]=X[Tr]=X[Ge]=X[an]=X[it]=X[on]=X[qe]=X[un]=X[On]=X[Rr]=X[Fr]=X[Pr]=X[Lr]=!0,X[Pn]=X[Ln]=X[ln]=!1;var sl={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},al={"&":"&","<":"<",">":">",'"':""","'":"'"},ol={"&":"&","<":"<",">":">",""":'"',"'":"'"},ul={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},ll=parseFloat,cl=parseInt,xs=typeof v.commonjsGlobal=="object"&&v.commonjsGlobal&&v.commonjsGlobal.Object===Object&&v.commonjsGlobal,fl=typeof self=="object"&&self&&self.Object===Object&&self,fe=xs||fl||Function("return this")(),Br=s&&!s.nodeType&&s,Tt=Br&&!0&&f&&!f.nodeType&&f,Is=Tt&&Tt.exports===Br,kr=Is&&xs.process,Oe=(function(){try{var p=Tt&&Tt.require&&Tt.require("util").types;return p||kr&&kr.binding&&kr.binding("util")}catch{}})(),Es=Oe&&Oe.isArrayBuffer,As=Oe&&Oe.isDate,bs=Oe&&Oe.isMap,Cs=Oe&&Oe.isRegExp,Ts=Oe&&Oe.isSet,Rs=Oe&&Oe.isTypedArray;function Ae(p,_,m){switch(m.length){case 0:return p.call(_);case 1:return p.call(_,m[0]);case 2:return p.call(_,m[0],m[1]);case 3:return p.call(_,m[0],m[1],m[2])}return p.apply(_,m)}function dl(p,_,m,b){for(var O=-1,z=p==null?0:p.length;++O<z;){var oe=p[O];_(b,oe,m(oe),p)}return b}function Ne(p,_){for(var m=-1,b=p==null?0:p.length;++m<b&&_(p[m],m,p)!==!1;);return p}function hl(p,_){for(var m=p==null?0:p.length;m--&&_(p[m],m,p)!==!1;);return p}function Fs(p,_){for(var m=-1,b=p==null?0:p.length;++m<b;)if(!_(p[m],m,p))return!1;return!0}function vt(p,_){for(var m=-1,b=p==null?0:p.length,O=0,z=[];++m<b;){var oe=p[m];_(oe,m,p)&&(z[O++]=oe)}return z}function Dn(p,_){var m=p==null?0:p.length;return!!m&&kt(p,_,0)>-1}function Vr(p,_,m){for(var b=-1,O=p==null?0:p.length;++b<O;)if(m(_,p[b]))return!0;return!1}function ne(p,_){for(var m=-1,b=p==null?0:p.length,O=Array(b);++m<b;)O[m]=_(p[m],m,p);return O}function mt(p,_){for(var m=-1,b=_.length,O=p.length;++m<b;)p[O+m]=_[m];return p}function Gr(p,_,m,b){var O=-1,z=p==null?0:p.length;for(b&&z&&(m=p[++O]);++O<z;)m=_(m,p[O],O,p);return m}function pl(p,_,m,b){var O=p==null?0:p.length;for(b&&O&&(m=p[--O]);O--;)m=_(m,p[O],O,p);return m}function qr(p,_){for(var m=-1,b=p==null?0:p.length;++m<b;)if(_(p[m],m,p))return!0;return!1}var gl=Hr("length");function vl(p){return p.split("")}function ml(p){return p.match(Au)||[]}function Ps(p,_,m){var b;return m(p,function(O,z,oe){if(_(O,z,oe))return b=z,!1}),b}function Mn(p,_,m,b){for(var O=p.length,z=m+(b?1:-1);b?z--:++z<O;)if(_(p[z],z,p))return z;return-1}function kt(p,_,m){return _===_?Rl(p,_,m):Mn(p,Ls,m)}function yl(p,_,m,b){for(var O=m-1,z=p.length;++O<z;)if(b(p[O],_))return O;return-1}function Ls(p){return p!==p}function Os(p,_){var m=p==null?0:p.length;return m?Kr(p,_)/m:Rn}function Hr(p){return function(_){return _==null?r:_[p]}}function zr(p){return function(_){return p==null?r:p[_]}}function Ns(p,_,m,b,O){return O(p,function(z,oe,J){m=b?(b=!1,z):_(m,z,oe,J)}),m}function _l(p,_){var m=p.length;for(p.sort(_);m--;)p[m]=p[m].value;return p}function Kr(p,_){for(var m,b=-1,O=p.length;++b<O;){var z=_(p[b]);z!==r&&(m=m===r?z:m+z)}return m}function jr(p,_){for(var m=-1,b=Array(p);++m<p;)b[m]=_(m);return b}function wl(p,_){return ne(_,function(m){return[m,p[m]]})}function $s(p){return p&&p.slice(0,Ws(p)+1).replace(Nr,"")}function be(p){return function(_){return p(_)}}function Yr(p,_){return ne(_,function(m){return p[m]})}function fn(p,_){return p.has(_)}function Us(p,_){for(var m=-1,b=p.length;++m<b&&kt(_,p[m],0)>-1;);return m}function Ds(p,_){for(var m=p.length;m--&&kt(_,p[m],0)>-1;);return m}function Sl(p,_){for(var m=p.length,b=0;m--;)p[m]===_&&++b;return b}var xl=zr(sl),Il=zr(al);function El(p){return"\\"+ul[p]}function Al(p,_){return p==null?r:p[_]}function Vt(p){return tl.test(p)}function bl(p){return nl.test(p)}function Cl(p){for(var _,m=[];!(_=p.next()).done;)m.push(_.value);return m}function Jr(p){var _=-1,m=Array(p.size);return p.forEach(function(b,O){m[++_]=[O,b]}),m}function Ms(p,_){return function(m){return p(_(m))}}function yt(p,_){for(var m=-1,b=p.length,O=0,z=[];++m<b;){var oe=p[m];(oe===_||oe===Z)&&(p[m]=Z,z[O++]=m)}return z}function Wn(p){var _=-1,m=Array(p.size);return p.forEach(function(b){m[++_]=b}),m}function Tl(p){var _=-1,m=Array(p.size);return p.forEach(function(b){m[++_]=[b,b]}),m}function Rl(p,_,m){for(var b=m-1,O=p.length;++b<O;)if(p[b]===_)return b;return-1}function Fl(p,_,m){for(var b=m+1;b--;)if(p[b]===_)return b;return b}function Gt(p){return Vt(p)?Ll(p):gl(p)}function He(p){return Vt(p)?Ol(p):vl(p)}function Ws(p){for(var _=p.length;_--&&Su.test(p.charAt(_)););return _}var Pl=zr(ol);function Ll(p){for(var _=Wr.lastIndex=0;Wr.test(p);)++_;return _}function Ol(p){return p.match(Wr)||[]}function Nl(p){return p.match(el)||[]}var $l=(function p(_){_=_==null?fe:qt.defaults(fe.Object(),_,qt.pick(fe,rl));var m=_.Array,b=_.Date,O=_.Error,z=_.Function,oe=_.Math,J=_.Object,Zr=_.RegExp,Ul=_.String,$e=_.TypeError,Bn=m.prototype,Dl=z.prototype,Ht=J.prototype,kn=_["__core-js_shared__"],Vn=Dl.toString,Y=Ht.hasOwnProperty,Ml=0,Bs=(function(){var e=/[^.]+$/.exec(kn&&kn.keys&&kn.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""})(),Gn=Ht.toString,Wl=Vn.call(J),Bl=fe._,kl=Zr("^"+Vn.call(Y).replace(Or,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),qn=Is?_.Buffer:r,_t=_.Symbol,Hn=_.Uint8Array,ks=qn?qn.allocUnsafe:r,zn=Ms(J.getPrototypeOf,J),Vs=J.create,Gs=Ht.propertyIsEnumerable,Kn=Bn.splice,qs=_t?_t.isConcatSpreadable:r,dn=_t?_t.iterator:r,Rt=_t?_t.toStringTag:r,jn=(function(){try{var e=Nt(J,"defineProperty");return e({},"",{}),e}catch{}})(),Vl=_.clearTimeout!==fe.clearTimeout&&_.clearTimeout,Gl=b&&b.now!==fe.Date.now&&b.now,ql=_.setTimeout!==fe.setTimeout&&_.setTimeout,Yn=oe.ceil,Jn=oe.floor,Xr=J.getOwnPropertySymbols,Hl=qn?qn.isBuffer:r,Hs=_.isFinite,zl=Bn.join,Kl=Ms(J.keys,J),ue=oe.max,he=oe.min,jl=b.now,Yl=_.parseInt,zs=oe.random,Jl=Bn.reverse,Qr=Nt(_,"DataView"),hn=Nt(_,"Map"),ei=Nt(_,"Promise"),zt=Nt(_,"Set"),pn=Nt(_,"WeakMap"),gn=Nt(J,"create"),Zn=pn&&new pn,Kt={},Zl=$t(Qr),Xl=$t(hn),Ql=$t(ei),ec=$t(zt),tc=$t(pn),Xn=_t?_t.prototype:r,vn=Xn?Xn.valueOf:r,Ks=Xn?Xn.toString:r;function o(e){if(ie(e)&&!N(e)&&!(e instanceof k)){if(e instanceof Ue)return e;if(Y.call(e,"__wrapped__"))return ja(e)}return new Ue(e)}var jt=(function(){function e(){}return function(t){if(!re(t))return{};if(Vs)return Vs(t);e.prototype=t;var n=new e;return e.prototype=r,n}})();function Qn(){}function Ue(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=r}o.templateSettings={escape:gu,evaluate:vu,interpolate:ns,variable:"",imports:{_:o}},o.prototype=Qn.prototype,o.prototype.constructor=o,Ue.prototype=jt(Qn.prototype),Ue.prototype.constructor=Ue;function k(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Ze,this.__views__=[]}function nc(){var e=new k(this.__wrapped__);return e.__actions__=ye(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=ye(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=ye(this.__views__),e}function rc(){if(this.__filtered__){var e=new k(this);e.__dir__=-1,e.__filtered__=!0}else e=this.clone(),e.__dir__*=-1;return e}function ic(){var e=this.__wrapped__.value(),t=this.__dir__,n=N(e),i=t<0,a=n?e.length:0,u=mf(0,a,this.__views__),c=u.start,h=u.end,g=h-c,S=i?h:c-1,x=this.__iteratees__,E=x.length,A=0,T=he(g,this.__takeCount__);if(!n||!i&&a==g&&T==g)return ma(e,this.__actions__);var P=[];e:for(;g--&&A<T;){S+=t;for(var D=-1,L=e[S];++D<E;){var B=x[D],G=B.iteratee,Re=B.type,me=G(L);if(Re==Xo)L=me;else if(!me){if(Re==Zi)continue e;break e}}P[A++]=L}return P}k.prototype=jt(Qn.prototype),k.prototype.constructor=k;function Ft(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}function sc(){this.__data__=gn?gn(null):{},this.size=0}function ac(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}function oc(e){var t=this.__data__;if(gn){var n=t[e];return n===$?r:n}return Y.call(t,e)?t[e]:r}function uc(e){var t=this.__data__;return gn?t[e]!==r:Y.call(t,e)}function lc(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=gn&&t===r?$:t,this}Ft.prototype.clear=sc,Ft.prototype.delete=ac,Ft.prototype.get=oc,Ft.prototype.has=uc,Ft.prototype.set=lc;function st(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}function cc(){this.__data__=[],this.size=0}function fc(e){var t=this.__data__,n=er(t,e);if(n<0)return!1;var i=t.length-1;return n==i?t.pop():Kn.call(t,n,1),--this.size,!0}function dc(e){var t=this.__data__,n=er(t,e);return n<0?r:t[n][1]}function hc(e){return er(this.__data__,e)>-1}function pc(e,t){var n=this.__data__,i=er(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this}st.prototype.clear=cc,st.prototype.delete=fc,st.prototype.get=dc,st.prototype.has=hc,st.prototype.set=pc;function at(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}function gc(){this.size=0,this.__data__={hash:new Ft,map:new(hn||st),string:new Ft}}function vc(e){var t=dr(this,e).delete(e);return this.size-=t?1:0,t}function mc(e){return dr(this,e).get(e)}function yc(e){return dr(this,e).has(e)}function _c(e,t){var n=dr(this,e),i=n.size;return n.set(e,t),this.size+=n.size==i?0:1,this}at.prototype.clear=gc,at.prototype.delete=vc,at.prototype.get=mc,at.prototype.has=yc,at.prototype.set=_c;function Pt(e){var t=-1,n=e==null?0:e.length;for(this.__data__=new at;++t<n;)this.add(e[t])}function wc(e){return this.__data__.set(e,$),this}function Sc(e){return this.__data__.has(e)}Pt.prototype.add=Pt.prototype.push=wc,Pt.prototype.has=Sc;function ze(e){var t=this.__data__=new st(e);this.size=t.size}function xc(){this.__data__=new st,this.size=0}function Ic(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function Ec(e){return this.__data__.get(e)}function Ac(e){return this.__data__.has(e)}function bc(e,t){var n=this.__data__;if(n instanceof st){var i=n.__data__;if(!hn||i.length<d-1)return i.push([e,t]),this.size=++n.size,this;n=this.__data__=new at(i)}return n.set(e,t),this.size=n.size,this}ze.prototype.clear=xc,ze.prototype.delete=Ic,ze.prototype.get=Ec,ze.prototype.has=Ac,ze.prototype.set=bc;function js(e,t){var n=N(e),i=!n&&Ut(e),a=!n&&!i&&Et(e),u=!n&&!i&&!a&&Xt(e),c=n||i||a||u,h=c?jr(e.length,Ul):[],g=h.length;for(var S in e)(t||Y.call(e,S))&&!(c&&(S=="length"||a&&(S=="offset"||S=="parent")||u&&(S=="buffer"||S=="byteLength"||S=="byteOffset")||ct(S,g)))&&h.push(S);return h}function Ys(e){var t=e.length;return t?e[fi(0,t-1)]:r}function Cc(e,t){return hr(ye(e),Lt(t,0,e.length))}function Tc(e){return hr(ye(e))}function ti(e,t,n){(n!==r&&!Ke(e[t],n)||n===r&&!(t in e))&&ot(e,t,n)}function mn(e,t,n){var i=e[t];(!(Y.call(e,t)&&Ke(i,n))||n===r&&!(t in e))&&ot(e,t,n)}function er(e,t){for(var n=e.length;n--;)if(Ke(e[n][0],t))return n;return-1}function Rc(e,t,n,i){return wt(e,function(a,u,c){t(i,a,n(a),c)}),i}function Js(e,t){return e&&Qe(t,le(t),e)}function Fc(e,t){return e&&Qe(t,we(t),e)}function ot(e,t,n){t=="__proto__"&&jn?jn(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function ni(e,t){for(var n=-1,i=t.length,a=m(i),u=e==null;++n<i;)a[n]=u?r:Ui(e,t[n]);return a}function Lt(e,t,n){return e===e&&(n!==r&&(e=e<=n?e:n),t!==r&&(e=e>=t?e:t)),e}function De(e,t,n,i,a,u){var c,h=t&K,g=t&Ye,S=t&V;if(n&&(c=a?n(e,i,a,u):n(e)),c!==r)return c;if(!re(e))return e;var x=N(e);if(x){if(c=_f(e),!h)return ye(e,c)}else{var E=pe(e),A=E==Ln||E==Xi;if(Et(e))return wa(e,h);if(E==it||E==Mt||A&&!a){if(c=g||A?{}:Wa(e),!h)return g?uf(e,Fc(c,e)):of(e,Js(c,e))}else{if(!X[E])return a?e:{};c=wf(e,E,h)}}u||(u=new ze);var T=u.get(e);if(T)return T;u.set(e,c),go(e)?e.forEach(function(L){c.add(De(L,t,n,L,e,u))}):ho(e)&&e.forEach(function(L,B){c.set(B,De(L,t,n,B,e,u))});var P=S?g?xi:Si:g?we:le,D=x?r:P(e);return Ne(D||e,function(L,B){D&&(B=L,L=e[B]),mn(c,B,De(L,t,n,B,e,u))}),c}function Pc(e){var t=le(e);return function(n){return Zs(n,e,t)}}function Zs(e,t,n){var i=n.length;if(e==null)return!i;for(e=J(e);i--;){var a=n[i],u=t[a],c=e[a];if(c===r&&!(a in e)||!u(c))return!1}return!0}function Xs(e,t,n){if(typeof e!="function")throw new $e(I);return En(function(){e.apply(r,n)},t)}function yn(e,t,n,i){var a=-1,u=Dn,c=!0,h=e.length,g=[],S=t.length;if(!h)return g;n&&(t=ne(t,be(n))),i?(u=Vr,c=!1):t.length>=d&&(u=fn,c=!1,t=new Pt(t));e:for(;++a<h;){var x=e[a],E=n==null?x:n(x);if(x=i||x!==0?x:0,c&&E===E){for(var A=S;A--;)if(t[A]===E)continue e;g.push(x)}else u(t,E,i)||g.push(x)}return g}var wt=Aa(Xe),Qs=Aa(ii,!0);function Lc(e,t){var n=!0;return wt(e,function(i,a,u){return n=!!t(i,a,u),n}),n}function tr(e,t,n){for(var i=-1,a=e.length;++i<a;){var u=e[i],c=t(u);if(c!=null&&(h===r?c===c&&!Te(c):n(c,h)))var h=c,g=u}return g}function Oc(e,t,n,i){var a=e.length;for(n=U(n),n<0&&(n=-n>a?0:a+n),i=i===r||i>a?a:U(i),i<0&&(i+=a),i=n>i?0:mo(i);n<i;)e[n++]=t;return e}function ea(e,t){var n=[];return wt(e,function(i,a,u){t(i,a,u)&&n.push(i)}),n}function de(e,t,n,i,a){var u=-1,c=e.length;for(n||(n=xf),a||(a=[]);++u<c;){var h=e[u];t>0&&n(h)?t>1?de(h,t-1,n,i,a):mt(a,h):i||(a[a.length]=h)}return a}var ri=ba(),ta=ba(!0);function Xe(e,t){return e&&ri(e,t,le)}function ii(e,t){return e&&ta(e,t,le)}function nr(e,t){return vt(t,function(n){return ft(e[n])})}function Ot(e,t){t=xt(t,e);for(var n=0,i=t.length;e!=null&&n<i;)e=e[et(t[n++])];return n&&n==i?e:r}function na(e,t,n){var i=t(e);return N(e)?i:mt(i,n(e))}function ge(e){return e==null?e===r?uu:au:Rt&&Rt in J(e)?vf(e):Rf(e)}function si(e,t){return e>t}function Nc(e,t){return e!=null&&Y.call(e,t)}function $c(e,t){return e!=null&&t in J(e)}function Uc(e,t,n){return e>=he(t,n)&&e<ue(t,n)}function ai(e,t,n){for(var i=n?Vr:Dn,a=e[0].length,u=e.length,c=u,h=m(u),g=1/0,S=[];c--;){var x=e[c];c&&t&&(x=ne(x,be(t))),g=he(x.length,g),h[c]=!n&&(t||a>=120&&x.length>=120)?new Pt(c&&x):r}x=e[0];var E=-1,A=h[0];e:for(;++E<a&&S.length<g;){var T=x[E],P=t?t(T):T;if(T=n||T!==0?T:0,!(A?fn(A,P):i(S,P,n))){for(c=u;--c;){var D=h[c];if(!(D?fn(D,P):i(e[c],P,n)))continue e}A&&A.push(P),S.push(T)}}return S}function Dc(e,t,n,i){return Xe(e,function(a,u,c){t(i,n(a),u,c)}),i}function _n(e,t,n){t=xt(t,e),e=Ga(e,t);var i=e==null?e:e[et(We(t))];return i==null?r:Ae(i,e,n)}function ra(e){return ie(e)&&ge(e)==Mt}function Mc(e){return ie(e)&&ge(e)==cn}function Wc(e){return ie(e)&&ge(e)==sn}function wn(e,t,n,i,a){return e===t?!0:e==null||t==null||!ie(e)&&!ie(t)?e!==e&&t!==t:Bc(e,t,n,i,wn,a)}function Bc(e,t,n,i,a,u){var c=N(e),h=N(t),g=c?Fn:pe(e),S=h?Fn:pe(t);g=g==Mt?it:g,S=S==Mt?it:S;var x=g==it,E=S==it,A=g==S;if(A&&Et(e)){if(!Et(t))return!1;c=!0,x=!1}if(A&&!x)return u||(u=new ze),c||Xt(e)?Ua(e,t,n,i,a,u):pf(e,t,g,n,i,a,u);if(!(n&W)){var T=x&&Y.call(e,"__wrapped__"),P=E&&Y.call(t,"__wrapped__");if(T||P){var D=T?e.value():e,L=P?t.value():t;return u||(u=new ze),a(D,L,n,i,u)}}return A?(u||(u=new ze),gf(e,t,n,i,a,u)):!1}function kc(e){return ie(e)&&pe(e)==Ge}function oi(e,t,n,i){var a=n.length,u=a,c=!i;if(e==null)return!u;for(e=J(e);a--;){var h=n[a];if(c&&h[2]?h[1]!==e[h[0]]:!(h[0]in e))return!1}for(;++a<u;){h=n[a];var g=h[0],S=e[g],x=h[1];if(c&&h[2]){if(S===r&&!(g in e))return!1}else{var E=new ze;if(i)var A=i(S,x,g,e,t,E);if(!(A===r?wn(x,S,W|Pe,i,E):A))return!1}}return!0}function ia(e){if(!re(e)||Ef(e))return!1;var t=ft(e)?kl:Pu;return t.test($t(e))}function Vc(e){return ie(e)&&ge(e)==on}function Gc(e){return ie(e)&&pe(e)==qe}function qc(e){return ie(e)&&_r(e.length)&&!!ee[ge(e)]}function sa(e){return typeof e=="function"?e:e==null?Se:typeof e=="object"?N(e)?ua(e[0],e[1]):oa(e):To(e)}function ui(e){if(!In(e))return Kl(e);var t=[];for(var n in J(e))Y.call(e,n)&&n!="constructor"&&t.push(n);return t}function Hc(e){if(!re(e))return Tf(e);var t=In(e),n=[];for(var i in e)i=="constructor"&&(t||!Y.call(e,i))||n.push(i);return n}function li(e,t){return e<t}function aa(e,t){var n=-1,i=_e(e)?m(e.length):[];return wt(e,function(a,u,c){i[++n]=t(a,u,c)}),i}function oa(e){var t=Ei(e);return t.length==1&&t[0][2]?ka(t[0][0],t[0][1]):function(n){return n===e||oi(n,e,t)}}function ua(e,t){return bi(e)&&Ba(t)?ka(et(e),t):function(n){var i=Ui(n,e);return i===r&&i===t?Di(n,e):wn(t,i,W|Pe)}}function rr(e,t,n,i,a){e!==t&&ri(t,function(u,c){if(a||(a=new ze),re(u))zc(e,t,c,n,rr,i,a);else{var h=i?i(Ti(e,c),u,c+"",e,t,a):r;h===r&&(h=u),ti(e,c,h)}},we)}function zc(e,t,n,i,a,u,c){var h=Ti(e,n),g=Ti(t,n),S=c.get(g);if(S){ti(e,n,S);return}var x=u?u(h,g,n+"",e,t,c):r,E=x===r;if(E){var A=N(g),T=!A&&Et(g),P=!A&&!T&&Xt(g);x=g,A||T||P?N(h)?x=h:se(h)?x=ye(h):T?(E=!1,x=wa(g,!0)):P?(E=!1,x=Sa(g,!0)):x=[]:An(g)||Ut(g)?(x=h,Ut(h)?x=yo(h):(!re(h)||ft(h))&&(x=Wa(g))):E=!1}E&&(c.set(g,x),a(x,g,i,u,c),c.delete(g)),ti(e,n,x)}function la(e,t){var n=e.length;if(n)return t+=t<0?n:0,ct(t,n)?e[t]:r}function ca(e,t,n){t.length?t=ne(t,function(u){return N(u)?function(c){return Ot(c,u.length===1?u[0]:u)}:u}):t=[Se];var i=-1;t=ne(t,be(F()));var a=aa(e,function(u,c,h){var g=ne(t,function(S){return S(u)});return{criteria:g,index:++i,value:u}});return _l(a,function(u,c){return af(u,c,n)})}function Kc(e,t){return fa(e,t,function(n,i){return Di(e,i)})}function fa(e,t,n){for(var i=-1,a=t.length,u={};++i<a;){var c=t[i],h=Ot(e,c);n(h,c)&&Sn(u,xt(c,e),h)}return u}function jc(e){return function(t){return Ot(t,e)}}function ci(e,t,n,i){var a=i?yl:kt,u=-1,c=t.length,h=e;for(e===t&&(t=ye(t)),n&&(h=ne(e,be(n)));++u<c;)for(var g=0,S=t[u],x=n?n(S):S;(g=a(h,x,g,i))>-1;)h!==e&&Kn.call(h,g,1),Kn.call(e,g,1);return e}function da(e,t){for(var n=e?t.length:0,i=n-1;n--;){var a=t[n];if(n==i||a!==u){var u=a;ct(a)?Kn.call(e,a,1):pi(e,a)}}return e}function fi(e,t){return e+Jn(zs()*(t-e+1))}function Yc(e,t,n,i){for(var a=-1,u=ue(Yn((t-e)/(n||1)),0),c=m(u);u--;)c[i?u:++a]=e,e+=n;return c}function di(e,t){var n="";if(!e||t<1||t>gt)return n;do t%2&&(n+=e),t=Jn(t/2),t&&(e+=e);while(t);return n}function M(e,t){return Ri(Va(e,t,Se),e+"")}function Jc(e){return Ys(Qt(e))}function Zc(e,t){var n=Qt(e);return hr(n,Lt(t,0,n.length))}function Sn(e,t,n,i){if(!re(e))return e;t=xt(t,e);for(var a=-1,u=t.length,c=u-1,h=e;h!=null&&++a<u;){var g=et(t[a]),S=n;if(g==="__proto__"||g==="constructor"||g==="prototype")return e;if(a!=c){var x=h[g];S=i?i(x,g,h):r,S===r&&(S=re(x)?x:ct(t[a+1])?[]:{})}mn(h,g,S),h=h[g]}return e}var ha=Zn?function(e,t){return Zn.set(e,t),e}:Se,Xc=jn?function(e,t){return jn(e,"toString",{configurable:!0,enumerable:!1,value:Wi(t),writable:!0})}:Se;function Qc(e){return hr(Qt(e))}function Me(e,t,n){var i=-1,a=e.length;t<0&&(t=-t>a?0:a+t),n=n>a?a:n,n<0&&(n+=a),a=t>n?0:n-t>>>0,t>>>=0;for(var u=m(a);++i<a;)u[i]=e[i+t];return u}function ef(e,t){var n;return wt(e,function(i,a,u){return n=t(i,a,u),!n}),!!n}function ir(e,t,n){var i=0,a=e==null?i:e.length;if(typeof t=="number"&&t===t&&a<=nu){for(;i<a;){var u=i+a>>>1,c=e[u];c!==null&&!Te(c)&&(n?c<=t:c<t)?i=u+1:a=u}return a}return hi(e,t,Se,n)}function hi(e,t,n,i){var a=0,u=e==null?0:e.length;if(u===0)return 0;t=n(t);for(var c=t!==t,h=t===null,g=Te(t),S=t===r;a<u;){var x=Jn((a+u)/2),E=n(e[x]),A=E!==r,T=E===null,P=E===E,D=Te(E);if(c)var L=i||P;else S?L=P&&(i||A):h?L=P&&A&&(i||!T):g?L=P&&A&&!T&&(i||!D):T||D?L=!1:L=i?E<=t:E<t;L?a=x+1:u=x}return he(u,tu)}function pa(e,t){for(var n=-1,i=e.length,a=0,u=[];++n<i;){var c=e[n],h=t?t(c):c;if(!n||!Ke(h,g)){var g=h;u[a++]=c===0?0:c}}return u}function ga(e){return typeof e=="number"?e:Te(e)?Rn:+e}function Ce(e){if(typeof e=="string")return e;if(N(e))return ne(e,Ce)+"";if(Te(e))return Ks?Ks.call(e):"";var t=e+"";return t=="0"&&1/e==-Ct?"-0":t}function St(e,t,n){var i=-1,a=Dn,u=e.length,c=!0,h=[],g=h;if(n)c=!1,a=Vr;else if(u>=d){var S=t?null:df(e);if(S)return Wn(S);c=!1,a=fn,g=new Pt}else g=t?[]:h;e:for(;++i<u;){var x=e[i],E=t?t(x):x;if(x=n||x!==0?x:0,c&&E===E){for(var A=g.length;A--;)if(g[A]===E)continue e;t&&g.push(E),h.push(x)}else a(g,E,n)||(g!==h&&g.push(E),h.push(x))}return h}function pi(e,t){return t=xt(t,e),e=Ga(e,t),e==null||delete e[et(We(t))]}function va(e,t,n,i){return Sn(e,t,n(Ot(e,t)),i)}function sr(e,t,n,i){for(var a=e.length,u=i?a:-1;(i?u--:++u<a)&&t(e[u],u,e););return n?Me(e,i?0:u,i?u+1:a):Me(e,i?u+1:0,i?a:u)}function ma(e,t){var n=e;return n instanceof k&&(n=n.value()),Gr(t,function(i,a){return a.func.apply(a.thisArg,mt([i],a.args))},n)}function gi(e,t,n){var i=e.length;if(i<2)return i?St(e[0]):[];for(var a=-1,u=m(i);++a<i;)for(var c=e[a],h=-1;++h<i;)h!=a&&(u[a]=yn(u[a]||c,e[h],t,n));return St(de(u,1),t,n)}function ya(e,t,n){for(var i=-1,a=e.length,u=t.length,c={};++i<a;){var h=i<u?t[i]:r;n(c,e[i],h)}return c}function vi(e){return se(e)?e:[]}function mi(e){return typeof e=="function"?e:Se}function xt(e,t){return N(e)?e:bi(e,t)?[e]:Ka(j(e))}var tf=M;function It(e,t,n){var i=e.length;return n=n===r?i:n,!t&&n>=i?e:Me(e,t,n)}var _a=Vl||function(e){return fe.clearTimeout(e)};function wa(e,t){if(t)return e.slice();var n=e.length,i=ks?ks(n):new e.constructor(n);return e.copy(i),i}function yi(e){var t=new e.constructor(e.byteLength);return new Hn(t).set(new Hn(e)),t}function nf(e,t){var n=t?yi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}function rf(e){var t=new e.constructor(e.source,rs.exec(e));return t.lastIndex=e.lastIndex,t}function sf(e){return vn?J(vn.call(e)):{}}function Sa(e,t){var n=t?yi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function xa(e,t){if(e!==t){var n=e!==r,i=e===null,a=e===e,u=Te(e),c=t!==r,h=t===null,g=t===t,S=Te(t);if(!h&&!S&&!u&&e>t||u&&c&&g&&!h&&!S||i&&c&&g||!n&&g||!a)return 1;if(!i&&!u&&!S&&e<t||S&&n&&a&&!i&&!u||h&&n&&a||!c&&a||!g)return-1}return 0}function af(e,t,n){for(var i=-1,a=e.criteria,u=t.criteria,c=a.length,h=n.length;++i<c;){var g=xa(a[i],u[i]);if(g){if(i>=h)return g;var S=n[i];return g*(S=="desc"?-1:1)}}return e.index-t.index}function Ia(e,t,n,i){for(var a=-1,u=e.length,c=n.length,h=-1,g=t.length,S=ue(u-c,0),x=m(g+S),E=!i;++h<g;)x[h]=t[h];for(;++a<c;)(E||a<u)&&(x[n[a]]=e[a]);for(;S--;)x[h++]=e[a++];return x}function Ea(e,t,n,i){for(var a=-1,u=e.length,c=-1,h=n.length,g=-1,S=t.length,x=ue(u-h,0),E=m(x+S),A=!i;++a<x;)E[a]=e[a];for(var T=a;++g<S;)E[T+g]=t[g];for(;++c<h;)(A||a<u)&&(E[T+n[c]]=e[a++]);return E}function ye(e,t){var n=-1,i=e.length;for(t||(t=m(i));++n<i;)t[n]=e[n];return t}function Qe(e,t,n,i){var a=!n;n||(n={});for(var u=-1,c=t.length;++u<c;){var h=t[u],g=i?i(n[h],e[h],h,n,e):r;g===r&&(g=e[h]),a?ot(n,h,g):mn(n,h,g)}return n}function of(e,t){return Qe(e,Ai(e),t)}function uf(e,t){return Qe(e,Da(e),t)}function ar(e,t){return function(n,i){var a=N(n)?dl:Rc,u=t?t():{};return a(n,e,F(i,2),u)}}function Yt(e){return M(function(t,n){var i=-1,a=n.length,u=a>1?n[a-1]:r,c=a>2?n[2]:r;for(u=e.length>3&&typeof u=="function"?(a--,u):r,c&&ve(n[0],n[1],c)&&(u=a<3?r:u,a=1),t=J(t);++i<a;){var h=n[i];h&&e(t,h,i,u)}return t})}function Aa(e,t){return function(n,i){if(n==null)return n;if(!_e(n))return e(n,i);for(var a=n.length,u=t?a:-1,c=J(n);(t?u--:++u<a)&&i(c[u],u,c)!==!1;);return n}}function ba(e){return function(t,n,i){for(var a=-1,u=J(t),c=i(t),h=c.length;h--;){var g=c[e?h:++a];if(n(u[g],g,u)===!1)break}return t}}function lf(e,t,n){var i=t&xe,a=xn(e);function u(){var c=this&&this!==fe&&this instanceof u?a:e;return c.apply(i?n:this,arguments)}return u}function Ca(e){return function(t){t=j(t);var n=Vt(t)?He(t):r,i=n?n[0]:t.charAt(0),a=n?It(n,1).join(""):t.slice(1);return i[e]()+a}}function Jt(e){return function(t){return Gr(bo(Ao(t).replace(Xu,"")),e,"")}}function xn(e){return function(){var t=arguments;switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3]);case 5:return new e(t[0],t[1],t[2],t[3],t[4]);case 6:return new e(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var n=jt(e.prototype),i=e.apply(n,t);return re(i)?i:n}}function cf(e,t,n){var i=xn(e);function a(){for(var u=arguments.length,c=m(u),h=u,g=Zt(a);h--;)c[h]=arguments[h];var S=u<3&&c[0]!==g&&c[u-1]!==g?[]:yt(c,g);if(u-=S.length,u<n)return La(e,t,or,a.placeholder,r,c,S,r,r,n-u);var x=this&&this!==fe&&this instanceof a?i:e;return Ae(x,this,c)}return a}function Ta(e){return function(t,n,i){var a=J(t);if(!_e(t)){var u=F(n,3);t=le(t),n=function(h){return u(a[h],h,a)}}var c=e(t,n,i);return c>-1?a[u?t[c]:c]:r}}function Ra(e){return lt(function(t){var n=t.length,i=n,a=Ue.prototype.thru;for(e&&t.reverse();i--;){var u=t[i];if(typeof u!="function")throw new $e(I);if(a&&!c&&fr(u)=="wrapper")var c=new Ue([],!0)}for(i=c?i:n;++i<n;){u=t[i];var h=fr(u),g=h=="wrapper"?Ii(u):r;g&&Ci(g[0])&&g[1]==(rt|Le|Ie|nn)&&!g[4].length&&g[9]==1?c=c[fr(g[0])].apply(c,g[3]):c=u.length==1&&Ci(u)?c[h]():c.thru(u)}return function(){var S=arguments,x=S[0];if(c&&S.length==1&&N(x))return c.plant(x).value();for(var E=0,A=n?t[E].apply(this,S):x;++E<n;)A=t[E].call(this,A);return A}})}function or(e,t,n,i,a,u,c,h,g,S){var x=t&rt,E=t&xe,A=t&Je,T=t&(Le|bt),P=t&Ir,D=A?r:xn(e);function L(){for(var B=arguments.length,G=m(B),Re=B;Re--;)G[Re]=arguments[Re];if(T)var me=Zt(L),Fe=Sl(G,me);if(i&&(G=Ia(G,i,a,T)),u&&(G=Ea(G,u,c,T)),B-=Fe,T&&B<S){var ae=yt(G,me);return La(e,t,or,L.placeholder,n,G,ae,h,g,S-B)}var je=E?n:this,ht=A?je[e]:e;return B=G.length,h?G=Ff(G,h):P&&B>1&&G.reverse(),x&&g<B&&(G.length=g),this&&this!==fe&&this instanceof L&&(ht=D||xn(ht)),ht.apply(je,G)}return L}function Fa(e,t){return function(n,i){return Dc(n,e,t(i),{})}}function ur(e,t){return function(n,i){var a;if(n===r&&i===r)return t;if(n!==r&&(a=n),i!==r){if(a===r)return i;typeof n=="string"||typeof i=="string"?(n=Ce(n),i=Ce(i)):(n=ga(n),i=ga(i)),a=e(n,i)}return a}}function _i(e){return lt(function(t){return t=ne(t,be(F())),M(function(n){var i=this;return e(t,function(a){return Ae(a,i,n)})})})}function lr(e,t){t=t===r?" ":Ce(t);var n=t.length;if(n<2)return n?di(t,e):t;var i=di(t,Yn(e/Gt(t)));return Vt(t)?It(He(i),0,e).join(""):i.slice(0,e)}function ff(e,t,n,i){var a=t&xe,u=xn(e);function c(){for(var h=-1,g=arguments.length,S=-1,x=i.length,E=m(x+g),A=this&&this!==fe&&this instanceof c?u:e;++S<x;)E[S]=i[S];for(;g--;)E[S++]=arguments[++h];return Ae(A,a?n:this,E)}return c}function Pa(e){return function(t,n,i){return i&&typeof i!="number"&&ve(t,n,i)&&(n=i=r),t=dt(t),n===r?(n=t,t=0):n=dt(n),i=i===r?t<n?1:-1:dt(i),Yc(t,n,i,e)}}function cr(e){return function(t,n){return typeof t=="string"&&typeof n=="string"||(t=Be(t),n=Be(n)),e(t,n)}}function La(e,t,n,i,a,u,c,h,g,S){var x=t&Le,E=x?c:r,A=x?r:c,T=x?u:r,P=x?r:u;t|=x?Ie:Ee,t&=~(x?Ee:Ie),t&Tn||(t&=-4);var D=[e,t,a,T,E,P,A,h,g,S],L=n.apply(r,D);return Ci(e)&&qa(L,D),L.placeholder=i,Ha(L,e,t)}function wi(e){var t=oe[e];return function(n,i){if(n=Be(n),i=i==null?0:he(U(i),292),i&&Hs(n)){var a=(j(n)+"e").split("e"),u=t(a[0]+"e"+(+a[1]+i));return a=(j(u)+"e").split("e"),+(a[0]+"e"+(+a[1]-i))}return t(n)}}var df=zt&&1/Wn(new zt([,-0]))[1]==Ct?function(e){return new zt(e)}:Vi;function Oa(e){return function(t){var n=pe(t);return n==Ge?Jr(t):n==qe?Tl(t):wl(t,e(t))}}function ut(e,t,n,i,a,u,c,h){var g=t&Je;if(!g&&typeof e!="function")throw new $e(I);var S=i?i.length:0;if(S||(t&=-97,i=a=r),c=c===r?c:ue(U(c),0),h=h===r?h:U(h),S-=a?a.length:0,t&Ee){var x=i,E=a;i=a=r}var A=g?r:Ii(e),T=[e,t,n,i,a,x,E,u,c,h];if(A&&Cf(T,A),e=T[0],t=T[1],n=T[2],i=T[3],a=T[4],h=T[9]=T[9]===r?g?0:e.length:ue(T[9]-S,0),!h&&t&(Le|bt)&&(t&=-25),!t||t==xe)var P=lf(e,t,n);else t==Le||t==bt?P=cf(e,t,h):(t==Ie||t==(xe|Ie))&&!a.length?P=ff(e,t,n,i):P=or.apply(r,T);var D=A?ha:qa;return Ha(D(P,T),e,t)}function Na(e,t,n,i){return e===r||Ke(e,Ht[n])&&!Y.call(i,n)?t:e}function $a(e,t,n,i,a,u){return re(e)&&re(t)&&(u.set(t,e),rr(e,t,r,$a,u),u.delete(t)),e}function hf(e){return An(e)?r:e}function Ua(e,t,n,i,a,u){var c=n&W,h=e.length,g=t.length;if(h!=g&&!(c&&g>h))return!1;var S=u.get(e),x=u.get(t);if(S&&x)return S==t&&x==e;var E=-1,A=!0,T=n&Pe?new Pt:r;for(u.set(e,t),u.set(t,e);++E<h;){var P=e[E],D=t[E];if(i)var L=c?i(D,P,E,t,e,u):i(P,D,E,e,t,u);if(L!==r){if(L)continue;A=!1;break}if(T){if(!qr(t,function(B,G){if(!fn(T,G)&&(P===B||a(P,B,n,i,u)))return T.push(G)})){A=!1;break}}else if(!(P===D||a(P,D,n,i,u))){A=!1;break}}return u.delete(e),u.delete(t),A}function pf(e,t,n,i,a,u,c){switch(n){case Wt:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case cn:return!(e.byteLength!=t.byteLength||!u(new Hn(e),new Hn(t)));case rn:case sn:case an:return Ke(+e,+t);case Pn:return e.name==t.name&&e.message==t.message;case on:case un:return e==t+"";case Ge:var h=Jr;case qe:var g=i&W;if(h||(h=Wn),e.size!=t.size&&!g)return!1;var S=c.get(e);if(S)return S==t;i|=Pe,c.set(e,t);var x=Ua(h(e),h(t),i,a,u,c);return c.delete(e),x;case On:if(vn)return vn.call(e)==vn.call(t)}return!1}function gf(e,t,n,i,a,u){var c=n&W,h=Si(e),g=h.length,S=Si(t),x=S.length;if(g!=x&&!c)return!1;for(var E=g;E--;){var A=h[E];if(!(c?A in t:Y.call(t,A)))return!1}var T=u.get(e),P=u.get(t);if(T&&P)return T==t&&P==e;var D=!0;u.set(e,t),u.set(t,e);for(var L=c;++E<g;){A=h[E];var B=e[A],G=t[A];if(i)var Re=c?i(G,B,A,t,e,u):i(B,G,A,e,t,u);if(!(Re===r?B===G||a(B,G,n,i,u):Re)){D=!1;break}L||(L=A=="constructor")}if(D&&!L){var me=e.constructor,Fe=t.constructor;me!=Fe&&"constructor"in e&&"constructor"in t&&!(typeof me=="function"&&me instanceof me&&typeof Fe=="function"&&Fe instanceof Fe)&&(D=!1)}return u.delete(e),u.delete(t),D}function lt(e){return Ri(Va(e,r,Za),e+"")}function Si(e){return na(e,le,Ai)}function xi(e){return na(e,we,Da)}var Ii=Zn?function(e){return Zn.get(e)}:Vi;function fr(e){for(var t=e.name+"",n=Kt[t],i=Y.call(Kt,t)?n.length:0;i--;){var a=n[i],u=a.func;if(u==null||u==e)return a.name}return t}function Zt(e){var t=Y.call(o,"placeholder")?o:e;return t.placeholder}function F(){var e=o.iteratee||Bi;return e=e===Bi?sa:e,arguments.length?e(arguments[0],arguments[1]):e}function dr(e,t){var n=e.__data__;return If(t)?n[typeof t=="string"?"string":"hash"]:n.map}function Ei(e){for(var t=le(e),n=t.length;n--;){var i=t[n],a=e[i];t[n]=[i,a,Ba(a)]}return t}function Nt(e,t){var n=Al(e,t);return ia(n)?n:r}function vf(e){var t=Y.call(e,Rt),n=e[Rt];try{e[Rt]=r;var i=!0}catch{}var a=Gn.call(e);return i&&(t?e[Rt]=n:delete e[Rt]),a}var Ai=Xr?function(e){return e==null?[]:(e=J(e),vt(Xr(e),function(t){return Gs.call(e,t)}))}:Gi,Da=Xr?function(e){for(var t=[];e;)mt(t,Ai(e)),e=zn(e);return t}:Gi,pe=ge;(Qr&&pe(new Qr(new ArrayBuffer(1)))!=Wt||hn&&pe(new hn)!=Ge||ei&&pe(ei.resolve())!=Qi||zt&&pe(new zt)!=qe||pn&&pe(new pn)!=ln)&&(pe=function(e){var t=ge(e),n=t==it?e.constructor:r,i=n?$t(n):"";if(i)switch(i){case Zl:return Wt;case Xl:return Ge;case Ql:return Qi;case ec:return qe;case tc:return ln}return t});function mf(e,t,n){for(var i=-1,a=n.length;++i<a;){var u=n[i],c=u.size;switch(u.type){case"drop":e+=c;break;case"dropRight":t-=c;break;case"take":t=he(t,e+c);break;case"takeRight":e=ue(e,t-c);break}}return{start:e,end:t}}function yf(e){var t=e.match(Iu);return t?t[1].split(Eu):[]}function Ma(e,t,n){t=xt(t,e);for(var i=-1,a=t.length,u=!1;++i<a;){var c=et(t[i]);if(!(u=e!=null&&n(e,c)))break;e=e[c]}return u||++i!=a?u:(a=e==null?0:e.length,!!a&&_r(a)&&ct(c,a)&&(N(e)||Ut(e)))}function _f(e){var t=e.length,n=new e.constructor(t);return t&&typeof e[0]=="string"&&Y.call(e,"index")&&(n.index=e.index,n.input=e.input),n}function Wa(e){return typeof e.constructor=="function"&&!In(e)?jt(zn(e)):{}}function wf(e,t,n){var i=e.constructor;switch(t){case cn:return yi(e);case rn:case sn:return new i(+e);case Wt:return nf(e,n);case Er:case Ar:case br:case Cr:case Tr:case Rr:case Fr:case Pr:case Lr:return Sa(e,n);case Ge:return new i;case an:case un:return new i(e);case on:return rf(e);case qe:return new i;case On:return sf(e)}}function Sf(e,t){var n=t.length;if(!n)return e;var i=n-1;return t[i]=(n>1?"& ":"")+t[i],t=t.join(n>2?", ":" "),e.replace(xu,`{
|
|
3
3
|
/* [wrapped with `+t+`] */
|
|
4
|
-
`)}function xf(e){return O(e)||Ut(e)||!!(qs&&e&&e[qs])}function lt(e,t){var n=typeof e;return t=t??gt,!!t&&(n=="number"||n!="symbol"&&Ou.test(e))&&e>-1&&e%1==0&&e<t}function ve(e,t,n){if(!re(n))return!1;var i=typeof t;return(i=="number"?_e(n)&<(t,n.length):i=="string"&&t in n)?Ke(n[t],e):!1}function bi(e,t){if(O(e))return!1;var n=typeof e;return n=="number"||n=="symbol"||n=="boolean"||e==null||Te(e)?!0:_u.test(e)||!yu.test(e)||t!=null&&e in J(t)}function Ef(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}function Ci(e){var t=fr(e),n=o[t];if(typeof n!="function"||!(t in k.prototype))return!1;if(e===n)return!0;var i=xi(n);return!!i&&e===i[0]}function Af(e){return!!Bs&&Bs in e}var bf=kn?ct:qi;function xn(e){var t=e&&e.constructor,n=typeof t=="function"&&t.prototype||Ht;return e===n}function Ba(e){return e===e&&!re(e)}function ka(e,t){return function(n){return n==null?!1:n[e]===t&&(t!==r||e in J(n))}}function Cf(e){var t=mr(e,function(i){return n.size===z&&n.clear(),i}),n=t.cache;return t}function Tf(e,t){var n=e[1],i=t[1],a=n|i,u=a<(Ie|Je|nt),c=i==nt&&n==Le||i==nt&&n==nn&&e[7].length<=t[8]||i==(nt|nn)&&t[7].length<=t[8]&&n==Le;if(!(u||c))return e;i&Ie&&(e[2]=t[2],a|=n&Ie?0:Tn);var d=t[3];if(d){var g=e[3];e[3]=g?xa(g,d,t[4]):d,e[4]=g?yt(e[3],Z):t[4]}return d=t[5],d&&(g=e[5],e[5]=g?Ea(g,d,t[6]):d,e[6]=g?yt(e[5],Z):t[6]),d=t[7],d&&(e[7]=d),i&nt&&(e[8]=e[8]==null?t[8]:pe(e[8],t[8])),e[9]==null&&(e[9]=t[9]),e[0]=t[0],e[1]=a,e}function Rf(e){var t=[];if(e!=null)for(var n in J(e))t.push(n);return t}function Ff(e){return Vn.call(e)}function Ga(e,t,n){return t=ue(t===r?e.length-1:t,0),function(){for(var i=arguments,a=-1,u=ue(i.length-t,0),c=m(u);++a<u;)c[a]=i[t+a];a=-1;for(var d=m(t+1);++a<t;)d[a]=i[a];return d[t]=n(c),Ae(e,this,d)}}function Va(e,t){return t.length<2?e:Nt(e,Me(t,0,-1))}function Pf(e,t){for(var n=e.length,i=pe(t.length,n),a=ye(e);i--;){var u=t[i];e[i]=lt(u,n)?a[u]:r}return e}function Ti(e,t){if(!(t==="constructor"&&typeof e[t]=="function")&&t!="__proto__")return e[t]}var qa=za(pa),En=Hl||function(e,t){return fe.setTimeout(e,t)},Ri=za(Qc);function Ha(e,t,n){var i=t+"";return Ri(e,If(i,Lf(_f(i),n)))}function za(e){var t=0,n=0;return function(){var i=Yl(),a=Xo-(i-n);if(n=i,a>0){if(++t>=Zo)return arguments[0]}else t=0;return e.apply(r,arguments)}}function pr(e,t){var n=-1,i=e.length,a=i-1;for(t=t===r?i:t;++n<t;){var u=fi(n,a),c=e[u];e[u]=e[n],e[n]=c}return e.length=t,e}var Ka=Cf(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(wu,function(n,i,a,u){t.push(a?u.replace(Tu,"$1"):i||n)}),t});function et(e){if(typeof e=="string"||Te(e))return e;var t=e+"";return t=="0"&&1/e==-Ct?"-0":t}function $t(e){if(e!=null){try{return Gn.call(e)}catch{}try{return e+""}catch{}}return""}function Lf(e,t){return Oe(iu,function(n){var i="_."+n[0];t&n[1]&&!Dn(e,i)&&e.push(i)}),e.sort()}function ja(e){if(e instanceof k)return e.clone();var t=new Ue(e.__wrapped__,e.__chain__);return t.__actions__=ye(e.__actions__),t.__index__=e.__index__,t.__values__=e.__values__,t}function Nf(e,t,n){(n?ve(e,t,n):t===r)?t=1:t=ue($(t),0);var i=e==null?0:e.length;if(!i||t<1)return[];for(var a=0,u=0,c=m(Yn(i/t));a<i;)c[u++]=Me(e,a,a+=t);return c}function Of(e){for(var t=-1,n=e==null?0:e.length,i=0,a=[];++t<n;){var u=e[t];u&&(a[i++]=u)}return a}function $f(){var e=arguments.length;if(!e)return[];for(var t=m(e-1),n=arguments[0],i=e;i--;)t[i-1]=arguments[i];return mt(O(n)?ye(n):[n],de(t,1))}var Uf=M(function(e,t){return se(e)?yn(e,de(t,1,se,!0)):[]}),Df=M(function(e,t){var n=We(t);return se(n)&&(n=r),se(e)?yn(e,de(t,1,se,!0),T(n,2)):[]}),Mf=M(function(e,t){var n=We(t);return se(n)&&(n=r),se(e)?yn(e,de(t,1,se,!0),r,n):[]});function Wf(e,t,n){var i=e==null?0:e.length;return i?(t=n||t===r?1:$(t),Me(e,t<0?0:t,i)):[]}function Bf(e,t,n){var i=e==null?0:e.length;return i?(t=n||t===r?1:$(t),t=i-t,Me(e,0,t<0?0:t)):[]}function kf(e,t){return e&&e.length?sr(e,T(t,3),!0,!0):[]}function Gf(e,t){return e&&e.length?sr(e,T(t,3),!0):[]}function Vf(e,t,n,i){var a=e==null?0:e.length;return a?(n&&typeof n!="number"&&ve(e,t,n)&&(n=0,i=a),Oc(e,t,n,i)):[]}function Ya(e,t,n){var i=e==null?0:e.length;if(!i)return-1;var a=n==null?0:$(n);return a<0&&(a=ue(i+a,0)),Mn(e,T(t,3),a)}function Ja(e,t,n){var i=e==null?0:e.length;if(!i)return-1;var a=i-1;return n!==r&&(a=$(n),a=n<0?ue(i+a,0):pe(a,i-1)),Mn(e,T(t,3),a,!0)}function Za(e){var t=e==null?0:e.length;return t?de(e,1):[]}function qf(e){var t=e==null?0:e.length;return t?de(e,Ct):[]}function Hf(e,t){var n=e==null?0:e.length;return n?(t=t===r?1:$(t),de(e,t)):[]}function zf(e){for(var t=-1,n=e==null?0:e.length,i={};++t<n;){var a=e[t];i[a[0]]=a[1]}return i}function Xa(e){return e&&e.length?e[0]:r}function Kf(e,t,n){var i=e==null?0:e.length;if(!i)return-1;var a=n==null?0:$(n);return a<0&&(a=ue(i+a,0)),kt(e,t,a)}function jf(e){var t=e==null?0:e.length;return t?Me(e,0,-1):[]}var Yf=M(function(e){var t=ne(e,vi);return t.length&&t[0]===e[0]?ai(t):[]}),Jf=M(function(e){var t=We(e),n=ne(e,vi);return t===We(n)?t=r:n.pop(),n.length&&n[0]===e[0]?ai(n,T(t,2)):[]}),Zf=M(function(e){var t=We(e),n=ne(e,vi);return t=typeof t=="function"?t:r,t&&n.pop(),n.length&&n[0]===e[0]?ai(n,r,t):[]});function Xf(e,t){return e==null?"":Kl.call(e,t)}function We(e){var t=e==null?0:e.length;return t?e[t-1]:r}function Qf(e,t,n){var i=e==null?0:e.length;if(!i)return-1;var a=i;return n!==r&&(a=$(n),a=a<0?ue(i+a,0):pe(a,i-1)),t===t?Pl(e,t,a):Mn(e,Ls,a,!0)}function ed(e,t){return e&&e.length?la(e,$(t)):r}var td=M(Qa);function Qa(e,t){return e&&e.length&&t&&t.length?ci(e,t):e}function nd(e,t,n){return e&&e.length&&t&&t.length?ci(e,t,T(n,2)):e}function rd(e,t,n){return e&&e.length&&t&&t.length?ci(e,t,r,n):e}var id=ut(function(e,t){var n=e==null?0:e.length,i=ni(e,t);return da(e,ne(t,function(a){return lt(a,n)?+a:a}).sort(Ia)),i});function sd(e,t){var n=[];if(!(e&&e.length))return n;var i=-1,a=[],u=e.length;for(t=T(t,3);++i<u;){var c=e[i];t(c,i,e)&&(n.push(c),a.push(i))}return da(e,a),n}function Fi(e){return e==null?e:Zl.call(e)}function ad(e,t,n){var i=e==null?0:e.length;return i?(n&&typeof n!="number"&&ve(e,t,n)?(t=0,n=i):(t=t==null?0:$(t),n=n===r?i:$(n)),Me(e,t,n)):[]}function od(e,t){return ir(e,t)}function ud(e,t,n){return pi(e,t,T(n,2))}function ld(e,t){var n=e==null?0:e.length;if(n){var i=ir(e,t);if(i<n&&Ke(e[i],t))return i}return-1}function cd(e,t){return ir(e,t,!0)}function fd(e,t,n){return pi(e,t,T(n,2),!0)}function dd(e,t){var n=e==null?0:e.length;if(n){var i=ir(e,t,!0)-1;if(Ke(e[i],t))return i}return-1}function pd(e){return e&&e.length?ha(e):[]}function hd(e,t){return e&&e.length?ha(e,T(t,2)):[]}function gd(e){var t=e==null?0:e.length;return t?Me(e,1,t):[]}function vd(e,t,n){return e&&e.length?(t=n||t===r?1:$(t),Me(e,0,t<0?0:t)):[]}function md(e,t,n){var i=e==null?0:e.length;return i?(t=n||t===r?1:$(t),t=i-t,Me(e,t<0?0:t,i)):[]}function yd(e,t){return e&&e.length?sr(e,T(t,3),!1,!0):[]}function _d(e,t){return e&&e.length?sr(e,T(t,3)):[]}var wd=M(function(e){return St(de(e,1,se,!0))}),Sd=M(function(e){var t=We(e);return se(t)&&(t=r),St(de(e,1,se,!0),T(t,2))}),Id=M(function(e){var t=We(e);return t=typeof t=="function"?t:r,St(de(e,1,se,!0),r,t)});function xd(e){return e&&e.length?St(e):[]}function Ed(e,t){return e&&e.length?St(e,T(t,2)):[]}function Ad(e,t){return t=typeof t=="function"?t:r,e&&e.length?St(e,r,t):[]}function Pi(e){if(!(e&&e.length))return[];var t=0;return e=vt(e,function(n){if(se(n))return t=ue(n.length,t),!0}),jr(t,function(n){return ne(e,Hr(n))})}function eo(e,t){if(!(e&&e.length))return[];var n=Pi(e);return t==null?n:ne(n,function(i){return Ae(t,r,i)})}var bd=M(function(e,t){return se(e)?yn(e,t):[]}),Cd=M(function(e){return gi(vt(e,se))}),Td=M(function(e){var t=We(e);return se(t)&&(t=r),gi(vt(e,se),T(t,2))}),Rd=M(function(e){var t=We(e);return t=typeof t=="function"?t:r,gi(vt(e,se),r,t)}),Fd=M(Pi);function Pd(e,t){return ya(e||[],t||[],mn)}function Ld(e,t){return ya(e||[],t||[],Sn)}var Nd=M(function(e){var t=e.length,n=t>1?e[t-1]:r;return n=typeof n=="function"?(e.pop(),n):r,eo(e,n)});function to(e){var t=o(e);return t.__chain__=!0,t}function Od(e,t){return t(e),e}function hr(e,t){return t(e)}var $d=ut(function(e){var t=e.length,n=t?e[0]:0,i=this.__wrapped__,a=function(u){return ni(u,e)};return t>1||this.__actions__.length||!(i instanceof k)||!lt(n)?this.thru(a):(i=i.slice(n,+n+(t?1:0)),i.__actions__.push({func:hr,args:[a],thisArg:r}),new Ue(i,this.__chain__).thru(function(u){return t&&!u.length&&u.push(r),u}))});function Ud(){return to(this)}function Dd(){return new Ue(this.value(),this.__chain__)}function Md(){this.__values__===r&&(this.__values__=vo(this.value()));var e=this.__index__>=this.__values__.length,t=e?r:this.__values__[this.__index__++];return{done:e,value:t}}function Wd(){return this}function Bd(e){for(var t,n=this;n instanceof Qn;){var i=ja(n);i.__index__=0,i.__values__=r,t?a.__wrapped__=i:t=i;var a=i;n=n.__wrapped__}return a.__wrapped__=e,t}function kd(){var e=this.__wrapped__;if(e instanceof k){var t=e;return this.__actions__.length&&(t=new k(this)),t=t.reverse(),t.__actions__.push({func:hr,args:[Fi],thisArg:r}),new Ue(t,this.__chain__)}return this.thru(Fi)}function Gd(){return ma(this.__wrapped__,this.__actions__)}var Vd=ar(function(e,t,n){Y.call(e,n)?++e[n]:at(e,n,1)});function qd(e,t,n){var i=O(e)?Fs:Nc;return n&&ve(e,t,n)&&(t=r),i(e,T(t,3))}function Hd(e,t){var n=O(e)?vt:ea;return n(e,T(t,3))}var zd=Ta(Ya),Kd=Ta(Ja);function jd(e,t){return de(gr(e,t),1)}function Yd(e,t){return de(gr(e,t),Ct)}function Jd(e,t,n){return n=n===r?1:$(n),de(gr(e,t),n)}function no(e,t){var n=O(e)?Oe:wt;return n(e,T(t,3))}function ro(e,t){var n=O(e)?hl:Qs;return n(e,T(t,3))}var Zd=ar(function(e,t,n){Y.call(e,n)?e[n].push(t):at(e,n,[t])});function Xd(e,t,n,i){e=_e(e)?e:Qt(e),n=n&&!i?$(n):0;var a=e.length;return n<0&&(n=ue(a+n,0)),wr(e)?n<=a&&e.indexOf(t,n)>-1:!!a&&kt(e,t,n)>-1}var Qd=M(function(e,t,n){var i=-1,a=typeof t=="function",u=_e(e)?m(e.length):[];return wt(e,function(c){u[++i]=a?Ae(t,c,n):_n(c,t,n)}),u}),ep=ar(function(e,t,n){at(e,n,t)});function gr(e,t){var n=O(e)?ne:aa;return n(e,T(t,3))}function tp(e,t,n,i){return e==null?[]:(O(t)||(t=t==null?[]:[t]),n=i?r:n,O(n)||(n=n==null?[]:[n]),ca(e,t,n))}var np=ar(function(e,t,n){e[n?0:1].push(t)},function(){return[[],[]]});function rp(e,t,n){var i=O(e)?Vr:Os,a=arguments.length<3;return i(e,T(t,4),n,a,wt)}function ip(e,t,n){var i=O(e)?gl:Os,a=arguments.length<3;return i(e,T(t,4),n,a,Qs)}function sp(e,t){var n=O(e)?vt:ea;return n(e,yr(T(t,3)))}function ap(e){var t=O(e)?Ys:Zc;return t(e)}function op(e,t,n){(n?ve(e,t,n):t===r)?t=1:t=$(t);var i=O(e)?Tc:Xc;return i(e,t)}function up(e){var t=O(e)?Rc:ef;return t(e)}function lp(e){if(e==null)return 0;if(_e(e))return wr(e)?Vt(e):e.length;var t=he(e);return t==Ve||t==qe?e.size:ui(e).length}function cp(e,t,n){var i=O(e)?qr:tf;return n&&ve(e,t,n)&&(t=r),i(e,T(t,3))}var fp=M(function(e,t){if(e==null)return[];var n=t.length;return n>1&&ve(e,t[0],t[1])?t=[]:n>2&&ve(t[0],t[1],t[2])&&(t=[t[0]]),ca(e,de(t,1),[])}),vr=ql||function(){return fe.Date.now()};function dp(e,t){if(typeof t!="function")throw new $e(x);return e=$(e),function(){if(--e<1)return t.apply(this,arguments)}}function io(e,t,n){return t=n?r:t,t=e&&t==null?e.length:t,ot(e,nt,r,r,r,r,t)}function so(e,t){var n;if(typeof t!="function")throw new $e(x);return e=$(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=r),n}}var Li=M(function(e,t,n){var i=Ie;if(n.length){var a=yt(n,Zt(Li));i|=xe}return ot(e,i,t,n,a)}),ao=M(function(e,t,n){var i=Ie|Je;if(n.length){var a=yt(n,Zt(ao));i|=xe}return ot(t,i,e,n,a)});function oo(e,t,n){t=n?r:t;var i=ot(e,Le,r,r,r,r,r,t);return i.placeholder=oo.placeholder,i}function uo(e,t,n){t=n?r:t;var i=ot(e,bt,r,r,r,r,r,t);return i.placeholder=uo.placeholder,i}function lo(e,t,n){var i,a,u,c,d,g,w=0,S=!1,E=!1,A=!0;if(typeof e!="function")throw new $e(x);t=Be(t)||0,re(n)&&(S=!!n.leading,E="maxWait"in n,u=E?ue(Be(n.maxWait)||0,t):u,A="trailing"in n?!!n.trailing:A);function C(ae){var je=i,dt=a;return i=a=r,w=ae,c=e.apply(dt,je),c}function R(ae){return w=ae,d=En(B,t),S?C(ae):c}function U(ae){var je=ae-g,dt=ae-w,Ro=t-je;return E?pe(Ro,u-dt):Ro}function F(ae){var je=ae-g,dt=ae-w;return g===r||je>=t||je<0||E&&dt>=u}function B(){var ae=vr();if(F(ae))return V(ae);d=En(B,U(ae))}function V(ae){return d=r,A&&i?C(ae):(i=a=r,c)}function Re(){d!==r&&_a(d),w=0,i=g=a=d=r}function me(){return d===r?c:V(vr())}function Fe(){var ae=vr(),je=F(ae);if(i=arguments,a=this,g=ae,je){if(d===r)return R(g);if(E)return _a(d),d=En(B,t),C(g)}return d===r&&(d=En(B,t)),c}return Fe.cancel=Re,Fe.flush=me,Fe}var pp=M(function(e,t){return Xs(e,1,t)}),hp=M(function(e,t,n){return Xs(e,Be(t)||0,n)});function gp(e){return ot(e,xr)}function mr(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new $e(x);var n=function(){var i=arguments,a=t?t.apply(this,i):i[0],u=n.cache;if(u.has(a))return u.get(a);var c=e.apply(this,i);return n.cache=u.set(a,c)||u,c};return n.cache=new(mr.Cache||st),n}mr.Cache=st;function yr(e){if(typeof e!="function")throw new $e(x);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}function vp(e){return so(2,e)}var mp=nf(function(e,t){t=t.length==1&&O(t[0])?ne(t[0],be(T())):ne(de(t,1),be(T()));var n=t.length;return M(function(i){for(var a=-1,u=pe(i.length,n);++a<u;)i[a]=t[a].call(this,i[a]);return Ae(e,this,i)})}),Ni=M(function(e,t){var n=yt(t,Zt(Ni));return ot(e,xe,r,t,n)}),co=M(function(e,t){var n=yt(t,Zt(co));return ot(e,Ee,r,t,n)}),yp=ut(function(e,t){return ot(e,nn,r,r,r,t)});function _p(e,t){if(typeof e!="function")throw new $e(x);return t=t===r?t:$(t),M(e,t)}function wp(e,t){if(typeof e!="function")throw new $e(x);return t=t==null?0:ue($(t),0),M(function(n){var i=n[t],a=xt(n,0,t);return i&&mt(a,i),Ae(e,this,a)})}function Sp(e,t,n){var i=!0,a=!0;if(typeof e!="function")throw new $e(x);return re(n)&&(i="leading"in n?!!n.leading:i,a="trailing"in n?!!n.trailing:a),lo(e,t,{leading:i,maxWait:t,trailing:a})}function Ip(e){return io(e,1)}function xp(e,t){return Ni(mi(t),e)}function Ep(){if(!arguments.length)return[];var e=arguments[0];return O(e)?e:[e]}function Ap(e){return De(e,G)}function bp(e,t){return t=typeof t=="function"?t:r,De(e,G,t)}function Cp(e){return De(e,K|G)}function Tp(e,t){return t=typeof t=="function"?t:r,De(e,K|G,t)}function Rp(e,t){return t==null||Zs(e,t,le(t))}function Ke(e,t){return e===t||e!==e&&t!==t}var Fp=cr(si),Pp=cr(function(e,t){return e>=t}),Ut=ra((function(){return arguments})())?ra:function(e){return ie(e)&&Y.call(e,"callee")&&!Vs.call(e,"callee")},O=m.isArray,Lp=Es?be(Es):Wc;function _e(e){return e!=null&&_r(e.length)&&!ct(e)}function se(e){return ie(e)&&_e(e)}function Np(e){return e===!0||e===!1||ie(e)&&ge(e)==rn}var Et=zl||qi,Op=As?be(As):Bc;function $p(e){return ie(e)&&e.nodeType===1&&!An(e)}function Up(e){if(e==null)return!0;if(_e(e)&&(O(e)||typeof e=="string"||typeof e.splice=="function"||Et(e)||Xt(e)||Ut(e)))return!e.length;var t=he(e);if(t==Ve||t==qe)return!e.size;if(xn(e))return!ui(e).length;for(var n in e)if(Y.call(e,n))return!1;return!0}function Dp(e,t){return wn(e,t)}function Mp(e,t,n){n=typeof n=="function"?n:r;var i=n?n(e,t):r;return i===r?wn(e,t,r,n):!!i}function Oi(e){if(!ie(e))return!1;var t=ge(e);return t==Pn||t==au||typeof e.message=="string"&&typeof e.name=="string"&&!An(e)}function Wp(e){return typeof e=="number"&&Hs(e)}function ct(e){if(!re(e))return!1;var t=ge(e);return t==Ln||t==Xi||t==su||t==uu}function fo(e){return typeof e=="number"&&e==$(e)}function _r(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=gt}function re(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}function ie(e){return e!=null&&typeof e=="object"}var po=bs?be(bs):Gc;function Bp(e,t){return e===t||oi(e,t,Ei(t))}function kp(e,t,n){return n=typeof n=="function"?n:r,oi(e,t,Ei(t),n)}function Gp(e){return ho(e)&&e!=+e}function Vp(e){if(bf(e))throw new N(I);return ia(e)}function qp(e){return e===null}function Hp(e){return e==null}function ho(e){return typeof e=="number"||ie(e)&&ge(e)==an}function An(e){if(!ie(e)||ge(e)!=rt)return!1;var t=zn(e);if(t===null)return!0;var n=Y.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&Gn.call(n)==Bl}var $i=Cs?be(Cs):Vc;function zp(e){return fo(e)&&e>=-gt&&e<=gt}var go=Ts?be(Ts):qc;function wr(e){return typeof e=="string"||!O(e)&&ie(e)&&ge(e)==un}function Te(e){return typeof e=="symbol"||ie(e)&&ge(e)==Nn}var Xt=Rs?be(Rs):Hc;function Kp(e){return e===r}function jp(e){return ie(e)&&he(e)==ln}function Yp(e){return ie(e)&&ge(e)==cu}var Jp=cr(li),Zp=cr(function(e,t){return e<=t});function vo(e){if(!e)return[];if(_e(e))return wr(e)?He(e):ye(e);if(dn&&e[dn])return Tl(e[dn]());var t=he(e),n=t==Ve?Jr:t==qe?Wn:Qt;return n(e)}function ft(e){if(!e)return e===0?e:0;if(e=Be(e),e===Ct||e===-Ct){var t=e<0?-1:1;return t*tu}return e===e?e:0}function $(e){var t=ft(e),n=t%1;return t===t?n?t-n:t:0}function mo(e){return e?Lt($(e),0,Ze):0}function Be(e){if(typeof e=="number")return e;if(Te(e))return Rn;if(re(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=re(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=$s(e);var n=Pu.test(e);return n||Nu.test(e)?fl(e.slice(2),n?2:8):Fu.test(e)?Rn:+e}function yo(e){return Qe(e,we(e))}function Xp(e){return e?Lt($(e),-gt,gt):e===0?e:0}function j(e){return e==null?"":Ce(e)}var Qp=Yt(function(e,t){if(xn(t)||_e(t)){Qe(t,le(t),e);return}for(var n in t)Y.call(t,n)&&mn(e,n,t[n])}),_o=Yt(function(e,t){Qe(t,we(t),e)}),Sr=Yt(function(e,t,n,i){Qe(t,we(t),e,i)}),eh=Yt(function(e,t,n,i){Qe(t,le(t),e,i)}),th=ut(ni);function nh(e,t){var n=jt(e);return t==null?n:Js(n,t)}var rh=M(function(e,t){e=J(e);var n=-1,i=t.length,a=i>2?t[2]:r;for(a&&ve(t[0],t[1],a)&&(i=1);++n<i;)for(var u=t[n],c=we(u),d=-1,g=c.length;++d<g;){var w=c[d],S=e[w];(S===r||Ke(S,Ht[w])&&!Y.call(e,w))&&(e[w]=u[w])}return e}),ih=M(function(e){return e.push(r,$a),Ae(wo,r,e)});function sh(e,t){return Ps(e,T(t,3),Xe)}function ah(e,t){return Ps(e,T(t,3),ii)}function oh(e,t){return e==null?e:ri(e,T(t,3),we)}function uh(e,t){return e==null?e:ta(e,T(t,3),we)}function lh(e,t){return e&&Xe(e,T(t,3))}function ch(e,t){return e&&ii(e,T(t,3))}function fh(e){return e==null?[]:nr(e,le(e))}function dh(e){return e==null?[]:nr(e,we(e))}function Ui(e,t,n){var i=e==null?r:Nt(e,t);return i===r?n:i}function ph(e,t){return e!=null&&Ma(e,t,$c)}function Di(e,t){return e!=null&&Ma(e,t,Uc)}var hh=Fa(function(e,t,n){t!=null&&typeof t.toString!="function"&&(t=Vn.call(t)),e[t]=n},Wi(Se)),gh=Fa(function(e,t,n){t!=null&&typeof t.toString!="function"&&(t=Vn.call(t)),Y.call(e,t)?e[t].push(n):e[t]=[n]},T),vh=M(_n);function le(e){return _e(e)?js(e):ui(e)}function we(e){return _e(e)?js(e,!0):zc(e)}function mh(e,t){var n={};return t=T(t,3),Xe(e,function(i,a,u){at(n,t(i,a,u),i)}),n}function yh(e,t){var n={};return t=T(t,3),Xe(e,function(i,a,u){at(n,a,t(i,a,u))}),n}var _h=Yt(function(e,t,n){rr(e,t,n)}),wo=Yt(function(e,t,n,i){rr(e,t,n,i)}),wh=ut(function(e,t){var n={};if(e==null)return n;var i=!1;t=ne(t,function(u){return u=It(u,e),i||(i=u.length>1),u}),Qe(e,Ii(e),n),i&&(n=De(n,K|Ye|G,hf));for(var a=t.length;a--;)hi(n,t[a]);return n});function Sh(e,t){return So(e,yr(T(t)))}var Ih=ut(function(e,t){return e==null?{}:jc(e,t)});function So(e,t){if(e==null)return{};var n=ne(Ii(e),function(i){return[i]});return t=T(t),fa(e,n,function(i,a){return t(i,a[0])})}function xh(e,t,n){t=It(t,e);var i=-1,a=t.length;for(a||(a=1,e=r);++i<a;){var u=e==null?r:e[et(t[i])];u===r&&(i=a,u=n),e=ct(u)?u.call(e):u}return e}function Eh(e,t,n){return e==null?e:Sn(e,t,n)}function Ah(e,t,n,i){return i=typeof i=="function"?i:r,e==null?e:Sn(e,t,n,i)}var Io=Na(le),xo=Na(we);function bh(e,t,n){var i=O(e),a=i||Et(e)||Xt(e);if(t=T(t,4),n==null){var u=e&&e.constructor;a?n=i?new u:[]:re(e)?n=ct(u)?jt(zn(e)):{}:n={}}return(a?Oe:Xe)(e,function(c,d,g){return t(n,c,d,g)}),n}function Ch(e,t){return e==null?!0:hi(e,t)}function Th(e,t,n){return e==null?e:va(e,t,mi(n))}function Rh(e,t,n,i){return i=typeof i=="function"?i:r,e==null?e:va(e,t,mi(n),i)}function Qt(e){return e==null?[]:Yr(e,le(e))}function Fh(e){return e==null?[]:Yr(e,we(e))}function Ph(e,t,n){return n===r&&(n=t,t=r),n!==r&&(n=Be(n),n=n===n?n:0),t!==r&&(t=Be(t),t=t===t?t:0),Lt(Be(e),t,n)}function Lh(e,t,n){return t=ft(t),n===r?(n=t,t=0):n=ft(n),e=Be(e),Dc(e,t,n)}function Nh(e,t,n){if(n&&typeof n!="boolean"&&ve(e,t,n)&&(t=n=r),n===r&&(typeof t=="boolean"?(n=t,t=r):typeof e=="boolean"&&(n=e,e=r)),e===r&&t===r?(e=0,t=1):(e=ft(e),t===r?(t=e,e=0):t=ft(t)),e>t){var i=e;e=t,t=i}if(n||e%1||t%1){var a=zs();return pe(e+a*(t-e+cl("1e-"+((a+"").length-1))),t)}return fi(e,t)}var Oh=Jt(function(e,t,n){return t=t.toLowerCase(),e+(n?Eo(t):t)});function Eo(e){return Mi(j(e).toLowerCase())}function Ao(e){return e=j(e),e&&e.replace($u,xl).replace(el,"")}function $h(e,t,n){e=j(e),t=Ce(t);var i=e.length;n=n===r?i:Lt($(n),0,i);var a=n;return n-=t.length,n>=0&&e.slice(n,a)==t}function Uh(e){return e=j(e),e&&gu.test(e)?e.replace(ts,El):e}function Dh(e){return e=j(e),e&&Su.test(e)?e.replace(Nr,"\\$&"):e}var Mh=Jt(function(e,t,n){return e+(n?"-":"")+t.toLowerCase()}),Wh=Jt(function(e,t,n){return e+(n?" ":"")+t.toLowerCase()}),Bh=Ca("toLowerCase");function kh(e,t,n){e=j(e),t=$(t);var i=t?Vt(e):0;if(!t||i>=t)return e;var a=(t-i)/2;return lr(Jn(a),n)+e+lr(Yn(a),n)}function Gh(e,t,n){e=j(e),t=$(t);var i=t?Vt(e):0;return t&&i<t?e+lr(t-i,n):e}function Vh(e,t,n){e=j(e),t=$(t);var i=t?Vt(e):0;return t&&i<t?lr(t-i,n)+e:e}function qh(e,t,n){return n||t==null?t=0:t&&(t=+t),Jl(j(e).replace(Or,""),t||0)}function Hh(e,t,n){return(n?ve(e,t,n):t===r)?t=1:t=$(t),di(j(e),t)}function zh(){var e=arguments,t=j(e[0]);return e.length<3?t:t.replace(e[1],e[2])}var Kh=Jt(function(e,t,n){return e+(n?"_":"")+t.toLowerCase()});function jh(e,t,n){return n&&typeof n!="number"&&ve(e,t,n)&&(t=n=r),n=n===r?Ze:n>>>0,n?(e=j(e),e&&(typeof t=="string"||t!=null&&!$i(t))&&(t=Ce(t),!t&&Gt(e))?xt(He(e),0,n):e.split(t,n)):[]}var Yh=Jt(function(e,t,n){return e+(n?" ":"")+Mi(t)});function Jh(e,t,n){return e=j(e),n=n==null?0:Lt($(n),0,e.length),t=Ce(t),e.slice(n,n+t.length)==t}function Zh(e,t,n){var i=o.templateSettings;n&&ve(e,t,n)&&(t=r),e=j(e),t=Sr({},t,i,Oa);var a=Sr({},t.imports,i.imports,Oa),u=le(a),c=Yr(a,u),d,g,w=0,S=t.interpolate||On,E="__p += '",A=Zr((t.escape||On).source+"|"+S.source+"|"+(S===ns?Ru:On).source+"|"+(t.evaluate||On).source+"|$","g"),C="//# sourceURL="+(Y.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++sl+"]")+`
|
|
5
|
-
`;e.replace(A,function(
|
|
4
|
+
`)}function xf(e){return N(e)||Ut(e)||!!(qs&&e&&e[qs])}function ct(e,t){var n=typeof e;return t=t??gt,!!t&&(n=="number"||n!="symbol"&&Ou.test(e))&&e>-1&&e%1==0&&e<t}function ve(e,t,n){if(!re(n))return!1;var i=typeof t;return(i=="number"?_e(n)&&ct(t,n.length):i=="string"&&t in n)?Ke(n[t],e):!1}function bi(e,t){if(N(e))return!1;var n=typeof e;return n=="number"||n=="symbol"||n=="boolean"||e==null||Te(e)?!0:yu.test(e)||!mu.test(e)||t!=null&&e in J(t)}function If(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}function Ci(e){var t=fr(e),n=o[t];if(typeof n!="function"||!(t in k.prototype))return!1;if(e===n)return!0;var i=Ii(n);return!!i&&e===i[0]}function Ef(e){return!!Bs&&Bs in e}var Af=kn?ft:qi;function In(e){var t=e&&e.constructor,n=typeof t=="function"&&t.prototype||Ht;return e===n}function Ba(e){return e===e&&!re(e)}function ka(e,t){return function(n){return n==null?!1:n[e]===t&&(t!==r||e in J(n))}}function bf(e){var t=mr(e,function(i){return n.size===q&&n.clear(),i}),n=t.cache;return t}function Cf(e,t){var n=e[1],i=t[1],a=n|i,u=a<(xe|Je|rt),c=i==rt&&n==Le||i==rt&&n==nn&&e[7].length<=t[8]||i==(rt|nn)&&t[7].length<=t[8]&&n==Le;if(!(u||c))return e;i&xe&&(e[2]=t[2],a|=n&xe?0:Tn);var h=t[3];if(h){var g=e[3];e[3]=g?Ia(g,h,t[4]):h,e[4]=g?yt(e[3],Z):t[4]}return h=t[5],h&&(g=e[5],e[5]=g?Ea(g,h,t[6]):h,e[6]=g?yt(e[5],Z):t[6]),h=t[7],h&&(e[7]=h),i&rt&&(e[8]=e[8]==null?t[8]:he(e[8],t[8])),e[9]==null&&(e[9]=t[9]),e[0]=t[0],e[1]=a,e}function Tf(e){var t=[];if(e!=null)for(var n in J(e))t.push(n);return t}function Rf(e){return Gn.call(e)}function Va(e,t,n){return t=ue(t===r?e.length-1:t,0),function(){for(var i=arguments,a=-1,u=ue(i.length-t,0),c=m(u);++a<u;)c[a]=i[t+a];a=-1;for(var h=m(t+1);++a<t;)h[a]=i[a];return h[t]=n(c),Ae(e,this,h)}}function Ga(e,t){return t.length<2?e:Ot(e,Me(t,0,-1))}function Ff(e,t){for(var n=e.length,i=he(t.length,n),a=ye(e);i--;){var u=t[i];e[i]=ct(u,n)?a[u]:r}return e}function Ti(e,t){if(!(t==="constructor"&&typeof e[t]=="function")&&t!="__proto__")return e[t]}var qa=za(ha),En=ql||function(e,t){return fe.setTimeout(e,t)},Ri=za(Xc);function Ha(e,t,n){var i=t+"";return Ri(e,Sf(i,Pf(yf(i),n)))}function za(e){var t=0,n=0;return function(){var i=jl(),a=Zo-(i-n);if(n=i,a>0){if(++t>=Jo)return arguments[0]}else t=0;return e.apply(r,arguments)}}function hr(e,t){var n=-1,i=e.length,a=i-1;for(t=t===r?i:t;++n<t;){var u=fi(n,a),c=e[u];e[u]=e[n],e[n]=c}return e.length=t,e}var Ka=bf(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(_u,function(n,i,a,u){t.push(a?u.replace(Cu,"$1"):i||n)}),t});function et(e){if(typeof e=="string"||Te(e))return e;var t=e+"";return t=="0"&&1/e==-Ct?"-0":t}function $t(e){if(e!=null){try{return Vn.call(e)}catch{}try{return e+""}catch{}}return""}function Pf(e,t){return Ne(ru,function(n){var i="_."+n[0];t&n[1]&&!Dn(e,i)&&e.push(i)}),e.sort()}function ja(e){if(e instanceof k)return e.clone();var t=new Ue(e.__wrapped__,e.__chain__);return t.__actions__=ye(e.__actions__),t.__index__=e.__index__,t.__values__=e.__values__,t}function Lf(e,t,n){(n?ve(e,t,n):t===r)?t=1:t=ue(U(t),0);var i=e==null?0:e.length;if(!i||t<1)return[];for(var a=0,u=0,c=m(Yn(i/t));a<i;)c[u++]=Me(e,a,a+=t);return c}function Of(e){for(var t=-1,n=e==null?0:e.length,i=0,a=[];++t<n;){var u=e[t];u&&(a[i++]=u)}return a}function Nf(){var e=arguments.length;if(!e)return[];for(var t=m(e-1),n=arguments[0],i=e;i--;)t[i-1]=arguments[i];return mt(N(n)?ye(n):[n],de(t,1))}var $f=M(function(e,t){return se(e)?yn(e,de(t,1,se,!0)):[]}),Uf=M(function(e,t){var n=We(t);return se(n)&&(n=r),se(e)?yn(e,de(t,1,se,!0),F(n,2)):[]}),Df=M(function(e,t){var n=We(t);return se(n)&&(n=r),se(e)?yn(e,de(t,1,se,!0),r,n):[]});function Mf(e,t,n){var i=e==null?0:e.length;return i?(t=n||t===r?1:U(t),Me(e,t<0?0:t,i)):[]}function Wf(e,t,n){var i=e==null?0:e.length;return i?(t=n||t===r?1:U(t),t=i-t,Me(e,0,t<0?0:t)):[]}function Bf(e,t){return e&&e.length?sr(e,F(t,3),!0,!0):[]}function kf(e,t){return e&&e.length?sr(e,F(t,3),!0):[]}function Vf(e,t,n,i){var a=e==null?0:e.length;return a?(n&&typeof n!="number"&&ve(e,t,n)&&(n=0,i=a),Oc(e,t,n,i)):[]}function Ya(e,t,n){var i=e==null?0:e.length;if(!i)return-1;var a=n==null?0:U(n);return a<0&&(a=ue(i+a,0)),Mn(e,F(t,3),a)}function Ja(e,t,n){var i=e==null?0:e.length;if(!i)return-1;var a=i-1;return n!==r&&(a=U(n),a=n<0?ue(i+a,0):he(a,i-1)),Mn(e,F(t,3),a,!0)}function Za(e){var t=e==null?0:e.length;return t?de(e,1):[]}function Gf(e){var t=e==null?0:e.length;return t?de(e,Ct):[]}function qf(e,t){var n=e==null?0:e.length;return n?(t=t===r?1:U(t),de(e,t)):[]}function Hf(e){for(var t=-1,n=e==null?0:e.length,i={};++t<n;){var a=e[t];i[a[0]]=a[1]}return i}function Xa(e){return e&&e.length?e[0]:r}function zf(e,t,n){var i=e==null?0:e.length;if(!i)return-1;var a=n==null?0:U(n);return a<0&&(a=ue(i+a,0)),kt(e,t,a)}function Kf(e){var t=e==null?0:e.length;return t?Me(e,0,-1):[]}var jf=M(function(e){var t=ne(e,vi);return t.length&&t[0]===e[0]?ai(t):[]}),Yf=M(function(e){var t=We(e),n=ne(e,vi);return t===We(n)?t=r:n.pop(),n.length&&n[0]===e[0]?ai(n,F(t,2)):[]}),Jf=M(function(e){var t=We(e),n=ne(e,vi);return t=typeof t=="function"?t:r,t&&n.pop(),n.length&&n[0]===e[0]?ai(n,r,t):[]});function Zf(e,t){return e==null?"":zl.call(e,t)}function We(e){var t=e==null?0:e.length;return t?e[t-1]:r}function Xf(e,t,n){var i=e==null?0:e.length;if(!i)return-1;var a=i;return n!==r&&(a=U(n),a=a<0?ue(i+a,0):he(a,i-1)),t===t?Fl(e,t,a):Mn(e,Ls,a,!0)}function Qf(e,t){return e&&e.length?la(e,U(t)):r}var ed=M(Qa);function Qa(e,t){return e&&e.length&&t&&t.length?ci(e,t):e}function td(e,t,n){return e&&e.length&&t&&t.length?ci(e,t,F(n,2)):e}function nd(e,t,n){return e&&e.length&&t&&t.length?ci(e,t,r,n):e}var rd=lt(function(e,t){var n=e==null?0:e.length,i=ni(e,t);return da(e,ne(t,function(a){return ct(a,n)?+a:a}).sort(xa)),i});function id(e,t){var n=[];if(!(e&&e.length))return n;var i=-1,a=[],u=e.length;for(t=F(t,3);++i<u;){var c=e[i];t(c,i,e)&&(n.push(c),a.push(i))}return da(e,a),n}function Fi(e){return e==null?e:Jl.call(e)}function sd(e,t,n){var i=e==null?0:e.length;return i?(n&&typeof n!="number"&&ve(e,t,n)?(t=0,n=i):(t=t==null?0:U(t),n=n===r?i:U(n)),Me(e,t,n)):[]}function ad(e,t){return ir(e,t)}function od(e,t,n){return hi(e,t,F(n,2))}function ud(e,t){var n=e==null?0:e.length;if(n){var i=ir(e,t);if(i<n&&Ke(e[i],t))return i}return-1}function ld(e,t){return ir(e,t,!0)}function cd(e,t,n){return hi(e,t,F(n,2),!0)}function fd(e,t){var n=e==null?0:e.length;if(n){var i=ir(e,t,!0)-1;if(Ke(e[i],t))return i}return-1}function dd(e){return e&&e.length?pa(e):[]}function hd(e,t){return e&&e.length?pa(e,F(t,2)):[]}function pd(e){var t=e==null?0:e.length;return t?Me(e,1,t):[]}function gd(e,t,n){return e&&e.length?(t=n||t===r?1:U(t),Me(e,0,t<0?0:t)):[]}function vd(e,t,n){var i=e==null?0:e.length;return i?(t=n||t===r?1:U(t),t=i-t,Me(e,t<0?0:t,i)):[]}function md(e,t){return e&&e.length?sr(e,F(t,3),!1,!0):[]}function yd(e,t){return e&&e.length?sr(e,F(t,3)):[]}var _d=M(function(e){return St(de(e,1,se,!0))}),wd=M(function(e){var t=We(e);return se(t)&&(t=r),St(de(e,1,se,!0),F(t,2))}),Sd=M(function(e){var t=We(e);return t=typeof t=="function"?t:r,St(de(e,1,se,!0),r,t)});function xd(e){return e&&e.length?St(e):[]}function Id(e,t){return e&&e.length?St(e,F(t,2)):[]}function Ed(e,t){return t=typeof t=="function"?t:r,e&&e.length?St(e,r,t):[]}function Pi(e){if(!(e&&e.length))return[];var t=0;return e=vt(e,function(n){if(se(n))return t=ue(n.length,t),!0}),jr(t,function(n){return ne(e,Hr(n))})}function eo(e,t){if(!(e&&e.length))return[];var n=Pi(e);return t==null?n:ne(n,function(i){return Ae(t,r,i)})}var Ad=M(function(e,t){return se(e)?yn(e,t):[]}),bd=M(function(e){return gi(vt(e,se))}),Cd=M(function(e){var t=We(e);return se(t)&&(t=r),gi(vt(e,se),F(t,2))}),Td=M(function(e){var t=We(e);return t=typeof t=="function"?t:r,gi(vt(e,se),r,t)}),Rd=M(Pi);function Fd(e,t){return ya(e||[],t||[],mn)}function Pd(e,t){return ya(e||[],t||[],Sn)}var Ld=M(function(e){var t=e.length,n=t>1?e[t-1]:r;return n=typeof n=="function"?(e.pop(),n):r,eo(e,n)});function to(e){var t=o(e);return t.__chain__=!0,t}function Od(e,t){return t(e),e}function pr(e,t){return t(e)}var Nd=lt(function(e){var t=e.length,n=t?e[0]:0,i=this.__wrapped__,a=function(u){return ni(u,e)};return t>1||this.__actions__.length||!(i instanceof k)||!ct(n)?this.thru(a):(i=i.slice(n,+n+(t?1:0)),i.__actions__.push({func:pr,args:[a],thisArg:r}),new Ue(i,this.__chain__).thru(function(u){return t&&!u.length&&u.push(r),u}))});function $d(){return to(this)}function Ud(){return new Ue(this.value(),this.__chain__)}function Dd(){this.__values__===r&&(this.__values__=vo(this.value()));var e=this.__index__>=this.__values__.length,t=e?r:this.__values__[this.__index__++];return{done:e,value:t}}function Md(){return this}function Wd(e){for(var t,n=this;n instanceof Qn;){var i=ja(n);i.__index__=0,i.__values__=r,t?a.__wrapped__=i:t=i;var a=i;n=n.__wrapped__}return a.__wrapped__=e,t}function Bd(){var e=this.__wrapped__;if(e instanceof k){var t=e;return this.__actions__.length&&(t=new k(this)),t=t.reverse(),t.__actions__.push({func:pr,args:[Fi],thisArg:r}),new Ue(t,this.__chain__)}return this.thru(Fi)}function kd(){return ma(this.__wrapped__,this.__actions__)}var Vd=ar(function(e,t,n){Y.call(e,n)?++e[n]:ot(e,n,1)});function Gd(e,t,n){var i=N(e)?Fs:Lc;return n&&ve(e,t,n)&&(t=r),i(e,F(t,3))}function qd(e,t){var n=N(e)?vt:ea;return n(e,F(t,3))}var Hd=Ta(Ya),zd=Ta(Ja);function Kd(e,t){return de(gr(e,t),1)}function jd(e,t){return de(gr(e,t),Ct)}function Yd(e,t,n){return n=n===r?1:U(n),de(gr(e,t),n)}function no(e,t){var n=N(e)?Ne:wt;return n(e,F(t,3))}function ro(e,t){var n=N(e)?hl:Qs;return n(e,F(t,3))}var Jd=ar(function(e,t,n){Y.call(e,n)?e[n].push(t):ot(e,n,[t])});function Zd(e,t,n,i){e=_e(e)?e:Qt(e),n=n&&!i?U(n):0;var a=e.length;return n<0&&(n=ue(a+n,0)),wr(e)?n<=a&&e.indexOf(t,n)>-1:!!a&&kt(e,t,n)>-1}var Xd=M(function(e,t,n){var i=-1,a=typeof t=="function",u=_e(e)?m(e.length):[];return wt(e,function(c){u[++i]=a?Ae(t,c,n):_n(c,t,n)}),u}),Qd=ar(function(e,t,n){ot(e,n,t)});function gr(e,t){var n=N(e)?ne:aa;return n(e,F(t,3))}function eh(e,t,n,i){return e==null?[]:(N(t)||(t=t==null?[]:[t]),n=i?r:n,N(n)||(n=n==null?[]:[n]),ca(e,t,n))}var th=ar(function(e,t,n){e[n?0:1].push(t)},function(){return[[],[]]});function nh(e,t,n){var i=N(e)?Gr:Ns,a=arguments.length<3;return i(e,F(t,4),n,a,wt)}function rh(e,t,n){var i=N(e)?pl:Ns,a=arguments.length<3;return i(e,F(t,4),n,a,Qs)}function ih(e,t){var n=N(e)?vt:ea;return n(e,yr(F(t,3)))}function sh(e){var t=N(e)?Ys:Jc;return t(e)}function ah(e,t,n){(n?ve(e,t,n):t===r)?t=1:t=U(t);var i=N(e)?Cc:Zc;return i(e,t)}function oh(e){var t=N(e)?Tc:Qc;return t(e)}function uh(e){if(e==null)return 0;if(_e(e))return wr(e)?Gt(e):e.length;var t=pe(e);return t==Ge||t==qe?e.size:ui(e).length}function lh(e,t,n){var i=N(e)?qr:ef;return n&&ve(e,t,n)&&(t=r),i(e,F(t,3))}var ch=M(function(e,t){if(e==null)return[];var n=t.length;return n>1&&ve(e,t[0],t[1])?t=[]:n>2&&ve(t[0],t[1],t[2])&&(t=[t[0]]),ca(e,de(t,1),[])}),vr=Gl||function(){return fe.Date.now()};function fh(e,t){if(typeof t!="function")throw new $e(I);return e=U(e),function(){if(--e<1)return t.apply(this,arguments)}}function io(e,t,n){return t=n?r:t,t=e&&t==null?e.length:t,ut(e,rt,r,r,r,r,t)}function so(e,t){var n;if(typeof t!="function")throw new $e(I);return e=U(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=r),n}}var Li=M(function(e,t,n){var i=xe;if(n.length){var a=yt(n,Zt(Li));i|=Ie}return ut(e,i,t,n,a)}),ao=M(function(e,t,n){var i=xe|Je;if(n.length){var a=yt(n,Zt(ao));i|=Ie}return ut(t,i,e,n,a)});function oo(e,t,n){t=n?r:t;var i=ut(e,Le,r,r,r,r,r,t);return i.placeholder=oo.placeholder,i}function uo(e,t,n){t=n?r:t;var i=ut(e,bt,r,r,r,r,r,t);return i.placeholder=uo.placeholder,i}function lo(e,t,n){var i,a,u,c,h,g,S=0,x=!1,E=!1,A=!0;if(typeof e!="function")throw new $e(I);t=Be(t)||0,re(n)&&(x=!!n.leading,E="maxWait"in n,u=E?ue(Be(n.maxWait)||0,t):u,A="trailing"in n?!!n.trailing:A);function T(ae){var je=i,ht=a;return i=a=r,S=ae,c=e.apply(ht,je),c}function P(ae){return S=ae,h=En(B,t),x?T(ae):c}function D(ae){var je=ae-g,ht=ae-S,Ro=t-je;return E?he(Ro,u-ht):Ro}function L(ae){var je=ae-g,ht=ae-S;return g===r||je>=t||je<0||E&&ht>=u}function B(){var ae=vr();if(L(ae))return G(ae);h=En(B,D(ae))}function G(ae){return h=r,A&&i?T(ae):(i=a=r,c)}function Re(){h!==r&&_a(h),S=0,i=g=a=h=r}function me(){return h===r?c:G(vr())}function Fe(){var ae=vr(),je=L(ae);if(i=arguments,a=this,g=ae,je){if(h===r)return P(g);if(E)return _a(h),h=En(B,t),T(g)}return h===r&&(h=En(B,t)),c}return Fe.cancel=Re,Fe.flush=me,Fe}var dh=M(function(e,t){return Xs(e,1,t)}),hh=M(function(e,t,n){return Xs(e,Be(t)||0,n)});function ph(e){return ut(e,Ir)}function mr(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new $e(I);var n=function(){var i=arguments,a=t?t.apply(this,i):i[0],u=n.cache;if(u.has(a))return u.get(a);var c=e.apply(this,i);return n.cache=u.set(a,c)||u,c};return n.cache=new(mr.Cache||at),n}mr.Cache=at;function yr(e){if(typeof e!="function")throw new $e(I);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}function gh(e){return so(2,e)}var vh=tf(function(e,t){t=t.length==1&&N(t[0])?ne(t[0],be(F())):ne(de(t,1),be(F()));var n=t.length;return M(function(i){for(var a=-1,u=he(i.length,n);++a<u;)i[a]=t[a].call(this,i[a]);return Ae(e,this,i)})}),Oi=M(function(e,t){var n=yt(t,Zt(Oi));return ut(e,Ie,r,t,n)}),co=M(function(e,t){var n=yt(t,Zt(co));return ut(e,Ee,r,t,n)}),mh=lt(function(e,t){return ut(e,nn,r,r,r,t)});function yh(e,t){if(typeof e!="function")throw new $e(I);return t=t===r?t:U(t),M(e,t)}function _h(e,t){if(typeof e!="function")throw new $e(I);return t=t==null?0:ue(U(t),0),M(function(n){var i=n[t],a=It(n,0,t);return i&&mt(a,i),Ae(e,this,a)})}function wh(e,t,n){var i=!0,a=!0;if(typeof e!="function")throw new $e(I);return re(n)&&(i="leading"in n?!!n.leading:i,a="trailing"in n?!!n.trailing:a),lo(e,t,{leading:i,maxWait:t,trailing:a})}function Sh(e){return io(e,1)}function xh(e,t){return Oi(mi(t),e)}function Ih(){if(!arguments.length)return[];var e=arguments[0];return N(e)?e:[e]}function Eh(e){return De(e,V)}function Ah(e,t){return t=typeof t=="function"?t:r,De(e,V,t)}function bh(e){return De(e,K|V)}function Ch(e,t){return t=typeof t=="function"?t:r,De(e,K|V,t)}function Th(e,t){return t==null||Zs(e,t,le(t))}function Ke(e,t){return e===t||e!==e&&t!==t}var Rh=cr(si),Fh=cr(function(e,t){return e>=t}),Ut=ra((function(){return arguments})())?ra:function(e){return ie(e)&&Y.call(e,"callee")&&!Gs.call(e,"callee")},N=m.isArray,Ph=Es?be(Es):Mc;function _e(e){return e!=null&&_r(e.length)&&!ft(e)}function se(e){return ie(e)&&_e(e)}function Lh(e){return e===!0||e===!1||ie(e)&&ge(e)==rn}var Et=Hl||qi,Oh=As?be(As):Wc;function Nh(e){return ie(e)&&e.nodeType===1&&!An(e)}function $h(e){if(e==null)return!0;if(_e(e)&&(N(e)||typeof e=="string"||typeof e.splice=="function"||Et(e)||Xt(e)||Ut(e)))return!e.length;var t=pe(e);if(t==Ge||t==qe)return!e.size;if(In(e))return!ui(e).length;for(var n in e)if(Y.call(e,n))return!1;return!0}function Uh(e,t){return wn(e,t)}function Dh(e,t,n){n=typeof n=="function"?n:r;var i=n?n(e,t):r;return i===r?wn(e,t,r,n):!!i}function Ni(e){if(!ie(e))return!1;var t=ge(e);return t==Pn||t==su||typeof e.message=="string"&&typeof e.name=="string"&&!An(e)}function Mh(e){return typeof e=="number"&&Hs(e)}function ft(e){if(!re(e))return!1;var t=ge(e);return t==Ln||t==Xi||t==iu||t==ou}function fo(e){return typeof e=="number"&&e==U(e)}function _r(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=gt}function re(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}function ie(e){return e!=null&&typeof e=="object"}var ho=bs?be(bs):kc;function Wh(e,t){return e===t||oi(e,t,Ei(t))}function Bh(e,t,n){return n=typeof n=="function"?n:r,oi(e,t,Ei(t),n)}function kh(e){return po(e)&&e!=+e}function Vh(e){if(Af(e))throw new O(w);return ia(e)}function Gh(e){return e===null}function qh(e){return e==null}function po(e){return typeof e=="number"||ie(e)&&ge(e)==an}function An(e){if(!ie(e)||ge(e)!=it)return!1;var t=zn(e);if(t===null)return!0;var n=Y.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&Vn.call(n)==Wl}var $i=Cs?be(Cs):Vc;function Hh(e){return fo(e)&&e>=-gt&&e<=gt}var go=Ts?be(Ts):Gc;function wr(e){return typeof e=="string"||!N(e)&&ie(e)&&ge(e)==un}function Te(e){return typeof e=="symbol"||ie(e)&&ge(e)==On}var Xt=Rs?be(Rs):qc;function zh(e){return e===r}function Kh(e){return ie(e)&&pe(e)==ln}function jh(e){return ie(e)&&ge(e)==lu}var Yh=cr(li),Jh=cr(function(e,t){return e<=t});function vo(e){if(!e)return[];if(_e(e))return wr(e)?He(e):ye(e);if(dn&&e[dn])return Cl(e[dn]());var t=pe(e),n=t==Ge?Jr:t==qe?Wn:Qt;return n(e)}function dt(e){if(!e)return e===0?e:0;if(e=Be(e),e===Ct||e===-Ct){var t=e<0?-1:1;return t*eu}return e===e?e:0}function U(e){var t=dt(e),n=t%1;return t===t?n?t-n:t:0}function mo(e){return e?Lt(U(e),0,Ze):0}function Be(e){if(typeof e=="number")return e;if(Te(e))return Rn;if(re(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=re(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=$s(e);var n=Fu.test(e);return n||Lu.test(e)?cl(e.slice(2),n?2:8):Ru.test(e)?Rn:+e}function yo(e){return Qe(e,we(e))}function Zh(e){return e?Lt(U(e),-gt,gt):e===0?e:0}function j(e){return e==null?"":Ce(e)}var Xh=Yt(function(e,t){if(In(t)||_e(t)){Qe(t,le(t),e);return}for(var n in t)Y.call(t,n)&&mn(e,n,t[n])}),_o=Yt(function(e,t){Qe(t,we(t),e)}),Sr=Yt(function(e,t,n,i){Qe(t,we(t),e,i)}),Qh=Yt(function(e,t,n,i){Qe(t,le(t),e,i)}),ep=lt(ni);function tp(e,t){var n=jt(e);return t==null?n:Js(n,t)}var np=M(function(e,t){e=J(e);var n=-1,i=t.length,a=i>2?t[2]:r;for(a&&ve(t[0],t[1],a)&&(i=1);++n<i;)for(var u=t[n],c=we(u),h=-1,g=c.length;++h<g;){var S=c[h],x=e[S];(x===r||Ke(x,Ht[S])&&!Y.call(e,S))&&(e[S]=u[S])}return e}),rp=M(function(e){return e.push(r,$a),Ae(wo,r,e)});function ip(e,t){return Ps(e,F(t,3),Xe)}function sp(e,t){return Ps(e,F(t,3),ii)}function ap(e,t){return e==null?e:ri(e,F(t,3),we)}function op(e,t){return e==null?e:ta(e,F(t,3),we)}function up(e,t){return e&&Xe(e,F(t,3))}function lp(e,t){return e&&ii(e,F(t,3))}function cp(e){return e==null?[]:nr(e,le(e))}function fp(e){return e==null?[]:nr(e,we(e))}function Ui(e,t,n){var i=e==null?r:Ot(e,t);return i===r?n:i}function dp(e,t){return e!=null&&Ma(e,t,Nc)}function Di(e,t){return e!=null&&Ma(e,t,$c)}var hp=Fa(function(e,t,n){t!=null&&typeof t.toString!="function"&&(t=Gn.call(t)),e[t]=n},Wi(Se)),pp=Fa(function(e,t,n){t!=null&&typeof t.toString!="function"&&(t=Gn.call(t)),Y.call(e,t)?e[t].push(n):e[t]=[n]},F),gp=M(_n);function le(e){return _e(e)?js(e):ui(e)}function we(e){return _e(e)?js(e,!0):Hc(e)}function vp(e,t){var n={};return t=F(t,3),Xe(e,function(i,a,u){ot(n,t(i,a,u),i)}),n}function mp(e,t){var n={};return t=F(t,3),Xe(e,function(i,a,u){ot(n,a,t(i,a,u))}),n}var yp=Yt(function(e,t,n){rr(e,t,n)}),wo=Yt(function(e,t,n,i){rr(e,t,n,i)}),_p=lt(function(e,t){var n={};if(e==null)return n;var i=!1;t=ne(t,function(u){return u=xt(u,e),i||(i=u.length>1),u}),Qe(e,xi(e),n),i&&(n=De(n,K|Ye|V,hf));for(var a=t.length;a--;)pi(n,t[a]);return n});function wp(e,t){return So(e,yr(F(t)))}var Sp=lt(function(e,t){return e==null?{}:Kc(e,t)});function So(e,t){if(e==null)return{};var n=ne(xi(e),function(i){return[i]});return t=F(t),fa(e,n,function(i,a){return t(i,a[0])})}function xp(e,t,n){t=xt(t,e);var i=-1,a=t.length;for(a||(a=1,e=r);++i<a;){var u=e==null?r:e[et(t[i])];u===r&&(i=a,u=n),e=ft(u)?u.call(e):u}return e}function Ip(e,t,n){return e==null?e:Sn(e,t,n)}function Ep(e,t,n,i){return i=typeof i=="function"?i:r,e==null?e:Sn(e,t,n,i)}var xo=Oa(le),Io=Oa(we);function Ap(e,t,n){var i=N(e),a=i||Et(e)||Xt(e);if(t=F(t,4),n==null){var u=e&&e.constructor;a?n=i?new u:[]:re(e)?n=ft(u)?jt(zn(e)):{}:n={}}return(a?Ne:Xe)(e,function(c,h,g){return t(n,c,h,g)}),n}function bp(e,t){return e==null?!0:pi(e,t)}function Cp(e,t,n){return e==null?e:va(e,t,mi(n))}function Tp(e,t,n,i){return i=typeof i=="function"?i:r,e==null?e:va(e,t,mi(n),i)}function Qt(e){return e==null?[]:Yr(e,le(e))}function Rp(e){return e==null?[]:Yr(e,we(e))}function Fp(e,t,n){return n===r&&(n=t,t=r),n!==r&&(n=Be(n),n=n===n?n:0),t!==r&&(t=Be(t),t=t===t?t:0),Lt(Be(e),t,n)}function Pp(e,t,n){return t=dt(t),n===r?(n=t,t=0):n=dt(n),e=Be(e),Uc(e,t,n)}function Lp(e,t,n){if(n&&typeof n!="boolean"&&ve(e,t,n)&&(t=n=r),n===r&&(typeof t=="boolean"?(n=t,t=r):typeof e=="boolean"&&(n=e,e=r)),e===r&&t===r?(e=0,t=1):(e=dt(e),t===r?(t=e,e=0):t=dt(t)),e>t){var i=e;e=t,t=i}if(n||e%1||t%1){var a=zs();return he(e+a*(t-e+ll("1e-"+((a+"").length-1))),t)}return fi(e,t)}var Op=Jt(function(e,t,n){return t=t.toLowerCase(),e+(n?Eo(t):t)});function Eo(e){return Mi(j(e).toLowerCase())}function Ao(e){return e=j(e),e&&e.replace(Nu,xl).replace(Qu,"")}function Np(e,t,n){e=j(e),t=Ce(t);var i=e.length;n=n===r?i:Lt(U(n),0,i);var a=n;return n-=t.length,n>=0&&e.slice(n,a)==t}function $p(e){return e=j(e),e&&pu.test(e)?e.replace(ts,Il):e}function Up(e){return e=j(e),e&&wu.test(e)?e.replace(Or,"\\$&"):e}var Dp=Jt(function(e,t,n){return e+(n?"-":"")+t.toLowerCase()}),Mp=Jt(function(e,t,n){return e+(n?" ":"")+t.toLowerCase()}),Wp=Ca("toLowerCase");function Bp(e,t,n){e=j(e),t=U(t);var i=t?Gt(e):0;if(!t||i>=t)return e;var a=(t-i)/2;return lr(Jn(a),n)+e+lr(Yn(a),n)}function kp(e,t,n){e=j(e),t=U(t);var i=t?Gt(e):0;return t&&i<t?e+lr(t-i,n):e}function Vp(e,t,n){e=j(e),t=U(t);var i=t?Gt(e):0;return t&&i<t?lr(t-i,n)+e:e}function Gp(e,t,n){return n||t==null?t=0:t&&(t=+t),Yl(j(e).replace(Nr,""),t||0)}function qp(e,t,n){return(n?ve(e,t,n):t===r)?t=1:t=U(t),di(j(e),t)}function Hp(){var e=arguments,t=j(e[0]);return e.length<3?t:t.replace(e[1],e[2])}var zp=Jt(function(e,t,n){return e+(n?"_":"")+t.toLowerCase()});function Kp(e,t,n){return n&&typeof n!="number"&&ve(e,t,n)&&(t=n=r),n=n===r?Ze:n>>>0,n?(e=j(e),e&&(typeof t=="string"||t!=null&&!$i(t))&&(t=Ce(t),!t&&Vt(e))?It(He(e),0,n):e.split(t,n)):[]}var jp=Jt(function(e,t,n){return e+(n?" ":"")+Mi(t)});function Yp(e,t,n){return e=j(e),n=n==null?0:Lt(U(n),0,e.length),t=Ce(t),e.slice(n,n+t.length)==t}function Jp(e,t,n){var i=o.templateSettings;n&&ve(e,t,n)&&(t=r),e=j(e),t=Sr({},t,i,Na);var a=Sr({},t.imports,i.imports,Na),u=le(a),c=Yr(a,u),h,g,S=0,x=t.interpolate||Nn,E="__p += '",A=Zr((t.escape||Nn).source+"|"+x.source+"|"+(x===ns?Tu:Nn).source+"|"+(t.evaluate||Nn).source+"|$","g"),T="//# sourceURL="+(Y.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++il+"]")+`
|
|
5
|
+
`;e.replace(A,function(L,B,G,Re,me,Fe){return G||(G=Re),E+=e.slice(S,Fe).replace($u,El),B&&(h=!0,E+=`' +
|
|
6
6
|
__e(`+B+`) +
|
|
7
7
|
'`),me&&(g=!0,E+=`';
|
|
8
8
|
`+me+`;
|
|
9
|
-
__p += '`),
|
|
10
|
-
((__t = (`+
|
|
11
|
-
'`),
|
|
12
|
-
`;var
|
|
9
|
+
__p += '`),G&&(E+=`' +
|
|
10
|
+
((__t = (`+G+`)) == null ? '' : __t) +
|
|
11
|
+
'`),S=Fe+L.length,L}),E+=`';
|
|
12
|
+
`;var P=Y.call(t,"variable")&&t.variable;if(!P)E=`with (obj) {
|
|
13
13
|
`+E+`
|
|
14
14
|
}
|
|
15
|
-
`;else if(
|
|
16
|
-
`+(
|
|
17
|
-
`)+"var __t, __p = ''"+(
|
|
15
|
+
`;else if(bu.test(P))throw new O(R);E=(g?E.replace(cu,""):E).replace(fu,"$1").replace(du,"$1;"),E="function("+(P||"obj")+`) {
|
|
16
|
+
`+(P?"":`obj || (obj = {});
|
|
17
|
+
`)+"var __t, __p = ''"+(h?", __e = _.escape":"")+(g?`, __j = Array.prototype.join;
|
|
18
18
|
function print() { __p += __j.call(arguments, '') }
|
|
19
19
|
`:`;
|
|
20
20
|
`)+E+`return __p
|
|
21
|
-
}`;var U=Co(function(){return H(u,C+"return "+E).apply(r,c)});if(U.source=E,Oi(U))throw U;return U}function Xh(e){return j(e).toLowerCase()}function Qh(e){return j(e).toUpperCase()}function eg(e,t,n){if(e=j(e),e&&(n||t===r))return $s(e);if(!e||!(t=Ce(t)))return e;var i=He(e),a=He(t),u=Us(i,a),c=Ds(i,a)+1;return xt(i,u,c).join("")}function tg(e,t,n){if(e=j(e),e&&(n||t===r))return e.slice(0,Ws(e)+1);if(!e||!(t=Ce(t)))return e;var i=He(e),a=Ds(i,He(t))+1;return xt(i,0,a).join("")}function ng(e,t,n){if(e=j(e),e&&(n||t===r))return e.replace(Or,"");if(!e||!(t=Ce(t)))return e;var i=He(e),a=Us(i,He(t));return xt(i,a).join("")}function rg(e,t){var n=Yo,i=Jo;if(re(t)){var a="separator"in t?t.separator:a;n="length"in t?$(t.length):n,i="omission"in t?Ce(t.omission):i}e=j(e);var u=e.length;if(Gt(e)){var c=He(e);u=c.length}if(n>=u)return e;var d=n-Vt(i);if(d<1)return i;var g=c?xt(c,0,d).join(""):e.slice(0,d);if(a===r)return g+i;if(c&&(d+=g.length-d),$i(a)){if(e.slice(d).search(a)){var w,S=g;for(a.global||(a=Zr(a.source,j(rs.exec(a))+"g")),a.lastIndex=0;w=a.exec(S);)var E=w.index;g=g.slice(0,E===r?d:E)}}else if(e.indexOf(Ce(a),d)!=d){var A=g.lastIndexOf(a);A>-1&&(g=g.slice(0,A))}return g+i}function ig(e){return e=j(e),e&&hu.test(e)?e.replace(es,Ll):e}var sg=Jt(function(e,t,n){return e+(n?" ":"")+t.toUpperCase()}),Mi=Ca("toUpperCase");function bo(e,t,n){return e=j(e),t=n?r:t,t===r?Cl(e)?$l(e):yl(e):e.match(t)||[]}var Co=M(function(e,t){try{return Ae(e,r,t)}catch(n){return Oi(n)?n:new N(n)}}),ag=ut(function(e,t){return Oe(t,function(n){n=et(n),at(e,n,Li(e[n],e))}),e});function og(e){var t=e==null?0:e.length,n=T();return e=t?ne(e,function(i){if(typeof i[1]!="function")throw new $e(x);return[n(i[0]),i[1]]}):[],M(function(i){for(var a=-1;++a<t;){var u=e[a];if(Ae(u[0],this,i))return Ae(u[1],this,i)}})}function ug(e){return Lc(De(e,K))}function Wi(e){return function(){return e}}function lg(e,t){return e==null||e!==e?t:e}var cg=Ra(),fg=Ra(!0);function Se(e){return e}function Bi(e){return sa(typeof e=="function"?e:De(e,K))}function dg(e){return oa(De(e,K))}function pg(e,t){return ua(e,De(t,K))}var hg=M(function(e,t){return function(n){return _n(n,e,t)}}),gg=M(function(e,t){return function(n){return _n(e,n,t)}});function ki(e,t,n){var i=le(t),a=nr(t,i);n==null&&!(re(t)&&(a.length||!i.length))&&(n=t,t=e,e=this,a=nr(t,le(t)));var u=!(re(n)&&"chain"in n)||!!n.chain,c=ct(e);return Oe(a,function(d){var g=t[d];e[d]=g,c&&(e.prototype[d]=function(){var w=this.__chain__;if(u||w){var S=e(this.__wrapped__),E=S.__actions__=ye(this.__actions__);return E.push({func:g,args:arguments,thisArg:e}),S.__chain__=w,S}return g.apply(e,mt([this.value()],arguments))})}),e}function vg(){return fe._===this&&(fe._=kl),this}function Gi(){}function mg(e){return e=$(e),M(function(t){return la(t,e)})}var yg=_i(ne),_g=_i(Fs),wg=_i(qr);function To(e){return bi(e)?Hr(et(e)):Yc(e)}function Sg(e){return function(t){return e==null?r:Nt(e,t)}}var Ig=Pa(),xg=Pa(!0);function Vi(){return[]}function qi(){return!1}function Eg(){return{}}function Ag(){return""}function bg(){return!0}function Cg(e,t){if(e=$(e),e<1||e>gt)return[];var n=Ze,i=pe(e,Ze);t=T(t),e-=Ze;for(var a=jr(i,t);++n<e;)t(n);return a}function Tg(e){return O(e)?ne(e,et):Te(e)?[e]:ye(Ka(j(e)))}function Rg(e){var t=++Wl;return j(e)+t}var Fg=ur(function(e,t){return e+t},0),Pg=wi("ceil"),Lg=ur(function(e,t){return e/t},1),Ng=wi("floor");function Og(e){return e&&e.length?tr(e,Se,si):r}function $g(e,t){return e&&e.length?tr(e,T(t,2),si):r}function Ug(e){return Ns(e,Se)}function Dg(e,t){return Ns(e,T(t,2))}function Mg(e){return e&&e.length?tr(e,Se,li):r}function Wg(e,t){return e&&e.length?tr(e,T(t,2),li):r}var Bg=ur(function(e,t){return e*t},1),kg=wi("round"),Gg=ur(function(e,t){return e-t},0);function Vg(e){return e&&e.length?Kr(e,Se):0}function qg(e,t){return e&&e.length?Kr(e,T(t,2)):0}return o.after=dp,o.ary=io,o.assign=Qp,o.assignIn=_o,o.assignInWith=Sr,o.assignWith=eh,o.at=th,o.before=so,o.bind=Li,o.bindAll=ag,o.bindKey=ao,o.castArray=Ep,o.chain=to,o.chunk=Nf,o.compact=Of,o.concat=$f,o.cond=og,o.conforms=ug,o.constant=Wi,o.countBy=Vd,o.create=nh,o.curry=oo,o.curryRight=uo,o.debounce=lo,o.defaults=rh,o.defaultsDeep=ih,o.defer=pp,o.delay=hp,o.difference=Uf,o.differenceBy=Df,o.differenceWith=Mf,o.drop=Wf,o.dropRight=Bf,o.dropRightWhile=kf,o.dropWhile=Gf,o.fill=Vf,o.filter=Hd,o.flatMap=jd,o.flatMapDeep=Yd,o.flatMapDepth=Jd,o.flatten=Za,o.flattenDeep=qf,o.flattenDepth=Hf,o.flip=gp,o.flow=cg,o.flowRight=fg,o.fromPairs=zf,o.functions=fh,o.functionsIn=dh,o.groupBy=Zd,o.initial=jf,o.intersection=Yf,o.intersectionBy=Jf,o.intersectionWith=Zf,o.invert=hh,o.invertBy=gh,o.invokeMap=Qd,o.iteratee=Bi,o.keyBy=ep,o.keys=le,o.keysIn=we,o.map=gr,o.mapKeys=mh,o.mapValues=yh,o.matches=dg,o.matchesProperty=pg,o.memoize=mr,o.merge=_h,o.mergeWith=wo,o.method=hg,o.methodOf=gg,o.mixin=ki,o.negate=yr,o.nthArg=mg,o.omit=wh,o.omitBy=Sh,o.once=vp,o.orderBy=tp,o.over=yg,o.overArgs=mp,o.overEvery=_g,o.overSome=wg,o.partial=Ni,o.partialRight=co,o.partition=np,o.pick=Ih,o.pickBy=So,o.property=To,o.propertyOf=Sg,o.pull=td,o.pullAll=Qa,o.pullAllBy=nd,o.pullAllWith=rd,o.pullAt=id,o.range=Ig,o.rangeRight=xg,o.rearg=yp,o.reject=sp,o.remove=sd,o.rest=_p,o.reverse=Fi,o.sampleSize=op,o.set=Eh,o.setWith=Ah,o.shuffle=up,o.slice=ad,o.sortBy=fp,o.sortedUniq=pd,o.sortedUniqBy=hd,o.split=jh,o.spread=wp,o.tail=gd,o.take=vd,o.takeRight=md,o.takeRightWhile=yd,o.takeWhile=_d,o.tap=Od,o.throttle=Sp,o.thru=hr,o.toArray=vo,o.toPairs=Io,o.toPairsIn=xo,o.toPath=Tg,o.toPlainObject=yo,o.transform=bh,o.unary=Ip,o.union=wd,o.unionBy=Sd,o.unionWith=Id,o.uniq=xd,o.uniqBy=Ed,o.uniqWith=Ad,o.unset=Ch,o.unzip=Pi,o.unzipWith=eo,o.update=Th,o.updateWith=Rh,o.values=Qt,o.valuesIn=Fh,o.without=bd,o.words=bo,o.wrap=xp,o.xor=Cd,o.xorBy=Td,o.xorWith=Rd,o.zip=Fd,o.zipObject=Pd,o.zipObjectDeep=Ld,o.zipWith=Nd,o.entries=Io,o.entriesIn=xo,o.extend=_o,o.extendWith=Sr,ki(o,o),o.add=Fg,o.attempt=Co,o.camelCase=Oh,o.capitalize=Eo,o.ceil=Pg,o.clamp=Ph,o.clone=Ap,o.cloneDeep=Cp,o.cloneDeepWith=Tp,o.cloneWith=bp,o.conformsTo=Rp,o.deburr=Ao,o.defaultTo=lg,o.divide=Lg,o.endsWith=$h,o.eq=Ke,o.escape=Uh,o.escapeRegExp=Dh,o.every=qd,o.find=zd,o.findIndex=Ya,o.findKey=sh,o.findLast=Kd,o.findLastIndex=Ja,o.findLastKey=ah,o.floor=Ng,o.forEach=no,o.forEachRight=ro,o.forIn=oh,o.forInRight=uh,o.forOwn=lh,o.forOwnRight=ch,o.get=Ui,o.gt=Fp,o.gte=Pp,o.has=ph,o.hasIn=Di,o.head=Xa,o.identity=Se,o.includes=Xd,o.indexOf=Kf,o.inRange=Lh,o.invoke=vh,o.isArguments=Ut,o.isArray=O,o.isArrayBuffer=Lp,o.isArrayLike=_e,o.isArrayLikeObject=se,o.isBoolean=Np,o.isBuffer=Et,o.isDate=Op,o.isElement=$p,o.isEmpty=Up,o.isEqual=Dp,o.isEqualWith=Mp,o.isError=Oi,o.isFinite=Wp,o.isFunction=ct,o.isInteger=fo,o.isLength=_r,o.isMap=po,o.isMatch=Bp,o.isMatchWith=kp,o.isNaN=Gp,o.isNative=Vp,o.isNil=Hp,o.isNull=qp,o.isNumber=ho,o.isObject=re,o.isObjectLike=ie,o.isPlainObject=An,o.isRegExp=$i,o.isSafeInteger=zp,o.isSet=go,o.isString=wr,o.isSymbol=Te,o.isTypedArray=Xt,o.isUndefined=Kp,o.isWeakMap=jp,o.isWeakSet=Yp,o.join=Xf,o.kebabCase=Mh,o.last=We,o.lastIndexOf=Qf,o.lowerCase=Wh,o.lowerFirst=Bh,o.lt=Jp,o.lte=Zp,o.max=Og,o.maxBy=$g,o.mean=Ug,o.meanBy=Dg,o.min=Mg,o.minBy=Wg,o.stubArray=Vi,o.stubFalse=qi,o.stubObject=Eg,o.stubString=Ag,o.stubTrue=bg,o.multiply=Bg,o.nth=ed,o.noConflict=vg,o.noop=Gi,o.now=vr,o.pad=kh,o.padEnd=Gh,o.padStart=Vh,o.parseInt=qh,o.random=Nh,o.reduce=rp,o.reduceRight=ip,o.repeat=Hh,o.replace=zh,o.result=xh,o.round=kg,o.runInContext=h,o.sample=ap,o.size=lp,o.snakeCase=Kh,o.some=cp,o.sortedIndex=od,o.sortedIndexBy=ud,o.sortedIndexOf=ld,o.sortedLastIndex=cd,o.sortedLastIndexBy=fd,o.sortedLastIndexOf=dd,o.startCase=Yh,o.startsWith=Jh,o.subtract=Gg,o.sum=Vg,o.sumBy=qg,o.template=Zh,o.times=Cg,o.toFinite=ft,o.toInteger=$,o.toLength=mo,o.toLower=Xh,o.toNumber=Be,o.toSafeInteger=Xp,o.toString=j,o.toUpper=Qh,o.trim=eg,o.trimEnd=tg,o.trimStart=ng,o.truncate=rg,o.unescape=ig,o.uniqueId=Rg,o.upperCase=sg,o.upperFirst=Mi,o.each=no,o.eachRight=ro,o.first=Xa,ki(o,(function(){var e={};return Xe(o,function(t,n){Y.call(o.prototype,n)||(e[n]=t)}),e})(),{chain:!1}),o.VERSION=l,Oe(["bind","bindKey","curry","curryRight","partial","partialRight"],function(e){o[e].placeholder=o}),Oe(["drop","take"],function(e,t){k.prototype[e]=function(n){n=n===r?1:ue($(n),0);var i=this.__filtered__&&!t?new k(this):this.clone();return i.__filtered__?i.__takeCount__=pe(n,i.__takeCount__):i.__views__.push({size:pe(n,Ze),type:e+(i.__dir__<0?"Right":"")}),i},k.prototype[e+"Right"]=function(n){return this.reverse()[e](n).reverse()}}),Oe(["filter","map","takeWhile"],function(e,t){var n=t+1,i=n==Zi||n==eu;k.prototype[e]=function(a){var u=this.clone();return u.__iteratees__.push({iteratee:T(a,3),type:n}),u.__filtered__=u.__filtered__||i,u}}),Oe(["head","last"],function(e,t){var n="take"+(t?"Right":"");k.prototype[e]=function(){return this[n](1).value()[0]}}),Oe(["initial","tail"],function(e,t){var n="drop"+(t?"":"Right");k.prototype[e]=function(){return this.__filtered__?new k(this):this[n](1)}}),k.prototype.compact=function(){return this.filter(Se)},k.prototype.find=function(e){return this.filter(e).head()},k.prototype.findLast=function(e){return this.reverse().find(e)},k.prototype.invokeMap=M(function(e,t){return typeof e=="function"?new k(this):this.map(function(n){return _n(n,e,t)})}),k.prototype.reject=function(e){return this.filter(yr(T(e)))},k.prototype.slice=function(e,t){e=$(e);var n=this;return n.__filtered__&&(e>0||t<0)?new k(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),t!==r&&(t=$(t),n=t<0?n.dropRight(-t):n.take(t-e)),n)},k.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},k.prototype.toArray=function(){return this.take(Ze)},Xe(k.prototype,function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),i=/^(?:head|last)$/.test(t),a=o[i?"take"+(t=="last"?"Right":""):t],u=i||/^find/.test(t);a&&(o.prototype[t]=function(){var c=this.__wrapped__,d=i?[1]:arguments,g=c instanceof k,w=d[0],S=g||O(c),E=function(B){var V=a.apply(o,mt([B],d));return i&&A?V[0]:V};S&&n&&typeof w=="function"&&w.length!=1&&(g=S=!1);var A=this.__chain__,C=!!this.__actions__.length,R=u&&!A,U=g&&!C;if(!u&&S){c=U?c:new k(this);var F=e.apply(c,d);return F.__actions__.push({func:hr,args:[E],thisArg:r}),new Ue(F,A)}return R&&U?e.apply(this,d):(F=this.thru(E),R?i?F.value()[0]:F.value():F)})}),Oe(["pop","push","shift","sort","splice","unshift"],function(e){var t=Bn[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",i=/^(?:pop|shift)$/.test(e);o.prototype[e]=function(){var a=arguments;if(i&&!this.__chain__){var u=this.value();return t.apply(O(u)?u:[],a)}return this[n](function(c){return t.apply(O(c)?c:[],a)})}}),Xe(k.prototype,function(e,t){var n=o[t];if(n){var i=n.name+"";Y.call(Kt,i)||(Kt[i]=[]),Kt[i].push({name:t,func:n})}}),Kt[or(r,Je).name]=[{name:"wrapper",func:r}],k.prototype.clone=rc,k.prototype.reverse=ic,k.prototype.value=sc,o.prototype.at=$d,o.prototype.chain=Ud,o.prototype.commit=Dd,o.prototype.next=Md,o.prototype.plant=Bd,o.prototype.reverse=kd,o.prototype.toJSON=o.prototype.valueOf=o.prototype.value=Gd,o.prototype.first=o.prototype.head,dn&&(o.prototype[dn]=Wd),o}),qt=Ul();Tt?((Tt.exports=qt)._=qt,Br._=qt):fe._=qt}).call(sv)})(Cn,Cn.exports)),Cn.exports}var ov=av();const Hi=f=>{const s=ov.startCase(f).toLowerCase();return s.charAt(0).toUpperCase()+s.slice(1)},uv=["src/application.config.ts","src/application-config.ts","src/applicationConfig.ts"],No=/serverVariables\s*:\s*\{/,lv=/defineApplication\s*\(\s*\{/,cv=async({projectRoot:f,variables:s})=>{const r=await fv(f);if(r===null)return{status:"skipped-no-config"};const l=await tt.readFile(r,"utf8"),p=s.filter(P=>!new RegExp(`\\b${P.name}\\s*:`).test(l));if(p.length===0)return{status:"skipped-existing"};const I=dv(p);if(No.test(l)){const P=l.replace(No,D=>`${D}
|
|
22
|
-
${
|
|
23
|
-
${
|
|
24
|
-
${
|
|
25
|
-
`});return
|
|
21
|
+
}`;var D=Co(function(){return z(u,T+"return "+E).apply(r,c)});if(D.source=E,Ni(D))throw D;return D}function Zp(e){return j(e).toLowerCase()}function Xp(e){return j(e).toUpperCase()}function Qp(e,t,n){if(e=j(e),e&&(n||t===r))return $s(e);if(!e||!(t=Ce(t)))return e;var i=He(e),a=He(t),u=Us(i,a),c=Ds(i,a)+1;return It(i,u,c).join("")}function eg(e,t,n){if(e=j(e),e&&(n||t===r))return e.slice(0,Ws(e)+1);if(!e||!(t=Ce(t)))return e;var i=He(e),a=Ds(i,He(t))+1;return It(i,0,a).join("")}function tg(e,t,n){if(e=j(e),e&&(n||t===r))return e.replace(Nr,"");if(!e||!(t=Ce(t)))return e;var i=He(e),a=Us(i,He(t));return It(i,a).join("")}function ng(e,t){var n=jo,i=Yo;if(re(t)){var a="separator"in t?t.separator:a;n="length"in t?U(t.length):n,i="omission"in t?Ce(t.omission):i}e=j(e);var u=e.length;if(Vt(e)){var c=He(e);u=c.length}if(n>=u)return e;var h=n-Gt(i);if(h<1)return i;var g=c?It(c,0,h).join(""):e.slice(0,h);if(a===r)return g+i;if(c&&(h+=g.length-h),$i(a)){if(e.slice(h).search(a)){var S,x=g;for(a.global||(a=Zr(a.source,j(rs.exec(a))+"g")),a.lastIndex=0;S=a.exec(x);)var E=S.index;g=g.slice(0,E===r?h:E)}}else if(e.indexOf(Ce(a),h)!=h){var A=g.lastIndexOf(a);A>-1&&(g=g.slice(0,A))}return g+i}function rg(e){return e=j(e),e&&hu.test(e)?e.replace(es,Pl):e}var ig=Jt(function(e,t,n){return e+(n?" ":"")+t.toUpperCase()}),Mi=Ca("toUpperCase");function bo(e,t,n){return e=j(e),t=n?r:t,t===r?bl(e)?Nl(e):ml(e):e.match(t)||[]}var Co=M(function(e,t){try{return Ae(e,r,t)}catch(n){return Ni(n)?n:new O(n)}}),sg=lt(function(e,t){return Ne(t,function(n){n=et(n),ot(e,n,Li(e[n],e))}),e});function ag(e){var t=e==null?0:e.length,n=F();return e=t?ne(e,function(i){if(typeof i[1]!="function")throw new $e(I);return[n(i[0]),i[1]]}):[],M(function(i){for(var a=-1;++a<t;){var u=e[a];if(Ae(u[0],this,i))return Ae(u[1],this,i)}})}function og(e){return Pc(De(e,K))}function Wi(e){return function(){return e}}function ug(e,t){return e==null||e!==e?t:e}var lg=Ra(),cg=Ra(!0);function Se(e){return e}function Bi(e){return sa(typeof e=="function"?e:De(e,K))}function fg(e){return oa(De(e,K))}function dg(e,t){return ua(e,De(t,K))}var hg=M(function(e,t){return function(n){return _n(n,e,t)}}),pg=M(function(e,t){return function(n){return _n(e,n,t)}});function ki(e,t,n){var i=le(t),a=nr(t,i);n==null&&!(re(t)&&(a.length||!i.length))&&(n=t,t=e,e=this,a=nr(t,le(t)));var u=!(re(n)&&"chain"in n)||!!n.chain,c=ft(e);return Ne(a,function(h){var g=t[h];e[h]=g,c&&(e.prototype[h]=function(){var S=this.__chain__;if(u||S){var x=e(this.__wrapped__),E=x.__actions__=ye(this.__actions__);return E.push({func:g,args:arguments,thisArg:e}),x.__chain__=S,x}return g.apply(e,mt([this.value()],arguments))})}),e}function gg(){return fe._===this&&(fe._=Bl),this}function Vi(){}function vg(e){return e=U(e),M(function(t){return la(t,e)})}var mg=_i(ne),yg=_i(Fs),_g=_i(qr);function To(e){return bi(e)?Hr(et(e)):jc(e)}function wg(e){return function(t){return e==null?r:Ot(e,t)}}var Sg=Pa(),xg=Pa(!0);function Gi(){return[]}function qi(){return!1}function Ig(){return{}}function Eg(){return""}function Ag(){return!0}function bg(e,t){if(e=U(e),e<1||e>gt)return[];var n=Ze,i=he(e,Ze);t=F(t),e-=Ze;for(var a=jr(i,t);++n<e;)t(n);return a}function Cg(e){return N(e)?ne(e,et):Te(e)?[e]:ye(Ka(j(e)))}function Tg(e){var t=++Ml;return j(e)+t}var Rg=ur(function(e,t){return e+t},0),Fg=wi("ceil"),Pg=ur(function(e,t){return e/t},1),Lg=wi("floor");function Og(e){return e&&e.length?tr(e,Se,si):r}function Ng(e,t){return e&&e.length?tr(e,F(t,2),si):r}function $g(e){return Os(e,Se)}function Ug(e,t){return Os(e,F(t,2))}function Dg(e){return e&&e.length?tr(e,Se,li):r}function Mg(e,t){return e&&e.length?tr(e,F(t,2),li):r}var Wg=ur(function(e,t){return e*t},1),Bg=wi("round"),kg=ur(function(e,t){return e-t},0);function Vg(e){return e&&e.length?Kr(e,Se):0}function Gg(e,t){return e&&e.length?Kr(e,F(t,2)):0}return o.after=fh,o.ary=io,o.assign=Xh,o.assignIn=_o,o.assignInWith=Sr,o.assignWith=Qh,o.at=ep,o.before=so,o.bind=Li,o.bindAll=sg,o.bindKey=ao,o.castArray=Ih,o.chain=to,o.chunk=Lf,o.compact=Of,o.concat=Nf,o.cond=ag,o.conforms=og,o.constant=Wi,o.countBy=Vd,o.create=tp,o.curry=oo,o.curryRight=uo,o.debounce=lo,o.defaults=np,o.defaultsDeep=rp,o.defer=dh,o.delay=hh,o.difference=$f,o.differenceBy=Uf,o.differenceWith=Df,o.drop=Mf,o.dropRight=Wf,o.dropRightWhile=Bf,o.dropWhile=kf,o.fill=Vf,o.filter=qd,o.flatMap=Kd,o.flatMapDeep=jd,o.flatMapDepth=Yd,o.flatten=Za,o.flattenDeep=Gf,o.flattenDepth=qf,o.flip=ph,o.flow=lg,o.flowRight=cg,o.fromPairs=Hf,o.functions=cp,o.functionsIn=fp,o.groupBy=Jd,o.initial=Kf,o.intersection=jf,o.intersectionBy=Yf,o.intersectionWith=Jf,o.invert=hp,o.invertBy=pp,o.invokeMap=Xd,o.iteratee=Bi,o.keyBy=Qd,o.keys=le,o.keysIn=we,o.map=gr,o.mapKeys=vp,o.mapValues=mp,o.matches=fg,o.matchesProperty=dg,o.memoize=mr,o.merge=yp,o.mergeWith=wo,o.method=hg,o.methodOf=pg,o.mixin=ki,o.negate=yr,o.nthArg=vg,o.omit=_p,o.omitBy=wp,o.once=gh,o.orderBy=eh,o.over=mg,o.overArgs=vh,o.overEvery=yg,o.overSome=_g,o.partial=Oi,o.partialRight=co,o.partition=th,o.pick=Sp,o.pickBy=So,o.property=To,o.propertyOf=wg,o.pull=ed,o.pullAll=Qa,o.pullAllBy=td,o.pullAllWith=nd,o.pullAt=rd,o.range=Sg,o.rangeRight=xg,o.rearg=mh,o.reject=ih,o.remove=id,o.rest=yh,o.reverse=Fi,o.sampleSize=ah,o.set=Ip,o.setWith=Ep,o.shuffle=oh,o.slice=sd,o.sortBy=ch,o.sortedUniq=dd,o.sortedUniqBy=hd,o.split=Kp,o.spread=_h,o.tail=pd,o.take=gd,o.takeRight=vd,o.takeRightWhile=md,o.takeWhile=yd,o.tap=Od,o.throttle=wh,o.thru=pr,o.toArray=vo,o.toPairs=xo,o.toPairsIn=Io,o.toPath=Cg,o.toPlainObject=yo,o.transform=Ap,o.unary=Sh,o.union=_d,o.unionBy=wd,o.unionWith=Sd,o.uniq=xd,o.uniqBy=Id,o.uniqWith=Ed,o.unset=bp,o.unzip=Pi,o.unzipWith=eo,o.update=Cp,o.updateWith=Tp,o.values=Qt,o.valuesIn=Rp,o.without=Ad,o.words=bo,o.wrap=xh,o.xor=bd,o.xorBy=Cd,o.xorWith=Td,o.zip=Rd,o.zipObject=Fd,o.zipObjectDeep=Pd,o.zipWith=Ld,o.entries=xo,o.entriesIn=Io,o.extend=_o,o.extendWith=Sr,ki(o,o),o.add=Rg,o.attempt=Co,o.camelCase=Op,o.capitalize=Eo,o.ceil=Fg,o.clamp=Fp,o.clone=Eh,o.cloneDeep=bh,o.cloneDeepWith=Ch,o.cloneWith=Ah,o.conformsTo=Th,o.deburr=Ao,o.defaultTo=ug,o.divide=Pg,o.endsWith=Np,o.eq=Ke,o.escape=$p,o.escapeRegExp=Up,o.every=Gd,o.find=Hd,o.findIndex=Ya,o.findKey=ip,o.findLast=zd,o.findLastIndex=Ja,o.findLastKey=sp,o.floor=Lg,o.forEach=no,o.forEachRight=ro,o.forIn=ap,o.forInRight=op,o.forOwn=up,o.forOwnRight=lp,o.get=Ui,o.gt=Rh,o.gte=Fh,o.has=dp,o.hasIn=Di,o.head=Xa,o.identity=Se,o.includes=Zd,o.indexOf=zf,o.inRange=Pp,o.invoke=gp,o.isArguments=Ut,o.isArray=N,o.isArrayBuffer=Ph,o.isArrayLike=_e,o.isArrayLikeObject=se,o.isBoolean=Lh,o.isBuffer=Et,o.isDate=Oh,o.isElement=Nh,o.isEmpty=$h,o.isEqual=Uh,o.isEqualWith=Dh,o.isError=Ni,o.isFinite=Mh,o.isFunction=ft,o.isInteger=fo,o.isLength=_r,o.isMap=ho,o.isMatch=Wh,o.isMatchWith=Bh,o.isNaN=kh,o.isNative=Vh,o.isNil=qh,o.isNull=Gh,o.isNumber=po,o.isObject=re,o.isObjectLike=ie,o.isPlainObject=An,o.isRegExp=$i,o.isSafeInteger=Hh,o.isSet=go,o.isString=wr,o.isSymbol=Te,o.isTypedArray=Xt,o.isUndefined=zh,o.isWeakMap=Kh,o.isWeakSet=jh,o.join=Zf,o.kebabCase=Dp,o.last=We,o.lastIndexOf=Xf,o.lowerCase=Mp,o.lowerFirst=Wp,o.lt=Yh,o.lte=Jh,o.max=Og,o.maxBy=Ng,o.mean=$g,o.meanBy=Ug,o.min=Dg,o.minBy=Mg,o.stubArray=Gi,o.stubFalse=qi,o.stubObject=Ig,o.stubString=Eg,o.stubTrue=Ag,o.multiply=Wg,o.nth=Qf,o.noConflict=gg,o.noop=Vi,o.now=vr,o.pad=Bp,o.padEnd=kp,o.padStart=Vp,o.parseInt=Gp,o.random=Lp,o.reduce=nh,o.reduceRight=rh,o.repeat=qp,o.replace=Hp,o.result=xp,o.round=Bg,o.runInContext=p,o.sample=sh,o.size=uh,o.snakeCase=zp,o.some=lh,o.sortedIndex=ad,o.sortedIndexBy=od,o.sortedIndexOf=ud,o.sortedLastIndex=ld,o.sortedLastIndexBy=cd,o.sortedLastIndexOf=fd,o.startCase=jp,o.startsWith=Yp,o.subtract=kg,o.sum=Vg,o.sumBy=Gg,o.template=Jp,o.times=bg,o.toFinite=dt,o.toInteger=U,o.toLength=mo,o.toLower=Zp,o.toNumber=Be,o.toSafeInteger=Zh,o.toString=j,o.toUpper=Xp,o.trim=Qp,o.trimEnd=eg,o.trimStart=tg,o.truncate=ng,o.unescape=rg,o.uniqueId=Tg,o.upperCase=ig,o.upperFirst=Mi,o.each=no,o.eachRight=ro,o.first=Xa,ki(o,(function(){var e={};return Xe(o,function(t,n){Y.call(o.prototype,n)||(e[n]=t)}),e})(),{chain:!1}),o.VERSION=l,Ne(["bind","bindKey","curry","curryRight","partial","partialRight"],function(e){o[e].placeholder=o}),Ne(["drop","take"],function(e,t){k.prototype[e]=function(n){n=n===r?1:ue(U(n),0);var i=this.__filtered__&&!t?new k(this):this.clone();return i.__filtered__?i.__takeCount__=he(n,i.__takeCount__):i.__views__.push({size:he(n,Ze),type:e+(i.__dir__<0?"Right":"")}),i},k.prototype[e+"Right"]=function(n){return this.reverse()[e](n).reverse()}}),Ne(["filter","map","takeWhile"],function(e,t){var n=t+1,i=n==Zi||n==Qo;k.prototype[e]=function(a){var u=this.clone();return u.__iteratees__.push({iteratee:F(a,3),type:n}),u.__filtered__=u.__filtered__||i,u}}),Ne(["head","last"],function(e,t){var n="take"+(t?"Right":"");k.prototype[e]=function(){return this[n](1).value()[0]}}),Ne(["initial","tail"],function(e,t){var n="drop"+(t?"":"Right");k.prototype[e]=function(){return this.__filtered__?new k(this):this[n](1)}}),k.prototype.compact=function(){return this.filter(Se)},k.prototype.find=function(e){return this.filter(e).head()},k.prototype.findLast=function(e){return this.reverse().find(e)},k.prototype.invokeMap=M(function(e,t){return typeof e=="function"?new k(this):this.map(function(n){return _n(n,e,t)})}),k.prototype.reject=function(e){return this.filter(yr(F(e)))},k.prototype.slice=function(e,t){e=U(e);var n=this;return n.__filtered__&&(e>0||t<0)?new k(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),t!==r&&(t=U(t),n=t<0?n.dropRight(-t):n.take(t-e)),n)},k.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},k.prototype.toArray=function(){return this.take(Ze)},Xe(k.prototype,function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),i=/^(?:head|last)$/.test(t),a=o[i?"take"+(t=="last"?"Right":""):t],u=i||/^find/.test(t);a&&(o.prototype[t]=function(){var c=this.__wrapped__,h=i?[1]:arguments,g=c instanceof k,S=h[0],x=g||N(c),E=function(B){var G=a.apply(o,mt([B],h));return i&&A?G[0]:G};x&&n&&typeof S=="function"&&S.length!=1&&(g=x=!1);var A=this.__chain__,T=!!this.__actions__.length,P=u&&!A,D=g&&!T;if(!u&&x){c=D?c:new k(this);var L=e.apply(c,h);return L.__actions__.push({func:pr,args:[E],thisArg:r}),new Ue(L,A)}return P&&D?e.apply(this,h):(L=this.thru(E),P?i?L.value()[0]:L.value():L)})}),Ne(["pop","push","shift","sort","splice","unshift"],function(e){var t=Bn[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",i=/^(?:pop|shift)$/.test(e);o.prototype[e]=function(){var a=arguments;if(i&&!this.__chain__){var u=this.value();return t.apply(N(u)?u:[],a)}return this[n](function(c){return t.apply(N(c)?c:[],a)})}}),Xe(k.prototype,function(e,t){var n=o[t];if(n){var i=n.name+"";Y.call(Kt,i)||(Kt[i]=[]),Kt[i].push({name:t,func:n})}}),Kt[or(r,Je).name]=[{name:"wrapper",func:r}],k.prototype.clone=nc,k.prototype.reverse=rc,k.prototype.value=ic,o.prototype.at=Nd,o.prototype.chain=$d,o.prototype.commit=Ud,o.prototype.next=Dd,o.prototype.plant=Wd,o.prototype.reverse=Bd,o.prototype.toJSON=o.prototype.valueOf=o.prototype.value=kd,o.prototype.first=o.prototype.head,dn&&(o.prototype[dn]=Md),o}),qt=$l();Tt?((Tt.exports=qt)._=qt,Br._=qt):fe._=qt}).call(iv)})(Cn,Cn.exports)),Cn.exports}var av=sv();const Hi=f=>{const s=av.startCase(f).toLowerCase();return s.charAt(0).toUpperCase()+s.slice(1)},ov=["src/application.config.ts","src/application-config.ts","src/applicationConfig.ts"],Oo=/serverVariables\s*:\s*\{/,uv=/defineApplication\s*\(\s*\{/,lv=async({projectRoot:f,variables:s})=>{const r=await cv(f);if(r===null)return{status:"skipped-no-config"};const l=await tt.readFile(r,"utf8"),d=s.filter(R=>!new RegExp(`\\b${R.name}\\s*:`).test(l));if(d.length===0)return{status:"skipped-existing"};const w=fv(d);if(Oo.test(l)){const R=l.replace(Oo,$=>`${$}
|
|
22
|
+
${w}`);return await tt.writeFile(r,R,"utf8"),{status:"appended",file:r}}if(!uv.test(l))return{status:"skipped-no-app-call"};const I=l.replace(/\n(\s*)\}\s*\)\s*;?\s*$/,(R,$)=>{const q=dv(d,$);return`
|
|
23
|
+
${$}${q}
|
|
24
|
+
${$}});
|
|
25
|
+
`});return I===l?{status:"skipped-no-app-call"}:(await tt.writeFile(r,I,"utf8"),{status:"created",file:r})},cv=async f=>{for(const s of ov){const r=`${f}/${s}`;if(await v.pathExists(r))return r}return null},fv=f=>f.map(({name:s,description:r,isSecret:l})=>` ${s}: {
|
|
26
26
|
description: ${JSON.stringify(r)},
|
|
27
27
|
isSecret: ${l},
|
|
28
28
|
isRequired: true,
|
|
29
29
|
},`).join(`
|
|
30
|
-
`),
|
|
31
|
-
${f.map(({name:l,description:
|
|
32
|
-
${s} description: ${JSON.stringify(
|
|
33
|
-
${s} isSecret: ${
|
|
30
|
+
`),dv=(f,s)=>`serverVariables: {
|
|
31
|
+
${f.map(({name:l,description:d,isSecret:w})=>`${s} ${l}: {
|
|
32
|
+
${s} description: ${JSON.stringify(d)},
|
|
33
|
+
${s} isSecret: ${w},
|
|
34
34
|
${s} isRequired: true,
|
|
35
35
|
${s} },`).join(`
|
|
36
36
|
`)}
|
|
@@ -44,7 +44,7 @@ export default defineField({
|
|
|
44
44
|
type: FieldType.${f.type},
|
|
45
45
|
objectUniversalIdentifier: '${f.objectUniversalIdentifier}',${r}
|
|
46
46
|
});
|
|
47
|
-
`},ce=f=>f.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/([A-Z])([A-Z][a-z])/g,"$1-$2").replace(/([a-zA-Z])(\d)/g,"$1-$2").replace(/(\d)([a-zA-Z])/g,"$1-$2").replace(/[\s_]+/g,"-").replace(/[^a-zA-Z0-9-]+/g,"-").toLowerCase(),
|
|
47
|
+
`},ce=f=>f.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/([A-Z])([A-Z][a-z])/g,"$1-$2").replace(/([a-zA-Z])(\d)/g,"$1-$2").replace(/(\d)([a-zA-Z])/g,"$1-$2").replace(/[\s_]+/g,"-").replace(/[^a-zA-Z0-9-]+/g,"-").toLowerCase(),pv=({name:f,universalIdentifier:s=te.v4()})=>{const r=ce(f);return`import { defineFrontComponent } from 'twenty-sdk/define';
|
|
48
48
|
|
|
49
49
|
// React component - implement your UI here
|
|
50
50
|
const Component = () => {
|
|
@@ -62,7 +62,7 @@ export default defineFrontComponent({
|
|
|
62
62
|
description: 'Add a description for your front component',
|
|
63
63
|
component: Component,
|
|
64
64
|
});
|
|
65
|
-
`},
|
|
65
|
+
`},gv=({name:f,universalIdentifier:s=te.v4()})=>{const r=ce(f);return`import { defineLogicFunction } from 'twenty-sdk/define';
|
|
66
66
|
|
|
67
67
|
// Logic function handler - rename and implement your logic
|
|
68
68
|
const handler = async (params: {
|
|
@@ -99,20 +99,20 @@ export default defineLogicFunction({
|
|
|
99
99
|
// eventName: 'objectName.created',
|
|
100
100
|
// },
|
|
101
101
|
});
|
|
102
|
-
`},
|
|
103
|
-
targetObjectUniversalIdentifier: '${
|
|
104
|
-
viewUniversalIdentifier: '${l}',`:r==="LINK"?
|
|
105
|
-
link: 'https://example.com',`:r==="FOLDER"?
|
|
102
|
+
`},No=({name:f,universalIdentifier:s=te.v4(),type:r,viewUniversalIdentifier:l,targetObjectUniversalIdentifier:d})=>{const w=ce(f);let I;return r==="OBJECT"&&d?I=` type: NavigationMenuItemType.OBJECT,
|
|
103
|
+
targetObjectUniversalIdentifier: '${d}',`:r==="VIEW"&&l?I=` type: NavigationMenuItemType.VIEW,
|
|
104
|
+
viewUniversalIdentifier: '${l}',`:r==="LINK"?I=` type: NavigationMenuItemType.LINK,
|
|
105
|
+
link: 'https://example.com',`:r==="FOLDER"?I=" type: NavigationMenuItemType.FOLDER,":I=` type: NavigationMenuItemType.VIEW,
|
|
106
106
|
// viewUniversalIdentifier: '...',`,`import { defineNavigationMenuItem, NavigationMenuItemType } from 'twenty-sdk/define';
|
|
107
107
|
|
|
108
108
|
export default defineNavigationMenuItem({
|
|
109
109
|
universalIdentifier: '${s}',
|
|
110
|
-
name: '${
|
|
110
|
+
name: '${w}',
|
|
111
111
|
icon: 'IconList',
|
|
112
112
|
position: 0,
|
|
113
|
-
${
|
|
113
|
+
${I}
|
|
114
114
|
});
|
|
115
|
-
`},
|
|
115
|
+
`},vv=({data:f,universalIdentifier:s=te.v4(),nameFieldUniversalIdentifier:r=te.v4()})=>`import { defineObject, FieldType } from 'twenty-sdk/define';
|
|
116
116
|
|
|
117
117
|
export const NAME_FIELD_UNIVERSAL_IDENTIFIER =
|
|
118
118
|
'${r}';
|
|
@@ -136,7 +136,7 @@ export default defineObject({
|
|
|
136
136
|
},
|
|
137
137
|
],
|
|
138
138
|
});
|
|
139
|
-
`,
|
|
139
|
+
`,mv=({name:f})=>`import { defineCommandMenuItem } from 'twenty-sdk/define';
|
|
140
140
|
|
|
141
141
|
export default defineCommandMenuItem({
|
|
142
142
|
universalIdentifier: '${te.v4()}',
|
|
@@ -145,7 +145,7 @@ export default defineCommandMenuItem({
|
|
|
145
145
|
label: '${f}',
|
|
146
146
|
availabilityType: 'GLOBAL',
|
|
147
147
|
});
|
|
148
|
-
`,
|
|
148
|
+
`,yv=({name:f})=>`import { definePageLayout } from 'twenty-sdk/define';
|
|
149
149
|
|
|
150
150
|
export default definePageLayout({
|
|
151
151
|
universalIdentifier: '${te.v4()}',
|
|
@@ -158,7 +158,7 @@ export default definePageLayout({
|
|
|
158
158
|
},
|
|
159
159
|
],
|
|
160
160
|
});
|
|
161
|
-
`,
|
|
161
|
+
`,_v=({name:f})=>`import { definePageLayoutTab, PageLayoutTabLayoutMode } from 'twenty-sdk/define';
|
|
162
162
|
|
|
163
163
|
export default definePageLayoutTab({
|
|
164
164
|
universalIdentifier: '${te.v4()}',
|
|
@@ -169,7 +169,7 @@ export default definePageLayoutTab({
|
|
|
169
169
|
layoutMode: PageLayoutTabLayoutMode.CANVAS,
|
|
170
170
|
widgets: [],
|
|
171
171
|
});
|
|
172
|
-
`,
|
|
172
|
+
`,wv=({objectLabelSingular:f,objectUniversalIdentifier:s,fieldsWidgetViewUniversalIdentifier:r})=>`import { definePageLayout, PageLayoutTabLayoutMode } from 'twenty-sdk/define';
|
|
173
173
|
|
|
174
174
|
export default definePageLayout({
|
|
175
175
|
universalIdentifier: '${te.v4()}',
|
|
@@ -214,7 +214,7 @@ export default definePageLayout({
|
|
|
214
214
|
},
|
|
215
215
|
],
|
|
216
216
|
});
|
|
217
|
-
`,
|
|
217
|
+
`,Sv=({name:f,universalIdentifier:s=te.v4()})=>{const r=ce(f);return`import { defineRole } from 'twenty-sdk/define';
|
|
218
218
|
|
|
219
219
|
export const ${r.toUpperCase().replace(/-/g,"_")}_ROLE_UNIVERSAL_IDENTIFIER =
|
|
220
220
|
'${s}';
|
|
@@ -240,7 +240,7 @@ export default defineAgent({
|
|
|
240
240
|
description: 'Add a description for your agent',
|
|
241
241
|
prompt: 'Add the agent system prompt here',
|
|
242
242
|
});
|
|
243
|
-
`},
|
|
243
|
+
`},Iv=({name:f,universalIdentifier:s=te.v4()})=>{const r=ce(f),l=r.toUpperCase().replace(/-/g,"_"),d=f.replace(/\\/g,"\\\\").replace(/'/g,"\\'");return`import { defineConnectionProvider } from 'twenty-sdk/define';
|
|
244
244
|
|
|
245
245
|
export const ${l}_CONNECTION_PROVIDER_UNIVERSAL_IDENTIFIER =
|
|
246
246
|
'${s}';
|
|
@@ -248,7 +248,7 @@ export const ${l}_CONNECTION_PROVIDER_UNIVERSAL_IDENTIFIER =
|
|
|
248
248
|
export default defineConnectionProvider({
|
|
249
249
|
universalIdentifier: ${l}_CONNECTION_PROVIDER_UNIVERSAL_IDENTIFIER,
|
|
250
250
|
name: '${r}',
|
|
251
|
-
displayName: '${
|
|
251
|
+
displayName: '${d}',
|
|
252
252
|
type: 'oauth',
|
|
253
253
|
oauth: {
|
|
254
254
|
// Replace with the OAuth provider's endpoints.
|
|
@@ -260,7 +260,7 @@ export default defineConnectionProvider({
|
|
|
260
260
|
clientSecretVariable: '${l}_CLIENT_SECRET',
|
|
261
261
|
},
|
|
262
262
|
});
|
|
263
|
-
`},
|
|
263
|
+
`},Ev=({name:f,universalIdentifier:s=te.v4()})=>{const r=ce(f);return`import { defineSkill } from 'twenty-sdk/define';
|
|
264
264
|
|
|
265
265
|
export const ${r.toUpperCase().replace(/-/g,"_")}_SKILL_UNIVERSAL_IDENTIFIER =
|
|
266
266
|
'${s}';
|
|
@@ -272,17 +272,17 @@ export default defineSkill({
|
|
|
272
272
|
description: 'Add a description for your skill',
|
|
273
273
|
content: 'Add the skill content here',
|
|
274
274
|
});
|
|
275
|
-
`},
|
|
275
|
+
`},Av=({field:f,index:s,objectUniversalIdentifier:r})=>{const l=f.universalIdentifier??te.v4(),d=f.position??s,w=f.isVisible??!0,I=f.size??200,R="defaultFieldName"in f?` fieldMetadataUniversalIdentifier: generateDefaultFieldUniversalIdentifier({
|
|
276
276
|
objectUniversalIdentifier: '${r}',
|
|
277
277
|
fieldName: '${f.defaultFieldName}',
|
|
278
278
|
})`:` fieldMetadataUniversalIdentifier: '${f.fieldMetadataUniversalIdentifier}'`;return` {
|
|
279
279
|
universalIdentifier: '${l}',
|
|
280
|
-
${
|
|
281
|
-
position: ${
|
|
282
|
-
isVisible: ${
|
|
283
|
-
size: ${
|
|
284
|
-
}`},zi=({name:f,universalIdentifier:s=te.v4(),objectUniversalIdentifier:r="fill-later",fields:l=[],type:
|
|
285
|
-
${l.map((K,Ye)=>
|
|
280
|
+
${R},
|
|
281
|
+
position: ${d},
|
|
282
|
+
isVisible: ${w},
|
|
283
|
+
size: ${I},
|
|
284
|
+
}`},zi=({name:f,universalIdentifier:s=te.v4(),objectUniversalIdentifier:r="fill-later",fields:l=[],type:d})=>{const w=ce(f),I=l.some(K=>"defaultFieldName"in K),$=l.length>0?` fields: [
|
|
285
|
+
${l.map((K,Ye)=>Av({field:K,index:Ye,objectUniversalIdentifier:r})).join(`,
|
|
286
286
|
`)},
|
|
287
287
|
],`:` // fields: [
|
|
288
288
|
// {
|
|
@@ -291,19 +291,19 @@ ${l.map((K,Ye)=>bv({field:K,index:Ye,objectUniversalIdentifier:r})).join(`,
|
|
|
291
291
|
// position: 0,
|
|
292
292
|
// isVisible: true,
|
|
293
293
|
// },
|
|
294
|
-
// ],`,
|
|
295
|
-
`:"";return`${
|
|
294
|
+
// ],`,q=d!==void 0?` type: '${d}',
|
|
295
|
+
`:"";return`${I?`import {
|
|
296
296
|
defineView,
|
|
297
297
|
generateDefaultFieldUniversalIdentifier,
|
|
298
298
|
} from 'twenty-sdk/define';`:"import { defineView } from 'twenty-sdk/define';"}
|
|
299
299
|
|
|
300
300
|
export default defineView({
|
|
301
301
|
universalIdentifier: '${s}',
|
|
302
|
-
name: '${
|
|
302
|
+
name: '${w}',
|
|
303
303
|
objectUniversalIdentifier: '${r}',
|
|
304
|
-
${
|
|
304
|
+
${q} icon: 'IconList',
|
|
305
305
|
position: 0,
|
|
306
|
-
${
|
|
306
|
+
${$}
|
|
307
307
|
// filters: [
|
|
308
308
|
// {
|
|
309
309
|
// universalIdentifier: '...',
|
|
@@ -320,14 +320,14 @@ ${D}
|
|
|
320
320
|
// },
|
|
321
321
|
// ],
|
|
322
322
|
});
|
|
323
|
-
`},
|
|
324
|
-
`+l.map(
|
|
325
|
-
`)));break}}buildRecordPageFieldsViewFields(s){const l=["createdAt","updatedAt","createdBy","updatedBy"].map(
|
|
326
|
-
Update with: npm install -g twenty-sdk@${
|
|
327
|
-
`));const l=await v.appBuild({appPath:r,tarball:s.tarball,onProgress:
|
|
328
|
-
`));const l=Z=>console.log(y.default.gray(Z)),
|
|
329
|
-
✓ Published ${
|
|
330
|
-
`)),console.log(" To install deployed application: `yarn twenty install`")}}class
|
|
323
|
+
`},bv="src/application.config.ts",xr="src";class Cv{async execute(s,r){try{const l=s??await this.getEntity(),d=this.getFolderName(l),w=r?H.join(Q,r):H.join(Q,xr,d);await v.ensureDir(w);const{name:I,file:R}=await this.getEntityData(l),$=H.join(w,this.getFileName(I,l));if(await v.pathExists($)){const{overwrite:q}=await this.handleFileExist();if(!q)return}await tt.writeFile($,R),console.log(y.default.green(`✓ Created ${d}:`),y.default.cyan(H.relative(Q,$))),l===v.e.Object&&await this.promptAndCreateObjectCompanions(I,r),l===v.e.ConnectionProvider&&await this.registerConnectionProviderServerVariables(I)}catch(l){console.error(y.default.red("Add new entity failed:"),l instanceof Error?l.message:l),process.exit(1)}}async getEntityData(s){switch(s){case v.e.Object:{const r=await this.getObjectData(),l=r.nameSingular,d=te.v4(),w=te.v4();this.lastObjectUniversalIdentifier=d,this.lastNameFieldUniversalIdentifier=w,this.lastObjectLabelSingular=r.labelSingular;const I=vv({data:r,universalIdentifier:d,nameFieldUniversalIdentifier:w});return{name:l,file:I}}case v.e.Field:{const r=await this.getFieldData(),l=r.name,d=hv({data:r});return{name:l,file:d}}case v.e.LogicFunction:{const r=await this.getEntityName(s),l=gv({name:r});return{name:r,file:l}}case v.e.FrontComponent:{const r=await this.getEntityName(s),l=pv({name:r});return{name:r,file:l}}case v.e.Role:{const r=await this.getEntityName(s),l=Sv({name:r});return{name:r,file:l}}case v.e.Skill:{const r=await this.getEntityName(s),l=Ev({name:r});return{name:r,file:l}}case v.e.Agent:{const r=await this.getEntityName(s),l=xv({name:r});return{name:r,file:l}}case v.e.ConnectionProvider:{const r=await this.getEntityName(s),l=Iv({name:r});return{name:r,file:l}}case v.e.View:{const l=(await this.getViewData()).name,d=zi({name:l});return{name:l,file:d}}case v.e.NavigationMenuItem:{const r=await this.getEntityName(s),l=No({name:r});return{name:r,file:l}}case v.e.PageLayout:{const r=await this.getEntityName(s),l=yv({name:r});return{name:r,file:l}}case v.e.PageLayoutTab:{const r=await this.getEntityName(s),l=_v({name:r});return{name:r,file:l}}case v.e.CommandMenuItem:{const r=await this.getEntityName(s),l=mv({name:r});return{name:r,file:l}}default:v.v()}}async promptAndCreateObjectCompanions(s,r){const{createCompanions:l}=await Ve.default.prompt([{type:"confirm",name:"createCompanions",message:"Also create a view, navigation menu item, and record page layout for this object? (recommended)",default:!0}]);if(!l||!this.lastObjectUniversalIdentifier)return;const d=te.v4(),w=te.v4(),I=zi({name:`all-${ce(s)}`,universalIdentifier:d,objectUniversalIdentifier:this.lastObjectUniversalIdentifier,fields:this.lastNameFieldUniversalIdentifier?[{fieldMetadataUniversalIdentifier:this.lastNameFieldUniversalIdentifier,position:0,isVisible:!0,size:200}]:[]}),R=r?H.join(Q,r):H.join(Q,xr,this.getFolderName(v.e.View));await v.ensureDir(R);const $=`all-${ce(s)}.ts`,q=H.join(R,$);if(await v.pathExists(q)){const{overwrite:Ee}=await this.handleFileExist();if(!Ee)return}await tt.writeFile(q,I),console.log(y.default.green("✓ Created view:"),y.default.cyan(H.relative(Q,q)));const Z=this.buildRecordPageFieldsViewFields(this.lastNameFieldUniversalIdentifier),K=zi({name:`${ce(s)}-record-page-fields`,universalIdentifier:w,objectUniversalIdentifier:this.lastObjectUniversalIdentifier,type:v.TE.FIELDS_WIDGET,fields:Z}),Ye=`${ce(s)}-record-page-fields.ts`,V=H.join(R,Ye);if(await v.pathExists(V)){const{overwrite:Ee}=await this.handleFileExist();if(!Ee)return}await tt.writeFile(V,K),console.log(y.default.green("✓ Created record-page-fields view:"),y.default.cyan(H.relative(Q,V)));const W=No({name:s,type:"OBJECT",targetObjectUniversalIdentifier:this.lastObjectUniversalIdentifier}),Pe=r?H.join(Q,r):H.join(Q,xr,this.getFolderName(v.e.NavigationMenuItem));await v.ensureDir(Pe);const xe=`${ce(s)}.ts`,Je=H.join(Pe,xe);if(await v.pathExists(Je)){const{overwrite:Ee}=await this.handleFileExist();if(!Ee)return}await tt.writeFile(Je,W),console.log(y.default.green("✓ Created navigation menu item:"),y.default.cyan(H.relative(Q,Je)));const Tn=wv({objectLabelSingular:this.lastObjectLabelSingular??s,objectUniversalIdentifier:this.lastObjectUniversalIdentifier,fieldsWidgetViewUniversalIdentifier:w}),Le=r?H.join(Q,r):H.join(Q,xr,this.getFolderName(v.e.PageLayout));await v.ensureDir(Le);const bt=`${ce(s)}-record-page-layout.ts`,Ie=H.join(Le,bt);if(await v.pathExists(Ie)){const{overwrite:Ee}=await this.handleFileExist();if(!Ee)return}await tt.writeFile(Ie,Tn),console.log(y.default.green("✓ Created record page layout:"),y.default.cyan(H.relative(Q,Ie)))}async registerConnectionProviderServerVariables(s){const r=ce(s).toUpperCase().replace(/-/g,"_"),l=[{name:`${r}_CLIENT_ID`,description:"OAuth client ID issued by the third-party provider. Filled in once by the server admin on the application registration.",isSecret:!1},{name:`${r}_CLIENT_SECRET`,description:"OAuth client secret issued by the third-party provider. Stored encrypted; never echoed in API responses.",isSecret:!0}],d=await lv({projectRoot:Q,variables:l});switch(d.status){case"appended":case"created":{console.log(y.default.green(`✓ Added ${l.map(w=>w.name).join(" + ")} to defineApplication.serverVariables:`),y.default.cyan(H.relative(Q,d.file)));break}case"skipped-existing":console.log(y.default.dim(` (${l.map(w=>w.name).join(" / ")} already declared on defineApplication.serverVariables)`));break;case"skipped-no-config":case"skipped-no-app-call":console.log(y.default.yellow(`! Couldn't auto-update ${bv}. Add these manually to defineApplication.serverVariables:
|
|
324
|
+
`+l.map(w=>` ${w.name}: { description: '...', isSecret: ${w.isSecret}, isRequired: true },`).join(`
|
|
325
|
+
`)));break}}buildRecordPageFieldsViewFields(s){const l=["createdAt","updatedAt","createdBy","updatedBy"].map(w=>({defaultFieldName:w,isVisible:!0,size:200}));return(s?[{fieldMetadataUniversalIdentifier:s,isVisible:!0,size:200},...l]:l).map((w,I)=>({...w,position:I}))}async getEntity(){const{entity:s}=await Ve.default.prompt([{type:"select",name:"entity",message:"What entity do you want to create?",default:"",choices:Object.values(v.e)}]);return s}async handleFileExist(){return await Ve.default.prompt([{type:"confirm",name:"overwrite",message:"File already exists. Do you want to overwrite it?",default:!1}])}async getEntityName(s){const{name:r}=await Ve.default.prompt([{type:"input",name:"name",message:`Enter a name for your new ${s}:`,default:"",validate:l=>l.length===0?`${s} name is required`:!0}]);return r}async getFieldData(){return Ve.default.prompt([{type:"input",name:"name",message:"Enter a name for your field:",default:"",validate:s=>!s||s.trim().length===0?"Please enter a non empty string":!0},{type:"input",name:"label",message:"Enter a label for your field:",default:s=>Hi(s.name),validate:s=>!s||s.trim().length===0?"Please enter a non empty string":!0},{type:"select",name:"type",message:"Select the field type:",choices:Object.values(v.R),default:v.R.TEXT},{type:"input",name:"objectUniversalIdentifier",message:"Enter the universalIdentifier of the object this field belongs to:",default:"fill-later",validate:s=>!s||s.trim().length===0?"Please enter a non empty string":!0},{type:"input",name:"description",message:"Enter a description for your field (optional):",default:""}])}async getObjectData(){return Ve.default.prompt([{type:"input",name:"nameSingular",message:"Enter a name singular for your object (eg: company):",default:"",validate:s=>!s||s.trim().length===0?"Please enter a non empty string":!0},{type:"input",name:"namePlural",message:"Enter a name plural for your object (eg: companies):",default:"",validate:(s,r)=>s.trim()===r?.nameSingular.trim()?"Name plural must be different from name singular":!s||s.trim().length===0?"Please enter a non empty string":!0},{type:"input",name:"labelSingular",message:"Enter a label singular for your object:",default:s=>Hi(s.nameSingular),validate:s=>!s||s.trim().length===0?"Please enter a non empty string":!0},{type:"input",name:"labelPlural",message:"Enter a label plural for your object:",default:s=>Hi(s.namePlural),validate:s=>!s||s.trim().length===0?"Please enter a non empty string":!0}])}async getViewData(){return Ve.default.prompt([{type:"input",name:"name",message:"Enter a name for your view:",default:"",validate:s=>!s||s.trim().length===0?"Please enter a non empty string":!0},{type:"input",name:"objectUniversalIdentifier",message:"Enter the universalIdentifier of the object this view belongs to:",default:"fill-later",validate:s=>!s||s.trim().length===0?"Please enter a non empty string":!0}])}getFolderName(s){return`${ce(s)}s`}getFileName(s,r){return r===v.e.FrontComponent?`${ce(s)}.tsx`:`${ce(s)}.ts`}}const Tv=async f=>{const s=H.join(f,"package.json");if(await v.pathExists(s))try{const r=await tt.readFile(s,"utf-8"),l=JSON.parse(r);return l.dependencies?.["twenty-sdk"]??l.devDependencies?.["twenty-sdk"]??void 0}catch{return}},$o=f=>{const s=f.match(/(\d+)\./);if(s)return parseInt(s[1],10);const r=f.match(/^[~^>=<]*(\d+)$/);return r?parseInt(r[1],10):null},en=async f=>{const s=v.packageJson.version,r=await Tv(f);if(!r)return;const l=$o(s),d=$o(r);l===null||d===null||l!==d&&(console.warn(y.default.yellow(`⚠ Version mismatch: your app requires twenty-sdk@${d}.x but the CLI running is v${s}. Major version mismatches may cause unexpected behavior.
|
|
326
|
+
Update with: npm install -g twenty-sdk@${d}`)),console.warn(""))};class Rv{async execute(s){const r=s.appPath??Q;await en(r),console.log(y.default.blue("Building application...")),console.log(y.default.gray(`App path: ${r}
|
|
327
|
+
`));const l=await v.appBuild({appPath:r,tarball:s.tarball,onProgress:d=>console.log(y.default.gray(d))});l.success||(console.error(y.default.red(l.error.message)),process.exit(1)),console.log(y.default.green(`✓ Build succeeded (${l.data.fileCount} file${l.data.fileCount===1?"":"s"})`)),console.log(y.default.gray(`Output: ${l.data.outputDir}`)),l.data.tarballPath&&console.log(y.default.gray(`Tarball: ${l.data.tarballPath}`))}}class Go{async execute(s){s.remote&&v.ConfigService.setActiveRemote(s.remote),console.log(y.default.blue("Syncing marketplace catalog..."));const l=await new v.ApiService().syncMarketplaceCatalog();l.success||(console.error(y.default.red(`Catalog sync failed: ${l.error instanceof Error?l.error.message:String(l.error)}`)),process.exit(1)),console.log(y.default.green("✓ Marketplace catalog synced successfully"))}}class Fv{async execute(s){const r=s.appPath??Q;await en(r),console.log(y.default.blue("Deploying application...")),console.log(y.default.gray(`App path: ${r}
|
|
328
|
+
`));const l=Z=>console.log(y.default.gray(Z)),d=await v.appBuild({appPath:r,tarball:!0,onProgress:l});d.success||(console.error(y.default.red(d.error.message)),process.exit(1));const w=await v.appDeploy({tarballPath:d.data.tarballPath,remote:s.remote,onProgress:l});w.success||(console.error(y.default.red(w.error.message)),process.exit(1));const I=await v.readJson(Yi.default.join(r,"package.json")).catch(()=>{}),R=I?.name??w.data.name,$=I?.version??"unknown",q=v.ConfigService.getActiveRemote();console.log(y.default.green(`
|
|
329
|
+
✓ Published ${R} v${$} to ${q}
|
|
330
|
+
`)),console.log(" To install deployed application: `yarn twenty install`")}}class Pv{constructor({state:s,notify:r}){this.state=s,this.notify=r}async execute(s){const r=this.state.steps.buildManifest;r.status="in_progress",this.state.updatePipeline({status:"building"});const l=[{message:"Building manifest",status:"info"}],d=await v.buildAndValidateManifest(s.appPath);if(!d.success){for(const I of d.errors)l.push({message:I,status:"error"});return r.output={result:null},r.status="error",this.state.updatePipeline({status:"error"}),this.state.applyStepEvents(l),null}if(d.warnings.length>0)for(const I of d.warnings)l.push({message:`⚠ ${I}`,status:"warning"});l.push({message:"Successfully built manifest",status:"success"});const w={manifest:d.manifest,filePaths:d.filePaths};return r.output={result:w},r.status="done",this.state.updatePipeline({appName:d.manifest.application.displayName}),this.state.updateEntitiesFromManifest(d.filePaths),this.state.applyStepEvents(l),w}}class Lv{constructor({apiService:s,state:r,notify:l}){this.hasRetried=!1,this.apiService=s,this.state=r,this.notify=l}async execute(){const s=this.state.steps.checkServer,r=await this.apiService.validateAuth();if(!r.serverUp){const d=await v.detectLocalServer();return d&&!this.hasRetried?(this.hasRetried=!0,await new v.ConfigService().setConfig({apiUrl:d}),this.execute()):(s.output.errorLogged||(s.output={isReady:!1,errorLogged:!0},s.status="error",this.state.applyStepEvents([{message:`Cannot reach Twenty server.
|
|
331
331
|
|
|
332
332
|
Start a local server:
|
|
333
333
|
yarn twenty server start
|
|
@@ -335,19 +335,19 @@ ${D}
|
|
|
335
335
|
Check server status:
|
|
336
336
|
yarn twenty server status
|
|
337
337
|
|
|
338
|
-
Waiting for server...`,status:"error"}]),this.state.updatePipeline({status:"error"})),!1)}if(!r.authValid)return s.output.errorLogged||(s.output={isReady:!1,errorLogged:!0},s.status="error",this.state.applyStepEvents([{message:"Authentication failed. Run `yarn twenty remote add --local` to authenticate.",status:"error"}]),this.state.updatePipeline({status:"error"})),!1;const l=s.output.isReady;return s.output={isReady:!0,errorLogged:!1},s.status="done",l||this.notify(),!0}}class
|
|
339
|
-
`);this.buffer=r.pop()??"";for(const l of r)this.processLine(l)}processLine(s){if(s.includes("Starting compilation in watch mode...")||s.includes("Starting incremental compilation...")){this.pendingErrors=[];return}if(s.includes("Watching for file changes.")){const l=this.hasErrors;this.hasErrors=this.pendingErrors.length>0,(this.hasErrors||l)&&this.onErrors(this.pendingErrors),this.pendingErrors=[];return}const r=v.parseTscOutputLine(s);r&&this.pendingErrors.push(r)}}const Mv=new Set(["node_modules","dist",".twenty"]);class Wv{constructor(s){this.watcher=null,this.appPath=s.appPath,this.handleChangeDetected=s.handleChangeDetected,this.verbose=s.verbose??!1}async start(){const s=this.appPath;this.watcher=ko.default.watch(this.appPath,{ignoreInitial:!this.verbose,ignored:r=>{const l=q.relative(s,r);if(l==="")return!1;const p=l.split(Yi.default.sep)[0];return Mv.has(p)||p.startsWith(".")},awaitWriteFinish:{stabilityThreshold:100,pollInterval:50}}),this.watcher.on("all",(r,l)=>{if(r==="addDir"||r==="unlinkDir")return;const p=q.relative(this.appPath,l),I=p.startsWith(v._),x=["package.json","yarn.lock"].includes(p);!(p.endsWith(".ts")||p.endsWith(".tsx"))&&!I&&!x||this.handleChangeDetected(p,r)})}async close(){await this.watcher?.close()}}class Bv{constructor(s){this.manifestWatcher=null,this.logicFunctionsWatcher=null,this.frontComponentsWatcher=null,this.assetWatcher=null,this.dependencyWatcher=null,this.tscWatcher=null,this.state=s.state,this.scheduleSync=s.scheduleSync,this.notify=s.notify,this.onFileBuilt=s.onFileBuilt,this.shouldSkipTypecheck=s.shouldSkipTypecheck,this.verbose=s.verbose??!1}async start(){this.state.steps.startWatchers.status="in_progress",this.notify(),this.manifestWatcher=new Wv({appPath:this.state.appPath,handleChangeDetected:this.handleChangeDetected.bind(this),verbose:this.verbose}),await this.manifestWatcher.start()}async handleWatcherRestarts(s){const{logicFunctions:r,frontComponents:l}=s.filePaths;if(!this.state.steps.startWatchers.output.watchersStarted){this.state.steps.startWatchers.output.watchersStarted=!0,this.state.steps.startWatchers.status="done",await this.startFileWatchers(r,l);return}this.logicFunctionsWatcher?.shouldRestart(r)&&await this.logicFunctionsWatcher.restart(r),this.frontComponentsWatcher?.shouldRestart(l)&&await this.frontComponentsWatcher.restart(l)}async close(){this.tscWatcher?.close(),await Promise.all([this.manifestWatcher?.close(),this.logicFunctionsWatcher?.close(),this.frontComponentsWatcher?.close(),this.assetWatcher?.close(),this.dependencyWatcher?.close()])}handleChangeDetected(s,r){this.state.addEvent({message:`Change detected: ${s}`,status:"info"}),r==="unlink"?this.state.removeEntity(s):this.state.updateEntityStatus(s,"building"),this.notify(),this.scheduleSync()}handleFileBuildError(s){this.state.addEvent({message:"Build failed:",status:"error"});for(const r of s)this.state.addEvent({message:r.error,status:"error"});this.notify()}handleFileBuilt(s){this.verbose&&this.state.addEvent({message:`Successfully built ${s.builtPath}`,status:"success"}),this.state.steps.uploadFiles.output.builtFileInfos.set(s.builtPath,{checksum:s.checksum,builtPath:s.builtPath,sourcePath:s.sourcePath,fileFolder:s.fileFolder,usesSdkClient:s.usesSdkClient}),this.onFileBuilt(s),this.notify(),this.scheduleSync()}async startFileWatchers(s,r){await Promise.all([this.startTscWatcher(),this.startLogicFunctionsWatcher(s),this.startFrontComponentsWatcher(r),this.startAssetWatcher(),this.startDependencyWatcher()])}async startLogicFunctionsWatcher(s){this.logicFunctionsWatcher=v.createLogicFunctionsWatcher({appPath:this.state.appPath,sourcePaths:s,shouldSkipTypecheck:this.shouldSkipTypecheck,handleBuildError:this.handleFileBuildError.bind(this),handleFileBuilt:this.handleFileBuilt.bind(this)}),await this.logicFunctionsWatcher.start()}async startFrontComponentsWatcher(s){this.frontComponentsWatcher=v.createFrontComponentsWatcher({appPath:this.state.appPath,sourcePaths:s,shouldSkipTypecheck:this.shouldSkipTypecheck,handleBuildError:this.handleFileBuildError.bind(this),handleFileBuilt:this.handleFileBuilt.bind(this)}),await this.frontComponentsWatcher.start()}async startAssetWatcher(){this.assetWatcher=new Uo({appPath:this.state.appPath,fileFolder:v.V.PublicAsset,watchPaths:[v._],handleFileBuilt:this.handleFileBuilt.bind(this)}),await this.assetWatcher.start()}async startDependencyWatcher(){this.dependencyWatcher=new Uo({appPath:this.state.appPath,fileFolder:v.V.Dependencies,watchPaths:["package.json","yarn.lock"],handleFileBuilt:this.handleFileBuilt.bind(this)}),this.dependencyWatcher.start()}async startTscWatcher(){this.tscWatcher=new Dv({appPath:this.state.appPath,onErrors:this.handleTypecheckErrors.bind(this)}),await this.tscWatcher.start()}handleTypecheckErrors(s){s.length===0?this.state.addEvent({message:"Typecheck passed",status:"success"}):this.state.applyStepEvents(s.map(r=>({message:`Type error in ${r.file}(${r.line},${r.column}): ${r.text}`,status:"error"}))),this.notify()}}class kv{constructor({apiService:s,state:r,notify:l,verbose:p}){this.apiService=s,this.state=r,this.notify=l,this.verbose=p??!1}async execute(s){const r=this.state.steps.syncApplication;r.status="in_progress",this.state.updatePipeline({status:"syncing"});const l=[],p=v.manifestUpdateChecksums({manifest:s.manifest,builtFileInfos:s.builtFileInfos});l.push({message:"Manifest checksums set",status:"info"}),await v.writeManifestToOutput(s.appPath,p),l.push({message:"Manifest saved to output directory",status:"info"}),l.push({message:"Syncing manifest",status:"info"});const I=await this.apiService.syncApplication(p);if(I.success){l.push({message:"✓ Synced",status:"success"}),r.output={syncStatus:"synced",error:null},r.status="done",this.state.updatePipeline({status:"synced",error:null}),this.state.updateAllEntitiesStatus("success"),this.state.applyStepEvents(l);return}const x=this.verbose?null:v.formatManifestValidationErrors(I.error);x?(l.push(...x),l.push({message:"Add --verbose to see full error log",status:"info"})):l.push({message:`Sync failed with error: ${v.serializeError(I.error)}`,status:"error"});const P=x?x[0].message:"Sync failed";r.output={syncStatus:"error",error:P},r.status="error",this.state.updatePipeline({status:"error",error:P}),this.state.updateAllEntitiesStatus("error"),this.state.applyStepEvents(l)}}class Gv{constructor({state:s,notify:r,verbose:l}){this.uploadedCount=0,this.failedCount=0,this.totalQueued=0,this.state=s,this.notify=r,this.verbose=l??!1}get isInitialized(){return v.o(this.state.steps.uploadFiles.output.fileUploader)}initialize(s){const r=this.state.steps.uploadFiles;r.output={...r.output,fileUploader:new v.FileUploader({appPath:s.appPath,applicationUniversalIdentifier:s.universalIdentifier})},r.status="in_progress",this.notify(),this.uploadPendingFiles()}uploadFile(s,r,l){const p=this.state.steps.uploadFiles;if(!p.output.fileUploader)return;p.status="in_progress",this.totalQueued++,this.verbose&&this.state.addEvent({message:`Uploading ${s}`,status:"info"}),this.state.updateEntityStatus(r,"uploading"),this.notify();const I=p.output.fileUploader.uploadFile({builtPath:s,fileFolder:l}).then(x=>{x.success?(this.uploadedCount++,this.verbose&&this.state.addEvent({message:`Successfully uploaded ${s}`,status:"success"}),this.state.updateEntityStatus(r,"success")):(this.failedCount++,this.state.addEvent({message:`Failed to upload ${s}: ${x.error}`,status:"error"}))}).catch(x=>{this.failedCount++,this.state.addEvent({message:`Upload failed for ${s}: ${x}`,status:"error"})}).finally(()=>{p.output.activeUploads.delete(I),p.output.activeUploads.size===0&&(this.logUploadSummary(),p.status="done",this.notify())});p.output.activeUploads.add(I)}async waitForUploads(){const s=this.state.steps.uploadFiles;for(;s.output.activeUploads.size>0;)await Promise.all(s.output.activeUploads);s.status="done",this.notify()}logUploadSummary(){if(this.totalQueued===0){this.resetCounters();return}this.failedCount>0&&this.state.addEvent({message:`Uploaded ${this.uploadedCount}/${this.totalQueued} files (${this.failedCount} failed)`,status:"error"}),this.state.addEvent({message:`Successfully uploaded ${this.uploadedCount} file${this.uploadedCount!==1?"s":""}`,status:"success"}),this.resetCounters()}resetCounters(){this.uploadedCount=0,this.failedCount=0,this.totalQueued=0}uploadPendingFiles(){for(const[s,{fileFolder:r,sourcePath:l}]of this.state.steps.uploadFiles.output.builtFileInfos.entries())this.uploadFile(s,l,r)}}class Vv{constructor(s){this.syncTimer=null,this.serverCheckInterval=null,this.skipTypecheck=!0,this.debounceMs=s.debounceMs??200,this.state=s.state,this.verbose=s.verbose??!1,this.apiService=new v.ApiService({disableInterceptors:!0});const r=this.apiService,l=new v.ConfigService;this.clientService=new v.ClientService;const p={state:this.state,notify:()=>this.state.notify()};this.checkServerStep=new Ov({...p,apiService:r}),this.buildManifestStep=new Nv(p),this.registerAppStep=new Uv({...p,apiService:r,configService:l}),this.uploadFilesStep=new Gv({...p,verbose:this.verbose}),this.generateApiClientStep=new $v({...p,clientService:this.clientService,configService:l}),this.syncApplicationStep=new kv({...p,apiService:r,verbose:this.verbose}),this.startWatchersStep=new Bv({...p,scheduleSync:this.scheduleSync.bind(this),onFileBuilt:this.handleFileBuilt.bind(this),shouldSkipTypecheck:()=>this.skipTypecheck,verbose:this.verbose})}async start(){const s=Yi.default.join(this.state.appPath,v.u);await v.ensureDir(s),await v.emptyDir(s),this.verbose||(this.state.addEvent({message:"Add --verbose to see fully detailed logs",status:"info"}),this.state.notify()),await this.startWatchersStep.start(),this.serverCheckInterval=setInterval(()=>{this.checkServerHealth()},2e3)}async close(){this.serverCheckInterval&&clearInterval(this.serverCheckInterval),await this.startWatchersStep.close()}getState(){return this.state}handleFileBuilt(s){this.state.steps.uploadFiles.output.fileUploader&&this.uploadFilesStep.uploadFile(s.builtPath,s.sourcePath,s.fileFolder)}async checkServerHealth(){const s=this.state.steps.checkServer.output.isReady;await this.checkServerStep.execute()&&!s&&this.scheduleSync()}scheduleSync(){this.syncTimer&&clearTimeout(this.syncTimer),this.syncTimer=setTimeout(()=>{this.syncTimer=null,this.performSync()},this.debounceMs)}async performSync(){if(!this.state.pipeline.isSyncing){this.state.updatePipeline({isSyncing:!0});try{await this.runSyncPipeline()}catch(s){this.state.addEvent({message:`Sync failed with error: ${v.serializeError(s)}`,status:"error"}),this.state.updatePipeline({status:"error"}),this.state.updateAllEntitiesStatus("error")}finally{this.state.updatePipeline({isSyncing:!1})}}}async runSyncPipeline(){if(!await this.checkServerStep.execute())return;this.state.steps.ensureValidTokens.status="done";const r=await this.buildManifestStep.execute({appPath:this.state.appPath});if(!r||(await this.startWatchersStep.handleWatcherRestarts(r),!this.uploadFilesStep.isInitialized&&!await this.initializePipeline(r.manifest)))return;const l=this.state.hasObjectsOrFieldsChanged(r.manifest);await this.uploadFilesStep.waitForUploads(),await this.syncApplicationStep.execute({manifest:r.manifest,builtFileInfos:this.state.steps.uploadFiles.output.builtFileInfos,appPath:this.state.appPath}),this.state.steps.syncApplication.status!=="error"&&l&&(await this.generateApiClientStep.execute({appPath:this.state.appPath,credentials:this.registerAppStep.registrationCredentials}),this.skipTypecheck=!1)}async initializePipeline(s){await this.registerAppStep.execute({manifest:s});const r=await this.apiService.createDevelopmentApplication({universalIdentifier:s.application.universalIdentifier,name:s.application.displayName});return!r.success||!r.data?(this.state.applyStepEvents([{message:"Failed to install development application",status:"error"},{message:JSON.stringify(r,null,2),status:"error"}]),this.state.updatePipeline({status:"error"}),!1):(this.state.steps.resolveApplication.output={applicationId:r.data.id,universalIdentifier:r.data.universalIdentifier},this.state.steps.resolveApplication.status="done",this.state.applyStepEvents([{message:"Application installed",status:"success"}]),this.uploadFilesStep.initialize({appPath:this.state.appPath,universalIdentifier:s.application.universalIdentifier}),!0)}}const qv={objects:v.e.Object,fields:v.e.Field,logicFunctions:v.e.LogicFunction,frontComponents:v.e.FrontComponent,roles:v.e.Role,skills:v.e.Skill,connectionProviders:v.e.ConnectionProvider,views:v.e.View,navigationMenuItems:v.e.NavigationMenuItem,pageLayouts:v.e.PageLayout,pageLayoutTabs:v.e.PageLayoutTab,commandMenuItems:v.e.CommandMenuItem},Hv=200,zv={pending:["building","uploading","success","error"],building:["pending","uploading","success","error"],uploading:["pending","success","error"],success:["pending","building","uploading","error"],error:["pending","building","uploading","success"]};class Kv{constructor(s){this.eventIdCounter=0,this.appPath=s.appPath,this.frontendUrl=s.frontendUrl,this.previousObjectsFieldsFingerprint=null,this.steps={checkServer:{output:{isReady:!1,errorLogged:!1},status:"idle"},ensureValidTokens:{output:{},status:"idle"},resolveApplication:{output:{applicationId:null,universalIdentifier:null},status:"idle"},buildManifest:{output:{result:null},status:"idle"},uploadFiles:{output:{fileUploader:null,builtFileInfos:new Map,activeUploads:new Set},status:"idle"},generateApiClient:{output:{},status:"idle"},syncApplication:{output:{syncStatus:"idle",error:null},status:"idle"},startWatchers:{output:{watchersStarted:!1},status:"idle"}},this.pipeline={status:"idle",isSyncing:!1,error:null,appName:null},this.entities=new Map,this.events=[]}notify(){this.onChange?.()}updatePipeline(s){Object.assign(this.pipeline,s),this.notify()}applyStepEvents(s){const r=s.map(l=>(this.eventIdCounter+=1,{...l,id:this.eventIdCounter,timestamp:new Date,message:l.message.slice(0,5e3)}));this.events=[...this.events.slice(-(Hv-r.length)),...r]}addEvent(s){this.applyStepEvents([s])}updateEntityStatus(s,r){const l=new Map(this.entities),p=l.get(s);p?.status&&!zv[p.status].includes(r)||(l.set(s,p?{...p,status:r}:{name:s,path:s,status:r}),this.entities=l)}removeEntity(s){const r=new Map(this.entities);r.delete(s),this.entities=r}updateAllEntitiesStatus(s){const r=new Map(this.entities);for(const[l,p]of r)r.set(l,{...p,status:s});this.entities=r}updateEntitiesFromManifest(s){const r=new Map;for(const[p,I]of Object.entries(s)){const x=qv[p];if(x)for(const P of I)r.set(P,x)}const l=new Map(this.entities);for(const[p,I]of l)l.set(p,{...I,type:r.get(p)});for(const[p,I]of r)l.has(p)||l.set(p,{name:p,path:p,type:I,status:"pending"});this.entities=l}hasObjectsOrFieldsChanged(s){const r=JSON.stringify({objects:s.objects,fields:s.fields}),l=r!==this.previousObjectsFieldsFingerprint;return this.previousObjectsFieldsFingerprint=r,l}}const ke={idle:{color:"gray",icon:"○"},in_progress:{color:"yellow",icon:"spinner"},uploading:{color:"cyan",icon:"upload"},done:{color:"green",icon:"✓"},error:{color:"red",icon:"✗"}},jv=f=>({idle:"idle",in_progress:"in_progress",done:"done",error:"error"})[f],Yv=f=>({pending:"idle",building:"in_progress",uploading:"uploading",success:"done",error:"error"})[f],Jv=f=>({idle:"idle",building:"in_progress",syncing:"in_progress",synced:"done",error:"error"})[f],Zv={idle:"Idle",building:"Building...",syncing:"Syncing...",synced:"Synced",error:"Error"},Ki=["⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"],ji=["↑","⇡","↟","⤒"],Ho={[v.e.Object]:"Objects",[v.e.Field]:"Fields",[v.e.LogicFunction]:"Logic functions",[v.e.FrontComponent]:"Front components",[v.e.CommandMenuItem]:"Command menu items",[v.e.Role]:"Roles",[v.e.Skill]:"Skills",[v.e.View]:"Views",[v.e.NavigationMenuItem]:"Navigation menu items",[v.e.PageLayout]:"Page layouts",[v.e.PageLayoutTab]:"Page layout tabs",[v.e.Agent]:"Agents",[v.e.ConnectionProvider]:"Connection providers"},zo=Object.keys(Ho),Xv={info:"gray",success:"green",error:"red",warning:"yellow"},Qv=f=>f.toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"}),em=(f,s=40)=>{if(f.length<=s)return f;const r=f.split("/");return r.length<=2?f:`.../${r.slice(-2).join("/")}`},tm=f=>{const s=new Map;for(const r of zo)s.set(r,[]);for(const r of f.values()){if(!r.type)continue;const l=s.get(r.type)??[];l.push(r),s.set(r.type,l)}return s},nm=f=>!f.frontendUrl||!f.steps.resolveApplication.output.universalIdentifier?null:`${f.frontendUrl}/settings/applications`,rm=f=>f.some(s=>s==="error")?"error":f.some(s=>s==="in_progress")?"in_progress":f.every(s=>s==="done")?"done":"idle",im=f=>{const s=[...f.entities.values()],r=s.some(x=>x.status==="error"),l=s.some(x=>x.status==="building"),p=s.length>0&&s.every(x=>x.status==="uploading"||x.status==="success"),I=r?"error":l?"in_progress":p?"done":"idle";return[{label:"Application Initialization",status:rm([f.steps.checkServer.status,f.steps.ensureValidTokens.status,f.steps.resolveApplication.status])},{label:"Resources Build",status:I},{label:"Resources Upload",status:f.steps.uploadFiles.status},{label:"Manifest Build",status:f.steps.buildManifest.status},{label:"Application Synchronization",status:f.steps.syncApplication.status},{label:"Api Client Generation",status:f.steps.generateApiClient.status}]},Ko=120,sm=Math.round(200/Ko),Do=()=>{const f=Math.floor(Date.now()/Ko);return{spinnerFrame:Ki[f%Ki.length],uploadFrame:ji[Math.floor(f/sm)%ji.length]}},Ji=f=>{const s=ke[f];return s.icon==="spinner"?Do().spinnerFrame:s.icon==="upload"?Do().uploadFrame:s.icon},jo=Go.default.createContext(null),am=jo.Provider,ht=()=>{const f=Go.default.useContext(jo);if(!f)throw new Error("useInk must be used within InkProvider");return f},om=({uiStatus:f})=>{const{Text:s}=ht(),r=Ji(f),l=ke[f];return L.jsxs(s,{color:l.color,children:[r," "]})},um=({entity:f})=>{const{Box:s,Text:r}=ht();return L.jsxs(s,{children:[L.jsx(om,{uiStatus:Yv(f.status)}),L.jsx(r,{children:f.name}),f.path!==f.name&&L.jsxs(r,{dimColor:!0,children:[" (",em(f.path),")"]})]})},lm=({type:f,entities:s})=>{const{Box:r,Text:l}=ht();return s.length===0?null:L.jsxs(r,{flexDirection:"column",marginTop:1,children:[L.jsx(l,{bold:!0,dimColor:!0,children:Ho[f]}),s.map(p=>L.jsx(um,{entity:p},p.path))]})},cm=()=>{const{Box:f,Text:s}=ht();return L.jsx(f,{marginTop:1,children:L.jsxs(s,{dimColor:!0,children:[L.jsx(s,{color:ke.idle.color,children:ke.idle.icon})," ","pending"," ",L.jsx(s,{color:ke.in_progress.color,children:Ki[0]})," ","building"," ",L.jsx(s,{color:ke.uploading.color,children:ji[0]})," ","uploading"," ",L.jsx(s,{color:ke.done.color,children:ke.done.icon})," ","success"," ",L.jsx(s,{color:ke.error.color,children:ke.error.icon})," ","error"]})})},fm=({state:f})=>{const{Text:s}=ht(),r=Jv(f.pipeline.status),l=Ji(r),p=ke[r],I=Zv[f.pipeline.status];return L.jsxs(s,{color:p.color,children:[l," ",I]})},dm=({label:f,status:s})=>{const{Box:r,Text:l}=ht(),p=jv(s),I=Ji(p),x=ke[p];return L.jsxs(r,{children:[L.jsxs(l,{dimColor:!0,children:[f,": "]}),L.jsxs(l,{color:x.color,children:[I," ",s.replace("_"," ")]})]})},pm=({state:f})=>{const{Box:s,Text:r}=ht(),l=tm(f.entities),p=nm(f);return L.jsxs(s,{flexDirection:"column",borderStyle:"classic",borderColor:"gray",paddingX:1,children:[L.jsx(r,{bold:!0,color:"cyan",children:"Application"}),L.jsxs(s,{marginLeft:2,flexDirection:"column",children:[L.jsxs(s,{children:[L.jsx(r,{dimColor:!0,children:"Name: "}),L.jsx(r,{bold:!0,children:f.pipeline.appName??"Loading..."})]}),L.jsxs(s,{children:[L.jsx(r,{dimColor:!0,children:"Overall Status: "}),L.jsx(fm,{state:f})]}),p&&L.jsxs(s,{children:[L.jsx(r,{dimColor:!0,children:"Open:"}),L.jsxs(r,{bold:!0,color:"cyan",children:[" ",p]})]})]}),L.jsx(s,{marginLeft:2,flexDirection:"column",marginTop:1,children:im(f).map(I=>L.jsx(dm,{label:I.label,status:I.status},I.label))}),L.jsx(s,{marginLeft:2,flexDirection:"column",children:zo.map(I=>{const x=l.get(I)??[];return L.jsx(lm,{type:I,entities:x},I)})})]})},hm=({event:f})=>{const{Box:s,Text:r}=ht(),l=Xv[f.status],p=Qv(f.timestamp);return L.jsxs(s,{children:[L.jsxs(r,{dimColor:!0,children:[p," "]}),L.jsx(r,{color:l,children:f.message})]})},gm=new Set(["building","syncing"]),Mo=120,vm=80,mm=({uiStateManager:f})=>{const{Box:s,Static:r}=ht(),[,l]=At.useReducer(D=>D+1,0),p=At.useRef(null),I=At.useRef(0),x=At.useCallback(()=>{p.current&&clearTimeout(p.current),p.current=setTimeout(()=>{p.current=null,I.current=Date.now(),l()},vm)},[]);At.useEffect(()=>f.subscribe(()=>{x()}),[f,x]),At.useEffect(()=>{const D=setInterval(()=>{const z=f.getSnapshot();gm.has(z.pipeline.status)&&(Date.now()-I.current<Mo||l())},Mo);return()=>clearInterval(D)},[f]),At.useEffect(()=>()=>{p.current&&clearTimeout(p.current)},[]);const P=f.getSnapshot();return L.jsxs(L.Fragment,{children:[L.jsx(r,{items:P.events,children:D=>L.jsx(hm,{event:D},D.id)}),L.jsxs(s,{marginTop:1,flexDirection:"column",children:[L.jsx(pm,{state:P}),L.jsx(cm,{})]})]})},ym=async f=>{const s=await import("ink"),{render:r,Box:l,Text:p,Static:I}=s,{unmount:x}=r(L.jsx(am,{value:{Box:l,Text:p,Static:I},children:L.jsx(mm,{uiStateManager:f})}),{incrementalRendering:!0});return{unmount:x}};class _m{constructor(s){this.listeners=new Set,this.pendingNotify=!1,this.orchestratorState=s}getSnapshot(){return this.orchestratorState}subscribe(s){return this.listeners.add(s),s(this.orchestratorState),()=>this.listeners.delete(s)}notify(){this.pendingNotify||(this.pendingNotify=!0,queueMicrotask(()=>{this.pendingNotify=!1;for(const s of this.listeners)s(this.orchestratorState)}))}}class wm{constructor(){this.orchestrator=null,this.unmountUI=null}async close(){this.unmountUI?.(),await this.orchestrator?.close()}getOrchestrator(){return this.orchestrator}async execute(s){const r=s.appPath??Q;await en(r);const l=await new v.ConfigService().getConfig(),p=new Kv({appPath:r,frontendUrl:l.apiUrl});if(!s.headless){const I=new _m(p);p.onChange=()=>I.notify();const{unmount:x}=await ym(I);this.unmountUI=x}this.orchestrator=new Vv({state:p,verbose:s.verbose}),await this.orchestrator.start(),s.headless||this.setupGracefulShutdown()}setupGracefulShutdown(){const s=()=>{this.close().then(()=>process.exit(0))};process.on("SIGINT",s),process.on("SIGTERM",s)}}class Sm{async execute({appPath:s=Q,postInstall:r=!1,preInstall:l=!1,functionUniversalIdentifier:p,functionName:I,payload:x="{}"}){let P;try{P=JSON.parse(x)}catch{console.error(y.default.red("Invalid JSON payload. Please provide valid JSON.")),process.exit(1)}const D=r?"post install":l?"pre install":p??I;console.log(y.default.blue(`🚀 Executing function "${D}"...`)),console.log(y.default.gray(` Payload: ${JSON.stringify(P)}
|
|
340
|
-
`));const
|
|
341
|
-
`);const
|
|
338
|
+
Waiting for server...`,status:"error"}]),this.state.updatePipeline({status:"error"})),!1)}if(!r.authValid)return s.output.errorLogged||(s.output={isReady:!1,errorLogged:!0},s.status="error",this.state.applyStepEvents([{message:"Authentication failed. Run `yarn twenty remote add --local` to authenticate.",status:"error"}]),this.state.updatePipeline({status:"error"})),!1;const l=s.output.isReady;return s.output={isReady:!0,errorLogged:!1},s.status="done",l||this.notify(),!0}}class Ov{constructor({clientService:s,configService:r,state:l,notify:d}){this.clientService=s,this.configService=r,this.state=l,this.notify=d}async execute(s){const r=this.state.steps.generateApiClient;r.status="in_progress",this.notify();try{const l=await v.ensureAppAccessTokenIsValidOrRefresh(this.configService,s.credentials);await this.clientService.generateCoreClient({appPath:s.appPath,appAccessToken:l}),r.status="done"}catch(l){this.state.applyStepEvents([{message:`Failed to generate API client: ${l instanceof Error?l.message:String(l)}`,status:"error"}]),r.status="error"}this.notify()}}class Nv{constructor({apiService:s,configService:r,state:l,notify:d}){this.apiService=s,this.configService=r,this.state=l,this.notify=d}async execute(s){try{const r=await v.ensureAppRegistration(this.apiService,this.configService,{name:s.manifest.application.displayName,universalIdentifier:s.manifest.application.universalIdentifier});this.registrationCredentials={clientId:r.clientId,clientSecret:r.clientSecret},this.state.applyStepEvents([{message:r.isNewRegistration?`App registration created: ${s.manifest.application.displayName}`:"Existing app registration found",status:r.isNewRegistration?"success":"info"},...r.isNewRegistration?[{message:"Credentials saved to config.",status:"info"}]:[]])}catch(r){throw this.state.applyStepEvents([{message:`Failed to register app: ${r instanceof Error?r.message:String(r)}`,status:"error"}]),r}this.notify()}}class Uo{constructor(s){this.watcher=null,this.appPath=s.appPath,this.fileFolder=s.fileFolder,this.watchPaths=s.watchPaths,this.handleFileBuilt=s.handleFileBuilt}async start(){const s=(await Promise.all(this.watchPaths.map(async r=>{const l=H.join(this.appPath,r);return await v.pathExists(l)?l:null}))).filter(r=>r!==null);s.length!==0&&(this.watcher=ko.default.watch(s,{awaitWriteFinish:{stabilityThreshold:100,pollInterval:50}}),this.watcher.on("all",(r,l)=>{r==="addDir"||r==="unlinkDir"||((r==="add"||r==="change")&&this.copyAndNotify(l),r==="unlink"&&this.handleUnlink(l))}))}async close(){await this.watcher?.close()}async copyAndNotify(s){const r=H.relative(this.appPath,s),l=H.join(v.u,r),d=H.join(this.appPath,l);await v.ensureDir(H.dirname(d)),await v.copy(s,d);const w=await tt.readFile(d),I=rv.default.createHash("md5").update(w).digest("hex");this.handleFileBuilt({fileFolder:this.fileFolder,builtPath:l,sourcePath:r,checksum:I})}async handleUnlink(s){const r=H.relative(this.appPath,s),l=H.join(v.u,r),d=H.join(this.appPath,l);await v.remove(d)}}class $v{constructor(s){this.process=null,this.pendingErrors=[],this.buffer="",this.hasErrors=!1,this.appPath=s.appPath,this.onErrors=s.onErrors}async start(){const s=Po.default.join(this.appPath,"node_modules",".bin","tsc");if(!await v.pathExists(s))return;const r=Po.default.join(this.appPath,"tsconfig.json");this.process=bn.spawn(s,["--watch","--noEmit","--pretty","false","-p",r],{cwd:this.appPath,stdio:["ignore","pipe","pipe"]}),this.process.on("error",()=>{this.process=null}),this.process.stdout?.on("data",l=>{this.handleOutput(l.toString())}),this.process.stderr?.on("data",l=>{this.handleOutput(l.toString())})}close(){this.process?.kill(),this.process=null}handleOutput(s){this.buffer+=s;const r=this.buffer.split(`
|
|
339
|
+
`);this.buffer=r.pop()??"";for(const l of r)this.processLine(l)}processLine(s){if(s.includes("Starting compilation in watch mode...")||s.includes("Starting incremental compilation...")){this.pendingErrors=[];return}if(s.includes("Watching for file changes.")){const l=this.hasErrors;this.hasErrors=this.pendingErrors.length>0,(this.hasErrors||l)&&this.onErrors(this.pendingErrors),this.pendingErrors=[];return}const r=v.parseTscOutputLine(s);r&&this.pendingErrors.push(r)}}const Uv=new Set(["node_modules","dist",".twenty"]);class Dv{constructor(s){this.watcher=null,this.appPath=s.appPath,this.handleChangeDetected=s.handleChangeDetected,this.verbose=s.verbose??!1}async start(){const s=this.appPath;this.watcher=ko.default.watch(this.appPath,{ignoreInitial:!this.verbose,ignored:r=>{const l=H.relative(s,r);if(l==="")return!1;const d=l.split(Yi.default.sep)[0];return Uv.has(d)||d.startsWith(".")},awaitWriteFinish:{stabilityThreshold:100,pollInterval:50}}),this.watcher.on("all",(r,l)=>{if(r==="addDir"||r==="unlinkDir")return;const d=H.relative(this.appPath,l),w=d.startsWith(v._),I=["package.json","yarn.lock"].includes(d);!(d.endsWith(".ts")||d.endsWith(".tsx"))&&!w&&!I||this.handleChangeDetected(d,r)})}async close(){await this.watcher?.close()}}class Mv{constructor(s){this.manifestWatcher=null,this.logicFunctionsWatcher=null,this.frontComponentsWatcher=null,this.assetWatcher=null,this.dependencyWatcher=null,this.tscWatcher=null,this.state=s.state,this.scheduleSync=s.scheduleSync,this.notify=s.notify,this.onFileBuilt=s.onFileBuilt,this.shouldSkipTypecheck=s.shouldSkipTypecheck,this.verbose=s.verbose??!1}async start(){this.state.steps.startWatchers.status="in_progress",this.notify(),this.manifestWatcher=new Dv({appPath:this.state.appPath,handleChangeDetected:this.handleChangeDetected.bind(this),verbose:this.verbose}),await this.manifestWatcher.start()}async handleWatcherRestarts(s){const{logicFunctions:r,frontComponents:l}=s.filePaths;if(!this.state.steps.startWatchers.output.watchersStarted){this.state.steps.startWatchers.output.watchersStarted=!0,this.state.steps.startWatchers.status="done",await this.startFileWatchers(r,l);return}this.logicFunctionsWatcher?.shouldRestart(r)&&await this.logicFunctionsWatcher.restart(r),this.frontComponentsWatcher?.shouldRestart(l)&&await this.frontComponentsWatcher.restart(l)}async close(){this.tscWatcher?.close(),await Promise.all([this.manifestWatcher?.close(),this.logicFunctionsWatcher?.close(),this.frontComponentsWatcher?.close(),this.assetWatcher?.close(),this.dependencyWatcher?.close()])}handleChangeDetected(s,r){this.state.addEvent({message:`Change detected: ${s}`,status:"info"}),r==="unlink"?this.state.removeEntity(s):this.state.updateEntityStatus(s,"building"),this.notify(),this.scheduleSync()}handleFileBuildError(s){this.state.addEvent({message:"Build failed:",status:"error"});for(const r of s)this.state.addEvent({message:r.error,status:"error"});this.notify()}handleFileBuilt(s){this.verbose&&this.state.addEvent({message:`Successfully built ${s.builtPath}`,status:"success"}),this.state.steps.uploadFiles.output.builtFileInfos.set(s.builtPath,{checksum:s.checksum,builtPath:s.builtPath,sourcePath:s.sourcePath,fileFolder:s.fileFolder,usesSdkClient:s.usesSdkClient}),this.onFileBuilt(s),this.notify(),this.scheduleSync()}async startFileWatchers(s,r){await Promise.all([this.startTscWatcher(),this.startLogicFunctionsWatcher(s),this.startFrontComponentsWatcher(r),this.startAssetWatcher(),this.startDependencyWatcher()])}async startLogicFunctionsWatcher(s){this.logicFunctionsWatcher=v.createLogicFunctionsWatcher({appPath:this.state.appPath,sourcePaths:s,shouldSkipTypecheck:this.shouldSkipTypecheck,handleBuildError:this.handleFileBuildError.bind(this),handleFileBuilt:this.handleFileBuilt.bind(this)}),await this.logicFunctionsWatcher.start()}async startFrontComponentsWatcher(s){this.frontComponentsWatcher=v.createFrontComponentsWatcher({appPath:this.state.appPath,sourcePaths:s,shouldSkipTypecheck:this.shouldSkipTypecheck,handleBuildError:this.handleFileBuildError.bind(this),handleFileBuilt:this.handleFileBuilt.bind(this)}),await this.frontComponentsWatcher.start()}async startAssetWatcher(){this.assetWatcher=new Uo({appPath:this.state.appPath,fileFolder:v.b.PublicAsset,watchPaths:[v._],handleFileBuilt:this.handleFileBuilt.bind(this)}),await this.assetWatcher.start()}async startDependencyWatcher(){this.dependencyWatcher=new Uo({appPath:this.state.appPath,fileFolder:v.b.Dependencies,watchPaths:["package.json","yarn.lock"],handleFileBuilt:this.handleFileBuilt.bind(this)}),this.dependencyWatcher.start()}async startTscWatcher(){this.tscWatcher=new $v({appPath:this.state.appPath,onErrors:this.handleTypecheckErrors.bind(this)}),await this.tscWatcher.start()}handleTypecheckErrors(s){s.length===0?this.state.addEvent({message:"Typecheck passed",status:"success"}):this.state.applyStepEvents(s.map(r=>({message:`Type error in ${r.file}(${r.line},${r.column}): ${r.text}`,status:"error"}))),this.notify()}}class Wv{constructor({apiService:s,state:r,notify:l,verbose:d}){this.apiService=s,this.state=r,this.notify=l,this.verbose=d??!1}async execute(s){const r=this.state.steps.syncApplication;r.status="in_progress",this.state.updatePipeline({status:"syncing"});const l=[],d=v.manifestUpdateChecksums({manifest:s.manifest,builtFileInfos:s.builtFileInfos});l.push({message:"Manifest checksums set",status:"info"}),await v.writeManifestToOutput(s.appPath,d),l.push({message:"Manifest saved to output directory",status:"info"}),l.push({message:"Syncing manifest",status:"info"});const w=await this.apiService.syncApplication(d);if(w.success){l.push({message:"✓ Synced",status:"success"}),r.output={syncStatus:"synced",error:null},r.status="done",this.state.updatePipeline({status:"synced",error:null}),this.state.updateAllEntitiesStatus("success"),this.state.applyStepEvents(l);return}const I=this.verbose?null:v.formatManifestValidationErrors(w.error);I?(l.push(...I),l.push({message:"Add --verbose to see full error log",status:"info"})):l.push({message:`Sync failed with error: ${v.serializeError(w.error)}`,status:"error"});const R=I?I[0].message:"Sync failed";r.output={syncStatus:"error",error:R},r.status="error",this.state.updatePipeline({status:"error",error:R}),this.state.updateAllEntitiesStatus("error"),this.state.applyStepEvents(l)}}class Bv{constructor({state:s,notify:r,verbose:l}){this.uploadedCount=0,this.failedCount=0,this.totalQueued=0,this.state=s,this.notify=r,this.verbose=l??!1}get isInitialized(){return v.o(this.state.steps.uploadFiles.output.fileUploader)}initialize(s){const r=this.state.steps.uploadFiles;r.output={...r.output,fileUploader:new v.FileUploader({appPath:s.appPath,applicationUniversalIdentifier:s.universalIdentifier})},r.status="in_progress",this.notify(),this.uploadPendingFiles()}uploadFile(s,r,l){const d=this.state.steps.uploadFiles;if(!d.output.fileUploader)return;d.status="in_progress",this.totalQueued++,this.verbose&&this.state.addEvent({message:`Uploading ${s}`,status:"info"}),this.state.updateEntityStatus(r,"uploading"),this.notify();const w=d.output.fileUploader.uploadFile({builtPath:s,fileFolder:l}).then(I=>{I.success?(this.uploadedCount++,this.verbose&&this.state.addEvent({message:`Successfully uploaded ${s}`,status:"success"}),this.state.updateEntityStatus(r,"success")):(this.failedCount++,this.state.addEvent({message:`Failed to upload ${s}: ${I.error}`,status:"error"}))}).catch(I=>{this.failedCount++,this.state.addEvent({message:`Upload failed for ${s}: ${I}`,status:"error"})}).finally(()=>{d.output.activeUploads.delete(w),d.output.activeUploads.size===0&&(this.logUploadSummary(),d.status="done",this.notify())});d.output.activeUploads.add(w)}async waitForUploads(){const s=this.state.steps.uploadFiles;for(;s.output.activeUploads.size>0;)await Promise.all(s.output.activeUploads);s.status="done",this.notify()}logUploadSummary(){if(this.totalQueued===0){this.resetCounters();return}this.failedCount>0&&this.state.addEvent({message:`Uploaded ${this.uploadedCount}/${this.totalQueued} files (${this.failedCount} failed)`,status:"error"}),this.state.addEvent({message:`Successfully uploaded ${this.uploadedCount} file${this.uploadedCount!==1?"s":""}`,status:"success"}),this.resetCounters()}resetCounters(){this.uploadedCount=0,this.failedCount=0,this.totalQueued=0}uploadPendingFiles(){for(const[s,{fileFolder:r,sourcePath:l}]of this.state.steps.uploadFiles.output.builtFileInfos.entries())this.uploadFile(s,l,r)}}class kv{constructor(s){this.syncTimer=null,this.serverCheckInterval=null,this.skipTypecheck=!0,this.debounceMs=s.debounceMs??200,this.state=s.state,this.verbose=s.verbose??!1,this.apiService=new v.ApiService({disableInterceptors:!0});const r=this.apiService,l=new v.ConfigService;this.clientService=new v.ClientService;const d={state:this.state,notify:()=>this.state.notify()};this.checkServerStep=new Lv({...d,apiService:r}),this.buildManifestStep=new Pv(d),this.registerAppStep=new Nv({...d,apiService:r,configService:l}),this.uploadFilesStep=new Bv({...d,verbose:this.verbose}),this.generateApiClientStep=new Ov({...d,clientService:this.clientService,configService:l}),this.syncApplicationStep=new Wv({...d,apiService:r,verbose:this.verbose}),this.startWatchersStep=new Mv({...d,scheduleSync:this.scheduleSync.bind(this),onFileBuilt:this.handleFileBuilt.bind(this),shouldSkipTypecheck:()=>this.skipTypecheck,verbose:this.verbose})}async start(){const s=Yi.default.join(this.state.appPath,v.u);await v.ensureDir(s),await v.emptyDir(s),this.verbose||(this.state.addEvent({message:"Add --verbose to see fully detailed logs",status:"info"}),this.state.notify()),await this.startWatchersStep.start(),this.serverCheckInterval=setInterval(()=>{this.checkServerHealth()},2e3)}async close(){this.serverCheckInterval&&clearInterval(this.serverCheckInterval),await this.startWatchersStep.close()}getState(){return this.state}handleFileBuilt(s){this.state.steps.uploadFiles.output.fileUploader&&this.uploadFilesStep.uploadFile(s.builtPath,s.sourcePath,s.fileFolder)}async checkServerHealth(){const s=this.state.steps.checkServer.output.isReady;await this.checkServerStep.execute()&&!s&&this.scheduleSync()}scheduleSync(){this.syncTimer&&clearTimeout(this.syncTimer),this.syncTimer=setTimeout(()=>{this.syncTimer=null,this.performSync()},this.debounceMs)}async performSync(){if(!this.state.pipeline.isSyncing){this.state.updatePipeline({isSyncing:!0});try{await this.runSyncPipeline()}catch(s){this.state.addEvent({message:`Sync failed with error: ${v.serializeError(s)}`,status:"error"}),this.state.updatePipeline({status:"error"}),this.state.updateAllEntitiesStatus("error")}finally{this.state.updatePipeline({isSyncing:!1})}}}async runSyncPipeline(){if(!await this.checkServerStep.execute())return;this.state.steps.ensureValidTokens.status="done";const r=await this.buildManifestStep.execute({appPath:this.state.appPath});if(!r||(await this.startWatchersStep.handleWatcherRestarts(r),!this.uploadFilesStep.isInitialized&&!await this.initializePipeline(r.manifest)))return;const l=this.state.hasObjectsOrFieldsChanged(r.manifest);await this.uploadFilesStep.waitForUploads(),await this.syncApplicationStep.execute({manifest:r.manifest,builtFileInfos:this.state.steps.uploadFiles.output.builtFileInfos,appPath:this.state.appPath}),this.state.steps.syncApplication.status!=="error"&&l&&(await this.generateApiClientStep.execute({appPath:this.state.appPath,credentials:this.registerAppStep.registrationCredentials}),this.skipTypecheck=!1)}async initializePipeline(s){await this.registerAppStep.execute({manifest:s});const r=await this.apiService.createDevelopmentApplication({universalIdentifier:s.application.universalIdentifier,name:s.application.displayName});return!r.success||!r.data?(this.state.applyStepEvents([{message:"Failed to install development application",status:"error"},{message:JSON.stringify(r,null,2),status:"error"}]),this.state.updatePipeline({status:"error"}),!1):(this.state.steps.resolveApplication.output={applicationId:r.data.id,universalIdentifier:r.data.universalIdentifier},this.state.steps.resolveApplication.status="done",this.state.applyStepEvents([{message:"Application installed",status:"success"}]),this.uploadFilesStep.initialize({appPath:this.state.appPath,universalIdentifier:s.application.universalIdentifier}),!0)}}const Vv={objects:v.e.Object,fields:v.e.Field,logicFunctions:v.e.LogicFunction,frontComponents:v.e.FrontComponent,roles:v.e.Role,skills:v.e.Skill,connectionProviders:v.e.ConnectionProvider,views:v.e.View,navigationMenuItems:v.e.NavigationMenuItem,pageLayouts:v.e.PageLayout,pageLayoutTabs:v.e.PageLayoutTab,commandMenuItems:v.e.CommandMenuItem},Gv=200,qv={pending:["building","uploading","success","error"],building:["pending","uploading","success","error"],uploading:["pending","success","error"],success:["pending","building","uploading","error"],error:["pending","building","uploading","success"]};class Hv{constructor(s){this.eventIdCounter=0,this.appPath=s.appPath,this.frontendUrl=s.frontendUrl,this.previousObjectsFieldsFingerprint=null,this.steps={checkServer:{output:{isReady:!1,errorLogged:!1},status:"idle"},ensureValidTokens:{output:{},status:"idle"},resolveApplication:{output:{applicationId:null,universalIdentifier:null},status:"idle"},buildManifest:{output:{result:null},status:"idle"},uploadFiles:{output:{fileUploader:null,builtFileInfos:new Map,activeUploads:new Set},status:"idle"},generateApiClient:{output:{},status:"idle"},syncApplication:{output:{syncStatus:"idle",error:null},status:"idle"},startWatchers:{output:{watchersStarted:!1},status:"idle"}},this.pipeline={status:"idle",isSyncing:!1,error:null,appName:null},this.versionInfo=null,this.entities=new Map,this.events=[]}setVersionInfo(s){this.versionInfo=s,this.notify()}notify(){this.onChange?.()}updatePipeline(s){Object.assign(this.pipeline,s),this.notify()}applyStepEvents(s){const r=s.map(l=>(this.eventIdCounter+=1,{...l,id:this.eventIdCounter,timestamp:new Date,message:l.message.slice(0,5e3)}));this.events=[...this.events.slice(-(Gv-r.length)),...r]}addEvent(s){this.applyStepEvents([s])}updateEntityStatus(s,r){const l=new Map(this.entities),d=l.get(s);d?.status&&!qv[d.status].includes(r)||(l.set(s,d?{...d,status:r}:{name:s,path:s,status:r}),this.entities=l)}removeEntity(s){const r=new Map(this.entities);r.delete(s),this.entities=r}updateAllEntitiesStatus(s){const r=new Map(this.entities);for(const[l,d]of r)r.set(l,{...d,status:s});this.entities=r}updateEntitiesFromManifest(s){const r=new Map;for(const[d,w]of Object.entries(s)){const I=Vv[d];if(I)for(const R of w)r.set(R,I)}const l=new Map(this.entities);for(const[d,w]of l)l.set(d,{...w,type:r.get(d)});for(const[d,w]of r)l.has(d)||l.set(d,{name:d,path:d,type:w,status:"pending"});this.entities=l}hasObjectsOrFieldsChanged(s){const r=JSON.stringify({objects:s.objects,fields:s.fields}),l=r!==this.previousObjectsFieldsFingerprint;return this.previousObjectsFieldsFingerprint=r,l}}const ke={idle:{color:"gray",icon:"○"},in_progress:{color:"yellow",icon:"spinner"},uploading:{color:"cyan",icon:"upload"},done:{color:"green",icon:"✓"},error:{color:"red",icon:"✗"}},zv=f=>({idle:"idle",in_progress:"in_progress",done:"done",error:"error"})[f],Kv=f=>({pending:"idle",building:"in_progress",uploading:"uploading",success:"done",error:"error"})[f],jv=f=>({idle:"idle",building:"in_progress",syncing:"in_progress",synced:"done",error:"error"})[f],Yv={idle:"Idle",building:"Building...",syncing:"Syncing...",synced:"Synced",error:"Error"},Ki=["⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"],ji=["↑","⇡","↟","⤒"],qo={[v.e.Object]:"Objects",[v.e.Field]:"Fields",[v.e.LogicFunction]:"Logic functions",[v.e.FrontComponent]:"Front components",[v.e.CommandMenuItem]:"Command menu items",[v.e.Role]:"Roles",[v.e.Skill]:"Skills",[v.e.View]:"Views",[v.e.NavigationMenuItem]:"Navigation menu items",[v.e.PageLayout]:"Page layouts",[v.e.PageLayoutTab]:"Page layout tabs",[v.e.Agent]:"Agents",[v.e.ConnectionProvider]:"Connection providers"},Ho=Object.keys(qo),Jv={info:"gray",success:"green",error:"red",warning:"yellow"},Zv=f=>f.toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"}),Xv=(f,s=40)=>{if(f.length<=s)return f;const r=f.split("/");return r.length<=2?f:`.../${r.slice(-2).join("/")}`},Qv=f=>{const s=new Map;for(const r of Ho)s.set(r,[]);for(const r of f.values()){if(!r.type)continue;const l=s.get(r.type)??[];l.push(r),s.set(r.type,l)}return s},em=f=>!f.frontendUrl||!f.steps.resolveApplication.output.universalIdentifier?null:`${f.frontendUrl}/settings/applications`,tm=f=>f.some(s=>s==="error")?"error":f.some(s=>s==="in_progress")?"in_progress":f.every(s=>s==="done")?"done":"idle",nm=f=>{const s=[...f.entities.values()],r=s.some(I=>I.status==="error"),l=s.some(I=>I.status==="building"),d=s.length>0&&s.every(I=>I.status==="uploading"||I.status==="success"),w=r?"error":l?"in_progress":d?"done":"idle";return[{label:"Application Initialization",status:tm([f.steps.checkServer.status,f.steps.ensureValidTokens.status,f.steps.resolveApplication.status])},{label:"Resources Build",status:w},{label:"Resources Upload",status:f.steps.uploadFiles.status},{label:"Manifest Build",status:f.steps.buildManifest.status},{label:"Application Synchronization",status:f.steps.syncApplication.status},{label:"Api Client Generation",status:f.steps.generateApiClient.status}]},zo=120,rm=Math.round(200/zo),Do=()=>{const f=Math.floor(Date.now()/zo);return{spinnerFrame:Ki[f%Ki.length],uploadFrame:ji[Math.floor(f/rm)%ji.length]}},Ji=f=>{const s=ke[f];return s.icon==="spinner"?Do().spinnerFrame:s.icon==="upload"?Do().uploadFrame:s.icon},Ko=Vo.default.createContext(null),im=Ko.Provider,nt=()=>{const f=Vo.default.useContext(Ko);if(!f)throw new Error("useInk must be used within InkProvider");return f},sm=({uiStatus:f})=>{const{Text:s}=nt(),r=Ji(f),l=ke[f];return C.jsxs(s,{color:l.color,children:[r," "]})},am=({entity:f})=>{const{Box:s,Text:r}=nt();return C.jsxs(s,{children:[C.jsx(sm,{uiStatus:Kv(f.status)}),C.jsx(r,{children:f.name}),f.path!==f.name&&C.jsxs(r,{dimColor:!0,children:[" (",Xv(f.path),")"]})]})},om=({type:f,entities:s})=>{const{Box:r,Text:l}=nt();return s.length===0?null:C.jsxs(r,{flexDirection:"column",marginTop:1,children:[C.jsx(l,{bold:!0,dimColor:!0,children:qo[f]}),s.map(d=>C.jsx(am,{entity:d},d.path))]})},um=()=>{const{Box:f,Text:s}=nt();return C.jsx(f,{marginTop:1,children:C.jsxs(s,{dimColor:!0,children:[C.jsx(s,{color:ke.idle.color,children:ke.idle.icon})," ","pending"," ",C.jsx(s,{color:ke.in_progress.color,children:Ki[0]})," ","building"," ",C.jsx(s,{color:ke.uploading.color,children:ji[0]})," ","uploading"," ",C.jsx(s,{color:ke.done.color,children:ke.done.icon})," ","success"," ",C.jsx(s,{color:ke.error.color,children:ke.error.icon})," ","error"]})})},lm=7,cm=({versionInfo:f})=>{const{Box:s,Text:r}=nt();if(f===null)return null;const{cliVersion:l,localServerVersion:d,latestServerVersion:w,isMinorOrMajorBehind:I,daysBehind:R}=f,$=I&&R!==null&&R>lm,q=d!==null&&w!==null&&d===w;return C.jsxs(s,{children:[C.jsx(r,{dimColor:!0,children:"Versions: "}),C.jsx(r,{dimColor:!0,children:"CLI "}),C.jsxs(r,{children:["v",l]}),d!==null&&C.jsxs(C.Fragment,{children:[C.jsx(r,{dimColor:!0,children:" • Server "}),C.jsxs(r,{color:$?"yellow":void 0,children:["v",d]}),q&&C.jsx(r,{color:"green",children:" ✓ latest"}),$&&w!==null&&C.jsxs(C.Fragment,{children:[C.jsxs(r,{color:"yellow",children:[" → v",w]}),R!==null&&C.jsxs(r,{dimColor:!0,children:[" (",R,"d behind)"]})]})]})]})},fm=({state:f})=>{const{Text:s}=nt(),r=jv(f.pipeline.status),l=Ji(r),d=ke[r],w=Yv[f.pipeline.status];return C.jsxs(s,{color:d.color,children:[l," ",w]})},dm=({label:f,status:s})=>{const{Box:r,Text:l}=nt(),d=zv(s),w=Ji(d),I=ke[d];return C.jsxs(r,{children:[C.jsxs(l,{dimColor:!0,children:[f,": "]}),C.jsxs(l,{color:I.color,children:[w," ",s.replace("_"," ")]})]})},hm=({state:f})=>{const{Box:s,Text:r}=nt(),l=Qv(f.entities),d=em(f);return C.jsxs(s,{flexDirection:"column",borderStyle:"classic",borderColor:"gray",paddingX:1,children:[C.jsx(r,{bold:!0,color:"cyan",children:"Application"}),C.jsxs(s,{marginLeft:2,flexDirection:"column",children:[C.jsxs(s,{children:[C.jsx(r,{dimColor:!0,children:"Name: "}),C.jsx(r,{bold:!0,children:f.pipeline.appName??"Loading..."})]}),C.jsxs(s,{children:[C.jsx(r,{dimColor:!0,children:"Overall Status: "}),C.jsx(fm,{state:f})]}),d&&C.jsxs(s,{children:[C.jsx(r,{dimColor:!0,children:"Open:"}),C.jsxs(r,{bold:!0,color:"cyan",children:[" ",d]})]}),C.jsx(cm,{versionInfo:f.versionInfo})]}),C.jsx(s,{marginLeft:2,flexDirection:"column",marginTop:1,children:nm(f).map(w=>C.jsx(dm,{label:w.label,status:w.status},w.label))}),C.jsx(s,{marginLeft:2,flexDirection:"column",children:Ho.map(w=>{const I=l.get(w)??[];return C.jsx(om,{type:w,entities:I},w)})})]})},pm=({event:f})=>{const{Box:s,Text:r}=nt(),l=Jv[f.status],d=Zv(f.timestamp);return C.jsxs(s,{children:[C.jsxs(r,{dimColor:!0,children:[d," "]}),C.jsx(r,{color:l,children:f.message})]})},gm=new Set(["building","syncing"]),Mo=120,vm=80,mm=({uiStateManager:f})=>{const{Box:s,Static:r}=nt(),[,l]=At.useReducer($=>$+1,0),d=At.useRef(null),w=At.useRef(0),I=At.useCallback(()=>{d.current&&clearTimeout(d.current),d.current=setTimeout(()=>{d.current=null,w.current=Date.now(),l()},vm)},[]);At.useEffect(()=>f.subscribe(()=>{I()}),[f,I]),At.useEffect(()=>{const $=setInterval(()=>{const q=f.getSnapshot();gm.has(q.pipeline.status)&&(Date.now()-w.current<Mo||l())},Mo);return()=>clearInterval($)},[f]),At.useEffect(()=>()=>{d.current&&clearTimeout(d.current)},[]);const R=f.getSnapshot();return C.jsxs(C.Fragment,{children:[C.jsx(r,{items:R.events,children:$=>C.jsx(pm,{event:$},$.id)}),C.jsxs(s,{marginTop:1,flexDirection:"column",children:[C.jsx(hm,{state:R}),C.jsx(um,{})]})]})},ym=async f=>{const s=await import("ink"),{render:r,Box:l,Text:d,Static:w}=s,{unmount:I}=r(C.jsx(im,{value:{Box:l,Text:d,Static:w},children:C.jsx(mm,{uiStateManager:f})}),{incrementalRendering:!0});return{unmount:I}};class _m{constructor(s){this.listeners=new Set,this.pendingNotify=!1,this.orchestratorState=s}getSnapshot(){return this.orchestratorState}subscribe(s){return this.listeners.add(s),s(this.orchestratorState),()=>this.listeners.delete(s)}notify(){this.pendingNotify||(this.pendingNotify=!0,queueMicrotask(()=>{this.pendingNotify=!1;for(const s of this.listeners)s(this.orchestratorState)}))}}class wm{constructor(){this.orchestrator=null,this.unmountUI=null}async close(){this.unmountUI?.(),await this.orchestrator?.close()}getOrchestrator(){return this.orchestrator}async execute(s){const r=s.appPath??Q;await en(r),s.headless&&await v.checkServerVersionCompatibility();const l=await new v.ConfigService().getConfig(),d=new Hv({appPath:r,frontendUrl:l.apiUrl});if(!s.headless){const w=new _m(d);d.onChange=()=>w.notify();const{unmount:I}=await ym(w);this.unmountUI=I,v.getVersionInfo().then(R=>d.setVersionInfo(R))}this.orchestrator=new kv({state:d,verbose:s.verbose}),await this.orchestrator.start(),s.headless||this.setupGracefulShutdown()}setupGracefulShutdown(){const s=()=>{this.close().then(()=>process.exit(0))};process.on("SIGINT",s),process.on("SIGTERM",s)}}class Sm{async execute({appPath:s=Q,postInstall:r=!1,preInstall:l=!1,functionUniversalIdentifier:d,functionName:w,payload:I="{}"}){let R;try{R=JSON.parse(I)}catch{console.error(y.default.red("Invalid JSON payload. Please provide valid JSON.")),process.exit(1)}const $=r?"post install":l?"pre install":d??w;console.log(y.default.blue(`🚀 Executing function "${$}"...`)),console.log(y.default.gray(` Payload: ${JSON.stringify(R)}
|
|
340
|
+
`));const q=r?{appPath:s,postInstall:!0,payload:R}:l?{appPath:s,preInstall:!0,payload:R}:d?{appPath:s,functionUniversalIdentifier:d,payload:R}:{appPath:s,functionName:w,payload:R},Z=await v.functionExecute(q);if(!Z.success){switch(Z.error.code){case v.APP_ERROR_CODES.MANIFEST_NOT_FOUND:{console.error(y.default.red("Failed to build manifest."));break}case v.FUNCTION_ERROR_CODES.FETCH_FUNCTIONS_FAILED:{console.error(y.default.red("Failed to fetch functions:"),Z.error.message);break}case v.FUNCTION_ERROR_CODES.FUNCTION_NOT_FOUND:{console.error(y.default.red(Z.error.message),`
|
|
341
|
+
`);const V=Z.error.details?.availableFunctions??[];V.length>0?(console.log(y.default.cyan("Available functions:")),V.forEach(W=>{console.log(` - ${y.default.white(W.name)} (${W.universalIdentifier})`)})):console.log(y.default.yellow("No functions found for this application. Have you synced your app with `twenty dev`?"));break}case v.FUNCTION_ERROR_CODES.EXECUTION_FAILED:{console.error(y.default.red("Execution failed:"),Z.error.message);break}default:console.error(y.default.red(Z.error.message))}process.exit(1)}const K=Z.data;console.log(y.default.cyan("─".repeat(60))),console.log(y.default.cyan("Execution Result")),console.log(y.default.cyan("─".repeat(60)));const Ye=K.status==="SUCCESS"?y.default.green:y.default.red;console.log(`${y.default.bold("Status:")} ${Ye(K.status)}`),console.log(`${y.default.bold("Duration:")} ${K.duration}ms
|
|
342
342
|
`),v.o(K.data)&&(console.log(y.default.bold("Data:")),console.log(y.default.white(JSON.stringify(K.data,null,2)))),K.error&&(console.log(y.default.bold.red("Error:")),console.log(y.default.red(` Type: ${K.error.errorType}`)),console.log(y.default.red(` Message: ${K.error.errorMessage}
|
|
343
|
-
`)),K.error.stackTrace&&(console.log(y.default.gray("Stack trace:")),console.log(y.default.gray(K.error.stackTrace)))),K.logs&&(console.log(y.default.bold("Logs:")),console.log(y.default.gray(K.logs))),console.log(y.default.cyan("─".repeat(60))),K.status!=="SUCCESS"&&process.exit(1)}}class
|
|
344
|
-
`));const l=await v.appInstall({appPath:r,remote:s.remote});l.success||(console.error(y.default.red(l.error.message)),process.exit(1)),console.log(y.default.green("✓ Application installed"))}}class
|
|
343
|
+
`)),K.error.stackTrace&&(console.log(y.default.gray("Stack trace:")),console.log(y.default.gray(K.error.stackTrace)))),K.logs&&(console.log(y.default.bold("Logs:")),console.log(y.default.gray(K.logs))),console.log(y.default.cyan("─".repeat(60))),K.status!=="SUCCESS"&&process.exit(1)}}class xm{async execute(s){const r=s.appPath??Q;await en(r),await v.checkServerVersionCompatibility(),console.log(y.default.blue("Installing application...")),console.log(y.default.gray(`App path: ${r}
|
|
344
|
+
`));const l=await v.appInstall({appPath:r,remote:s.remote});l.success||(console.error(y.default.red(l.error.message)),process.exit(1)),console.log(y.default.green("✓ Application installed"))}}class Im{constructor(){this.apiService=new v.ApiService}async execute({appPath:s=Q,functionUniversalIdentifier:r,functionName:l}){try{const d=await v.readManifestFromFile(s);d||process.exit(1),this.logWatchInfo({appName:d.application.displayName,functionUniversalIdentifier:r,functionName:l}),await this.apiService.subscribeToLogs({applicationUniversalIdentifier:d.application.universalIdentifier,functionUniversalIdentifier:r,functionName:l})}catch(d){console.error(y.default.red("Watch logs failed:"),d instanceof Error?d.message:d),process.exit(1)}}logWatchInfo({appName:s,functionUniversalIdentifier:r,functionName:l}){const d=s??"Twenty Application",w=r||l?`function "${r||l}"`:"functions";console.log(y.default.blue(`🚀 Watching ${d} ${w} logs:
|
|
345
345
|
`))}}class Em{async execute(s){const r=s.appPath??Q;await en(r),console.log(y.default.blue("Publishing to npm...")),console.log(y.default.gray(`App path: ${r}
|
|
346
|
-
`));const l=await v.appPublish({appPath:r,npmTag:s.tag,onProgress:
|
|
347
|
-
Start one with: yarn twenty server start`)),process.exit(1)),console.log(y.default.gray(`Found local server at ${
|
|
348
|
-
`,y.default.gray("Use 'twenty remote switch <name>' to change default"))}),s.command("switch [name]").description("Set the default remote").action(async r=>{const l=new v.ConfigService,
|
|
349
|
-
`));const l=await v.appDevOnce({appPath:r,verbose:s.verbose,onProgress:
|
|
346
|
+
`));const l=await v.appPublish({appPath:r,npmTag:s.tag,onProgress:d=>console.log(y.default.gray(d))});l.success||(console.error(y.default.red(l.error.message)),process.exit(1)),console.log(y.default.green("✓ Published to npm successfully"))}}const Am=f=>{try{return new URL(f).hostname.replace(/\./g,"-")}catch{return"remote"}},Wo=async(f,s)=>s?((await v.authLogin({apiKey:s,apiUrl:f})).success||(console.error(y.default.red("✗ Authentication failed.")),process.exit(1)),"API key"):bm(f),bm=async f=>{await Ve.default.prompt([{type:"input",name:"confirm",message:"Press Enter to open the browser for authentication..."}]);const s=await v.authLoginOAuth({apiUrl:f});if(s.success)return"OAuth";console.log(y.default.yellow(s.error.message));const r=await Ve.default.prompt([{type:"password",name:"apiKey",message:"API Key:",mask:"*",validate:d=>d.length>0||"API key is required"}]);return(await v.authLogin({apiKey:r.apiKey,apiUrl:f})).success||(console.error(y.default.red("✗ Authentication failed.")),process.exit(1)),"API key"},Cm=f=>{const s=f.command("remote").description("Manage remote Twenty servers");s.command("add").description("Add a new remote or re-authenticate an existing one").option("--as <name>","Name for this remote").option("--api-key <apiKey>","API key for non-interactive auth").option("--api-url <apiUrl>","Server URL").option("--local","Connect to a local Twenty server (auto-detect)").option("--test","Write to config.test.json (for integration tests)").action(async r=>{const l=r.test?v.getConfigPath(!0):void 0,d=new v.ConfigService(l?{configPath:l}:void 0),w=await d.getRemotes();if(r.as!==void 0&&w.includes(r.as)){const q=await d.getConfigForRemote(r.as);v.ConfigService.setActiveRemote(r.as);const Z=await Wo(q.apiUrl,r.apiKey);console.log(y.default.green(`✓ Re-authenticated "${r.as}" via ${Z}.`)),await d.setDefaultRemote(r.as),console.log(y.default.green(`✓ Default remote set to "${r.as}".`));return}let I=r.apiUrl;if(!I){const q=await v.detectLocalServer();r.local?(q||(console.error(y.default.red(`No local Twenty server found.
|
|
347
|
+
Start one with: yarn twenty server start`)),process.exit(1)),console.log(y.default.gray(`Found local server at ${q}`)),I=q):I=(await Ve.default.prompt([{type:"input",name:"apiUrl",message:"Twenty server URL:",validate:Z=>{try{return new URL(Z),!0}catch{return"Please enter a valid URL"}}}])).apiUrl}const R=r.as??Am(I);v.ConfigService.setActiveRemote(R);const $=await Wo(I,r.apiKey);console.log(y.default.green(`✓ Remote "${R}" added (${I}) via ${$}.`)),await d.setDefaultRemote(R),console.log(y.default.green(`✓ Default remote set to "${R}".`))}),s.command("list").description("List all configured remotes").action(async()=>{const r=new v.ConfigService,l=await r.getRemotes(),d=await r.getDefaultRemote();if(l.length===0){console.log("No remotes configured."),console.log("Use 'twenty remote add' to add one.");return}console.log("");for(const w of l){const I=await r.getConfigForRemote(w),R=I.twentyCLIAccessToken?"oauth":I.apiKey?"api-key":"none",$=w===d,q=$?"* ":" ",Z=$?y.default.bold(w):w;console.log(`${q}${Z} ${y.default.gray(I.apiUrl)} [${R}]`)}console.log(`
|
|
348
|
+
`,y.default.gray("Use 'twenty remote switch <name>' to change default"))}),s.command("switch [name]").description("Set the default remote").action(async r=>{const l=new v.ConfigService,d=r??(await Ve.default.prompt([{type:"list",name:"remote",message:"Select default remote:",choices:await l.getRemotes()}])).remote;(await l.getRemotes()).includes(d)||(console.error(y.default.red(`Remote "${d}" not found.`)),process.exit(1)),await l.setDefaultRemote(d),console.log(y.default.green(`✓ Default remote set to "${d}".`))}),s.command("status").description("Show active remote and authentication status").action(async()=>{const r=new v.ConfigService,l=new v.ApiService,d=v.ConfigService.getActiveRemote(),w=await r.getConfig(),I=w.twentyCLIAccessToken?"oauth":w.apiKey?"api-key":"none";if(console.log(` Remote: ${y.default.bold(d)}`),console.log(` Server: ${w.apiUrl}`),I==="none"){console.log(` Auth: ${y.default.yellow("not configured")}`);return}const{authValid:R}=await l.validateAuth(),$=R?y.default.green(`${I} (valid)`):y.default.red(`${I} (invalid)`);console.log(` Auth: ${$}`)}),s.command("remove <name>").description("Remove a remote").action(async r=>{const l=new v.ConfigService;(await l.getRemotes()).includes(r)||(console.error(y.default.red(`Remote "${r}" not found.`)),process.exit(1)),v.ConfigService.setActiveRemote(r),await l.clearConfig(),console.log(y.default.green(`✓ Remote "${r}" removed.`))})},Tm=f=>{const s=f.command("server").description("Manage a Twenty server (local instance and server-side actions)");s.command("start").description("Start a local Twenty server").option("-p, --port <port>","HTTP port").option("--test","Start a separate test instance (port 2021)").action(async r=>{const l=r.test?v.DEFAULT_TEST_PORT:v.DEFAULT_PORT,d=r.port?parseInt(r.port,10):l;(isNaN(d)||d<1||d>65535)&&(console.error(y.default.red("Invalid port number.")),process.exit(1));const w=await v.serverStart({port:d,test:r.test,onProgress:I=>console.log(y.default.gray(I))});w.success||(console.error(y.default.red(w.error.message)),process.exit(1))}),s.command("stop").description("Stop the local Twenty server").option("--test","Stop the test instance").action(r=>{const l=r.test?v.TEST_CONTAINER_NAME:v.CONTAINER_NAME;if(!v.containerExists(l)){console.log(y.default.yellow("No Twenty server container found."));return}bn.execSync(`docker stop ${l}`,{stdio:"ignore"}),console.log(y.default.green("Twenty server stopped."))}),s.command("logs").description("Stream Twenty server logs").option("-n, --lines <lines>","Number of lines to show","50").option("--test","Show logs for the test instance").action(r=>{const l=r.test?v.TEST_CONTAINER_NAME:v.CONTAINER_NAME;if(!v.containerExists(l)){console.log(y.default.yellow("No Twenty server container found."));return}try{bn.spawnSync("docker",["logs","-f","--tail",r.lines,l],{stdio:"inherit"})}catch{}}),s.command("status").description("Show Twenty server status").option("--test","Show status of the test instance").action(async r=>{const l=r.test?v.TEST_CONTAINER_NAME:v.CONTAINER_NAME,d=r.test?v.DEFAULT_TEST_PORT:v.DEFAULT_PORT;if(!v.containerExists(l)){console.log(` Status: ${y.default.gray("not created")}`),console.log(y.default.gray(` Run 'yarn twenty server start${r.test?" --test":""}' to create one.`));return}const w=v.isContainerRunning(l),I=w?v.getContainerPort(l):d,R=w?await v.checkServerHealth(I):!1,$=R?y.default.green("running (healthy)"):w?y.default.yellow("running (starting...)"):y.default.gray("stopped"),q=v.getContainerEnvVar("APP_VERSION",l);console.log(` Status: ${$}`),console.log(` URL: http://localhost:${I}`),q&&console.log(` Version: ${y.default.gray(q)}`),R&&console.log(y.default.gray(" Login: tim@apple.dev / tim@apple.dev"))}),s.command("reset").description("Delete all data and start fresh").option("--test","Reset the test instance").action(r=>{const l=r.test?v.TEST_CONTAINER_NAME:v.CONTAINER_NAME,d=r.test?"twenty-app-dev-test-data":"twenty-app-dev-data",w=r.test?"twenty-app-dev-test-storage":"twenty-app-dev-storage";v.containerExists(l)&&bn.execSync(`docker rm -f ${l}`,{stdio:"ignore"});try{bn.execSync(`docker volume rm ${d} ${w}`,{stdio:"ignore"})}catch{}console.log(y.default.green("Twenty server data reset.")),console.log(y.default.gray(`Run 'yarn twenty server start${r.test?" --test":""}' to start a fresh instance.`))}),s.command("upgrade [version]").description("Upgrade the twenty-app-dev Docker image").option("--test","Upgrade the test instance").action(async(r,l)=>{const d=await v.serverUpgrade({version:r??"latest",test:l.test,onProgress:I=>console.log(y.default.gray(I))});d.success||(console.error(y.default.red(d.error.message)),process.exit(1));const{data:w}=d;if(!w.imageUpdated){console.log(y.default.green(` Already up to date (${w.image}).`));return}console.log(y.default.green(` Upgraded to: ${w.image}`)),w.containerRecreated&&console.log(y.default.gray(` Run 'yarn twenty server start${l.test?" --test":""}' to wait for the server to be ready.`))}),s.command("catalog-sync").description("Trigger a marketplace catalog sync on the server").option("-r, --remote <name>","Sync on a specific remote").action(async r=>{await new Go().execute({remote:r.remote})})};class Rm{async execute(s){const r=s.appPath??Q;await en(r),console.log(y.default.blue("Syncing application...")),console.log(y.default.gray(`App path: ${r}
|
|
349
|
+
`));const l=await v.appDevOnce({appPath:r,verbose:s.verbose,onProgress:d=>console.log(y.default.gray(d))});l.success||(console.error(y.default.red(l.error.message)),process.exit(1)),console.log(y.default.green(`
|
|
350
350
|
✓ Synced ${l.data.applicationDisplayName} (${l.data.fileCount} file${l.data.fileCount===1?"":"s"})`)),console.log(y.default.gray(`Output: ${l.data.outputDir}`))}}const Fm=f=>`${y.default.cyan(f.file)}:${y.default.yellow(String(f.line))}:${y.default.yellow(String(f.column+1))} - ${y.default.red("error")} ${f.text}`;class Pm{async execute(s){const r=s.appPath??Q;console.log(y.default.blue("Running type check...")),console.log(y.default.gray(`App path: ${r}
|
|
351
|
-
`));const l=await v.runTypecheck(r);l.length===0&&(console.log(y.default.green("✓ No type errors found")),process.exit(0));for(const
|
|
351
|
+
`));const l=await v.runTypecheck(r);l.length===0&&(console.log(y.default.green("✓ No type errors found")),process.exit(0));for(const d of l)console.log(Fm(d));console.log(`
|
|
352
352
|
`,y.default.red(`✗ Found ${l.length} type error${l.length===1?"":"s"}`)),process.exit(1)}}class Lm{async execute({appPath:s=Q,askForConfirmation:r}){console.log(y.default.blue("🚀 Uninstall Twenty Application")),console.log(y.default.gray(`📁 App Path: ${s}
|
|
353
|
-
`)),r&&!await this.confirmationPrompt()&&(console.error(y.default.red("⛔️ Aborting uninstall")),process.exit(1));const l=await v.appUninstall({appPath:s});return l.success?(console.log(y.default.green("✅ Application uninstalled successfully")),{success:!0,data:void 0}):(console.error(y.default.red("❌ Uninstall failed:"),l.error.message),{success:!1,error:l.error.message})}async confirmationPrompt(){const{confirmation:s}=await
|
|
353
|
+
`)),r&&!await this.confirmationPrompt()&&(console.error(y.default.red("⛔️ Aborting uninstall")),process.exit(1));const l=await v.appUninstall({appPath:s});return l.success?(console.log(y.default.green("✅ Application uninstalled successfully")),{success:!0,data:void 0}):(console.error(y.default.red("❌ Uninstall failed:"),l.error.message),{success:!1,error:l.error.message})}async confirmationPrompt(){const{confirmation:s}=await Ve.default.prompt([{type:"confirm",name:"confirmation",message:"Are you sure you want to uninstall this application?",default:!1}]);return s}}const Om=f=>{const s=new Rv,r=new wm,l=new Rm,d=new xm,w=new Em,I=new Pm,R=new Lm,$=new Go,q=new Fv,Z=new Cv,K=new Im,Ye=new Sm;f.command("dev [appPath]").description("Build and sync local application changes (watches by default; use --once for a one-shot sync)").option("-w, --watch","Watch source files and re-sync on every change (default behavior)").option("-o, --once","Build and sync once, then exit (useful for CI, scripts, and pre-commit hooks)").option("-v, --verbose","Show detailed logs").option("-d, --debug","Show detailed logs (alias for --verbose)").action(async(V,W)=>{W.once&&W.watch&&(console.error(y.default.red("Error: --once and --watch are mutually exclusive. Watch mode is the default.")),process.exit(1));const Pe={appPath:pt(V),verbose:W.verbose||W.debug};if(W.once){await l.execute(Pe);return}await r.execute(Pe)}),f.command("build [appPath]").description("Build, sync, and generate API client into .twenty/output/").option("--tarball","Also pack into a .tgz tarball").action(async(V,W)=>{await s.execute({appPath:pt(V),tarball:W.tarball})}),f.command("install [appPath]").description("Install a deployed application on the connected server").option("-r, --remote <name>","Install on a specific remote").action(async(V,W)=>{await d.execute({appPath:pt(V),remote:W.remote})}),f.command("deploy [appPath]").description("Publish a new version to a Twenty server's registry").option("-r, --remote <name>","Deploy to a specific remote").action(async(V,W)=>{await q.execute({appPath:pt(V),remote:W.remote})}),f.command("publish [appPath]").description("Build and publish to npm").option("--tag <tag>","npm dist-tag (e.g. beta, next)").action(async(V,W)=>{await w.execute({appPath:pt(V),tag:W.tag})}),f.command("catalog-sync").description("[Deprecated] Moved under server. Use `yarn twenty server catalog-sync`.").option("-r, --remote <name>","Sync on a specific remote").action(async V=>{console.warn(y.default.yellow("`yarn twenty catalog-sync` is deprecated and will be removed in a future release.\nUse `yarn twenty server catalog-sync` instead.\n")),await $.execute({remote:V.remote})}),f.command("typecheck [appPath]").description("Run TypeScript type checking on the application").action(async V=>{await I.execute({appPath:pt(V)})}),f.command("uninstall [appPath]").description("Uninstall application from Twenty").option("-y, --yes","Skip confirmation prompt").action(async(V,W)=>{try{const Pe=await R.execute({appPath:pt(V),askForConfirmation:!W?.yes});process.exit(Pe.success?0:1)}catch{process.exit(1)}}),Cm(f),Tm(f),f.command("add [entityType]").option("--path <path>","Path in which the entity should be created.").description(`Add a new entity to your application (${Object.values(v.e).join("|")})`).action(async(V,W)=>{await Z.execute(V,W?.path)}),f.command("exec [appPath]").option("--postInstall","Execute post-install logic function if defined").option("--preInstall","Execute pre-install logic function if defined").option("-p, --payload <payload>","JSON payload to send to the function","{}").option("-u, --functionUniversalIdentifier <functionUniversalIdentifier>","Universal ID of the function to execute").option("-n, --functionName <functionName>","Name of the function to execute").description("Execute a logic function with a JSON payload").action(async(V,W)=>{!W?.postInstall&&!W?.preInstall&&!W?.functionUniversalIdentifier&&!W?.functionName&&(console.error(y.default.red("Error: Either --postInstall, --preInstall, --functionName (-n), or --functionUniversalIdentifier (-u) is required.")),process.exit(1)),await Ye.execute({...W,payload:W?.payload??"{}",appPath:pt(V)})}),f.command("logs [appPath]").option("-u, --functionUniversalIdentifier <functionUniversalIdentifier>","Only show logs for the function with this universal ID").option("-n, --functionName <functionName>","Only show logs for the function with this name").description("Watch application function logs").action(async(V,W)=>{await K.execute({...W,appPath:pt(V)})})};nv.inspect.defaultOptions.depth=10;const tn=new Bo.Command;tn.name("twenty").description("CLI for Twenty application development").version(v.packageJson.version);tn.option("-r, --remote <name>","Use a specific remote (overrides the default set by remote switch)");tn.hook("preAction",async f=>{let r=(f.optsWithGlobals?f.optsWithGlobals():f.opts()).remote;r?console.log(y.default.gray(`Using remote: ${r}`)):r=await new v.ConfigService().getDefaultRemote(),v.ConfigService.setActiveRemote(r)});Om(tn);tn.exitOverride();try{tn.parse()}catch(f){f instanceof Bo.CommanderError&&process.exit(f.exitCode),f instanceof Error&&(console.error(y.default.red("Error:"),f.message),process.exit(1))}
|