"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const E=require("./_Stack.js"),F=require("./_arrayEach.js"),C=require("./_assignValue.js"),L=require("./_baseAssign.js"),O=require("./_baseAssignIn.js"),B=require("./_cloneBuffer.js"),I=require("./_copyArray.js"),M=require("./_copySymbols.js"),w=require("./_copySymbolsIn.js"),D=require("./_getAllKeys.js"),G=require("./_getAllKeysIn.js"),N=require("./_getTag.js"),U=require("./_initCloneArray.js"),h=require("./_initCloneByTag.js"),x=require("./_initCloneObject.js"),K=require("./isArray.js"),P=require("./isBuffer.js"),m=require("./isMap.js"),R=require("./isObject.js"),W=require("./isSet.js"),Y=require("./keys.js"),H=require("./keysIn.js");var J=1,Q=2,V=4,y="[object Arguments]",X="[object Array]",Z="[object Boolean]",$="[object Date]",z="[object Error]",A="[object Function]",k="[object GeneratorFunction]",v="[object Map]",ee="[object Number]",_="[object Object]",re="[object RegExp]",te="[object Set]",ne="[object String]",oe="[object Symbol]",ae="[object WeakMap]",ie="[object ArrayBuffer]",fe="[object DataView]",ce="[object Float32Array]",se="[object Float64Array]",ue="[object Int8Array]",ge="[object Int16Array]",de="[object Int32Array]",be="[object Uint8Array]",Te="[object Uint8ClampedArray]",le="[object Uint16Array]",je="[object Uint32Array]",r={};r[y]=r[X]=r[ie]=r[fe]=r[Z]=r[$]=r[ce]=r[se]=r[ue]=r[ge]=r[de]=r[v]=r[ee]=r[_]=r[re]=r[te]=r[ne]=r[oe]=r[be]=r[Te]=r[le]=r[je]=!0;r[z]=r[A]=r[ae]=!1;function d(e,i,f,q,s,n){var t,u=i&J,g=i&Q,p=i&V;if(f&&(t=s?f(e,q,s,n):f(e)),t!==void 0)return t;if(!R.default(e))return e;var b=K.default(e);if(b){if(t=U.default(e),!u)return I.default(e,t)}else{var c=N.default(e),T=c==A||c==k;if(P.default(e))return B.default(e,u);if(c==_||c==y||T&&!s){if(t=g||T?{}:x.default(e),!u)return g?w.default(e,O.default(t,e)):M.default(e,L.default(t,e))}else{if(!r[c])return s?e:{};t=h.default(e,c,u)}}n||(n=new E.default);var l=n.get(e);if(l)return l;n.set(e,t),W.default(e)?e.forEach(function(o){t.add(d(o,i,f,o,e,n))}):m.default(e)&&e.forEach(function(o,a){t.set(a,d(o,i,f,a,e,n))});var S=p?g?G.default:D.default:g?H.default:Y.default,j=b?void 0:S(e);return F.default(j||e,function(o,a){j&&(a=o,o=e[a]),C.default(t,a,d(o,i,f,a,e,n))}),t}exports.default=d;
