function r(r,e){(null==e||e>r.length)&&(e=r.length);for(var t=0,n=Array(e);t0&&void 0!==arguments[0]?arguments[0]:h,e=arguments.length>1?arguments[1]:void 0;switch(e.type){case"COUNT":var t=r.count[e.name]||0;return u(o({},r),{count:u(o({},r.count),a({},e.name,t+1))});case"TIME_START":return u(o({},r),{timings:u(o({},r.timings),a({},e.name,{start:m()}))});case"TIME_END":var n=r.timings[e.name],i=m(),l=n.start;return u(o({},r),{timings:u(o({},r.timings),a({},e.name,u(o({},n),{end:i,time:i-l})))});default:return r}},v=function(r){s=p(s,r)};function b(r){for(var e=arguments.length,t=Array(e>1?e-1:0),n=1;n=n.limit)return u++,"continue";var t=O.test(e)?"#".concat(e):e;i[t]=n._handleValue(function(){return r[e]},i,t),o++,u++}},i=Object.create(null),o=0,u=0;for(var l in r)a(l);var c=u-o,f=null==r?void 0:null===(t=r.__proto__)||void 0===t?void 0:null===(e=t.constructor)||void 0===e?void 0:e.name;return f&&"Object"!==f&&(i.constructor={name:f}),c&&(i[T]=c),i}},{key:"_handleObject",value:function(r,e,t){return this._createCircularCandidate(r,e,t),Array.isArray(r)?this._handleArray(r):this._handlePlainObject(r)}},{key:"_ensureCircularReference",value:function(e){var t=this.circularCandidates.indexOf(e);if(t>-1){var n=this.circularCandidatesDescrs[t];return -1===n.refIdx&&(n.refIdx=n.parent?++this.circularRefCount:0),r._createRefMark(n.refIdx)}return null}},{key:"_handleValue",value:function(r,e,t){try{var n=r(),a=void 0===n?"undefined":c(n),o="object"===a&&null!==n;if(o){var u=this._ensureCircularReference(n);if(u)return u}var l=this._findTransform(a,n);if(l)return this._applyTransform(n,e,t,l);if(o)return this._handleObject(n,e,t);return n}catch(r){try{return this._handleValue(function(){return i(r,Error)?r:Error(r)},e,t)}catch(r){return null}}}},{key:"_makeTransformsMap",value:function(){if(_){var r=new Map;return this.transforms.forEach(function(e){e.lookup&&r.set(e.lookup,e)}),r}}},{key:"_findTransform",value:function(r,e){if(_&&e&&e.constructor){var t=this.transformsMap.get(e.constructor);if(null==t?void 0:t.shouldTransform(r,e))return t}var n=!0,a=!1,i=void 0;try{for(var o,u=this.transforms[Symbol.iterator]();!(n=(o=u.next()).done);n=!0){var l=o.value;if(l.shouldTransform(r,e))return l}}catch(r){a=!0,i=r}finally{try{n||null==u.return||u.return()}finally{if(a)throw i}}}},{key:"transform",value:function(){var e=this,t=[this._handleValue(function(){return e.references},null,null)],n=!0,a=!1,i=void 0;try{for(var o,u=this.circularCandidatesDescrs[Symbol.iterator]();!(n=(o=u.next()).done);n=!0){var l=o.value;l.refIdx>0&&(t[l.refIdx]=l.parent[l.key],l.parent[l.key]=r._createRefMark(l.refIdx))}}catch(r){a=!0,i=r}finally{try{n||null==u.return||u.return()}finally{if(a)throw i}}return t}}],[{key:"_createRefMark",value:function(r){var e=Object.create(null);return e["@r"]=r,e}}]),r}(),C=function(){function r(t,n){e(this,r),this.activeTransformsStack=[],this.visitedRefs=Object.create(null),this.references=t,this.transformMap=n}return n(r,[{key:"_handlePlainObject",value:function(r){var e=Object.create(null);for(var t in"constructor"in r&&(!r.constructor||"string"!=typeof r.constructor.name)&&(r.constructor={name:"Object"}),r)r.hasOwnProperty(t)&&(this._handleValue(r[t],r,t),O.test(t)&&(e[t.substring(1)]=r[t],delete r[t]));for(var n in e)r[n]=e[n]}},{key:"_handleTransformedObject",value:function(r,e,t){var n=r["@t"],a=this.transformMap[n];if(!a)throw Error("Can't find transform for \"".concat(n,'" type.'));this.activeTransformsStack.push(r),this._handleValue(r.data,r,"data"),this.activeTransformsStack.pop(),e[t]=a.fromSerializable(r.data)}},{key:"_handleCircularSelfRefDuringTransform",value:function(r,e,t){var n=this.references;Object.defineProperty(e,t,{val:void 0,configurable:!0,enumerable:!0,get:function(){return void 0===this.val&&(this.val=n[r]),this.val},set:function(r){this.val=r}})}},{key:"_handleCircularRef",value:function(r,e,t){this.activeTransformsStack.includes(this.references[r])?this._handleCircularSelfRefDuringTransform(r,e,t):(this.visitedRefs[r]||(this.visitedRefs[r]=!0,this._handleValue(this.references[r],this.references,r)),e[t]=this.references[r])}},{key:"_handleValue",value:function(r,e,t){if("object"==typeof r&&null!==r){var n=r["@r"];if(void 0!==n)this._handleCircularRef(n,e,t);else if(r["@t"])this._handleTransformedObject(r,e,t);else if(Array.isArray(r))for(var a=0;a-1&&this.transforms.splice(u,1),delete this.transformsMap[o.type]}}catch(r){t=!0,n=r}finally{try{e||null==i.return||i.return()}finally{if(t)throw n}}return this}},{key:"encode",value:function(r,e){var t=new E(r,this.transforms,e).transform();return this.serializer.serialize(t)}},{key:"decode",value:function(r){return new C(this.serializer.deserialize(r),this.transformsMap).transform()}}]),r}(),N=[{type:"HTMLElement",shouldTransform:function(r,e){return e&&e.children&&"string"==typeof e.innerHTML&&"string"==typeof e.tagName},toSerializable:function(r){return{tagName:r.tagName.toLowerCase(),attributes:function(r){var e={},t=!0,n=!1,a=void 0;try{for(var i,o=r.attributes[Symbol.iterator]();!(t=(i=o.next()).done);t=!0){var u=i.value;e[u.name]=u.value}}catch(r){n=!0,a=r}finally{try{t||null==o.return||o.return()}finally{if(n)throw a}}return e}(r),innerHTML:r.innerHTML}},fromSerializable:function(r){try{var e=(y||(y=document.implementation.createHTMLDocument("sandbox"))).createElement(r.tagName);e.innerHTML=r.innerHTML;var t=!0,n=!1,a=void 0;try{for(var i,o=Object.keys(r.attributes)[Symbol.iterator]();!(t=(i=o.next()).done);t=!0){var u=i.value;try{e.setAttribute(u,r.attributes[u])}catch(r){}}}catch(r){n=!0,a=r}finally{try{t||null==o.return||o.return()}finally{if(n)throw a}}return e}catch(e){return r}}},{type:"Function",lookup:Function,shouldTransform:function(r,e){return"function"==typeof e},toSerializable:function(r){var e="";try{e=r.toString().substring(e.indexOf("{")+1,e.lastIndexOf("}"))}catch(r){}return{name:r.name,body:e,proto:Object.getPrototypeOf(r).constructor.name}},fromSerializable:function(r){try{var e=function(){};return"string"==typeof r.name&&Object.defineProperty(e,"name",{value:r.name,writable:!1}),"string"==typeof r.body&&Object.defineProperty(e,"body",{value:r.body,writable:!1}),"string"==typeof r.proto&&(e.constructor={name:r.proto}),e}catch(e){return r}}},{type:"Arithmetic",lookup:Number,shouldTransform:function(r,e){return"number"===r&&(e===1/0||e===-1/0||1/e==-1/0)},toSerializable:function(r){return r===1/0?0:r===-1/0?1:2},fromSerializable:function(r){return 0===r?1/0:1===r?-1/0:2===r?-0:r}},S,{type:"BigInt",shouldTransform:function(r,e){return(void 0===e?"undefined":c(e))==="bigint"},toSerializable:function(r){return"".concat(r,"n")},fromSerializable:function(r){return BigInt(r.slice(0,-1))}}],P=new x;P.addTransforms(N),window.parent!==window&&["log","debug","info","warn","error","table","clear","time","timeEnd","count","assert"].forEach(function(r){var e=console[r];console[r]=function(){for(var t=arguments.length,n=Array(t),a=0;a